ĐẠ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
Hà Nội – 2010.........................................................................................................................................................1
ĐẠI HỌC CÔNG NGHỆ......................................................................................................................................1
ĐẠI HỌC QUỐC GIA HÀ NỘI...........................................................................................................................1
---- ----..........................................................................................................................................................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
65..............................................................................................................................................................................i
Lời cảm ơn.............................................................................................................................................................ii
Lời cảm ơn.............................................................................................................................................................ii
Hình 15 – Lỗi do tách câu 57...............................................................................................................................lii
Danh sách bảng....................................................................................................................................................liii
Danh sách bảng....................................................................................................................................................liii
Chương 1
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à
quan điểm tồn tại trong việc sử dụng những loại từ khác, việc xây dựng thuật ngữ quan điểm, những mức
vi
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
độ quan điểm khác nhau, sự phức tạp của câu chữ, từ ngữ trong những văn cảnh khác nhau, việc phân loại
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
65.............................................................................................................................................................................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
Hatzivassiloglou và McKeown (1997) [11] đã dùng một phương pháp để rút trích tự động các thông tin
định hướng quan điểm sử dụng các thông tin gián tiếp được thu thập từ tập corpus khổng lồ khi họ chỉ ra
rằng những từ điển như Wordnet không bao gồm các thông tin định hướng quan điểm và thiếu sự liên kết
trực tiếp giữa các từ đồng nghĩa và trái nghĩa đặc biệt khi chúng phụ thuộc về miền xác định. Đầu tiên, họ
rút ra 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ì
quan điểm dựa trên phương pháp tiếp cận của Hatzivassiloglou và McKeown (1997) [11] và nhận biết xu
hướng dựa trên phương pháp của Turney (2001) [21]. Sau đó họ tính toán hướng ngữ nghĩa học trung bình
của các từ và cụm từ được rút ra từ toàn bộ bài phê bình. Nếu xu hướng bình quân đó là tích cực thì quan
điểm được phân loại là “recommended”, trường hợp ngược lại là “not recommended”. Độ chính xác của
thuật toán này là 74,39%. Bước cuối cùng giống như phương pháp tiếp cận của Hu và Liu (2004a) [12]
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ữ
Khi có biểu hiện phủ định được kết hợp, theo Nasukawa và Yi (2003) [15] sẽ làm đảo chiều tính quan
điểm. Hu và Liu (2004a) [12] sử dụng định hướng đối lập nếu từ tiêu cực xuất hiện gần hơn xung quanh từ
chỉ quan điểm trong câu. Tuy nhiên, không giống các công việc trong toán học khi phủ định của khẳng định
là phủ định và ngược lại, biểu hiện phủ định được cộng thêm vào một từ hay cụm từ trong bài viết thực tế
không giống với việc đặt một dấu “trừ”(-) trước một con số. Hay nói cách khác, phủ định của khẳng định
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
xi
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
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
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
quan điểm khác nhau. Từ “poor” trong “ hiệu suất hệ thống kém (poor)” là một xu hướng quan điểm tiêu
cực, nhưng trong “ chúng ta nên giúp đỡ người nghèo(poor)” thì “poor” là mang tính trung lập. Khi gặp
phải những tình huống như vậy, ý nghĩa rõ ràng của từ giúp cho giải quyết vấn đề. Một khi chúng ta biết
nghĩa rõ ràng của từ “poor” trong câu thứ nhất nghĩa là kém chất lượng, trong khi trong câu thứ hai có
nghĩa là có ít tiền, việc nhận biết xu hướng quan điểm đối với từ “poor” đã được giải quyết.........................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
dụng bằng cách đánh dấu vào các plugin cần thiết trong Manage CREOLE plugins......................................17
Tầng xử lý định dạng văn bản (Document Format layer): làm nhiệm vụ xử lý cho các định dạng văn bản
khác nhau...............................................................................................................................................................17
xiv
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Tầng dữ liệu (Corpus Layer): Đây là kho tài liệu gồm nhiều thành phần khác nhau như: tập dữ liệu
(Corpus) chứa các văn bản (Document), nội dung văn bản (Document Content), …......................................17
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
Hình 3 - Giao diện thêm một thành phần tích hợp vào GATE. .......................................................................20
...............................................................................................................................................................................21
Hình 4 - Chọn các thành phần cho ứng dụng GATE........................................................................................21
3.3 Các thành phần quan trọng của GATE...................................................................................................21
3.3 Các thành phần quan trọng của GATE...................................................................................................21
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
xvi
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
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
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
?: phép lặp không hoặc một lần.........................................................................................................................23
+: phép lặp một hoặc nhiều lần...........................................................................................................................23
Ví dụ cho một mệnh đề trái:...............................................................................................................................23
({Lookup.majorType=="positive"}):name .......................................................................................................23
Các mẫu được gán trong mệnh đề trái sẽ được sử dụng trong mệnh đề phải (RHS).....................................24
Mệnh đề phải sử dụng các mẫu (pattern) được cung cấp bởi mệnh đề trái để thực thi một mệnh lệnh nào
đó, thông thường là tạo ra các nhãn (annotation) mới........................................................................................24
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
xviii
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
// rất, khá, hơi, siêu, ............................................................................................................................................24
(..............................................................................................................................................................................24
{Word.string=="rất"} |.......................................................................................................................................24
{Word.string=="siêu"} | ...................................................................................................................................24
{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
của các luật được tính như sau:............................................................................................................................26
Tất cả các luật cùng thỏa mãn so khớp từ vị trí X thì luật nào so khớp được dài nhất (longest matching) sẽ
có độ thực thi cao nhất..........................................................................................................................................26
Nếu như nhiều hơn một luật so khớp cùng một đoạn trong văn bản thì luật nào được định nghĩa độ ưu tiên
cao hơn sẽ có độ thực thi cao hơn và được thi hành............................................................................................26
Nếu như hai hay nhiều luật so khớp cùng một đoạn trong văn bản và có độ ưu tiên như nhau thì luật nào
được định nghĩa sớm nhất sẽ có độ thực thi cao nhất và được thi hành...........................................................26
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
xx
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
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
theo 2 hướng positive và negative. Vì mục đích là đánh giá Features cho nên chúng tôi giả sử trong dữ liệu
văn bản đưa ra đánh giá đều nói đến một sản phẩm. Trong quá trình thu thập dữ liệu chúng tôi cũng thấy
đa phần các trang đều đánh giá về một sản phẩm trong mỗi thread.................................................................30
xxi