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
ĐẠ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
ĐẠ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
Lờ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
Tó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.
Mụ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
3.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
Danh 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
Danh 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
Danh 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
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
1
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.
2
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
3
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
1TREC: Text REtrieval Conference. http://trec.nist.gov/
2 CLEF: The Cross-Language Evaluation Forum. http://www.clef-campaign.org/
3 http://www.answers.com/
4 http://start.csail.mit.edu/
5 http://ask.com/
4
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.
Câu
trả lời
Thu thập
tài liệu
Phân tích
câu hỏi
Trích xuất
câu trả lời
Câu hỏi
Hình 1. Các bước chung của hệ thống hỏi đáp
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.
5
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
6
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
7
dữ liệu cụ thể nào cả. Chính vì thế mà đòi hỏi của hệ thống hỏi đáp miền mở là phải
bao quát được dữ liệu thuộc nhiều lĩnh vực khác nhau. Tuy nhiên cũng chính vì lý do
đó mà dữ liệu cho việc trích rút câu trả lời trong hệ thống hỏi đáp miền mở là rất
phong phú và dễ thu thập.
Hệ thống hỏi đáp
Miền mở
Miền đóng
Dữ liệu có cấu trúc
Dữ liệu phi cấu trúc (text)
Web
Tập dữ liệu lớn
Một văn bản đơn
Hình 2. Xu hướng trong nghiên cứu về hệ thống hỏi đáp
Các nghiên cứu hiện nay về hệ thống hỏi đáp đang tập trung vào xây dựng hệ
thống hỏi đáp trên miền mở, sử dụng nguồn dữ liệu phi cấu trúc và bán cấu trúc (kho
văn bản lớn hay dữ liệu web) để tìm câu trả lời. Các nghiên cứu mới và các cải tiến
những phương pháp cũ đang hướng đến mục đích sử dụng nguồn dữ liệu web vốn đa
dạ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
8
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.
9
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
10
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 ra các
câu trả lời khác nhau và đáng tin cậy; hay hướng tiếp cận sử dụng quan hệ thượng hạ
danh (hyponym) [5]…
Như đã bàn luận ở trên, một thách thức 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ả về được danh sách đầy đủ các kết quả trả lời. Đây
là thách thức rất lớn vì có thể trong tập tài liệu mà hệ thống thu thập về để xử lý không
chứa đủ tất cả các kết quả trả lời, hoặc hệ thống không trích chọn được tất cả các kết
quả trả lời có trong tập văn bản thu thập được. Hiện nay, các nhà nghiên cứu và xây
dựng hệ thống hỏi đáp danh sách cố gắng để có thể trả về tập kết quả đầy đủ nhất có
thể. R. Wang và cộng sự [25][28] đã đề xuất ý tưởng nâng cao chất lượng cho tập câu
trả lời của hệ thống hỏi đáp danh sách (làm đầy đủ hơn tập kết quả trả lời) bằng cách
á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.
11
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.
12
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.
Bảng 1. 5 kết quả cao nhất tại TREC-12 (Voorhees, 2003)
TREC-12 Run Tag
LCCmainS03
nusmml03r2
MITCSAIL03c
isi03a
Avg F1
0.396
0.319
0.134
0.118
0.097
0.213
BBN2003B
Average
Khả năng trả về một danh sách đầy đủ cho câu hỏi danh sách chính là một trong
những mục tiêu hướng tới hàng đầu của hệ thống hỏi đáp danh sách. Tuy nhiên, để tìm
kiếm được một danh sách đầy đủ thì điều kiện đầu tiên là các kết quả của câu trả lời
phải xuất hiện trong tập văn bản được xét. Nguồn dữ liệu web chính là nguồn tài liệu
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
13
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.
14
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
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.
15
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.
16
Bảng 2. Các lớp trang web
Lớp trang web
Mô tả
Collection Page
Chứa một danh sách câu trả lời
Trang tốt nhất thể hiện một trường hợp cho câu
trả lời
Topic 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
Relevant 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
17
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
18
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/
19
Nhận xét hướng tiếp cận
Bảng 3. Hiệu suất của tập kiểm thử trong TREC-12
Avg P
0.568
0.406
0.516
-
Avg R
0.264
0.344
0.422
-
Avg F1
0.319
0.372
0.464
0.396
Baseline
FADA1 (w/o outgoing pages)
FADA2 (w/ outgoing pages)
TREC-12 best run
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
20
đượ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.
21
Tải về để xem bản đầy đủ
Bạn đang xem 30 trang mẫu của tài liệu "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ải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
khoa_luan_phuong_phap_nang_cao_chat_luong_ket_qua_tra_loi_ch.pdf