Tài liệu Khóa luận Tự động đánh giá quan điểm người dùng - Kiều Thanh Bình: ĐẠ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
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...
75 trang |
Chia sẻ: hunglv | Lượt xem: 1121 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Tự động đánh giá quan điểm người dùng - Kiều Thanh Bình, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠ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
Lời mở đầu
Với sự bùng nổ của nguồn dữ liệu trên Internet, những bài tố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.
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
Mục lục
Danh sách hình vẽ
Hình 1 - Giao diện của GATE 16
Hình 2 - Mơ hình kiến trúc của GATE [6] 17
Hình 3 - Giao diện thêm một thành phần tích hợp vào GATE. 20
Hình 4 - Chọn các thành phần cho ứng dụng GATE 21
Hình 5 - Giao diện của Annotation Diff 27
Hình 6 - Giao diện của Corpus Benchmark tool 28
Hình 7 - Minh họa giao diện hệ thống 31
Hình 8 - Những reviews do người dùng đánh giá ở trang tinvadung.vn 33
Hình 9 - Gán nhãn dữ liệu 34
Hình 10 - Mơ tả chi tiết hệ thống đánh giá quan điểm người dùng trên GATE 36
Hình 11 - GATE sau khi POS Tag và Lookup 40
Hình 12 - Lỗi do POS Tag ảnh hưởng đến nhận dạng từ 55
Hình 13 - Lỗi do POS tag ảnh hưởng đến tách câu 56
Hình 14 - Lỗi do viết luật ảnh hưởng đến nhận dạng từ 57
Hình 15 – Lỗi do tách câu 58
Danh sách bảng
Bảng 1 - Kết quả nhận dạng từ đánh giá trên tập huấn luyện 47
Bảng 2 - Kết quả nhận dạng từ đánh giá trên tập kiểm tra 47
Bảng 3 - Kết quả nhận dạng câu đánh giá trên tập huấn luyện 48
Bảng 4 - Kết quả nhận dạng câu đánh giá trên tập kiểm tra 48
Bảng 5 - Kết quả đánh giá Acer Aspire 3935 trên tập huấn luyện 50
Bảng 6 - Kết quả đánh giá Apple Macbook Air MB543ZPA trên tập huấn luyện 50
Bảng 7 - Kết quả đánh giá Acer Aspire AS4736 trên tập huấn luyện 51
Bảng 8 - Kết quả đánh giá Feature trên tập huấn luyện 51
Bảng 9 - Kết quả đánh giá Dell Inspiron 1210 trên tập kiểm tra 51
Bảng 10 - Kết quả đánh giá Compaq Presario CQ40 trên tập kiểm tra 52
Bảng 11 - Kết quả đánh giá HP Pavilion dv3 trên tập kiểm tra 52
Bảng 12 - Kết quả đánh giá Feature trên tập kiểm tra 53
Chương 1Giới thiệu
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.
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 tố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.
Phần cịn lại của khĩa luận được chia thành 5 chương:
Chương 2: Chúng tơi giới thiệu về những hướng tiếp cận cho bài tố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.
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.
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.
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.
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.
Chương 2Các hướng tiếp cận cho bài tốn đánh giá quan điểm
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 tồ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 độ 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 đĩ.
2.1 Xu hướng các cuộc nghiên cứu gần đây
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.
2.1.1 Xác định từ, cụm từ quan điểm
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 đĩ.
Ứ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.
2.1.2 Xác định chiều hướng từ, cụm từ quan điểm
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.
2.1.2.1 Sử dụng tính từ và phĩ từ
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]).
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 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.
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%.
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ự đố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ự đố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ự đố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.
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 tố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.
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 tố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.
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.
2.1.2.2 Sử dụng các động từ
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.
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”.
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ể.
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.
2.1.3 Phân lớp câu / tài liệu chỉ quan điểm
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 tồ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.
Hu và Liu (2004a) [12] dự đố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%.
Turney (2002) [22] đã sử dụng một thuật tố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 tố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ừ tồ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 tố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 tồn bộ tài liệu thay cho từng câu.
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 tốn Nạ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%.
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.
2.2 Những thách thức và cơng việc cĩ thể trong tương lai
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.
2.2.1 Các loại từ khác
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. Ngồ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.
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 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ừ.
2.2.2 Thuật ngữ chỉ quan điểm
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.
Đố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.
2.2.3 Tính phủ định
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 tố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.
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.
2.2.4 Cấp độ quan điểm
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.
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.
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.
2.2.5 Sự phức tạp của câu / tài liệu
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 tồn bộ cấu trúc câu, tồ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ể hồn thành tốt được.
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 tồ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.
2.2.6 Quan điểm theo ngữ cả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.
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 tốn và kĩ thuật hơn nữa được phát triển để cĩ thể xử lí vấn đề này.
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ả.
2.2.7 Tài liệu khơng đồng nhất
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.
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.
2.2.8 Một số vấn đề khác
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.
Chương 3Giới thiệu GATE
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:
+) 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ữ.
+) 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.
+) 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.
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
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]:
Hình 1 - Giao diện của GATE
3.1.1 Mơ hình kiến trúc của GATE
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]:
Hình 2 - Mơ hình kiến trúc của GATE [6]
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.
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.
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.
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), …
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,…
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…
Tầng lưu trữ (DataStore Layer): tầng này lưu trữ dữ liệu ở các dạng khác nhau.
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…
3.1.2 Những khái niệm cơ bản trong GATE
Một số khái niệm cơ bản được dùng trong GATE:
Tập dữ liệu (corpus): là một tập gồm một hay nhiều văn bản (Documents).
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).
Tập nhãn (Annotation Set): là một tập hợp nhiều nhãn (Annotations).
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).
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.
Đặc trưng (Features): là một tập gồm tên (kiểu String) và giá trị (kiểu Object).
3.2 Xây dựng plugin trên GATE
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:
Bộ từ điển – Coltech.Opinion.ListOpinion.
Bộ luật – Coltech.Opinion.Rule.
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:
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.
Tạo file creole.xml khai báo thành phần xử lý mới. Ví dụ về Coltech.Opinion.Rule :
Coltech.Opinion.Rule
VNOpinion.jar
VNOpinion
A program demo the Vietnamese Natural Language Processing
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.
Cách 1: đặt thư mục chứa tồ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.
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).
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].
Hình 3 - Giao diện thêm một thành phần tích hợp vào GATE.
Hình 4 - Chọn các thành phần cho ứng dụng GATE
3.3 Các thành phần quan trọng của GATE
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.
3.3.1 Bộ từ điển (Gazetteers)
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 đĩ.
Ví dụ:
Theo tiêu chí loại tên riêng ta cĩ thể cĩ các từ điển:
từ điển theo tên người: Kiều Thanh Bình, Nguyễn Bá Đạt, Nguyễn Quốc Đạt, …
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…
từ điển tên thành phố: Hà Nội, Hải Dương, Hải Phịng, …
Theo tiêu chí vị trí của từ ta cĩ thể cĩ các từ điển:
từ điển các thành phần đứng trước tên người: Mr, Mrs, Miss, Sir v.v…
từ điển các thành phần đứng trước địa điểm: leave, live in v.v…
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”.
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.
3.3.2 Bộ luật JAPE
Đâ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.
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:
LHS (left-hand-side) à RHS (right-hand-side).
Ví dụ:
Rule: rulePositive1
Priority: 1
(
(StrongWord)
({Lookup.majorType=="positive"}):name
)
-->
:name.PosWord = {kind = "Trich chon positive", type="Positive", rule = " StrongWord + "}
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).
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).
3.3.2.1 Mệnh đề trái (LHS)
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 tốn như “ *, ?, +, | ”
Các phép tốn sử dụng trong mệnh đề trái
| : phép hoặc
*: phép lặp (khơng hoặc nhiều lần)
?: phép lặp khơng hoặc một lần
+: phép lặp một hoặc nhiều lần
Ví dụ cho một mệnh đề trái:
({Lookup.majorType=="positive"}):name
Các mẫu được gán trong mệnh đề trái sẽ được sử dụng trong mệnh đề phải (RHS).
3.3.2.3 Mệnh đề phải (RHS)
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.
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 + ”.
3.3.2.2 Thành phần thay thế (Macros)
Ngồ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. Ngồ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.
Ví dụ về thành thần thay thế (Macros) - khai báo thành phần thay thế StrongWord
Macro: StrongWord
// rất, khá, hơi, siêu,
(
{Word.string=="rất"} |
{Word.string=="siêu"} |
{Word.string=="khá"} |
{Word.string=="hơi"}
)
Sử dụng StrongWord trong mệnh đề trái của luật rulePositive1.
Rule: rulePositive1
Priority: 1
(
(StrongWord)
({Lookup.majorType=="positive"}):name
)
-->
:name.PosWord = {kind = "Trich chon positive", type="Positive", rule = " StrongWord + "}
3.3.2.4 Sử dụng đoạn mã Java trong JAPE
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ờ đĩ ngồ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…
3.3.2.5 Một vài lựa chọn khi viết luật
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ư:
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:
Options: control =
“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).
“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”.
“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 “*”, “+”, “?”.
“once”: chỉ cĩ luật đầu tiên thỏa mãn quá trình so khớp được thực hiện.
“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:
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.
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.
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.
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).
Ví dụ:
Phase: Entity
Input: Word Split Lookup
Options: control = appelt
3.4 Các cơng cụ quản lý chất lượng
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 sốt của người phát triển.
3.4.1 Cơng cụ đánh giá độ tương đồng khi gán nhãn hai văn bản (Annotation Diff)
“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.
Hình 5 - Giao diện của Annotation Diff
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á tồ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.
3.4.2 Cơng cụ đánh giá chất lượng của hệ thống (Corpus Benchmark tool)
Đâ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.
Giao diện của Corpus Benchmark tool như hình 6.
Hình 6 - Giao diện của Corpus Benchmark tool
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.
Chương 4Hệ thống đánh giá quan điểm người dùng
Như ở chương 2 chúng tơi đã đưa ra một số hướng tiếp cận cho bài tố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 hồn tồ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. Ngồ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.
Ở đâ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.
4.1 Giới thiệu hệ thống
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.
Hệ thống của chúng tơi được xây dựng trên nền GATE cho phép chọn 1 văn bản hoặc nhiều văn bản về cùng một sản phẩm và trả ra kết quả là số câu (câu đơn) nĩi về Features của sản phẩm đĩ theo 2 hướng positive và negative.
Giao diện hệ thống của chúng tơi cho phép người dùng chọn đến một hoặc nhiều văn bản cùng nĩi đến một sản phẩm. Chúng tơi cũng chia sản phẩm theo 3 hướng category là: computer (laptop & desktop), ơ tơ và xe máy, điện thoại di động (phone) tuy nhiên hiện tại chúng tơi mới xây dựng Feature cho máy tính (computer). Sau khi đã cĩ thêm các văn bản làm input, hệ thống của chúng tơi sẽ đưa ra kết quả về từng Feature cho thể loại computer. Ví dụ như Feature cauhinh: 6/4 nghĩa là trong văn bản nĩi về sản phẩm cĩ 6 câu nĩi cấu hình của máy tính đĩ là positive cịn 4 câu là negative.
Sau đây là hình ảnh mơ tả giao diện và kết quả của hệ thống [Hình 7].
Hình 7 - Minh họa giao diện hệ thống
4.2 Thu thập dữ liệu và gán nhãn
Đây là phần đầu tiên để bắt đầu xây dựng hệ thống. Chúng tơi cần thu thập dữ liệu càng chuẩn càng theo chính quy càng dễ dàng cho phát triển hệ thống. Việc gán nhãn cũng rất quan trọng và cũng là phần chúng tơi làm cẩn thận và tỉ mỉ nhất bởi vì nĩ ảnh hưởng trực tiếp đến độ chính xác của hệ thống.
4.2.1 Thu thập dữ liệu
Ai cũng biết nguồn dữ liệu trên mạng là rất khổng lồ nhưng khơng phải là dễ dàng để tìm được một nguồn dữ liệu chuẩn xác và hợp lý. Mục đích của chúng tơi hướng đến nguồn dữ liệu mà được người dùng đánh giá một cách khách quan nhất và thể hiện được ý kiến của họ nhất. Khĩ khăn trong cơng việc này là văn bản trên Internet về sản phẩm cũng khơng phải nhiều trừ một số sản phẩm về điện tử hay cơng nghệ như máy tính, ơ tơ, xe máy, di động, … thì những sản phẩm khác lại ít được người dùng quan tâm hơn. Ngồi ra những đánh giá đo lại thường được viết theo ngơn ngữ @ hay 9x,… hay một số thể loại khác khơng theo chính thống làm cho việc thu thập dữ liệu cũng gặp nhiều khĩ khăn.
Để tránh và giải quyết những khĩ khăn trên chúng tơi đã tìm ở một số trang cĩ cách viết khá chính quy giúp cho việc xử lý dữ liệu được dễ dàng hơn. Chủ yếu nguồn dữ liệu của chúng tơi được lấy về từ trang theo chủ đề (category) máy tính (laptop & desktop) trong tương lai chúng tơi sẽ mở rộng thêm các chủ đề về ơ tơ & xe máy, điện thoại di động. Hình 8 là hình ảnh về những bài đánh giá trên trang web này. Chúng tơi sau khi lấy dữ liệu về cũng tiến hành một số thao tác nhỏ nhằm làm cho dữ liệu trở lên chính quy hơn như: sửa một số lỗi chính tả do người dùng; một số từ theo cách viết cá nhân, viết tắt (“wa”, “ko”…); một số đoạn thiếu chấm câu, cách dịng,…
Hình 8 - Những reviews do người dùng đánh giá ở trang tinvadung.vn
Dữ liệu của chúng tơi cĩ khoảng 3971 câu ở 20 văn bản tương ứng với 20 sản phẩm mà chúng tơi đã thu thập và xử lý qua để đưa về văn bản chuẩn. Nguồn dữ liệu cũng tương đối đủ cho chúng tơi làm tập huấn luyện (training) và kiểm tra (testing) cho hệ thống. Trong tương lai chúng tơi sẽ thu thập thêm dữ liệu về mỗi chủ đề và mở rộng thêm các chủ đề khác nữa.
4.2.2 Gán nhãn dữ liệu
Đây là phần khá quan trọng nếu khơng nĩi là phần quan trọng nhất ảnh hưởng trực tiếp đến sản phẩm. Cơng việc này yêu cầu độ chính xác cao, chỉ cĩ vậy thì bộ từ điển và bộ luật chúng tơi xây dựng mới chính xác được.
Hệ thống của chúng tơi cĩ mục đích đánh giá quan điểm như vậy xét trong phạm vi từ, những từ về quan điểm là cần thiết nhất, chúng tơi dùng 2 gán nhãn PosWord và NegWord để phân lớp cho từ quan điểm. Tiếp đĩ từ nĩi đến Feature để đưa ra đánh giá là quan trọng thứ nhì, chúng tơi gọi chung những từ này là Entity và xét riêng cho từng Feature thì lấy tên của Feature đấy làm tên của nhãn ví dụ như: cauhinh, vanhanh… Như đã nĩi ở chương 2 loại từ phủ định hay làm thay đổi đánh giá quan điểm chúng tơi cũng xét đến và được gán nhãn ReverseOpinion.
Hệ thống của chúng tơi đánh giá quan điểm xét ở mức câu chính vì vậy những nhãn về câu là khơng thể thiếu. Chúng tơi cần các nhãn PosSen, NegSen, MixSen để phân biệt cho những câu đơn đơn giản mà cĩ những đánh giá lần lượt là positive, negative và cả 2 loại. Ngồi ra khi đối với câu khơng cĩ từ quan điểm thì cĩ một kiểu câu khác vẫn cĩ ý nghĩa đánh giá quan điểm là câu so sánh. Để giải quyết vấn đề này chúng tơi dùng thêm hai nhãn CompWord (từ so sánh) và CompSen (câu so sánh) để phân biệt. Hình 9 sau cho thấy một dữ liệu được chúng tơi gán nhãn thủ cơng bằng phần mềm Callisto (
Hình 9 - Gán nhãn dữ liệu
4.3 Xây dựng hệ thống đánh giá quan điểm
Như trong chương 2 chúng tơi đã nĩi đến những hệ thống gần đây, hệ thống của chúng tơi cũng được xây dựng dựa trên 3 thành phần chính: xác định từ, cụm từ chỉ quan điểm; xác định xu hướng quan điểm; và phân lớp câu chỉ quan điểm. Những phần trên được chúng tơi tách ra và xây dựng dựa trên GATE. Ở phần sau chúng tơi sẽ đi sâu vào mơ tả hệ thống của mình.
4.3.1 Mơ tả tổng quan hệ thống
Hệ thống đánh giá quan điểm của chúng tơi được chia thành 4 phần chính như sau:
Tiền xử lý: giải quyết những vấn đề cơ bản cho văn bản làm tiền đề cho bước xử lý sau.
Xác định từ, cụm từ chỉ quan điểm và xu hướng quan điểm của nĩ.
Xác định câu và phân lớp câu chỉ quan điểm.
Đánh giá các đặc tính của sản phẩm (Features) dựa trên câu.
Sau đây chúng tơi đưa ra một ví dụ để chúng ta cĩ thể hiểu rõ hơn cơng việc và nhiệm vụ của từng phần.
Ví dụ dữ liệu văn bản:
“HP dv 4 cĩ thiết kế bắt mắt, ưa nhìn tuy nhiên giá quá cao.”
Sau khi tiền xử lý chúng tơi tách từ và POS tag cho văn bản:
“HP dv 4 cĩ thiết kế bắt mắt, ưa nhìn tuy nhiên giá quá cao.”
Dựa trên tiền xử lý chúng tơi dùng luật để xác định các từ, cụm từ chỉ quan điểm:
“HP dv 4 cĩ thiết kế bắt mắt, ưa nhìn tuy nhiên giá quá cao.”
Sau khi đã nhận dạng được các từ, cụm từ (nếu cĩ thêm ReverseOpinion) chỉ quan điểm chúng tơi tiến hành chia câu và xác định quan điểm của câu:
“HP dv 4 cĩ thiết kế bắt mắt, ưa nhìn tuy nhiên giá quá cao.”
Cuối cùng chúng tơi tổng hợp các câu đánh giá về Feature và hiển thị ra kết quả:
Kieudang: 1/0
Gia: 0/1
Tính hiệu quả của khung làm việc GATE cho bài tốn nhận dạng thực thể đã được chứng minh qua nhiều nghiên cứu (Maynard 2001, Cao 2007), bởi vậy chúng tơi quyết định xây dựng hệ thống nhận dạng thực thể trong văn bản tiếng Việt như một thành phần tích hợp (Plugin) trên GATE nhằm tận dụng những ưu điểm mà GATE mang lại. Chúng tơi đưa ra mơ hình xử lý trên GATE như sau [Hình 10]:
Hình 10 - Mơ tả chi tiết hệ thống đánh giá quan điểm người dùng trên GATE
Hệ thống bao gồm 5 bộ phận chính:
Bộ tách từ
Bộ gán nhãn từ loại
Bộ từ điển
Bộ luật
Bộ đánh giá Features
Để hiểu chi tiết hơn về hệ thống đánh giá quan điểm người dùng trên văn bản tiếng Việt xây dựng trên nền GATE, chúng ta sẽ đi sâu hơn tìm hiểu về từng bộ phận của hệ thống.
4.3.2 Tiền xử lý
Một nét đặc trưng rất khác biệt của tiếng Việt so với tiếng Anh đĩ là vấn đề tách từ (word segmentation). Trong tiếng Anh các từ được phân biệt bởi dấu trống, tuy nhiên từ trong tiếng Việt thì khơng như vậy. Trong tiếng Việt chỉ coi những từ phân biệt với nhau bởi dấu trống như ở từ trong tiếng Anh là một tiếng và một từ cĩ thể bao gồm một, hai, ba hoặc nhiều tiếng. Một tiếng cĩ thể liên kết với từ đứng trước nĩ, hoặc đứng sau nĩ để tạo thành từ. Ví dụ như câu:
“Học sinh học sinh học.”
Cĩ thể tách câu trên như sau:
“Học_sinh học sinh_học.”
hay
“Học sinh_học sinh_học.”
Như vậy tiếng “sinh” cĩ thể kết hợp với tiếng “Học” đứng trước nĩ để tạo thành từ “Học sinh”, hay nĩ cịn cĩ thể kết hợp với tiếng “học” đứng sau nĩ để tạo thành từ “sinh_học”.
Ngồi yêu cầu bắt buộc về một bộ tách từ, chúng tơi cịn sử dụng thêm bộ gán nhãn từ loại trong giai đoạn tiền xử lý của hệ thống, nhằm cung cấp được nhiều thơng tin cho các giai đoạn xử lý tiếp theo. Chúng tơi đĩng gĩi bộ tách từ [6] thành plugin Coltech.NLP.tokenizer trong khung làm việc GATE. Nhờ đĩ bộ tách từ và gán nhãn từ loại cĩ thể dễ dàng thay đổi, cải tiến mà khơng làm ảnh hưởng đến kiến trúc của hệ thống.
Các văn bản sau khi được xử lý bởi Coltech.NLP.tokenizer sẽ trở thành văn bản ở định dạng của GATE tức là gồm: nội dung văn bản, tập các nhãn (annotation) và tập các đặc trưng (tham khảo thêm về GATE trong chương 3). Ở đây chúng tơi chỉ tạo ra các nhãn “Word” và “Split”.
Mỗi nhãn (annotation) “Word” được tạo mới trên một từ gồm một vài đặc trưng như:
Từ loại (POS): là từ loại của từ. Ví dụ: Np, Nn v.v…(tham khảo tại phụ lục B).
Nội dung (string): là xâu thể hiện từ. Ví dụ: “học sinh”, “đại ca” v.v…
Viết hoa (upper): nếu ký tự đầu tiên của từ viết hoa thì upper = “true”. Ngược lại upper = “false”.
Ngồi ra cịn một số đặc trưng như: kind, nation v.v…để giúp ích cho quá trình viết luật.
Mỗi nhãn “Split” được tạo mới trên một dấu tách câu như: “.”, “?”, “!”, cũng cĩ những đặc trưng tương tự như nhãn “Word”.
Sau khi Coltech.NLP.tokenizer hồn thành, chúng tơi bước vào xây dựng thành phần xử lý chính trong hệ thống gồm hai nguồn xử lý (Processing Resource):
Coltech.Opinion.ListOpinion như một bộ từ điển.
Coltech.Opinion.Rule như một bộ luật.
Hai nguồn xử lý này được xây dựng và phát triển song song cùng với quá trình tạo tập dữ liệu được gán nhãn (Annotated corpus).
4.3.3 Xây dựng bộ từ điển
Bộ từ điển (Coltech.Opinion.ListOpinion) được tạo từ nhiều từ điển với các tiêu chí khác nhau, nhằm nhận dạng một lớp các thực thể nhờ quá trình so khớp đồng thời cũng cung cấp những thơng tin cần thiết cho quá trình nhận dạng trong bộ luật. Mỗi từ điển gồm các từ mang cùng một ý nghĩa nào đĩ, cĩ thể là chứa các thực thể cùng loại như: từ mang nghĩa positive, từ mang nghĩa negative,… hay chứa các từ, cụm từ đĩng những vai trị giống nhau về mặt cú pháp, ngữ nghĩa, hoặc chỉ đơn giản là để sử dụng cho một luật nào đĩ trong bộ luật. Do đây là hướng nghiên cứu mới ngay cả trên thế giới cho nên những bộ từ điển chuẩn dành cho tiếng Việt hiện tại chưa được định nghĩa. Do đĩ mà những bộ từ điển này được chúng tơi xây dựng nhờ những kinh nghiệm cĩ được trong quá trình gán nhãn thủ cơng (bằng tay với sự hỗ trợ của phần mềm Callisto [7]), và vẫn đang được tiếp tục phát triển.
Cĩ thể chia bộ từ điển thành các nhĩm sau:
Những từ điển chứa các tên các thực thể trong nhận dạng Features:
Từ điển những từ liên quan đến cấu hình (feature trong sản phẩm về máy tính): cấu hình, hệ thống, thơng số, vi xử lý, chất lượng xử lý ...
Từ điển những từ liên quan đến kiểu dáng: kiểu dáng, hình thức, thiết kế, thân hình, kích thước, trang trí, màu sắc …
Những từ điển chứa các từ dùng để viết luật xác định từ quan điểm:
Từ điển từ mang tính positive: tốt, tuyệt vời, hồn hảo, nổi bật, hài lịng …
Từ điển từ mang tính negative: xấu, đắt, thơ, phàn nàn, tù túng, thất vọng…
Từ điển từ làm thay đổi ý nghĩa quan điểm (Reverse Opinion): khơng thể, khơng quá, khơng bị, chưa được …
Coltech.Opinion.ListOpinion hoạt động tạo ra một tập các nhãn (annotation) Lookup (loại nhãn mặc định của GATE). Mỗi một nhãn Lookup được tạo mới tương ứng với một từ hoặc cụm từ của văn bản xuất hiện trong bộ từ điển (gazetteer) và chứa các đặc trưng của từ điển (bao gồm majorType và minorType). Như vậy sau hai quá trình xử lý là Coltech.NLP.tokenizer và Coltech.Opinion.ListOpinion, văn bản đã được gán ba kiểu nhãn (annotation) là: “Word”, “Split” và “Lookup” [Hình 11].
Hình 11 - GATE sau khi POS Tag và Lookup
4.3.4 Xây dựng bộ luật
Song song với quá trình xây dựng bộ từ điển (Coltech.Opinion.ListOpinion) chúng tơi tiến hành xây dựng bộ luật (Coltech.Opinion.Rule) – thành phần quan trọng nhất trong hệ thống của chúng tơi. Bộ luật sử dụng các thơng tin do các thành phần khác trong hệ thống (bộ tách từ, bộ gán nhãn từ loại, bộ từ điển) cung cấp để nhận dạng các thực thể (thực thể và loại thực thể). Cĩ thể mơ tả các bước hoạt động của bộ luật do chúng tơi xây dựng như sau:
Tiền xử lý
Loại bỏ các nhãn “Lookup” khơng cần thiết, hoặc cĩ thể đưa những thơng tin sai cho quá trình nhận dạng.
Xử lý
Xác định những từ chỉ quan điểm và phân loại thành 2 hướng positive (PosWord) và negative (NegWord).
Xác định các từ dùng để so sánh CompWord.
Xác định câu đơn (SimpSenten) và phân loại theo 5 hướng positive (PosSen), negative (NegSen), cả hai positive và negative (MixSen), câu thơng thường khơng mang quan điểm và câu so sánh (CompSen).
Bộ luật được phát triển dựa trên những kinh nghiệm của quá trình phân tích lỗi, hay nĩi cách khác nĩ ngày càng hồn thiện hơn sau mỗi lần chúng tơi phát hiện lỗi và sửa lỗi. Để đảm bảo việc phát triển các luật khơng làm ảnh hưởng đến những thành quả đã cĩ của hệ thống, chúng tơi luơn sử dụng unit testing trong suốt quá trình viết luật.
Đây là ví dụ về một luật được viết trên GATE của chúng tơi:
Rule: rulePositive1
Priority: 1
(
(StrongWord)
({Word.category=="O"})?
({Lookup.majorType=="positive"}):name
)
-->
:name.PosWordFirst = {kind = "StrongWord + ? +", type="Positive", rule = "Trich chon positive"}
Luật trên cĩ ý nghĩa:
+ -> từ mang quan điểm
4.3.4.1 Chuẩn hĩa tập nhãn Lookup
Hoạt động đầu tiên của bộ luật là loại bỏ đi những nhãn Lookup chỉ là tiếng khơng phải là từ, khơng mang đúng ngữ nghĩa trong văn cảnh. Ví dụ trong 2 câu:
“Macbook Pro MB471ZPA cĩ giá quá cao. Tuy nhiên chiếc Laptop này vẫn được đánh giá cao.”
Vì trong từ điển chúng tơi xác định từ “giá” để chỉ đến Feature “giá cả” của sản phẩm cho nên khi xây dựng bộ từ điển cũng sẽ xác định luơn từ “giá” trong “đánh giá” là Feature “giá cả”. Những nhãn (annotation) như vậy bị chúng tơi loại bỏ vì nĩ sẽ mang lại những sai lầm trong quá trình nhận dạng.
4.3.4.2 Xác định những từ chỉ quan điểm
Đây được coi như là nhiệm vụ quan trọng cĩ ảnh hưởng trực tiếp đến kết quả của hệ thống. Do vậy nếu như càng đánh giá được chính xác những từ chỉ quan điểm hệ thống càng cĩ độ chính xác cao.
Những từ chỉ quan điểm được xác định dựa trên từ điển các từ chỉ quan điểm tuy nhiên cĩ nhiều từ trong một số ngữ cảnh lại khơng mang ý chỉ quan điểm (như từ “thời trang”: “Phong cách rất thời trang” và “Thiết kế của máy cĩ nét thời trang giống với chiếc xe ơ tơ”) hay lại vừa mang ý positive vừa mang ý negative như từ “cao” nếu nĩi đến cấu hình thì là positive cịn nĩi đến giá cả thì lại là negative.
Thơng thường theo một cách dễ thấy các từ mang ý chỉ quan điểm thường đi cùng với một số từ cĩ ý nghĩa nhấn mạnh như: rất, siêu, khá… Với PosWord cĩ những từ nhấn mạnh như: cực, đáp ứng, tương đối, luơn … Với NegWord thì lại cĩ một số từ khác như: dễ, hơi, gây, bị … Kết hợp những từ nhấn mạnh này với những từ cĩ trong bộ từ điển thì khả năng rất cao từ này mang ý nghĩa quan điểm. Luật mà chúng tơi đưa ra cĩ dạng:
+ + -> từ mang quan điểm
Hay một luật đơn giản thứ hai cần xét đến đĩ là những từ quan điểm hay được người dùng đánh giá bằng nhiều từ để làm rõ lên ý kiến của anh ta (cơ ta) như:
“Laptop cho doanh nhân Acer Aspire 3935 sử dụng thiết kế phá cách, hiện đại.”
Những từ này thường được đi cùng nhau và dùng những liên từ để nối chúng lại. Luật chúng tơi đưa ra là:
Tiếp theo phải kể đến những từ quan trọng làm thay đổi nghĩa của quan điểm. Nĩ cĩ ý nghĩa quan trọng trong việc phân loại. Luật chúng tơi đưa ra cho cơng việc này hiểu theo một cách đơn giản cĩ dạng:
->
Ngồi ra chúng tơi cũng áp dụng nhiều luật khác nhau để đánh giá quan điểm theo cấu trúc câu dựa vào POS tag ở tiền xử lý và mỗi luật mới lại dùng unit testing để kiểm tra và loại bỏ nếu như nĩ làm kết quả trở lên tồi tệ.
4.3.4.4 Xác định từ so sánh
Trong việc xác định từ so sánh chúng tơi chỉ xác định với mục đích giúp cho việc đánh giá quan điểm tốt hơn cho nên khơng xét những câu mang ý nghĩa quan điểm. Cĩ nghĩa từ so sánh ở đây đứng độc lập và khơng kèm theo từ đánh giá quan điểm. Ví dụ: “Laptop của Acer thường cĩ giá hơn hẳn Dell” và khơng xét dạng so sánh này: “Laptop của Acer cĩ giá cao hơn Dell”
So sánh được chia làm 4 loại: so sánh hơn, so sánh kém, so sánh bằng, và so sánh nhất. Với từng loại ta cĩ những từ đi riêng với nĩ và dựa trên những từ đĩ để xác định so sánh.
So sánh bằng: chẳng thua kém, giống với, tương tự như... So sánh hơn thường dựa trên những từ: hơn, hơn so với…
So sánh kém: kém so với, kém hơn, thua kém…
So sánh hơn: hơn hẳn, hơn so với, vượt qua…
So sánh nhất: đứng nhất, đứng đầu…
4.3.3.5 Xác định câu đơn và phân loại
Như đã nĩi ở chương 2 sự phức tạp ở câu là một vấn đề gây nhiều khĩ khăn cho việc đánh giá chính xác quan điểm. Câu càng dài lại càng khĩ khăn để xử lý do đĩ mà chúng tơi tiến hành việc chia những câu ghép thành các câu đơn đơn giản cho việc xử lý. Tuy nhiên dựa trên sự phức tạp của câu cho nên cơng việc này khơng đơn giản chúng tơi chỉ cĩ thể tiến hành một số việc phân tách với độ chính xác tương đối.
Ngồi cách tách câu dựa vào một số dấu câu cơ bản như: “.”, “?”, “!”, “:”, “;”. Chúng tơi xét một số từ thường dùng để tách hai vế của câu như: trong khi đĩ, tuy nhiên… Thêm nữa là một phương pháp tách dựa trên một số luật xét theo cấu trúc câu như:
… …
thì sẽ dùng liên từ làm vị trí tách câu.
Sau khi đã tách các câu thành câu đơn, việc tiếp theo cần làm là phân loại câu đơn này theo 5 hướng:
Câu đánh giá positive (PosSen): chỉ gồm những từ đánh giá positive.
Câu đánh giá negative (NegSen): chỉ gồm những từ đánh giá negative.
Câu đánh giá cả hai hướng (MixSen): cĩ cả hai loại từ đánh giá quan điểm positive và negative.
Câu thơng thường: câu khơng mang từ đánh giá quan điểm nào.
Câu so sánh (CompSen): câu thơng thường mang từ so sánh.
Đối với câu so sánh, do những câu so sánh thường nĩi đến sản phẩm này so với sản phẩm kia trong khi mục đích của chúng tơi hạn hẹp hơn một chút là liên quan đến các Features do đĩ mà chúng tơi coi như câu so sánh là một dạng của câu đánh giá quan điểm. Với mục đích như vậy nên ở câu so sánh chúng tơi coi như sản phẩm đầu tiên mà câu đem ra so sánh là sản phẩm chính của văn bản mà đã được giả thiết rằng văn bản này chỉ nĩi đến sản phẩm đĩ. Câu so sánh lúc này lại được chia làm 3 loại:
So sánh hơn, so sánh nhất và việc phân loại dạng câu này về dạng positive.
So sánh kém: phân loại về dạng negative.
So sánh bằng: câu thơng thường.
4.3.3.6 Xây dựng đánh giá Features
Việc xây dựng đánh giá Features chính là dựa trên sự phân loại các câu đơn. Đối với những câu đơn được chia thành 2 loại PosSen và NegSen thì việc đánh giá Features trở lên dễ dàng hơn vì quan điểm lúc này đã được xác định và việc cịn lại là dựa trên các entity để xác định xem câu đĩ cĩ nĩi đến Features này hay khơng.
Với những câu cĩ cả hai loại đánh giá quan điểm là MixSen chúng tơi phải xét từng thành phần trong câu và những câu này thường cĩ dạng và chúng tơi sẽ coi như những opinion đi sau Feature gần nĩ chính là đánh giá về Feature đĩ.
Kết quả đánh giá về Feature sẽ được tính bằng đơn vị câu (khơng phải số từ đánh giá) là kết quả thu được khi xét những Feature ở trong các câu đã được phân loại như trên. Nếu số câu nĩi về positive nhiều hơn số câu negative thì Feature đĩ được xác định là positive và ngược lại nếu số câu negative nhiều hơn thì xác định là negative.
Chương 5Kết quả thực nghiệm và phân tích lỗi
Dữ liệu của chúng tơi cĩ khoảng 3971 câu ở 20 văn bản tương ứng với 20 sản phẩm mà chúng tơi đã thu thập và xử lý qua để đưa về văn bản chuẩn (Xem phần 4.2 về thu thập dữ liệu). Chúng tơi đánh giá hệ thống trên hai tập dữ liệu, tập dữ liệu được dùng trong quá trình viết luật (tập huấn luyện) gồm 16 văn bản (khoảng 3182 câu), và tập dữ liệu mới (tập kiểm tra) gồm 4 văn bản (khoảng 789 câu). Do giả thuyết của chúng tơi về hệ thống (xem chương 4) mỗi sản phẩm sẽ tương đương với một hoặc nhiều văn bản, tuy nhiên ở đây chúng tơi thiết kế dữ liệu thành mỗi văn bản tương đương với một sản phẩm và đánh giá về sản phẩm chính là đánh giá văn bản tương ứng của nĩ.
5.1 Tiến hành thực nghiệm
Bước 1: Sử dụng hệ thống nhận dạng thực thể trong văn bản tiếng Việt do chúng tơi xây dựng để tự động nhận dạng và gán nhãn.
Bước 2: So sánh tập dữ liệu được gán nhãn tự động và tập dữ liệu chuẩn được gán nhãn thủ cơng (bằng tay với sự hỗ trợ của phần mềm Callisto), qua đĩ đưa ra các thơng số đánh giá chất lượng của hệ thống (Precision, Recall, F-measure).
Chúng tơi đánh giá theo 3 mức: từ, câu và features. Ở mức từ và câu chúng tơi sử dụng so sánh nhãn để đánh giá. Nhãn của từ hay câu gọi là giống nhau khi mà chúng cùng kiểu và vị trí xuất phát, kết thúc của chúng trong văn bản chênh lệch nhau khơng quá mức sai số. Ở đây chúng tơi cho sai số là 1 cĩ nghĩa vị trí cĩ thể sai lệch nhau 1 để tránh trường hợp trong quá trình gán nhãn cĩ gán nhãn thừa các ký tự trống, ký tự đặc biệt,…
5.2 Kết quả thực nghiệm
Chúng tơi chia dữ liệu thực nghiệm thành 2 tập huấn luyện và kiểm tra. Mỗi tập văn bản chúng tơi chọn ra một số văn bản để đánh giá theo 3 mức từ, câu và Features. Mức từ và mức câu chúng tơi đánh giá theo các thơng số cơ bản về chất lượng hệ thống (Precision, Recall, F-measure). Cịn về đánh giá Features chúng tơi sẽ đưa ra một phương pháp mà theo chúng tơi là hợp lý cho hệ thống của chúng tơi.
5.2.1 Kết quả thực nghiệm đánh giá ở mức từ
Ở mức từ chúng tơi chỉ dùng những nhãn từ cần thiết quyết định cho cả hệ thống đĩ là: PosWord (từ quan điểm mang nghĩa tích cực), NegWord (từ quan điểm mang nghĩa tiêu cực) (xem thêm ở phụ lục A về các nhãn). Kết quả của hệ thống chủ yếu dựa vào độ chính xác của 2 loại từ này
Sau đây là kết quả nhận dạng trên tập huấn luyện mới chỉ dừng lại ở kết quả 78.45%, trong tương lai chúng tơi sẽ cải tiến để đạt kết quả tốt hơn nữa.
Bảng 1 - Kết quả nhận dạng từ đánh giá trên tập huấn luyện
Loại
Số thực thể
Số thực thể được nhận dạng
Số thực thể được nhận đúng
Precision
Recall
F-measure
PosWord
441
376
334
88.83 %
75.74 %
82.28 %
NegWord
153
122
93
76.23 %
60.78 %
68.51 %
All
598
502
431
85.86 %
72.07 %
78.97 %
Bảng 2 - Kết quả nhận dạng từ đánh giá trên tập kiểm tra
Loại
Số thực thể
Số thực thể được nhận dạng
Số thực thể được nhận đúng
Precision
Recall
F-measure
PosWord
300
237
214
90.30 %
71.33 %
79.70 %
NegWord
60
62
42
67.74 %
70.00 %
68.85 %
All
362
301
258
85.71 %
71.27 %
77.83 %
Qua tập huấn luyện chúng tơi thu được kết quả với F-measure đạt 78% đối với từ đánh giá (bảng 2).
5.2.2 Kết quả thực nghiệm đánh giá ở mức câu
Ở mức câu chúng tơi đánh giá qua 3 nhãn: PosSen (câu đơn mang nghĩa tích cực), NegSen (câu đơn mang nghĩa tiêu cực), MixSen (câu đơn mang cả 2 nghĩa).
Bảng 3 - Kết quả nhận dạng câu đánh giá trên tập huấn luyện
Loại
Số thực thể
Số thực thể được nhận dạng
Số thực thể được nhận đúng
Precision
Recall
F-measure
PosSen
231
218
154
70.64 %
66.67 %
68.60 %
NegSen
97
96
67
69.79 %
69.07 %
69.43 %
MixSen
9
26
7
26.92 %
77.78 %
40.00 %
All
340
343
231
67.35 %
67.94 %
67.64 %
Bảng 4 - Kết quả nhận dạng câu đánh giá trên tập kiểm tra
Loại
Số thực thể
Số thực thể được nhận dạng
Số thực thể được nhận đúng
Precision
Recall
F-measure
PosSen
157
157
99
63.06 %
63.06 %
63.06 %
NegSen
49
45
34
75.56 %
69.39 %
72.34 %
MixSen
5
21
3
14.29 %
60.00 %
23.08 %
All
212
224
137
61.16 %
64.62 %
62.84 %
Qua đánh giá kiểm tra chúng tơi thu được kết quả đối với đánh giá ở mức câu là 63% (bảng 4). Đối với câu rất khĩ chính xác bởi vì khi chia câu độ chính xác vốn dĩ khơng cao tuy nhiên càng chia câu phức tạp thành câu đơn thì việc đánh giá Feature càng chính xác bởi vì câu lúc này chỉ cĩ 2 dạng đánh giá là positive và negative, số lượng câu cĩ cả 2 sẽ ít đi và độ chính xác về feature được tăng cao.
5.2.3 Kết quả thực nghiệm đánh giá ở mức văn bản theo từng Features
Kết quả của chúng tơi theo Feature là khá đặc biệt và hầu như khơng cĩ hệ thống nào ra kết quả tương tự cho nên ở phần này chúng tơi đưa ra một phương pháp đánh giá sơ bộ cho hệ thống của chúng tơi. Đây chỉ là đánh giá theo hướng cá nhân của chúng tơi và chúng tơi thấy phương pháp là hợp lý và chấp nhận được cho hệ thống.
Chúng tơi đánh giá một sản phẩm và hệ thống đưa các kết quả đo cho từng feature của sản phẩm đĩ. Ở đây tơi kiểm tra 5 features: vanhanh, cauhinh, manhinh, gia, và kieudang. Kết quả đo của hệ thống cĩ dạng a/b với a là độ đo positive, b là độ đo negative; đơn vị đo là số câu đơn giản. Ví dụ 15/10 cĩ nghĩa 15 câu đơn nĩi feature này positive và 10 câu đơn nĩi feature này negative.
Để được các độ đo chuẩn chúng tơi kiểm tra thủ cơng trên văn bản gốc và đưa ra những kết quả theo số đo đã được định nghĩa. Ở đây chúng tơi quy đổi ra theo đơn vị đo độ quan điểm tích cực theo thang đo từ 0.0 -> 1.0 nghĩa là:
0.0 positive nếu Feature đĩ mang tính hồn tồn là tiêu cực khơng cĩ chút tích cực nào.
0.5 positive nếu Feature đĩ mang một nửa là ý kiến là tích cực và một nửa ý kiến là tiêu cực.
1.0 positive nghĩa là Feature này hồn tồn được đánh giá tích cực và khơng cĩ chút tiêu cực nào.
Độ quan điểm tích cực = {số positive} / {số positive + số negative}
Độ lệch quan điểm tích cực = | Độ quan điểm tích cực hệ thống – Độ quan điểm tích cực chuẩn |
Và để đo độ chính xác giữa hệ thống và kết quả chuẩn được đánh giá thủ cơng, chúng tơi định nghĩa correctness theo cơng thức:
Kết quả trung bình 1 văn bản sẽ bằng trung bình cộng của tất cả các features được xét đến.
Bảng 5 - Kết quả đánh giá Acer Aspire 3935 trên tập huấn luyện
Loại
Độ quan điểm tích cực của Feature đánh giá bởi hệ thống (số positive / số negative)
Độ quan điểm tích cực của Feature đánh giá chuẩn (%) (số positive / số negative)
Correctness
vanhanh
0.5833 (14/10)
0.4 (12/18)
81.67 %
cauhinh
0.6 (9/6)
0.6364 (14/8)
96.36 %
manhinh
0.8889 (8/1)
0.8333 (10/2)
94.44 %
gia
0.8333 (1/5)
0.75 (2/6)
91.67 %
kieudang
1.0 (12/0)
1.0 (19/0)
100 %
Average
92.83 %
Bảng 6 - Kết quả đánh giá Apple Macbook Air MB543ZPA trên tập huấn luyện
Loại
Độ quan điểm tích cực của Feature đánh giá bởi hệ thống (số positive / số negative)
Độ quan điểm tích cực của Feature đánh giá chuẩn (%) (số positive / số negative)
Correctness
vanhanh
0.8 (8/2)
0.6875 (11/5)
88.75 %
cauhinh
0.9411 (16/1)
0.8333 (15/3)
89.22 %
manhinh
1.0 (1/0)
0.5 (0/0)
50 %
Gia
0.0 (0/11)
0.0667 (1/14)
93.33 %
kieudang
1.0 (15/0)
1.0 (18/0)
100 %
Average
84.26 %
Bảng 7 - Kết quả đánh giá Acer Aspire AS4736 trên tập huấn luyện
Loại
Độ quan điểm tích cực của Feature đánh giá bởi hệ thống (số positive / số negative)
Độ quan điểm tích cực của Feature đánh giá chuẩn (%) (số positive / số negative)
Correctness
vanhanh
0.6061 (20/13)
0.7059 (24/10)
90.02 %
cauhinh
0.5357 (15/13)
0.5313 (17/15)
99.56 %
manhinh
0.9 (9/1)
0.9231 (12/1)
97.69 %
Gia
0.3636 (4/7)
0.375 (6/10)
98.86 %
kieudang
0.8636 (19/3)
0.8077 (25/5)
94.41 %
Average
96.11 %
Sau khi đánh giá 3 sản phẩm ở tập huấn luyện chúng tơi rút ra kết quả độ chính xác trung bình cho hệ thống:
Bảng 8 - Kết quả đánh giá Feature trên tập huấn luyện
Sản phẩm
Correctness
Acer Aspire 3935
92.83%
Apple Macbook Air MB543ZPA
84.26%
Acer Aspire AS4736
96.11%
All
91.07%
Bảng 9 - Kết quả đánh giá Dell Inspiron 1210 trên tập kiểm tra
Loại
Độ quan điểm tích cực của Feature đánh giá bởi hệ thống (số positive / số negative)
Độ quan điểm tích cực của Feature đánh giá chuẩn (%) (số positive / số negative)
Correctness
vanhanh
1.0 (5/0)
0.875 (7/1)
87.5 %
cauhinh
0.8333 (5/1)
0.625 (5/3)
79.17 %
manhinh
0.6667 (2/1)
1.0 (6/0)
66.67 %
gia
1.0 (3/0)
1.0 (3/0)
100.00 %
kieudang
1.0 (11/0)
88.24 (15/2)
88.24 %
Average
84.32 %
Bảng 10 - Kết quả đánh giá Compaq Presario CQ40 trên tập kiểm tra
Loại
Độ quan điểm tích cực của Feature đánh giá bởi hệ thống (số positive / số negative)
Độ quan điểm tích cực của Feature đánh giá chuẩn (%) (số positive / số negative)
Correctness
vanhanh
0.8 (12/3)
0.75 (15/5)
95.00 %
cauhinh
0.875 (14/2)
0.7826 (18/5)
90.76 %
manhinh
1.0 (10/0)
0.75 (12/4)
75.00 %
gia
0.8333 (10/2)
0.9412 (16/1)
89.21 %
kieudang
1.0 (12/0)
1.0 (16/0)
100.00 %
Average
89.99 %
Bảng 11 - Kết quả đánh giá HP Pavilion dv3 trên tập kiểm tra
Loại
Độ quan điểm tích cực của Feature đánh giá bởi hệ thống (số positive / số negative)
Độ quan điểm tích cực của Feature đánh giá chuẩn (%) (số positive / số negative)
Correctness
vanhanh
0.8182 (18/4)
0.7 (21/9)
88.18 %
cauhinh
0.9 (18/2)
0.7143 (20/8)
81.43 %
manhinh
1.0 (4/0)
1.0 (8/0)
100.00 %
gia
0.0833 (2/22)
0.125 (4/28)
95.83 %
kieudang
0.8824 (15/2)
0.8333 (20/4)
95.09 %
Average
92.11 %
Sau khi đánh giá 3 sản phẩm ở tập huấn luyện chúng tơi rút ra kết quả độ chính xác trung bình cho hệ thống:
Bảng 12 - Kết quả đánh giá Feature trên tập kiểm tra
Sản phẩm
Correctness
Dell Inspiron 1210
84.32 %
Compaq Presario CQ40
89.99%
HP Pavilion dv3
92.11%
All
88.81%
Theo mức tồn bộ văn bản theo từng Features chúng tơi đạt được kết quả là 88.81% theo phương pháp đánh giá của chúng tơi. Đây là cách đánh giá theo phương pháp của chúng tơi mà chúng tơi thấy hợp lý với hệ thống của mình. Trong tương lai chúng tơi hy vọng sẽ cĩ phương pháp khác đánh giá chuẩn xác hơn.
5.2.4 Kết luận chung về kết quả đánh giá
Sau khi thử nghiệm chúng tơi cũng nhận thấy kết quả của chúng tơi hiện tại cũng là rất khả quan theo mức từ (khoảng 77%), theo mức Feature (89%) cịn theo mức câu thì hệ thống cĩ độ chính xác khơng cao lắm (63%) chủ yếu do lỗi tách câu khá lớn. Tuy so với những hệ thống trên thế giới thì kết quả hệ thống của chúng tơi là khơng cao tuy nhiên hệ thống của chúng tơi được xây dựng cho tiếng Việt điều mà chưa cĩ hệ thống nào làm được. Và hệ thống này cũng là mở đầu cho hướng giải quyết các bài tốn dạng này. Tiếp theo từ những kết quả đánh giá chúng tơi sẽ đi sâu hơn về những lỗi sai của hệ thống.
5.3 Phân tích lỗi
Trước hết dữ liệu của chúng tơi tự lấy về từ các trang web trên Internet cho nên khĩ tránh khỏi cĩ nhiều lỗi viết sai của người dùng. Mặc dù chúng tơi đã đọc và sửa lại theo dạng chuẩn tuy nhiên vẫn khơng tránh khỏi cịn cĩ lỗi viết sai, lỗi diễn đạt của người dùng. Trong phần này chúng tơi tập trung vào các lỗi cĩ tầm ảnh hưởng quan trọng đến độ chính xác của hệ thống như là: gán nhãn từ loại (POS tag), luật, tách câu…
5.3.1 Lỗi do gán nhãn từ loại (POS tag)
Chúng tơi sử dụng bộ gán nhãn từ loại trong plugin Coltech.NLP.tokenizer với độ chính xác chưa cao. Việc viết luật phụ thuộc khá nhiều vào cơng việc này chính vì vậy mà với một sai lầm trong cơng việc này cũng ảnh hưởng khơng nhỏ đến độ chính xác của việc nhận dạng các từ, các câu đánh giá quan điểm.
Ví dụ như câu sau:
“Laptop này thỏa mãn được hầu hết các nhu cầu giải trí, làm việc, nhưng vẫn rất thời trang, tiện lợi và thể hiện được đẳng cấp.”
Trong câu này chúng tơi chỉ nhận dạng được 3 từ PosWord là thời trang, tiện lợi và đẳng cấp. Trong khi đĩ từ “thỏa mãn” cũng mang ý nghĩa positive tuy nhiên do bộ gán nhãn từ loại khơng xác định được từ loại của từ đĩ (nhãn là X) [Hình 12] cho nên hệ thống của chúng tơi cũng khơng xác định được từ quan điểm này.
Hình 12 - Lỗi do POS Tag ảnh hưởng đến nhận dạng từ
Một trường hợp nữa khá nguy hiểm khi nĩ làm ảnh hưởng đến việc tách câu như trong ví dụ:
“Kiểu dáng máy đẹp, thời trang và thời lượng dùng Pin dài.”
Trong việc tách câu của chúng tơi, chúng tơi cĩ một luật là:
* +
Thì chúng tơi sẽ tách ở vị trí dấu câu.
Tuy nhiên trong trường hợp này từ “thời trang” theo gán nhãn từ loại là “Na” tức là danh từ trong khi chính xác phải là tính từ. Chính vì vậy làm cho hệ thống tách câu như sau:
“Kiểu dáng máy đẹp” | “thời trang và thời lượng dùng Pin dài.” [Hình 13]
Hình 13 - Lỗi do POS tag ảnh hưởng đến tách câu
5.3.2 Lỗi do luật
Và cuối cùng đây là một lỗi dường như một lẽ tất nhiên. Chúng tơi khơng thể viết chính xác các luật và luật cũng khơng thể chính xác hết cho mọi trường hợp. Chính vì vậy mà việc nhận dạng sai cũng là điều đương nhiên. Ở đây chúng tơi đưa ra một số ví dụ mà với những luật khá cơ bản cũng vẫn cĩ thể sai.
Ví dụ:
“Tuy nhiên, độ nhạy và sự thoải mái khi dùng lâu ở touchpad trên MacBook 13 inch vẫn được đánh giá cao hơn.”
Ở đây từ “lâu” được nhận dạng là từ PosWord dựa trên luật
“ ”
Tuy nhiên trong trường hợp này thì việc nhận dạng này là sai [Hình 14].
Hình 14 - Lỗi do viết luật ảnh hưởng đến nhận dạng từ
5.3.3 Lỗi do tách câu
Ở phần đánh giá chúng tơi cũng đề cập đến việc độ chính xác mức câu là khơng cao và cĩ nĩi nguyên nhân chủ yếu là do tách câu và tất nhiên cũng một phần là do việc nhận dạng từ khơng chuẩn. Lỗi do tách câu thực ra cũng chính là do viết luật nhưng ở đây chúng tơi tách ra để cho thấy được tầm quan trọng của cơng việc này. Việc tách câu ghép thành các câu đơn là khơng hề dễ dàng nhất là với văn bản tiếng Việt thì độ chính xác về phân tích cấu trúc câu khơng cao do đĩ mà chúng tơi khơng thể mượn việc phân tích cấu trúc câu để tách câu. Chúng tơi hồn tồn chỉ dựa vào luật và với sự nhập nhằng các câu gây nên rất nhiều vấn đề khĩ khăn để tách chúng ra.
Ví dụ:
“Một chiếc máy tính hạng sang với tốc độ xử lí, dung lượng ổ cứng... đáp ứng đủ cho yêu cầu đa số nhiều người”
Câu trên được tách thành 2 câu một cách khơng chính xác:
“Một chiếc máy tính hạng sang với tốc độ xử lí”
“dung lượng ổ cứng... đáp ứng đủ cho yêu cầu đa số nhiều người”
Hình 15 – Lỗi do tách câu
Ngồi ra cũng cịn nhiều nguyên nhân từ việc tách từ hay sử dụng bộ từ điển thiếu sĩt tuy khơng phải là vấn đề chủ yếu nhưng trong một vài trường hợp cũng gây ra một số lỗi sai cho hệ thống.
Từ việc phân tích lỗi chúng tơi cũng nhận thấy một số lỗi cĩ khả năng sửa được để nâng cao độ chính xác của hệ thống. Ví dụ như dùng luật chính xác và đầy đủ hơn cho ngữ cảnh hay dùng bộ gán nhãn, tách từ cĩ độ chính xác cao hơn, xây dựng bộ từ điển chuẩn xác hơn, … Đĩ là những cơng việc trong tương lai để hệ thống cĩ độ chính xác cao hơn.
Chương 6 Tổng kết và hướng phát triển
Chúng tơi bước đầu xây dựng một hệ thống đánh giá quan điểm người dùng cho tiếng Việt dựa trên luật và phân lớp ở mức câu. Hệ thống được thiết kế trên nền GATE để cộng đồng cĩ thể dễ dàng tiếp cận và phát triển cho bài tốn đánh giá quan điểm người dùng. Với kết quả độ chính xác được thực hiện trên dữ liệu về máy tính (computer) theo mức từ (F-measure: 77%), mức câu (F-measure: 63%) và mức văn bản theo Features (89%) cĩ thể nĩi là một kết quả đáng khả quan mở đầu cho bài tốn đánh giá quan điểm người dùng trên hệ thống tiếng Việt.
Tuy nhiên trong quá trình xây dựng hệ thống vẫn cịn một vài thiếu sĩt cả do vấn đề khách quan lẫn chủ quan. Trong tương lai chúng tơi sẽ cố gắng phát triển hệ thống một cách chuẩn xác hơn. Bên cạnh hệ thống đánh giá quan điểm cho văn bản tiếng Việt, chúng tơi cịn xây dựng được một tài liệu định nghĩa và một tập dữ liệu đã được gán nhãn chuẩn. Khi tập dữ liệu được gán nhãn đủ lớn, chúng tơi cĩ thể sử dụng thêm các thành phần nhận dạng thực thể (từ, câu, features) bằng các phương pháp học máy, làm tăng sức mạnh của hệ thống. Với những kết quả đã đạt được và khả năng cĩ thể cải tiển hệ thống ở nhiều mặt như: cải tiến bộ từ điển, thêm những thành phần xử lý sâu về ngữ cảnh, kết hợp với bộ nhận dạng sử dụng các phương pháp học máy v.v… sẽ hứa hẹn đem lại một hệ thống đánh giá quan điểm trong văn bản tiếng Việt đạt kết quả cao trong tương lai.
Tài liệu tham khảo
[1] Eric Brill. 1994. Some Advances in Transformation-Based Part of Speech Tagging. Proceedings of the 12th National Conference on Artificial Intelligence. 1994, Menlo Park, CA: AAAI Press, pp722–727.
[2] Rebecca F. Bruce and Janyce M. Wiebe. 1999. Recognizing subjectivity: a case study in manual tagging. Natural Language Engineering 5(2):187–205.
[3] H. Cunningham, D. Maynard, K. Bontcheva, V. Tablan. 2002. GATE, A Framework and Graphical Development Environment for Robust NLP Tools and Applications. Proceedings of the 40th Anniversary Meeting of the Association for Computational Linguistics (ACL'02). Philadelphia, July 2002.
[4] Kenneth Ward Church, Patrick Hanks.1989. Word association norms, mutual information and lexicography. Proceedings of the 27th Annual Meeting of the Association for Computational Linguistics.1989, Vancouver, B.C., Canada, pp76–83.
[5] Dang Duc Pham, Giang Binh Tran, Son Bao Pham. 2009. A Hybrid Approach to Vietnamese Word Segmentation using Part of Speech tags. International Conference on Knowledge and Systems Engineering.
[6] Dat Ba Nguyen, Son Huu Hoang, Son Bao Pham and Thai Phuong Nguyen. 2010. Named Entity Recognition for Vietnamese. Springer Berlin / Heidelberg. April , 2010.
[7] David Day, Chad McHenry, Robyn Kozierok, Laurel Riek. 2004. Callisto: A Configurable Annotation Workbench. In Proceedings of the Fourth International Conference on Language Resources and Evaluation. (LREC 2004). ELRA. May, 2004.
[8] Xiaowen Ding, Bing Liu, Lei Zhang. 2009. Entity Discovery and Assignment for Opinion Mining Applications. Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining.
[9] Andrea Esuli and Fabrizio Sebastiani 2006. Senti-WordNet: A Publicly Available Lexical Resource for Opinion Mining. Proceedings of the 5th Conference on Language Resources and Evaluation (LREC-06). 2006, Genova, Italy.
[10] Christiane Fellbaum. 1998. WordNet: an electronic lexical database. MIT Press.
[11] Vasileios Hatzivassiloglou and Kathleen R. McKeown. 1997. Predicting the Semantic Orientation of Adjectives. Proceedings of the 8th conference on European chapter of the Association for Computational Linguis- tics. 1997, Madrid, Spain.
[12] Minqing Hu and Bing Liu. 2004a. Mining and summarizing customer reviews. Proceedings of the 10th ACM SIGKDD international conference on Knowledge discovery and data mining. Aug. 22–25, 2004, Seattle, WA, USA.
[13] Minqing Hu and Bing Liu. 2004b. Mining opinion features in customer reviews. Proceedings of 9th National Conference on Artificial Intellgience. Jul. 2004, San Jose, USA.
[14] Chris Manning and Hinrich Schutze. 1999. Foundations of Statistical Natural Language Processing. MIT Press, Cambridge, MA.
[15] Tetsuya Nasukawa, Jeonghee Yi. 2003. Sentiment Analysis: Capturing Favorability Using Natural Language Processing. Proceedings of the 2nd international conference on Knowledge capture. Technology systems (SEALTS).
[16] Mary S. Neff, Roy J. Byrd, and Branimir K. Boguraev. 2003. The Talent System: TEXTRACT Architecture and Data Model. Proceedings of the HLT-NAACL2003 Workshop on Software Engineering and Architecture of Language .
[17] Bo Pang, Lillian Lee and Shivakumar Vaithyanathan. 2002. Thumbs up? Sentiment classification using machine learning techniques. Proceedings of the 7th Conference on Empirical Methods in Natural Lan- guage Processing (EMNLP-02).
[18] Bo Pang and Lillian Lee. 2004. A sentiment education: sentiment analysis using subjectivity summrarization based on minimum cuts. Proceedings of the Conference of the Association for Computational Linguistics (ACL-04).
[19] Gong Tianxia. Processing Sentiments and Opinions in Text: A Survey.
[20] Tong. 2001. An operational system for detecting and tracking opinions in online discussion. Proceedings of SIGIR Workshop on Operational Text Classification. 2001, New York, pp1–6.
[21] Peter Turney. 2001. Mining the Web for synonyms: PMI-IR versus LSA on TOEFL. Proceedings of the 12th European Conference on Machine Learning. Berlin: Spinger-Verlag, pp. 491–502.
[22] Peter Turney. 2002. Thumbs up or thumbs down? Semantic orientation applied to unsupervised classification of reviews. Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics (ACL-02). Jun. 2002, Philadelphia, PN, USA, pp.417–424. [23] Peter Turney and Michael Littman. 2002. Unsupervised Learning of Semantic Orientation from a Hundred- Billion-Word Corpus. Technical Report NRC Technical Report ERB-1094. Institute for Information Technology, National Research Council Canada.
[24] Peter Turney and Michael Littman. 2003. Measuring praise and criticism: Inference of semantic orientation from association. ACM Tranctions on Information Systems, 21(4): 315-346.
[25] Janyce M. Wiebe, Theresa Wilson and Matthew Bell. 2001. Identifying collocations for recognizing opinions. Proceedings of the ACL/EACL Workshop on Collocation. 2001.
[26] Hong Yu and Vasileios Hatzivassiloglou. 2003. Towards answering opinion questions: Seperating facts from opinions and identifying the polarity of opinion sentences. Proceedings of the 8th Conference on Empirical Methods in Natural Language Processing (EMNLP-03). 2003, Sapporo, Japan, pp129–136.
Phụ lục A. Annotation Guideline.
Feature tag: những từ nêu lên đặc điểm của sản phẩm như: giá, thiết kế, cấu hình, …
Entity tag: là những từ chính cĩ ý chỉ đến feature của sản phẩm như: bề ngồi -> feature thiết kế, số tiền -> giá, máy -> feature chung cho sản phẩm về computer (laptop và desktop), …
PosWord tag: những từ nêu lên đặc điểm, tính chất của entity cĩ ý nghĩa đánh giá khen: đẹp, tốt, cao (đối với cấu hình), vừa phải (giá cả), nổi bật (thiết kế), bắt mắt (thiết kế), …
NegWord tag: tương tự như PosWord tag nhưng đánh giá chê: xấu, thấp (đối với cấu hình), cao (đối với giá), …
CompWord: những từ mang ý nghĩa so sánh: xấu hơn, đẹp hơn, kém hơn, tốt nhất, tốt hơn so với, … Chú ý những từ so sánh mà khơng mang ý nghĩa so sánh: Máy tốt hơn nếu cấu hình cao hơn -> câu bình thường khơng phải là opinion sentence.
ReverseWord: những từ làm trái ngược ý nghĩa đánh giá như: khơng, khơng phải, chỉ, khơng được, …
PosSen: là 1 câu trong đấy gồm những từ mang ý nghĩa đánh giá tốt. Chỉ gồm PosWord trong câu và khơng cĩ ReverseWord cho PosWord nào, cĩ cả NegWord nhưng cĩ ReverseWord cho NegWord đĩ.
NegSen: trái ngược với PosSen.
MixSen: cĩ cả 2 loại PosWord và NegWord trong câu (tính cả ReverseWord cho nĩ rồi) hay khơng thuộc 2 loại câu trên và ko phải câu ko cĩ ý nghĩa đánh giá.
CompSen: Câu mang từ CompWord.
Phụ lục B. Bảng nhãn từ loại tiếng Việt
Np danh từ riêng proper noun
Nc danh từ đơn thể countable noun
Ng danh từ tổng thể collective noun
Nt danh từ loại thể classifier noun
Nu danh từ chỉ đơn vị concrete noun
Na danh từ trừu tượng abstract noun
Nn danh từ số lượng numeral
Nl danh từ vị trí locative noun
Vt động từ ngoại động transitive verb
Vit động từ nội động intransitive verb
Vim động từ cảm nghĩ impression verb
Vo động từ chỉ hướng orientation verb
Vs động từ tồn tại state verb
Vb động từ biến hố transformation verb
Vv động từ ý chí volotive verb
Va động từ tiếp thụ acceptation verb
Vc động từ so sánh comparative verb
Vm động từ chuyển động move verb
Vla động từ "là" “là” verb
Vtim động từ ngoại động cảm nghĩ transitive-impression verb
Vta động từ ngoại động tiếp thụ transitive-acceptation verb
Vtc động từ ngoại động so sánh transitive-comparative verb
Vtb động từ ngoại động biến hố transitive-transformation verb
Vto động từ ngoại động chỉ hướng transitive-orientation verb
Vts động từ ngoại động tồn tại transitive-state verb
Vtm động từ ngoại động chuyển động transitive-move verb
Vtv động từ ngoại động ý chí transitive-volotive verb
Vitim động từ nội động cảm nghĩ intransitive-impression verb
Vitb động từ nội động biến hố intransitive-transformation verb
Vits động từ nội động tồn tại intransitive-state verb
Vitc động từ nội động so sánh intransitive-comparative verb
Vitm động từ nội động chuyển động intransitive-move verb
Aa tính từ hàm chất quality adjective
An tính từ hàm lượng quantity adjective
Pp đại từ xưng hơ personal pronoun
Pd đại từ khơng gian, thời gian demonstrative pronoun
Pn đại từ số lượng quantity pronoun
Pa đại từ hoạt động, tính chất quality pronoun
Pi đại từ nghi vấn interrogative pronoun
Jt phụ từ chỉ thời gian time adjunct
Jd phụ từ chỉ mức độ degree adjunct
Jr phụ từ so sánh rapport adjunct
Ja phụ từ khẳng định, phủ định adjunct of negation and acceptation
Ji phụ từ mệnh lệnh imperative adjunct
Cm giới từ major/minor conjunction
Cc liên từ combination conjunction
E cảm từ emotion word
I trợ từ introductory word
X khơng xác định
Các file đính kèm theo tài liệu này:
- Kieu Thanh Binh_K51KHMT_Khoa luan tot nghiep dai hoc.doc