Tài liệu Luạn văn thạc sỹ kỹ thuật phân loại cảm xúc người dùng trong mạng xã hội

  • Số trang: 61 |
  • Loại file: DOC |
  • Lượt xem: 16 |
  • Lượt tải: 0
kenhht

Tham gia: 06/11/2018

Mô tả:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- ĐỖ HOÀNG ĐẠT PHÂN LOẠI CẢM XÚC NGƯỜI DÙNG TRONG MẠNG XÃ HỘI LUẬN VĂN THẠC SĨ KỸ THUẬT HÀ NỘI - 2015 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- ĐỖ HOÀNG ĐẠT PHÂN LOẠI CẢM XÚC NGƯỜI DÙNG TRONG MẠNG XÃ HỘI CHUYÊN NGÀNH : HỆ THỐNG THÔNG TIN 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. TRẦN ĐÌNH QUẾ HÀ NỘI - 2015 1 LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kì tài liệu nào khác. TÁC GIẢ LUẬN VĂN ĐỖ HOÀNG ĐẠT 2 LỜI CẢM ƠN Được sự đồng ý của Khoa Quốc tế và Sau Đại học của Học Viện Công Nghệ Bưu Chính Viễn Thông và giảng viên hướng dẫn khoa học: PGS.TS Trần Đình Quế, tôi đã thực hiện luận văn: “Phân loại cảm xúc người dùng trong mạng xã hội”. Để hoàn thành luận văn này, tôi xin chân thành cảm ơn các thầy cô giảng viên trong khoa Quốc Tế và Sau Đại Học của Học Viện Công Nghệ Bưu Chính Viễn Thông đã tận tình giảng dạy, hướng dẫn tôi trong suốt quá trình học tập và nghiên cứu ở Học Viện. Xin chân thành cảm ơn thầy giáo Trần Đình Quế, người đã trực tiếp hướng dẫn nghiên cứu khoa học cho tôi. Trong quá trình thực hiện luận văn, thầy đã chỉ bảo và truyền đạt những kiến thức khoa học quý báu, đồng thời cũng đưa những góp ý thiết thực giúp tôi hoàn thành luận văn này. HỌC VIÊN ĐỖ HOÀNG ĐẠT 3 MỤC LỤC LỜI CAM ĐOAN....................................................................................................1 LỜI CẢM ƠN..........................................................................................................2 DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT...........................................5 DANH SÁCH BẢNG...............................................................................................6 DANH SÁCH HÌNH VẼ.........................................................................................7 MỞ ĐẦU..................................................................................................................7 CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI CẢM XÚC NGƯỜI DÙNG..................................................................................................................... 10 1.1. Bài toán phân loại cảm xúc người dùng trong mạng xã hội.......................10 1.1.1. Lý do phân loại cảm xúc người dùng..................................................10 1.1.2. Giới thiệu bài toán và một số nghiên cứu liên quan.............................10 1.1.3. Mô hình xử lý dữ liệu cho bài toán phân loại cảm xúc........................12 1.1.4. Những thách thức trong bài toán phân loại cảm xúc............................13 1.2. Hướng tiếp cận giải quyết bài toàn phân loại cảm xúc dựa vào các kỹ thuật học máy................................................................................................................ 14 1.2.1. Phân loại dựa trên Naïve Bayes...........................................................15 1.2.2. Phân loại dựa trên máy vec-tơ hỗ trợ (Support Vector Machine)........17 1.3. Kết luận chương.........................................................................................19 CHƯƠNG 2: MÔ HÌNH BÀI TOÁN VÀ CÁC BƯỚC TRONG PHÂN LOẠI CẢM XÚC NGƯỜI DÙNG..................................................................................20 2.1. Mô hình tổng quát bài toán........................................................................20 2.2. Pha thu thập dữ liệu....................................................................................22 2.3. Pha tiền xử lý dữ liệu.................................................................................24 2.4. Pha trích chọn đặc trưng và vec-tơ hóa văn bản.........................................25 2.4.1. N-grams...............................................................................................25 2.4.2. Mô hình không gian vec-tơ (Vector Space Model)..............................29 2.5. Phân loại sử dụng SVM & Naïve Bayes với Weka....................................38 2.5.1. Giới thiệu về file arff...........................................................................38 2.5.2. Sử dụng Weka để phân loại SVM và Naïve bayes..............................39 2.6. Kết luận chương.........................................................................................41 4 CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ................................42 3.1. Thông tin dữ liệu và môi trường thực nghiệm............................................42 3.2. Phát biểu bài toán thực nghiệm..................................................................43 3.3. Kết quả thử nghiệm....................................................................................44 3.3.1. Bài toán 1: So sánh mô hình Unigram và VSM trong bộ phân loại Support Vector Machine..................................................................................45 3.3.2. Bài toán 2: So sánh mô hình Unigram và VSM trong bộ phân loại Naïve Bayes.....................................................................................................46 3.3.3. Bài toán 3: So sánh tính hiệu quả của 2 bộ phân loại SVM và Naïve Bayes với phương pháp xây dựng vec-tơ đặc trưng Unigram..........................48 3.3.4. Bài toán 4: So sánh tính hiệu quả của 2 bộ phân loại SVM và Naïve Bayes với phương pháp xây dựng vec-tơ đặc trưng Vector Space Model........50 3.4. Thảo luận, đánh giá, so sánh......................................................................51 3.5. Kết luận chương.........................................................................................52 KẾT LUẬN............................................................................................................53 DANH MỤC CÁC TÀI LIỆU THAM KHẢO....................................................56 PHỤ LỤC...............................................................................................................58 5 DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Viết tắt NLP HCI VSM SVM TF TF-IDF Tiếng Anh Natural Language Processing Human Computer Interaction Vector Space Model Tiếng Việt Xử lý ngôn ngữ tự nhiên Tương tác người – máy Mô hình không gian vec-tơ Support Vector Machine Term Frequency Term Frequency–Inverse Document Frequency Máy vec-tơ hỗ trợ Tần suất từ Tần suất từ - tuần suất ngược trong văn bản 6 DANH SÁCH BẢNG Hình 1.1: Mô hình xử lý dữ liệu cho bài toán phân loại cảm xúc........................................12 Hình 1.2: Mô tả về siêu phẳng trong SVM..........................................................................17 Hình 1.3: Mô tả về đường biên trong SVM.........................................................................18 Hình 1.4: Mô tả về đường biên trong SVM.........................................................................19 Hình 2.1. Mô hình tổng quát của bài toán............................................................................20 Hình 2.2: Dữ liệu thô trên trang mp3.zing.vn......................................................................23 Hình 2.3: Dữ liệu sau khi crawl về lưu trữ vào cơ sở dữ liệu..............................................23 Hình 2.4. Túi từ vựng được tạo bởi mô hình n-grams.........................................................28 Hình 2.5. Nhóm 3 vec-tơ khảo sát với mô hình n-grams.....................................................29 Hình 2.6: Minh họa của Christian S. Perone........................................................................30 Hình 2.7. Kết quả tính toán TF, IDF với mô hình VSM......................................................37 Hình 2.8. Kết quả trích chọn đặc trưng với mô hình VSM..................................................37 Hình 2.9. Nhóm 3 vec-tơ khảo sát với mô hình VSM.........................................................38 Hình 2.10: Mẫu file arff chuẩn.............................................................................................39 Hình 2.11: Các bước sử dụng Weka để phân loại dữ liệu....................................................40 Hình 2.12: Kết quả đánh giá mô hình bài toán.....................................................................41 Hình 3.1: Biểu đồ so sánh mô hình unigram và VSM trong SVM với k-folds=5...............45 Hình 3.2: Biểu đồ so sánh mô hình unigram và VSM trong SVM với k-folds=10.............46 Hình 3.4: Biểu đồ so sánh mô hình Unigram và VSM trong Naïve Bayes với k-folds=5...47 Hình 3.5: Biểu đồ so sánh mô hình Unigram và VSM trong Naïve Bayes với k-folds=10.47 Hình 3.6: Kết quả so sánh hai bộ phân lớp SVM và Naïve Bayes với Unigram với kfolds=5..................................................................................................................................49 Hình 3.7: Kết quả so sánh hai bộ phân lớp SVM và Naïve Bayes với Unigram với kfolds=10................................................................................................................................49 Hình 3.8: Kết quả so sánh hai bộ phân lớp SVM và Naïve Bayes với VSM với k-folds=5 & k-folds=10............................................................................................................................50 7 DANH SÁCH HÌNH VẼ Hình 1.1: Mô hình xử lý dữ liệu cho bài toán phân loại cảm xúc........................................12 Hình 1.2: Mô tả về siêu phẳng trong SVM..........................................................................17 Hình 1.3: Mô tả về đường biên trong SVM.........................................................................18 Hình 1.4: Mô tả về đường biên trong SVM.........................................................................19 Hình 2.1. Mô hình tổng quát của bài toán............................................................................20 Hình 2.2: Dữ liệu thô trên trang mp3.zing.vn......................................................................23 Hình 2.3: Dữ liệu sau khi crawl về lưu trữ vào cơ sở dữ liệu..............................................23 Hình 2.4. Túi từ vựng được tạo bởi mô hình n-grams.........................................................28 Hình 2.5. Nhóm 3 vec-tơ khảo sát với mô hình n-grams.....................................................29 Hình 2.6: Minh họa của Christian S. Perone........................................................................30 Hình 2.7. Kết quả tính toán TF, IDF với mô hình VSM......................................................37 Hình 2.8. Kết quả trích chọn đặc trưng với mô hình VSM..................................................37 Hình 2.9. Nhóm 3 vec-tơ khảo sát với mô hình VSM.........................................................38 Hình 2.10: Mẫu file arff chuẩn.............................................................................................39 Hình 2.11: Các bước sử dụng Weka để phân loại dữ liệu....................................................40 Hình 2.12: Kết quả đánh giá mô hình bài toán.....................................................................41 Hình 3.1: Biểu đồ so sánh mô hình unigram và VSM trong SVM với k-folds=5...............45 Hình 3.2: Biểu đồ so sánh mô hình unigram và VSM trong SVM với k-folds=10.............46 Hình 3.4: Biểu đồ so sánh mô hình Unigram và VSM trong Naïve Bayes với k-folds=5...47 Hình 3.5: Biểu đồ so sánh mô hình Unigram và VSM trong Naïve Bayes với k-folds=10.47 Hình 3.6: Kết quả so sánh hai bộ phân lớp SVM và Naïve Bayes với Unigram với kfolds=5..................................................................................................................................49 Hình 3.7: Kết quả so sánh hai bộ phân lớp SVM và Naïve Bayes với Unigram với kfolds=10................................................................................................................................49 Hình 3.8: Kết quả so sánh hai bộ phân lớp SVM và Naïve Bayes với VSM với k-folds=5 & k-folds=10............................................................................................................................50 8 MỞ ĐẦU Ngày nay, với sự gia tăng về số lượng và nội dung các trang thông tin điện tử như mp3.zing.vn, keeng.vn và các mạng xã hội như Facebook, Twitter,… Internet không chỉ còn là nơi cung cấp thông tin ở dạng sự kiện mà còn là nơi người dùng bày tỏ cảm xúc, trao đổi cảm nhận, kinh nghiệm về các vấn đề đời sống hoặc về các vấn đề mà chính người dùng đó đang đọc. Có rất nhiều các nghiên cứu trong việc khai phá nội dung văn bản để tìm ra những điều mới mẻ phục vụ kinh doanh. Chẳng hạn như nhu cầu tổng hợp những phản hồi hay bình luận của người dùng trên Internet để đưa ra kết luận một sản phẩm có tốt hay không? Phản ứng của khách hàng đối với một sự kiện nào đó như thế nào?… Đối với lĩnh vực khai phá dữ liệu truyền thống, thay vì tập trung vào lịch sử người dùng như lịch sử mua bán, thời gian truy cập…, lĩnh vực khai phá cảm xúc người dùng lại tập trung vào việc phân tích ý nghĩa của các bình luận trên các trang thông tin hay mạng xã hội. Do đó, có thể hiểu bài toán phân loại cảm xúc người dùng là sự kết hợp của lĩnh vực Khai phá dữ liệu và Xử lý ngôn ngữ tự nhiên. Tính đến hiện nay, việc xử lý bài toán phân loại cảm xúc người dùng có nhiều hướng tiếp cận khác nhau và nhiều mức xử lý khác nhau, tuy nhiên các tài liệu liên quan đến việc xử lý đa phần là áp dụng cho tiếng Anh. Việc phân loại cảm xúc người dùng cho Tiếng việt còn nhiều hạn chế. Mục đích của luận văn “Phân loại cảm xúc người dùng trong mạng xã hội” là tìm hiểu tổng quan về bài toán phân loại cảm xúc người dùng, tập trung và phân tích các phương pháp tiếp cận, các phương thức hoạt động và xử lý dữ liệu chung của bài toán này. Đánh giá những thành phần và những yếu tố quan trọng trong việc khai phá ngữ nghĩa. Tìm hiểu về các thuật toán học máy, tập trung vào phương thức và cách trích chọn đặc trưng. Đặc biệt với hai phương pháp phân loại dựa trên Support Vectors Machine và Naive Bayes. Đánh giá, so sánh hai phương pháp này với các phương pháp trích chọn đặc trưng khác nhau. Đối tượng nghiên cứu của luận văn là tập trung khai phá phân loại cảm xúc của người dùng khi đang nghe nhạc dựa trên các bình luận vào bài hát của 9 mp3.zing.vn. Dữ liệu thu thập trên ba miền nhạc trẻ, nhạc cách mạng và tổng hợp. Luận văn tập trung vào cách trích chọn đặc trưng n-grams, mô hình không gian vectơ (Vector Space Model) và xử lý dữ liệu của các thuật toán học máy, đi sâu hơn vào nghiên cứu thuật toán SVM & Naïve Bayes. Luận văn sẽ thực hiện phân loại cảm xúc dựa vào tính chất của cảm xúc là: cảm xúc tích cực và cảm xúc tiêu cực. Cụ thể những nội dung này sẽ được bố cục theo từng chương như sau: Chương 1. Tổng quan về bài toán phân loại cảm xúc: Nội dung chương này sẽ trình bày về lý do và cơ sở lý thuyết cho việc phân loại cảm xúc. Các hướng tiếp cận, các hướng nghiên cứu trước đó của một số tác giả, đồng thời cũng giới thiệu mô hình xử lý tổng quát và các khó khăn phức tạp khi giải quyết bài toán. Phần cuối của chương 1 luận văn sẽ giới thiệu về các thuật toán học máy. Chương 2. Mô hình bài toán và các bước trong phân loại cảm xúc người dùng: Nội dung chương này sẽ trình bày mô hình tiến trình xử lý của ứng dụng mà luận văn đã xây dựng, bắt đầu bằng tiến trình thu thập dữ liệu, chuẩn hóa dữ liệu, sử dụng các phương pháp trích chọn đặc trưng khác nhau để vec-tơ hóa văn bản. Bước cuối cùng là sử dụng Weka để áp dụng các bộ phân loại Naïve Bayes và Máy vec-tơ hỗ trợ (SVM) vào mô hình bài toán để đưa ra các kết quả đánh giá sau này. Chương 3. Thử nghiệm và đánh giá kết quả: Sau khi xây dựng ứng dụng, chương này sẽ tiến hành cài đặt và thử nghiệm hiệu quả của các đặc trưng sử dụng, từ đó chọn ra những đặc trưng cho kết quả cao nhất theo thông số độ đo Fscore. Từ đó rút ra những kết luận quan trọng trong bài toán phân loại cảm xúc người dùng. Kết luận. Phần này sẽ trình bày những kết quả đạt được của luận văn, đồng thời cũng chỉ ra những hạn chế và hướng phát triển trong tương lai. 10 CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN PHÂN LOẠI CẢM XÚC NGƯỜI DÙNG 1.1. Bài toán phân loại cảm xúc người dùng trong mạng xã hội 1.1.1. Lý do phân loại cảm xúc người dùng Ngày nay, với sự phát triển mạnh mẽ của internet… người ta có thể ngồi hàng giờ mỗi ngày để đọc báo, nghe nhạc và chia sẻ cảm xúc, viết các ghi chú, bình luận… Ẩn trong những bình luận đó là những cảm xúc vui, buồn, yêu, ghét… của người dùng. Những thứ mang hướng “cảm tính” như thế nếu không phải là con người tự đọc, tự hiểu được thì nó thực sự là một thách thức lớn đối với máy tính. Đứng trên quan điểm thương mại điện tử, thì việc phát hiện ra cảm xúc người dùng đúng sẽ giúp ta hiển thị những nội dung quảng cáo tốt hơn. Chẳng hạn, phát hiện một người có tâm trạng mệt mỏi, có thể gợi ý một số đồ uống tăng lực, địa điểm giải trí, hay đơn giản là phát một bản nhạc nhẹ nhàng để phục vụ khách hàng. Với những vấn đề đặt ra như thế, luận văn xin chọn đề tài nghiên cứu về “Phân loại cảm xúc người dùng trong mạng xã hội”. 1.1.2. Giới thiệu bài toán và một số nghiên cứu liên quan Phân tích tâm lý và khai phá quan điểm người dùng là một trong những vấn đề được nghiên cứu sôi động nhất trong lĩnh vực xử lý ngôn ngữ tự nhiên (Liu 2012) [11] Cảm xúc được định nghĩa là phản ứng của con người đối với các sự kiện, hiện tượng (kể cả bên trong hoặc bên ngoài cơ thể) cái mà có một ý nghĩa nào đó đối với con người [5]. Cảm xúc, tình cảm là vấn đề được nhiều nhà khoa học quan tâm, nghiên cứu. Vì thế có nhiều quan điểm khác nhau về số lượng các loại cảm xúc. Căn cứ vào tính chất của cảm xúc có thể chia cảm xúc thành 2 loại: cảm xúc tích cực và cảm xúc tiêu cực. Căn cứ vào biểu hiện và nội dung, chúng ta có thể chia cảm xúc thành 6 loại cơ bản: vui, buồn, giận dữ, ngạc nhiên, ghét, sợ hãi. Theo nghiên cứu của W. 11 Gerrod Parrot [1]. Từ những cảm xúc cơ bản nhưng dưới sự tác động của các kích thích khác nhau trong những điều kiện, hoàn cảnh khác nhau mà cảm xúc của con người cũng có lúc đan xen, pha lẫn nhiều cảm xúc khác loại nhưng cùng tồn tại trong một thời điểm. Và chính điều này đã tạo ra hàng loạt các cảm xúc khác. Trong những năm gần đây, với sự bùng nổ của internet, facebook, twiter… có rất nhiều những nghiên này cứu tập trung vào miền mạng xã hội. Do một số đặc điểm của của ngôn ngữ trên mạng xã hội, ví dụ hạn chế về số ký tự hoặc cảm xúc phụ thuộc nhiều vào nội dung người dùng đang đọc, nghe nên việc phân loại cảm xúc người dung trong mạng xã hội là một vấn đề đầy thử thách. Các nghiên cứu trước đây chủ yếu tập trưng dựa trên từ vựng – Lexicon Based (Hu and Liu. 2004) và dựa trên phương pháp học máy - Machine Learning Based Methods (Pang et al. 2002). Đối với phương pháp dựa trên từ vựng, kết quả phụ thuộc nhiều vào chất lượng của các từ miêu tả cảm xúc. Đối với phương pháp dựa trên học máy, ví dụ: SVM, Naïve Bayes, kết quả phụ thuộc nhiều vào cách trích chọn đặc trưng, mà ở đây sử dụng phổ biến là n-gram hoặc đặc trưng từ vựng (Lexicon-based features). Một số nghiên cứu khác sử dụng mô hình vec-tơ không gian - Vector Space Model (Taner Danisman & Adil Alpkocak. 2008) [10] cũng cho thấy sự những ưu điểm của mình. Đối với các nghiên cứu Tiếng Việt trong phạm vi khai phá quan điểm này còn ít, chẳng hạn như “A featủe-based opinion mining model on product reviews in Vietnames” của Vũ Tiến Thành [4] nghiên cứu về khai phá quan điểm nói chung, nhưng chuyên về miền cảm xúc người dùng thì hầu như chưa có. Trong phạm vi luận văn, chúng ta sẽ nghiên cứu phân loại cảm xúc dựa trên phương pháp học máy với hai mô hình xây dựng vec-tơ đặc trưng N-Grams và mô hình không gian vec-tơ (Vector Space Model), và hai bộ phân lớp Naïve Bayes và máy vec-tơ hỗ trợ (Support Vector Machine). 12 1.1.3. Mô hình xử lý dữ liệu cho bài toán phân loại cảm xúc Mặc dù có những hướng tiếp cận để giải quyết bài toán khác nhau, tuy nhiên nhóm nghiên cứu của Pravesh đã đưa ra mô hình chung cho bài toán này trong hội nghị quốc tế về công nghệ tính toán mềm năm 2014 (International Journal on Soft Computing-IJSC) [18] Hình 1.1: Mô hình xử lý dữ liệu cho bài toán phân loại cảm xúc Ý nghĩa và nhiệm vụ từng tiến trình cụ thể như sau: 1.1.3.1. Thu thập dữ liệu Bước này sẽ thu thập các trang web chứa bình luận người dùng. Để thực hiện bước này có thể sử dụng cơ sở dữ liệu của trang web hoặc sử dụng Crawler hoặc Agent để thực hiện tự động. Kết quả bước này sẽ thu thập được toàn bộ các định dạng dữ liệu của website đối tượng ở dạng HTML hay TXT, dữ liệu này sẽ được đi qua xử lý ở các bước sau. 1.1.3.2. Chuẩn hóa dữ liệu Về mặt cấu trúc, dữ liệu thu được ở bước thứ nhất ở định dạng HTML hoặc PHP, do đó bước Chuẩn hóa dữ liệu sẽ lọc lấy những thông tin cần thiết như thời gian, tiêu đề bài viết cùng với bình luận người dùng. Ngoài ra, những bình luận người dùng thu thập được có thể không thỏa mãn những yêu cầu về ngữ pháp hoặc ngữ nghĩa. Bước này cũng sẽ loại bỏ những mẫu bình luận không phù hợp hoặc sửa đổi (như thêm dấu với Tiếng Việt) để đảm bảo dữ liệu thu thập được phù hợp với việc Gán nhãn hay Trích chọn đặc trưng ở bước sau. 13 1.1.3.3. Gán nhãn dữ liệu Với cách tiếp cận bằng bộ từ vựng, bước này sẽ sử dụng dữ liệu từ bộ từ vựng đó để so khớp hay gán nhãn những từ trong văn bản tương ứng trong từ điển. Với phương pháp tiếp cận bằng thuật toán học máy, dữ liệu sẽ được gán nhãn dựa vào đặc trưng ngôn ngữ của văn bản. Cụ thể như gán nhãn câu, gán nhãn từ và từ loại hay các biểu tượng cảm xúc trong bình luận. 1.1.3.4. Trích chọn đặc trưng Dựa trên dữ liệu được gán nhãn, đặc trưng để phân lớp là trọng số hướng ngữ nghĩa của bình luận với cách sử dụng bộ từ vựng. Các thuật toán học máy sẽ sử dụng đặc trưng ngôn ngữ như n-grams sau khi tách từ hay gán nhãn từ loại để huấn luyện và kiểm thử với bộ dữ liệu chuẩn được chọn ra từ các bước trước đó. 1.1.3.5. Phân lớp dữ liệu Dữ liệu đầu vào đã qua các bước tiền xử lý sẽ qua bộ phân lớp sử dụng các thuật toán học máy. Với cách tiếp cận bằng bộ từ vựng, bước này sẽ áp dụng các luật ngữ pháp hay các quy tắc thay đổi ngữ nghĩa để tính ra trọng số cuối cùng sau đó quyết định hướng ngữ nghĩa của bình luận. 1.1.4. Những thách thức trong bài toán phân loại cảm xúc  Có nhiều nghiên cứu tiếng việt về khai phá quan điểm, tuy nhiên những nghiên cứu trong chuyên về phân tích cảm xúc người dùng ở Việt Nam còn ít.  Do một số đặc điểm của của ngôn ngữ trên mạng xã hội, ví dụ nội dung bình luận, tán gẫu trên mạng của người dùng có số ký tự khá ngắn, thường chỉ một đến hai câu. Cảm xúc của người dùng phụ thuộc nhiều vào nội dung người dùng đang đọc, nghe hoặc tâm trạng của họ trước đó. Nên việc phân loại cảm xúc người dung trong mạng xã hội là một vấn đề đầy thử thách.  Các ký tự cảm xúc (emoticons) trên mạng xã hội khá đa dạng, có nhiều loại ký tự được thay đổi liên tục. Nắm bắt được những biểu tượng cảm xúc đó thể hiện cho tâm trạng nào cũng là một thử thách khác biệt.  Trong mạng xã hội, do nội dung do người dùng viết ra không phải là văn bản chính thống nên ngôn ngữ bị viết tắt hoặc biến tướng đi rất nhiều, thậm chí là 14 sai chính tả. Chẳng hạn từ “Không” có thể viết tắt thành “ko”, “o”, hoặc “k”. Việc xử lý những ngoại lệ này cũng là một thử thách không nhỏ.  Đối với bài toán phân tích quan điểm nói chung, ý kiến của người dùng là về một sự vật hiện tượng được nói đến trong chính nội dung câu đó. Ví dụ: “Chiếc điện thoại này đẹp đấy”, thì quan điểm lúc này là tốt, và đối tượng được nói tới là “chiếc điện thoại”. Nhưng trong miền khai phá cảm xúc, thì đối tượng nói tới không phải là hẳn có sẵn. Ví dụ: “Bài hát này rất hay, mỗi lần nghe nó tôi lại cảm thấy buồn” thì đối tượng nói tới ở đây là “tôi” chứ không phải là bài hát. Đây là một thách thức lớn dành cho những nghiên cứu sâu trong lĩnh vực này 1.2. Hướng tiếp cận giải quyết bài toàn phân loại cảm xúc dựa vào các kỹ thuật học máy Mục tiêu của học máy (Machine Learning) là xây dựng một giải thuật để nhận biết được dữ liệu đầu vào mới từ những dữ liệu đã được huấn luyện trước đó. Có hai giai đoạn chính trong việc phân lớp dữ liệu, cụ thể: - Giai đoạn huấn luyện: Từ tập dữ liệu huấn luyện đưa ra được mô hình cho từng lớp - Giai đoạn áp dụng: Phân lớp văn bản mới dựa vào mô hình đã được xây dựng từ giai đoạn huấn luyện Ở cả hai giai đoạn huấn luyện và áp dụng, dữ liệu đều phải qua hai pha chính là Tiền xử lý dữ liệu (Data preprocessing) và trích chọn vec-tơ đặc trưng (Feature selection). Cụ thể các bước này như sau: - Tiền xử lý dữ liệu (Data preprocessing): Ở bước này, dữ liệu sẽ được xử lý để loại bỏ hay chỉnh sửa cho phù hợp với mục tiêu của bộ phân loại. Với việc xử lý ngôn ngữ tự nhiên, dữ liệu thu thập được sẽ chứa những thông tin dư thừa ( thẻ HTML, PHP…) hoặc gặp những sai sót về ngữ pháp chính tả. Tập dữ liệu thô sẽ được loại bỏ những thông tin dư thừa này hay chỉnh sửa lại những sai sót để đảm bảo cho dữ liệu đạt chuẩn yêu cầu về ngôn ngữ. Ở pha tiếp theo, dữ liệu sẽ được phân tích thành các đơn vị nhỏ về cú pháp như tách câu, tách từ, gán nhãn hoặc nhận diện từ loại. Những thông tin về các đơn vị ngôn ngữ này sẽ ảnh hưởng đến 15 ngữ nghĩa của câu hay văn bản và sẽ được sử dụng trong việc lựa chọn đặc trưng để xây dựng mô hình phân lớp. - Lựa chọn đặc trưng (Feature selection): Ở bước này, các thành phần ngôn ngữ sẽ được lựa chọn hợp lý sao cho một văn bản có thể được vec-tơ hóa. Cụ thể, một văn bản sẽ được biểu diễn như sau: Doci = {v1, v2, … vn } Trong đó Doci là văn bản thứ i của tập dữ liệu. v1, v2... vn là tập các vec-tơ đặc trưng Sau khi lựa chọn đặc trưng xong, ta có thể áp dụng một trong nhiều bộ phân loại khác nhau ví dụ như Naïve Bayes hoặc Máy vec-tơ hỗ trợ (SVM) 1.2.1. Phân loại dựa trên Naïve Bayes Naïve Bayes là kỹ thuật phân loại phổ biến trong học máy có giám sát. Ý tưởng chính của kỹ thuật này dựa vào xác suất có điều kiện giữa từ hay cụm từ và nhãn phân loại để dự đoán văn bản mới cần phần loại thuộc lớp nào. Naïve Bayes được ứng dụng nhiều trong giải quyết các bài toán phân loại văn bản [12]; xây dựng bộ lọc thư rác tự động [13],[14]; hay trong bài toán khai phá quan điểm [15],[16] bởi tính dễ hiểu, đễ triển khai cũng như độ chính xác tốt. Ý tưởng cơ bản của cách tiếp cận Naïve Bayes là sử dụng xác suất có điều kiện giữa các đặc trưng và nhãn để dự đoán xác suất nhãn của một văn bản cần phân loại. Điểm quan trọng của phương pháp này chính là ở chỗ giả định rằng sự xuất hiện của tất cả các đặc trưng trong văn bản đều độc lập với nhau. Giả định đó làm cho việc tính toán Naïve Bayes hiệu quả và nhanh chóng hơn các phương pháp khác vì không sử dụng việc kết hợp các đặc trưng để đưa ra phán đoán nhãn. Kết quả dự đoán bị ảnh hưởng bởi kích thước tập dữ liệu, chất lượng của không gian đặc trưng… Thuật toán Naïve Bayes dựa trên định lý Bayes được phát biểu như sau: 16 Áp dụng trong bài toán phân loại, các dữ kiện gồm có: D: tập dữ liệu huấn luyện đã được vec-tơ hóa dưới dạng Ci: phân loại i, với i = {1,2,…,m}. Các thuộc tính độc lập điều kiện đôi một với nhau. Theo định lý Bayes: Theo tính chất độc lập điều kiện: Trong đó: là xác suất thuộc phân loại i khi biết trước mẫu X. xác suất là phân loại i. xác suất thuộc tính thứ k mang giá trị x k khi đã biết X thuộc phân loại i. Các bước thực hiện thuật toán Naïve Bayes: Bước 1: Huấn luyện Naïve Bayes (dựa vào tập dữ liệu), tính Bước 2: Phân loại và , ta cần tính xác suất thuộc từng phân loại khi đã biết trước Xnew. Xnew được gán vào lớp có xác suất lớn nhất theo công thức 17 1.2.2. Phân loại dựa trên máy vec-tơ hỗ trợ (Support Vector Machine) Máy vec-tơ hỗ trợ (Support Vector Machine - SVM) là một phuơng pháp phân loại được đề xuất bởi Cortes & Vapnik [17]. Ý tưởng chính của thuật toán là tìm một siêu phẳng (Hyper Plane) hay tập các siêu phẳng trong không gian hữu hạn chiều của các vec-tơ biểu diễn văn bản, phân chia các vec-tơ này thành 2 phần là hai lớp của bộ phân loại. Khoảng cách từ siêu phẳng tới điểm gần nhất được gọi là biên của bộ phân loại. Khi có một vec-tơ mới, khoảng cách từ vec-tơ này đến đến siêu phẳng được tính toán, sau đó sẽ được xếp vào phân loại phù hợp với nó. Để đơn giản ta sẽ xét bài toán phân loại nhị phân, sau đó sẽ mở rộng vấn đề ra cho bài toán phân nhiều lớp. Xét một ví dụ của bài toán phân loại hình 1.2 ở đó ta phải tìm một đường thẳng sao cho bên trái nó toàn là các điểm đỏ, bên phải nó toàn là các điểm xanh. Bài toán mà dùng đường thẳng để phân chia này được gọi là phân loại tuyến tính (linear classification). Hình 1.2: Mô tả về siêu phẳng trong SVM Hàm tuyến tính phân biệt hai lớp như sau: (1) Trong đó: là vec-tơ trọng số hay vec-tơ chuẩn của siêu phẳng phân cách, T là kí hiệu chuyển vị. là độ lệch
- Xem thêm -