Khóa luận Phân tích câu hỏi trong hệ thống hỏi đáp tiếng Việt tập trung vào khảo sát các phương pháp được áp dụng cho xây dựng hệ thống hỏi đáp trên thế giới, đặc biệt tập trung nghiên
Trang 1PHÂN TÍCH CÂU HỎI TRONG HỆ THỐNG
HỎI ĐÁP 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
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Đức Vinh
PHÂN TÍCH CÂU HỎI TRONG HỆ THỐNG
HỎI ĐÁP 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: ThS Trần Thị Oanh
Cán bộ đồng hướng dẫn: ThS Nguyễn Cẩm Tú
HÀ NỘI - 2009
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 Thị Oanh, Thạc sĩ Nguyễn Cẩm Tú và Cử nhân Trần Mai
Vũ – 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 xin gửi lời cảm ơn chân thành tới cử nhân Nguyễn Minh Tuấn đã tận tình hỗ trợ
về kiến thức chuyên môn, giúp đỡ tôi hoàn thành khóa luận
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 Đức Vinh
Trang 4Tóm tắt
Trong mười năm gần đây, hệ thống hỏi đáp tự động đã nhận được sự quan tâm đặc biệt của các nhà nghiên cứu, các công ty (Yahoo, Google, Microsoft, IBM…), các hội nghị lớn về trích chọn thông tin, xử lý ngôn ngữ tự nhiên (TREC, CLEF, ACL, ) và đã đạt được những kết quả nhất định Tuy nhiên các nghiên cứu về hệ thống hỏi đáp cho tiếng Việt vẫn còn rất nhiều hạn chế
Khóa luận Phân tích câu hỏi trong hệ thống hỏi đáp tiếng Việt tập trung vào khảo
sát các phương pháp được áp dụng cho xây dựng hệ thống hỏi đáp trên thế giới, đặc biệt tập trung nghiên cứu pha phân tích câu hỏi – pha đầu tiên trong hệ thống hỏi đáp, có ý nghĩa đặc biệt quan trọng với hoạt động của cả hệ thống Trên cơ sở các nghiên cứu đó và đ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 tiến hành thực nghiệm việc phân tích câu hỏi tiếng Việt sử dụng phương pháp học máy thống kê và trích rút mẫu quan hệ Các kết quả ban đầu đạt được khá khả quan Bộ phân lớp câu hỏi cho hệ thống hỏi đáp miền mở đạt độ chính xác 81.49% khi sử dụng thuật toán SVM, 81.14 % với mô hình Entropy cực đại Module phân tích câu hỏi sử dụng mẫu quan hệ cho hệ thống hỏi đáp trên miền du lịch đạt độ chính xác 89.7 %
Trang 5Mục lục
Tóm tắt i
Mục lục iii
Danh sách các bảng v
Danh sách các hình vi
Lời mở đầu 1
Chương 1 Giới thiệu về hệ thống hỏi đáp tự động 3
1.1 Hệ thống hỏi đáp tự động 3
1.2 Phân loại hệ thống hỏi đáp tự động 5
1.2.1 Phân loại theo miền ứng dụng (domain) 5
1.2.2 Phân loại theo khả năng trả lời câu hỏi 6
1.2.3 Phân loại theo hướng tiếp cận: 7
1.3 Các bước chung của hệ thống hỏi đáp tự động 7
Chương 2 Phân tích câu hỏi 10
2.1 Nội dung của phân tích câu hỏi 10
2.2 Khó khăn của phân tích câu hỏi 10
2.3 Một số nội dung của xử lý ngôn ngữ tự nhiên trong phân tích câu hỏi 11
2.4 Taxonomy câu hỏi 14
2.4.1 Khái niệm về taxonomy 14
2.4.2 Taxonomy câu hỏi 15
2.5 Khảo sát các phương pháp phân tích câu hỏi cho các loại câu hỏi khác nhau 19
2.5.1 Câu hỏi đơn giản (factual-base) 19
Trang 6Chương 3 Các phương pháp xác định loại câu hỏi 24
3.1 Phương pháp phân lớp sử dụng học máy thống kê 24
3.1.2 Các thuật toán học máy thống kê cho việc phân lớp 28
3.1.3 Xây dựng bộ phân lớp câu hỏi theo học máy thống kê 37
3.2 Phương pháp xác định loại câu hỏi sử dụng kĩ thuật xử lý ngôn ngữ tự nhiên 42
3.3 Phương pháp xác định loại câu hỏi sử dụng mẫu quan hệ 45
Chương 4 Thực nghiệm phân tích câu hỏi tiếng Việt 47
4.1 Thực nghiệm với phân lớp câu hỏi sử dụng học máy thống kê 47
4.1.1 Dữ liệu và công cụ cho thực nghiệm 47
4.1.2 Kết quả bộ phân lớp sử dụng SVM và MEM 49
4.2 Thực nghiệm với xác định loại câu hỏi sử dụng mẫu quan hệ 51
4.2.1 Mô hình thực nghiệm phân tích câu hỏi sử dụng mẫu quan hệ 51
4.2.2 Kết quả phân tích câu hỏi sử dụng mẫu quan hệ 55
Kết luận 58
Tài liệu tham khảo 60
Trang 7Danh sách các bảng
Bảng 1 Taxonomy câu hỏi do Li và Roth đưa ra 17
Bảng 2 Biểu diễn của TP, TN, FP, FN trong đánh giá phân lớp 27
Bảng 3 Số lượng câu hỏi theo từng lớp cha 48
Bảng 4 Kết quả bộ phân lớp MEM khi sử dụng unigram 49
Bảng 5 Kết quả bộ phân lớp MEM khi sử dụng tách từ 49
Bảng 6 Kết quả bộ phân lớp SVM sử dụng các đặc trưng khác nhau 50
Bảng 7 Danh sách các từ hỏi 50
Bảng 8 Tập seed tìm được cùng với mối quan hệ tương ứng 53
Bảng 9 Tập quan hệ cùng các mẫu tương ứng 54
Bảng 10 Các quan hệ được thực nghiệm trong hệ thống 55
Bảng 11 Các công cụ sử dụng 55
Bảng 12 Các thành phần chính của hệ thống Q&A trên miền du lịch 56
Bảng 13 Kết quả phân tích câu hỏi trong hệ thống hỏi đáp trên miền du lịch 56
Trang 8Danh sách các hình
Hình 1 Xu hướng trong nghiên cứu về Q&A 6
Hình 2 Các bước chung của hệ thống Q&A 8
Hình 3 Kiến trúc cho xử lý các câu hỏi factual-base 19
Hình 4 Mối quan hệ giữa các siêu phẳng phân cách 30
Hình 5 Siêu phẳng tối ưu và biên .31
Hình 6 Biến nới lỏng cho soft margin 33
Hình 7 Mô hình bộ phân lớp đa cấp của Li và Roth 39
Hình 8 Xác định loại câu hỏi sử dụng kĩ thuật xử lý ngôn ngữ tự nhiên 43
Hình 9 Ánh xạ từ trọng tâm vào Wordnet 44
Hình 10 Mô hình Snowball 46
Hình 11 Mô hình hệ thống hỏi đáp tiếng Việt sử dụng trích xuất mẫu quan hệ 52
Hình 12 Mô hình xử lý cho pha phân tích câu hỏi và trích xuất câu trả lời 53
Trang 9Lời mở đầu
Nghiên cứu về hệ thống hỏi đáp tự động (Q&A) đã được quan tâm từ rất lâu trên thế giới Ngay từ những năm 1960, các hệ thống hỏi đáp đầu tiên sử dụng cơ sở dữ liệu đã được ra đời Đến những năm 1970-1980, rất nhiều dự án lớn hướng đến việc “hiểu văn bản” và xây dựng hệ thống hỏi đáp dựa trên các mô hình ngôn ngữ thống kê Cuối những năm 1990, World Wide Web ra đời và phát triển nhanh chóng trở thành một kho ngữ liệu khổng lồ Các nhà nghiên cứu về hệ thống hỏi đáp cũng bắt đầu khai thác web như là một nguồn dữ liệu cho việc tìm kiếm câu trả lời Các kĩ thuật mới đòi hỏi tốc độ cao, khả năng
xử lý lượng dữ liệu web lớn đang rất được quan tâm Tuy nhiên các nghiên cứu về xây dựng hệ thống hỏi đáp cho tiếng Việt vẫn 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 (Wordnet [28], ontology [30]…)
Phân tích câu hỏi là pha đầu tiên trong kiến trúc chung của một hệ thống hỏi đáp, có nhiệm vụ tìm ra các thông tin cần thiết làm đầu vào cho quá trình xử lý của các pha sau (trích chọn tài liệu, trích xuất câu trả lời, …) Vì vậy phân tích câu hỏi có vai trò hết sức quan trọng, ảnh hưởng trực tiếp đến hoạt động của toàn bộ hệ thống Nếu phân tích câu hỏi không tốt thì sẽ không thể tìm ra được câu trả lời
Khóa luận Phân tích câu hỏi trong hệ thống hỏi đáp tiếng Việt thực hiện khảo sát,
nghiên cứu các phương pháp xây dựng hệ thống hỏi đáp và phân tích câu hỏi đang được quan tâm hiện nay, từ đó đưa ra phương pháp phân tích câu hỏi phù hợp nhất (trên cơ sở các nguồn tài nguyên ngôn ngữ sẵn có) cho hệ thống hỏi đáp tiếng Việt Những nghiên cứu trong khóa luận có thể coi là tiền đề cho các nghiên cứu tiếp theo để xây dựng một hệ thống hỏi đáp hoàn thiện cho tiếng Việt
Khóa luận được trình bày thành bốn chương, nội dung được trình bày sơ bộ như dưới dây:
Chương 1 Giới thiệu về hệ thống hỏi đáp tự động trình bày những nội dụng cơ bản
nhất về hệ thống hỏi đáp và đặt vấn đề cho phân tích câu hỏi
Trang 10câu hỏi, các nội dung của xử lý ngôn ngữ tự nhiên trong phân tích câu hỏi, đồng thời khảo sát các phương pháp phân tích câu hỏi cho một số loại câu hỏi khác nhau Trong chương
này cũng chỉ ra tầm quan trọng của xác định loại câu hỏi trong phân tích câu hỏi
Chương 3 Các phương pháp xác định loại câu hỏi trình bày ba phương pháp để
xác định loại câu hỏi, phân tích và chọn lựa hai phương pháp sẽ sử dụng cho phân tích câu hỏi tiếng Việt
Chương 4 Thực nghiệm phân tích câu hỏi tiếng Việt áp dụng các nghiên cứu trong
chương 3 để phân tích câu hỏi trong hệ thống hỏi đáp tiếng Việt
Phần kết luận tổng kết, tóm lược nội dung và kết quả đạt được của khóa luận
Trang 11Chương 1 Giới thiệu về hệ thống hỏi đáp tự động
1.1 Hệ thống hỏi đáp tự động
Hệ thống hỏi đáp tự động có thể coi như một lựa chọn thứ hai bên cạnh hệ thống trích chọn thông tin khi người dùng muốn tìm kiếm thông tin họ cần Hệ thống trích chọn thông tin nhận đầu vào là các từ khóa và trả về tập các tài liệu liên quan (có chứa các từ khóa đó) Kết quả mà hệ thống trích chọn thông tin (máy tìm kiếm) trả lại cho người dùng
là rất lớn, có thể lên đến hàng nghìn trang web mà phần nhiều không chứa thông tin người dùng mong muốn Trong khi đó, 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 của người dùng, trả lại các đoạn văn bản ngắn (các snippet) chứa câu trả lời trực tiếp cho câu hỏi [38]
Nghiên cứu về hệ thống hỏi đáp tự động hiện đang thu hút sự quan tâm của rất nhiều các nhà nghiên cứu từ các trường đại học, các viện nghiên cứu và cả các doanh nghiệp lớn trong ngành công nghệ thông tin, có ý nghĩa khoa học lẫn ý nghĩa thực tế Rất nhiều các hội nghị thường niên về khai phá dữ liệu, trích chọn thông tin dành một chủ đề riêng cho các nghiên cứu về hệ thống hỏi đáp như TREC1, CLEF2…
Bài toán xây dựng hệ thống hỏi đáp là một bài toán khó thuộc lĩnh vực xử lý ngôn ngữ tự nhiên Chúng ta biết rằng ngôn ngữ tự nhiên vốn 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ư phát hiện 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 vào ngữ cảnh
Ví dụ câu hỏi
“Ai là tác giả Nhật ký trong tù ?”
Câu trả lời:
“ Hồ Chí Minh viết Nhật ký trong tù trong thời gian Người bị chính quyền Tưởng
Giới Thạch bắt giam và giải đi khắp các nhà giam ở Quảng Tây, Trung Quốc.”
Trang 12“Nhật ký trong tù, dịch tiếng Hán- Ngục trung nhật ký là một tập thơ của Hồ Chí
Minh,…”
Hay câu hỏi “Mozart sinh năm nào ?” và câu trả lời “….Mozart (1751 – 1791)…”
Để tìm được câu trả lời trên cho câu hỏi, hệ thống cần có cơ chế để biết được rằng
“tác giả của một tập thơ là người viết tập thơ đó” 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 Q&A trên thế giới hiện nay sử dụng rất nhiều các công cụ xử lý ngôn ngữ như: Bộ gán nhãn từ loại (POS Tagger), bộ nhận dạng tên thực thể (Named Entity Recognizer), bộ phân tích ngữ pháp (Parser)… và các tài nguyên ngôn ngữ như Wordnet [28], ontology [30] để phân tích câu hỏi và trích xuất câu trả lời
Năm 2000, Carbonell và các đồng nghiệp trong bài báo The Vision Statement to
Guide Research in Question Answering and Text Summarization [13] đã đưa ra các tư
tưởng chung cho việc nghiên cứu Q&A 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:
Tính hợp lý về thời gian (Timeliness): Câu trả lời phải được đưa ra trong thời gian ngắn, ngay cả khi có hàng ngàn người dùng cùng truy nhập hệ thống một lúc Các nguồn dữ liệu mới cần phải được tích hợp vào hệ thống ngay khi chúng sẵn sàng
để có thế cung cấp cho người dùng câu trả lời cho những câu hỏi về các sự kiện có tính thời sự
Tính chính xác: Tính chính xác của hệ thống hỏi đáp tự động là cực kì quan trọng bởi việc đưa ra câu trả lời sai còn tai hại hơn nhiều là không đưa ra câu trả lời Nghiên cứu về Q&A cần tập trung vào việc đánh giá tính đúng đắn của câu trả lời đưa ra, bao gồm cả phương thức để phát hiện các trường hợp mà dữ liệu hiện thời không chứa câu trả lời cho câu hỏ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ý theo một cách phù hợp, nhất quán
Để đạt được sự chính xác, hệ thống Q&A cần được tích hợp 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 (việc bắt chước có thể hiểu như là một quá trình học)
Tính khả dụng: Hệ thống Q&A cần đáp ứng được các yêu cầu cụ thể của một
Trang 13từ bất kì dạng dữ liệu gì (văn bản, web, cơ sở dữ liệu, …) và đưa ra câu trả lời dưới định dạng mà người dùng mong muốn, cho phép người dùng miêu tả ngữ cảnh của câu hỏi và 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: Câu trả lời hoàn chỉnh cho câu hỏi của người dùng là điều mà các
hệ thống Q&A 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 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ủa câu trả lời: Trong ngôn ngữ tự nhiên, câu hỏi đưa ra luôn gắn với ngữ cảnh nào đó và câu trả lời cũng nằm trong một ngữ cảnh nhất định Câu trả lời mà hệ thống Q&A đưa ra phải phù hợp ngữ cảnh với câu hỏi Một hệ thống Q&A có khả năng giao tiếp (interactive Q&A) là cần thiết trong nhiều trường hợp bởi 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 Q&A cần hướng 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 câu trả lời
Các tiêu chuẩn trên được đặt ra với mong muốn xây dựng được một hệ thống Q&A 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ề Q&A 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.2 Phân loại hệ thống hỏi đáp tự động
Có nhiều cách phân loại hệ thống hỏi đáp dựa trên các tiêu chí 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.2.1 Phân loại theo miền ứng dụng (domain)
Hệ thống hỏi đáp miền mở (open domain Question answering): Hệ thống trả lời bất
kỳ câu hỏi nào được đưa và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
Trang 14Hệ thống hỏi đáp miền đóng (close 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 cụ thể (giáo dục, y tế, thể thao ) 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ì có thể sử dụng các tri thức miền (thường là ontology của miền cụ thể)
Hình 1 Xu hướng trong nghiên cứu về Q&A
Các nghiên cứu hiện nay về Q&A đ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 (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ải tiến những phương pháp cũ để có thể áp dụng
cho nguồn dữ liệu web vốn đa dạng, nhiều “nhiễu” và trùng lặp đang rất được quan tâm
[27] (Hình 1)
1.2.2 Phân loại theo khả năng trả lời câu hỏi
Hệ thống có khả năng trả lời các câu hỏi liên quan đến sự vật, hiện tượng, dựa trên việc trích ra câu trả lời có sẵn trong tập tài liệu 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
Miền đóng Miền mở
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
Trang 15Hệ thống có cơ chế lập luận đơn giản: Trích xuất các câu trả lời có sẵn trong tập tài liệu sau đó sử dụng các suy luận để tìm mối liên kết giữa câu trả lời và câu hỏi Hệ thống
sử dụng các nguồn tri thức như ontology về từng miền cụ thể và ontology chung
Hệ thống trả lời các câu hỏi yêu cầu khả năng tổng hợp: Các phần của câu trả lời được trích rút từ nhiều tài liệu sau đó được tổng hợp lại thành 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 có khả năng giao tiếp với người dùng: Trả lời chuỗi các câu hỏi của người
dùng về cùng một vấn đề Ví dụ các câu hỏi của người dùng như: “Giáo sư A sinh năm
nào? Ở đâu? Ông ấy đang công tác ở đâu?”
Hệ thống có khả năng lập luận tương tự: Có thể trả lời các câu hỏi có tính chất suy đoán, câu trả lời ẩn trong tập 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ương tự để tìm ra câu trả lời [19]
1.2.3 Phân loại theo hướng tiếp cận:
Hướng tiếp cận nông (shalow): Nhiều phương pháp sử dụng trong Q&A dùng các kĩ
thuật dựa trên từ khóa để định vị các câu, đọan văn có khả năng chứa câu trả lời từ các văn bản được trích chọn về Sau đó giữ lại các câu, đoạn văn có chứa chuỗi ký tự cùng loại với loại câu trả lời mong muốn (ví dụ các câu hỏi về tên người, địa danh, số lượng…)
Hướng tiếp cận sâu (deep): Trong những trường hợp khi mà hướng tiếp cận bề mặt
không thể tìm ra câu trả lời, những quá trình xử lý về ngữ pháp, ngữ nghĩa và ngữ cảnh là cần thiết để trích xuất hoặc tạo ra câu trả lời Các kĩ thuật thường dùng như 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,… Hệ thống thường sử dụng các nguồn tri thức như Wordnet, ontology để làm giàu thêm khả năng lập luận thông qua các định nghĩa và mối liên hệ ngữ nghĩa Các hệ thống hỏi đáp dựa theo mô hình ngôn ngữ thống kê cũng đang ngày càng phổ biến
1.3 Các bước chung của hệ thống hỏi đáp tự động
Một hệ thống hỏi đáp tự động thường gồm 3 bước chung sau:
Trang 16Bước2-Trích chọn tài liệu liên quan: 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 để tìm các tài liệu liên quan đến câu hỏ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 trả về từ 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 để đưa ra câu trả lời chính xác nhất
Hình 2 Các bước chung của hệ thống Q&A
Các hệ thống hỏi đáp tự động hiện nay có kiến trúc rất đa dạng, tuy nhiên chúng đều bao gồm ba phần cơ bản như trên [15,18,27] Sự khác nhau chính giữa các hệ thống 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ách tiếp cận theo trích chọn thông tin thuần túy (pure IR) là: chia nhỏ một tài liệu
trong tập dữ liệu thành chuỗi các tài liệu con, trích chọn các tài liệu con có độ tương đồng lớn nhất với câu truy vấn (do bước phân tích câu hỏi tạo ra) và trả lại chúng cho người dùng.Thách thức lớn nhất ở đây là làm sao chia nhỏ được tài liệu thành các phần với kích
cỡ tương ứng với kích cỡ của câu trả lời mà vẫn đủ lớn để có thể đánh chỉ mục được (nếu chia quá nhỏ thì số lượng tài liệu để đánh chỉ mục sẽ rất lớn, gây gánh nặng cho hệ thống trích chọn thông tin)
Phân tích câu hỏi Trích chọn tài liệu liên Trích xuất câu trả lời
Câu hỏi
Câu trả lời
Trang 17Cách tiếp cận theo xử lý ngôn ngữ tự nhiên (pure NLP) là: so khớp giữa biểu diễn
ngữ pháp và (hoặc) biểu diễn ngữ nghĩa của câu hỏi với dạng biểu diễn ngữ pháp, ngữ nghĩa của các câu trong các tài liệu liên quan trả về Khó khăn của cách tiếp cận này là hệ thống phải thực hiện việc phân tích ngữ pháp, ngữ nghĩa và so khớp đủ nhanh để đưa ra câu trả lời trong thời gian chấp nhận được, bởi số lượng các tài liệu cần xử lý là rất lớn trong khi các bước phân tích trên lại phức tạp và tốn nhiều thời gian
Sự khác nhau trong cách trích xuất câu trả lời dẫn đến việc phân tích câu hỏi cũng trở nên đa dạng Trong hướng tiếp cận theo trích xuất thông tin thuần túy, phân tích câu hỏi chỉ cần làm tốt việc tạo truy vấn, trong khi với hướng tiếp cận theo xử lý ngôn ngữ tự nhiên, câu hỏi cần được phân tích ngữ pháp, ngữ nghĩa một cách chính xác Các hệ thống hiện nay thường là sự kết hợp giữa hai hướng tiếp cận, sử dụng hệ thống trích chọn thông tin để thu hẹp không gian tìm kiếm câu trả lời, đồng thời phân tích câu hỏi để tìm ra các thông tin về ngữ pháp, ngữ nghĩa nhằm tìm ra câu trả lời chính xác nhất Kết quả của bước phân tích câu hỏi là đầu vào cho cả hai bước trích chọn tài liệu liên quan và trích xuất câu trả lời Bước phân tích câu hỏi có ý nghĩa rất quan trọng, bởi nó ảnh hưởng đến hoạt động của các bước sau và do đó quyết định đến hiệu quả của toàn hệ thống Chương
2 trình bày chi tiết các nội dung liên quan đến phân tích câu hỏi
Trang 18Chương 2 Phân tích câu hỏi
2.1 Nội dung của phân tích câu hỏi
Bài toán phân tích câu hỏi: Phân tích câu nhận đầu vào là câu hỏi dưới dạng ngôn
ngữ tự nhiên của người dùng, đưa ra câu truy vấn cho bước trích chọn tài liệu liên quan
và các thông tin cần thiết cho bước trích rút câu trả lời
Câu truy vấn là dạng tổ hợp của các từ khóa quan trọng trong câu hỏi (và các từ
khóa mở rộng) với các phép toán tập hợp AND, OR Các kĩ thuật biến đổi câu hỏi thành câu truy vấn được trình bày trong phần 2.5.1
Các thông tin cần thiết để trích xuất câu trả lời là rất đa dạng, tùy phuộc vào phương
pháp trích xuất câu trả lời Thông thường các thông tin đó là mục đích của câu hỏi (ví dụ mục đích hỏi để khẳng định một điều, để so sánh hay để tìm kiếm thông tin, để hỏi về
định nghĩa, cách thức…), loại câu trả lời mong đợi (question target hay answer type) Ví
dụ câu hỏi “Dân số Việt Nam là bao nhiêu”, câu trả lời được mong đợi là một “con số” hay câu hỏi “Ai là tổng thống Mỹ” thì loại câu trả lời là một “tên người” Một số thông
tin hữu ích cho trích xuất câu trả lời khác như định dạng của câu trả lời (người hỏi muốn câu trả lời là một dạng ngắn gọn như con số, tên người, địa chỉ hay là một đoạn văn bản dài về định nghĩa, mô tả, nguyên nhân, …), dạng biểu diễn ngữ pháp, ngữ nghĩa của câu
hỏi để so khớp (matching) và xếp hạng (ranking) các câu trả lời
2.2 Khó khăn của phân tích câu hỏi
Câu hỏi đầu vào của hệ thống hỏi đáp tự động là câu hỏi dưới dạng ngôn ngữ tự nhiên của người dùng Vì vậy việc phân tích câu hỏi cũng gặp những khó khăn của xử lý ngôn ngữ tự nhiên Theo Hồ Tú Bảo và Lương Chi Mai [1], cái khó nằm ở chỗ làm sao cho máy tính được hiểu ngôn ngữ con người, từ việc hiểu nghĩa từng từ trong mỗi hoàn cảnh cụ thể, đến việc hiểu nghĩa của cả câu hỏi, hiểu câu hỏi đang hỏi về cái gì và người hỏi mong muốn cái gì Mấu chốt ở đây là bản chất phức tạp của ngôn ngữ của con người, đặc biệt là sự đa nghĩa và nhập nhằng ngữ nghĩa của ngôn ngữ Thêm nữa, có một khác
biệt sâu sắc là con người ngầm hiểu và dùng quá nhiều lẽ thường (common sense) trong
ngôn ngữ, như khi hỏi về “thời tiết” thì tức là hỏi về “nhiệt độ, độ ẩm, mưa, nắng …”, hay
Trang 19biết “sợi dây” thì dùng để kéo chứ không dùng để đẩy hay khều các vật, trong khi rất khó làm cho máy hiểu các lẽ thường này
Cùng hỏi về một thông tin nhưng câu hỏi có thể được diễn đạt theo nhiều cách khác nhau, sử dụng từ ngữ, cấu trúc câu khác nhau, lúc ở dạng nghi vấn, lúc lại ở dạng khẳng định Vì vậy cần thiết phải có một mô hình ngữ nghĩa để hiểu và xử lý câu hỏi, có khả năng nhận diện được các câu hỏi tương đương bất kể nó ở dạng khẳng định, nghi vấn hay các từ ngữ và quan hệ ngữ pháp giữa chúng khác nhau hoặc các dạng thành ngữ, tu từ
Mô hình này cũng cần có khả năng chuyển đổi các câu hỏi phức tạp thành chuỗi các câu hỏi đơn giản hơn, có thể xác định được các nhập nhằng và xử lý chúng theo ngữ cảnh hoặc sử dụng cách thức giao tiếp với người dùng để làm rõ ngữ nghĩa
Xử lý câu hỏi cũng cần phải có cơ chế để xử lý các câu hỏi tiếp sau liên quan đến cùng một vấn đề của câu hỏi trước, sử dụng các thông tin thu được ở câu hỏi trước để làm sáng tỏ câu hỏi tiếp sau, cao hơn nữa là có thể đối thoại với người dùng theo chuỗi các câu hỏi và câu trả lời
2.3 Một số nội dung của xử lý ngôn ngữ tự nhiên trong phân tích câu hỏi
Đầu vào của pha phân tích câu hỏi là câu hỏi dạng ngôn ngữ tự nghiên, do đó phân tích câu hỏi có liên quan đến một số nội dung của xử lý ngôn ngữ tự nhiên Theo [1] việc
xử lý ngôn ngữ tự nhiên thường bao gồm các bước (tầng, layer) cơ bản sau:
Tầng hình thái (morphological layer): Nghiên cứu về các thành phần có nghĩa của
từ (word), như từ được tạo ra bởi các hình vị (morphemes) và từ được tách ra trong một câu thế nào Thí dụ, từ “tiếng Việt” tạo thành từ “t-iế-ng V-iệ-t”, còn ngữ (phrase) “xử lý tiếng Việt” tạo thành gồm hai từ “xử lý” và “tiếng Việt” Trong
tiếng Việt, một bài toán quan trọng là phân tách từ (word segmentation) Một thí
dụ quen thuộc là câu “Ông già đi nhanh quá” có thể phân tách thành (Ông già)
(đi) (nhanh quá) hoặc (Ông) (già đi) (nhanh quá) hoặc những cách khác nữa
Tầng ngữ pháp (syntactic layer): Nghiên cứu các quan hệ cấu trúc giữa các từ, xem các từ đi với nhau thế nào để tạo ra câu đúng Quá trình này thường được cụ thể trong các bước cơ bản sau:
Trang 20o Xác định từ loại (POS tagging): Xem mỗi từ trong câu là loại gì (danh từ,
động từ, giới từ, …) Trong thí dụ trên, có thể “Ông già” là danh từ, “đi” là động từ, “nhanh” là trạng từ, và “quá” là thán từ
o Xác định cụm từ (chunking): Thí dụ “Ông già” là cụm danh từ, “đi” là cụm
động từ, “nhanh quá” là cụm trạng từ Như vậy câu trên có hai phân tích
(Ông già) (đi) (nhanh quá) hoặc (Ông) (già đi) (nhanh quá)
o Xác định quan hệ ngữ pháp(parsing): (Ông già) (đi) (nhanh quá) là quan hệ chủ ngữ-vị ngữ-trạng ngữ
Tầng ngữ nghĩa (semantic layer): Nghiên cứu xác định nghĩa của từng từ và tổ hợp
của chúng để tạo nghĩa của câu Thí dụ trong phân tích (Ông già) (đi) (nhanh quá),
động từ “đi” có thể có nghĩa “bước đi”, hay “chết” hay “điều khiển” (khi đánh cờ),
… và tương ứng ta có các nghĩa khác nhau của câu
Tầng ngữ dụng (pragmatic layer): Nghiên cứu mối quan hệ giữa ngôn ngữ và ngữ
cảnh sử dụng ngôn ngữ (context-of-use) Ngữ dụng nghiên cứu việc ngôn ngữ được
dùng để nói về người và vật như thế nào
Việc phân tích câu hỏi ở các tầng từ tầng hình thái đến tầng ngữ pháp gọi là phân
tích sơ bộ (shallow parsing) Nếu phân tích thêm cả tầng ngữ nghĩa ta sẽ có phân tích đầy
đủ (fully parsing) Phân tích câu hỏi đến tầng nào cũng tùy thuộc vào từng hệ thống, vào
phương pháp trích xuất câu trả lời và các công cụ hỗ trợ phân tích ngôn ngữ đến đâu
Hệ thống AskMSR [8,12] đưa ra phương pháp phân tích câu hỏi và trích xuất câu trả lời rất đơn giản, chỉ phân tích câu hỏi ở tầng hình thái, sử dụng các từ vựng trong câu hỏi
để tìm ra các câu trả lời ứng viên Theo Michele Banko [8] thì đối với nhiều câu hỏi dạng đơn giản, hỏi về các sự vật, hiện tượng, … (factual-base question) thì dạng của câu hỏi và câu trả lời khá tương đồng nhau
Ví dụ với câu hỏi: “Where is the Louvre Museum located ?”
câu trả lời thường có dạng “…Louvre Museum is located at/in/near …”
Hay câu hỏi: “What is search engine ?”
thì câu trả lời có dạng: “…search engine is …”
Trang 21Vì vậy bước phân tích câu hỏi trong AskMSR là viết lại câu hỏi dưới dạng truy vấn thích hợp cho module tìm kiếm tài liệu Với câu hỏi đầu vào, hệ thống sẽ viết lại câu hỏi theo một số cách để sinh ra các chuỗi kí tự được cho là một phần của câu trả lời Việc viết lại câu hỏi chỉ dựa vào xử lý chuỗi đơn giản, không sử dụng các bộ phân tích ngữ pháp hay gán nhãn từ loại mà dùng các luật và trọng số cho từng luật do con người tự làm Ưu điểm của phương pháp này là đơn giản, tuy nhiên lại không thể áp dụng được với các câu hỏi phức tạp, hoặc không trích được câu trả lời trong tập dữ liệu do không có tài liệu nào chứa câu trả lời có dạng tương tự với câu hỏi
Hệ thống Webclopedia lại phân tích câu hỏi kĩ hơn tới mức ngữ pháp Các bước chính của hệ thống bao gồm:
Phân tích ngữ pháp cho câu hỏi: sử dụng bộ phân tích cú pháp CONTEX
Tạo truy vấn: Tạo truy vấn bằng cách kết hợp các từ đơn và cụm từ trong câu hỏi,
sử dụng Wordnet để mở rộng truy vấn
Trích chọn thông tin IR: Hệ IR trả về danh sách có xếp hạng của 1000 tài liệu liên quan
Phân đoạn: Mục đích nhằm giảm khối lượng dữ liệu cần xử lí Các tài liệu được
chia nhỏ thành các đoạn (segments) có sự liên kết về ngữ nghĩa (các đoạn văn
trong 1 tài liệu,…)
Xếp hạng các đoạn: Mỗi đoạn văn bản được đánh trọng số theo công thức về độ trùng lặp từ và cụm từ với câu hỏi và truy vấn mở rộng, theo đó các từ có trong câu hỏi có trọng số 2, từ đồng nghĩa có trọng số 1, các từ khác có trọng số 0 Sau
đó các đoạn được sắp xếp theo trọng số giảm dần
Phân tích ngữ pháp cho các đoạn: Sử dụng CONTEX để phân tích cú pháp cho các câu trong top 100 đoạn đã xếp hạng
Xác định câu trả lời: Với mỗi câu, ba bước so khớp (matching) được thực hiện, trong đó hai bước thực hiện việc so sánh biểu diễn cú pháp của câu hỏi và câu, bước 3 thực hiện việc tính độ match trên mức từ và cụm từ bằng phương pháp cửa
Trang 22Như đã nói ở phần trên, có rất nhiều cách diễn đạt để hỏi về cùng một thông tin, và cũng có nhiều cách để đưa ra câu trả lời Những dạng biến đổi này hình thành nên một lớp câu hỏi và lớp câu trả lời có ngữ nghĩa tương đồng Người dùng có thể hỏi với bất kì dạng nào của câu hỏi và tập tài liệu cũng có thể chứa bất kì dạng nào của câu trả lời, do đó hệ thống hỏi đáp cần có khả năng gộp các loại câu hỏi và câu trả lời tương đồng với nhau [19] Với một câu hỏi bất kì nếu xác định được loại câu hỏi thì có thể biết được các dạng của câu trả lời do có mỗi liên hệ mật thiết giữa loại câu hỏi và loại câu trả lời
Tuy nhiên sự tương đương ngữ nghĩa cũng không rõ ràng, kể cả các biến thể nhỏ
cũng tạo ra sự khác biệt Ví dụ với câu hỏi “Ai phát minh ra bóng đèn điện ?”, câu trả lời
có thể chấp nhận là “Thomas Edison” hoặc “một nhà phát minh người Mỹ” Trong khi câu hỏi “Tên người phát minh ra bóng đèn điện?” thì chỉ chấp nhận câu trả lời “Thomas
Edison” Điều này dẫn đến việc tổ chức loại câu hỏi, loại câu trả lời dưới dạng phân cấp,
cho phép câu trả lời cho lớp con có thể trả lời được cho lớp cha, nhưng không thể có
chiều ngược lại Như ví dụ trên thì có thể coi câu hỏi thứ nhất là về “Con người” –
PERSON , còn câu hỏi thứ hai là về “Danh từ riêng chỉ người” – PROPER NAME và lớp PROPER NAME là lớp con của lớp PERSON
Nhiều nghiên cứu trước đây về Q&A đều có sử dụng một cách phân loại câu hỏi nào
đó Có hệ thống phân loại theo từ để hỏi (who, what, when …), có hệ thống phân loại câu hỏi theo loại câu trả lời Phần tiếp theo của khóa luận khảo sát các các cách phân loại câu hỏi hay còn gọi là taxonomy câu hỏi
2.4 Taxonomy câu hỏi
2.4.1 Khái niệm về taxonomy
Vào những năm 90 của thế kỉ XX, khái niệm taxonomy được sử dụng trong nhiều lĩnh vực khác nhau như tâm lý học, khoa học xã hội và công nghệ thông tin để thiết lập
sự trùng hợp giữa thuật ngữ của người sử dụng và thuật ngữ của hệ thống Các chuyên gia đầu tiên phát triển cấu trúc hệ thống Web đã dùng thuật ngữ taxonomy để nói về tổ chức nội dung các trang web Và từ đó, khái niệm taxonomy được sử dụng rộng rãi với mục đích này
Trang 23Do được sử dụng trong nhiều lĩnh vực khác nhau, nên có nhiều định nghĩa khác nhau về taxonomy Từ năm 2000 đến năm 2005, có khoảng 36 định nghĩa1 khác nhau về taxonomy trong các nguồn tài liệu Trong lĩnh vực công nghệ thông tin, taxonomy được định nghĩa như sau:
Định nghĩa: Taxonomy là sự phân loại của toàn bộ thông tin trong một hệ phân cấp
theo một mối quan hệ có trước của các thực thể trong thế giới thực mà nó biểu diễn
Một taxonomy thường được mô tả với gốc ở trên cùng, mỗi nút của taxonomy – bao gồm cả gốc – là một thực thể thông tin đại diện cho một thực thể trong thế giới thực Giữa
các nút trong taxonomy có một mối quan hệ đặc biệt gọi là is subclassification of nếu hướng liên kết từ nút con lên nút cha hoặc là is superclassification of nếu hướng liên kết
từ nút cha xuống nút con Đôi khi những quan hệ này được xác định một cách chặt chẽ
hơn là is subclass of hoặc is superclass of, nếu thực thể thông tin là một lớp đối tượng
2.4.2 Taxonomy câu hỏi
Trong Q&A Roadmap [10] đã chỉ ra rằng taxonomy câu hỏi là rất cần thiết trong nghiên cứu về Q&A Các nghiên cứu về taxonomy câu hỏi đã được nhiều nhà nghiên cứu quan tâm, trên các mặt về ngôn ngữ học, triết học, xã hội học, có nền tảng lý thuyết lẫn thực nghiệm
Năm 1972, Robinson và Rackstraw đã nghiên cứu về cách sử dụng các từ để hỏi
trong tiếng Anh, theo đó “the Five Ws” (Who, What, When, Where, Why, và How) là cách phân loại câu hỏi thông thường và đơn giản nhất Có lẽ bởi “the Five Ws” là cách
suy nghĩ rất tự nhiên khi đặt câu hỏi của người dùng tiếng Anh nên nó rất phổ biến trong các tài liệu và trong hỏi đáp thông thường Robinson và Rackstraw đã dành 2 tập sách [31,32] để khảo sát về wh-words, hình thức câu hỏi dựa vào wh-words và câu trả lời cho
các câu hỏi này Robinson và Rackstraw định nghĩa wh-words là “tập hoàn toàn của các
từ để hỏi về mặt từ vựng” (“the total set of lexically marked interrogative words”)
(1972a) Họ đưa ra một taxonomy câu hỏi 7 lớp bao gồm:Who, Which, What, When,
Where, Why, How
Có hai vấn đề với taxonomy trên là: Câu hỏi không nhất thiết phải là câu có sử dụng
Trang 24câu hỏi Một câu hỏi có dạng của một câu phát biểu nhưng có thể được hiểu và chấp nhận
như là một câu hỏi Ví dụ câu “I’m looking for the name of the Secretary of State under
Clinton” tương đương với câu “Who was the Secretary of State under Clinton?” Các
cách nói tu từ, biểu cảm rất hay sử dụng các từ wh-words ví dụ câu “What a beautiful
car!” hay “Why me?” đều không phải là các câu có mục đích hỏi
Một vài hệ thống Q&A trong hội nghị TREC sử dụng wh-words như là các tiêu chuẩn chính trong phân tích và biểu diễn logic của câu hỏi [18,29] Một số hệ thống chia nhỏ các lớp câu hỏi wh-words thành các lớp con nhằm cho phép hệ thống Q&A có thể nhận diện được “kiểu ngữ nghĩa (semantic types) của câu trả lời mong muốn” Dan Moldovan và đồng nghiệp đưa ra một taxonomy phân loại câu hỏi phân cấp theo cả từ để hỏi lẫn loại câu trả lời mong muốn tương ứng [29]
Eduard Hovy [18] chỉ ra rằng việc phân lớp câu hỏi theo loại ngữ nghĩa của câu trả
lời là rất quan trọng Ví dụ câu hỏi “How tall is Mt Everest?”, hệ thống Q&A chỉ có thể
trả lời được câu hỏi này được nếu nó biết rằng câu trả lời được mong đợi sẽ chứa một đại lượng về kích thước Nhiều hệ Q&A sử dụng bộ nhận dạng thực thể (Named Entity Recognizer) có khả năng nhận diện được tên người, tên tổ chức, con số, thời gian, địa điểm…để hỗ trợ việc tìm câu trả lời khi biết được loại câu trả lời là gì và thu được độ chính xác rất cao Eduard Hovy trong [19] đã khảo sát 17384 câu hỏi và câu trả lời tương ứng được thu thập từ trang web answers.com và đưa ra taxonomy câu hỏi dựa trên loại ngữ nghĩa của câu trả lời với 94 nút trong đó có 47 nút lá Mỗi nút đều được chú thích bởi các câu hỏi, câu trả lời ví dụ và các mẫu câu hỏi, câu trả lời tiêu biểu của lớp
Cùng nghiên cứu về phân lớp câu hỏi theo loại câu trả lời, Li và Roth [25, 26] đã đưa ra taxonomy phân cấp theo sự phân loại ngữ nghĩa tự nhiên của câu trả lời cho các câu hỏi được khảo sát từ hội nghị TREC Cấu trúc phân cấp bao gồm 6 lớp câu hỏi thô
(coarse classes) là ABBREVIATION (viết tắt), ENTITY (thực thể), DESCRIPTION (mô tả), HUMAN (con người), LOCATION (địa điểm) và NUMERIC VALUE (giá trị số) Mỗi
lớp câu hỏi thô lại được phân chia thành các lớp con (fine class) Taxonomy câu hỏi của
Li và Roth được trình bày chi tiết trong bảng 1.Taxonomy này cùng bộ dữ liệu câu hỏi đã gán nhãn của Li và Roth được nhiều nhóm nghiên cứu sử dụng lại bởi nó bao phủ được hầu hết các loại câu hỏi thường gặp trong thực tế Trong thực nghiệm chương 4 chúng tôi
Trang 25Bảng 1 Taxonomy câu hỏi do Li và Roth đưa ra
symbol Biểu tượng, kí hiệu
technique Kĩ thuật và phương pháp
term Thuật ngữ tương đương
vehicle Phương tiện giao thông
word Từ với tính chất đặc biệt
Trang 26description Mô tả về một thứ gì đó
manner Cách thức của hành động
group Một nhóm người hoặc một tổ chức
ind Một cá nhân riêng lẻ
title Tư cách, danh nghĩa, chức vụ của một người description Mô tả về một người nào đó
Trang 272.5 Khảo sát các phương pháp phân tích câu hỏi cho các loại câu hỏi khác nhau
Trong hội nghị TREC, các câu hỏi được chia thành một số loại sau: câu hỏi đơn giản
(factual-base question), câu hỏi định nghĩa (definition question), câu hỏi danh sách (list question), câu hỏi phức tạp (complex question),… Mỗi loại câu hỏi có những đặc trưng
riêng và hướng tiếp cận khác nhau
2.5.1 Câu hỏi đơn giản (factual-base)
Câu hỏi factual-base là những câu hỏi về các sự vật, sự kiện đơn lẻ, có câu trả lời là những đoạn văn bản ngắn nằm sẵn trong tài liệu Kiến trúc thông thường để xử lý loại câu hỏi này như sau (Hình 3): Câu hỏi đầu vào được phân lớp theo loại ngữ nghĩa của câu trả lời và biến đổi sang dạng truy vấn Câu truy vấn được sử dụng để tìm kiếm các tài liệu có liên quan đến câu hỏi, loại câu hỏi được sử dụng trong phần trích xuất câu trả lời nhằm thu hẹp không gian tìm kiếm và kiểm tra câu trả lời có chính xác hay không [35]
Hình 3 Kiến trúc cho xử lý các câu hỏi factual-base
Như vậy, hai công việc chính của pha xử lý câu hỏi với loại câu hỏi này là xác định loại câu hỏi và tạo truy vấn cho hệ IR (information retrieval) trích chọn tài liệu liên quan
Xác định loại câu hỏi
NER NER
Kho tài liệu
Phân tích câu hỏi
Trích chọn tài liệu liên quan
Trích xuất câu trả lời
WordNet Parser
WordNetParser
Loại câu hỏi
Câu trả lời Câu hỏi
Trang 28trình bày) Có nhiều cách để xác định loại câu hỏi như: xây dựng bộ phân lớp câu hỏi sử dụng học máy thống kê, xác định câu hỏi sử dụng các kỹ thuật của xử lý ngôn ngữ tự nhiên, xác định loại câu hỏi dựa vào so khớp với các mẫu quan hệ có sẵn Nội dung chi tiết của các phương pháp này được trình bày ở chương 3
Tạo truy vấn từ câu hỏi
Vấn đề của tạo truy vấn là lựa chọn các từ khóa trong câu hỏi và kết hợp chúng để tạo ra câu truy vấn không quá chung chung, cũng không quá chi tiết Chiến lược được sử dụng để trích ra các từ khóa quan trọng là sử dụng độ ưu tiên: Độ ưu tiên cao nhất được gán cho các từ trong dấu nháy kép hoặc nháy đơn, tiếp đến là các cụm danh từ, danh từ, động từ, tính từ, trạng từ Các từ dừng, giới từ, trợ động từ được bỏ qua
Nhiều hệ thống Q&A có độ hồi tưởng (tỉ lệ câu trả lời đưa ra trên câu hỏi đầu vào) rất thấp Một số nguyên nhân chính bao gồm: module phân tích câu hỏi không nhận diện được câu hỏi thuộc loại nào hoặc không tìm được các mẫu khớp với câu hỏi, module trích chọn thông tin (IR) không tìm ra được các tài liệu có chứa câu trả lời, module trích xuất câu trả lời không thể tìm ra câu trả lời thỏa đáng cho câu hỏi Vì vậy với module trích chọn thông tin trong hệ thống Q&A, độ hồi tưởng là quan trọng hơn so với độ chính xác bởi các module sau có thể lọc ra các tài liệu không liên quan, nhưng không thể tìm ra được câu trả lời nếu các tài liệu chứa câu trả lời không được trả về từ IR [34]
Các nghiên cứu trước đây nhằm làm tăng độ hồi tưởng của IR đều tập trung vào việc thu nhỏ sự khác biệt về mặt hình thái, từ vựng và ngữ nghĩa giữa các từ xuất hiện trong truy vấn và trong tài liệu chứa câu trả lời
Về mặt hình thái, có hai cách được sử dụng [9,34]:
- Áp dụng kĩ thuật stemming cho tập dữ liệu được đánh chỉ mục và các từ trong
truy vấn (stemming là chuyển tất cả các dạng biến thể của một từ thành từ gốc, ví
dụ “expand”, “expanded”, “expansion”, “expandable”… đều được chuyển thành “expand”)
- Đánh chỉ mục cho các từ trong tài liệu mà không sử dụng stemming Sử dụng kĩ
thuật mở rộng hình thái (morphological expansion – ví dụ từ “expands” được
mở rộng thành {“expands”,“expand”, “expanded”, “expansion”, “expandable”
Trang 29Về mặt từ vựng và ngữ nghĩa, phương pháp hay được sử dụng đó là: các từ trong truy vấn được mở rộng bởi tập các từ đồng nghĩa, các khái niệm có nghĩa khái quát hơn hoặc chuyên môn hơn, chi tiết hơn hoặc bởi các từ liên quan Phương pháp này đòi hỏi phải có các nguồn tri thức về ngôn ngữ, từ vựng như Wordnet hoặc Ontology
Moldovan trong [29] đã chỉ ra rằng từ trọng tâm của câu hỏi (question focus – xem
trong phần 3.2) thường không xuất hiện trong tài liệu chứa câu hỏi Với các câu hỏi có từ trọng tâm là “tỉnh thành”, “thành phố”, “đất nước”, “ngày tháng”… thì câu trả lời sẽ chứa các thể hiện cụ thể của các từ này (ví dụ với “đất nước” thì sẽ là “Việt Nam”, “Trung Quốc”… chứ không nhất thiết phải là “đất nước Việt Nam”) Vì vậy các từ trọng tâm của câu hỏi thường không được sử dụng để làm từ khóa tạo truy vấn
2.5.2 Câu hỏi định nghĩa (definition question)
Câu hỏi định nghĩa hỏi về định nghĩa hoặc mô tả về một điều, một khái niệm gì đó
Các câu hỏi thường gặp có dạng như “Máy tìm kiếm là gì”, “Định nghĩa khai phá dữ
liệu”, “Bush là ai ?”…
Câu trả lời cho loại câu hỏi này rất đa dạng, rất nhiều đoạn văn bản ngắn có thể coi
là câu trả lời chấp nhận được Ví dụ với câu hỏi “Who is George W Bush ?” thì các câu
trả lời có thể là:
“… George W Bush, the 43rd President of the United States…”
“George W Bush defeated Democratic incumbent Ann Richards to become the 46th
Governor of the State of Texas…”
……
Với loại câu hỏi định nghĩa, phương pháp thường hay được sử dụng là so khớp mẫu (pattern matching) [17]
Ví dụ về các mẫu câu hỏi và mẫu câu trả lời
Mẫu câu hỏi What <be> a <Q> ?
Trang 30Ưu điểm: Có độ chính xác khá cao
Nhược điểm: Các mẫu khó có thể bao quát được hết các trường hợp đa dạng của câu hỏi
và câu trả lời
2.5.3 Câu hỏi phức tạp, có ràng buộc về thời gian
Phương pháp trình bày trong phần 2.5.1 có thể trả lời được các câu hỏi đơn giản
factual base có từ ngữ diễn đạt thời gian đơn giản như: “Hồ Chí Minh sinh năm nào” hoặc
“Ai là thủ tướng Việt Nam năm 2009 ?” Tuy nhiên nhiều câu hỏi phức tạp đòi hỏi phải
phát hiện ra các thuộc tính về thời gian hoặc thứ tự diễn ra của sự kiện Ví dụ “Ai là tổng
bí thư Đảng Cộng Sản Việt Nam trong chiến thắng lịch sử Điện Biên Phủ”
Câu hỏi liên quan đến thời gian được chia làm 4 loại [33]:
Loại 1: Câu hỏi về một sự kiện đơn lẻ, không có biểu đạt về thời gian (temporal
expressions)
“Đại học Công Nghệ thành lập khi nào ?”
Loại 2: Câu hỏi về một sự kiện đơn lẻ, có biểu đạt về thời gian
“Đội tuyển nào của Đại học công nghệ tham dự cuộc thi ACM quốc tế năm 2009” Ràng buộc thời gian: năm 2009
“Việt Nam đạt được những thành tựu gì sau khi chính sách mở cửa năm 1987 được
thông qua ? ”
Tín hiệu thời gian: sau khi
Ràng buộc thời gian: năm 1987
Loại 4: Câu hỏi có nhiều sự kiện, không có biểu đạt về thời gian
“Dân số thế giới là bao nhiêu trước chiến tranh thế giới thứ 2”
Tín hiệu thời gian: trước
Các tín hiệu thời gian trong Tiếng Việt như: sau, sau khi, trước, trước khi, trong khi,
Trang 31Phương pháp xử lý: Gồm 4 bước sau:
- Phân tích câu hỏi thành các các câu hỏi factual-base đơn giản hơn
“Dân số thế giới là bao nhiêu trước chiến tranh thế giới thứ 2 ?”
1) “Dân số thế giới là bao nhiêu ?”
2) “Chiến tranh thế giới thứ 2 xảy ra khi nào ?”
- Tìm câu trả lời cho câu hỏi thứ nhất
- Tìm câu trả lời cho câu hỏi thứ hai
- Đưa ra câu trả lời mà vừa trả lời câu hỏi thứ nhất, vừa có giá trị thời gian thích hợp với câu trả lời cho câu hỏi thứ hai
Trang 32Chương 3 Các phương pháp xác định loại câu hỏi
3.1 Phương pháp phân lớp sử dụng học máy thống kê
Theo [4] có hai hướng tiếp cận được sử dụng rộng rãi trong việc phân lớp câu hỏi đó
là hướng tiếp cận dựa trên luật (rule-base approach) và hướng tiếp cận dựa trên xác suất
thống kê
Hướng tiếp cận dựa trên luật:
Hướng tiếp cận này yêu cầu phải có các chuyên gia ngôn ngữ cung cấp các luật, các
biểu thức chính quy (regural expression), các từ khóa cho từng lớp câu hỏi … để hệ thống
hoạt động
Các hạn chế của hướng tiếp cận này được chỉ ra trong [38]:
o Xây dựng mô hình cho phương pháp này rất tốn thời gian và công sức, cần có sự cộng tác của những chuyên gia trong lĩnh vực ngôn ngữ học khi xây dựng các mẫu câu hỏi và văn phạm cho từng loại câu hỏi đó
o Các luật ngữ pháp viết tay và văn phạm của từng loại câu hỏi rất cứng nhắc, không linh động Khi một dạng câu hỏi mới xuất hiện, mô hình theo hướng này không thể xử lý Muốn xử lý được mô hình cần phải được cung cấp những luật mới
o Vấn đề nhập nhằng của các văn phạm ngữ pháp rất khó xử lý, kiểm soát và phụ thuộc vào đặc điểm của từng ngôn ngữ
o Khi tập câu trả lời được mở rộng hoặc thay đổi kéo theo việc phải viết lại hoàn toàn các luật trước đó nên hệ thống rất khó mở rộng
Một số hệ thống hỏi đáp sử dụng luật để phân lớp câu hỏi như Webclopedia [18] và [39]
Hướng tiếp cận dựa trên xác suất thống kê: Được Jonathan Brown tổng hợp lại bao gồm
hai cách tiếp cận chính đó là
Phương pháp học máy: Sử dụng một tập đủ lớn các câu hỏi đã được gán nhãn lớp
để huấn luyện một mô hình có thể tự động nắm bắt được các mẫu có ích trong việc phân
Trang 33lớp cho câu hỏi dựa trên những đặc trưng hay những mối quan hệ của các từ trong câu hỏi đưa vào Các thuật tốn thường được sử dụng là Support Vector Machines (SVM), láng giềng gần nhất (Near Neighbors – kNN), Nạve Bayes (NB), Entropy cực đại, …Ngồi ra, các phương pháp học máy bán giám sát [36] cũng được đưa ra để sử dụng các câu hỏi chưa được gán nhãn làm tăng cường thêm độ chính xác cho phân lớp câu hỏi
Phương pháp sử dụng mơ hình ngơn ngữ: Xây dựng một mơ hình ngơn ngữ thống
kê để ước lượng được phân phối của ngơn ngữ tự nhiên chính xác nhất cĩ thể Cụ thể với
bài tốn phân lớp câu hỏi là việc ước lượng xác suất cĩ điều kiện p(a|b) của “loại câu hỏi”
a xuất hiện trong “ngữ cảnh” câu hỏi tự nhiên b Bài tốn đặt ra là chúng ta phải tìm một
phương pháp ước lượng (cĩ thể tin tưởng được) mơ hình xác suất cĩ điều kiện p(a|b) [4]
Hướng tiếp cận dựa trên học máy thống kê hiện đang được rất nhiều nhà nghiên cứu quan tâm vì nĩ khơng chỉ tốn ít cơng sức của con người hơn (so với phương pháp dựa trên luật) mà cịn cĩ tính khả chuyển cao, dễ dàng áp dụng cho nhiều miền ứng dụng khác nhau Tuy nhiên hướng tiếp cận này cũng gặp khĩ khăn khi số lượng lớp câu hỏi lớn Trong phân lớp câu hỏi, người ta muốn phân câu hỏi vào các lớp càng nhỏ càng tốt nhằm thu hẹp khơng gian tìm kiếm câu trả lời Các hệ thống hỏi đáp hiện nay thường cĩ số lượng lớp câu hỏi lớn (hệ thống của Li và Roth [25] cĩ 50 lớp, hệ thống trong [39] cĩ 54 lớp, trong [15] cĩ 68 lớp, Webclopedia [18] cĩ 122 lớp,…), trong khi các thuật tốn học máy sẽ giảm hiệu quả nếu số lớp tăng Vì vập cần cải tiến mơ hình và thuật tốn để phù hợp với số lượng lớp lớn trong phân lớp câu hỏi Phần 3.1 này sẽ trình bày các nội dung
về học máy thống kê và mơ hình áp dụng cho phân lớp câu hỏi
3.1.1 Bài tốn phân lớp trong khai phá dữ liệu
Phân lớp là bài tốn điển hình trong khai phá dữ liệu Mục đích của phân lớp là để
dự đốn những nhãn lớp cho các bộ dữ liệu mới
• Đầu vào: một tập các mẫu dữ liệu huấn luyện, với một nhãn phân lớp cho mỗi mẫu
dữ liệu
• Đầu ra: mơ hình (bộ phân lớp) dựa trên tập huấn luyện và những nhãn phân lớp
Phân lớp là quá trình gồm hai bước:
Trang 34dữ liệu huấn luyện (training data set) Các nhãn lớp của tập dữ liệu huấn luyện được xác định bởi con người trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát (supervised learning) Trong bước này, chúng ta còn phải tính độ chính xác của mô hình, mà cần phải sử dụng một tập dữ liệu kiểm tra (test data set) Nếu độ chính xác là chấp nhận được (tức là cao), mô hình sẽ được sử dụng để xác định nhãn lớp cho các dữ liệu khác mới trong tương lai
Bước 2 (sử dụng mô hình): sử dụng mô hình đã được xây dựng ở bước 1 để phân
lớp dữ liệu mới
Đánh giá thuật toán phân lớp [3]
Độ hồi tưởng ρ và độ chính xác π được dùng để đánh giá chất lượng của thuật toán phân lớp Giả sử các tài liệu thuộc vào hai lớp và thuật toán cần học một lớp trong hai lớp
đó, khi đó các giá trị TP (true positives), TN (true negatives), FP (false positives), FN
(false negatives) được xem xét:
- TP: số lượng ví dụ dương (tài liệu thực sự thuộc lớp cần đoán nhận) được thuật toán phân lớp cho giá trị đúng
- TN: số lượng ví dụ âm (tài liệu thực sự không thuộc lớp cần đoán nhận) những được thuật toán phân lớp cho giá trị đúng
- FP: số lượng ví dụ dương được thuật toán phân lớp cho giá trị sai
- FN: số lượng ví dụ âm được thuật toán phân lớp cho giá trị sai
Đánh giá phân lớp đa lớp (thông qua dữ liệu test Dtest)
Bài toán ban đầu: C gồm có k lớp
Đối với mỗi lớp Ci , cho thực hiện thuật toán với các dữ liệu thuộc Dtest nhận được các đại lượng TPi, TFi, FPi, FNi (như bảng 2)
Trang 35Bảng 2 Biểu diễn của TP, TN, FP, FN trong đánh giá phân lớp
Giá trị thực Lớp Ci
Thuộc lớp Ci Không thuộc lớp Ci
Trong trường hợp phân lớp K lớp, các độ đo cực tiểu trung bình (microaveraging)
và cực đại trung bình (macroaveraging) được sử dụng:
)(
1
1
∑ =∑
=+
)(
1
1
∑ ∑=
=+
FP TP