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
Trang 1 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
Trang 2 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
Trang 3Lờ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ôngtin 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ầutấ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ạiquan đ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 tybuô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êncứ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
Trang 4Lờ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ừaqua 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ọcCô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àmviệ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
Trang 5Mục lục
Lời mở đầu i
Lời cảm ơn ii
Mục lục iii
Danh sách hình vẽ vi
Danh sách bảng vii
Chương 1 Giới thiệu 1
Chương 2 Các hướng tiếp cận cho bài toán đánh giá quan điểm 3
2.1 Xu hướng các cuộc nghiên cứu gần đây 3
2.1.1 Xác định từ, cụm từ quan điểm 4
2.1.2 Xác định chiều hướng từ, cụm từ quan điểm 4
2.1.3 Phân lớp câu / tài liệu chỉ quan điểm 7
2.2 Những thách thức và công việc có thể trong tương lai 9
2.2.1 Các loại từ khác 9
2.2.2 Thuật ngữ chỉ quan điểm 10
2.2.3 Tính phủ định 10
2.2.4 Cấp độ quan điểm 11
2.2.5 Sự phức tạp của câu / tài liệu 12
2.2.6 Quan điểm theo ngữ cảnh 13
2.2.7 Tài liệu không đồng nhất 13
2.2.8 Một số vấn đề khác 14
Trang 6Chương 3 Giới thiệu GATE 15
3.1 Tổng quan về GATE 15
3.1.1 Mô hình kiến trúc của GATE 16
3.1.2 Những khái niệm cơ bản trong GATE 18
3.2 Xây dựng plugin trên GATE 18
3.3 Các thành phần quan trọng của GATE 21
3.3.1 Bộ từ điển (Gazetteers) 21
3.3.2 Bộ luật JAPE 22
3.4 Các công cụ quản lý chất lượng 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
3.4.2 Công cụ đánh giá chất lượng của hệ thống (Corpus Benchmark tool) 28
Chương 4 Hệ thống đánh giá quan điểm người dùng 30
4.1 Giới thiệu hệ thống 30
4.2 Thu thập dữ liệu và gán nhãn 31
4.2.1 Thu thập dữ liệu 32
4.2.2 Gán nhãn dữ liệu 33
4.3 Xây dựng hệ thống đánh giá quan điểm 34
4.3.1 Mô tả tổng quan hệ thống 35
4.3.2 Tiền xử lý 37
4.3.3 Xây dựng bộ từ điển 38
4.3.4 Xây dựng bộ luật 40
Chương 5 Kết quả thực nghiệm và phân tích lỗi 46
5.1 Tiến hành thực nghiệm 46
Trang 75.2 Kết quả thực nghiệm 47
5.2.1 Kết quả thực nghiệm đánh giá ở mức từ 47
5.2.2 Kết quả thực nghiệm đánh giá ở mức câu 48
5.2.3 Kết quả thực nghiệm đánh giá ở mức văn bản theo từng Features 49
5.2.4 Kết luận chung về kết quả đánh giá 53
5.3 Phân tích lỗi 54
5.3.1 Lỗi do gán nhãn từ loại (POS tag) 54
5.3.2 Lỗi do luật 56
5.3.3 Lỗi do tách câu 57
Chương 6 Tổng kết và hướng phát triển 59
Tài liệu tham khảo 60
Phụ lục A Annotation Guideline 63
Phụ lục B Bảng nhãn từ loại tiếng Việt 64
Trang 8Danh 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
Trang 9Danh 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
Trang 10Chương 1
Giớ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ủaWeb, 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àmthế 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ôngtin 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), hayMachine 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ànthông tin thế nhưng lĩnh vực mà đa số người đều quan tâm, từ những nhà doanhnghiệ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ỏinày nằm trong nghiên cứu về “Opinion Mining” hay còn gọi “phân tích quan điểmngườ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ácnhấ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ệukhổ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 đónthế nào
Trang 11Hệ thống của chúng tôi sử dụng dữ liệu từ trên trang Web http//tinvadung.vnlà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ándự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 chiathà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ộtframework giúp phát triển các thành phần xử lý ngôn ngữ tự nhiên, và được sử dụngvớ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ớicá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 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ữngthá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ườidù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ỗivẫ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
Trang 12Chương 2
Các hướng tiếp cận cho
bài toá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ểmthườ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ướngquan điểm đó Bởi vậy, nhiệm vụ thông thường của hệ thống đánh giá quan điểm baogồ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ềuhướ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ạnhmang 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ếtnhữ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ảiquyế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ónggiữ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
Trang 13lớ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úngthường được chia thành 3 phần chính: xác định từ, cụm từ chỉ quan điểm; xác định xuhướ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ảnnà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ảmxúc, ý kiến người viết; những quan điểm chủ quan đó dựa trên những vấn đề mà anh tahay 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 đầutiê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óacho 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 xuhướ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ệnquan đ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ướngquan đ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ũngchính là phương pháp dựa trên từ vựng
Trang 142.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 xuhướ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ônngữ 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 ramang chiều hướng tích cực (positive) hay tiêu cực (negative) Trong WordNet, cáctí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áinghĩ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ếptheo là tập từ đồng nghĩa kèm theo – nó đại diện cho ngữ nghĩa tương tự như nhữngtí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ướngquan đ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áctí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ọnthủ công (bằng tay) Sau đó sử dụng WordNet để dự đoán định hướng của tất cả cáctí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ưỡngcự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 haykhông Một khi định hướng của tính từ được dự đoán, nó sẽ được bổ sung vào danhsá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áctí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 đầutrù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ừ
Trang 15Hatzivassiloglou và McKeown (1997) [11] đã dùng một phương pháp để rúttrí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 đượcthu thập từ tập corpus khổng lồ khi họ chỉ ra rằng những từ điển như Wordnet khôngbao 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ướngquan đ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ốiliê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ốicù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ướngcủ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ộtthước đo mức độ liên hệ về quan điểm giữa 2 từ được sử dụng Định hướng quan điểmcủ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
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ỉ
Trang 16quan đ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ựctiế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 “Xbeats 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 andSchutze, 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ùngluậ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ápcho 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ệuthà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 khití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 ápdụ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ậnbiế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ệunhư trong Hu và Liu (2004a) [12]; trái lại các tài liệu khác (Pang, 2002 [17]) phân lớpcâ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ự đoán xu hướng câu chỉ quan điểm trong nghiên cứucủ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ỗicâ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
Trang 17cù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 xuhướ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ủachú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ểmtí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ânloại quan điểm trong những lĩnh vực khác nhau thành “recommended” hoặc “notrecommended” Và sau đĩ rút ra các từ / cụm từ chỉ quan điểm dựa trên phương pháptiếp cận của Hatzivassiloglou và McKeown (1997) [11] và nhận biết xu hướng dựatrên phương pháp của Turney (2001) [21] Sau đĩ họ tính tốn hướng ngữ nghĩa họctrung 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ướngbình quân đĩ là tích cực thì quan điểm được phân loại là “recommended”, trường hợpngược lại là “not recommended” Độ chính xác của thuật tốn này là 74,39% Bướccuố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ảiphâ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ủacá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ânloạ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áccâ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ủachúng tơi
Trang 182.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âuphủ định, mức độ của tình cảm (như excellent thì hơn good), các câu / văn bản phứctạ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ảiquyế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ếttriệ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ậptrung 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ốicù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ânloạ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 nhaunhư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 đó đượcphâ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ấtvớ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ù”, ”tuythế 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ậptrung vào 4 loại từ cơ bản là: Danh từ, Động từ, đặc biệt là Tính từ và Phó từ
Trang 192.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àyké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ácthuậ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êuchuẩ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ớigầ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ạnhvà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íchcực, tiêu cực như thế nào trong mỗi synset Phương pháp của họ xây dựngSentiWordNet 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ộtcông cụ mới trong phân tích quan điểm; tuy nhiên, những thuật ngữ này chưa đượcphá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à xuhướng quan điểm chưa được bổ sung để giải quyết các vấn đề đang tồn tại trong lĩnhvự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 chocô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
Trang 20khô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ếtthự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áchkhá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êuchuẩ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áccấ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ũngchỉ xét trong phạm vi khi có 2 loại quan điểm là positive và negative Do đó mà khixuấ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ôithay đổ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à polarity, nhằm xác định ý kiến mang tính khách quan hay chủ quan (Pang và Lee,
SO-2004 [18]; Yu và Hatzivassiloglou, 2003 [26]) Nhiệm vụ thứ hai được gọi là 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áchtiế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 đượcphân tích kỹ lưỡng
PN-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ácnhau 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 độ xuhướ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
Trang 21thà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ínhxá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 ở 2lớ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ứuhiệ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ệcphâ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úngtô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 đốivớ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
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ệuchỉ 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ữngkhí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ạnvă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àonhư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ểmnà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íacạ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íacạ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
Trang 22phá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ộtsả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ôngxem xét nhiều đến ngữ cảnh Một số từ trong các ngữ cảnh khác nhau có thể có POStags 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ướngquan điểm khác nhau Từ “poor” trong “ hiệu suất hệ thống kém (poor)” là một xuhướ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àngcủ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ácnhau 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ả POStagging 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ậttoá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úngtô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ĩnhvực khác nhau có mức độ khó khác nhau trong việc phân loại quan điểm Theo như kếtquả được nói đến trong Turney (2002) [22], độ chính xác của việc phân lớp là khác
Trang 23nhau 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áclĩnh vực đề cập khác nhau trong những tài liệu đã được nói đến ở mục 2.2.5 Trongnhữ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ểnnhằ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ớpquan đ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ườidù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
Trang 24Chương 3
Giớ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ônngữ 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ônngữ
+) 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áccô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 – Anhphát triển (H Cunningham – 2002 [3]) Có thể download phiên bản mới nhất (version5.0) của GATE miễn phí tại địa chỉ: http://gate.ac.uk/download/index.html
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ủaGATE Đây là một hình ảnh về GATE 5.0 [Hình 1]:
Trang 25Hì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]:
Trang 26Hì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 trongManage 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ácnhau 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,…
Trang 27 Tầng nguồn ngôn ngữ (Language Resource Layer): gồm nhiều tập dữ liệu khácnhau 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 (AnnotationSet)
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ủacá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ôigồm các thành phần:
Bộ từ điển – Coltech.Opinion.ListOpinion
Trang 28 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ớpAbstractProcessingResource 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 :
<! Comment that appears when mouse hovers over the PR Name >
<COMMENT>A program demo the Vietnamese Natural Language Processing</COMMENT>
Trang 29%GATE- Cách 2: Chọn File -> Manage CREOLE plugins -> Add new CREOLErepository -> Select a directory và chọn thư mục chứa thành phần tích hợp mớitạ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ệcGATE 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
Trang 30Hì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 địnhnghĩ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:
o từ điển theo tên người: Kiều Thanh Bình, Nguyễn Bá Đạt, Nguyễn QuốcĐạt, …
Trang 31o 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…
o 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:
o từ điển các thành phần đứng trước tên người: Mr, Mrs, Miss, Sir v.v…
o 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áomộ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ệnmộ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
LHS (left-hand-side) RHS (right-hand-side)
Trang 32Luật JAPE gồm 2 thành phần chính: mệnh đề trái (LHS) là các biểu thức chínhquy 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).
Trang 33Các mẫu được gán trong mệnh đề trái sẽ được sử dụng trong mệnh đề phải (RHS).
và 3 đặc trưng (feature) là kind = “Trich chon positive” và rule = “StrongWord +
<PosWord>”.
3.3.2.2 Thành phần thay thế (Macros)
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ạicá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ậpcá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 thaythế đã được khai báo thì mọi luật trong bộ luật đều có thể sử dụng nó mà không cầnphả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"}
)
Trang 34Sử 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 + <PosWord> "}
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ã JAVAvà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…
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 = <kiểu điều khiển (chẳng hạn applet)>
o “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ănbả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
Trang 35tiế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).
o “all”: tương tự như “brill” nó cho phép thực hiện nhiều luật trên cùngmột đoạn văn bản Tuy nhiên có điểm khác biệt với “brill” đó là: điểmbắ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”
o “first”: luật được thực hiện ngay khi quá trình so khớp đầu tiên đượcthỏa mãn Bởi vậy nó không thích hợp cho các luật sử dụng “*”, “+”,
“?”
o “once”: chỉ có luật đầu tiên thỏa mãn quá trình so khớp được thực hiện
o “appelt”: chỉ một luật thỏa mãn quá trình so khớp và có độ thực thi caonhấ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 sokhớ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ănbản thì luật nào được định nghĩa độ ưu tiên cao hơn sẽ có độ thựcthi 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ácmệnh đề trái (quá trình so khớp)
Ví dụ:
Phase: Entity
Input: Word Split Lookup
Options: control = appelt
Trang 363.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âydự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ườiphá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ãntrê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
Trang 37Tuy nhiên điểm hạn chế của “Annotation Diff” là chỉ so sánh được từng cặpvă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ôngthể dùng Annotation Diff mà chỉ dùng nó trong quá trình xây dựng từng luật cần nhìntrự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 đượcnhữ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