Một trong những lý do chính là chúng ta còn thiếu các công cụ xử lý tiếng Việt, các tài nguyên ngôn ngữ học, … Khóa luận Phương pháp nâng cao chất lượng kết quả trả lời cho hệ thống hỏi
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thanh Sơn
PHƯƠNG PHÁP NÂNG CAO CHẤT LƯỢNG
KẾT QUẢ TRẢ LỜI CHO
HỆ THỐNG HỎI ĐÁP DANH SÁCH TIẾNG VIỆT
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ Thông tin
HÀ NỘI - 2010
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thanh Sơn
PHƯƠNG PHÁP NÂNG CAO CHẤT LƯỢNG
KẾT QUẢ TRẢ LỜI CHO
HỆ THỐNG HỎI ĐÁP DANH SÁCH TIẾNG VIỆT
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ Thông tin
Cán bộ hướng dẫn: PGS.TS Hà Quang Thụy
Cán bộ đồng hướng dẫn: ThS Trần Mai Vũ
HÀ NỘI - 2010
Trang 3Lời cảm ơn
Trước tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Phó Giáo sư Tiến sĩ Hà Quang Thụy, Thạc sĩ Trần Mai Vũ và Cử nhân Lê Hoàng Quỳnh – những người đã tận tình chỉ bảo và hướng dẫn tôi trong quá trình thực hiện khoá luận tốt nghiệp
Tôi chân thành cảm ơn các thầy, cô và cán bộ của trường Đại Học Công Nghệ đã tạo cho tôi những điều kiện thuận lợi để học tập và nghiên cứu
Tôi cũng xin gửi lời cảm ơn tới các anh chị và các bạn sinh viên trong phòng thí nghiệm Sislab đã giúp tôi rất nhiều trong việc thu thập và xử lý dữ liệu
Cuối cùng, tôi muốn gửi lời cảm ơn tới gia đình và bạn bè, những người thân yêu luôn bên cạnh, động viên tôi trong suốt quá trình thực hiện khóa luận tốt nghiệp Tôi xin chân thành cảm ơn!
Sinh viên Nguyễn Thanh Sơn
Trang 4Tóm tắt
Nhờ khả năng hỗ trợ người dùng trong việc khai thác các tài nguyên trên Internet một cách hiệu quả và dễ dàng, hệ thống hỏi đáp nói chung đã được quan tâm nghiên cứu từ khá lâu, tuy nhiên các dạng hệ thống hỏi đáp đặc biệt, trong đó có hệ thống hỏi đáp danh sách vẫn còn đang ở bước đầu phát triển Hệ thống hỏi đáp danh sách là hệ thống hỏi đáp, nhận đầu vào là câu hỏi dưới dạng ngôn ngữ tự nhiên và trả về câu trả lời dưới dạng một danh sách Tại Việt Nam, các nghiên cứu về hệ thống hỏi đáp nói chung, cũng như về hệ thống hỏi đáp danh sách nói riêng tập trung cho miền dữ liệu tiếng Việt còn rất nhiều hạn chế Một trong những lý do chính là chúng ta còn thiếu các công cụ xử lý tiếng Việt, các tài nguyên ngôn ngữ học, …
Khóa luận Phương pháp nâng cao chất lượng kết quả trả lời cho hệ thống hỏi
đáp danh sách tiếng Việt tập trung nghiên cứu các phương pháp xây dựng hệ thống hỏi
đáp danh sách đã được áp dụng trên thế giới cũng như một số phương pháp nâng cao chất lượng kết quả trả lời cho dạng hệ thống hỏi đáp này Trên cơ sở các nghiên cứu nói trên, kết hợp với việc khảo sát điều kiện thực tế của các công cụ xử lý ngôn ngữ tiếng Việt, khóa luận đề xuất mô hình nâng cao chất lượng kết quả trả lời cho hệ thống hỏi đáp danh sách tiếng Việt sử dụng luật Wrapper và luật ngữ nghĩa Thực nghiệm
mô hình cho kết quả khá khả quan, đạt độ chính xác cho câu trả lời chứa 5 kết quả là 93.87% so với độ chính xác 82.11% của pha hỏi đáp danh sách, đồng thời hứa hẹn nhiều tiềm năng nghiên cứu mới
Trang 5Mục lục
Lời mở đầu 1
Chương 1 Giới thiệu hệ thống hỏi đáp danh sách 3
1.1 Hệ thống hỏi đáp 3
1.1.1 Giới thiệu chung 3
1.1.2 Một số vấn đề cần quan tâm 4
1.1.3 Các bước xử lý chung 5
1.1.4 Tiêu chuẩn đánh giá 6
1.1.5 Phân loại 7
1.2 Hệ thống hỏi đáp danh sách 10
1.2.1 Giới thiệu 10
1.2.2 Một số hướng tiếp cận xây dựng hệ thống hỏi đáp danh sách 10
1.2.3 Những vấn đề cần giải quyết khi xây dựng hệ hỏi đáp danh sách 11
Chương 2 Các nghiên cứu liên quan 13
2.1 Một số hệ thống hỏi đáp danh sách điển hình 13
2.1.1 Hệ thống hỏi đáp danh sách FADA 16
2.1.2 Hệ thống hỏi đáp Ephyra 20
2.2 Nâng cao chất lượng trả lời cho hệ thống hỏi đáp danh sách 23
Chương 3: Đề xuất mô hình nâng cao chất lượng câu trả lời cho hệ thống hỏi đáp danh sách tiếng Việt 28
3.1 Mô hình nâng cao chất lượng câu trả lời cho hệ thống hỏi đáp danh sách tiếng Việt 28
3.2 Pha 1: Hỏi đáp danh sách tiếng Việt 29
3.2.1 Tìm kiếm câu trả lời dựa vào các mẫu quan hệ thượng hạ danh 29
3.2.2 Mô hình pha 1: Hệ thống hỏi đáp danh sách 30
3.3 Pha 2: Mở rộng thực thể 32
Trang 63.3.1 Xây dựng các luật Wrapper 33
3.3.2 Các phương pháp xếp hạng được sử dụng 35
3.3.3 Mô hình pha 2: mở rộng thực thể 35
Chương 4 Thực nghiệm và đánh giá 39
4.1 Thực nghiệm pha hỏi đáp danh sách 39
4.1.1 Dữ liệu thực nghiệm 39
4.1.2 Kết quả thực nghiệm 40
4.2 Thực nghiệm đánh giá kết quả mô hình nâng cao chất lượng câu trả lời cho hệ thống hỏi đáp danh sách tiếng việt 42
Kết luận 47
Phụ lục 49
Tài liệu tham khảo 51
Trang 7Danh sách các bảng
Bảng 1 5 kết quả cao nhất tại TREC-12 (Voorhees, 2003) 13
Bảng 2 Các lớp trang web 17
Bảng 3 Hiệu suất của tập kiểm thử trong TREC-12 20
Bảng 4 Cây kế thừa thực thể tên và các mẫu loại 22
Bảng 5 Kết quả thực thi SEAL với các thuật toán đánh giá và số lượng tập mồi khác nhau 25
Bảng 6 Ví dụ các truy vấn và chất lượng văn bản thu thập tương ứng 26
Bảng 7 Độ chính xác trung bình của Ephyra 27
Bảng 8 Độ đo trung bình F1 của Ephyra 27
Bảng 9 Một số mẫu quan hệ thượng hạ danh trong tiếng Anh và tiếng Việt 30
Bảng 10 Ví dụ về câu hỏi danh sách và từ khóa tương ứng 39
Bảng 11 Kết quả thực nghiệm pha hỏi đáp danh sách tiếng Việt 40
Bảng 12 Kết quả thực nghiệm mô hình nâng cao sử dụng 2 thực thể mồi 42
Bảng 13 Kết quả thực nghiệm mô hình nâng cao sử dụng 3 thực thể mồi 43
Bảng 14 Kết quả thực nghiệm mô hình nâng cao – 4 kết quả đầu vào 44
Trang 8Danh sách các hình
Hình 1 Các bước chung của hệ thống hỏi đáp 5
Hình 2 Xu hướng trong nghiên cứu về hệ thống hỏi đáp 8
Hình 3 Ví dụ về một Snippet trả về từ máy tìm kiếm 22
Hình 4 Mô hình thực nghiệm nâng cao chất lượng kết quả trả lời trong 28
Hình 5 Ví dụ về quan hệ thượng hạ danh 29
Hình 6 Mô hình pha 1 - Hỏi đáp danh sách tiếng Việt 30
Hình 7 Ví dụ cấu trúc web 33
Hình 8.Ví dụ văn bản bán cấu trúc 34
Hình 9 Mô hình pha 2 - Mở rộng thực thể 36
Trang 9Danh sách các biểu đồ
Biểu đồ 1 Kết quả của mỗi loại câu hỏi trong tập dữ liệu kiểm thử - TREC, 2007 15 Biểu đồ 2 Số lượng từ khóa được đáp ứng với số lượng khác nhau của tập kết quả 40 Biểu đồ 3 Độ chính xác của các kết quả trong thực nghiệm pha hỏi đáp danh sách tiếng Việt 41 Biểu đồ 4 So sánh độ chính xác câu trả lời 44 Biểu đồ 5.Khả năng đáp ứng từ khóa của hệ thống trong các trường hợp 45
Trang 101
Lời mở đầu
Internet ngày nay, một mặt đã trở thành kho tài nguyên thông tin khổng lồ và phong phú, nhưng mặt khác, việc thông tin được tổ chức dưới dạng không cấu trúc hoặc bán cấu trúc cũng khiến cho việc nắm bắt thông tin trở nên khó khăn Máy tìm kiếm đã hỗ trợ khá đắc lực cho người dùng, tuy nhiên, để có thông tin mong muốn, người dùng phải tự tìm trong các trang web mà máy tìm kiếm trả về Đây là một công việc tốn rất nhiều thời gian và công sức bởi số lượng các trang web được trả về bởi máy tìm kiếm thường là rất lớn Chính vì vậy hệ thống hỏi đáp đã ra đời, nhằm mục đích tìm kiếm câu trả lời ngắn gọn và chính xác nhất cho người dùng thay vì trả về các văn bản Các câu hỏi của người dùng thường rất đa dạng và yêu cầu các loại câu trả lời cũng khác nhau Một trong những hướng nghiên cứu mới và đang được chú ý hiện nay chính là về hệ thống hỏi đáp danh sách
Thay vì chỉ có một kết quả trong câu trả lời, hệ thống hỏi đáp danh sách thường phải trả về câu trả lời là một danh sách các kết quả Đây chính là đặc điểm khác biệt nhất giữa hệ thống hỏi đáp danh sách và các hệ thống hỏi đáp khác Trả về câu trả lời chứa đầy đủ và chính xác các kết quả chính là một trong những mục tiêu được chú trọng nhất được hướng đến khi xây dựng hệ thống hỏi đáp danh sách Tuy nhiên, đó cũng chính thách thức lớn nhất mà các nhà nghiên cứu gặp phải
Khóa luận Phương pháp nâng cao chất lượng kết quả trả lời cho hệ thống hỏi
đáp danh sách tiếng Việt thực hiện việc khảo sát, nghiên cứu một số phương pháp đã
được sử dụng trong một số hệ thống hỏi đáp danh sách, cũng như tìm hiểu một vài nghiên cứu về việc nâng cao chất lượng trả lời cho hệ thống hỏi đáp danh sách, từ đó đưa ra phương pháp phù hợp để giải quyết bài toán này cho miền dữ liệu tiếng Việt Khóa luận đề xuất một mô hình giải quyết bài toán gồm 2 pha chính:
(1) Pha hỏi đáp danh sách, tìm câu trả lời dựa vào các luật thượng hạ danh
(hyponym)
(2) Pha nâng cao chất lượng cho câu trả lời của pha hỏi đáp danh sách dựa vào các phương pháp mở rộng thực thể
Nội dung của khóa luận bao gồm các chương sau:
Chương 1 Giới thiệu hệ thống hỏi đáp danh sách Chương 1 trình bày những
nội dung cơ bản về hệ thống hỏi đáp nói chung và hệ thống hỏi đáp danh sách nói riêng
Chương 2 Các nghiên cứu liên quan Chương 2 điểm qua một số các nghiên
cứu liên quan trên thế giới cũng như tại Việt Nam về hệ thống hỏi đáp nói chung, cũng
Trang 112
như hệ thống hỏi đáp danh sách nói riêng và bài toán mở rộng thực thể Khóa luận tập trung tìm hiểu các phương pháp được áp dụng trong hai hệ thống hỏi đáp danh sách tiêu biểu là FADA và Ephyra Cùng với đó, chương này cũng giới thiệu về các nghiên cứu đã có để nâng cao chất lượng câu trả lời cho hệ thống hỏi đáp danh sách, trong đó tập trung cho hướng nâng cao bằng mở rộng thực thể
Chương 3.Đề xuất mô hình nâng cao chất lượng câu trả lời cho hệ thống hỏi đáp danh sách tiếng Việt Chương 3 trình bày về mô hình nâng cao chất lượng cho hệ thống hỏi đáp danh sách tiếng Việt mà khoá luận đề xuất Mô hình này gồm 2 pha chính là pha hỏi đáp danh sách và pha mở rộng thực thể
Chương 4 Thực nghiệm và đánh giá Tiến hành thực nghiệm để kiểm tra chất
lượng của phương pháp đã đề xuất bằng cách thực nghiệm riêng pha hỏi đáp danh sách
và thực nghiệm có sử dụng bước nâng cao kết quả trong mô hình, từ đó đưa ra đánh giá
Kết luận và hướng phát triển khóa luận: Tóm lược những nội dung chính của
khóa luận.Đồng thời đưa ra những hướng nghiên cứu trong thời gian sắp tới dựa vào
các định hướng khắc phục một vài hạn chế vẫn còn tồn tại
Trang 123
Chương 1 Giới thiệu hệ thống hỏi đáp danh sách
1.1 Hệ thống hỏi đáp
1.1.1 Giới thiệu chung
Sự phát triển ngày càng mạnh mẽ của World Wide Web đã đưa ra thách thức khai phá các thông tin trên web một cách hiệu quả hơn Tuy kết quả trả về của các máy tìm kiếm ngày càng được nâng cao chất lượng nhưng kết quả vẫn là danh sách các tài liệu có chứa câu truy vấn Người dùng muốn có thông tin thì phải tự tìm trong các trang web đó Đây là một công việc tốn rất nhiều thời gian và công sức bởi số lượng các trang web được trả về bởi máy tìm kiếm thường là rất lớn Chính vì vậy hệ thống hỏi đáp đã ra đời, nhằm mục đích tìm kiếm câu trả lời ngắn gọn và chính xác nhất cho người dùng thay vì trả về các văn bản
Khái niệm hệ thống hỏi đáp: Hệ thống hỏi đáp là hệ thống đuợc xây dựng để
thực hiện việc tìm kiếm tự động câu trả lời từ một tập lớn các tài liệu cho câu hỏi đầu vào một cách chính xác và ngắn gọn [30]
Nhiệm vụ của hệ hỏi đáp là tự động tìm ra câu trả lời cho câu hỏi dưới dạng ngôn ngữ tự nhiên Để tìm được câu trả lời, hệ hỏi đáp phải sử dụng các nguồn dữ liệu có cấu trúc như cơ sở dữ liệu hoặc một tập các văn bản không có cấu trúc Tuy nhiên, như
đã biết, ngôn ngữ tự nhiên chứa các yếu tố nhập nhằng, đa nghĩa, việc xác định được ngữ nghĩa của câu hỏi cũng như tìm ra câu trả lời là một thách thức không nhỏ Không những vậy, giữa câu hỏi và câu trả lời còn tồn tại các quan hệ “ngầm” hay phụ thuộc ngữ cảnh
Ví dụ câu hỏi
“Ai là tác giả của Dế mèn phiêu lưu ký?”
Một câu trả lời là:
“Tô Hoài đã viết tác phẩm văn xuôi Dế mèn phiêu lưu ký”
Hoặc câu hỏi là “Beethoven sinh năm nào?”
Thì một câu trả lời là “Ludwig van Beethoven (1770-1827)”
Để tìm được câu trả lời cho câu hỏi “Ai là tác giả của Dế mèn phiêu lưu ký?”, hệ thống cần có cơ chế để biết được rằng “tác giả của một tác phẩm là người viết tác phẩm đó” hoặc cần học được các mẫu thường gặp của câu trả lời (các mẫu về ngày tháng năm sinh, về thời gian, địa chỉ….) tương ứng với từng loại câu hỏi Các hệ thống
Trang 134
hỏi đáp hiện nay sử dụng các công cụ xử lý ngôn ngữ tự nhiên như bộ gán nhãn từ loại
(POS Tagger), bộ nhận dạng thực thể định danh (Named Entity Recognizer), bộ phân tích ngữ pháp (Parser)… và các tài nguyên ngôn ngữ như Wordnet [11], ontology [23]
để phân tích câu hỏi và trích xuất câu trả lời
Hệ thống hỏi đáp đang nhận được rất nhiều sự quan tâm của các nhà nghiên cứu
và các doanh nghiệp công nghệ thông tin, có ý nghĩa cả về khoa học lẫn thực tiễn Rất nhiều hội nghị thường niên về trích chọn thông tin và khai phá dữ liệu dành một chủ
đề riêng cho các nghiên cứu về hệ thống hỏi đáp TREC1, CLEF2
Hiện đã có một số hệ thống hỏi đáp ra đời Một số hệ thống hỏi đáp tiêu biểu được biết đến như: Answer.com3, START4, Ask Jeeves5, Webclopedia [9], FADA [14], Ephyra [22], trong đó, FADA, Ephyra là các hệ thống hỏi đáp danh sách sẽ được giới thiệu chi tiết hơn ở chương 2
1.1.2 Một số vấn đề cần quan tâm
Năm 2002, John Burger và cộng sự [7] đã đưa ra một số vấn đề cần quan tâm khi xây dựng một hệ thống hỏi đáp như sau:
Loại câu hỏi: Đầu vào của hệ thống hỏi đáp là câu hỏi của người dùng dưới
dạng ngôn ngữ tự nhiên Câu hỏi trong ngôn ngữ tự nhiên rất đa dạng, nhiều
ẩn ý, nhiều nhập nhằng và phụ thuộc vào ngữ cảnh hỏi Một số loại câu hỏi đang được quan tâm trong hệ hống hỏi đáp như câu hỏi về sự vật, sự kiện, định nghĩa, danh sách, quá trình, cách thức, lý do… Mỗi loại câu hỏi có những đặc trưng và khó khăn riêng, đòi hỏi phải có các chiến lược để trả lời chúng
Xử lý câu hỏi: Một câu hỏi có thể được diễn đạt bằng nhiều cách khác nhau
Vì thế, việc xử lý câu hỏi là xác định được các câu hỏi tương tự, các quan hệ ngữ pháp, loại câu hỏi, đồng thời có thể chuyển một câu hỏi phức tạp thành chuỗi các câu hỏi đơn giản hơn
Ngữ cảnh: Câu hỏi thường được gắn với ngữ cảnh và câu trả lời cũng được
đưa ra trong một ngữ cảnh xác định Việc sử dụng các thông tin về ngữ cảnh
Trang 145
giúp hệ thống hỏi đáp hiểu câu hỏi một cách rõ ràng, loại bỏ được các nhặp nhằng và tăng tính chính xác khi trả lời câu hỏi
Nguồn dữ liệu: một hệ thống hỏi đáp cho dù có hoạt động thông minh đến
đâu cũng không thể tìm được chính xác câu trả lời nếu như câu trả lời đó không nằm trong tập dữ liệu Chính vì thế, hệ thống hỏi đáp cần phải có nguồn dữ liệu phong phú, có thể là sách, báo chí hay các trang web Tuy nhiên cần đảm bảo nguồn dữ liệu có độ tin cậy và thông tin chính xác cao
Trích xuất câu trả lời: Việc trích xuất câu trả lời phụ thuộc vào nhiều yếu tố:
độ phức tạp của câu hỏi, loại câu hỏi có được từ quá trình xử lý câu hỏi, dữ liệu chứa câu trả lời, phương pháp tìm kiếm và ngữ cảnh, Câu trả lời cho người dùng cần phải đảm bảo chính xác và đầy đủ
1.1.3 Các bước xử lý chung
Các hệ thống hỏi đáp hiện nay có kiến trúc khác nhau tùy thuộc vào loại hệ thống hỏi đáp Tuy nhiên các hệ thống hỏi đáp đều bao gồm ba bước cơ bản như hình 1 [5]
Sự khác nhau giữa các hệ thống hỏi đáp là ở quá trình xử lý trong từng bước, đặc biệt
là ở cách tiếp cận trong việc xác định câu trả lời
Bước1 - Phân tích câu hỏi: Đây là bước đầu tiên của hệ hỏi đáp Đầu vào là câu
hỏi dưới dạng ngôn ngữ tự nhiên Tại bước này, hệ thống phân tích câu hỏi để tạo truy
vấn cho bước trích chọn tài liệu liên quan và tìm ra những thông tin hữu ích cho bước
trích xuất câu trả lời
Bước2 - Thu thập tài liệu: Bước này sử dụng câu truy vấn được tạo ra ở bước
phân tích câu hỏi, truy vấn trên các công cụ tìm kiếm để tìm các tài liệu phục vụ cho việc tìm kiếm câu trả lời
Bước3 - Trích xuất câu trả lời: Bước này phân tích tập tài liệu đã thu thập được
ở bước 2 và sử dụng các thông tin hữu ích do bước phân tích câu hỏi cung cấp để tìm kiếm, trích chọn và đưa ra câu trả lời chính xác nhất cho câu hỏi của người dùng
Phân tích câu hỏi
Thu thập tài liệu
Trích xuất câu trả lời
trả lời
Hình 1 Các bước chung của hệ thống hỏi đáp
Trang 156
1.1.4 Tiêu chuẩn đánh giá
Năm 2002, John Burger và cộng sự [7] đã tổng kết một số tư tưởng chung cho việc nghiên cứu hệ thống hỏi đáp Theo đó một hệ thống hỏi đáp được người dùng đánh giá là hữu ích nếu đáp ứng được các tiêu chuẩn sau:
Tính hợp lý về thời gian (Timeliness): hệ thống cần đưa ra câu trả lời trong
khoảng thời gian hợp lý, ngay cả khi có nhiều người dùng cùng truy nhập hệ thống Hệ thống cần luôn cập nhật dữ liệu để có thể cung cấp cho người dùng câu trả lời chính xác, kể cả đối với những câu hỏi mang tính chất thời
sự
Tính chính xác: tính chính xác của hệ thống hỏi đáp là cực kì quan trọng,
việc đưa ra câu trả lời sai còn tai hại hơn là không đưa ra câu trả lời Chính
vì thế, khi nghiên cứu về hệ thống hỏi đáp cần tập trung vào việc đánh giá tính đúng đắn của câu trả lời Trong đó bao gồm cả các phương pháp để phát hiện các trường hợp mà tập dữ liệu được xét không chứa câu trả lời Các thông tin mâu thuẫn trong dữ liệu cũng cần được tìm ra và các thông tin này cần được xử lý một cách phù hợp và nhất quán Để đạt được tính chính xác,
hệ thống hỏi đáp cần kết hợp chặt chẽ các nguồn tri thức (world knowledge)
và cơ chế “bắt chước” việc suy luận thông thường
Tính khả dụng: thông thường, tri thức trong hệ thống hỏi đáp cần đáp ứng
được như cầu của người dùng Các ontology trên từng miền cụ thể và ontology trên miền mở cần được tích hợp trong hệ thống Để tìm ra câu trả lời thì các hệ hỏi đáp thường xét trên nhiều dữ liệu khác nhau Thông tin về câu trả lời có thể nằm trong dữ liệu văn bản, trong cơ sở dữ liệu, trong các đoạn phim hay các nguồn đa phương tiện khác Một hệ thống phải đáp cần
có khả năng khai phá câu trả lời từ các nguồn dữ liệu khác nhau và đưa ra câu trả lời ở bất kỳ định dạng nào mà người dùng mong muốn Hơn nữa, hệ thống hỏi đáp nên có khả năng cho phép người dùng mô tả ngữ cảnh của câu hỏi và nên cung cấp các thông tin giải thích, trích dẫn nguồn cho câu trả lời
Tính hoàn chỉnh: khả năng đưa ra được câu trả lời hoàn chỉnh cho câu hỏi
của người dùng chính là điều mà các hệ thống hỏi đáp hướng tới Trong nhiều trường hợp (câu hỏi về danh sách, nguyên nhân, cách thức…), các phần của câu trả lời nằm rải rác trong một văn bản, thậm chí trong nhiều văn
Trang 167
bản Vì vậy cần phải hợp nhất các phần này dựa trên các thông tin liên kết
để tạo ra câu trả lời hoàn chỉnh
Tính thích hợp: Câu trả lời cho một câu hỏi của người dùng cần phải thích
hợp với ngữ cảnh cụ thể Thông thường một số trường hợp, hệ thống hỏi đáp
có khả năng giao tiếp (interactive Q&A) có thể là cần thiết, trong đó chuỗi
các câu hỏi liên quan đến một vấn đề sẽ giúp làm sáng tỏ thông tin mà người dùng đang hỏi Việc đánh giá một hệ thống hỏi đáp cần hướng tới người dùng bởi ý kiến người dùng là đánh giá tốt nhất cho tính thích hợp của một
hệ thống hỏi đáp
Các tiêu chuẩn trên được xem xét đến với mong muốn xây dựng được một hệ thống hỏi đáp hoàn chỉnh Tuy nhiên, không phải hệ thống nào cũng có khả năng thông minh và hoàn thiện như thế Các nghiên cứu về hệ thống hỏi đáp hiện nay đang tập trung vào xây dựng hệ thống hỏi đáp có tính chính xác cao và có khả năng sử dụng nguồn dữ liệu web khổng lồ trên Internet
1.1.5 Phân loại
Dựa trên các tiêu chí khác nhau mà có các cách phân loại hệ thống hỏi đáp khác nhau như: phân loại theo miền ứng dụng, theo khả năng trả lời câu hỏi, theo cách tiếp cận giải quyết bài toán…
1.1.5.1 Phân loại theo miền ứng dụng (domain)
Khi phân loại theo miền ứng dụng, hệ thống hỏi đáp được phân làm hai loại đó là
Hệ thống hỏi đáp miền đóng và Hệ thống hỏi đáp miền mở
Hệ thống hỏi đáp miền đóng (Closed Domain Question Answering): Hệ thống
tập trung vào trả lời các câu hỏi liên quan đến một miền dữ liệu cụ thể (giáo dục, y tế,
du lịch ) Xây dựng hệ thống hỏi đáp miền đóng được coi là bài toán dễ hơn so với xây dựng hệ thống hỏi đáp miền mở vì việc xử lý ngôn ngữ tự nhiên thường dễ hơn rất nhiều do có thể sử dụng các tri thức miền (thường là ontology của miền cụ thể)
Hệ thống hỏi đáp miền mở (Open Domain Question Answering): hệ thống hỏi
đáp miền mở trả lời các câu hỏi liên quan đến bất kì miền dữ liệu nào Khó khăn cho
hệ thống miền mở đó chính là việc xây dựng các tri thức nền cho việc trả lời cũng như phân tích câu hỏi, các phương pháp hiện nay thường sử dụng một số các ontology khái quát hay các mạng tri thức như: wikipedia, bách khoa từ điển Các dạng câu hỏi cho
hệ thống hỏi đáp miền mở là rất đa dạng và câu trả lời không bó hẹp trong một miền
Trang 17dạng, nhiều “nhiễu” và trùng lặp để tìm ra câu trả lời đang rất được quan tâm [5]
(Hình 2)
1.1.5.2 Phân loại theo hướng tiếp cận
Hướng tiếp cận nông (shallow): Nhiều phương pháp sử dụng trong hệ hỏi đáp
dùng các kĩ thuật dựa trên từ khóa để lựa chọn các câu, đọan văn trong các văn bản thu thập được, sau đó lọc lấy câu trả lời Phương pháp xếp hạng cho các câu trả lời thường được dựa trên đặc trưng cú pháp như là thứ tự từ hoặc vị trí từ và đặc điểm tương tự với câu hỏi (ví dụ các câu hỏi về tên người, địa danh, số lượng…) Đối với hướng tiếp cận nông thì có thể sử dụng các mẫu để tìm ra các câu trả lời với giả thiết mong muốn
Hệ thống hỏi đáp
Dữ liệu có cấu trúc Dữ liệu phi cấu trúc (text)
Hình 2 Xu hướng trong nghiên cứu về hệ thống hỏi đáp
Trang 189
rằng câu trả lời có cùng cấu trúc giống câu hỏi Ví dụ với câu hỏi “What is a X” thì ta
có mẫu là “X is a Y” và có thể tìm được câu trả lời là Y
Hướng tiếp cận sâu (deep): Trong trường hợp các kĩ thuật sử dụng từ khóa hoặc
biến đổi cấu trúc câu hỏi là chưa đủ để tìm ra câu trả lời thì cần sử dụng các kĩ thuật phân tích cú pháp, ngữ nghĩa, ngữ cảnh phức tạp hơn để có thể trích chọn hay xây
dựng câu trả lời Các kĩ thuật đó bao gồm nhận dạng thực thể (named-entity
recognition), trích xuất mối quan hệ, loại bỏ nhập nhằng ngữ nghĩa, … Các hệ thống
này thường sử dụng các nguồn tri thức có thể tìm thấy trong ontology như WordNet hay Suggested Upper Merged Ontology (SUMO) để làm tăng thêm khả năng lập luận thông qua các liên kết ngữ nghĩa và định nghĩa
1.1.5.3 Phân loại theo khả năng trả lời câu hỏi
Hệ thống hỏi đáp có khả năng trả lời các câu hỏi liên quan đến sự vật, hiện tượng: hệ thống hỏi đáp thuộc loại này dựa trên việc trích chọn ra câu trả lời có sẵn trong kho tài liệu để đưa ra câu trả lời Câu trả lời là các chuỗi ký tự trong một tài liệu
Kỹ thuật chính được sử dụng là xử lý chuỗi và từ khóa
Hệ thống hỏi đáp có khả năng lập luận: hệ thống hỏi đáp thuộc loại này có thể trả lời các câu hỏi có tính chất suy đoán, các câu trả lời có thể có sẵn hoặc ẩn trong tài liệu Hệ thống cần trích ra các luận chứng và sử dụng lập luận để tìm mối quan hệ giữa câu hỏi và câu trả lời
Hệ thống hỏi đáp có khả năng giao tiếp với người dùng: hệ thống hỏi đáp thuộc loại này có khả năng trả lời các câu hỏi dạng chuỗi và có khả năng lập luận để hiểu được đầy đủ câu hỏi và tìm câu trả lời thích hợp Ví dụ các câu hỏi của người dùng
như: “Nhạc sĩ Beethoven sinh năm nào?Ở đâu?Bắt đầu sáng tác nhạc năm nào?”
Hệ thống hỏi đáp trả lời các câu hỏi yêu cầu khả năng tổng hợp: câu trả lời thường nằm trong nhiều tài liệu khác nhau, chính vì thế mà hệ thống cần có khả năng tìm kiếm các phần của câu trả lời và kết hợp thành một câu trả lời hoàn chỉnh Câu hỏi thường là về danh sách, về cách thức, nguyên nhân Hệ thống hỏi đáp danh sách
thuộc loại này Khóa luận Phương pháp nâng cao chất lượng kết quả trả lời trong hệ
hỏi đáp danh sách tiếng Việt tập trung vào phương pháp để nâng cao chất lượng cho
hệ hỏi đáp danh sách Phần tiếp theo sẽ giới thiệu chi tiết hơn về hệ thống hỏi đáp danh sách
Trang 1910
1.2 Hệ thống hỏi đáp danh sách
1.2.1 Giới thiệu
Khái niệm: Hệ thống hỏi đáp danh sách là hệ thống hỏi đáp, nhận đầu vào là câu
hỏi dưới dạng ngôn ngữ tự nhiên và trả về câu trả lời dưới dạng một danh sách [28]
Ví dụ câu hỏi: “Kể tên các thành phố của Việt Nam?”
Câu trả lời là “Hà Nội, Hải Phòng, Thanh Hóa, Nghệ An, …”
Như đã thảo luận ở trên, bài toán xây dựng hệ hỏi đáp đã được nhiều hội nghị thường niên về trích chọn thông tin, khai phá dữ liệu dành một chủ đề riêng Cụ thể đối với hội nghị TREC thì hệ thống hỏi đáp được giới thiệu đầu tiên đó là TREC-8 (1999) [10] Hệ hỏi đáp danh sách đã được đề cập đến tại TREC 2001 và TREC 2002, tuy nhiên chưa được nhiều nhà nghiên cứu quan tâm bởi họ còn tập trung vào chủ đề chính đó là về factoid Question Answering Đến TREC 2003 thì hệ hỏi đáp danh sách
đã được đưa vào làm một trong cách chủ đề chính, đây cũng là một sự thúc đẩy cho việc nghiên cứu về hệ thống hỏi đáp danh sách Có thể kể đến một số hệ thống hỏi đáp danh sách tiêu biểu như: FADA, Ephyra
Năm 2004, Hui Yang và Tat-Seng Chua đã giới thiệu hệ thống FADA, một
hệ thống hỏi đáp danh sách dựa vào việc phân tích câu hỏi, phân cụm, phân lớp các văn bản web và trích xuất nội dung để tìm các câu trả lời khác nhau
và đáng tin cậy
Hệ thống hỏi đáp danh sách Ephyra được N Schlaefer, P Gieselmann và G Sautter giới thiệu tại hội nghị TREC 2006 [22] Ephyra là một hệ thống hỏi đáp miền mở mềm dẻo, có thể kết hợp nhiều kĩ năng phân tích câu hỏi và trích chọn câu trả lời các nhau, cũng như kết hợp các nguồn tri thức khác nhau Kĩ thuật được sử dụng trong Ephyra bao gồm học và khớp mẫu, phân tích loại câu trả lời và sử dụng các bộ lọc để loại bỏ dư thừa
1.2.2 Một số hướng tiếp cận xây dựng hệ thống hỏi đáp danh sách
Hệ hỏi đáp nói chung cũng như hệ hỏi đáp danh sách nói riêng đang nhận được nhiều sự quan tâm của các nhà nghiên cứu Đã có nhiều hướng tiếp cận khác nhau được đưa ra để giải quyết bài toán cho hệ hỏi đáp danh sách như hướng tiếp cận tìm câu trả lời cho hệ hỏi đáp danh sách dựa trên Giả thuyết phân phối [19]; hay việc so sánh và khớp các cụm từ cho loại câu trả lời, xung quanh một ngữ cảnh của các từ khóa của câu hỏi hay từ đồng nghĩa; hệ thống hỏi đáp danh sách FADA dựa vào phân
Trang 20áp dụng phương pháp mở rộng thực thể đối với tập kết quả trả lời được trả về từ hệ thống hỏi đáp danh sách
1.2.3 Những vấn đề cần giải quyết khi xây dựng hệ hỏi đáp danh sách
Ngoài những vấn đề, những yêu cầu, thách thức chung của hệ thống hỏi đáp, việc nghiên cứu và xây dựng hệ thống hỏi đáp danh sách còn gặp phải những khó khăn, thách thức riêng
Xác định từ khóa câu hỏi: Một vấn đề khi phân tích câu hỏi trong hệ thống hỏi
đáp danh sách đó chính là xác định đúng được từ khóa của câu hỏi Các câu hỏi trong
hệ thống hỏi đáp danh sách thường yêu cầu trả về một danh sách các thực thể có một hoặc một vài đặc điểm chung Thông thường, từ khóa trong câu hỏi danh sách chính là đặc điểm chung đó Ví dụ câu hỏi: “Kể tên các hãng điện thoại?” Thì từ khóa trong câu hỏi này là “hãng điện thoại” và các thực thể trong danh sách câu trả lời có đặc điểm chung đó là đều là “hãng điện thoại” Hay câu hỏi “Tên các loài động vật có vú?” thì câu trả lời được trả về phải là danh sách các thực thể (tên) có cùng một đặc điểm đó là
“động vật có vú” Chính vì thế việc xác định được từ khóa của câu hỏi trong hệ thống hỏi đáp danh sách là một bước rất quan trọng và có ảnh hưởng đến các bước sau của
hệ thống hỏi đáp cũng như đến kết quả câu trả lời cuối cùng
Khả năng tổng hợp: Không giống như nhiều hệ hỏi đáp khác, câu trả lời của hệ
hỏi đáp danh sách thường không nằm tại một tài liệu mà nằm rải rác ở nhiều tài liệu khác nhau Chính vì thế, hệ thống hỏi đáp danh sách cần phải có khả năng trích chọn
và tổng hợp được câu trả lời từ thông tin ở rất nhiều các nguồn tài liệu khác nhau
Trang 2112
Lựa chọn câu trả lời: Đối với các câu hỏi thông thường, chỉ có một câu trả lời,
thì các văn bản sẽ chứa một lượng lớn các thông tin lặp lại về câu trả lời đó, chính vì vậy có thể lựa chọn câu trả lời dựa vào thông tin được xuất hiện nhiều nhất Tuy nhiên, đối với hệ thống hỏi đáp danh sách, câu trả lời không phải chỉ là một kết quả mà là nhiều kết quả đáp ứng cho câu hỏi, chính vì thế mà khó có thể loại bỏ được các câu trả lời tiềm năng có tần suất xuất hiện nhỏ Việc lựa chọn hay loại bỏ các thành phần trích chọn được cần được thực hiện cẩn thận, vì có thể sẽ loại bỏ một thành phần trong câu trả lời, hoặc thêm vào một thành phần không đúng và làm cho kết quả trả lời không được chính xác
Trả về câu trả lời đầy đủ: Một vấn đề nữa đặt ra khi nghiên cứu và xây dựng hệ
thống hỏi đáp danh sách đó là làm sao có thể trích chọn và trả về được tất cả các kết quả tương ứng với câu hỏi Yêu cầu này tương đương với yêu cầu thu thập được tập tài liệu chứa đủ tất cả các kết quả cho câu hỏi và yêu cầu khả năng trích chọn được tất cả các kết quả có trong tập tài liệu được xét Đây cũng là vấn đề quan trọng nhất trong việc xây dựng hệ thống hỏi đáp danh sách Rất nhiều các nghiên cứu tập trung vào việc bổ sung các kết quả cho tập trả lời trong hệ thống hỏi đáp danh sách như nghiên cứu của Wang [28], … Chính vì thế, khóa luận tập trung vào bài toán bổ sung tập kết quả trả lời cho hệ thống hỏi đáp danh sách trong miền dữ liệu tiếng Việt
Tóm tắt chương 1: Chương này trình bày khái quát những nội dung cơ bản về
hệ thống hỏi đáp và giới thiệu về hệ thống hỏi đáp danh sách Sang chương 2, khóa luận trình bày về các nghiên cứu liên quan trên thế giới cũng như tại Việt Nam về hệ thống hỏi đáp danh sách, một số phương pháp tiêu biểu áp dụng cho hệ thống hỏi đáp danh sách và giới thiệu về nghiên cứu liên quan đến bài toán nâng cao chất lượng câu trả lời cho hệ thống hỏi đáp danh sách
Trang 2213
Chương 2 Các nghiên cứu liên quan
2.1 Một số hệ thống hỏi đáp danh sách điển hình
Hệ thống hỏi đáp đã được chú trọng nghiên cứu từ lâu, tuy nhiên trong thời gian gần đây, hệ thống hỏi đáp danh sách mới nhận được nhiều sự chú ý của các nhà nghiên cứu Chính vì vậy, mặc dù đã bước đầu có được một số kết quả nhất định, nhưng các kết quả này vẫn còn nhiều hạn chế Theo phân tích của Voorhees về kết quả của hệ thống hỏi đáp danh sách tại TREC-12, hầu hết kết quả gặp phải hai vấn đề lớn đó là độ hồi tưởng thấp và các câu trả lời không tách biệt Độ đo F1 trung bình chỉ được 21.3% trong đó F1 tốt nhất chỉ đạt 39.6% (Bảng 1) [14] Kết quả của hệ thống hỏi đáp danh
sách thấp như vậy cho thấy hạn chế khi chỉ sử dụng cách trích chọn thông tin (IR) và
kĩ thuật xử lý ngôn ngữ tự nhiên truyền thống để tìm một danh sách các câu trả lời
có khả năng đáp ứng được nhu cầu đó Chính vì thế hướng tiếp cận tìm kiếm các câu trả lời trên miền dữ liệu web đang thu hút được nhiều sự quan tâm của các nhà nghiên cứu Các nhà nghiên cứu về hệ thống hỏi đáp đã tìm ra rất nhiều cách để sử dụng các
tài nguyên Web như khai phá các mẫu bề mặt (surface pattern mining – Ravichandran
Bảng 1 5 kết quả cao nhất tại TREC-12 (Voorhees, 2003)
Trang 2314
và các cộng sự, 2002), công thức hóa câu truy vấn (query formulation – Yang, 2002), đánh giá câu trả lời (answer validation - Magnini, 2002) cũng như tìm kiếm trực tiếp câu trả lời trên các văn bản Web bằng cách phân tích dữ liệu dư thừa (data redundancy
analysis – Brill, 2001) Các hệ thống này đã chứng minh rằng với sự giúp đỡ của Web,
thông thường các hệ thống đó có thể tăng kết quả lên khoảng 25%-30% (Lin 2002) Năm 2004, Hui Yang, Tat-Seng Chua giới thiệu hệ thống FADA, một hệ thống hỏi đáp danh sách dựa trên việc phân tích câu hỏi, phân cụm, phân lớp các trang web
và trích chọn ngữ cảnh để tìm câu trả lời FADA đã đạt được độ hồi tưởng là 0.422 và
độ đo F1 là 0.464 Kết quả của FADA là tốt hơn đáng kể so với kết quả tốt nhất của hệ thống trong chủ đề về hệ thống hỏi đáp danh sách tại TREC-12
Tại hội nghị TREC 2006, N Schlaefer, P Gieselmann và G Sautter đã giới thiệu
hệ thống hỏi đáp Ephyra [22], đây là một hệ thống hỏi đáp miền mở mềm dẻo, có thể trả lời nhiều loại câu hỏi, trong đó có các câu hỏi mà yêu cầu câu trả lời được trả về là một danh sách Kĩ thuật được sử dụng trong Ephyra bao gồm học và khớp mẫu, phân tích loại câu trả lời và sử dụng các bộ lọc để loại bỏ dư thừa
Năm 2008, Majid Razmara [19] đã trình bày về hướng tiếp cận giải quyết bài toán tìm câu trả lời cho câu hỏi danh sách dựa trên Giả thuyết phân phối
(Distributional Hypothesis): các từ xuất hiện trong cùng một ngữ cảnh thì có xu hướng
có cùng ngữ nghĩa (Harris, 1954) Majid Razmara đã giả thuyết rằng:
1 Các câu trả lời cho câu hỏi danh sách có cùng lớp thực thể ngữ nghĩa
(semantic entity class)
2 Các câu trả lời có xu hướng xuất hiện cùng trong các câu của các văn bản liên quan đến mục đích và câu hỏi
3 Các câu chứa các câu trả lời có ngữ cảnh tương đương nhau
Trang 2415
Biểu đồ 1 là kết quả về độ chính xác, độ hồi tưởng và độ đo F của mỗi loại câu hỏi trong tập kiểm thử mà hệ thống của Majid Razmara đã đạt được tại hội nghị TREC-2007
Một phương pháp cũng đã được áp dụng hiệu quả để tìm câu trả lời cho hệ thống hỏi đáp danh sách đó là phương pháp trích chọn quan hệ thượng hạ danh Một số nghiên cứu đã sử dụng các luật này: Hearst [20] sử dụng các mẫu quan hệ thượng hạ danh để trích chọn các thực thể cho tập thực thể được gán tên Etzioni và cộng sự [24] giới thiệu hệ thống KnowItAll cũng sử dụng các mẫu để trích chọn các thể hiện của một lớp từ nguồn dữ liệu web Phương pháp sử dụng các mẫu quan hệ thượng hạ danh
để tìm câu trả lời cho hệ thống hỏi đáp danh sách, cũng như cách áp dụng cho miền dữ liệu tiếng Việt sẽ được trình này sẽ được trình bày ở phần 3.2.1
Tại Việt Nam, Trần Mai Vũ và cộng sự [29] đã nghiên cứu về hệ thống hỏi đáp cho miền dữ liệu tiếng Việt dựa vào kĩ thuật trích rút quan hệ ngữ nghĩa hai ngôi bằng cách kết hợp phương pháp Snowball của Agichtein, Gravano và phương pháp trích rút mối quan hệ sử dụng máy tìm kiếm của Ravichandran, Hovy cho tập văn bản tiếng Việt Thực nghiệm ban đầu của mô hình cho thấy hệ thống có thể trả lời chính xác được 89.7% câu hỏi người dùng đưa vào và khả năng đưa ra câu trả lời là 91.4% Phần tiếp theo, khóa luận trình bày về một số phương pháp tiêu biểu đã được áp dụng trong hệ thống hỏi đáp danh sách Cụ thể là các phương pháp được áp dụng để xây dựng hệ thống hỏi đáp danh sách FADA và hệ thống hỏi đáp Ephyra
Biểu đồ 1 Kết quả của mỗi loại câu hỏi trong tập dữ liệu kiểm thử - TREC, 2007
Trang 2516
2.1.1 Hệ thống hỏi đáp danh sách FADA
Hệ thống hỏi đáp danh sách FADA (Find All Distinct Answers) là một trong những hệ thống hỏi đáp danh sách tiêu biểu sử dụng nguồn dữ liệu web để trích chọn
ra các câu trả lời FADA hướng đến mục tiêu tìm kiếm câu trả lời đầy đủ cho câu hỏi trong hệ thống hỏi đáp danh sách Phương pháp trong FADA được đưa ra dựa vào việc quan sát thấy rằng các câu trả lời cho câu hỏi danh sách thường xuất hiện trong cùng một danh sách hoặc bảng của một trang Web, trong khi đó thì nhiều các trang web có thể chứa thông tin về cùng một trường hợp Phân biệt riêng hai loại này: loại thứ nhất
được gọi là Trang tập hợp (Collection Page – CP) và loại hai được gọi là Trang chủ đề (Topic Page – TP) Đối với loại 1 – CP, việc cần làm là trích chọn nội dung các danh
sách, các bảng từ trang web Đối với loại 2 – TP, cần tìm các trang web riêng biệt liên quan đến các trường hợp khác nhau trong câu trả lời FADA dựa vào kĩ thuật phân tích câu hỏi, phân cụm, phân lớp các văn bản web và trích chọn nội dung để tìm các câu trả lời riêng biệt và đáng tin cậy với độ hồi tưởng cao Hệ thống FADA đã đạt được kết quả khá tốt khi kiểm thử với tập ngữ liệu của TREC
Hệ thống hỏi đáp danh sách luôn hướng tới khả năng tìm được hết các kết quả tương ứng với câu hỏi để cho câu trả lời đầy đủ và chính xác Điều này yêu cầu (1) tìm kiếm hiệu quả và đầy đủ và (2) trích chọn được hết các câu trả lời khác biệt Để có thể tìm kiếm hiệu quả thì phương pháp biến đổi câu hỏi được sử dụng để có thể thu được các trang web cần thiết nhất Đây là một bước quan trọng, vì nếu câu truy vấn quá chung chung thì sẽ thu được quá nhiều văn bản và hệ thống không thể có đủ tài nguyên
để xử lý toàn bộ các văn bản đó Nếu câu truy vấn lại quá cụ thể thì có thể là sẽ thu được rất ít tài liệu hoặc cũng có thể không thu được tài liệu nào hữu ích
Các trang web được phân thành bốn loại dựa vào chức năng và đóng góp trong
việc tìm kiếm danh sách trả lời: Trang tập hợp (Collection Page), trang chủ đề (Topic
Page), trang thích hợp (Relevant Page) và trang không thích hợp (Irrelevant Page)
như bảng 2
Trang 2617
Collection Page Chứa một danh sách câu trả lời
Topic Page Trang tốt nhất thể hiện một trường hợp cho câu
trả lời
Relevant Page
Liên quan đến một trường hợp của câu trả lời theo nghĩa là cung cấp sự hỗ trợ hay phản đối tới Topic Page
Irrelevant Page Không liên quan đến bất kì trường hợp nào
trong câu trả lời
Dựa vào những phân tích ở trên, một mô hình để tìm câu trả lời danh sách trên dữ liệu web đã được xây dựng gồm 4 bước chính như sau:
(1) Thu thập một tập các văn bản web tốt
(2) Xác định các trang tập hợp và phân biện các trang chủ đề để làm nguồn dữ liệu chính cho việc tìm câu trả lời
(3) Thực hiện việc phân cụm trên các trang web còn lại dựa trên độ tương đồng với các trang chủ đề riêng biệt để thiết lập các cụm tương ứng với các trường hợp riêng biệt trong câu trả lời
(4) Trích chọn câu trả lời từ các trang tập hợp và các cụm trang chủ đề
a Biến đổi câu hỏi và thu thập các trang web
FADA phân tích câu hỏi để xác định các từ khóa của câu hỏi và loại câu trả lời mong muốn Sau đó sẽ xây dựng các câu truy vấn bằng cách ghép các thành phần trích chọn được từ câu hỏi với các mẫu kinh nghiệm cho câu hỏi danh sách FADA thực hiện cả phân tích nông và phân tích đầy đủ (sâu) Bộ phân tích nông được sử dụng là
bộ trực tuyến miễn phí memory-based chunker và bộ phân tích đầy đủ được sử dụng là MINIPAR6 Quá trình phân tích truy vấn được thực hiện như sau:
6
http://www.cs.ualberta.ca/~lindek/minipar.htm
Bảng 2 Các lớp trang web
Trang 2718
a) Loại bỏ các từ đầu (head words): Các từ đầu bao gồm: “who, what, when,
where, which, how, how much, how many, list, name, give, providel”, v.v
b) Tìm ra chủ ngữ và bổ ngữ của các đoạn câu hỏi còn lại bằng cách phân tích nông
c) Lấy ra tất cả các cụm danh từ như là các mô tả tiềm năng từ các phần còn lại của câu hỏi, thường là các cụm giới từ hoặc mệnh đề
d) Nhận dạng thực thể định danh (Named entity recognition) cho kết quả của
cụm mô tả bằng cách sử dụng NEParser, một công cụ nhận dạng thực thể tên được sử dụng trong hệ thống TREC-12 (Yang và các cộng sự, 2003) Công cụ này gán các thẻ như “person”, “location”, “time”, “date”,
“number”
Sau đó xây dựng các câu truy vấn phục vụ cho việc thu thập các trang web cần thiết Một trong những luật xây dựng câu truy vấn:
(list|directoty|category|top|favorite)? (:|of)? <subj>
<action>?<object>?<description1>? <description2>? …<descriptionN>?
Việc chuyển câu hỏi ngôn ngữ tự nhiên ban đầu thành một câu truy vấn tốt có thể nâng cao đáng kể khả năng tìm được câu trả lời tốt FADA sử dụng các câu truy vấn này cho các máy tìm kiếm nổi tiếng như Google, Alta Vista, Yahoo; sau đó lấy 1000 kết quả trả về đầu tiên cho mỗi truy vấn ở mỗi máy tìm kiếm FADA lấy nhiều trang web về như vậy là để phục vụ cho mục đích có thể tìm được tất cả các câu trả lời Thông thường sẽ có rất nhiều trang web dư thừa do thu thập từ cùng một địa chỉ liên kết Các trang web dư thừa này sẽ bị loại bỏ dựa vào địa chỉ URL Hệ thống cũng loại
bỏ các file định dạng không phải là HTML hay văn bản và những file mà có dung lượng quá nhỏ hoặc quá lớn
b Phân lớp các trang web
Trong FADA, hai bộ phân lớp được huấn luyện là bộ phân lớp trang tập hợp
(Collection Page classifier) phân loại các trang web vào các trang tập hợp và bộ phân lớp trang chủ đề (Topic Page classifier) phân loại các trang trong tập không phải trang
tập hợp thành các trang chủ đề và loại khác Cả hai bộ phân lớp này đều thực thi sử dụng cây quyết định C4.5 (Quinlan 1993) Vài luật quyết định như:
a) OUT_Link >= 25 & NE > 78
Trang 2819
b) Answer_NE >= 30 -> Class CP OUT_Link <= 25 &
Answer_NE <= 5 & NE > 46 -> Class TP c) OUT_Link >= 25 & URL_Depth > 3 -> Others d) NE <= 4 -> Others
c Tìm các nguồn cho câu trả lời
Tại bước này, hệ thống lựa chọn các trang chủ đề riêng biệt dựa vào việc so sánh
độ tương đồng giữa các trang chủ đề Sau đó, xác định và chuyển các trang thích hợp
(Relevant Pages) từ OtherSet vào cụm thích đáng dựa trên độ tương đồng của trang
với tập mồi cụm Mỗi cụm tương ứng với một câu trả lời riêng biệt Trang chủ đề cung cấp cơ sở lập luận chính về câu trả lời và các trang thích hợp cung cấp tài liệu về câu trả lời đó Theo thực nghiệm của Hui Yang và Tat-Seng Chua thì tỉ lệ trung bình phân cụm đúng là 54.1% Bằng cách phân cụm các trang web thì đã tránh được việc trả lời
dư thừa (các câu trả lời là riêng biệt) và tăng cao khả năng tìm các câu trả lời riêng biệt trong nguồn dữ liệu Web nhiều nhiễu
d Trích chọn câu trả lời
Tại bước này, hệ thống sẽ chuẩn hóa các văn bản html, sử dụng công cụ HtmlTidy7
Trích chọn câu trả lời từ các trang tập hợp (CPSet): để trích chọn các câu trả lời
từ các trang tập hợp cần sử dụng các luật wrapper để lấy ra được nội dung mong muốn Sau đó các câu trả lời được đối chiếu vào tập ngữ liệu TREC AQUAINT để lấy
về các câu trả lời TREC (TREC answers) (Brill và cộng sự, 2001)
Trích chọn câu trả lời từ các cụm trong TPSet: Sau khi đã hoàn thành bước phân cụm, phân tích trang chủ đề chính trong mỗi cụm Trong trường hợp tìm được nhiều
đoạn chứa các câu trả lời tiềm năng (answer candidates) khác nhau trong cùng một
trang chủ đề, ta sẽ chọn câu trả lời tiềm năng từ đoạn mà có số lượng các loại thực thể tên là nhiều nhất Câu trả lời được tìm thấy trong trang chủ đề sẽ được đối chiếu vào
kho ngữ liệu hỏi đáp (Question Answering corpus) để lấy ra các câu trả lời TREC
Trong trường hợp dựa vào trang chủ đề mà không tìm thấy câu trả lời TREC thì sẽ tiếp tục phân tích trang thích hợp nhất trong cụm đó, quá trình được lặp lại cho đến khi tìm được câu trả lời có trong tập ngữ liệu TREC hoặc tất cả các trang thích hợp đã được phân tích
7
http://www.htmltrim.com/
Trang 2920
Nhận xét hướng tiếp cận
Bảng 3 so sánh hiệu suất khi chạy tập kiểm thử trong TREC-12 giữa một hệ
thống trả lời câu hỏi danh sách cơ bản (baseline) với FADA Hàng baseline chính là
kết quả khi chạy trên một hệ thống được sử dụng trong phần hỏi đáp tại TREC-12 (Yang, 2003) Hệ thống này mở rộng từ hướng tiếp cận truyền thống IR/NLP cho hệ hỏi đáp thông thường để áp dụng vào hệ hỏi đáp danh sách Và đạt được độ đo F1 trung bình là 0.319 và được xếp hạng thứ 2 trong phần hỏi đáp danh sách Hai biến thể của FADA đã được test Một biến thể không sử dụng các trang được trỏ đến từ tập các trang tập hợp như là các trang chủ đề tiềm năng (FADA1) và một biến thể có sử dụng Hai biến thế này được sử dụng để đánh giá hiệu quả của các trang tập hợp (CPs) trong
hệ thống hỏi đáp danh sách Với kết quả như trong bảng 3, có thể thấy rằng các trang được các trang tập hợp trỏ đến giúp nhiều cho việc tìm kiếm các câu trả lời
Ưu điểm: đã tận dụng được đặc điểm bán cấu trúc của văn bản web Việc tìm kiếm câu hỏi dựa vào tập văn bản web giúp cho khả năng tìm thấy câu hỏi cao hơn, bởi số lượng văn bản cũng như thông tin trên web là rất lớn
Nhược điểm: chưa tận dụng được nội dung chính của các trang web, đây là thành phần mang thông tin nhiều nhất trong dữ liệu web Số lượng câu trả lời cho các câu hỏi danh sách còn ít và chưa đủ Với các câu hỏi mà khó có thể tìm thấy các kết quả trả lời
trong cùng một danh sách hay bảng thì việc tìm câu trả lời là khó khăn
2.1.2 Hệ thống hỏi đáp Ephyra
Hệ thống hỏi đáp Ephyra đạt kết quả khá tốt tại TREC 2006 [13] và TREC 2007 [12] Thay vì chú trọng tối ưu hóa một hướng tiếp cận đơn lẻ, Ephyra được áp dụng kết hợp một vài kĩ thuật để phân tích câu hỏi và trích xuất câu trả lời để có thể đạt được kết quả tốt nhất Đối với chức năng trả lời cho các câu hỏi danh sách, hệ thống
Bảng 3 Hiệu suất của tập kiểm thử trong TREC-12
Trang 3021
được kết hợp phương pháp dựa trên việc phân tích loại câu trả lời và học mẫu Đối với hướng tiếp cận xác định loại câu trả lời, hệ thống xác định loại của câu trả lời từ cây kế
thừa của các loại thực thể tên và lựa chọn thẻ thích hợp (tagger) để trích xuất các thực
thể thuộc loại đó Hướng tiếp cận này cho độ chính xác cao, tuy nhiên nếu không xác định được loại câu trả lời thì hệ thống sẽ cho kết quả không chính xác Chính vì thế hướng tiếp cận sử dụng học mẫu đã được kết hợp vào hệ thống, sử dụng các mẫu nguyên văn để phân lớp và làm rõ câu hỏi để trích xuất các câu trả lời
Ephyra được tổ chức kiểu đường ống bao gồm các thành phần cơ bản để tạo truy vấn, tìm kiếm và lựa chọn câu trả lời Đối với các câu hỏi danh sách, hệ thống chuyển hóa câu hỏi thành dạng câu hỏi yêu cầu câu trả lời chỉ là một thực thể, sau đó áp dụng
kĩ thuật để tìm câu hỏi đơn đó Nhiều lần như vậy, hệ thống tổng hợp lại các kết quả và trả về danh sách kết quả cho câu hỏi đó Các bước trả lời câu hỏi của hệ thống hỏi đáp Ephyra gồm: chuẩn hóa câu hỏi, tạo câu truy vấn, tìm kiếm tài liệu, trích chọn câu trả lời dựa vào loại câu trả lời, trích chọn câu trả lời dựa vào so khớp mẫu và lựa chọn các kết quả cho câu trả lời cuối cùng
a Chuẩn hóa câu hỏi: Bộ chuẩn hóa câu hỏi tạo ra hai thể hiện của câu hỏi, một thể hiện được sử dụng để phân tích câu hỏi với các mẫu nguyên văn, một thể hiện để sinh ra câu truy vấn phục vụ cho việc thu thập tài liệu Cả hai thể hiện đều được loại bỏ các dấu câu không cần thiết Đối với thể hiện
so khớp mẫu, tất cả các động từ được thay thế bằng dạng nguyên thể của chúng và tất cả các danh từ được chuyển về dạng số ít Đối với thể hiện để tạo câu truy vấn, các cấu trúc động từ với trợ động từ được thay để phù hợp với câu trả lời tương ứng Ví dụ “did … occur” được thay bằng “occurred”
b Tạo câu truy vấn và tìm kiếm tài liệu: hệ thống trích chọn các từ khóa từ thể
hiện 2 của câu hỏi để tạo một truy vấn “túi từ” đơn giản (simple “bag of
words”) (Bộ sinh túi từ) Hệ thống cũng xây dựng các mẫu câu trả lời dựa
vào câu hỏi, ví dụ như “Where was Mozart born?” sẽ được chuyển thành truy vẫn như “Mozart was born in” Ephyra tìm kiếm trên Yahoo để thu thập các đoạn snippets (Hình 3) và sử dụng hệ thống trích xuất thông tin Indri để tìm kiếm trên tập văn bản AQUAINT Indri được cấu hình để thu về các đoạn văn bản độc lập thay vì cả văn bản
Trang 3122
c Trích chọn câu trả lời dựa vào loại câu trả lời:
Hệ thống phân tích các câu hỏi trong TREC và chia một cây kế thừa của các
loại thực thể tên thường gặp trong hệ thống hỏi đáp Cây kế thừa được sử
dụng trong Ephyra bao gồm khoảng 70 loại thực thể tên như Ngày tháng,
địa điểm, màu sách, người, kích thước, … Đối với mỗi loại, hệ thống xác
định một hoặc nhiều mẫu, tức là các biểu thức chính quy mà khớp các câu
hỏi với loại tương ứng Bảng 4 mô tả một trích chọn của cây kế thừa thực
thể tên
Tại pha phân tích câu hỏi, hệ thống so khớp câu hỏi với các loại mẫu để xác
định loại câu trả lời tiềm năng Nếu một câu hỏi ứng với nhiều hơn một
mẫu, hệ thống sẽ sử dụng một cặp luật hãm (tie-braking rules) để lựa chọn
loại thực thể tên, ví dụ như các mẫu dài hơn và cụ thể hơn sẽ được đánh giá
Location Country (what|which|name) (.* )?(colony|country|nation)
Size Length how (deep|far|high|long|tall|wide)
Size Length (how large in|how many) (foot|inch|.*meter|mile|yard)
Trong suốt quá trình trích chọn câu trả lời, bộ lọc loại câu trả lời (Answer
Type Filter) áp dụng một thẻ thực thể tên thích hợp lên các đoạn snippet thu
Hình 3 Ví dụ về một Snippet trả về từ máy tìm kiếm
Bảng 4 Cây kế thừa thực thể tên và các mẫu loại