Tải bản đầy đủ (.doc) (121 trang)

Tự động đánh giá quan điểm người dùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.38 MB, 121 trang )

ĐẠ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.
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
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Lời cảm ơn
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.
Em xin bày tỏ lời cảm ơn sâu sắc đến các thầy cô giáo trong Trường Đại Học
Công Nghệ đã tận tình dạy dỗ em suốt bốn năm học qua.
Con xin cảm ơn bố, mẹ và gia đình đã luôn bên con, cho con động lực để làm
việc tốt hơn. Cảm ơn tất cả bạn bè đã luôn sát cánh cùng tôi.
Hà Nội, ngày 20 tháng 5 năm 2010
Kiều Thanh Bình
ii
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Mục lục
ĐẠ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

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

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
Em xin bày tỏ lời cảm ơn sâu sắc đến các thầy cô giáo trong Trường Đại Học Công Nghệ đã tận tình dạy
dỗ em suốt bốn năm học qua..................................................................................................................................ii
Con xin cảm ơn bố, mẹ và gia đình đã luôn bên con, cho con động lực để làm việc tốt hơn. Cảm ơn tất cả
bạn bè đã luôn sát cánh cùng tôi. ...........................................................................................................................ii
Hà Nội, ngày 20 tháng 5 năm 2010......................................................................................................................ii
Kiều Thanh Bình ................................................................................................................................................ii
Mục lục .................................................................................................................................................................iii
Mục lục .................................................................................................................................................................iii
Danh sách hình vẽ.................................................................................................................................................lii
Danh sách hình vẽ.................................................................................................................................................lii
Hình 1 - Giao diện của GATE 16.........................................................................................................................lii
Hình 2 - Mô hình kiến trúc của GATE [6] 17.....................................................................................................lii
Hình 3 - Giao diện thêm một thành phần tích hợp vào GATE. 20...................................................................lii
Hình 4 - Chọn các thành phần cho ứng dụng GATE 21....................................................................................lii
Hình 5 - Giao diện của Annotation Diff 27.........................................................................................................lii
Hình 6 - Giao diện của Corpus Benchmark tool 28...........................................................................................lii
iv
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Hình 7 - Minh họa giao diện hệ thống 31............................................................................................................lii
Hình 8 - Những reviews do người dùng đánh giá ở trang tinvadung.vn 33.....................................................lii
Hình 9 - Gán nhãn dữ liệu 34...............................................................................................................................lii
Hình 10 - Mô tả chi tiết hệ thống đánh giá quan điểm người dùng trên GATE 36.........................................lii
Hình 11 - GATE sau khi POS Tag và Lookup 40...............................................................................................lii
Hình 12 - Lỗi do POS Tag ảnh hưởng đến nhận dạng từ 54............................................................................lii
Hình 13 - Lỗi do POS tag ảnh hưởng đến tách câu 55.......................................................................................lii
Hình 14 - Lỗi do viết luật ảnh hưởng đến nhận dạng từ 56...............................................................................lii

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à

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
65.............................................................................................................................................................................1
Phần còn lại của khóa luận được chia thành 5 chương:.....................................................................................2
Chương 2: Chúng tôi giới thiệu về những hướng tiếp cận cho bài toán tự động đánh giá quan điểm người
dùng, những công trình nghiên cứu hiện tại và những thách thức sẽ giải quyết trong tương lai. ....................2
Chương 3: Chúng tôi giới thiệu một cách tổng quan về khung làm việc GATE, và cách xây dựng một hệ
thống tích hợp trong GATE....................................................................................................................................2
Chương 4: Chúng tôi mô tả chi tiết hệ thống tự động đánh giá quan điểm người dùng trong văn bản tiếng
Việt được xây dựng trên khung làm việc GATE...................................................................................................2
Chương 5: Chúng tôi đưa ra những kết quả thực nghiệm và phân tích những lỗi vẫn còn tồn tại.................2
Chương 6: Chúng tôi đưa ra những kết luận về hệ thống và hướng phát triển hệ thống trong tương lai......2
Chương 2
Các hướng tiếp cận cho
bài toán đánh giá quan điểm ..................................................................................................................................3
Chương 2
Các hướng tiếp cận cho
bài toán đánh giá quan điểm ..................................................................................................................................3
Chương 2. Hướng tiếp cận cho bài toán đánh giá quan điểm Kiều Thanh Bình..........................................3
Với sự phát triển nhanh chóng của tài nguyên mạng, đặc biệt là những quan điểm trực tuyến (quan điểm
sản phẩm, quan điểm phim ảnh,…) nhiều nghiên cứu hiện đang chú trọng vào mảng phân tích ý kiến, cũng
được biết đến như mảng đánh giá quan điểm. Đó là một chuyên ngành học mới bao gồm: trích xuất thông
tin (IR), xử lý ngôn ngữ tự nhiên (NLP) và ngôn ngữ học máy tính. Hệ thống đánh giá quan điểm thường cố
gắng tìm ra những từ, cụm từ chỉ ý kiến, xác định chiều hướng của những từ, cụm từ, sau đó phân lớp câu,
đoạn hay toàn bộ tài liệu dựa trên những xu hướng quan điểm đó. Bởi vậy, nhiệm vụ thông thường của hệ
thống đánh giá quan điểm bao gồm nhận biết từ, cụm từ chỉ quan điểm và phân loại tài liệu hoặc câu theo
các chiều hướng quan điểm. Khác với việc phân loại thể loại hay chủ đề, việc phân loại quan điểm đòi hỏi sự
am hiểu về chiều hướng cảm xúc trong bài viết. Một số khía cạnh mang tính thách thức trong đánh giá

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

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ủ yếu vào các tính từ và phó từ vì chúng được xem là sự biểu lộ rõ ràng nhất của tính chủ quan
(Hatzivassiloglou and McKeown, 1997 [11]; Wiebe and Bruce, 1999 [2])...........................................................5
Hu và Liu (2004a) [12] áp dụng việc gán nhãn từ loại và kĩ thuật xử lý ngôn ngữ tự nhiên nhằm rút ra
những tính từ cũng như những từ chỉ quan điểm (đã được nói đến ở mục 2.1.1). Sau đó họ xác định những
dấu hiệu ở quan điểm về sản phẩm vì phương pháp của họ tập trung vào việc phân loại quan điểm dựa trên
vii
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
những dấu hiệu. Họ định nghĩa một câu mà chứa một hay nhiều dấu hiệu sản phẩm và từ chỉ quan điểm
được xem là một câu chỉ quan điểm.......................................................................................................................5
Sau đó với mỗi một câu trong dữ liệu chỉ quan điểm, họ rút ra tất cả những tính từ được coi là những từ
chỉ quan điểm. Kết quả thực nghiệm việc rút ra những câu đánh giá quan điểm có độ chính xác (precision)
khoảng 64.2% và recall là 69.3%............................................................................................................................5
Họ sử dụng WordNet (Fellbaum, 1998 [10]) để xác định các tính từ được rút ra mang chiều hướng tích cực
(positive) hay tiêu cực (negative). Trong WordNet, các tính từ được tổ chức thành các cụm từ lưỡng cực;
nửa cụm thứ hai phần đầu là từ trái nghĩa của cụm thứ nhất. Mỗi nửa cụm là phần đầu của tập từ đồng
nghĩa chính, tiếp theo là tập từ đồng nghĩa kèm theo – nó đại diện cho ngữ nghĩa tương tự như những tính
từ quan trọng. Ngược với cách tiếp cận dựa trên từ điển, họ sử dụng định hướng quan điểm của những từ
đồng nghĩa và từ trái nghĩa để dự đoán định hướng của các tính từ. Họ bắt đầu với một danh sách khởi đầu
gồm 30 tính từ thông dụng được chọn thủ công (bằng tay). Sau đó sử dụng WordNet để dự đoán định
hướng của tất cả các tính từ trong danh sách từ quan điểm được rút ra bằng cách tìm kiếm qua cụm lưỡng
cực để tìm ra liệu các từ đồng nghĩa hay trái nghĩa có trong danh sách khởi đầu hay không. Một khi định
hướng của tính từ được dự đoán, nó sẽ được bổ sung vào danh sách khởi đầu và có thể được sử dụng để xác
định định hướng của các tính từ khác. Trong phương pháp này, danh sách khởi đầu sẽ dần tăng lên khi sự
định hướng của các tính từ được nhận dạng; và khi nó ngừng gia tăng, tức qui mô của danh sách khởi đầu
trùng với qui mô của danh sách từ chỉ quan điểm, thì tất cả định hướng của các tính từ đã được nhận biết
và quá trình này kết thúc........................................................................................................................................5

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ì

