Đang tải... (xem toàn văn)
ỨNG DỤNG CÁC PHƯƠNG PHÁP HỌC NỬA GIÁM SÁT VÀO BÀI TOÁN PHÂN LOẠI VĂN BẢN, luận văn công nghẹ thông tin
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG NGUYỄN NGỌC MINH ỨNG DỤNG CÁC PHƯƠNG PHÁP HỌC NỬA GIÁM SÁT VÀO BÀI TOÁN PHÂN LOẠI VĂN BẢN LUẬN VĂN THẠC SỸ KỸ THUẬT HÀNỘI–NĂM2013 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG NGUYỄN NGỌC MINH ỨNG DỤNG CÁC PHƯƠNG PHÁP HỌC NỬA GIÁM SÁT VÀO BÀI TOÁN PHÂN LOẠI VĂN BẢN CHUYÊNNGÀNH:HỆTHỐNGTHÔNGTIN MÃSỐ:60.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS ĐOÀN VĂN BAN HÀNỘI-NĂM2013 LỜI CAM ĐOAN Tôicamđoanđâylàcôngtrìnhnghiêncứucủariêngtôi. Cácsốliệu,kếtquảnêutrongluậnvănlàtrungthựcvàchưatừngđượcai côngbốtrongbấtkỳcôngtrìnhnàokhác. Tác giả luận văn Nguyễn Ngọc Minh LỜI CẢM ƠN Lờiđầutiênemxingửilờicảmơnđếntoànthểcácthầy,côgiáoHọcviện CôngnghệBưuchínhViễnthôngđãtậntìnhchỉbảoemtrongsuốtthờigianhọc tậptạinhàtrường. EmxingửilờicảmơnsâusắcđếnPGS.TS.ĐoànVănBan,ngườiđãtrực tiếphướngdẫn,tạomọiđiềukiệnthuậnlợivàtậntìnhchỉbảochoemtrongsuốt thờigianlàmluậnvăntốtnghiệp. Bêncạnhđó,đểhoànthànhđồánnày,emcũngđãnhậnđượcrấtnhiềusự giúpđỡ,nhữnglờiđộngviênquýbáucủacácbạnbè,giađìnhvàđồngnghiệp.Em xinchânthànhcảmơn. Tuynhiên,dothờigianhạnhẹp,mặcdùđãnỗlựchếtsứcmình,nhưngchắc rằngđồánkhótránhkhỏithiếusót.Emrấtmongnhậnđượcsựthôngcảmvàchỉ bảotậntìnhcủaquýthầycôvàcácbạn. HỌCVIÊN Nguyễn Ngọc Minh i MỤC LỤC LỜI CAM ĐOAN i MỤC LỤC i DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT v DANH MỤC CÁC HÌNH vi DANH MỤC CÁC BẢNG vii MỞ ĐẦU 1 CHƯƠNG 1 - TỔNG QUAN VỀ PHƯƠNG PHÁP HỌC MÁY 3 1.1. Khái niệm học máy 3 1.2. Một số khái niệm cơ bản trong học máy 4 1.2.1.Khônggianbiểudiễncủadữliệu 4 1.2.2.Bảnchấtcủacácdữliệu 4 1.2.3.Tiềnxửlýdữliệu 4 1.2.4.Quátrìnhrờirạchóadữliệu 5 1.2.5.Tậpmẫu 5 1.2.6.Quátrìnhtìmkiếmtrongkhônggiangiảthuyết 5 1.3. Học có giám sát 5 1.3.1.Kháiniệm 5 1.3.2.Cáchgiảimộtbàitoánhọccógiámsát 7 1.4. Học không có giám sát 8 1.4.1.Kháiniệm 8 1.4.2.Môhìnhtoánhọc 9 1.5. Học nửa giám sát 9 1.5.1.Kháiniệm 9 ii 1.5.2.Môhìnhtoánhọc 10 1.6. Tổng kết chương 10 CHƯƠNG 2 - MỘT SỐ THUẬT TOÁN HỌC NỬA GIÁM SÁT 11 2.1. Mô hình sinh và thuật toán kỳ vọng cực đại 11 2.1.1.Giớithiệuvềmôhìnhsinh 11 2.1.2.Môhìnhsinhtronghọcnửagiámsát 11 2.1.3.Thuậttoánkỳvọngcựcđại 12 2.1.3.1.Giớithiệuthuậttoán 12 2.1.3.2.Nộidungthuậttoán 12 2.1.3.3.Đánhgiáthuậttoán 14 2.2. Thuật toán tự huấn luyện 15 2.2.1.Giớithiệuthuậttoántựhuấnluyện 15 2.2.2.Đánhgiáthuậttoán 16 2.3. Thuật toán S3VM 16 2.3.1.ThuậttoánSVM 16 2.3.2.GiớithiệuthuậttoánS3VM 21 2.3.3.NộidungthuậttoánS3VM 22 2.3.4.NhậnxétvềS3VM 23 2.4. Thuật toán K - láng giềng gần nhất 23 2.4.1.Giớithiệuthuậttoán 23 2.4.2.ÁpdụngKNNvàobàitoánphânloạivănbản 24 2.5. Thuật toán Naive Bayes 26 2.5.1.Thuậttoán 26 2.5.2.Ápdụngvàobàitoánphânloại 27 iii 2.5.3.ỨngdụngNaiveBayestrongphânlớpvănbản 30 2.6. Thuật toán cây quyết định 32 2.6.1.Giớithiệuthuậttoán 32 2.6.2.ThuậttoánID3 36 2.6.2.1.Entropy 36 2.6.2.2.InformationGain 36 2.6.2.3.PhátbiểuthuậttoánID3 37 2.6.3.Đánhgiáthuậttoáncâyquyếtđịnh 37 2.7. Tổng kết chương 38 CHƯƠNG 3 - PHÂN LOẠI VĂN BẢN DỰA VÀO PHƯƠNG PHÁP HỌC NỬA GIÁM SÁT 39 3.1. Phát biểu bài toán phân loại văn bản 39 3.1.1.Môhìnhtổngquát 41 3.1.1.1.Giaiđoạnhuấnluyện 41 3.1.1.2.Giaiđoạnphânlớp 43 3.1.2.Quátrìnhtiềnxửlývănbản 44 3.1.3.Phươngphápbiểudiễnvănbản 44 3.1.3.1.Môhìnhkhônggianvéctơ 45 3.1.3.2.Kháiniệmtrọngsố 45 3.1.4.Đánhgiábộphânlớp 47 3.1.4.1.Macro-Averaging 48 3.1.4.2.Micro-Averaging 49 3.2. Giới thiệu bài toán thực nghiệm 49 3.3. Môi trường thực nghiệm 49 iv 3.3.1.Dữliệusửdụng 49 3.3.2.Tríchchọnđặctrưng 51 3.3.3.Phươngphápđánhgiá 52 3.3.4.Côngcụphânlớp 53 3.3.5.Kếtquảthửnghiệmvàđánhgiá 54 3.4. Tổng kết chương 57 KẾT LUẬN 58 TÀI LIỆU THAM KHẢO 59 v DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT Thuật ngữ Viết tắt Ý nghĩa Côngnghệthôngtin CNTT Côngnghệthôngtin Cơsởdữliệu CSDL Cơsởdữliệu Self-training Self-training Tựhuấnluyện EM ExpectationMaximization Kỳvọngcựcđại Machinelearning Machinelearning Họcmáy Supervisedlearning Supervisedlearning Họccógiámsát Unsupervisedlearning Unsupervised learning Họckhônggiámsát K-NearestNeighbors algorithm KNN Klánggiềnggầnnhất Semi-supervised learning Semi-supervised learning Họcnửagiámsát NaiveBayes NaiveBayes Bayesngâythơ Decisiontree Decisiontree Câyquyếtđịnh Supportvectormachine SVM Máyvéctơhỗtrợ Semi-supervised supportvectormachine S3VM Máyvéctơhỗtrợnửa giámsát vi DANH MỤC CÁC HÌNH Hình1.1:Môhìnhhọccógiámsát 6 Hình1.2:Môhìnhhọcnửagiámsát 9 Hình2.1:Dữliệucónhãn 11 Hình2.2:Dữliệucónhãnvàchưacónhãn 12 Hình2.3PhânlớpSVM 17 Hình2.4:Câyquyếtđịnh 34 Hình3.1:Môhìnhgiaiđoạnhuấnluyện 41 Hình3.2:Chitiếtgiaiđoạnhuấnluyện 42 Hình3.3:Môhìnhgiaiđoạnphânlớp 43 Hình3.4:Chitiếtgiaiđoạnphânlớp 43 Hình3.5:Sosánhđộchínhxácvàđộbaophủbộdữliệubanđầu 57 Hình3.6:Sosánhđộchínhxácvàđộbaophủbộdữliệusaukhi“stemming” 57 [...]... Nghiên cứu tổng quan về học máy và một số phương pháp học máy, nghiên cứu một số thuật toán học có giám sát, học nửa giám sát từ kết quả thu được đề tài cài đặt ứng dụng thử nghiệm vào bài toán phân loại văn bản. 3 Đối tượng và phạm vi nghiên cứu Luận văn này thực hiện nghiên cứu các kiến thức cơ bản về học máy, một số các thuật toán học có giám sát, nửa giám sát và ứng dụng phân loại văn bản. 4 Phương pháp nghiên... chương Trên đây là một số kiến thức cơ bản về học máy, thông qua đó ta có thể nắm bắt được các kiến thức nền tảng về học máy như: Khái niệm thế nào là học máy, học có giám sát, học không giám sát và học nửa giám sát ; Các mô hình toán của học máy, học có giám sát, học không giám sát, học nửa giám sát ; Nắm được các bước giải một bài toán trong học máy. Đây chính là những kiến thức cơ sở để ta có ... 2: Một số thuật toán học nửa giám sát Chương 3: Phân loại văn bản dựa vào phương pháp học nửa giám sát Trong đó đề tài tập trung vào chương 3 nhằm nghiên cứu và áp dụng các kỹ thuật phân loại email của bộ dữ liệu dbworld [18]. 3 CHƯƠNG 1 - TỔNG QUAN VỀ PHƯƠNG PHÁP HỌC MÁY 1.1 Khái niệm học máy Hoạt động học là hoạt động tiếp thu những tri thức lý luận, khoa học. Nghĩa là việc học không chỉ dừng lại ở việc nắm bắt những khái niệm đời thường mà học ... được coi là vô hạn trên Web. Tự động phân lớp văn bản là một nhiệm vụ rất quan trọng có thể giúp ích cũng như tìm kiếm thông tin trên nguồn tài nguyên lớn này. Với mục tiêu góp phần vào lĩnh vực nghiên cứu và ứng dụng phân loại văn bản vào cuộc sống, tác giả đã chọn đề tài Ứng dụng các phương pháp học nửa giám sát vào bài toán phân loại văn bản làm đề tài nghiên cứu luận văn tốt nghiệp thạc sĩ chuyên ngành hệ thống thông tin. ... điểm của học có giám sát và học không có giám sát. Bằng cách kết hợp giữa học có giám sát và học không có giám sát, với một lượng lớn dữ liệu chưa gán nhãn và một lượng nhỏ những dữ liệu đã được gán nhãn, bằng các giải thuật học nửa giám sát sẽ thu được kết quả vừa có độ chính xác cao vừa mất ít thời gian công sức. Do đó, học nửa giám sát là một phương pháp học đạt được hiệu quả rất tốt trong lĩnh vực học máy. Tóm lại học nửa giám sát là một phương pháp của ngành học máy nhằm xây ... cứu các thuật toán về học nửa giám sát trong các chương tiếp theo. 11 CHƯƠNG 2 - MỘT SỐ THUẬT TOÁN HỌC NỬA GIÁM SÁT 2.1 Mô hình sinh và thuật toán kỳ vọng cực đại 2.1.1 Giới thiệu về mô hình sinh Trong học nửa giám sát, phương pháp được áp dụng lâu đời nhất là phương pháp sử dụng mô hình sinh. Mô hình sinh được mô tả bởi những chức năng và thao tác toán học được sắp xếp theo sự phân cấp trên cùng một tập dữ liệu điểm. ... 2.2.2 Đánh giá thuật toán Giải thuật tự huấn luyện là phương pháp đơn giản nhất trong học nửa giám sát. Thuật toán tự huấn luyện được ứng dụng để giải quyết các bài toán về xử lý ngôn ngữ tự nhiên, các bài toán phát hiện các đối tượng hệ thống từ các hình ảnh. Ngoài ra thuật toán tự huấn luyện còn được ứng dụng để giải quyết các bài toán phân tách và dịch máy, … ... chủ đề của văn bản cần phân loại. Khoảng cách giữa 2 văn bản chính là độ tương tự giữa 2 văn bản đó, 2 văn bản có giá trị độ tương tự càng lớn thì khoảng cách càng gần nhau. Ví dụ: Dùng công thức Cosine để tính độ tương tự giữa 2 văn bản: ( ⃗, ⃗ ) = cos( ⃗, ⃗ ) = ⃗ ⃗ ‖ ⃗‖ ‖ ⃗‖ Văn bản A: Tôi là học sinh. Văn Bản B: Tôi là sinh viên. Văn bản C: Tôi là giáo viên. Biểu diễn văn bản theo vector: ... Sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng giềng gần nhất với đối tượng cần phân lớp Lấy tất cả các lớp của K láng giềng gần nhất đã xác định Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho đối tượng 2.4.2 Áp dụng KNN vào bài toán phân loại văn bản Khi cần phân loại một văn bản mới, thuật toán sẽ tính khoảng cách (khoảng cách Euclidean, Cosine…) của tất cả các văn bản trong tập huấn luyện đến văn bản ... Thuật toán SVM đã được ứng dung để giải quyết rất nhiều những bài toán trong các lĩnh vực khác nhau. Đặc biệt SVM đã được ứng dụng để giải quyết bài toán phân lớp văn bản và thu được nhưng thành tựu rất tích cực, nó đã được chứng minh là một trong những thuật toán phân lớp văn bản mạnh nhất để giải quyết bài toán này [17]. Hình 2.3 sẽ minh hoa cho ý tưởng phân lớp của thuật toán SVM. Mặt