Phân lớp giám sát và ứng dụng thuật toán SVM vào phân lớp trang web.
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Hải Yến PHÂN LỚP BÁN GIÁM SÁT VÀ ỨNG DỤNG THUẬT TOÁN SVM VÀO PHÂN LỚP TRANG WEB KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2007 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Hải Yến PHÂN LỚP BÁN GIÁM SÁT VÀ ỨNG DỤNG THUẬT TOÁN SVM VÀO PHÂN LỚP TRANG WEB KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: PGS – TS Hà Quang Thụy Cán bộ đồng hướng dẫn: ThS. Đặng Thanh Hải HÀ NỘI – 2007 LỜI CẢM ƠN Trước tiên, em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới Thầy giáo, PGS-TS Hà Quang Thụy và Thầy giáo, ThS. Đặng Thanh Hải đã tận tình hướng dẫn, động viên, giúp đỡ em trong suốt quá trình thực hiện đề tài. Em xin gửi lời cảm ơn sâu sắc tới quý Thầy Cô trong Khoa Công nghệ thông tin đã truyền đạt kiến thức quý báu cho em trong những năm học vừa qua. Em xin gửi lời cảm ơn các anh chị trong nhóm seminar về khai phá dữ liệu đã nhiệt tình chỉ bảo trong quá trình em làm khoá luận. Con xin nói lên lòng biết ơn đối với Ông Bà, Cha Mẹ luôn là nguồn chăm sóc, động viên trên mỗi bước đường học vấn của con. Xin chân thành cảm ơn các Anh Chị và Bạn bè, đặc biệt là các thành viên trong lớp K48CD đã ủng hộ, giúp đỡ và động viên tôi trong suốt thời gian học tập bốn năm trên giảng đường đại học và thực hiện đề tài. Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính mong nhận được sự cảm thông và tận tình chỉ bảo của quý Thầy Cô và các Bạn. Em xin chân thành cảm ơn! Hà Nội, ngày 31 tháng 05 năm 2007 Sinh viên Nguyễn Thị Hải Yến TÓM TẮT NỘI DUNG Hiện nay, với một lượng lớn các dữ liệu thì phân lớp dữ liệu có vai trò rất quan trọng, là một trong những bài toán luôn thời sự trong lĩnh vực xử lý dữ liệu văn bản. Một yêu cầu cơ bản được đặt ra là cần tăng tính hiệu quả của thuật toán phân lớp, nâng cao giá trị của các độ đo hồi tưởng, chính xác của thuật toán. Mặt khác, nguồn tài nguyên về ví dụ học có nhãn không phải luôn được đáp ứng vì vậy cần có các thuật toán phân lớp sử dụng các ví dụ chưa có nhãn. Phân lớp bán giám sát đáp ứng được hai yêu cầu nói trên [5, 7, 8, 16, 17]. Các thuật toán phân lớp bán giám sát tận dụng các nguồn dữ liệu chưa gán nhãn rất phong phú có trong tự nhiên kết hợp với một số dữ liệu đã được gán nhãn cho sẵn. Trong những năm gần đây, phương pháp sử dụng bộ phân loại máy hỗ trợ vector (Support Vector Machine - SVM) được quan tâm và sử dụng nhiều trong lĩnh vực nhận dạng và phân loại. Từ các công trình khoa học [4, 7, 8, 11] được công bố cho thấy phương pháp SVM có khả năng phân loại khá tốt đối với bài toán phân loại văn bản cũng như trong nhiều ứng dụng khác. Trong khoá luận này, em khảo sát thuật toán học bán giám sát SVM và trình bày các nội dung về phần mềm SVMlin do V. Sindhwani đề xuất [18]. Trong năm 2006-2007, V. Sindhwani đã dùng SVMlin tiến hành phân lớp văn bản từ nguồn 20-Newsgroups cho các kết quả tốt [14,15]. MỤC LỤC MỞ ĐẦU . 9 Chương 1 TỔNG QUAN VỀ PHÂN LỚP BÁN GIÁM SÁT 11 1.1. Phân lớp dữ liệu 11 1.1.1. Bài toán phân lớp dữ liệu .11 1.1.2. Quá trình phân lớp dữ liệu 12 1.2. Phân lớp văn bản 13 1.2.1. Đặt vấn đề 13 1.2.2. Mô hình vector biểu diễn văn bản .14 1.2.3. Phương pháp phân lớp văn bản .19 1.2.4. Ứng dụng của phân lớp văn bản 19 1.2.5. Các bước trong quá trình phân lớp văn bản 20 1.2.6. Đánh giá mô hình phân lớp .22 1.2.7. Các yếu tố quan trọng tác động đến phân lớp văn bản .23 1.3. Một số thuật toán học máy phân lớp 23 1.3.1. Học có giám sát 23 1.3.1.1. Bài toán học có giám sát 23 1.3.1.2. Giới thiệu học có giám sát 24 1.3.1.3. Thuật toán học có giám sát k-nearest neighbor (kNN) 25 1.3.1.4. Thuật toán học có giám sát Support vector machine (SVM) .26 1.3.2. Thuật toán phân lớp sử dụng quá trình học bán giám sát .27 1.3.2.1. Khái niệm .27 1.3.2.2. Lịch sử phát triển sơ lược của học bán giám sát 28 1.3.2.3. Một số phương pháp học bán giám sát điển hình 29 Chương 2 SỬ DỤNG SVM VÀ BÁN GIÁM SÁT SVM VÀO BÀI TOÁN PHÂN LỚP 32 2.1. SVM – Support Vector Machine .32 2.1.1. Thuật toán SVM .33 2.1.2. Huấn luyện SVM 35 2.1.3. Các ưu thế của SVM trong phân lớp văn bản 35 2.2. Bán giám sát SVM và phân lớp trang Web .37 2.2.1. Giới thiệu về bán giám sát SVM 37 2.2.2. Phân lớp trang Web sử dụng bán giám sát SVM .38 2.2.2.1. Giới thiệu bài toán phân lớp trang Web (Web Classification) .38 2.2.2.3. Áp dụng S3VM vào phân lớp trang Web .39 Chương 3 THỬ NGHIỆM HỌC BÁN GIÁM SÁT PHÂN LỚP TRANG WEB 41 3.1. Giới thiệu phần mềm SVMlin 41 3.2. Download SVMlin 42 3.3. Cài đặt 42 3.4. Cách sử dụng phần mềm .42 KẾT LUẬN 45 Những công việc đã làm được của khoá luận .45 Hướng nghiên cứu trong thời gian tới .45 TÀI LIỆU THAM KHẢO . 46 I. Tiếng Việt .46 II. Tiếng Anh .46 DANH SÁCH BẢNG VÀ TỪ VIẾT TẮT Ký hiệu viết tắt Cụm từ kNN k Nearest Neighbor SVM Support Vector Machine S3VM Semi Supervised Support Vector Machine DANH MỤC HÌNH ẢNH Hình 1. Bài toán phân lớp. Hình 2. Văn bản được biểu diễn là vector đặc trưng. Hình 3. Sơ đồ khung quá trình phân lớp văn bản. Hình 4. Siêu phẳng h phân chia dữ liệu huấn luyện thành 2 lớp + và - với khoảng cách biên lớn nhất. Các điểm gần h nhất là các vector hỗ trợ (Support Vector - được khoanh tròn). Hình 5. Phương pháp học bán giám sát Self-training. Hình 6. Phương pháp học bán giám sát Co-training. MỞ ĐẦU Trong những năm gần đây, sự phát triển vượt bậc của công nghệ thông tin đã làm tăng số lượng giao dịch thông tin trên mạng Internet một cách đáng kể đặc biệt là thư viện điện tử, tin tức điện tử… Do đó mà số lượng văn bản xuất hiện trên mạng Internet cũng tăng với một tốc độ chóng mặt, và tốc độ thay đổi thông tin là cực kỳ nhanh chóng. Với số lượng thông tin đồ sộ như vậy, một yêu cầu lớn đặt ra là làm sao tổ chức và tìm kiếm thông tin, dữ liệu có hiệu quả nhất. Bài toán phân lớp là một trong những giải pháp hợp lý cho yêu cầu trên. Nhưng một thực tế là khối lượng thông tin quá lớn, việc phân lớp dữ liệu thủ công là điều không thể. Hướng giải quyết là một chương trình máy tính tự động phân lớp các thông tin dữ liệu trên. Tuy nhiên, khi xử lý các bài toán phân lớp tự động thì gặp phải một số khó khăn là để xây dựng được bộ phân lớp có độ tin cậy cao đòi hỏi phải có một lượng lớn các mẫu dữ liệu huấn luyện tức là các văn bản đã được gán nhãn lớp tương ứng. Các dữ liệu huấn luyện này thường rất hiếm và đắt vì đòi hỏi thời gian và công sức của con người. Do vậy cần phải có một phương pháp học không cần nhiều dữ liệu gán nhãn và có khả năng tận dụng được các nguồn dữ liệu chưa gán nhãn rất phong phú như hiện nay, phương pháp học đó là học bán giám sát. Học bán giám sát chính là cách học sử dụng thông tin chứa trong cả dữ liệu chưa gán nhãn và tập huấn luyện, phương pháp học này được sử dụng rất phổ biến vì tính tiện lợi của nó. Vì vậy, khoá luận tập trung vào nghiên cứu bài toán phân lớp sử dụng quá trình học bán giám sát, và việc áp dụng thuật toán bán giám sát máy hỗ trợ vector (Support Vector Machine – SVM) vào phân lớp trang Web. Nội dung của khoá luận được trình bày bao gồm 3 chương. Tổ chức cấu trúc như sau: • Chương 1 Tổng quan về phân lớp bán giám sát. Phần đầu trình bày khái quát về bài toán phân lớp dữ liệu, phân lớp văn bản, một số nét sơ bộ về học có giám sát. Phần cuối của chương giới thiệu các nội dung cơ bản về phương pháp học bán giám sát, trong đó đã giới thiệu một số thuật toán học bán giám sát điển hình. • Chương 2 Sử dụng SVM và bán giám sát SVM vào bài toán phân lớp. Khóa luận trình bày những bước hoạt động cơ bản nhất của thuật toán SVM, sau đó nghiên cứu thuật toán học bán giám sát SVM, một cải tiến của SVM được trình bày trong [11]. Khoá luận trình bày một số áp dụng học bán giám sát vào bài toán phân lớp trang Web trong phần cuối cùng của chương. • Chương 3 Hệ thống thử nghiệm phân loại trang Web và đánh giá. Trình bày kết quả nghiên cứu của V. Sindhwani về phần mềm nguồn mở SVMlin [14, 15, 18] mà do chính tác giả đề xuất và công bố. Các nghiên cứu này cho thấy phần mềm SVMlin phân lớp bán giám sát văn bản cho độ chính xác cao. [...]... Hỡnh 2 Vn bn c biu din l vector c trng Biu din trang Web Cỏc trang Web v bn cht l siờu vn bn Ngoi cỏc vn bn v cỏc thnh phn a phng tin, cỏc trang Web cũn bao gm nhng c trng nh l cỏc siờu liờn kt (Hyperlink), cỏc th HTML v cỏc d liu bin i (meta data) Hu ht cỏc nghiờn cu cho thy rng cỏc thnh phn vn bn ca cỏc trang Web cung cp thụng tin chớnh cho cụng vic phõn lp Web trong khi nhng thnh phn khụng phi vn bn... cỏc trang Web lỏng ging bng cỏch b sung thờm cỏc t khoỏ xut hin trong on vn bn lõn cn vi siờu liờn kt Trong khoỏ lun ny, chỳng ta s nghiờn cu cỏch biu din trang Web theo mụ hỡnh vector vỡ nú l mt phng phỏp rt ph bin hin nay Vi vic s dng cỏc thụng tin liờn kt nhm tng chớnh xỏc tỡm kim cng nh phõn lp cỏc trang Web nờn cn thit phi a thờm cỏc thụng tin v cỏc trang Web lỏng ging vo vector biu din ca trang. .. tng tỡm kim khụng phi l cỏc trang Web n na m l c mt Website [2, 9] Trong lnh vc vn bn truyn thng t trc n nay thỡ thụng thng vn thc hin cỏc cụng vic nh biu din, tỡm kim, phõn lp trờn c s xem trang Web nh l cỏc trang vn bn thụng thng v s dng mụ hỡnh khụng gian vector biu din vn bn Vic s dng siờu liờn kt gia cỏc trang Web cú th ly c thụng tin v mi liờn h gia ni dung cỏc trang, v da vo ú nõng cao hiu qu... din trang Web, vi mi mc ớch khỏc nhau thỡ s cú cỏch biu din trang Web riờng Trong cỏc mỏy tỡm kim nh Yahoo, Altavista, Google khụng s dng mụ hỡnh vector m s dng h thng t khoỏ múc ni song khụng biu din ni dung vn bn Hin nay cỏch tip cn biu din Website l mt cỏch tip cn nhn c nhiu s quan tõm ca nhiu ngi trờn th gii, i tng quan tõm khụng phi l Webpage m l Website, ngha l i tng tỡm kim khụng phi l cỏc trang. .. thụng tin v cỏc trang Web lỏng ging vo vector biu din ca trang ang xột Tn ti bn cỏch biu din trang Web theo mụ hỡnh vector nh sau [2]: Cỏch th nht Mi t khúa trong mt trang Web c lu tr cựng tn s xut hin nú trong trang Web Cỏch ny b qua tt c cỏc thụng tin v v trớ ca t khoỏ trong trang, th t ca cỏc t trong trang cng nh cỏc thụng tin v siờu liờn kt Trong nhiu trng hp khi m cỏc ti liu ó liờn kt c lp vi... hai S dng cỏc thụng tin v liờn kt ca trang Web, múc ni nú ti cỏc trang lỏng ging to ra mt siờu trang (super document) Vector biu din bao gm cỏc t xut hin trong mt trang cựng vi tt c cỏc t xut hin trong cỏc trang lỏng ging ca nú cựng vi tn s xut hin ca cỏc t Cỏch ny b qua thụng tin v v trớ ca cỏc t trong trang v th t ca chỳng Nhc im ca cỏch ny l lm loóng i ni dung ca trang m chỳng ta ang quan tõm Tuy... cỏc trang lỏng ging ca mt trang Web cú th lm loóng ni dung ca nú Nu thụng tin ca cỏc trang lỏng ging ny hu ớch cho quỏ trỡnh phõn lp mt trang no ú thỡ mỏy hc vn cú th truy cp n ton b ni dung ca chỳng hc Cỏch th t Xõy dng mt vector cú cu trỳc: 1 Xỏc nh mt s d c xem l bc cao nht ca cỏc trang trong tp 2 Xõy dng mt vector cu trỳc vi d + 1 phn nh sau a Phn u tiờn biu din chớnh ti liu ca mt trang Web b... dng trớch lc thụng tin trờn Internet Hin nay, cú rt nhiu trang Web thng mi qung cỏo hoc cỏc trang web phn ng, cú vn hoỏ khụng lnh mnh, vỡ mc ớch lm tng lng ngi truy cp, chỳng tr trn vo kt qu tr v ca mỏy tỡm kim, chỳng vo hũm th ca chỳng ta theo chu k v gõy nhiu phin toỏi, cỏc ng dng c th l lc th rỏc (spam mail), lc trang web phn ng, cỏc trang web khụng lnh mnh Nh vy phõn lp vn bn l cụng c khụng th thiu... cỏch la chn tt trong trng hp cn biu din mt tp cỏc trang Web cú ni dung v cựng mt ch , nhng hin nay s lng cỏc trang Web liờn kt ti nhau cú cựng mt ch tng i ớt, vỡ vy cỏch biu din ny him khi c s dng Cỏch th ba Dựng mt vector cu trỳc biu din trang Web Mt vector cú cu trỳc c chia mt cỏch logic thnh hai phn hoc nhiu hn Mi phn c s dng biu din mt tp cỏc trang lỏng ging di ca mt vector c nh nhng mi phn... l i t ú ta cú phng trỡnh tng quỏt ca siờu phng tỡm ra c bi thut toỏn SVM l: f(x1, x2,, xn) = C + wi xi (2.5) Vi i = 1,, n Trong ú n l s d liu hun luyn Sau khi ó tỡm c phng trỡnh ca siờu phng bng thut toỏn SVM, ỏp dng cụng thc ny tỡm ra nhón lp cho cỏc d liu mi 2.1.2 Hun luyn SVM Hun luyn SVM l vic gii bi toỏn quy hoch ton phng SVM Cỏc phng phỏp s gii bi toỏn quy hoch ny yờu cu phi lu tr mt ma trn . bán giám sát, trong đó đã giới thiệu một số thuật toán học bán giám sát điển hình. • Chương 2 Sử dụng SVM và bán giám sát SVM vào bài toán phân lớp. . ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Hải Yến PHÂN LỚP BÁN GIÁM SÁT VÀ ỨNG DỤNG THUẬT TOÁN SVM VÀO PHÂN LỚP TRANG WEB KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH