Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 73 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
73
Dung lượng
284,12 KB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG - NGUYỄN THỊ HỒNG QUỲNH KHAI PHÁ QUAN ĐIỂM CHO DỮ LIỆU TWITTER LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI - 2017 HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG - NGUYỄN THỊ HỒNG QUỲNH KHAI PHÁ QUAN ĐIỂM CHO DỮ LIỆU TWITTER CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH MÃ SỐ: 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 NGÔ XUÂN BÁCH HÀ NỘI - 2017 i LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu luận văn trung thực chƣa đƣợc công bố cơng trình TÁC GIẢ Nguyễn Thị Hồng Quỳnh ii LỜI CẢM ƠN Tôi xin chân thành cảm ơn thầy giáo TS Ngô Xuân Bách – ngƣời hƣớng dẫn khoa học, tận tình hƣớng dẫn, bảo dìu dắt tơi suốt q trình thực đề tài Tôi xin chân thành cảm ơn thầy cô giáo học viện Cơng nghệ Bƣu Viễn thơng quan tâm, tận tình truyền thụ kiến thức giúp đỡ thời gian học tập Tôi xin chân thành cảm ơn công ty trách nhiệm hữu hạn FPT tạo điều kiện thời gian công việc suốt thời gian học tập thực đề tài Trong trình nghiên cứu thực đề tài mình, đƣợc hƣớng dẫn nhiệt tình, nghiêm túc TS Ngơ Xn Bách với nỗ lực cá nhân nhƣng khơng thể tránh đƣợc thiếu sót, hạn chế Tơi mong nhận đƣợc ý kiến đóng góp, sửa chữa từ quý Thầy, Cô bạn bè đồng nghiệp để đề tài đƣợc hoàn thiện ứng dụng nhiều thực tế Trân trọng cám ơn Tác giả Nguyễn Thị Hồng Quỳnh iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC .iii DANH MỤC THUẬT NGỮ v DANH MỤC CÁC BẢNG BIỂU vi DANH MỤC CÁC HÌNH VẼ vii LỜI MỞ ĐẦU CHƢƠNG I CƠ SỞ LÝ LUẬN 1.1 Giới thiệu xử lý ngôn ngữ tự nhiên 1.2 Khai phá quan điểm 1.2.1 Giới thiệu 1.2.2 Một số toán khai phá quan điểm 1.2.3 Một số khó khăn khai phá quan điểm 1.2.4 Các cấp độ liệu phân tích quan điểm 1.3 Tổng quan toán khai phá quan điểm liệu mạng xã hội Twitter .8 1.3.1 Giới thiệu mạng xã hội Twitter 1.3.2 Phát biểu toán 1.3.3 Ý nghĩa toán 10 1.3.4 Khó khăn thách thức 10 1.4 Một số kỹ thuật khai phá quan điểm 11 1.4.1 Các phƣơng pháp định 11 1.4.2 Phƣơng pháp K-láng giềng gần (K-Nearest Neighbor) 12 1.4.3 Thuật toán SVM 13 1.4.4 Một số nghiên cứu liên quan 14 1.5 Kết luận chƣơng 17 CHƢƠNG II PHƢƠNG PHÁP PHÂN LOẠI QUAN ĐIỂM TRÊN TWITTER SỬ DỤNG HỌC MÁY 19 2.1 Phƣơng pháp phân loại quan điểm 19 2.1.1 Thu thập liệu 21 2.1.2 Tiền xử lý liệu 22 2.1.3 Trích chọn đặc trƣng vector hóa liệu 25 2.1.4 Sử dụng thuật tốn huấn luyện tạo mơ hình phân lớp 27 iv 2.2Các phƣơng pháp trích chọn đặc trƣng 2.2.1Đặc trƣng N 2.2.2Độ tƣơng đồ 2.2.3Đặc trƣng L 2.3SVM – Support Vevtor Machine 2.3.1Giới thiệu ch 2.3.2Thuật toán S 2.3.3Huấn luyện S 2.3.4Các ƣu điểm 2.3.5Cách áp dụn 2.4Kết luận chƣơng CHƢƠNG III THỰC NGHIỆM HỆ THỐNG KHAI PHÁ QUAN ĐIỂM CHO DỮ LIỆU TWITTER 3.1Dữ liệu thực nghiệm 3.2Thiết lập thực nghiệm 3.2.1Hƣớng tiếp 3.2.2Phƣơng pháp 3.2.3Phƣơng phá 3.3Công cụ thực nghiệm 3.3.1Môi trƣờng 3.3.2Công cụ phầ 3.3.3Giới thiệu Li 3.4Kết thực nghiệm 3.4.1Kết 3.4.2Đánh giá kết 3.5Kết luận chƣơng KẾT LUẬN TÀI LIỆU THAM KHẢO v DANH MỤC THUẬT NGỮ Viết tắt CBS SVM BOW KNN K-FOLD NLP vi DANH MỤC CÁC BẢNG BIỂU Bảng 2.1 Ví dụ biểu tƣợng cảm xúc từ điển 23 Bảng 2.2 Ví dụ từ điển chuẩn hóa 24 Bảng 2.3 Ví dụ từ điển viết tắt 25 Bảng 2.4 Các đặc trƣng sử dụng phân lớp quan điểm 26 Bảng 2.5 Các độ đo tƣơng tự cho đặc trƣng CBS 35 Bảng 3.1 Bảng số liệu liệu sử dụng 44 Bảng 3.2 Bảng đặc trƣng sử dụng 45 Bảng 3.3 Bảng danh sách kết hợp đặc trƣng 46 Bảng 3.4 Bảng ma trận nhầm lẫn 49 Bảng 3.5 Bảng cấu hình phần cứng 49 Bảng 3.6 Bảng công cụ phần mềm 49 Bảng 3.7 Danh sách tham số LibSVM 52 Bảng 3.8 Bảng so sánh số liệu trƣớc sau tiền xử lý 53 Bảng 3.9 Bảng số kết thực nghiệm 53 Bảng 3.10 Thống kê độ xác phân loại theo nhãn 55 vii DANH MỤC CÁC HÌNH VẼ Hình 1.1 Mặt phẳng phân chia liệu thành Mặt phẳng phân chia liệu thành lớp SVM với khoảng cách biên lớn 14 Hình 2.1 Sơ đồ giai đoạn huấn luyện 20 Hình 2.2 Sơ đồ giai đoạn phân lớp 21 Hình 2.3 Mặt phẳng phân chia tập liệu thành hai lớp dƣơng âm 38 Hình 3.2 Minh họa K-fold cross validation 47 Hình 3.3 Hình ảnh giới thiệu LibSVM 50 Hình 3.4 Biểu đồ độ xác theo đặc trƣng 54 Hình 3.5 Biểu đồ chất lƣợng phân loại nhãn 56 LỜI MỞ ĐẦU Sự bùng nổ ngày mạnh mẽ mạng xã hội mở nhiều hội cho tổ chức, cá nhân thu thập, tìm kiếm thơng tin nhƣ xử lý chúng nhiều toán đƣợc đặt để khai thác nguồn thông tin dồi từ mạng xã hội Khai phá quan điểm tốn khai thác thơng tin nằm ứng dụng xử lý ngôn ngữ tự nhiên, giúp thu thập đƣợc thông tin mong muốn quan điểm liệu Bài tốn phân tích đánh giá cho chủ đề định, kiện, sản phẩm để tự động phân loại đánh giá theo hƣớng tích cực, tiêu cực quan điểm Bài tốn cịn bao gồm nội dung tổng hợp quan điểm từ tài liệu quan điểm thu đƣợc Với phát triển nhanh chóng mạnh mẽ, mạng xã hội Twitter trở thành nguồn cung cấp nhiều thông tin quan điểm cho ngƣời nghiên cứu lĩnh vực Đã có nhiều cơng trình nghiên cứu liên quan đến tốn khai phá quan điểm theo phƣơng pháp khác từ nhiều nguồn liệu [2], [4], [8], mà Twitter nguồn liệu phổ biến Đánh giá quan điểm viết Twitter vào hai lớp Tích cực Tiêu cực mang lại nhiều ý nghĩa cho nhiều lĩnh vực nhƣ kinh tế, quảng cáo v.v Một cách tiếp cận sử dụng học máy thống kê Trong cách tiếp cận này, biểu diễn đặc trƣng đóng vai trị quan trọng, ảnh hƣởng trực tiếp tới độ xác phân lớp Thơng qua tìm hiểu, phân tích phƣơng pháp khai phá quan điểm tập liệu Twitter, tập trung tới ba phƣơng pháp biểu diễn đặc trƣng: N-gram[7], Độ đặc trƣng dựa tâm (Center-base similarity – CBS) [6] Log-count ratio[9] để thực đề tài luận văn có tên: “Khai phá quan điểm cho liệu Twitter” Nội dung luận văn gồm phần nhƣ sau: Chương 1: Cơ sở lý luận Nội dung chƣơng trình bày số kiến thức tổng quan lĩnh vực xử lý ngôn ngữ tự nhiên, đồng thời giới thiệu toán khai phá quan điểm 48 b) Độ xác Precision, độ bao phủ Recall độ điều hòa F Để đánh giá xác chất lƣợng mơ hình ta sử dụng thêm độ đo Precision Recall Precision cho biết phân loại đốn xác phần trăm với nhãn phân loại (ví dụ phân loại kết luận phản hồi tích cực khả phản hồi thật tích cực chiếm phần trăm) Recall ngƣợc lại, cho biết câu phản hồi tích cực, khả phân loại đoán phần trăm Thực tế hai độ đo lúc tăng giảm tƣơng ứng với nhau, có trƣờng hợp Recall cao cịn Precision thấp ngƣợc lại, đánh giá tổng quát ta dùng độ đo F-measure trung bình điều hịa độ đo với hệ số 0.5 (tầm quan trọng hệ số ngang nhau): Precision hay gọi Độ xác lớp : Recall hay gọi Độ bao phủ lớp : Trung bình điều hịa F: Trong đó: : Số lƣợng ví dụ thuộc lớp đƣợc phân loại xác vào lớp : Số lƣợng ví dụ khơng thuộc lớp bị phân loại nhầm xác vào lớp : Số lƣợng ví dụ khơng thuộc lớp đƣợc phân loại xác : Số lƣợng ví dụ thuộc lớp bị phân loại nhầm 49 Bảng 3.4 Bảng ma trận nhầm lẫn Đƣợc phân lớp hệ thống Lớp Thuộc Không thuộc Phân lớp thực Thuộc (đúng) Không thuộc 3.3 Công cụ thực nghiệm 3.3.1 Môi trường thực nghiệm Dƣới thơng tin cấu hình phần cứng đƣợc sử dụng trình thực nghiệm luận văn Thành phần CPU RAM Bộ nhớ (HDD) Hệ điều hành (OS) 3.3.2 Công cụ phần mềm Tên công cụ Visual Studio Enterprise 2015 LibSVM LibSVMsharp Python 50 3.3.3 Giới thiệu LibSVM a) Giới thiệu Hình 3.3 Hình ảnh giới thiệu LibSVM LibSVM thƣ viện đơn giản, dễ sử dụng hiệu phân lớp SVM hồi quy Nó giải phân lớp C-SVM, nu-SVM, hồi quy epsilonSVM hồi quy nu-SVM Thƣ viện cung cấp công cụ lựa chọn mơ hình tự động phân lớp C-SVM LibSVM hỗ trợ phân loại đa lớp Phiên tính tính đến thời điểm phiên 3.21 đƣợc phát hành ngày 14/12/2015 b) Tính LibSVM cung cấp giao diện đơn giản cho phép ngƣời dùng dễ dàng sử dụng chƣơng trình họ Các tính bao gồm: - Các dạng SVM khác 51 - Phân lớp đa lớp hiệu (multi-class classification) - Kiểm chứng chéo (cross validation) để lựa chọn mơ hình - Ƣớc lƣợng xác suất - Bao gồm nhiều loại kernel khác - Trọng số SVM cho liệu không cân đối - Bao gồm mã nguồn C++ Java - Giao diện GUI thể phân lớp SVM hồi quy SVM - Có phần mở rộng hỗ trợ nhiều ngơn ngữ lập trình khác nhau: Python, R, MATLAB, Perl, Ruby, Weka, Common LISP, CLISP, Haskell, OCaml, LabVIEW, giao diện PHP, C# NET CUDA - Tự động chọn mơ hình đƣợc sinh theo tính xác kiểm chứng chéo Trong luận văn, sử dụng LibSVM cho việc xây dựng mơ hình, đánh giá kiểm chứng chéo (cross validation) Ngồi ra, chúng tơi cịn sử dụng phần mở rộng LibSVM cho ngôn ngữ lập trình C# LibSVM Sharp để phục vụ cho việc phát triển ứng dụng c) Định dạng liệu LibSVM yêu cầu liệu đầu vào phải theo khuôn dạng đƣợc quy định sẵn, bao gồm tập tin liệu huấn luyện tập tin liệu thử nghiệm Khuôn dạng nhƣ sau: : : Trong đó: : giá trị đích tập huấn luyện Đối với việc phân lớp, số nguyên xác định lớp Đối với hồi quy, số thực : số nguyên 52 : số thực Các nhãn tập tin liệu kiểm thử đƣợc sử dụng để tính tốn độ xác lỗi Với index mà có value = 0, không xuất định dạng vector liệu LibSVM Cách lƣu trữ giúp tiết kiệm nhớ trình xử lý d) Các tham số sử dụng LibSVM Dƣới danh sách tham số lựa chọn sử dụng LibSVM: Bảng 3.7 Danh sách tham số LibSVM Tham số -s -t -d -g -r -c -n -p -m -e -h -b -wi Mô tả svm_type: kernel_typ degree: bậ gamma: gi coef0: giá t cost: tham SVR nu: tham số nu-SVR epsilon: gi cachesize: epsilon: du shrinking: probability mơ hình SV weight: giá C-S 53 3.4 Kết thực nghiệm 3.4.1 Kết Bảng 3.8 Bảng so sánh số liệu trƣớc sau tiền xử lý Mô tả Số lƣợng từ Số từ trung bình / câu Có thể nhận thấy, sau q trình tiền xử lý chuẩn hóa liệu thô, số lƣợng từ nhiễu, không quan trọng, sai tả đƣợc loại bỏ nhiều so với số lƣợng gốc ban đầu Bảng 3.9 Bảng số kết thực nghiệm Unigram Bigram Trigram Unigram + Log-count ratio Bigram + Log-count ratio Trigram + Log-count ratio CBS Unigram + CBS Bigram + CBS Trigram + CBS Unigram 54 + Log-count ratio + CBS Bigram + Log-count ratio + CBS Trigram + Log-count ratio + CBS 3.4.2 Đánh giá kết a) So sánh độ xác phƣơng pháp trích chọn đặc trƣng Độ xác 90 80 70 60 50 40 30 20 10 Độ xác Hình 3.4 Biểu đồ độ xác theo đặc trƣng 55 Từ biểu đồ thấy sử dụng đặc trƣng N-gram, độ xác phân loại đạt khoảng 78%-80% với Unigram, Bigram Trigram Khi kết hợp CBS với Ngram kết lại giảm xuống đáng kể Tuy nhiên, kết hợp Ngram với Log-count ratio loại đặc trƣng kết lại cải thiện so với dùng Ngram b) So sánh độ xác phân loại nhãn Xem xét kết thí nghiệm độ xác phân loại (tính theo độ đo F trên) khác tùy theo tập đặc trƣng chênh lệch nhiều số tập đặc trƣng khác Tuy nhiên độ xác phân loại chênh lệch nhỏ nhãn Nhiều khả số lƣợng nhãn phân loại tập huấn luyện đồng đều, nhãn “POSITIVE” “NEGATIVE” chiếm số lƣợng theo tỷ lệ liệu gốc, điều ảnh hƣởng đến trình xây dựng phân loại có xu hƣớng đồng độ xác cho nhãn “POSITIVE” “NEGATIVE” Trong bảng dƣới thống kê lại chất lƣợng phân loại tốt với nhãn hai phƣơng pháp: Bảng 3.10 Thống kê độ xác phân loại theo nhãn Nhãn POSITIVE NEGATIVE Từ bảng ta nhận thấy độ xác phân loại theo nhãn tƣơng đồng, mức chênh lệnh không nhiều 56 Độ đo % 92 90 88 86 84 82 80 78 76 74 Precision Hình 3.5 Biểu đồ chất lƣợng phân loại nhãn Đối chiếu với biểu đồ ta thấy độ xác Precision độ bao phủ Recall nhãn có chênh lệch, nhiên khơng q 10% Trong đó, độ xác (tính theo độ đo F-measure) lại xấp xỉ 3.5 Kết luận chƣơng Nội dung chƣơng trình trình thực hệ thống khai phá quan điểm cho liệu Twitter Trên sở kết thực nghiệm chƣơng luận văn đƣa phân tích đánh giá phƣơng pháp thực Các kết cho thấy việc sử dụng đặc trƣng riêng rẽ mang lại hiệu độ xác không cao Khi tăng dần việc kết hợp đặc trƣng, độ xác phân lớp đƣợc cải thiện Điều chứng tỏ tầm quan trọng việc trích chọn đặc trƣng sử dụng kết hợp đặc trƣng toán phân lớp 57 KẾT LUẬN Trong thời đại nay, ứng dụng công nghệ thông tin vào sống đƣợc áp dụng rộng rãi Đây thực công cụ hỗ trợ đắc lực giúp cho ngƣời giải đƣợc nhiều vấn đề, nhiều tốn cách nhanh chóng, xác hiệu cao Một ứng dụng giúp ngƣời khai phá quan điểm Với nguồn thông tin phong phú, cập nhật thƣờng xuyên, gần nhƣ tức thời quan điểm ngƣời dùng vấn đề xung quanh, mạng xã hội Twitter mở hội to lớn với ngƣời để khai thác đƣợc thơng tin quan điểm Xuất phát từ hội đó, kết hợp với trình nghiên cứu, chúng tơi lựa chọn tốn Khai phá quan điểm mạng xã hội Twitter để thực luận văn Nghiên cứu xử lý ngơn ngữ tự nhiên nói chung, tốn khai phá quan điểm nói riêng với chúng tơi cơng nghệ mới, thời gian nghiên cứu ngắn nên nhiều vấn đề chƣa thực nắm bắt tốt Tuy nhiên qua trình nghiên cứu luận văn, thu đƣợc số kết nhƣ nhận thấy số hạn chế nhƣ sau: Kết đạt đƣợc Về mặt lý thuyết: - Tìm hiểu mạng xã hội Twitter, đặc điểm liệu mạng xã hội Twitter - Nghiên cứu toán khai phá quan điểm mạng xã hội Twitter, vai trị, ý nghĩa nhƣ khó khăn thách thức - Trình bày hƣớng tiếp cận, phƣơng pháp giải quyết, kỹ thuật liên quan Đi sâu vào phƣơng pháp học máy SVM, cách biểu diễn đặc trƣng N-gram, Độ tƣơng đồng dựa tâm Log-count ratio Về thực nghiệm: - Đề xuất mô hình giải tốn khai phá quan điểm mạng xã hội Twitter 58 - Tiến hành cài đặt thực nghiệm - Đƣa phân tích, đánh giá kết thực nghiệm Hạn chế Do hạn chế mặt thời gian kiến thức nên luận văn tồn số điểm hạn chế - Dữ liệu sử dụng chƣa đủ lớn, thực nghiệm thực 20.000 tweet Con số nhỏ so với lƣợng tweet thực tế - Bài toán dừng lại mức tổng quát, đánh giá quan điểm tweet, chƣa áp dụng vào lĩnh vực hay toán cụ thể Hƣớng phát triển Trong thời gian tới, tiếp tục nghiên cứu phƣơng pháp khác để nâng cao chất lƣợng kết phân lớp quan điểm Cùng với đó, xây dựng ứng dụng thực tế với tốn lĩnh vực cụ thể Ngồi ra, cần nâng cao tốc độ xử lý, hoàn thiện hệ thống 59 TÀI LIỆU THAM KHẢO [1] Agarwal, Apoorv and Xie, Boyi and Vovsha, Ilia and Rambow, Owen and Passonneau, Rebecca (2011), Sentiment Analysis of Twitter Columbia University New York, NY 10027 USA [2] Bing Liu (2012), Sentiment Analysis and Opinion Mining, Morgan & Claypool Publishers [3] Barbosa, Luciano and Junlan Feng, Robust, (2010), Sentiment detection on twitter from biased and noisy data, Proceedings of the International Conference on Computational Linguistics (COLING-2010) [4] Davidov, Dmitry and Tsur, Oren and Rappoport, Ari (2010) Enhanced sentiment learning using Twitter hashtags and smileys, in Proceedings of the 23rd International Conference on Computational Linguistics: Posters, 241249 [5] Francisco J Ribadas, Manuel Vilares Ferro, Jesús Vilares Ferro (2005) Semantic Similarity Between Sentences Through Approximate Tree Matching, Pattern Recognition and Image Analysis, 638-646 [6] Geli Fei and Bing Liu, (2008) Social Media Text Classification under Negative Covariate Shift, Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, 2347–2356 [7] Reinhard Kneser and Hermann Ney (1995) Improved backing-off for ngram language modelling, Proceedings of the IEEE Conference on Acoustics, Speech and Signal Processing, 181-184 [8] Samuel Brody, Nicholas Diakopoulos (2011), Cooooooooooooooollllllllllllll!!!!!!!!!!!!!! Using Word Lengthening to Detect Sentiment in Microblogs, 562-570 [9] Shengli Wu, (2011) Fusing Blog Opinion Retrieval Results for Better Effectiveness, Database and Expert Systems Applications (DEXA), 195-199 [10] Sida Wang and Christopher D Manning, (2012) Baselines and Bigrams: Simple, Good Sentiment and Topic Classification, Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics, 90-94 [11] T Joachims (1999) Transductive Inference for Text Classification using Support Vector Machines International Conference on Machine Learning 60 (ICML), 1999 [12] T Joachims (2003) Transductive learning via spectral graph partitioning Proceeding of The Twentieth International Conference on Machine Learning (ICML2003): 290-297 [13] Zhun chen Luo, Miles Osborne, Ting Wang, (2012), Opinion Retrieval in Twitter, Morgan Kaufmann Publishers, United States ... toán khai phá quan điểm phân loại số dạng toán khai phá quan điểm - Giới thiệu mạng xã hội Twitter tổng quan toán khai phá quan điểm cho mạng xã hội - Giới thiệu tổng quan số kỹ thuật khai phá quan. .. toán khai phá quan điểm cho liệu Twitter Chƣơng giới thiệu số kỹ thuật đƣợc sử dụng khai phá quan điểm Chương 2: Khai phá quan điểm hệ thống học máy Chƣơng trình bày việc áp dụng phƣơng pháp... 1.2 Khai phá quan điểm 1.2.1 Giới thiệu 1.2.2 Một số toán khai phá quan điểm 1.2.3 Một số khó khăn khai phá quan điểm 1.2.4 Các cấp độ liệu phân tích quan điểm