Trên cơ sở tìm hiểu phƣơng pháp xây dựng SentiWordNet 1.0, SentiWordNet 3.0, SentiWordNet cho tiếng Ấn Độ; nguồn ngữ liệu và đặc trƣng ngữ liệu tiếng Việt, chúng tôi đề nghị một phƣơng pháp mở rộng từ điển VietSentiWordNet cho miền dữ liệu tin tức của nhóm tác giả Vũ Xuân Sơn và cộng sự [1].
Phƣơng pháp xây dựng từ điển SentiWordNet Ấn Độ có mô hình xây dựng ƣu việt, tích hợp đƣợc nhiều phƣơng pháp nhƣng có một số khó khăn khi áp dụng phƣơng pháp trên cho tiếng Việt:
- Bộ từ điển WordNet tiếng Việt: Theo Virach Sornlertlamvanich, 2010 [16], vào thời điểm 05/12/2010, VietWordNet chứa 4,960 từ, 12,270 nghĩa (synset) và 15,872 cặp từ - nghĩa, tuy nhiên, chúng tôi chƣa lấy đƣợc Từ điển VietWordNet nói trên từ trên trang Web của Asian WordNet (AWN). - Danh sách từ chủ quan: chƣa có bộ từ điển mang tính chủ quan (subjective
word list) tiếng Việt.
- Dựa vào người dùng Internet: Do thời gian thực hiện nghiên cứu hạn chế nên chúng tôi không phát triển các ứng dụng với mục đích lấy đánh giá ngƣời dùng về quan điểm các từ.
Công việc xây dựng SentiWordNet cần nhiều thời gian, chi phí và tài nguyên con ngƣời. Trong khuôn khổ khóa luận, chúng tôi lựa chọn sử dụng phƣơng pháp học A, sử dụng bộ phân lớp bán giám sát SVM do đặc điểm:
Các đối tƣợng từ khóa không cần xếp vào mục, phù hợp với cấu trúc của ngữ liệu từ điển tiếng Việt thuộc đề tài KC01.01/06-10 [3] do PGS TS. Lƣơng Chi Mai chủ trì.
SVMlight đạt đƣợc kết quả cao: Esuli và các cộng sự, 2006 [8] sử dụng 2 bộ phân lớp Rocchio và SVMlight cho việc phân lớp để xây dựng SentiWordNet 1.0. Esuli, 2008 [9] cũng đã so sánh mô hình học máy Naive Bayesian với mô hình học máy SVMs (SVMlight phiên bản 6.01 của Joachims) và thấy rằng mô hình học máy SVMs đạt đƣợc kết quả khả quan nhất .
17
Kết quả phân lớp của bộ từ HM
Bảng 5.
Phƣơng pháp Tập mồi Phƣơng pháp mở rộng Bán kính (K)
Độ chính xác (%)
SVM Kam Syn(J) AntI
(J) 8 87.38
PrTFIDF Kam Syn(J) AntD
(J) 4 84.73
NB Kam Syn(J) AntI
(J) 6 84.28
SVM Tur Syn(J) AntD
(J) 7 87.21
PrTFIDF Tur Syn(J) AntD(J) 4 85.40
NB Tur Syn(J) AntD(J) 5 84.73
Do đó, chúng tôi đề nghị mô hình mở rộng VietSentiWordNet cho miền tin tức nhƣ sau:
Đầu vào: VietSentiWordNet cho miền tin tức và tập từ quan điểm trích từ
từ điển tiếng Việt.
Đầu ra: VietSentiWordNet mở rộng Mô hình: gồm ba bƣớc:
o Bƣớc 1: Khởi tạo và mở rộng tập nguồn
o Bƣớc 2: Đào tạo các bộ phân lớp tích cực và tiêu cực.
o Bƣớc 3: Sử dụng các bộ phân lớp đã đào tạo để phân lớp và tính trọng số.
18
Hình 5. Mô hình phương pháp mở rộng VietSentiWordNet
3.1.2 Bước 1: Khởi tạo và mở rộng tập nguồn
Tập nguồn VietSentiWordNet cho miền dữ liệu tin tức Tiếng Việt có cấu trúc của SentiWordNet tiếng Anh, gồm 977 synsets, với 1179 từ, tập trung vào các synset cho miền dữ liệu tin tức Tiếng Việt.
VietSentiWordNet cho miền tin tức
Tập từ quan điểm Mở rộng tập mồi 𝑇𝑟𝑛𝐾 𝑇𝑟𝑝𝐾 𝑇𝑟𝑜𝐾 Bộ phân lớp tích cực 𝜑𝑝 Bộ phân lớp tiêu cực 𝜑𝑛 Đào tạo Tập từ quan điểm Phân lớp VietSentiWordN et mở rộng 𝑇𝑟𝑝 𝑇𝑟𝑜 𝑇𝑟𝑛
19
Hình 6. Mô hình bước 1: khởi tạo và mở rộng tập mồi
Do từ quan điểm chủ yếu là tính từ (87.7% số synset trong VietSentiWordNet cho miền dữ liệu tiếng Việt là tính từ) , do đó trong khuôn khổ khóa luận, chúng tôi lựa chọn từ từ điển tiếng Việt ra tất cả các tính từ, coi đó là tập từ quan điểm. Sau khi tách, tập các từ quan điểm có dạng: (tính từ, nghĩa, từ đồng nghĩa - nếu có ), thu đƣợc 9049 bộ.
Từ tập nguồn VietSentiWordNet cho miền tin tức, trích ra 2 tập con: chỉ chứa các từ có trọng số tích cực lớn hơn 0.4, chỉ chứa các từ có trọng số tiêu cực lớn hơn 0.4. Từ 2 tập con này, mở rộng dựa trên mối quan hệ đồng nghĩa – trái nghĩa trong tập từ quan điểm theo quy tắc sau:
1. Thêm vào (tƣơng tự với ) tất cả các synset có kết nối tới (tƣơng tự với ) dựa vào mối quan hệ đồng nghĩa.
2. Thêm vào (tƣơng tự với ) tất cả các synset có kết nối tới (tƣơng tự với ) dựa vào mối quan hệ trái nghĩa.
Tạo tập con từ tất cả các synset còn lại trong tập nguồn VietSentiWordNet và tập từ quan điểm cho miền dữ liệu tin tức tiếng Việt.
Kết thúc bƣớc này ta đƣợc ba tập mồi: chứa các từ tích cực, chứa các từ tiêu cực cùng với tập chứa các từ khách quan.
VietSentiWordNet cho miền tin tức
Tập từ quan điểm Mở rộng tập mồi 𝑇𝑟𝑛𝐾 𝑇𝑟𝑝𝐾 𝑇𝑟𝑜𝐾 𝑇𝑟𝑝 𝑇𝑟𝑛 𝑇𝑟𝑜 PosScore > 0.4 Từ điển Tiếng Việt Tính từ NegScore > 0.4
20
3.1.3 Bước 2: Đào tạo bộ phân lớp
Các tập mồi cuối cùng của bƣớc trên, và cùng với tập đƣợc sử dụng để đào tạo bộ phân lớp sử dụng phƣơng thức học A:
Hình 7. Mô hình bước 2: đào tạo các bộ phân lớp
Bộ phân lớp sử dụng các phƣơng pháp học máy bán giám sát SVM khởi tạo bằng bộ phân lớp nhị phân. 2 bộ phân lớp đƣợc tạo là và ; bộ phân lớp tích cực phải phân tách đƣợc các từ thuộc về mục tích cực và các từ thuộc về phần không tích cực, và, bộ phân lớp tiêu cực phải phân tách đƣợc các từ thuộc về mục tiêu cực và các từ thuộc về phần
không tiêu cực.
Các từ trong đƣợc gán nhãn tích cực, các từ trong đƣợc gán nhãn
tiêu cực. Các từ trong tập từ điển đƣợc bổ sung vào trong không có nhãn và là tập working set trong học bán giám sát. Các synset đƣợc gán vector đặc trƣng thông qua trọng số tf*idf của các từ có trong nghĩa của synset.
o Trọng số tf*idf của một từ i trong câu j đƣợc tính bằng công thức:
∑
Trong đó: : trọng số của từ i trong câu j, đƣợc tính bằng tần số xuất hiện của từ i chia cho tổng số từ của câu j.
: trọng số của từ i trong tập văn bản D đƣợc tính bằng logarit cơ số 2 của thƣơng số giữa tổng số văn bản trong D và số văn bản j trong D chứa từ i. 𝑇𝑟𝑛𝐾 𝑇𝑟𝑝𝐾 𝑇𝑟𝑜𝐾 Mô hình học bán giám sát SVM Bộ phân lớp tích cực 𝜑𝑝 Bộ phân lớp tiêu cực 𝜑𝑛
21
: trọng số tf*idf của từ i trong câu j đƣợc tính bằng tích của 2 trọng số trên. Các vector có dạng nhƣ sau: <dòng> .=. <nhãn> <đặc trưng>:<giá trị> <đặc trưng>:<giá trị> ... <nhãn> .=. 0 | <số thực> <đặc trưng> .=. <số nguyên> <giá trị> .=. <số thực> Ví dụ: -0.6875 11:0.13325065963791902 17:0.28934254434910833 98:0.3300827975648659 419:0.398451882121215 1380:0.6757228510188978 5167:1.142931553304319
Các ví dụ đƣợc vào đào tạo trong mô hình học bán giám sát SVMlight: các từ trong đƣợc dùng để đào tạo bộ phân lớp tích cực và các từ trong đƣợc dùng để đào tạo bộ phân lớp tiêu cực .
3.1.4 Bước 3: phân lớp tập từ quan điểm và tính trọng số
Tập từ quan điểm đƣợc đƣa qua bộ phân lớp tích cực và bộ phân lớp tiêu cực để phân lớp. Qua bộ phân lớp tích cực , thu đƣợc kết quả phân lớp tích cực hoặc
không tích cực. Qua bộ phân lớp tiêu cực , thu đƣợc kết quả phân lớp tiêu cực hoặc
không tiêu cực. Dựa vào kết quả này ta gán trọng số tích cực cho từng synset theo quy tắc sau:
Các synset đƣợc phân lớp tích cực thông qua bộ phân lớp tích cực và đƣợc phân lớp không tiêu cực thông qua bộ phân lớp tiêu cực sẽ đƣợc coi là tích cực.
Các synset đƣợc phân lớp không tích cực thông qua bộ phân lớp tích cực và đƣợc phân lớp tiêu cực thông qua bộ phân lớp tiêu cực sẽ đƣợc coi là tiêu cực.
Các synset đƣợc phân lớp tích cực thông qua bộ phân lớp tích cực và đƣợc phân lớp tiêu cực thông qua bộ phân lớp tiêu cực , hoặc, đƣợc phân lớp không tích cực thông qua bộ phân lớp tích cực , phân lớp
không tiêu cực thông qua bộ phân lớp tiêu cực sẽ đƣợc coi là khách quan.
22
Hình 8. Mô hình bước 3: phân lớp tập từ quan điểm
Để đạt kết quả chính xác cao hơn, quá trình đào tạo và phân lớp cần đƣợc làm nhiều lần. Sau quá trình phân lớp, các kết quả đúng đƣợc bổ sung vào tập mồi phục vụ cho việc đào tạo lại bộ phân lớp.
Tính lại trọng số cho từng synset: kết quả của bộ phân lớp trả về cho từng synset là một số thực. Với bộ phân lớp tích cực , nhãn có giá trị dƣơng thuộc về lớp tích cực, nhãn mang giá trị âm thuộc về lớp không tích cực. Với bộ phân lớp tiêu cực , nhãn mang giá trị dƣơng thuộc về lớp tiêu cực, nhãn có giá trị âm thuộc về lớp không tiêu cực. Mỗi synset qua 2 bộ phân lớp nhận đƣợc 2 giá trị thực { }. Các giá trị này đƣợc chuyển đổi về giá trị thực nằm trong khoảng [0,1] theo quy tắc:
Các giá trị dƣơng đƣợc chuyển đổi thuộc khoảng [0.4 , 1].
Các giá trị âm đƣợc chuyển đổi thuộc khoảng [0 , 0.4]. Bộ phân lớp tích cực 𝜑𝑝 Bộ phân lớp tiêu cực 𝜑𝑛 Tập từ quan điểm Tập nhãn tích cực Tập nhãn không tích cực Tập nhãn tiêu cực Tập nhãn không tiêu cực Tập tích cực Tập tiêu cực Tập khách quan
23
Nếu tổng giá trị sau khi đổi của 2 bộ phân lớp lớn hơn 1, giá trị mới đƣợc tính lại sao cho tỉ lệ thuận với giá trị cũ và có tổng = 1.
Các synset nhận giá trị PosScore ( NegScore) là kết quả của các bƣớc trên, đầu vào là giá trị của bộ phân lớp tích cực (tiêu cực).
3.2 Sử dụng VietSentiWordNet cho bài toán khai phá quan điểm khách hàng dựa trên đánh giá sản phẩm. hàng dựa trên đánh giá sản phẩm.
M.Hu và cộng sự, 2004 [10] đã đề xuất một công nghệ dựa trên khai phá các luật kết hợp để trích xuất đặc trƣng sản phẩm. Công nghệ này cũng giới thiệu ý tƣởng sử dụng từ quan điểm để tìm các đặc trƣng không thƣờng xuyên. Các tác giả sử dụng tập tính từ đồng nghĩa trong WordNet để dự đoán ngữ nghĩa của các tính từ, sau đó dựa vào số từ quan điểm tích cực(tiêu cực) nhiều hơn thì câu quan quan điểm mang hƣớng tích cực (tiêu cực).
Theo chúng tôi quan sát, đặc điểm dữ liệu tiếng Việt trong đánh giá của khách hàng về sản phẩm mang những đặc trƣng sau:
- Các đánh giá trong một mục sản phẩm chủ yếu tập trung đánh giá về sản phẩm đó.
- Số lƣợng đánh giá là ít nếu chia theo từng đặc trƣng riêng biệt. - Các đánh giá không chuẩn về cấu trúc câu.
Theo các đặc điểm trên, chúng tôi đề xuất mô hình khai phá quan điểm khách hàng dựa trên đánh giá sản phẩm nhƣ sau:
Mô hình gồm 4 bƣớc:
Bƣớc 1: Thu thập, tiền xử lý dữ liệu. Bƣớc 2: Trích xuất từ quan điểm.
Bƣớc 3: Xác định hƣớng quan điểm dựa vào từ điển VietSentiWordNet Bƣớc 4: Tổng hợp kết quả.
24
Hình 9. Mô hình đề xuất khai phá quan điểm khách hàng
Dữ liệu trên các website bán hàng trực tuyến Nhận xét của khách hàng Chuẩn hóa dữ liệu Tách từ, Gán nhãn Postag
Trích xuất từ quan điểm
Tập từ quan điểm
Xác định quan điểm hƣớng của
khách hàng với từng sản phẩm Bộ từ điển VietSentiWordNet
25
3.2.1 Bước 1: Thu thập, tiền xử lý dữ liệu.
Trong bƣớc này, miền dữ liệu của ứng dụng quan tâm sẽ đƣợc xác định trên trang web bán hàng trực tuyến. Sử dụng công cụ crawl dữ liệu trong một miền xác định, với những tùy chọn về độ sâu của quá trình.
Bước 1.1: Tách từ
Đối với tiếng Anh, các từ đƣợc phân cách bởi dấu cách hoặc các dấu câu khác. Tuy nhiên, một từ tiếng Việt có thể gồm nhiều hơn một âm tiết. Do đó việc tách từ dựa vào dấu cách hoặc dấu câu khác có thể gây ra nhiều sai sót.
Ví dụ:
Câu = “Cảm ứng tệ lắm”
Sau công đoạn tách từ, ta đƣợc kết quả nhƣ sau:
Cảm_ứng tệ lắm . Bước 1.2: Gán nhãn từ loại
Dữ liệu sau khi đƣợc tách từ, sẽ đƣợc tiến hành gán nhãn từ loại nhằm phục vụ cho bƣớc trích xuất ra các cụm từ quan điểm.
Ví dụ về kết quả thu đƣợc sau khi dữ liệu đƣợc gán dữ liệu trong câu trên:
Cảm_ứng/N tệ/A lắm/T ./.
3.2.2 Bước 2: Trích xuất từ quan điểm.
Từ quan điểm trong câu là các tính từ. Theo cấu trúc câu tiếng Việt, các từ chỉ mức độ và từ phủ định nằm trong cụm tính từ chứa từ quan điểm [2].
a) Trích xuất từ quan điểm trong câu khẳng định:
Câu khẳng định là dạng câu xuất hiện nhiều nhất trong các đánh giá của khách hàng.
Ví dụ:
“Máy này dùng rất tốt”
Trong ví dụ này, khách hàng thể hiện quan điểm tích cực về chiếc điện thoại. Kết cấu của cụm tính từ trong câu khẳng định thƣờng có dạng:
Từ chỉ mức độ + tính từ.
Dựa vào đặc điểm này, chúng tôi trích ra đƣợc từ quan điểm và từ chỉ mức độ. Các từ chỉ mức độ thƣờng xuất hiện: rất, khá, cực..
b) Trích xuất từ quan điểm trong phủ định:
Câu phủ định cũng là một dạng câu hay xuất hiện trong đánh giá. Trong câu có từ phủ định nhƣ không, không thể, không có, chẳng, đâu có, khỏi…
26 Ví dụ: pin dùng không được lâu
Trong ví dụ này, khách hàng đƣa ra phàn nàn tiêu cực về dung lƣợng pin. Kết cấu của cụm tính từ trong câu phủ định thƣờng là:
Từ phủ định + (từ chỉ mức độ) + tính từ.
Dựa vào đặc điểm này, chúng tôi trích ra đƣợc từ quan điểm, từ phủ định và từ chỉ mức độ đi kèm.
c) Trích xuất từ quan điểm trong câu nghi vấn:
Câu nghi vấn là dạng câu ít gặp trong đánh giá, đƣợc ngƣời dùng đƣa ra để xin lời khuyên. Đồng thời, câu nghi vấn thƣờng không đƣa ra ý kiến/ quan điểm. Do đó chúng tôi bỏ qua câu nghi vấn trong quá trình thực hiện.
3.2.3 Bước 3: Xác định hướng quan điểm của khác hàng trên từng sản phẩm dựa vào từ điển VietSentiWordNet
Sau bƣớc thứ 2, với mỗi một câu chứa quan điểm ta sẽ thu đƣợc một bộ quan điểm ( từ phủ định (nếu có) fp , từ quan điểm s, từ chỉ mức độ (nếu có) fs)
Ví dụ: pin hơi yếu
Thu đƣợc bộ (hơi , yếu)
Các bƣớc xác định hƣớng quan điểm mà chúng tôi thực hiện nhƣ sau:
Bước 3.1: tính trọng số quan điểm ts trên mỗi bộ quan điểm:
Trọng số của một bộ từ quan điểm sẽ đƣợc tính bằng công thức
Trong đó: ts: trọng số của bộ từ quan điểm
fp: trọng số từ phủ định
fs: trọng số từ chỉ mức độ.
Bước 3.2: xác định quan điểm định hướng
Chúng tôi tập trung xác định ba hƣớng quan điểm: tích cực, tiêu cực, trung lập. Với mức câu, trọng số của câu đƣợc tính bằng công thức:
27 Trong đó : trọng số mức câu.
: trọng số bộ quan điểm thứ i trong câu.
Với mức đoạn đánh giá, trọng số đoạn đánh giá đƣợc tính bằng công thức
∑
Trong đó trọng số mức đoạn.
Các trọng số đƣợc đáng giá là tiêu cực, tích cực, trung lập nhƣ sau: - Trọng số lớn hơn 0 đƣợc đánh giá là tích cực.
- Trọng số nhỏ hơn 0 đƣợc đánh giá là tiêu cực. - Trọng số bằng 0 đƣợc đánh giá là trung lập.
3.2.4 Bước 4: Tổng hợp kết quả.
Dựa trên số đoạn đánh giá tích cực – tiêu cực trên từng sản phẩm, chúng tôi thu đƣợc số đánh giá tích cực trên tổng số đánh giá và số đánh giá tiêu cực trên tổng số đánh giá.
Các kết quả này đƣợc biểu diễn lại dƣới dạng biểu đồ trực quan cho từng sản phẩm.
3.3 Tóm tắt chương 3
Khóa luận đã trình bày về mô hình xây dựng VietSentiWordNet và áp dụng kết quả vào bài toán khai phá quan điểm dựa trên đánh giá của khách hàng. Chƣơng tiếp theo, chúng tôi trình bày kết quả và những vẫn đề liên quan khi thử nghiệm mô hình này.
28
Thực nghiệm Chương 4:
4.1 Môi trường và công cụ sử dụng cho thực nghiệm 4.1.1 Cấu hình máy thực nghiệm
Chip: Intel(R) Core I5(R) @ 2.53GHz Ram: 3.00 GB
Hệ điều hành: Microsoft Windows 7