“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
bổ nghĩa bởi một thuật ngữ chủ thể. .....................................................................................................................7
Trong hệ thống của chúng tôi động từ cũng được chúng tôi xét đến nhưng dùng luật để xác định quan
điểm và không dùng phân tích cú pháp bởi phân tích cú pháp cho tiếng Việt hiện giờ còn chưa có độ chính
xác cao.......................................................................................................................................................................7
2.1.3 Phân lớp câu / tài liệu chỉ quan điểm..........................................................................................7
Việc phân lớp câu / tài liệu chỉ quan điểm là phân loại một câu hay một tài liệu thành các loại ý kiến khác
nhau: tích cực (positive) hay tiêu cực (negative), đôi khi ý kiến trung lập cũng được đưa vào. Việc phân lớp
câu chỉ quan điểm được áp dụng khi tính đối lập trong mỗi câu thấy rõ, còn việc phân loại tài liệu chỉ quan
điểm được áp dụng khi xu hướng quan điểm chung trong toàn bộ tài liệu được nhấn mạnh. Việc nhận biết
xu hướng từ / cụm từ chỉ quan điểm được sử dụng trong phân lớp câu / tài liệu như trong Hu và Liu (2004a)
[12]; trái lại các tài liệu khác (Pang, 2002 [17]) phân lớp câu / tài liệu chỉ quan điểm không có sự nhận biết
của mỗi từ chỉ quan điểm........................................................................................................................................7
Hu và Liu (2004a) [12] dự đoán xu hướng câu chỉ quan điểm trong nghiên cứu của họ đối với nhận xét của
người dùng. Vì nghiên cứu của họ tập trung vào quan điểm chung về đặc điểm riêng của sản phẩm nên việc
phân loại quan điểm đối với mỗi câu có quan điểm được đưa vào sử dụng khi họ cần tập hợp các câu chỉ ý
kiến đối với cùng một đặc điểm để tìm ra ý kiến chung về đặc trưng của sản phẩm. Họ sử dụng xu hướng
chiếm ưu thế của các từ chỉ quan điểm bằng cách tính theo tính đối lập của chúng để xác định xu hướng của
cả câu. Do vậy nếu tổng số các từ chỉ ý kiến tích cực (hay tiêu cực) áp đảo số ý kiến còn lại thì câu đó sẽ
được phân loại là theo quan điểm tích cực (hay tiêu cực). Trong trường hợp bằng nhau, xu hướng trung
bình của từ chỉ quan điểm sát nhất về đặc trưng sản phẩm hoặc xu hướng của câu chỉ quan điểm trước đó
được sử dụng để phân loại. Độ chính xác của họ là 84,2%...................................................................................7
ix
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Turney (2002) [22] đã sử dụng một thuật toán phi giám sát đơn giản để phân loại quan điểm trong những
lĩnh vực khác nhau thành “recommended” hoặc “not recommended”. Và sau đó rút ra các từ / cụm từ chỉ

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ữ

