Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
1,87 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - NGUYỄN KIM ANH ỨNG DỤNG THUẬT TOÁN MÁY VECTOR HỖ TRỢ TRONG PHÂN LOẠI THÔNG TIN VĂN BẢN TRÊN HỆ THỐNG WEBSITE TUYỂN DỤNG LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2016 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG - NGUYỄN KIM ANH ỨNG DỤNG THUẬT TỐN MÁY VECTOR HỖ TRỢ TRONG PHÂN LOẠI THƠNG TIN VĂN BẢN TRÊN HỆ THỐNG WEBSITE TUYỂN DỤNG CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH MÃ SỐ: 60.48.01.01 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC: TS PHAN THỊ HÀ HÀ NỘI - 2016 i LỜI CAM ĐOAN Luận văn thành trình học tập nghiên cứu tơi giúp đỡ, khuyến khích quý thầy cô sau năm theo học chương trình đào tạo Thạc sĩ, chuyên ngành Khoa học máy tính trường Học viện Cơng nghệ Bưu Viễn thơng Tơi cam đoan cơng trình nghiên cứu riêng tơi Nội dung luận văn có tham khảo sử dụng số thông tin, tài liệu từ nguồn sách, tạp chí liệt kê danh mục tài liệu tham khảo trích dẫn hợp pháp TÁC GIẢ Nguyễn Kim Anh ii LỜI CÁM ƠN Tôi xin gửi lời cảm ơn tri ân tới thầy cô giáo, cán Học viện Cơng nghệ Bưu Viễn thơng giúp đỡ, tạo điều kiện tốt cho tơi q trình học tập nghiên cứu chương trình Thạc sĩ Tơi xin gửi lời cảm ơn sâu sắc tới Tiến sĩ Phan Thị Hà tận tình hướng dẫn, giúp đỡ động viên tơi để hồn thành tốt Luận văn “ỨNG DỤNG THUẬT TOÁN MÁY VECTOR HỖ TRỢ TRONG PHÂN LOẠI THÔNG TIN VĂN BẢN TRÊN HỆ THỐNG WEBSITE TUYỂN DỤNG“ Do vốn kiến thức lý luận kinh nghiệm thực tiễn cịn nên luận văn khơng tránh khỏi thiếu sót định Tơi xin trân trọng tiếp thu ý kiến thầy, cô để luận văn hoàn thiện Trân trọng cám ơn Tác giả iii MỤC LỤC MỞ ĐẦU 1.1 Tính cấp thiết đề tài .1 1.2 Tổng quan vấn đề nghiên cứu 1.3 Mục đích, đối tượng, phạm vi phương pháp nghiên cứu 1.4 Cấu trúc luận văn Chương - BÀI TOÁN PHÂN LOẠI VĂN BẢN 1.1 Phát biểu toán phân loại văn .5 1.2 Một số phương pháp phân loại văn 1.2.1 Thuật toán K–Nearest Neighbor (kNN) 1.2.2 Thuật toán định (Decision tree) 1.2.3 Thuật toán SVM (Support vector machine) .10 1.2.4 Thuật tốn Nạve Bayes .11 1.3 Các mơ hình biểu diễn văn 13 1.3.1 Mơ hình Boolean .13 1.3.2 Mơ hình khơng gian vector 14 1.3.3 Mơ hình xác suất (Mơ hình túi từ) 16 1.4 Lựa chọn đặc trưng biểu diễn văn .17 1.4.1 Thu gọn đặc trưng biểu diễn .17 1.4.2 Định luật Zipf 18 1.5 Phương pháp đánh trọng số cho từ khóa .18 1.5.1 Phương pháp boolean .19 1.5.2 Phương pháp dựa tần số 19 Chương - ÁP DỤNG SVM VÀO BÀI TOÁN PHÂN LOẠI VĂN BẢN 21 2.1 Thu thập tiền xử lý văn 21 2.1.1 Thu thập địa trang web URL .21 2.1.2 Lọc nội dung trang web 22 iv 2.1.3 Tiền xử lý văn .24 2.2 Trình bày chi tiết thuật toán Máy vector hỗ trợ SVM 32 2.2.1 Giới thiệu thuật toán 32 2.2.2 Ý tưởng thuật toán .32 2.2.3 Thuật toán 33 2.3 Phân loại đa lớp nội dung văn với SVM .42 2.4 Các tham số SVM 45 Chương - THỬ NGHIỆM VÀ ĐÁNH GIÁ 46 3.1 Xây dựng liệu tiền xử lý văn 46 3.2 Giai đoạn phân lớp .49 3.2.1 URL phục vụ cho ứng dụng .49 3.2.2 Triển khai ứng dụng 49 KẾT LUẬN 51 DANH MỤC TÀI LIỆU THAM KHẢO 53 PHỤ LỤC 55 v DANH MỤC TỪ VIẾT TẮT STT Từ viết tắt Ý nghĩa tiếng Anh Ý nghĩa tiếng Việt SVM Support vector machine NB Naïve Bayes kNN K–Nearest Neighbor K – Láng giềng gần TF Term Frequency Tần số xuất từ IDF Inverse Document Frequency Tần số nghịch từ Máy vector hỗ trợ tập văn RSS Really Simple Syndication Định dạng tài liệu vi DANH MỤC CÁC BẢNG BIỂU Bảng 1.1 Biểu diễn văn mơ hình Boolean 14 Bảng 1.2: Biểu diễn văn theo mơ hình Vector 15 Bảng 3.1: Số lượng tập liệu huấn luyện kiểm tra 47 vii DANH MỤC CÁC HÌNH VẼ Hình 1.1 Quy trình phân loại văn [11] Hình 1.2: Phân lớp nhị phân 11 Hình 1.3: Biểu diễn vector văn không gian chiều 15 Hình 1.4: Biểu diễn văn theo mơ hình vector [18] .16 Hình 1.5: Biểu diễn văn theo mơ hình túi từ [18] 17 Hình 2.1: Sử dụng Maven cho thư viên JSOUP [19] 23 Hình 2.2: Một website việc làm điển hình 23 Hình 2.3: Nội dung đầu vào mã html 24 Hình 2.4: Nội dung đầu văn trích xuất 24 Hình 2.5: Quy trình tách từ .28 Hình 2.6: Đầu vào thuật toán tách từ 29 Hình 2.7: Quá trình xử lý công cụ vnTokenizer 30 Hình 2.8: Đầu văn tách từ 30 Hình 2.9: Siêu phẳng h phân chia liệu huấn luyện thành lớp + – với khoảng cách biên lớn Các điểm gần h vector hỗ trợ (Support Vector khoanh tròn) 33 Hình 2.10: Phân lớp nhị phân 33 Hình 2.11: Phân lớp văn thuộc chủ đề chiến lược OAR 42 Hình 2.12: Phân lớp văn thuộc chủ đề chiến lược OAO .44 Hình 2.13: Vùng mập mờ phân lớp 44 Hình 3.1: Thơng tin RSS website https://www.careerlink.vn/ 46 Hình 3.2: Danh sách RSS thu thập phục vụ giai đoạn huấn luyện 47 Hình 3.3: Các category sử dụng .47 Hình 3.4: Biểu diễn văn dạng vector 48 Hình 3.5: Kết độ xác việc phân loại 49 Hình 3.6: Phân loại URL input vào ứng dụng 50 MỞ ĐẦU 1.1 Tính cấp thiết đề tài Trong sống đại ngày nay, nhu cầu cập nhật sử dụng thông tin internet phần thiết yếu hoạt động hàng ngày người Tại Việt Nam, với bùng nổ công nghệ thơng tin, nhu cầu đọc báo, tìm kiếm thơng tin internet trở thành thói quen thường nhật, đó, tìm việc làm nhu cầu thiết yếu Một yêu cầu đặt là: Làm tìm kiếm thơng tin việc làm cách có hiệu nhất? Với khối lượng thơng tin q lớn địi hỏi phải xử lý nhanh việc phân loại thủ cơng điều Hướng giải đưa xây dựng giải pháp cho phép tự động phân loại thơng tin theo nhóm nghề nghiệp Kỹ thuật Support Vector Machines (SVM) đánh giá công cụ phân loại phổ biến cho toán phân lớp phi tuyến Nhiều ứng dụng xây dựng dựa kỹ thuật SVM hiệu Xuất phát từ yêu cầu thực tế, nhằm hướng tới việc phân loại nội dung văn tiếng Việt, luận văn có tựa đề: “Ứng dụng thuật tốn Máy vector hỗ trợ phân loại thơng tin văn hệ thống Website tuyển dụng” 1.2 Tổng quan vấn đề nghiên cứu Sự đời phát triển nhanh chóng World Wide Web tạo điều kiện thuận lợi cho việc phân phối chia sẻ thơng tin Internet, dẫn đến bùng nổ thông tin số lượng, chất lượng chủ đề thơng tin Trong luận văn này, em tập trung nghiên cứu phương pháp phân loại văn tiếng Việt, cụ thể thu thập tự động nội dung Website, thực tối ưu bước tiền xử lý, sau phân loại nội dung theo số lĩnh vực nghề nghiệp kỹ thuật phân loại tốt máy vector hỗ trợ SVM Công tác phân loại thư viện quan thông tin giới quan tâm Theo Yang & Xiu, “Việc phân loại văn tự động việc gán 47 Hình 3.2: Danh sách RSS thu thập phục vụ giai đoạn huấn luyện Hình 3.3: Các category sử dụng Các báo việc làm thu thập thông qua RSS từ tháng 8/2016 Các báo lấy sau tiến hành tiền xử lý, cuối lưu dạng file phục vụ cho huấn luyện kiểm tra Dữ liệu thu thập gồm có 1409 báo, chọn 800 dùng cho huấn luyện 609 dùng cho việc kiểm tra Cụ thể số liệu sau: Bảng 3.1: Số lượng tập liệu huấn luyện kiểm tra Chủ đề Tập liệu huấn luyện Tập liệu kiểm tra Kinh doanh/Bán hàng 200 233 Công nghệ thông tin 200 179 Nhân 200 117 Khách sạn/Du lịch 200 80 Sau bước tiền xử lý, văn biểu diễn dạng: : : : 48 Trong đó: classi nhãn phân loại chủ đề labeli số từ đặc trưng thứ i không gian đặc trưng có xuất phản hồi valuei trọng số indexi tính cơng thức TF.IDF, valuei = khơng cần phải ghi đặc trưng Định dạng tuân theo định dạng liệu đầu vào chương trình SVMMulticlass Hình 3.4: Biểu diễn văn dạng vector Đánh giá độ xác thuật tốn: Chúng ta khơng thể khẳng định phương pháp phân lớp văn cụ thể xác hồn tồn Vì việc đưa độ đo để đánh giá hiệu thuật tốn phân lớp giúp xác định độ xác thuật tốn, từ áp dụng thuật tốn vào việc phân lớp Độ xác tính theo cơng thức: Cơng thức đánh giá số 1: Độ 𝑐ℎí𝑛ℎ 𝑥á𝑐 = Công thức đánh giá số 2: 𝑆ố 𝑣ă𝑛 𝑏ả𝑛 𝑝ℎâ𝑛 𝑙𝑜ạ𝑖 đú𝑛𝑔 𝑇ổ𝑛𝑔 𝑠ố 𝑣ă𝑛 𝑏ả𝑛 𝑝ℎâ𝑛 𝑙𝑜ạ𝑖 49 Độ 𝑐ℎí𝑛ℎ 𝑥á𝑐 = ∑ 𝑆ố 𝑣ă𝑛 𝑏ả𝑛 𝑝ℎâ𝑛 𝑙𝑜ạ𝑖 đú𝑛𝑔 𝑡ℎ𝑢ộ𝑐 𝑐ℎủ đề 𝐶𝑖 𝑇ổ𝑛𝑔 𝑠ố 𝑣ă𝑛 𝑏ả𝑛 𝑡ℎ𝑢ộ𝑐 𝑐ℎủ đề 𝐶𝑖 𝑇ổ𝑛𝑔 𝑠ố 𝑐ℎủ đề Sau kết thực nghiệm test gồm 609 văn bản: Hình 3.5: Kết độ xác việc phân loại 3.2 Giai đoạn phân lớp 3.2.1 URL phục vụ cho ứng dụng Mục đích ứng dụng tìm kiếm thơng tin việc làm lấy thơng tin việc làm từ website đưa vào hệ thống, sau tiến hành phân loại việc làm theo chủ đề có Danh sách URL em sử dụng để phục vụ cho ứng dụng sau: http://worklink.vn http://careerbuilder.vn/tim-viec-lam.html https://www.timviecnhanh.com/ https://www.vietnamworks.com/tim-viec-lam https://mywork.com.vn/ 3.2.2 Triển khai ứng dụng Mục đích ứng dụng xây dựng danh sách việc làm lấy từ website liệt kê phần 3.2.1 tiến hành phân loại chúng vào category có sẵn Kinh doanh/Bán hàng, Công nghệ thông tin, Nhân Khách sạn/Du lịch 50 Bước 1: Input URL từ danh sách website việc làm khơng support RSS Bước 2: Trích xuất văn từ URL Bước 3: Tiền xử lý văn Tách từ Loại bỏ từ dừng Làm văn Vector hóa văn theo định dạng đầu vào thuật toán SVM Bước 4: Thực phân loại theo bốn chủ đề Hình 3.6: Phân loại URL input vào ứng dụng Kết luận chương Chương trình bày cụ thể việc xây dựng liệu huấn luyện thử nghiệm, từ tính tốn độ xác thuật toán; đưa ứng dụng việc phân loại URLs website việc làm vào nhãn tương ứng 51 KẾT LUẬN Kết đạt Luận văn tiến hành nghiên cứu giải toán phân loại văn tiếng Việt dựa vào đặc trưng Bài toán tảng cho nhiều ứng dụng quan trọng thực tế lọc thư rác, hệ thống khuyến cáo/quan điểm người dùng,… Những kết mà đồ án đạt được: Nghiên cứu tìm hiểu tốn phân lớp, trình bày số thuật tốn phân lớp tiêu biểu Tìm hiểu số đặc điểm văn tiếng Việt phục vụ cho trình tiền xử lý Tìm hiểu áp dụng công cụ tiền xử lý liệu đầu vào Nghiên cứu tìm hiểu thuật tốn Support Vector Machine hai lớp nhiều lớp Xây dựng chương trình lấy tin RSS hàng ngày Xây dựng chương trình huấn luyện kiểm thử với liệu lấy từ chương trình lấy tin RSS Xây dựng chương trình phân loại việc làm vào category có sẵn từ website khơng hỗ trợ RSS Hạn chế: Một văn đầu vào sau phân loại thuộc loại nhãn Hạn chế số lượng chất lượng kho liệu tin tức ảnh hưởng đến chất lượng phân loại hệ thống Cần xác định giá trị chuẩn để văn thuộc vào nhiều thể loại, không thuộc thể loại Hướng phát triển Xây dựng liệu lớn hoàn chỉnh, phong phú lĩnh vực việc làm chia lĩnh vực nhỏ tốt 52 Cần xác định giá trị chuẩn để văn thuộc vào nhiều thể loại, không thuộc thể loại Cải thiện hiệu xuất, tăng tốc độ xử lý liệu Kiểm sốt thơng tin lấy theo ngày tháng năm mong muốn đảm bảo tính cập nhật việc làm 53 DANH MỤC TÀI LIỆU THAM KHẢO Tài liệu Tiếng Việt [1] Phan Thị Hà, Hà Hải Nam (2012), “Automatic main text extraction from web pages”, Tạp chí Khoa học Cơng nghệ, Viện Hàn lâm Khoa học Việt Nam [2] Phạm Nguyên Khang, Trần Cao Đệ (2012), “Phân loại văn với máy học vector hỗ trợ định”, Tạp chí Khoa học [3] Lê Văn Long (2014), “Tìm hiểu xây dựng thư viện điện tử với phương pháp support vector machine”, Học Viện Cơng nghệ bưu viễn thơng [4] Lê Hồng Phương (2013), “Nghiên cứu từ vựng Tiếng Việt với hệ thống SKETCH ENGINE” [5] Từ Minh Phương (2010), “Bài giảng Nhập mơn trí tuệ nhân tạo”, Học Viện Cơng nghệ bưu viễn thơng [6] Trần Thị Thu Thảo, Vũ Thị Chinh (2012), “Xây dựng hệ thống phân loại tài liệu tiếng Việt”, Trường đại học Lạc Hồng Tài liệu Tiếng Anh [7] Aidan Finn, Nicholas Kushmerick & Barry Smyth (2001), “Content classification for digital libraries”, Smart Media Institute, Department of Computer Science, University Col lege Dublin [8] Ian H.Witten, Eibe Frank (2005), “Data Mining: Practical Machine Learning Tools and Techniques” [9] Joachims T (1998), “Text categorization with Support Vector Machines: Learning with many relevant features”, in Proc of the European Conference on Machine Learning (ECML) [10 Yiming Yang, Fan Li (2003), “A Loss Function Analysis for Classification ] Methods in Text Categorization”, Proceedings of the Twentieth International Conference on Machine Learning (ICML-2003), Washington DC 54 Website tham khảo [11] http://www.nltk.org/book_1ed/ [12] http://en.wikipedia.org/wiki/Support_vector_machine [13] http://svmlight.joachims.org/ [14] http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/#libsvm_data_sets [15] http://www.cs.cornell.edu/people/tj/svm_light/svm_multiclass.html [16] http://mim.hus.vnu.edu.vn/phuonglh/softwares/vnTokenizer [17] https://github.com/stopwords/vietnamese-stopwords [18] http://www.uet.vnu.edu.vn/~thuyhq/Courses_PPT/KPW_C5_Bieu_dien_K52 ppt [19] http://mvnrepository.com/artifact/org.jsoup/jsoup [20] https://tusach.thuvienkhoahoc.com/wiki/Hướng_dẫn_sử_dụng_LIBSVM 55 PHỤ LỤC Danh sách stop-word tiếng Việt [17] a_ha à_ơi á_à ạ_ơi ai_ai ai_nấy ái_chà ái_dà ái_khanh anh_ta ăn ắt_hẳn ắt_là âu_là ầu_ơ ba bàn bán_mạng bao_giờ bao_lăm bao_lâu bao_nả bao_nhiêu bay_biến bằng_ấy bằng_không bằng_nấy bắt_đầu_từ bập_bà_bập_bõm bập_bõm bất_chợt bất_cứ bất_đồ bất_giác bất_kể bất_kì bất_kỳ bất_luận bất_nhược bất_quá bất_thình_lình bất_tử bây_bẩy bây_chừ bây_giờ bây_giờ bây_nhiêu bấy_giờ bấy_chầy bấy_chừ bấy_giờ bấy_lâu bấy_lâu_nay bấy_nay bấy_nhiêu bị biết_bao biết_bao_nhiêu biết_chừng_nào biết_đâu biết_đâu_chừng biết_đâu_đấy biết_mấy bội_phần bỗng_chốc bỗng_dưng bỗng_đâu bỗng_không bỗng_nhiên bỏ_bố bỏ_mẹ bởi_chưng bởi_nhưng bởi_thế bởi_vậy bởi_vì cả_thảy cả_thảy cả_thể cần căn_cắt cật_lực cật_sức cha_chả chành_chạnh chao_ôi chắc_hẳn chăn_chắn chằn_chặn chẳng_lẽ chẳng_những chẳng_nữa chẳng_phải chầm_chập chết_nỗi chết_tiệt chết_thật chí_chết chín chính_là chính_thị mày chúng tơi lị có có có_thể cóc khơ coi coi mịi cịn cơng nhiên hồ mà với vậy thơi dành 56 không_thể đến đến đến hàng hịn đều mà kì chi hiện_nay dùng đố hồ đơi đơi hèn là đạt lại đoạn thật thật hết làm 57 đưa lắm hết lúc gặp đằng hình đâu khơng khiến khó khơn khơn xiết đầu hị khoan khơng biết hồi khơng có khơng dưng giả khơng khéo không để khơng chừng khơng phải mực nhiều phải nên nhóm 58 rón ln ln ln như thể chơi rốt tiện không lúc thể mãi tuồng từ tức khắc qua qt ngày mà sau sau mặt nhược tang thật tình so so_sánh chừng độ số miễn đỗi sống ngơi oai ối q sá 59 ối q thể st hay q trời hơ q mô phật xá q hồ mực phép nhiên tự số đán ối định phết loạt trò muốn luật mực trọi lự nhất tất hay sinh tâm tề thiết chi năm mười hoạ đỗi thà thái tháo ứừ 60 thành nhiên trời đất vả thảo vạn vừa chí vừa thực tuần thật thêm tiếp veo xin nhiên mà tỏ nên tị te chưng xt tồ t khói từ từ_tốn ví tức ví tơi 61 nhiên vơ hình trung chà ... NGHỆ BƯU CHÍNH VIỄN THƠNG - NGUYỄN KIM ANH ỨNG DỤNG THUẬT TOÁN MÁY VECTOR HỖ TRỢ TRONG PHÂN LOẠI THÔNG TIN VĂN BẢN TRÊN HỆ THỐNG WEBSITE TUYỂN DỤNG CHUYÊN NGÀNH : KHOA HỌC MÁY... thành tốt Luận văn ? ?ỨNG DỤNG THUẬT TOÁN MÁY VECTOR HỖ TRỢ TRONG PHÂN LOẠI THÔNG TIN VĂN BẢN TRÊN HỆ THỐNG WEBSITE TUYỂN DỤNG“ Do vốn kiến thức lý luận kinh nghiệm thực tiễn cịn nên luận văn khơng... thực tế, nhằm hướng tới việc phân loại nội dung văn tiếng Việt, luận văn có tựa đề: ? ?Ứng dụng thuật toán Máy vector hỗ trợ phân loại thông tin văn hệ thống Website tuyển dụng? ?? 1.2 Tổng quan vấn đề