ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
--------
Kiều Thanh Bình
TỰ ĐỘNG ĐÁNH GIÁ
QUAN ĐIỂM NGƯỜI DÙNG
KHÓA LUẬN TỐT NGHIỆP HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
Hà Nội – 2010
ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
--------
Kiều Thanh Bình
TỰ ĐỘNG ĐÁNH GIÁ
QUAN ĐIỂM NGƯỜI DÙNG
KHÓA LUẬN TỐT NGHIỆP HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
GV hướng dẫn: TS. Phạm Bảo Sơn
Hà Nội – 2010
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Lời mở đầu
Với sự bùng nổ của nguồn dữ liệu trên Internet, những bài toán về xử lý thông tin
như: trích chọn thông tin, tóm tắt nội dung văn bản v.v… ra đời như một nhu cầu tất
yếu. Thông tin trên mạng thường gồm 2 loại: sự việc và quan điểm. Ngược với loại
quan điểm, thông tin về sự việc được rất nhiều công cụ giải quyết như máy tìm kiếm,
lọc thông tin, … Với thông tin loại quan điểm thì khó và ít hướng tới hơn tuy nhiên xét
về mức độ quan trọng thì thông tin loại này cần thiết hơn, nhất là với những công ty
buôn bán sản phẩm. Đối với họ, ý kiến đánh giá về sản phẩm mà người dùng đưa ra là
quan trọng nhất trong việc điều chỉnh và đưa ra những chiến lược buôn bán hiệu quả. Ra
đời như một thiết yếu, hệ thống đánh giá quan điểm người dùng đã được nghiên cứu
mạnh mẽ trong mấy năm gần đây và cũng đưa ra được nhiều kết quả đáng mong đợi.
--------...................................................................................................................................................................1
..........................................................................................................................................................................................1
Kiều Thanh Bình............................................................................................................................................................1
TỰ ĐỘNG ĐÁNH GIÁ ................................................................................................................................................1
QUAN ĐIỂM NGƯỜI DÙNG......................................................................................................................................1
KHÓA LUẬN TỐT NGHIỆP HỆ CHÍNH QUY......................................................................................................1
Ngành: Công Nghệ Thông Tin.........................................................................................1
GV hướng dẫn: TS. Phạm Bảo Sơn................................................................................................................1
Hà Nội – 2010..................................................................................................................................................................1
Lời mở đầu.......................................................................................................................................................................i
Lời mở đầu.......................................................................................................................................................................i
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình..........................................................................................i
iii
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Với sự bùng nổ của nguồn dữ liệu trên Internet, những bài toán về xử lý thông tin như: trích chọn thông tin,
tóm tắt nội dung văn bản v.v… ra đời như một nhu cầu tất yếu. Thông tin trên mạng thường gồm 2 loại: sự
việc và quan điểm. Ngược với loại quan điểm, thông tin về sự việc được rất nhiều công cụ giải quyết như
máy tìm kiếm, lọc thông tin, … Với thông tin loại quan điểm thì khó và ít hướng tới hơn tuy nhiên xét về
mức độ quan trọng thì thông tin loại này cần thiết hơn, nhất là với những công ty buôn bán sản phẩm. Đối
với họ, ý kiến đánh giá về sản phẩm mà người dùng đưa ra là quan trọng nhất trong việc điều chỉnh và đưa
ra những chiến lược buôn bán hiệu quả. Ra đời như một thiết yếu, hệ thống đánh giá quan điểm người
dùng đã được nghiên cứu mạnh mẽ trong mấy năm gần đây và cũng đưa ra được nhiều kết quả đáng mong
đợi. Trong đó có phương pháp đưa ra được kết quả khá khả quan như phương pháp sử dụng kết hợp phân
lớp dựa trên luật, học giám sát và học máy.................................................................................................................i
lii........................................................................................................................................................................................i
Lời cảm ơn......................................................................................................................................................................ii
Lời cảm ơn......................................................................................................................................................................ii
Trước tiên, em xin gửi lời cảm ơn sâu sắc nhất đến thầy Phạm Bảo Sơn, người đã không quản vất vả hướng
dẫn em trong suốt thời gian làm khóa luận tốt nghiệp vừa qua. Em cũng chân thành cảm ơn mọi người ở
phòng HMI lab đặc biệt là anh Nguyễn Bá Đạt đã luôn chỉ bảo mỗi khi em có những vấn đề vướng mắc......ii
Giới thiệu.........................................................................................................................................................................1
Chương 1
Giới thiệu.........................................................................................................................................................................1
Chương 1. Giới thiệu bài toán đánh giá quan điểm Kiều Thanh Bình...................................................................1
Hiện nay nền công nghệ càng ngày càng phát triển, đặc biệt với sự ra đời của Web, lượng thông tin trên
Web là một kho tàng đồ sộ và nhiệm vụ của chúng ta là làm thế nào để khai thác kho tàng to lớn đó. Chính
vì nó quá khổng lồ cho nên lượng thông tin rác cũng rất nhiều, vậy làm thế nào để biết được cái gì là cần
thiết và cái gì là dư thừa. Các chuyên ngành như Web mining, NLP (Nature Language Processing), hay
Machine Learning đều đi tìm câu trả lời cho câu hỏi đó tuy nhiên chúng cũng chỉ tìm được câu trả lời cho
những phần nhỏ của câu hỏi mà thôi. Mỗi người quan tâm một số lĩnh vực, mỗi người cần biết thông tin về
một vài thứ mà trên Web thì bao gồm vô vàn thông tin thế nhưng lĩnh vực mà đa số người đều quan tâm, từ
những nhà doanh nghiệp đến khách hàng - những người dùng đều quan tâm đó chính là sản phẩm. Người
dùng thì quan tâm sản phẩm này có tốt không, sản phẩm kia tốt ở chỗ nào và chỗ nào không tốt. Còn doanh
nghiệp thì lại thường quan tâm đến sản phẩm của họ được mọi người tiếp đón thế nào, những điểm nào
chưa tốt để họ bổ sung sửa chữa, hay phát huy thêm những điểm người dùng quan tâm … Câu trả lời cho
những câu hỏi này nằm trong nghiên cứu về “Opinion Mining” hay còn gọi “phân tích quan điểm người
dùng”. Nghiên cứu này của chúng tôi xuất phát từ sự cần thiết của doanh nghiệp và người dùng, sử dụng
những công cụ có ích nhất để đánh giá một cách chính xác nhất về sản phẩm. Với mỗi sản phẩm sẽ có
những điểm tính năng riêng (Features) và nhiệm vụ của chúng tôi là từ những review, comment, Feedback,
… trên nguồn dữ liệu khổng lồ Web để đánh giá xem tính năng của sản phẩm này được mọi người tiếp đón
thế nào. ...........................................................................................................................................................................1
v
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Hệ thống của chúng tôi sử dụng dữ liệu từ trên trang Web http//tinvadung.vn làm dữ liệu chuẩn để phát
triển và kiểm thử hệ thống. Chúng tôi giải quyết bài toán dựa trên hướng tiếp cận về luật và phân lớp ở
mức câu. Ở đây chúng tôi tạm thời chia thành 2 loại đánh giá của người dùng là hướng tích cực (positive) và
hướng tiêu cực (negative). Hệ thống của chúng tôi được xây dựng trên nền GATE [3] – là một framework
giúp phát triển các thành phần xử lý ngôn ngữ tự nhiên, và được sử dụng với dữ liệu về máy tính (laptop &
desktop). Trong tương lai chúng tôi sẽ phát triển hệ thống để đưa ra một thước đo chính xác hơn về những
đánh giá và mở rộng thêm với các lĩnh vực khác......................................................................................................1
quan điểm trong bài viết phức tạp… Một số phương pháp đã được đề xuất để giải quyết những vấn đề trên,
tuy nhiên trong tương lai sẽ có nhiều nghiên cứu hơn nữa nhằm giải quyết triệt để những thách thức đó......3
2.1 Xu hướng các cuộc nghiên cứu gần đây.....................................................................................................3
2.1 Xu hướng các cuộc nghiên cứu gần đây.....................................................................................................3
Từ cách đây một vài năm, việc đánh giá quan điểm đã trở thành chủ đề nóng giữa các nhà nghiên cứu xử lý
ngôn ngữ tự nhiên và trích chọn thông tin. Nhiều nỗ lực lớn dành cho việc nghiên cứu ở mảng này, có khá
nhiều các bài báo được xuất bản và những ứng dụng khác nhau có sử dụng hệ thống đánh giá quan điểm
được phát triển và đưa vào trong hoạt động thương mại. Mặc dù các ứng dụng dựa trên hệ thống đánh giá
quan điểm có mục đích, vấn đề trọng tâm, điểm nổi bật khác nhau; tuy nhiên chúng thường được chia
thành 3 phần chính: xác định từ, cụm từ chỉ quan điểm; xác định xu hướng quan điểm và phân loại câu hay
văn bản chỉ quan điểm. Ba thành phần cơ bản này cũng là 3 thành phần cơ bản xây dựng trên hệ thống của
chúng tôi..........................................................................................................................................................................3
14......................................................................................................................................................................................3
2.1.1 Xác định từ, cụm từ quan điểm........................................................................................................4
Những từ, cụm từ chỉ quan điểm là những từ ngữ được sử dụng để diễn tả cảm xúc, ý kiến người viết;
những quan điểm chủ quan đó dựa trên những vấn đề mà anh ta hay cô ta đang tranh luận. Việc rút ra
những từ, cụm từ chỉ quan điểm là giai đoạn đầu tiên trong hệ thống đánh giá quan điểm, vì những từ, cụm
từ này là những chìa khóa cho công việc nhận biết và phân loại tài liệu sau đó...................................................4
Ứng dụng dựa trên hệ thống đánh giá quan điểm hiện nay tập trung vào các từ chỉ nội dung câu: danh từ,
động từ, tính từ và phó từ. Phần lớn công việc sử dụng từ loại để rút chúng ra (Hu và Liu, 2004a [12];
Turney, 2002 [22]). Việc gán nhãn từ loại cũng được sử dụng trong công việc này, điều này có thể giúp cho
việc nhận biết xu hướng quan điểm trong giai đoạn tiếp theo. Những kĩ thuật phân tích ngôn ngữ tự nhiên
khác như xóa stopwords, stemming cũng được sử dụng trong giai đoạn tiền xử lý để rút ra từ, cụm từ chỉ
quan điểm........................................................................................................................................................................4
2.1.2 Xác định chiều hướng từ, cụm từ quan điểm...................................................................................4
Trong phân tích quan điểm, xu hướng của những từ, cụm từ trực tiếp thể hiện quan điểm, cảm xúc của
người viết bài. Phương pháp chính để nhận biết xu hướng quan điểm của những từ, cụm từ chỉ cảm nghĩ là
dựa trên thống kê hoặc dựa trên từ vựng. Hệ thống của chúng tôi dùng luật để xác định chiều hướng và từ
quan điểm cũng chính là phương pháp dựa trên từ vựng........................................................................................4
Những hệ thống hiện tại dùng để nhận biết những từ chỉ quan điểm hay xu hướng quan điểm tập trung chủ
tất cả các cách kết hợp tính từ từ tập corpus với mối liên hệ hình thái học phù hợp. Sau đó họ sử dụng mô
hình lặp tuyến tính hóa (log-linear) và kết hợp thông tin từ những cách liên kết khác nhau để xác định liệu
hai tính từ được kết hợp có cùng hướng quan điểm hay không. Các tính từ được mô tả trên một đồ thị với
giả thuyết có mối liên hệ cùng hay không cùng hướng quan điểm và sau đó được phân ra thành 2 nhóm
định hướng nhỏ khác nhau bằng cách sử dụng thuật toán phân cụm (clustering). Cuối cùng họ so sánh tần
số xuất hiện trung bình của mỗi nhóm tính từ và gán nhãn là nhóm có tần số xuất hiện cao hơn.....................6
Turney (2002) [22] sử dụng thông tin chung giữa 2 từ để phân loại định hướng của các tính từ hay phó từ.
Trước khi phân loại quan điểm từ, họ sử dụng POS tagging để rút ra các tính từ và phó từ dựa trên phương
pháp tiếp cận của Brill (1994) [1]. Thông tin tương hỗ (PMI) (Church and Hanks, 1989 [4]; Turney, 2001
[21]) là một thước đo mức độ liên hệ về quan điểm giữa 2 từ được sử dụng. Định hướng quan điểm của một
từ hay cụm từ sau đó được tính toán theo PMI(x,“excellent”) và PMI(x,“poor”); sau đó từ hay cụm từ đó
được phân loại là “positive” nếu nó có độ liên hệ mạnh với “excellent” và “negative” trong trường hợp còn
lại. Họ lựa chọn các từ “excellent” và “poor” bởi vì hai từ này được dùng thông dụng để diễn tả các quan
điểm cuối cùng của các bài phê bình...........................................................................................................................6
viii
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Trong hệ thống của chúng tôi, tính từ và phó từ là hai từ loại rất hay được sử dụng trong luật để nhận dạng
từ quan điểm. Những từ quan điểm thường tập trung chủ yếu vào hai loại từ này vì vậy càng nhận dạng
chính xác được nhiều hai loại từ này hệ thống càng có độ chính xác cao..............................................................6
Các tính từ và phó từ đóng một vai trò quan trọng trong việc phân tích quan điểm và là các loại từ có lợi thế
trong việc nhận biết định hướng và rút ra các từ chỉ quan điểm trong các nghiên cứu hiện nay. Tuy nhiên,
các loại từ khác, ví dụ như động từ cũng được sử dụng để diễn tả cảm xúc hay ý kiến trong các bài viết.......6
Nasukawa và Yi (2003) [15] xem xét rằng bên cạnh các tính từ và phó từ, thì các động từ cũng có thể diễn tả
quan điểm trong hệ thống đánh giá quan điểm của họ. Họ phân loại các động từ có liên quan đến quan điểm
thành 2 loại. Loại thứ nhất trực tiếp thể hiện quan điểm tích cực hay tiêu cực, theo lý giải của họ thì “beat”
trong “X beats Y”. Loại thứ hai không thể hiện quan điểm trực tiếp nhưng dẫn đến những quan điểm ,
giống như “is” trong “X is good”.................................................................................................................................7
Họ sử dụng POS tagger dựa trên mô hình Markov (HMM) (Manning and Schutze, 1999 [14]) và phân tích
cú pháp nông dựa trên luật (Neff et al., 2003) [16] cho bước tiền xử lý. Sau đó họ phân tích tính phụ thuộc
về mặt cú pháp giữa các cụm từ và tìm kiếm các cụm từ có một từ chỉ quan điểm mà nó bổ nghĩa hoặc được
ngoại trừ việc họ phân loại theo toàn bộ tài liệu thay cho từng câu........................................................................8
Trái lại phương pháp tiếp cận của Turney (2002) [22], Pang (2002) [17] sử dụng học máy có giám sát để
phân loại những nhận xét về phim ảnh. Không cần phải phân lớp các từ hay cụm từ chỉ quan điểm, họ rút
ra những đặc điểm khác nhau của các quan điểm và sử dụng thuật toán Naïve Bayes (NB), Maximum
Entropy (ME) và Support Vector Machine (SVM) để phân lớp quan điểm. Phương pháp này đạt độ chính
xác từ 78,7% đến 82,9%................................................................................................................................................8
Hệ thống của chúng tôi với mục đích dựa trên nhận dạng từ quan điểm để phân loại câu tuy nhiên khác với
những câu thông thường. Chúng tôi còn tiến hành tách các câu ghép phức tạp thành các câu đơn đơn giản
phục vụ cho việc đánh giá Feature của chúng tôi......................................................................................................8
2.2 Những thách thức và công việc có thể trong tương lai................................................................................9
2.2 Những thách thức và công việc có thể trong tương lai................................................................................9
Những vấn đề thách thức chính trong đánh giá quan điểm còn tồn tại trong việc sử dụng các từ loại, việc
xây dựng các từ ngữ chỉ quan điểm, sự nhập nhằng trong câu phủ định, mức độ của tình cảm (như excellent
thì hơn good), các câu / văn bản phức tạp, từ ngữ trong văn cảnh khác nhau,… Một vài hướng tiếp cận đã
được đưa ra để giải quyết những vấn đề này và trong tương lai sẽ có nhiều hướng nghiên cứu giải quyết
triệt để từng thách thức này.........................................................................................................................................9
2.2.1 Các loại từ khác................................................................................................................................9
Cho tới nay, phần lớn các công việc đã đạt được trong phân tích quan điểm tập trung vào các từ loại : danh
từ, động từ, tính từ và phó từ, đặc biệt là 2 loại từ cuối cùng. Tuy nhiên các loại từ khác cũng có thể mang
lại tính hiệu quả trong việc phân loại quan điểm. Ví dụ, các liên từ như “nhưng” nối 2 phần của một câu
với nhau nhưng lại nhằm nhấn mạnh phần đằng sau chữ “nhưng”: “bộ phim hay nhưng khó hiểu” có thể
được phân loại là ý kiến trung lập, nếu chúng ta tính đơn giản giá trị các từ chỉ quan điểm tích cực “hay” và
chỉ quan điểm tiêu cực “ khó”; có lẽ câu đó được phân loại là quan điểm tích cực nếu chúng ta nhìn vào từ
chỉ quan điểm “tốt” gần nhất với từ đặc trưng “bộ phim” như trong Hu và Liu (2004a) [12]. Tuy nhiên, nếu
chúng ta sử dụng liên từ “nhưng” và cho một trọng lượng cao hơn của phần câu sau chữ “nhưng” , trong
trường hợp này “khó”, thì câu đó lại được phân loại đúng là quan điểm tiêu cực. Ngoài từ “nhưng” các từ
khác cũng tương tự như vậy: “mặc dù”, ”tuy thế mà” và “vẫn”... cũng có thể được sử dụng trong phân loại
câu chỉ quan điểm..........................................................................................................................................................9
Vì công việc này khi áp dụng vào tiếng Việt lại không tạo ra được kết quả khả thi hơn nếu như không nói
làm cho việc viết luật trở lên phức tạp hơn. Chính vì vậy mà ở hệ thống của chúng tôi không áp dụng đối
không hẳn là phủ định đối với các từ hay cụm từ. Ví dụ, “muộn” là negative, nhưng thêm một chữ “không”
vào trước không làm cho “không muộn” là positive vì “không muộn” không bằng với “sớm” là từ trái nghĩa
với “muộn”. Vấn đề này cũng vì một thực tế rằng nhiều cách tiếp cận sử dụng 2 tiêu chuẩn: positive và
negative (đôi khi là 3 tiêu chuẩn bao gồm cả sự trung lập) để diễn tả xu hướng quan điểm trong khi các từ /
cụm từ có thể có các cấp độ tính đối lập có các cấp độ tính đối lập mà chúng ta sẽ bàn luận ở mục sau 2.2.4.
........................................................................................................................................................................................10
Trong hệ thống của chúng tôi cũng xét đến những loại từ này tuy nhiên cũng chỉ xét trong phạm vi khi có 2
loại quan điểm là positive và negative. Do đó mà khi xuất hiện những từ phủ định hay còn gọi là từ làm thay
đổi quan điểm thì chúng tôi thay đổi lớp cho những từ như vậy..........................................................................11
2.2.4 Cấp độ quan điểm..........................................................................................................................11
Như trong Esuli và Sebastiani (2006) [9], một vài nhiệm vụ liên quan đến cấp độ quan điểm trong hệ thống
đánh giá quan điểm. Nhiệm vụ thứ nhất được gọi là SO-polarity, nhằm xác định ý kiến mang tính khách
xi
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
quan hay chủ quan (Pang và Lee, 2004 [18]; Yu và Hatzivassiloglou, 2003 [26]). Nhiệm vụ thứ hai được gọi
là PN-polarity, nhằm xác định ý kiến là tích cực hay tiêu cực; được diễn tả trong nhiều cách tiếp cận hiện
nay (Hatzivassiloglou và McKeown, 1997 [11]; Hu và Liu, 2004a [12]; Pang, 2002 [17]; Pang và Lee, 2004
[18]; Turney và Littman, 2003 [24]; Turney và Littman, 2002 [23]). Tuy nhiên việc phân lớp xu hướng quan
điểm chỉ theo positive và negative cũng nảy sinh một vài vấn đề, mức độ mạnh yếu, tính đối lập cũng cần
được phân tích kỹ lưỡng. ...........................................................................................................................................11
Bổ sung thêm việc phân lớp các từ thành các mức độ xu hướng quan điểm khác nhau như đã được nhắc
đến ở trên, một số từ bổ nghĩa (đặc biệt các phó từ như “rất”,”một chút”,”hết sức”,”hơi”…) cũng có thể
được dùng để xác định mức độ xu hướng quan điểm của câu. Cụm từ “rất hài lòng” và “ hơi hài lòng” sẽ
được phân lớp thành rất tích cực và kém tích cực là thích hợp nếu “rất” và “hơi” được phân tích và sử
dụng để xác định mức độ đối lập...............................................................................................................................11
Cấp độ quan điểm này làm cho việc xét mức độ đánh giá quan điểm được chính xác hơn tuy nhiên trong hệ
thống của chúng tôi bước đầu chỉ sử dụng 2 loại quan điểm là positive và negative do vậy việc xét cấp độ
quan điểm của chúng tôi chỉ dừng lại ở 2 lớp này và không đi sâu hơn. Trong tương lai chúng tôi sẽ phát
triển hệ thống để có được thước đo sát với mức độ đánh giá hơn........................................................................11
2.2.5 Sự phức tạp của câu / tài liệu.........................................................................................................12
Trường hợp tệ nhất vẫn có thể xảy ra khi cùng các từ trong các ngữ cảnh khác nhau có cùng POS tag và
cùng nghĩa nhưng lại có xu hướng quan điểm khác nhau. Ví dụ, “old” trong “the man is old” là từ mang
tính trung lập, trái lại trong “the technique is old” thể hiện quan điểm tiêu cực. Trong trường hợp này,
không may là cả POS tagging và việc nhận biết rõ nghĩa của từ cũng không thể giải quyết. Cần nhiều thuật
toán và kĩ thuật hơn nữa được phát triển để có thể xử lí vấn đề này. .................................................................13
Trong phương pháp xây dựng hệ thống đánh giá quan điểm dựa trên luật chúng tôi cũng sử dụng khá nhiều
luật để mô tả cho từng ngữ cảnh. Ví dụ như khi nói đến giá cả thì từ “cao” mang nghĩa negative còn khi nói
đến hệ thống từ “cao” lại thể hiện ý positive. Trong nhiều ngữ cảnh hệ thống luật của chúng tôi chạy cũng
khá hiệu quả.................................................................................................................................................................13
2.2.7 Tài liệu không đồng nhất...............................................................................................................13
Các loại tài liệu khác nhau, hoặc thậm chí cùng một loại nhưng nói về các lĩnh vực khác nhau có mức độ
khó khác nhau trong việc phân loại quan điểm. Theo như kết quả được nói đến trong Turney (2002) [22], độ
chính xác của việc phân lớp là khác nhau tùy theo quan điểm trong những lĩnh vực khác nhau, việc phân
lớp đánh giá về xe ô tô và ngân hàng có độ chính xác cao hơn (tương ứng 84% và 80%), trái lại các quan
điểm về điện ảnh và các điểm du lịch có độ chính xác thấp hơn (tương ứng 65,83% và 70,53%). Điều này
cũng vì mức độ phức tạp khác nhau của câu (tài liệu) ứng với các lĩnh vực đề cập khác nhau trong những
tài liệu đã được nói đến ở mục 2.2.5. Trong những nghiên cứu sau này, kĩ thuật phân tích ngôn ngữ tự nhiên
có thể được phát triển nhằm mục đích xác định lĩnh vực của tài liệu, những người nghiên cứu về phân lớp
quan điểm có thể sẽ nâng cao hơn độ chính xác đối với từng lĩnh vực này.........................................................13
Hệ thống của chúng tôi hiện đang chú trọng vào đánh giá quan điểm người dùng cho máy tính (laptop &
desktop). Trong tương lai chúng tôi sẽ mở rộng thêm về ô tô & xe máy và điện thoại di động là những chủ
đề nóng hiện nay. ........................................................................................................................................................14
2.2.8 Một số vấn đề khác........................................................................................................................14
Bên cạnh những vấn đề đã nói trong mục trước (2.2.1 đến 2.2.7), còn có không ít vấn đề thách thức khác
như việc giải quyết các trích dẫn … vẫn chưa được xử lí trong đánh giá quan điểm. Việc nghiên cứu trong
tương lai cũng cần lưu tâm đến các vấn đề này để nâng cao độ chính xác..........................................................14
Chương 3
Giới thiệu GATE..........................................................................................................................................................15
xiii
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
xiv
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Tầng xử lý (Processing Layer): Gồm các thành phần xử lý khác nhau như: tách từ (word segmentation), gán
nhãn từ loại (POS tag), nhận dạng từ quan điểm,…...............................................................................................17
Tầng nguồn ngôn ngữ (Language Resource Layer): gồm nhiều tập dữ liệu khác nhau như: tập từ điển
(gazetteers), tập từ vựng (lexicon) v.v…...................................................................................................................18
Tầng lưu trữ (DataStore Layer): tầng này lưu trữ dữ liệu ở các dạng khác nhau.............................................18
Về cơ bản có thể nói GATE chạy khá tốt trong công việc xử lý ngôn ngữ tự nhiên tuy nhiên trong khi vận
hành vẫn còn một vài hạn chế nhỏ về giao diện chưa ổn định hay quản lý lưu trữ chưa tốt… .......................18
3.1.2 Những khái niệm cơ bản trong GATE...........................................................................................18
Một số khái niệm cơ bản được dùng trong GATE:.................................................................................................18
Tập dữ liệu (corpus): là một tập gồm một hay nhiều văn bản (Documents).......................................................18
Văn bản (Document): là một tập gồm nội dung văn bản, tập nhãn (Annotation Set)........................................18
Tập nhãn (Annotation Set): là một tập hợp nhiều nhãn (Annotations)................................................................18
Nhãn (Annotation): là một tập các cấu trúc gồm có khóa (Id), vị trí đầu (startNode) vị trí cuối (endNode)
nhằm xác định vị trí của nhãn trong văn bản, kiểu (Type) và tập các đặc trưng (FeatureMap)......................18
Tập đặc trưng (FeatureMap): là kiểu tập hợp (trong java nó có kiểu Map) của các đặc trưng.......................18
Đặc trưng (Features): là một tập gồm tên (kiểu String) và giá trị (kiểu Object). ..............................................18
3.2 Xây dựng plugin trên GATE......................................................................................................................18
3.2 Xây dựng plugin trên GATE......................................................................................................................18
Một thành phần tích hợp (Plugin) có thể gồm ba loại: thành phần ngôn ngữ (Language Resources), thành
phần xử lý (processing Resource), và thành phần thể hiện (Visual Resource). Ví dụ: Hệ thống đánh giá quan
điểm người dùng của chúng tôi gồm các thành phần:............................................................................................18
Bộ từ điển – Coltech.Opinion.ListOpinion...............................................................................................................18
Bộ luật – Coltech.Opinion.Rule..................................................................................................................................19
Việc tạo ra một thành phần xử lý rất đơn giản, được thực hiện qua các bước:..................................................19
Tạo lớp Plugin (tên thành phần xử lý) kế thừa (extends) từ lớp AbstractProcessingResource và thể hiện
(implements) lớp ProcessingResource.......................................................................................................................19
Tạo file creole.xml khai báo thành phần xử lý mới. Ví dụ về Coltech.Opinion.Rule :.......................................19
<?xml version="1.0"?>...............................................................................................................................................19
Trong GATE khi nói đến thành phần quan trọng phải kể đến bộ từ điển (Gazetteers) và bộ luật (Rule) – 2
thành phần làm lên sự khác biệt của GATE............................................................................................................21
3.3.1 Bộ từ điển (Gazetteers)..................................................................................................................21
Bộ từ điển (gazetteers) gồm một tập hợp các từ điển nhỏ chứa các từ được định nghĩa theo một tiêu chí nào
đó....................................................................................................................................................................................21
Ví dụ: ............................................................................................................................................................................21
xvi
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Theo tiêu chí loại tên riêng ta có thể có các từ điển: ..............................................................................................21
từ điển theo tên người: Kiều Thanh Bình, Nguyễn Bá Đạt, Nguyễn Quốc Đạt, …............................................21
từ điển theo tên trường đại học: Đại học Công Nghệ, Đại học Tài Chính, Đại học Kinh Tế, Đại học Ngoại
Thương…......................................................................................................................................................................22
từ điển tên thành phố: Hà Nội, Hải Dương, Hải Phòng, …...................................................................................22
Theo tiêu chí vị trí của từ ta có thể có các từ điển:..................................................................................................22
từ điển các thành phần đứng trước tên người: Mr, Mrs, Miss, Sir v.v…............................................................22
từ điển các thành phần đứng trước địa điểm: leave, live in v.v….........................................................................22
Mỗi một từ điển trong bộ từ điển được khai báo trong file list.def với bộ giá trị: tên file chứa từ điển, giá trị
đặc trưng thứ nhất (majorType), giá trị đặc trưng thứ hai (minorType – có thể có hoặc không). Ví dụ:
entity.lst:name_entity: entity – khai báo một từ điển trong file entity.lst với hai đặc trưng majorType =
“name_entity” và minorType = “entity”..................................................................................................................22
Khi bộ từ điển hoạt động trên văn bản, các nhãn (annotations) kiểu Lookup (một kiểu nhãn mặc định trong
GATE) được tạo ra bằng cách so khớp các từ trong bộ từ điển với các xâu trong văn bản. Ví dụ: trong văn
bản xuất hiện từ “thiết kế” có trong từ điển entity.lst như khai báo ở trên. Thì tại xâu “thiết kế” trong văn
bản sẽ xuất hiện một nhãn (annotation) mới kiểu Lookup với hai đặc trưng: majorType = “name_entity” và
minorType = “entity”. Các nhãn (annotation) Lookup này sẽ được sử dụng trong khi viết các luật JAPE...22
3.3.2 Bộ luật JAPE..................................................................................................................................22
Đây là thành phần quan trọng nhất trong GATE nó đóng vai trò chính giúp công cụ này xử lý ngôn ngữ tự
nhiên..............................................................................................................................................................................22
Bộ luật JAPE là thành phần cơ bản trong khung làm việc của GATE, cho phép người dùng viết biểu thức
chính quy trên nhãn (annotation) và tạo ra các nhãn mới trong văn bản. Một bộ luật JAPE có thể bao gồm
Trong ví dụ trên, mệnh đề trái cung cấp cho mệnh đề phải các mẫu (pattern) là tên của nhãn PosWord.
Mệnh đề phải tạo ra các nhãn mới (annotations) tương ứng với các mẫu (pattern) nhận được. Nhãn
(annotation) mới được tạo ra có kiểu là “PosWord” và 3 đặc trưng (feature) là kind = “Trich chon positive”
và rule = “StrongWord + <PosWord>”....................................................................................................................24
Ngoài ra trong việc xây dựng luật để cho thuận tiện và có khả năng sử dụng lại các thành phần ta có thể
dùng thêm thành phần thay thế (Macros). Thành phần thay thế (Macros) thường xuyên được sử dụng trong
các mệnh đề trái. Nó thay thế cho một tập các lệnh, giúp cho bộ luật đơn giản và rõ ràng hơn. Ngoài ra, khi
một thành phần thay thế đã được khai báo thì mọi luật trong bộ luật đều có thể sử dụng nó mà không cần
phải khai báo lại...........................................................................................................................................................24
Ví dụ về thành thần thay thế (Macros) - khai báo thành phần thay thế StrongWord.......................................24
Macro: StrongWord....................................................................................................................................................24
// rất, khá, hơi, siêu, ....................................................................................................................................................24
(.......................................................................................................................................................................................24
{Word.string=="rất"} |..............................................................................................................................................24
{Word.string=="siêu"} | ...........................................................................................................................................24
xviii
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
{Word.string=="khá"} |..............................................................................................................................................24
{Word.string=="hơi"} ................................................................................................................................................24
).......................................................................................................................................................................................24
Sử dụng StrongWord trong mệnh đề trái của luật rulePositive1..........................................................................25
Rule: rulePositive1 ......................................................................................................................................................25
Priority: 1......................................................................................................................................................................25
( ......................................................................................................................................................................................25
(StrongWord)..............................................................................................................................................................25
({Lookup.majorType=="positive"}):name .............................................................................................................25
).......................................................................................................................................................................................25
-->...................................................................................................................................................................................25
:name.PosWord = {kind = "Trich chon positive", type="Positive", rule = " StrongWord + <PosWord> "}
........................................................................................................................................................................................25
Tập các nhãn đầu vào (Input Annotations): các nhãn (annotations) có kiểu (Type) thuộc tập các nhãn đầu
vào sẽ được sử dụng như là đầu vào cho các mệnh đề trái (quá trình so khớp).................................................26
Ví dụ:.............................................................................................................................................................................26
Phase: Entity.................................................................................................................................................................26
Input: Word Split Lookup.........................................................................................................................................26
Options: control = appelt............................................................................................................................................26
3.4 Các công cụ quản lý chất lượng................................................................................................................27
3.4 Các công cụ quản lý chất lượng................................................................................................................27
Khi phát triển một hệ thống, các công cụ quản lý chất lượng là không thể thiếu để đánh giá công việc. Việc
luôn luôn có sự đánh giá chất lượng ngay từ giai đoạn xây dựng tập dữ liệu cho đến những giai đoạn cuối
cùng (đánh giá kết quả làm việc của hệ thống) giúp hệ thống vận hành trơn tru và dễ dàng hơn trong sự
kiểm soát của người phát triển...................................................................................................................................27
3.4.1 Công cụ đánh giá độ tương đồng khi gán nhãn hai văn bản (Annotation Diff).............................27
“Annotation Diff” cho phép người sử dụng so sánh hai văn bản được gán nhãn trên từng loại nhãn. Điều
này đem lại nhiều lợi ích trong giai đoạn xây dựng tập dữ liệu. Bởi để mang tính khách quan, ta luôn luôn
phải có hai đội xây dựng tập dữ liệu độc lập và khi đó “Annotation Diff” sẽ giúp so sánh những phần làm
việc chung, để đi đến thống nhất tạo ra một tập dữ liệu chuẩn. Giao diện như trong hình 5...........................27
........................................................................................................................................................................................27
Hình 5 - Giao diện của Annotation Diff....................................................................................................................27
Tuy nhiên điểm hạn chế của “Annotation Diff” là chỉ so sánh được từng cặp văn bản, và từng kiểu nhãn
khác nhau. Để đánh giá toàn bộ hệ thống chúng tôi không thể dùng Annotation Diff mà chỉ dùng nó trong
quá trình xây dựng từng luật cần nhìn trực quan. Corpus Benchmark tool chính là một trong những công
cụ để đánh giá hệ thống...............................................................................................................................................28
3.4.2 Công cụ đánh giá chất lượng của hệ thống (Corpus Benchmark tool)..........................................28
xx
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Đây là công cụ cho phép người sử dụng đánh giá độ tương đồng của các tập dữ liệu khác nhau như: tập dữ
liệu được gán nhãn thủ công (bằng tay), tập dữ liệu được xử lý bởi hệ thống hiện hành. Corpus Benchmark
tool cũng hoạt động tương tự như Annotation Diff, nhưng là trên một tập văn bản và tất cả các nhãn. Nó
đưa ra được những kết quả về độ đo precision, recall và F-measure. .................................................................28
sản phẩm. Chúng tôi cũng chia sản phẩm theo 3 hướng category là: computer (laptop & desktop), ô tô và xe
xxi
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
máy, điện thoại di động (phone) tuy nhiên hiện tại chúng tôi mới xây dựng Feature cho máy tính
(computer). Sau khi đã có thêm các văn bản làm input, hệ thống của chúng tôi sẽ đưa ra kết quả về từng
Feature cho thể loại computer. Ví dụ như Feature cauhinh: 6/4 nghĩa là trong văn bản nói về sản phẩm có 6
câu nói cấu hình của máy tính đó là positive còn 4 câu là negative.......................................................................30
45....................................................................................................................................................................................30
Sau đây là hình ảnh mô tả giao diện và kết quả của hệ thống [Hình 7]...............................................................31
........................................................................................................................................................................................31
Hình 7 - Minh họa giao diện hệ thống.......................................................................................................................31
4.2 Thu thập dữ liệu và gán nhãn...................................................................................................................31
4.2 Thu thập dữ liệu và gán nhãn...................................................................................................................31
Đây là phần đầu tiên để bắt đầu xây dựng hệ thống. Chúng tôi cần thu thập dữ liệu càng chuẩn càng theo
chính quy càng dễ dàng cho phát triển hệ thống. Việc gán nhãn cũng rất quan trọng và cũng là phần chúng
tôi làm cẩn thận và tỉ mỉ nhất bởi vì nó ảnh hưởng trực tiếp đến độ chính xác của hệ thống..........................31
4.2.1 Thu thập dữ liệu.............................................................................................................................32
Ai cũng biết nguồn dữ liệu trên mạng là rất khổng lồ nhưng không phải là dễ dàng để tìm được một nguồn
dữ liệu chuẩn xác và hợp lý. Mục đích của chúng tôi hướng đến nguồn dữ liệu mà được người dùng đánh
giá một cách khách quan nhất và thể hiện được ý kiến của họ nhất. Khó khăn trong công việc này là văn
bản trên Internet về sản phẩm cũng không phải nhiều trừ một số sản phẩm về điện tử hay công nghệ như
máy tính, ô tô, xe máy, di động, … thì những sản phẩm khác lại ít được người dùng quan tâm hơn. Ngoài ra
những đánh giá đo lại thường được viết theo ngôn ngữ @ hay 9x,… hay một số thể loại khác không theo
chính thống làm cho việc thu thập dữ liệu cũng gặp nhiều khó khăn. ................................................................32
Để tránh và giải quyết những khó khăn trên chúng tôi đã tìm ở một số trang có cách viết khá chính quy
giúp cho việc xử lý dữ liệu được dễ dàng hơn. Chủ yếu nguồn dữ liệu của chúng tôi được lấy về từ trang
theo chủ đề (category) máy tính (laptop & desktop) trong tương lai chúng tôi sẽ mở
rộng thêm các chủ đề về ô tô & xe máy, điện thoại di động. Hình 8 là hình ảnh về những bài đánh giá trên
trang web này. Chúng tôi sau khi lấy dữ liệu về cũng tiến hành một số thao tác nhỏ nhằm làm cho dữ liệu
trở lên chính quy hơn như: sửa một số lỗi chính tả do người dùng; một số từ theo cách viết cá nhân, viết tắt
dựng dựa trên 3 thành phần chính: xác định từ, cụm từ chỉ quan điểm; xác định xu hướng quan điểm; và
phân lớp câu chỉ quan điểm. Những phần trên được chúng tôi tách ra và xây dựng dựa trên GATE. Ở phần
sau chúng tôi sẽ đi sâu vào mô tả hệ thống của mình..............................................................................................34
4.3.1 Mô tả tổng quan hệ thống..............................................................................................................35
Hệ thống đánh giá quan điểm của chúng tôi được chia thành 4 phần chính như sau:......................................35
Tiền xử lý: giải quyết những vấn đề cơ bản cho văn bản làm tiền đề cho bước xử lý sau.................................35
Xác định từ, cụm từ chỉ quan điểm và xu hướng quan điểm của nó....................................................................35
Xác định câu và phân lớp câu chỉ quan điểm..........................................................................................................35
Đánh giá các đặc tính của sản phẩm (Features) dựa trên câu...............................................................................35
Sau đây chúng tôi đưa ra một ví dụ để chúng ta có thể hiểu rõ hơn công việc và nhiệm vụ của từng phần...35
Ví dụ dữ liệu văn bản: ................................................................................................................................................35
“HP dv 4 có thiết kế bắt mắt, ưa nhìn tuy nhiên giá quá cao.”..............................................................................35
Sau khi tiền xử lý chúng tôi tách từ và POS tag cho văn bản:...............................................................................35
xxiii