“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
x
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
với những từ loại khác mà chỉ tập trung vào 4 loại từ cơ bản là: Danh từ, Động từ, đặc biệt là Tính từ và
Phó từ........................................................................................................................................................................9
2.2.2 Thuật ngữ chỉ quan điểm.............................................................................................................9
Nhiều công trình nghiên cứu như (Nasukawa và Yi, 2003 [15]; Bruce và Wiebe, 1999 [2]) định nghĩa các
biểu hiện quan điểm trong thuật ngữ quan điểm của chính họ dựa trên biểu thị tính đối lập, POS tagging,
hình thái tiêu chuẩn và loại chủ đề (chủ thể hay đối tượng) đối với các từ chỉ quan điểm tương ứng. Tuy
nhiên, phương pháp này kém hấp dẫn, thiếu hiệu quả và có lẽ là không chính xác. Cũng do một thực tế là
các thuật ngữ quan điểm độc lập này không có giá trị công khai, các nhóm phân tích quan điểm không thể
cộng tác với nhau và như vậy thì không thể đưa ra một tài liệu tiêu chuẩn cho việc sử dụng trong tương lai.
Tình hình không được cải thiện mãi cho tới gần đây khi xuất hiện một số nghiên cứu tập trung giải quyết
vấn đề này. Esuli và Sebastiani (2006) [9] xây dựng một hệ thống thuật ngữ có giá trị thông dụng trong việc
đánh giá quan điểm – SentiWordNet, một WordNet (Fellbaum, 1998) [10] nhấn mạnh vào xu hướng quan
điểm của các từ. Họ liên kết mỗi synset trong WordNet với 3 điểm: Obj(s), Pos(s), và Neg(s) để chỉ ra các
thuật ngữ bao hàm tính khách quan, tích cực, tiêu cực như thế nào trong mỗi synset. Phương pháp của họ
xây dựng SentiWordNet dựa trên việc phân tích số lượng những lời nhận xét được kết nối với các synset, và
dựa trên kết quả về vectơ đại diện cho phân lớp synset bán giám sát. Cách tiếp cận của họ đã mở rộng khối
lượng các công việc hiện tại và cung cấp một công cụ mới trong phân tích quan điểm; tuy nhiên, những
thuật ngữ này chưa được phát triển. Nhiều đặc điểm của các thuật ngữ trong nhận biết tính chủ quan và xu
hướng quan điểm chưa được bổ sung để giải quyết các vấn đề đang tồn tại trong lĩnh vực này......................9
Đối với hệ thống tiếng Việt, hiện chưa có một tập thuật ngữ chuẩn dành cho công việc này. Chính vì vậy hệ
thống của chúng tôi phải tự xây dựng những thuật ngữ này dựa trên kinh nghiệm gán nhãn bằng cách thủ
công.........................................................................................................................................................................10
2.2.3 Tính phủ định............................................................................................................................10

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

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
Sự phức tạp của câu là một vấn đề mang tính thách thức với những nghiên cứu hiện nay về phân lớp câu
chỉ quan điểm. Các phương pháp như (Nasukawa và Yi, 2003 [15]) chỉ nhằm cố gắng phân lớp câu có cấu
trúc đơn. Với những câu phức tạp, họ chỉ có thể chia cắt câu và giải quyết từng phần riêng lẻ. Không phân
tích theo toàn bộ cấu trúc câu, toàn bộ quan điểm có thể bị phân lớp nhầm và độ chính xác của việc phân
lớp kể từ đó sẽ bị ảnh hưởng. Đó cũng là vấn đề xảy ra trên hệ thống của chúng tôi, việc dùng luật cũng
phần nào phản ánh được quá trình phân tích câu tuy nhiên đối với sự nhập nhằng hay phức tạp trong các
thành phần câu thì khó có thể hoàn thành tốt được............................................................................................12
Sự phức tạp của tài liệu có thể tạo nên vấn đề lớn hơn đối việc phân lớp tài liệu chỉ quan điểm. Turney
(2002) [22] chỉ ra rằng trong quan điểm phim ảnh, có thể có những quan điểm khác nhau trong những phần
khác nhau của bài viết, dựa theo những khía cạnh khác nhau của bộ phim. Do đó sẽ khó cho hệ thống phân
lớp quan điểm để xác định xu hướng trung thực và quan điểm của người phê bình đối với mỗi bộ phim.
Thậm chí một trường hợp tồi tệ hơn có thể xảy ra khi người viết sử dụng nhiều đoạn văn để diễn tả anh ta
(cô ta) ghét một trong những diễn viên của bộ phim như thế nào nhưng sử dụng chỉ một đoạn nhỏ để diễn tả
anh ta (cô ta) yêu thích bộ phim hơn tất cả. Khi gặp những tình huống như thế này, hệ thống rất dễ bị lỗi
khi phân lớp quan điểm này là tiêu cực. Một phương pháp có thể giải quyết vấn đề này là phân biệt các khía
cạnh khác nhau của một tài liệu, và phân lớp quan điểm với sự lưu tâm tới các khía cạnh hơn là phân lớp
theo toàn bộ tài liệu. Hu và Liu (2004a) [12] đã sử dụng phương pháp này để phân biệt các quan điểm đối
với các đặc điểm khác nhau của cùng một sản phẩm hay cùng một tài liệu.....................................................12
2.2.6 Quan điểm theo ngữ cảnh..........................................................................................................12
xii
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Các nghiên cứu hiện nay nhằm nhận biết xu hướng quan điểm của các từ không xem xét nhiều đến ngữ
cảnh. Một số từ trong các ngữ cảnh khác nhau có thể có POS tags khác nhau và nghĩa khác nhau. Trong
trường hợp này, POS tagging là một công cụ tốt giúp nhận biết xu hướng quan điểm. Tuy nhiên, cùng các
từ trong những ngữ cảnh khác nhau có thể có cùng POS tag nhưng lại có nghĩa khác nhau và xu hướng

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

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
xiii
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
Chương 3
Giới thiệu GATE....................................................................................................................................................15
Chương 3
Giới thiệu GATE....................................................................................................................................................15
Chương 3. Giới thiệu GATE Kiều Thanh Bình.....................................................................................15
GATE là framework giúp phát triển và triển khai các thành phần xử lý ngôn ngữ tự nhiên. GATE giúp
các nhà khoa học và phát triển theo 3 hướng:.....................................................................................................15
+) Xác định một kiến trúc, hay một cơ cấu tổ chức cho phần mềm xử lý ngôn ngữ.......................................15
+) Cung cấp một framework, hay một lớp thư viện thi hành kiến trúc và có thể được dùng để nhúng khả
năng xử lý ngôn ngữ vào các ứng dụng khác nhau..............................................................................................15
+) Cung cấp một môi trường phát triển xây dựng trên framework tạo ra các công cụ thuận tiện cho phát
triển các thành phần đồ họa. ...............................................................................................................................15
GATE do nhóm giáo sư Cunningham thuộc trường đại học Sheffield – Anh phát triển (H. Cunningham –
2002 [3]). Có thể download phiên bản mới nhất (version 5.0) của GATE miễn phí tại địa chỉ:
/>3.1 Tổng quan về GATE................................................................................................................................15
3.1 Tổng quan về GATE................................................................................................................................15
Phần này chúng tôi sẽ trình bày những kiến trúc cơ bản và những khái niệm cơ bản của GATE. Đây là
một hình ảnh về GATE 5.0 [Hình 1]:...................................................................................................................15
65...........................................................................................................................................................................15
...............................................................................................................................................................................16
Hình 1 - Giao diện của GATE.............................................................................................................................16
3.1.1 Mô hình kiến trúc của GATE....................................................................................................16
Kiến trúc của GATE gồm nhiều tầng và được liên kết với nhau theo sơ đồ [Hình 2]: ..................................16
...............................................................................................................................................................................17
Hình 2 - Mô hình kiến trúc của GATE [6].........................................................................................................17
Tầng hiển thị (IDE GUI Layer): hiển thị giao diện trực quan tương tác với người dùng..............................17
Tầng ứng dụng (Application Layer): để thêm các ứng dụng khác nhau. Có thể thêm hay gỡ bỏ các ứng

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

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
<CREOLE-DIRECTORY>.................................................................................................................................19
xv
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
<CREOLE>.........................................................................................................................................................19
<RESOURCE>...................................................................................................................................................19
<!-- Name of the PR that appears in GATE PR List -->................................................................................19
<NAME>Coltech.Opinion.Rule</NAME>......................................................................................................19
<!-- Jar where to look for the resource -->......................................................................................................19
<JAR>VNOpinion.jar</JAR>.........................................................................................................................19
<!-- Underlying class that implements the New Plugin -->.............................................................................19
<CLASS>VNOpinion</CLASS>.....................................................................................................................19
<!-- Comment that appears when mouse hovers over the PR Name -->.......................................................19
<COMMENT>A program demo the Vietnamese Natural Language Processing</COMMENT> ...........19
</RESOURCE> .................................................................................................................................................19
</CREOLE>........................................................................................................................................................19
</CREOLE-DIRECTORY>................................................................................................................................19
Sau khi đã có thành phần tích hợp (Plugin), có hai cách để thêm thành phần này vào khung làm việc của
GATE. ....................................................................................................................................................................19
Cách 1: đặt thư mục chứa toàn bộ thành phần tích hợp vào trong %GATE-HOME%/plugins. Chạy lệnh
“bin/ant plugins.build”, hệ thống GATE sẽ tự động thêm thành phần tích hợp vào hệ thống. ......................19
Cách 2: Chọn File -> Manage CREOLE plugins -> Add new CREOLE repository -> Select a directory và
chọn thư mục chứa thành phần tích hợp mới tạo (hình 3).................................................................................20
Sau bước này, ta được một thành phần tích hợp mới hoạt động trên khung làm việc GATE. Và trong
thành phần này ta có thể chọn những công việc cho nó [Hình 4].......................................................................20
...............................................................................................................................................................................20

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

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
nhiều luật nhỏ. Mỗi luật nhỏ gồm các mẫu và cách thực thi khác nhau có dạng: ...........................................22
LHS (left-hand-side)  RHS (right-hand-side). ...............................................................................................22
Ví dụ:....................................................................................................................................................................23
Rule: rulePositive1 ..............................................................................................................................................23
Priority: 1.............................................................................................................................................................23
( .............................................................................................................................................................................23
(StrongWord)......................................................................................................................................................23
xvii
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
({Lookup.majorType=="positive"}):name ......................................................................................................23
)..............................................................................................................................................................................23
-->..........................................................................................................................................................................23
:name.PosWord = {kind = "Trich chon positive", type="Positive", rule = " StrongWord + <PosWord> "}
.................................................................................................................................................................................23
Khi một luật JAPE thực thi thì các luật nhỏ trong nó được thi hành một cách tuần tự, từ trên xuống nếu
như cùng Priority và nó thi hành các luật từ Priority thấp nhất đến cao nhất (mặc định là -1 nếu không khai
báo Priority)...........................................................................................................................................................23
Luật JAPE gồm 2 thành phần chính: mệnh đề trái (LHS) là các biểu thức chính quy trên nhãn
(annotation). Trong khi đó mệnh đề phải (RHS) thể hiện hành động cần được thực thi khi mệnh đề trái
được thỏa mãn (so khớp).......................................................................................................................................23
Mệnh đề trái (LHS) là một biểu thức của các mẫu (annotation pattern) và các phép toán như “ *, ?, +, | ”23
Các phép toán sử dụng trong mệnh đề trái........................................................................................................23
| : phép hoặc..........................................................................................................................................................23
*: phép lặp (không hoặc nhiều lần).....................................................................................................................23

