Tài liệu Phân tích ý kiến chủ quan của người dùng từ dữ liệu web

  • Số trang: 25 |
  • Loại file: PDF |
  • Lượt xem: 100 |
  • Lượt tải: 0
nganguyen

Đã đăng 34345 tài liệu

Mô tả:

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG --------------------------------------- Nguyễn Hồng Hạnh PHÂN TÍCH Ý KIẾN CHỦ QUAN CỦA NGƯỜI DÙNG TỪ DỮ LIỆU WEB Chuyên ngành: Truyền dữ liệu và mạng máy tính Mã số: 60.48.15 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2013 Luận văn được hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: PGS.TS Từ Minh Phương Phản biện 1: ……………………………………………… Phản biện 2: ……………………………………………... Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: ....... giờ ....... ngày ....... tháng ....... .. năm ....... Có thể tìm hiểu luận văn tại: - Thư viện của Học viện Công nghệ Bưu chính Viễn thông 1 MỞ ĐẦU Khi đưa ra quyết định sử dụng một dịch vụ, hay mua một món hàng nào đó, đa số chúng ta muốn tham khảo ý kiến của những người đã sử dụng chúng. Sự phát triển của Web khiến lượng thông tin ý kiến này rất dồi dào. Tuy nhiên cũng vì điều này mà việc tìm ra nguồn ý kiến và theo dõi nó trên Web trở thành một nhiệm vụ cực kỳ khó khăn. Do vậy, nhu cầu về một hệ thống tập trung xử lý, phân tích ý kiến chủ quan trở nên rõ ràng và thiết yếu. Cụ thể, nhiệm vụ phân tích ý kiến chủ quan ở đây là phân loại các văn bản (có thể là một câu, một đoạn văn) chứa ý kiến về một đối tượng nào đó thành ý kiến tích cực hay tiêu cực. Có rất nhiều nghiên cứu về khai phá ý kiến đã được thực hiện. Tuy nhiên, các nghiên cứu này đều tập trung vào việc xử lý tiếng Anh trên những tập dữ liệu lớn. Các nghiên cứu về tự động phân tích ý kiến của người dùng từ các tài liệu tiếng Việt còn khá ít, gây khó khăn cho việc xây dựng các ứng dụng thực tế, cũng như kiểm chứng các kỹ thuật đã được áp dụng thành công trong phân tích ý kiến trên tiếng Anh. Vì vậy, luận văn này thực hiện nghiên cứu “Phân tích ý kiến chủ quan của ngƣời dùng từ dữ liệu Web“ với dữ liệu được thu thập từ các trang web sử dụng tiếng Việt. Đề tài tập trung nghiên cứu những vấn đề, và phương pháp được dùng trong phân tích ý kiến. Từ đó xây dựng và kiểm nghiệm một vài mô hình thực nghiệm cho mục đích phân tích ý kiến và khả năng áp dụng cho tiếng Việt. Luận văn gồm 3 chương: Chƣơng 1: Tổng quan về phân tích ý kiến chủ quan Chƣơng 2: Các phương pháp phân tích ý kiến sử dụng kỹ thuật phân loại và xử lý ngôn ngữ tự nhiên Chƣơng 3: Thử nghiệm và đánh giá Trong đó đề tài tập trung vào chương 2 và 3 nhằm nghiên cứu và áp dụng các kỹ thuật phân tích ý kiến và việc xây dựng mô hình ứng dụng có tính chính xác cao cho tiếng Việt. 2 Chƣơng 1 – TỔNG QUAN VỀ PHÂN TÍCH Ý KIẾN CHỦ QUAN Chương 1 giới thiệu tổng quan về vấn đề phân tích ý kiến, khái niệm và một số khó khăn trong quá trình phân tích ý kiến. Tiếp đến là một số dạng phân tích ý kiến như: phân loại ý kiến, phân tích cảm nhận của người dùng trên từng đặc tính của sản phẩm, xác định xu hướng tình cảm từ các câu so sánh giữa các sản phẩm, và một số nghiên cứu thực tế về các dạng này đã được công bố. 1.1. Phân tích ý kiến 1.1.1. Giới thiệu Thông tin có thể được chia ra làm hai loại chính, là sự thật và ý kiến. Sự thật là những phát biểu khách quan về các thực thể và sự kiện trong thế giới. Ý kiến là những phát biểu chủ quan phản ánh tình cảm và nhận thức của con người về những thực thể và sự kiện đó. Nội dung chính của nhiệm vụ phân tích ý kiến chủ quan (opinion mining) hay còn được gọi là phân tích xu hướng tình cảm (sentiment analysis) này là phân tích những văn bản chứa ý kiến nhận xét đánh giá của người sử dụng về một đối tượng để xác định những ý kiến đó là tích cực, tiêu cực hay trung lập. 1.1.1.1 Khái niệm và mô hình phân tích ý kiến Giống bất kỳ vấn đề khoa học nào, trước khi giải quyết nó chúng ta cần định nghĩa hoặc mô hình hóa vấn đề. Việc mô hình hóa này sẽ đưa ra các định nghĩa cơ bản, khái niệm cốt lõi và các vấn đề cũng như các đối tượng mục tiêu. Chúng ta sử dụng thuật ngữ đối tượng để gọi thực thể mục tiêu được nhận xét. Một đối tượng có thể có một tập hợp các thành phần, và thuộc tính, chúng ta gọi chung là đặc tính của nó. Đối tƣợng: một đối tượng o là một thực thể, có thể là sản phẩm, con người, sự kiện, tổ chức hoặc một chủ đề. Nó gắn liền với một cặp o: (T, A), trong đó T là một phân cấp các 3 thành phần, thành phần con, và A là tập thuộc tính của o. Mỗi thành phần lại có tập thành phần và thuộc tính của riêng nó. Gọi một tài liệu ý kiến là d, có thể là nhận xét sản phẩm, một bài viết trên diễn đàn, hoặc một bài nhật ký cá nhân, đánh giá một tập các đối tượng. Trong trường hợp tổng quát nhất, d bao gồm một chuỗi các câu d = < S1, S2, S3…,Sm>. Đoạn ý kiến về một đặc tính: một đoạn ý kiến về đặc tính f của đối tượng o đánh giá trong d là một nhóm các câu nối tiếp nhau trong d thể hiện ý kiến tích cực hoặc tiêu cực về f. Đặc tính ẩn và đặc tính rõ ràng: nếu một đặc tính f hoặc từ đồng nghĩa của nó xuất hiện trong một câu s, f được gọi là đặc tính rõ ràng. Nếu không có f hay từ đồng nghĩa của nó xuất hiện, nhưng lại ám chỉ f thì mó được gọi là một đặc tính ẩn trong câu s. Ngƣời giữ ý kiến: là một người hoặc tổ chức đưa ra ý kiến đó. Người giữ ý kiến cũng được gọi là nguồn ý kiến. Ý kiến và xu hƣớng ý kiến: Ý kiến về đặc tính f là một quan điểm, thái độ, tình cảm hay sự đánh giá tích cực hoặc tiêu cực về f của một người nắm giữ ý kiến. Xu hướng ý kiến của một ý kiến về đặc tính f chỉ ra rằng ý kiến đó là tích cực, tiêu cực, hay trung lập. Bây giờ, chúng ta sẽ kết hợp tất cả lại để định nghĩa mô hình phân tích ý kiến dựa trên đặc tính. Mô hình của một đối tượng o được biểu diễn bởi một tập hữu hạn các đặc tính F={f1, f2,…fn}, chứa đối tượng như một đặc tính đặc biệt. Mỗi đặc tính fi Є F có thể được thể hiện với bất kỳ một trong tập hữu hạn từ hoặc cụm từ Wi = {Wi1, Wi2,…Wim} là từ đồng nghĩa của đặc tính, hoặc ám chỉ bởi một trong tập từ chỉ đặc tính ii={ii1, ii2,…iiq} của đặc tính. Mô hình một văn bản ý kiến: một văn bản ý kiến d chứa các ý kiến về tập các đối tượng { o1, o2, …, oq} từ tập người đưa ra ý kiến {h1, h2, …, hp}. Ý kiến về mỗi đối tượng o j được thể hiện trên một tập con Fj đặc tính của oj. Một ý kiến có thể là một trong hai loại sau: 4  Ý kiến trực tiếp: Một ý kiến trực tiếp là một bộ 5 ( oj, fjk, ooijkl, hi, tl) trong đó oj là một đối tượng, fjk là một đặc tính của đối tượng oj, ooijkl là xu hướng hoặc thái cực của ý kiến về đặc tính fjk của đối tượng oj, hi là người đưa ra ý kiến và tl là thời gian mà ý kiến được thể hiện bởi hi. Xu hướng ý kiến ooijkl có thể là tích cực, tiêu cực, hoặc trung tính.  Ý kiến so sánh: Một ý kiến so sánh thể hiện một quan hệ tương đồng hoặc khác biệt giữa hai hoặc nhiều đối tượng, hoặc sở thích của người nắm ý kiến dựa trên một vài đặc tính chung giữa hai đối tượng. Mục đích của việc phai phá các ý kiến trực tiếp: Cho một tài liệu ý kiến d, (1) phát hiện ra tất cả các bộ 5 ý kiến ( o j, fjk, ooijkl, hi, tl) trong d, và (2) xác định tất cả những từ đồng nghĩa (Wjk) và các từ chỉ đặc tính ijk của mỗi đặc tính fjk trong d. Câu chủ quan: Một câu khách quan thể hiện một vài thông tin thực tế về thế giới, trong khi câu chủ quan thể hiện cảm giác hoặc niềm tin của một cá nhân. Ý kiến rõ ràng và ý kiến không rõ ràng: Một ý kiến rõ ràng về đặc tính f là một ý kiến được thể hiện một cách rõ ràng về f trong một câu chủ quan. Một ý kiến không rõ ràng về đặc tính f là một ý kiến được ám chỉ trong một câu khách quan. Câu có ý kiến: một câu có ý kiến là câu thể hiện rõ ràng hoặc ám chỉ ý kiến tích cực hay tiêu cực. 1.1.1.2 Nhu cầu thông tin về ý kiến 1.1.1.3 Các ứng dụng với phân tích ý kiến - Ứng dụng cho các trang web liên quan đến việc đánh giá - Ứng dụng như một công nghệ thành phần - Ứng dụng trong kinh doanh và chính phủ thông minh - Ứng dụng trên các miền lĩnh vực khác nhau 1.1.2. Các thách thức trong phân tích ý kiến 1.1.2.1. Tƣơng quan với việc phân tích văn bản truyền thống 5 Thường thì phân loại văn bản sẽ tìm ra là phân văn bản thành các nhóm chủ đề khác nhau, và có thể có rất nhiều nhóm. Với nhiệm vụ như vậy, chúng ta có thể phải giải quyết với ít nhất là hai loại (phân loại nhị phân) hoặc hàng nghìn loại. Ngược lại, với phân loại xu hướng ý kiến, chúng ta thường có tương đối ít loại (tích cực, tiêu cực) được tạo ra từ miền ứng dụng hoặc người dùng. Thêm nữa, khi các loại khác biệt trong phân loại theo chủ đề có thể hoàn toàn không liên quan đến nhau, còn các nhãn ý kiến đã được xem xét trong một số nghiên cứu thì hoàn toàn trái ngược nhau (nếu nhiệm vụ là phân loại nhị phân), hoặc là các loại được đánh số - tính điểm (nếu việc phân loại dựa trên nhiều yếu tố). 1.1.2.2. Các thách thức về mặt kỹ thuật - Xác định đối tượng - Trích chọn đặc tính và nhóm các từ đồng nghĩa - Phân loại xu hướng ý kiến - Tích hợp 1.1.2.3. Thách thức khi xây dựng ứng dụng - Nếu ứng dụng được tích hợp vào một cơ chế tìm kiếm đa năng thì cần phải xác định xem người dùng có thực sự tìm kiếm dữ liệu mang tính chủ quan hay không - Xác định tài liệu hoặc phần tài liệu chứa ý kiến đánh giá - Xác định xu hướng ý kiến tổng thể được thể hiện trong đoạn tài liệu chứa ý kiến - Biểu diễn thông tin ý kiến phân tích được dưới một dạng hợp lý 1.2. Một số dạng phân tích ý kiến 1.2.1. Phân loại ý kiến khách quan – chủ quan, tích cực – tiêu cực Dạng này xem phân tích ý kiến như là một vấn đề phân loại văn bản. Hai chủ đề nhỏ đã được nghiên cứu mở rộng gồm: 1 – Phân loại văn bản chứa ý kiến có thể hiện ý kiến tích cực hay tiêu cực, 2 – phân loại một câu hoặc một mệnh đề của câu là 6 chủ quan hay khách quan, và một câu hoặc một mệnh đề chủ quan xem nó thể hiện ý kiến tích cực, tiêu cực, hay trung lập. 1.2.2. Tổng hợp phân tích ý kiến dựa trên đặc tính sản phẩm Mô hình này trước tiên sẽ khám phá các đối tượng được thể hiện ý kiến trong một câu, và sau đó xác định xem ý kiến là tích cực, tiêu cực, hay trung lập. Mục tiêu nhận xét là các đối tượng và thành phần của nó, đặc tính chức năng… Một đối tượng có thể là một sản phẩm, dịch vụ, một cá nhân hay tổ chức nào đó, một sự kiện, một chủ đề v.v. Cụ thể, trong một câu nhận xét một sản phẩm, nó xác định các đặc điểm của sản phẩm đã được nhận xét và xác định xem nhận xét đó tích cực hay tiêu cực. 1.2.3. Phân tích ý kiến dựa trên các câu so sánh Việc đánh giá đối tượng có thể thực hiện theo hai cách chính, trực tiếp thẩm định hoặc so sánh. Trực tiếp thẩm định, gọi là ý kiến trực tiếp, đưa ra ý kiến tích cực, tiêu cực và đối tượng mà không nhắc tới các đối tượng tương tự khác. So sánh có nghĩa là so sánh đối tượng với các đối tượng tương tự ( như các sản phẩm cạnh tranh). 1.3. Một số nghiên cứu phân tích ý kiến đã có Nghiên cứu về khai phá ý kiến bắt đầu với việc xác định các từ thể hiện ý kiến (hoặc cảm nhận) như: tốt, tuyệt, tuyệt vời, chán, dở … Rất nhiều nhà nghiên cứu đã làm việc khai phá các từ như vậy và xác định xu hướng ngữ nghĩa của chúng (tích cực hay tiêu cực). Trong [9], các tác giả xác định một vài quy tắc ngữ pháp có thể dùng để xác định các từ chỉ ý kiến và xu hướng ngữ nghĩa của chúng từ một tập dữ liệu lớn. Sự phát triển tiếp theo là phân loại cảm nhận các nhận xét về sản phẩm ở mức văn bản. Mục tiêu của nhiệm vụ này là phân loại mỗi bài phê bình xem chúng thể hiện cảm nhận tích cực hay tiêu cực về một đối tượng nào đóMột vài nhà nghiên cứu cũng thực hiện việc phân loại cảm nhận ở mức câu, xem mỗi câu thể hiện tình cảm tích cực hay tiêu cực. 7 Chƣơng 2 – CÁC PHƢƠNG PHÁP PHÂN TÍCH Ý KIẾN SỬ DỤNG KỸ THUẬT PHÂN LOẠI VÀ XỬ LÝ NGÔN NGỮ TỰ NHIÊN Cách tiếp cận chủ yếu trong nhiều ứng dụng khai phá ý kiến hiện nay là dựa trên kỹ thuật phân loại văn bản. Nội dung của chương 2 bao gồm một số kỹ thuật phân tích ý kiến dựa trên các phương pháp phân loại: phân loại ý kiến ở mức văn bản, mức câu, và kỹ thuật sinh bộ từ vựng ý kiến dùng để phân tích ý kiến. 2.1. Phân loại ý kiến mức văn bản Cho một tập văn bản ý kiến D, nhiệm vụ phân loại xác định xem mỗi văn bản d Є D có thể hiện một ý kiến tích cực hay tiêu cực về một đối tượng hay không. Một cách hình thức, nhiệm vụ được định nghĩa như sau: Cho một văn bản ý kiến d nhận xét về đối tượng o, xác định xu hướng mà ý kiến thể hiện về o, cụ thể, khám phá ra xu hướng ý kiến oo về đặc tính f trong bộ năm (o, f, so, h, t), trong đó f=o, và h, t, o được giả sử là đã biết hoặc không liên quan. 2.1.1. Phân loại dựa trên học có giám sát Phân loại, hay phân lớp, ý kiến là một trường hợp riêng của học có giám sát (supervised learning), trong đó các đoạn bình luận hoặc câu chứa ý kiến có thể nhận một trong hai nhãn phân loại:“tích cực”, “tiêu cực” (một số phát biểu cho phép phân biệt thêm nhãn “trung tính”). Quá trình phân loại được thực hiện theo các bước được mô tả sau đây. - Thu thập dữ liệu về nhận xét đánh giá từ các trang web, gán nhãn phân loại cho dữ liệu - Huấn luyện bộ phân loại trên dữ liệu đã chuẩn bị: lựa chọn kỹ thuật phân loại và trích chọn đặc trưng. Quá trình huấn luyện được lặp đi lặp lại nhiều lần để có được mô hình tốt nhất. - Hiệu năng của mô hình phân loại sau đó được đánh giá bởi tập dữ liệu kiểm tra đã chuẩn bị. 2.1.1.1. Mô hình ngôn ngữ n-gram 8 Nhiệm vụ của mô hình ngôn ngữ là cho biết xác suất của một câu w 1 w 2 ...w m là bao nhiêu. Theo công thức Bayes: P(AB) = P(B|A) * P(A), thì: P(w1 w 2 …w m ) = P(w1 ) * P(w2 |w 1 ) * P(w3 |w 1 w2 ) *…* P(wm|w1w2 …wm-1 ) Theo công thức này, mô hình ngôn ngữ cần phải có một lượng bộ nhớ vô cùng lớn để có thể lưu hết xác suất của tất cả các chuỗi độ dài nhỏ hơn m. Rõ ràng, điều này là không thể khi m là độ dài của các văn bản ngôn ngữ tự nhiên (m có thể tiến tới vô cùng). Để có thể tính được xác suất của văn bản với lượng bộ nhớ chấp nhận được, ta sử dụng xấp xỉ Markov bậc n: P(wm|w1,w2,…, wm-1 ) = P(wm|wm-n,wn-m+1 , …,wm-1 ) Nếu áp dụng xấp xỉ Markov, xác suất xuất hiện của một từ (wm) được coi như chỉ phụ thuộc vào n từ đứng liền trước nó (wm-nwm-n+1…wm-1 ) chứ không phải phụ thuộc vào toàn bộ dãy từ đứng trước (w1w2 …wm-1 ). Như vậy, công thức tính xác suất văn bản được tính lại theo công thức: P(w1 w 2 …w m ) = P(w1 ) * P(w2 |w 1 ) * P(w3 |w 1 w2 ) *…* P(wm-1|wm-n-1 wm-n …wm-2 )* P(wm|wm-nwm-n+1…wm-1 ) Với công thức này, ta có thể xây dựng mô hình ngôn ngữ dựa trên việc thống kê các cụm có ít hơn n+1 từ. Mô hình ngôn ngữ này gọi là mô hình ngôn ngữ N-gram. Một cụm N-gram là một dãy con gồm n phần tử liên tiếp của 1 dãy các phần tử cho trước (trong bộ dữ liệu huấn luyện), và cụm ngram này không nhất thiết phải có nghĩa. Ví dụ: cụm 2-gram “hát của” thuộc câu “Giọng hát của cô ấy thật điêu luyện”. Các phần tử được xét ở đây thường là kí tự, từ hoặc cụm từ; tùy vào mục đích sử dụng. Dựa vào số phần tử của 1 cụm N-gram, ta có các tên gọi cụ thể: N = 1: Unigram; N = 2: Bigram; N = 3: Trigram 2.1.1.2. Phân loại Naïve Bayes Phân loại Naïve Bayes sử dụng trong trường hợp mỗi ví dụ được cho bằng tập các thuộc tính và cần xác 9 định nhãn phân loại y, y có thể nhận giá trị từ một tập nhãn hữu hạn C. Trong giai đoạn huấn luyện, dữ liệu huấn luyện được cung cấp dưới dạng các mẫu . Sau khi huấn luyện xong, bộ phân loại cần dự đoán nhãn cho mẫu mới x. Theo lý thuyết học Bayes, nhãn phân loại được xác định bằng cách tính xác suất điều kiện của nhãn khi quan sát thấy tổ hợp giá trị thuộc tính . Thuộc tính được chọn, ký hiệu cMAP là thuộc tính có xác suất điều kiện cao nhất (MAP là viết tắt của maximum a posterior), tức là: 𝒚 = 𝒄𝑴𝑨𝑷 = 𝒂𝒓𝒈𝒎𝒂𝒙𝒄𝒋 𝝐 𝑪 𝑷 𝒄𝒋 𝒙𝟏 , 𝒙𝟐 , … , 𝒙𝒏 ) Sử dụng quy tắc Bayes, biểu thức trên được viết lại như sau: 𝑷 𝒙𝟏 , 𝒙𝟐 , … , 𝒙𝒏 𝒄𝒋 𝑷(𝒄𝒋 ) 𝒄𝑴𝑨𝑷 = 𝒂𝒓𝒈𝒎𝒂𝒙𝒄𝒋 ∈𝑪 𝑷(𝒙𝟏 , 𝒙𝟐 , … , 𝒙𝒏 ) = 𝒂𝒓𝒈𝒎𝒂𝒙𝒄𝒋 ∈𝑪 𝑷 𝒙𝟏 , 𝒙𝟐 , … , 𝒙𝒏 𝒄𝒋 𝑷(𝒄𝒋 ) Hai thành phần trong biểu thức trên được tính từ dữ liệu huấn luyện. Giá trị P(cj) được tính bằng tần suất quan sát thấy nhãn cj trên tập huấn luyện, tức là bằng số mẫu có nhãn là c j chia cho tổng số mẫu. Việc tính P(x1,x2,…,xn|cj) khó khăn hơn nhiều. Vấn đề là số tổ hợp giá trị của n thuộc tính cùng với nhãn phân loại là rất lớn khi n lớn. Để tính xác suất này được chính xác, mỗi tổ hợp giá trị thuộc tính phải xuất hiện cùng nhãn phân loại đủ nhiều, trong khi số mẫu huấn luyện thường không đủ lớn. Để giải quyết vấn đề trên, ta giả sử các thuộc tính là độc lập về xác suất với nhau khi biết nhãn phân loại cj. Trên thực tế, các thuộc tính thường không độc lập với nhau như vậy, chẳng hạn đối với ví dụ chơi tennis, khi trời nắng thì xác suất nhiệt độ cao cũng lớn hơn. Chính vì dựa trên giả thiết độc lập xác suất đơn giản như vậy nên phương pháp có tên gọi “Bayes đơn giản”. Tuy nhiên, như ta thấy sau đây, giả thiết như vậy cho phép tính xác suất điều kiện đơn giản hơn nhiều và trên 10 thực tế phân loại Bayes có độ chính xác tốt trong rất nhiều ứng dụng. Với giả thiết về tính độc lập xác suất có điều kiện có thể viết: 𝑷 𝒙𝟏 , 𝒙𝟐 , … , 𝒙𝒏 |𝒄𝒋 = 𝑷 𝒙𝟏 |𝒄𝒋 𝑷 𝒙𝟐 |𝒄𝒋 … 𝑷(𝒙𝒏 , 𝒄𝒋 ) Tức là xác suất đồng thời quan sát thấy các thuộc tính bằng tích xác suất điều kiện của từng thuộc tính riêng lẻ. Thay vào biểu thức ở trên, ta được bộ phân loại Naïve Bayes (có đầu ra ký hiệu là CNB như sau): 𝑪𝑵𝑩 = 𝒂𝒓𝒈𝒎𝒂𝒙𝒄𝒋 𝝐 𝑪 𝑷 𝒄𝒋 𝝅𝒊 𝑷(𝒙𝒊 |𝒄𝒋 ) Trong đó P(xi|cj) được tính từ dữ liệu huấn luyện bằng số lần xi xuất hiện cùng với cj chia cho số lần xi xuất hiện. Việc tính xác suất này đòi hỏi ít dữ liệu hơn nhiều so với tính P(x1, x2, …, xn | cj). Quá trình học Bayes đơn giản là quá trình tính các xác suất P(cj) và các xác suất điều kiện P(xi|cj) bằng cách đếm trên tập dữ liệu. 2.1.1.3. Phân loại máy vector tựa (Support Vector Machines) Máy vec tơ tựa (SVM) là kỹ thuật học máy được xây dựng cho bài toán phân loại nhị phân, tức là mỗi ví dụ có thể nhận một trong hai nhãn. Các ví dụ phải được biểu diễn bằng thuộc tính liên tục, và do vậy mỗi ví dụ tương ứng với một vec tơ trong không gian. SVM dựa trên hai nguyên tắc chính sau: - SVM tìm cách phân chia ví dụ có nhãn khác nhau bằng một siêu phẳng sao cho khoảng cách từ siêu phẳng tới những ví dụ có nhãn khác nhau là lớn nhất. Nguyên tắc này được gọi là nguyên tắc lề cực đại (max margin). Trong quá trình huấn luyện, thuật toán SVM xác định siêu phẳng có lề cực đại bằng cách giải bài toán tối ưu cho một hàm mục tiêu bậc 2. - Để giải quyết trường hợp các ví dụ không thể phân chia bằng một siêu phẳng, phương pháp SVM sẽ ánh xạ không gian ban đầu của các ví dụsang một không gian khác thường là có số chiều cao hơn, sau đó tìm siêu phẳng với lề cực đại trong 11 không gian này. Để tăng tính hiệu quả khi ánh xạ, một kỹ thuật được sử dụng là kỹ thuật dùng hàm nhân (kernel function) thay cho tích có hướng của các vec tơ. Có 4 hàm kernel phổ biến được đề cập trong thuật toán SVM là:  Linear  Radial basis function (RBF)  Polyminal  Sigmoid 2.1.2. Phân loại dựa trên học không giám sát 2.1.2.1. Sử dụng bộ từ vựng Phương pháp trong [33] thực hiện phân loại dựa trên một vài cụm từ cú pháp cố định có khả năng được dùng để bày tỏ ý kiến trong tiếng Anh. Thuật toán bao gồm ba bước: Bƣớc 1: Trích chọn các cụm từ chứa tính từ và trạng từ. Lý do để làm điều này là nghiên cứu đã chứng tỏ rằng tính từ và trạng từ là những từ chỉ báo rất tốt về ý kiến và tính chủ quan. Tuy nhiên, mặc dù tính từ độc lập có thể chỉ báo tính chủ quan, nhưng có thể ngữ cảnh không đủ để xác định xu hướng ngữ nghĩa của nó. Do đó, một thuật toán trích chọn hai từ liền nhau, trong đó một từ trong cặp là một tính từ/ trạng từ còn từ kia là từ chỉ ngữ cảnh. Hai từ liền nhau được trích chọn nếu POS tag của chúng phù hợp với mẫu trong bảng dưới đây. Ví dụ, mẫu trong dòng 2 nghĩa là 2 từ liền nhau được trích chọn nếu từ đầu tiên là trạng từ và từ thứ hai là tính từ nhưng từ thứ 3 (không được trích chọn) không phải là danh từ. Bảng 2. 1: Bảng quy tắc trích chọn từ loại Từ thứ nhất Từ thứ hai Từ thứ ba (không được trích chọn) Tính từ Danh từ Bất cứ từ loại nào Trạng từ Tính từ Không phải danh từ Tính từ Tính từ Không phải danh từ Danh từ Tính từ Không phải danh từ Trạng từ Động từ Bất cứ từ loại nào 12 Bƣớc 2: Ước lượng xu hướng của các cụm từ đã trích chọn bằng cách sử dụng công thức tính pointwise mutual information (PMI) như sau: 𝐏𝐫 𝒕𝒆𝒓𝒎𝟏 ∩ 𝒕𝒆𝒓𝒎𝟐 𝑷𝑴𝑰 𝒕𝒆𝒓𝒎𝟏 , 𝒕𝒆𝒓𝒎𝟐 = 𝐥𝐨𝐠 𝟐 (𝟏) 𝐏𝐫 𝒕𝒆𝒓𝒎𝟏 𝐏𝐫 𝒕𝒆𝒓𝒎𝟐 Trong đó: Pr(term1 ∩ term2) là xác suất xuất hiện đồng thời của term1 và term2 Pr(term1)Pr(term2) là xác suất xuất hiện đồng thời nếu term1 và term2 độc lập. Do đó Pr(term1 ∩ term2) và Pr(term1)Pr(term2) là một phép đo mức độ độc lập thống kê giữa chúng. Hàm log của tỉ số này là lượng thông tin chúng ta lấy được về sự có mặt của một từ khi quan sát từ còn lại. Xu hướng ý kiến (oo) của một cụm từ được tính dựa trên quan hệ của nó với từ tham chiếu tích cực, như “excellent”, và với từ tham chiếu tiêu cực, ”poor”: oo(term)= PMI(term, “excellent”) −PMI(term, “poor”). (2) Các xác suất được tính bằng cách sử dụng câu truy vấn để tìm kiếm và thu thập số lần xuất hiện của từ. Với mỗi tìm kiếm truy vấn, một cơ chế tìm kiếm thường cho số lượng các tài liệu có liên quan đến truy vấn, ta lấy số này làm số lần xuất hiện của từ/cụm từ. Do đó, bằng cách tìm kiếm 2 từ đồng thời, và riêng biệt, chúng ta có thể tính được các xác suất trong biểu thức 1. Bƣớc 3: cho một bài đánh giá, thuật toán tính oo trung bình của tất cả các cụm từ trong bài, và phân loại nó thành “nên dùng” (tích cực) nếu oo tính được dương hoặc “không nên dùng” (tiêu cực) nếu oo âm. 2.1.2.2. Một số phƣơng pháp không giám sát khác 2.2. Phân loại ý kiến ở mức câu Nhiệm vụ: Cho một câu s, hai nhiệm vụ con sau đây được thực hiện: 13   (1) Phân loại tính chủ quan: xác định xem s là câu chủ quan hay câu khách quan (2) Phân loại ý kiến cho câu chủ quan: Nếu s là chủ quan, xác định xem nó thể hiện ý kiến tích cực hay tiêu cực. 2.2.1. Xác định câu mang ý kiến chủ quan Công việc phân loại xu hướng tình cảm thường giả sử rằng tài liệu đầu vào là tài liệu mang ý kiến chủ quan. Tuy nhiên, với khá nhiều ứng dụng chúng ta cần xác định xem tài liệu đã có chứa thông tin chủ quan hay không, hoặc xác định phần nào của tài liệu là chủ quan. Các kỹ thuật như Support Vector Machine, hay Navie Bayes cũng có thể áp dụng để thực hiện nhiệm vụ phân loại ý kiến này. 2.2.2. Phân tích xu hướng cho câu ý kiến chủ quan Công việc này được phát biểu như sau: Cho một đoạn văn bản chứa ý kiến, giả sử rằng trong đó toàn bộ ý kiến nói về một vấn đề hoặc sự vật nào đó, phân loại ý kiến thành một trong hai cực tình cảm trái ngược nhau (thích, không thích), hoặc xem nó ở mức độ nào giữa hai cực đó. Các kỹ thuật học máy cũng có thể áp dụng cho nhiệm vụ này. 2.3. Kỹ thuật sinh ra bộ từ vựng ý kiến Để thu thập danh sách từ ý kiến, 3 phương pháp chính đã được nghiên cứu: thủ công, dựa trên từ điển, và dựa trên văn bản. Phương pháp thủ công rất tốn thời gian và do dó thường không được dùng riêng mà được kết hợp với một phương pháp tự động nào đó như bước kiểm tra cuối cùng vì các phương pháp tự động có thể gây ra lỗi. Sau đây chúng ta bàn về hai phương pháp tự động. 2.3.1. Kỹ thuật dựa trên từ điển Một trong các kỹ thuật đơn giản nhất của phương pháp này dựa trên bootstrapping sử dụng một tập nhỏ từ ý kiến và một từ điển trực tuyến, như WordNet [8]. Đầu tiên thu thập một lượng nhỏ các từ ý kiến một cách thủ công với xu hướng ý kiến đã biết, và sau đó phát triển tập từ vặng này lên bằng cách 14 tìm kiếm trong WordNet các từ đồng nghĩa và trái nghĩa của chúng. Từ mới tìm được sẽ được thêm vào danh sách từ vựng. Và cứ lặp lại như vậy. Quá trình kết thúc khi không tìm thêm được từ mới nào nữa. 2.3.2. Kỹ thuật dựa trên quan hệ từ và tính nhất quán Các phương pháp thuộc loại này phụ thuộc vào từ đồng nghĩa hoặc các mẫu xuất hiện đồng thời, và cả một danh sách từ ý kiến ban đầu để tìm ra các từ ý kiến khác trong một tập văn bản lớn. Một trong những ý tưởng chính được đưa ra bởi Hazivassiloglou và McKeown. Kỹ thuật bắt đầu mới một danh sách các tính từ ý kiến, và dùng chúng cùng với một số ràng buộc ngôn ngữ (hay quy ước) về kết nối để xác định các tính từ ý kiến bổ sung là xu hướng của chúng. Một trong các ràng buộc là về liên từ “và” chỉ ra rằng các tính từ được kết nối thường có chung một xu hướng tình cảm. Các quy tắc hoặc ràng buộc cũng được thiết kế cho các liên từ khác như “hoặc”, “nhưng”… 2.4. Phân loại dựa trên thông tin quan hệ 2.4.1. Quan hệ giữa các câu và các văn bản Một đặc trưng cơ bản của phân loại ý kiến mức văn bản là một văn bản có thể gồm nhiều đơn vị văn bản nhỏ hơn (như các đoạn văn hay câu) với những nhãn phân loại khác nhau, thậm chí là trái ngược nhau, trong đó nhãn phân loại tổng thể của toàn bộ văn bản là một hàm tập hợp các nhãn phân loại ở mức thành phần của nó. Do đó, như một biện pháp thay thế xem một văn bản như một túi đặc tính, có nhiều nỗ lực đã được thực hiện để mô hình cấu trúc của văn bản theo phân tích về các đơn vị thành phần văn bản, và để chỉ ra tính hữu ích của mối quan hệ giữa các đơn vị này để có được nhãn phân loại tổng thể cho toàn bộ văn bản một cách chính xác hơn. Việc mô hình hóa các quan hệ giữa những đơn vị thành phần văn bản này cũng có thể dẫn tới việc gán nhãn phân loại từng thành phần tốt hơn. 2.4.2. Quan hệ giữa các thành phần thảo luận 15 Một điều thú vị trong phân tích ý kiến là khi các văn bản được phân tích tạo thành một phần của một một cuộc bàn luận, như trong trường hợp các lượt trong tranh luận chính trị, các bài viết trên diễn đàn tranh luận, hay các nhận xét trong mỗi bài viết của cá nhân. Việc sử dụng các quan hệ này có thể đặc biệt hữu ích vì rất nhiều văn bản trong các trường hợp chúng ta đã nói có thể rất phức tạp, và do đó rất khó phân loại, nhưng chúng ta có thể dễ dàng phân loại một văn bản phức tạp nếu chúng ta tìm được trong đó các từ chỉ báo về sự đồng tình với một văn bản chỉ rõ xu hướng tích cực hay tiêu cực. 2.4.3. Quan hệ giữa các đặc tính của sản phẩm Popescu và Etzioni xem việc gán nhãn các từ ý kiến liên quan đến đặc tính sản phẩm như một quá trình gán nhãn tập thể. Họ đưa ra một thuật giải lặp trong đó việc gán xu hướng cho mỗi từ riêng biệt được điều chỉnh tập thể thông qua một quá trình gán nhãn nới lỏng. Bắt đầu từ các nhãn từ “global” được tính toán trên một tập văn bản thể hiện xu hướng tình cảm cho mỗi từ cụ thể trong các trường hợp chung, Popescu và Etzioni dần dần định nghĩa lại nhãn từ một nhãn chung tới một nhãn riêng cho một văn bản đánh giá, rồi tới một nhãn riêng cho một đặc tính sản phẩm, và cuối cùng tới một nhãn riêng cho ngữ cảnh cụ thể mà từ đó xuất hiện. Họ đảm bảo xem xét các ràng buộc cụ bộ ở mức câu mà ý kiến được kết nối bởi các quan hệ từ như “nhưng”, “hoặc”, “và” để phân loại thành cùng loại hay loại đối ngược. Trên đây em đã trình này những kỹ thuật phân tích ý kiến, gồm cả có giám sát và không giám sát. Chương sau của luận văn sẽ tiến hành thử nghiệm một số ý tưởng từ các kỹ thuật này để xem xét tính hiệu quả của chúng. 16 Chƣơng 3 – THỬ NGHIỆM VÀ ĐÁNH GIÁ 3.1. Mô hình phân tích ý kiến lựa chọn 3.1.1. Mô hình thử nghiệm Hình 3. 1: Mô hình phân tích ý kiến Hình 3.1 mô tả quá trình phân tích ý kiến ở mức câu: - Bước 1: Tiến hành thu thập dữ liệu nhận xét của người dùng. - Bước 2: Phân loại nhận xét thành hai loại chủ quan, khách quan - Bước 3: Phân tích xu hướng ý kiến cho các câu ý kiến chủ quan đã được phân loại ở bước 2 là ý kiến tích cực hay tiêu cực. Luận văn sẽ tập trung kiểm nghiệm các phương pháp phân tích ý kiến có giám sát và cả không giám sát cho bước này. Cụ thể, hai thuật toán phân loại học máy Naïve Bayes và Support Vector Machine kết hợp với mô mình ngôn ngữ ngram đã được nói đến ở chương 2 sẽ được sử dụng, và phương pháp dựa trên bộ từ vựng. - Đối với phƣơng pháp học máy có giám sát, luận văn sử dụng WEKA làm thư viện để giải quyết việc phân loại nhị phân ý kiến tích cực/ tiêu cực. WEKA đã có tích hợp sẵn rất nhiều thuật toán phân loại như Naïve Bayes, cây quyết định, SVM…Tuy nhiên, ngoài thuật toán Naïve Bayes có sẵn, để hiệu quả hơn, luận văn tích hợp thêm thư viện 17 - libSVM vào WEKA để sử dụng cho thuật toán phân loại SVM, với hàm nhân lựa chọn là Radial Basic Function. Đối với phƣơng pháp dựa trên bộ từ vựng không giám sát, để xác định xu hướng ý kiến của mỗi câu, 3 nhiệm vụ nhỏ được thực hiện. Thứ nhất, một tập các tính từ (thường được dùng để thể hiện ý kiến, tình cảm) được xác định bằng cách sử dụng phương pháp xử lý ngôn ngữ tự nhiên. Những từ này sẽ được gọi là từ ý kiến. Thứ hai, với mỗi từ đó, ta xác định xu hướng ngữ nghĩa của nó, tích cực (thích) hay tiêu cực (không thích). Cuối cùng, dựa trên xu hướng ngữ nghĩa từng từ, xác định xu hướng ngữ nghĩa của cả câu. Chi tiết cụ thể các bước trong phương pháp này sẽ được trình bày ở phần 3.2. 3.1.2. Dữ liệu sử dụng Dữ liệu luận văn sử dụng là một tập các câu nhận xét thuộc nhiều chủ đề (sản phẩm, công nghệ, người nổi tiếng …) được thu thập trên các diễn đàn mạng và báo điện tử VnExpress, Vietnamnet, Dantri. Mỗi câu được đặt trong một file riêng và được gán nhãn phân loại là tích cực (pos) hoặc tiêu cực (neg). Tập dữ liệu sau quá trình gán nhãn như sau: - Tổng số: 2940 câu ý kiến - Tích cực (pos): 1684 câu - Tiêu cực (neg): 1256 câu 3.2. Các thủ tục phân tích ý kiến ở mức câu 3.2.1. Xây dựng bộ từ vựng Trong luận văn này, em sử dụng một phương pháp đơn giản bằng cách xây dựng thủ công bộ từ vựng chủ yếu là tính từ tiếng Việt để phán đoán xu hướng ngôn ngữ của các tính từ tách được từ ý kiến của người dùng. Các từ chỉ trạng thái mong muốn (như: đẹp, tuyệt vời, tốt…) có xu hướng tích cực, và các từ chỉ trạng thái không mong muốn (như xấu, thất vọng, dở…) có xu hướng tiêu cực. Bên cạnh đó, để phục vụ cho mục đích xử lý các câu có ý kiến nhận xét được thể hiện dưới dạng 18 phủ định của một từ tích cực như “không đẹp”, “chưa tốt”, em tạo thêm một bộ từ vựng chứa các từ phủ định này. Luận văn xây dựng và sử dụng một bộ từ vựng gồm: - Từ tích cực: 82 từ - Từ tiêu cực: 78 từ - Từ phủ định: 10 từ 3.2.2. Phân tích câu và tách các từ thể hiện ý kiến Để xác định được các tính từ mang ý kiến, chúng ta sẽ phải thực hiện việc gán nhãn từ loại cho từng câu ý kiến một. Luận văn sẽ sử dụng thư viện vnTokenizer kết hợp với bộ gán nhãn từ loại JvnTagger để thực hiện nhiệm vụ này. Sau đây là một ví dụ kết quả của việc gán nhãn từ loại. Với câu đầu vào „Máy ảnh chụp nét“. Câu được gán nhãn từ loại đầy đủ sẽ có dạng: “Máy_ảnh/N chụp/V nét/A./.”. Trong đó, N là danh từ, V là động từ, và A là tính từ. 3.2.3. Xác định xu hướng ngữ nghĩa cho từ trong câu Thủ tục này khá đơn giản, chúng ta chỉ tiến hành tìm và so sánh tính từ có được với hai bộ từ tích cực và tiêu cực, tính từ đó nằm trong bộ từ nào thì nó sẽ mang xu hướng ngữ nghĩa của bộ từ đó. Tuy nhiên, trong quá trình xác định xu hướng tình cảm của từ trong câu, chúng ta không đơn giản chỉ lấy xu hướng ngữ nghĩa của từ ý kiến trong tập các từ làm xu hướng của toàn bộ câu. Chúng ta còn xem xét có từ phủ định nào (như: không, chưa …) xuất hiện gần từ đó hay không. Nếu có thì xu hướng ý nghĩa của cả câu sẽ ngược lại. Gần ở đây có nghĩa là khoảng cách từ phủ định và từ ý kiến không được vượt quá một ngưỡng cho phép, luận văn đặt ngưỡng này là 4. 3.2.4. Xác định xu hướng ngữ nghĩa cho câu Nhìn chung, chúng ta sử dụng xu hướng của các từ ý kiến trong câu để xác định xu hướng của cả câu. Tức là, nếu ý kiến tích cực/ tiêu cực chiếm đa số thì toàn bộ câu sẽ mang ý nghĩa đó. Trong trường hợp số lượng từ mang ý kiến tích cực và tiêu
- Xem thêm -