?: 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

( .............................................................................................................................................................................25
(StrongWord)......................................................................................................................................................25
({Lookup.majorType=="positive"}):name ......................................................................................................25
)..............................................................................................................................................................................25
-->..........................................................................................................................................................................25
:name.PosWord = {kind = "Trich chon positive", type="Positive", rule = " StrongWord + <PosWord> "}
.................................................................................................................................................................................25
Có những công việc chỉ sử dụng luật đơn giản không thể quản lý tốt các nhãn được, chúng ta nghĩ đến một
cách khác đó chính là sử dụng đoạn mã Java trong JAPE. Để tăng tính linh động và hiệu quả, bộ luật JAPE
hỗ trợ chèn những đoạn mã JAVA vào trong mệnh đề phải. Nhờ đó ngoài việc tạo ra các nhãn (annotations)
mới, mệnh đề phải còn có thể làm rất nhiều việc khác như: chèn thêm các đặc trưng (features), thay đổi
kiểu nhãn (Type) hay xóa các nhãn đã tồn tại v.v…...........................................................................................25
Thành phần đầu tiên của mỗi luật (phase) JAPE luôn là các lựa chọn như:..................................................25
Kiểu điều khiển (Control) để quản lý cách so khớp mẫu. Có 5 lựa chọn cho kiểu điều khiển là “brill”, “all”,
“first”, “once” và “appelt”. Nó được khai báo ở phần đầu văn bản chứa các luật để điều khiển phương thức
so khớp mẫu: .........................................................................................................................................................25
Options: control = <kiểu điều khiển (chẳng hạn applet)>................................................................................25
“brill”: khi có nhiều hơn một luật cùng thỏa mãn cho một đoạn của văn bản, thì tất cả các luật này đều
được thực thi. Sau khi quá trình so khớp (matching) diễn ra ở tất cả các luật thì điểm bắt đầu quá trình so
khớp tiếp theo sẽ là điểm kết thúc của luật được so khớp dài nhất trong quá trình trước (longest matching).
.................................................................................................................................................................................25
xix
Tự động đánh giá ý kiến người dùng Kiều Thanh Bình
“all”: tương tự như “brill” nó cho phép thực hiện nhiều luật trên cùng một đoạn văn bản. Tuy nhiên có
điểm khác biệt với “brill” đó là: điểm bắt đầu quá trình so khớp tiếp theo là điểm bắt đầu của nhãn
(annotation) gần nhất sau nó. Có thể nói all so khớp rộng hơn “brill”..............................................................26
“first”: luật được thực hiện ngay khi quá trình so khớp đầu tiên được thỏa mãn. Bởi vậy nó không thích
hợp cho các luật sử dụng “*”, “+”, “?”................................................................................................................26
“once”: chỉ có luật đầu tiên thỏa mãn quá trình so khớp được thực hiện.......................................................26
“appelt”: chỉ một luật thỏa mãn quá trình so khớp và có độ thực thi cao nhất được thực hiện. Độ thực thi

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

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
Đâ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
Giao diện của Corpus Benchmark tool như hình 6...........................................................................................28
...............................................................................................................................................................................28
Hình 6 - Giao diện của Corpus Benchmark tool................................................................................................28
Hệ thống của chúng tôi dùng tool được viết lại dựa trên công cụ đánh giá chất lượng Corpus Benchmark
tool...........................................................................................................................................................................29
Chương 4
Hệ thống đánh giá quan điểm người dùng...........................................................................................................30
Chương 4
Hệ thống đánh giá quan điểm người dùng...........................................................................................................30
Chương 4. Hệ thống đánh giá quan điểm người dùng Kiều Thanh Bình........................................................30
Như ở chương 2 chúng tôi đã đưa ra một số hướng tiếp cận cho bài toán đánh giá quan điểm. Có rất nhiều
hướng tiếp cận để tìm ra một hướng phù hợp với ngôn ngữ và những văn bản về đánh giá sản phẩm là điều
hoàn toàn không phải dễ dàng. Có thể với văn bản này ngôn ngữ này phương pháp này rất tốt nhưng với
văn bản khác ngôn ngữ khác phương pháp này lại không hiệu quả cho lắm. Ngoài ra đây cũng là ngành
nghiên cứu mới không chỉ ở Việt Nam mà còn trên cả thế giới cho nên những nghiên cứu áp dụng cho ngôn
ngữ Việt Nam không nhiều và đạt được hiểu quả cũng chưa thực sự tốt. Hơn nữa cũng chính vì đây là một
đề tài nghiên cứu mới cho nên nhiều cái chưa có một sự quy chuẩn nào cả và chúng tôi phải tự định nghĩa
một số chuẩn...........................................................................................................................................................30
Ở đây chúng tôi xây dựng hệ thống đánh giá quan điểm người dùng dựa trên hướng tiếp cận về luật và
phân lớp ở mức câu...............................................................................................................................................30
4.1 Giới thiệu hệ thống.................................................................................................................................30
4.1 Giới thiệu hệ thống.................................................................................................................................30
Hệ thống của chúng tôi được xây dựng với mục đích đánh giá những đặc điểm (Features) của sản phẩm

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

×