Luận văn bao gồm 3 phần như sau: Chương 1: Tổng quan về phân loại câu hỏi Chương này trình bày tổng quan về phân loại câu hỏi, giới thiệu về hệ thống hỏi đáp, bài tốn phân loại câu hỏi
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
VŨ THỊ TUYẾN
MỘT SỐ MÔ HÌNH HỌC MÁY TRONG PHÂN LOẠI CÂU HỎI
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội -2016
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
VŨ THỊ TUYẾN
MỘT SỐ MÔ HÌNH HỌC MÁY TRONG PHÂN LOẠI CÂU HỎI
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS LÊ HỒNG PHƯƠNG
Hà Nội -2016
Trang 3LỜI CẢM ƠN
Trước tiên, tôi xin được gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Thầy giáo,
TS Lê Hồng Phương đã tận tình chỉ bảo, hướng dẫn, động viên và giúp đỡ tôi trong suốt quá trình thực hiện luận văn tốt nghiệp
Tôi xin gửi lời cảm ơn tới các thầy cô trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội – những người đã tận tình giúp đỡ, cổ vũ, và góp ý cho tôi trong suốt thời gian tôi học tập và nghiên cứu tại trường
Tôi xin gửi lời cảm ơn tới các anh chị, các bạn học viên cùng học tập nghiên cứu tại Trường Đại học Công nghệ đã hỗ trợ tôi rất nhiều trong quá trình học tập cũng như thực hiện luận văn
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, quan tâm, động viên tôi trong suốt quá trình học tập và thực hiện luận văn tốt nghiệp này
Tôi xin chân thành cảm ơn!
Hà Nội, tháng 10 năm 2016
Học viên
Vũ Thị Tuyến
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan nội dung được trình bày trong luận văn “Một số mô hình học
máy trong phân loại câu hỏi” do tôi thực hiện dưới sự hướng dẫn của TS Lê Hồng
Phương
Tôi đã trích dẫn đầy đủ các tài liệu tham khảo, công trình nghiên cứu liên quan ở trong nước và quốc tế Tất cả những tham khảo từ các nghiên cứu liên quan đều được nêu nguồn gốc một cách rõ ràng từ danh mục tài liệu tham khảo trong luận văn
Hà Nội, tháng 10 năm 2016
Học viên
Vũ Thị Tuyến
Trang 5MỤC LỤC
LỜI CẢM ƠN
LỜI CAM ĐOAN
MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT i
DANH MỤC CÁC HÌNH ii
DANH MỤC CÁC BẢNG iii
LỜI MỞ ĐẦU 1
Chương 1: TỔNG QUAN VỀ PHÂN LOẠI CÂU HỎI 2
1.1 Tổng quan về hệ thống hỏi đáp 2
1.1.1 Đặt vấn đề 2
1.1.2 Hệ thống hỏi đáp (Question Answering System) 3
1.2 Bài tốn phân loại câu hỏi 6
1.2.1 Định nghĩa phân loại câu hỏi 6
1.2.2 Phát biểu bài tốn phân loại câu hỏi 6
1.3 Các cách tiếp cận bài tốn phân loại câu hỏi 7
1.3.1 Tiếp cận dựa trên luật 7
1.3.2 Tiếp cận dựa trên học máy 8
1.4 Biểu diễn câu hỏi 10
1.5 Taxonomy câu hỏi 11
1.5.1 Khái niệm về Taxonomy 11
1.5.2 Các taxonomy theo kiểu câu trả lời 11
1.5.3 Phân lớp đa cấp 14
1.6 Các đặc trưng phân loại 15
1.6.1 Các đặc trưng về từ vựng 15
1.6.2 Các đặc trưng về cú pháp 17
1.6.3 Các đặc trưng ngữ nghĩa 23
Chương 2: MỘT SỐ MƠ HÌNH HỌC MÁY TRONG PHÂN LOẠI CÂU HỎI 25
2.1 Kiến trúc hệ thống 25
2.2 Thuật tốn Nạve Bayes 25
2.2.1 Định lý 25
2.2.2 Thuật tốn 26
Trang 62.3 Thuật toán k-láng giềng gần (k- Nearst Neighbours) 29
2.4 Máy Vector hỗ trợ - SVM 30
2.5 Một số thuật toán khác 34
2.6 Hiệu suất trong phân loại câu hỏi 34
2.7 Một số kết quả của các tác giả 35
Chương 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ 38
3.1 Lựa chọn bộ phân loại 38
3.2 Môi trường và công cụ sử dụng trong thực nghiệm 38
3.3 Tập dữ liệu thử nghiệm 38
3.4 Xử lý dữ liệu 40
3.5 Huấn luyện và kiểm thử với LibSVM 44
3.6 Kết quả thực nghiệm 45
3.7 Kết luận 45
TỔNG KẾT 46
TÀI LIỆU THAM KHẢO 47
PHỤ LỤC 1
Trang 7DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
1 QA Question Answering systems Hệ thống hỏi đáp
4 UIUC University of Illinois
Urbana-Champaign
Conference
11 SNoW Sparse Network of Winnows Mạng lọc thưa
Trang 8DANH MỤC CÁC HÌNH
Hình 1.1: Kiến trúc một hệ thống hỏi đáp 5
Hình 1.2: Mô hình giai đoạn huấn luyện 9
Hình 1.3: Chi tiết giai đoạn huấn luyện 10
Hình 1.4: Mô hình giai đoạn phân lớp 10
Hình 1.6: Cây phân tích cú pháp sử dụng bộ phân tích Berkeley 19
Hình 1.8: Cây phân tích cú pháp cho câu hỏi “What is the proper name for a female walrus” 22
Hình 2.1: Kiến trúc tổng quan của hệ thống phân loại câu hỏi có giám sát 25
Hình 2.2: Siêu phẳng với lề cực đại cho một SVM phân tách dữ liệu thuộc hai lớp 31
Hình 2.3: Sơ đồ phân lớp câu hỏi với SVM 34
Hình 3.1: File chứa 5500 câu hỏi ban đầu 39
Hình 3.2: File chứa 500 câu hỏi test 40
Hình 3.4: File chứa 5500 nhãn và câu hỏi của tập mịn 42
Hình 3.6: Nhãn tương ứng của 5500 câu hỏi 43
Hình 3.7: File kết quả đưa về định dạng đọc được bởi thư viện LIBSVM sử dụng đặc trưng bigram trên tập mịn của tập train 43
Hình 3.8: File kết quả đưa về định dạng đọc được bởi thư viện LIBSVM sử dụng đặc trưng bigram trên tập mịn của tập test 44
Trang 9DANH MỤC CÁC BẢNG
Bảng 1.1: Taxonomy câu hỏi của Li và Roth 12
Bảng 2.1: Độ chính xác của phân loại câu hỏi sử dụng các thuật toán học máy khác nhau với đặc trưng bag-of-words trên lớp mịn 36
Bảng 2.2: Độ chính xác khi thực nghiệm với bộ dữ liệu ngôn ngữ Tiếng Việt 36
Bảng 3.1: Thông tin phần cứng 38
Bảng 3.2: Các công cụ phần mềm được sử dụng 38
Bảng 3.3: Độ chính xác phân loại trên tập thô với đặc trưng unigram và bigram 45
Bảng 3.4: Độ chính xác phân loại trên tập mịn với đặc trưng unigram và bigram 45
Trang 10LỜI MỞ ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của Internet tồn cầu cùng với nhu cầu tìm kiếm thơng tin ngày càng cao của con người địi hỏi hệ thống hỏi đáp ngày một thơng minh hơn Những thắc mắc của người dùng dưới dạng truy vấn cần được tìm kiếm và trả về một cách ngắn gọn, súc tích và chính xác nhất những gì mà họ mong muốn
Một trong những thành phần quan trọng ảnh hưởng trực tiếp đến kết quả tìm kiếm trong hệ thống hỏi đáp là giai đoạn phân loại câu hỏi Một phân loại tốt sẽ giúp đưa ra câu trả lời chính xác hơn Đã cĩ nhiều phương pháp tiếp cận được đưa ra cho bài tốn phân loại này, tuy nhiên phương pháp học máy là được áp dụng nhiều hơn cả
Chính vì lý do này mà tác giả chọn và nghiên cứu đề tài “Một số mơ hình học máy
trong phân loại câu hỏi” Luận văn bao gồm 3 phần như sau:
Chương 1: Tổng quan về phân loại câu hỏi
Chương này trình bày tổng quan về phân loại câu hỏi, giới thiệu về hệ thống hỏi đáp, bài tốn phân loại câu hỏi, cách tiếp cận giải quyết bài tốn, tổng quan về các tiếp cận học máy như: biểu diễn câu hỏi, phân lớp câu hỏi, các đặc trưng câu hỏi
Chương 2: Một số mơ hình học máy trong phân loại câu hỏi
Chương này tập trung trình bày về 3 bộ phân loại thường được sử dụng: Nạve Bayes, K-láng giềng gần, Máy vector hỗ trợ và liệt kê một số bộ phân loại khác So sánh hiệu suất phân loại của các bộ phân loại đĩ dựa trên kết quả tham khảo
Chương 3: Thực nghiệm và đánh giá
Áp dụng bộ phân loại SVM thực hiện thí nghiệm trên tập dữ liệu UIUC, lựa chọn đặc trưng bag-of-word Nhận xét kết quả trả về
Trang 11Chương 1: TỔNG QUAN VỀ PHÂN LOẠI CÂU HỎI 1.1 Tổng quan về hệ thống hỏi đáp
1.1.1 Đặt vấn đề
Với số lượng ngày càng tăng nhanh chóng của tri thức trên Web, các máy tìm kiếm cần có nhiều trí thông minh hơn Trong một vài trường hợp người sử dụng chỉ cần một phần chính xác của thông tin thay vì một danh sách các tài liệu Thay vì bắt người sử dụng phải đọc toàn bộ tài liệu, nó thường được ưa chuộng hơn bằng cách đưa cho người sử dụng câu trả lời chính xác và ngắn gọn Các hệ thống hỏi đáp (Question Answering systems-QA) phải cung cấp các phần thông tin chính xác cho các câu hỏi tương ứng Một hệ thống hỏi đáp miền mở có thể trả lời được các câu hỏi viết bằng ngôn ngữ tự nhiên giống như con người
Một trong các thành phần đóng vai trò quan trọng trong hệ thống hỏi đáp là phân loại câu hỏi Nhiệm vụ của phân loại câu hỏi như sau: Cho 1 câu hỏi, ánh xạ câu hỏi
đó tới một trong k lớp, các lớp đó cung cấp một gợi ý ngữ nghĩa về câu trả lời sau khi được tìm kiếm Mục đích của sự phân loại này là giảm thiểu các câu trả lời không có tiềm năng, giai đoạn này được xử lý tại quá trình hạ lưu để lựa chọn câu trả lời chính xác từ một lượng các câu trả lời có tiềm năng
Phân loại câu hỏi trong hệ thống hỏi đáp có 2 yêu cầu chính [13] Thứ nhất , nó cung cấp các gợi ý về loại câu trả lời mà cho phép tiếp tục xử lý để xác định vị trí chính xác và xác minh câu trả lời Thứ hai, nó cung cấp thông tin trong quá trình xử lý
hạ lưu được sử dụng để lựa chọn các chiến lược cho từng câu trả lời cụ thể Ví dụ như
với câu hỏi: Who was the first woman killed in the Vietnam War?, các nhà nghiên cứu
không muốn kiểm tra mọi cụm danh từ trong tài liệu để xem liệu có nó cung cấp một câu trả lời hay không Mà ít nhất họ muốn biết rằng mục đích của câu trả lời này là về
“person”, do đó mà làm giảm thiểu đáng kể không gian các câu trả lời tiềm năng Chúng ta cùng xem xét một số ví dụ tiếp theo được lấy từ bộ câu hỏi TREC 100, thể hiện một số khía cạnh của quan điểm này
Q: What is a prism? Câu hỏi này xác định rằng, mục đích mà nó hướng tới là
“định nghĩa” (definition), chiến lược cụ thể cho các “definitions” (chẳng hạn như sử
dụng các mẫu câu định sẵn: Prism is… hoặc Prism is defined as…) có thể trở nên hữu
ích Tương tự như vậy, trong câu hỏi
Q: Why is the sun yellow? Xác định rằng câu hỏi này hỏi về loại “lí do” (reason),
câu trả lời được hướng tới sẽ là loại “reason”
Trang 12Các ví dụ trên cho thấy rằng, các loại câu trả lời khác nhau được đưa ra tương ứng với câu hỏi có thể được tìm kiếm sử dụng nhiều chiến lược khác nhau, một phân loại tốt có thể giúp tìm ra câu trả lời tốt trong nhiệm vụ hỏi đáp Hơn nữa, việc xác định loại ngữ nghĩa cụ thể của câu trả lời cũng có thể giúp ích trong việc tìm ra câu trả
lời Ví dụ với 2 câu hỏi: What Canadian city has the largest population? và Which
country gave New York the Statue of Liberty? ta biết rằng mục tiêu là loại “city” hoặc
“country” sẽ hữu ích hơn là chỉ biết chúng thuộc loại “localtions”
Như vậy, mục đích của phân loại câu hỏi là giảm thiểu không gian tìm kiếm, giúp
ta xác định được kiểu câu trả lời khi đã biết phân loại của nó
1.1.2 Hệ thống hỏi đáp (Question Answering System)
1.1.2.1 Giới thiệu
QA system: là một hệ thống đóng vai trò phổ biến trong việc tìm kiếm thông tin
chính xác và hiệu quả Nhiệm vụ của nó là đưa ra câu trả lời đầy đủ và chính xác ứng với yêu cầu của người dùng và câu trả lời được thể hiện bằng ngôn ngữ tự nhiên Người dùng nhanh chóng lấy được thông tin cần thiết thay vì tìm kiếm thông tin trong một khối lượng lớn các văn bản
Nghiên cứu để xây dựng một hệ thống trả lời được các câu hỏi biết bởi ngôn ngữ
tự nhiên đã được thực hiện từ những năm 1960 Hệ thống hỏi đáp đầu tiên là BASEBALL được phát triển năm 1961 do nhóm tác giả Green, Chomsky, và Laughery Hệ thống này dùng để trả lời các câu hỏi viết bằng ngôn ngữ tự nhiên trong một lĩnh vực đặc biệt là về trò chơi bóng chày trong ở giải đấu của Mỹ trong một mùa giải Đây là một hệ thống cơ sở dữ liệu đơn giản dùng để dịch một câu hỏi trong ngôn ngữ tự nhiên thành một câu truy vấn tương ứng trong cơ sở dữ liệu
Hầu hết các nghiên cứu trước đây chủ yếu là các hệ thống hỏi đáp trong một lĩnh vực đặc biệt hoặc là có sự giới hạn trong việc hỏi đáp Do thiếu kiến thức để cung cấp câu trả lời cho câu hỏi miền mở, các nghiên cứu về hệ thống hỏi đáp nằm im trong vài thập kỷ cho đến khi sự xuất hiện của các trang web Với số lượng lớn của các dữ liệu trên web, cần phải thực hiện các truy vấn web, do đó các nhiệm vụ về hỏi đáp lại được tập trung nghiên cứu Sự tập trung nghiên cứu về hỏi đáp đặc biệt tăng khi hội nghị truy hồi văn bản (Text REtrieval Conference-Trec) bắt đầu một chủ để về hỏi đáp vào năm 1990
Một vài kĩ thuật từ truy hồi thông tin, xử lý ngôn ngữ tự nhiên và học máy đã được dùng trong các hệ thống hỏi đáp Các nghiên cứu gần đây trên các hệ thống hỏi đáp miền mở điển hình thường dựa trên các kĩ thuật truy hồi thông tin (Information Retrieval-IR) Các hệ thống hỏi đáp dựa trên truy hồi thông tin cố gắng tìm kiếm câu
Trang 13trả lời cho câu hỏi bằng cách xử lý các tài liệu, thường từ web và tìm kiếm một phần của văn bản đó có thể là câu trả lời cho câu hỏi
Có 2 loại hệ thống hỏi đáp:
Hệ thống hỏi đáp miền đóng (Closed-domain Question Answering): hệ thống này liên quan đến các câu hỏi trong một lĩnh vực cụ thế, chẳng hạn như lĩnh vực y học
Hệ thống hỏi đáp miền mở (Open-domain Question Answering): hệ thống này liên quan đến các câu hỏi gần như về tất cả mọi thứ
1.1.2.2 Cấu trúc của một hệ thống hỏi đáp
Có nhiều hệ thống QA đã được đưa ra, nhưng hầu hết chúng đều tuân theo một khung làm việc chung Thông thường, một hệ thống hỏi đáp xử lý 3 nhiệm vụ sau [6]:
xử lý câu hỏi, xử lý tài liệu và xử lý câu trả lời Hình 1.1 dưới đây là kiến trúc tổng quan về một hệ thống hỏi đáp
Xử lý câu hỏi: nhiệm vụ xử lý câu hỏi thông thường bao gồm các công việc như biểu diễn câu hỏi, dẫn xuất đến loại câu trả lời mong đợi và trích xuất từ khóa Phân tích được thực hiện để xây dựng cấu trúc biểu diễn câu hỏi Thông thường, câu trúc biểu diễn câu hỏi là một cây cú pháp hoặc một cây phụ thuộc Sau đó cấu trúc này được sử dụng để xác định vị trí và xác minh các câu trả lời trong các tài liệu và đoạn văn đã được trích xuất
Xử lý tài liệu: giai đoạn này bao gồm mở rộng từ khóa, trích chọn tài liệu, và xác định đoạn văn liên quan Mở rộng từ khóa là sử dụng các từ khóa được trích xuất trong giai đoạn xử lý câu hỏi ở trên và tìm kiếm chúng trong một từ điển đồng nghĩa hoặc các tài nguyên khác, và thêm các điều kiện tìm kiếm để lấy ra càng nhiều tài liệu liên quan càng tốt Ví dụ từ khóa “kill” có thể được mở rộng thành “murder” và “assassinate” Các tài liệu được trích chọn dựa trên các từ khóa mở rộng Từ đó, một đoạn hoặc một phần của mỗi tài liệu này có chứa câu trả lời tiềm năng sẽ được xác định Phân loại câu hỏi được sử dụng ở đây: nó có thể xác định chiến lược tìm kiếm để tìm kiếm các ứng viên đúng Tùy thuộc vào các lớp câu hỏi, truy vấn tìm kiếm có thể được chuyển đổi thành một hình thức
mà là thích hợp nhất cho việc tìm kiếm câu trả lời
Trang 14Hình 1.1: Kiến trúc một hệ thống hỏi đáp
Xử lý câu trả lời: nhiệm vụ cuối cùng của hệ thống hỏi đáp là xử lý các ứng viên đúng và trích xuất các cụm từ giống như là câu trả lời của câu hỏi Phân loại câu hỏi lại được dùng ở đây Các ứng cử viên câu trả lời được xếp hạng theo khả năng của mình trong việc trong cùng một lớp như lớp câu hỏi và câu trả lời xếp hạng cao nhất sẽ được coi là câu trả lời cuối cùng của câu hỏi
1.1.2.3 Tại sao phải phân loại câu hỏi?
Như đã nói ở trên, mặc dù các kiểu khác nhau của các hệ thống hỏi đáp tự động
có các kiến trúc khác nhau, hầu hết trong số chúng làm theo một khuôn khổ trong đó phân loại câu hỏi giữ một vai trò quan trọng Hơn nữa, nó có được chứng minh rằng hiệu suất của phân loại câu hỏi có ảnh hưởng đáng kể trên hiệu suất tổng thể của hệ thống hỏi đáp
Về cơ bản có hai động cơ thúc đẩy chính về phân loại câu hỏi: xác định câu trả lời và lựa chọn chiến lược tìm kiếm
Trang 15Xác định câu trả lời: biết được loại câu hỏi không chỉ có thể thu gọn được không gian tìm kiếm cần tìm câu trả lời, nó còn có thể tìm kiếm chính xác câu trả lời
trong một tập lớn các ứng viên trả lời Cho ví dụ biết được loại của câu hỏi “Who was
the president of U.S in 1934?” có kiểu là “human”, hệ thống trả lời có thể chỉ quan
tâm đến các ứng viên là tên các thực thể có kiểu là “human” mà không cần phải kiểm
tra toàn bộ các đoạn văn bản để tìm ở đâu có thể chứa câu trả lời hoặc không
Lựa chọn chiến lược tìm kiếm: lớp câu hỏi có thể được sử dụng để lựa chọn chiến lược tìm kiếm khi câu hỏi được viết dưới dạng một truy vấn để tìm kiếm trên
máy tìm kiếm Cho ví dụ đưa ra câu hỏi “What is a pyrotechnic display ?” Xác định được lớp của câu hỏi này là “definition”, mẫu tìm kiếm cho việc xác định câu trả lời
có thể dùng như “pyrotechnic display is a ” or “pyrotechnic displays are ”, nó tốt
hơn nhiều việc tìm kiếm đơn giản bởi các từ để hỏi
1.2 Bài toán phân loại câu hỏi
1.2.1 Định nghĩa phân loại câu hỏi
Có nhiều định nghĩa khác nhau về phân loại câu hỏi, áp dụng định nghĩa phân loại văn bản, Håkan Sundblad [6] đã đưa ra một định nghĩa phân loại câu hỏi như sau:
Phân loại câu hỏi là nhiệm vụ gán một giá trị kiểu boolean cho mỗi cặp
, trong đó Q là miền chứa các câu hỏi và là tập các phân loại cho trước
Cặp (q j ,c i ) được gán cho giá trị là T chỉ ra rằng câu hỏi q j thuộc phân loại c i và
được gán cho giá trị là F nếu q j không thuộc phân loại c i
Trong bối cảnh học máy, nhiệm vụ của phân loại câu hỏi là làm cho hàm mục tiêu từ chưa rõ ràng trở nên gần đúng với hàm mục tiêu lý tưởng , như vậy và Ф trùng nhau càng nhiều càng tốt
1.2.2 Phát biểu bài toán phân loại câu hỏi
Bài toán phân loại câu hỏi có thể được phát biểu như sau:
Input:
- Cho trước một tập các câu hỏi
- Tập các chủ đề (phân loại) được định nghĩa
Output:
- Nhãn ci của câu hỏi qj
Trang 161.3 Các cách tiếp cận bài toán phân loại câu hỏi
Theo [3, 6] có 2 cách tiếp cận để phân loại câu hỏi: dựa trên luật (rule-based) và dựa trên học máy (machine learning based) Ngoài ra, có một vài cách tiếp cận lai là sự kết hợp của tiếp cận dựa trên luật và học máy
1.3.1 Tiếp cận dựa trên luật
Đây là cách tiếp cận được cho là đơn giản nhất để phân loại câu hỏi Trong cách tiếp cận này thì việc phân loại câu hỏi dựa vào các luật ngữ pháp viết tay Các luật này
có được là do đề xuất từ các chuyên gia Đối với cách tiếp cận này, một loạt các biểu thức chính quy (regular expression) được tạo ra để so khớp với câu hỏi từ đó quyết định phân loại của câu hỏi và loại câu trả lời
Nhóm tác giả Singhal (1999) dựa trên các quy tắc hoạt động của từ đã giới thiệu một số luật như sau [6]:
Truy vấn bắt đầu bằng “Who” hoặc “Whom” được đưa đến loại “person”
Truy vấn bắt đầu bằng “Where”, “Whence”, hoặc “Whither” được đưa về loại “location”
Truy vấn bắt đầu với “How few”, “How great”, “How little”, “How many” hoặc “How much” được đưa về loại “quantity”
Truy vấn bắt đầu bằng “Which” hoặc “What” thì tìm kiếm danh từ chính (head noun) trong từ điển để xác định loại câu trả lời
Tuy nhiên, cách tiếp này thể hiện một số hạn chế như sau:
Sự phân loại dựa trên các luật viết gặp nhiều khó khăn và tốn nhiều thời gian xử lý, do dựa trên kiến thức chủ quan của con người trên một tập dữ liệu câu hỏi
Có sự giới hạn về mức độ bao quát và phức tạp trong việc mở rộng phạm
vi của các loại câu trả lời
Khi một phân loại mới xuất hiện, nhiều quy tắc trước đó phải được sửa đổi hoặc viết mới hoàn toàn
Li và Roth đã cung cấp ví dụ để chỉ ra khó khăn của cách tiếp cận dựa trên luật Tất cả các câu hỏi dưới đây đều có cùng một câu trả lời nhưng chúng được viết trong những định dạng cú pháp khác nhau
- What tourist attractions are there in Reims?
- What are the names of the tourist attractions in Reims?
- What do most tourist visit in Reims?
- What attracts tourists to Reims?
Trang 17- What is worth seeing in Reims?
Tất cả các câu hỏi trên cùng đề cập đến một lớp trong khi chúng cĩ định dạng cú pháp khác nhau và do đĩ chúng cần so khớp với các luật khác nhau Vì vậy với sự giới hạn về số lượng các luật dẫn đến việc khĩ để phân loại
1.3.2 Tiếp cận dựa trên học máy
Đây là cách tiếp cận được sử dụng phổ biến để giải quyết bài tốn phân loại câu hỏi Cách tiếp cận này sẽ thay thế các kiến thức chuyên mơn bằng một tập lớn các câu hỏi được gán nhãn (tập dữ liệu mẫu) Sử dụng tập này, một bộ phân lớp sẽ được huấn luyện cĩ giám sát Một số thuật tốn thường được sử dụng như là: Mạng nơ-ron (Neural NetWork), tính xác suất Nạve Bayes, Maximum Entropy , cây quyết định (decision Tree) , lân cận (Nearest-Neighbors), Mạng lọc thưa (Sparse Network of Winnows - SNoW), Máy Vector hỗ trợ (Support Vector machine - SVM) Cách tiếp cận bằng học máy đã giải quyết được các hạn chế trong cách tiếp cận dựa trên luật
Những thuận lợi trong cách tiếp cận này bao gồm:
Thời gian tạo dựng ngắn vì khơng phải tốn thời gian đề ra các luật
ộ phân loại được tạo ra tự động thơng qua việc học từ một tập dữ liệu huấn
luyện, việc cung cấp các luật giờ khơng cần thiết nữa
Độ bao phủ rộng hơn, và cĩ thể mở rộng độ bao phủ bằng cách thu được từ các
ví dụ huấn luyện
Nếu cĩ yêu cầu , bộ phân loại cĩ thể tái cấu trúc lại (học lại) một cách linh hoạt
để phù hợp với quy luật mới
Trong cuộc hội nghị TREC các nhà nghiên cứu đã phát triển một phương pháp học máy tiếp cận để phân loại câu hỏi Mục đích của phương pháp này là phân loại các câu hỏi vào trong các lớp ngữ nghĩa khác nhau mà đã được gợi ý về khả năng trả lời,
để chúng cĩ thể được sử dụng trong các giai đoạn sau của hệ thống hỏi đáp Một trong những giai đoạn quan trọng trong tiến trình này là việc phân tích câu hỏi đến một cấp
độ cho phép xác định “loại” câu trả lời sau khi được tìm kiếm
Ví dụ, khi xem xét câu hỏi: What Canadian city has the largest population?, thì
mong muốn rằng phân loại câu hỏi này vào kiểu câu trả lời là location (city), điều này ngụ ý rằng chỉ xét đến các câu trả lời cĩ kiểu là thành phố mới cần được xem xét
Tương tự như vậy với câu hỏi: Who discovered x-rays? nên xếp vào loại human
(individual) Như vậy, việc phân loại các câu hỏi sẽ giúp thu hẹp khơng gian tìm kiếm dẫn đến việc đưa ra câu trả lời chính xác
Cách tiếp cận bài tốn phân loại câu hỏi theo phương pháp học máy được sử dụng phổ biến hơn cả Vấn đề phân loại câu hỏi theo phương pháp thống kê dựa trên
Trang 18kiểu học có giám sát được đặc tả bao gồm 2 giai đoạn : giai đoạn huấn luyện và giai đoạn phân lớp
Giai đoạn huấn luyện:
Đầu vào: tập dữ liệu huấn luyện và thuật toán huấn luyện
Đầu ra: mô hình phân loại (bộ phân loại – classifier)
- Thuật toán huấn luyện: Sử dụng thuật toán huấn luyện bộ phân loại để tìm ra
họ các tham số tối ưu ước này có thể được thực thi lặp lại nhiều lần để tìm
họ các tham số tối ưu sau mỗi lần lặp
- Đánh giá: bước này đánh giá hiệu suất (chất lượng) của bộ phân loại
Tập dữ liệu
huấn luyện Bộ học có giám sát
Mô hình phân lớp
Trang 19Hình 1.3: Chi tiết giai đoạn huấn luyện
Giai đoạn phân lớp:
Sau khi đã hoàn thành giai đoạn huấn luyện, mô hình phân lớp sẽ được áp dụng cho các văn bản mới cần phân loại
Hình 1.4: Mô hình giai đoạn phân lớp Đầu vào: các vector đặc trưng của câu hỏi và mô hình phân loại được sử dụng Đầu ra: nhãn/phân loại của câu hỏi
1.4 Biểu diễn câu hỏi
Một trong những nhiệm vụ đầu tiên trong việc xử lý phân loại câu hỏi là chọn được một mô hình biểu diễn câu hỏi thích hợp Tùy thuộc vào từng thuật toán phân loại khác nhau mà chúng ta có mô hình biểu diễn riêng Một trong những mô hình đơn giản và thường được sử dụng là mô hình không gian vector
Trong mô hình này, các câu hỏi được thể hiện trong một không gian có số chiều lớn, trong đó mỗi chiều của không gian tương ứng với một từ trong câu hỏi Phương pháp này có thể biểu diễn một cách hình tượng như sau: mỗi câu hỏi được biểu diễn dưới dạng (vector đặc trưng của câu hỏi đó) Trong đó, và n là số
Tập dữ liệu
Trích chọn đặc trưng
Áp dụng thuật toán huấn luyện Đánh giá
Mô hình phân lớp
Câu hỏi cần
Câu hỏi đã được phân loại
Trang 20lượng đặc trưng hay số chiều của vector câu hỏi, là trọng số của đặc trưng thứ i với
1.5 Taxonomy câu hỏi
1.5.1 Khái niệm về Taxonomy
Khái niệm tanonomy được sử dụng trong nhiều lĩnh vực khác nhau, vì vậy mà có rất nhiều định nghĩa khác nhau Trong lĩnh vực công nghệ thông tin, taxonomy được định nghĩa như sau [2]:
Đị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
1.5.2 Các taxonomy theo kiểu câu trả lời
Taxonomy theo kiểu câu trả lời có thể được chia thành 2 loại [6]: taxonomy phẳng (flat) và taxonomy phân cấp (hierarchical) Taxonomy phẳng chỉ có duy nhất một mức phân loại, do đó không phân loại theo đúng nghĩa của từ Taxonomy phân cấp bao gồm các phân loại lớn và tập các phân loại nhỏ bên trong
Một số hệ thống (Srihari & Li 1999) sử dụng các taxonomy bắt nguồn từ các loại được sử dụng trong các đánh giá tại Message Understanding Conference (MUC) MUC đã phân biệt giữa các thực thể đặt tên (organization, person, và location), biểu thức thời gian (date và time), và các biểu thức số (money và percentage)
Một giải pháp khác được sử dụng để xây dựng các taxonomy đó là sử dụng WordNet (Fellbaum 1998) Nhóm tác giả Kim (2000) đã sử dụng cách tiếp cận này để xây dựng một taxonomy cho 46 phân loại khác nhau về ngữ nghĩa khác nhau
Ngoài ra còn có các taxonomy câu hỏi nổi tiếng khác sử dụng để phân loại câu hỏi Taxonomy được đề xuất bởi Hermjakob (2002) bao gồm 180 lớp, đó cũng là nguyên tắc phân loại câu hỏi rộng nhất được đề xuất đến bây giờ
Hầu hết các tiếp cận dựa trên học máy gần đây đều sử dụng taxonomy được đề xuất bởi Li và Roth[13] từ khi các tác giả công bố một tập các giá trị là 6000 câu hỏi
đã gán nhãn Tập dữ liệu này bao gồm hai tập riêng rẽ là 5500 và 500 câu hỏi trong đó tập đầu tiên sử dụng như một tập dữ liệu huấn luyện và tập thứ hai sử dụng như một tập kiểm tra độc lập Tập dữ liệu này được xuất bản lần đầu tiên ở University of Illinois Urbana-Champaign (UIUC), thường được gọi là tập dữ liệu UIUC và thỉnh thoảng được coi như là tập dữ liệu TREC kể từ khi nó được mở rộng sử dụng trong hội nghị về truy hồi thông tin (Text REtrieval Conference-TREC) Taxonomy câu hỏi do
Li và Roth đưa ra gồm 2 cấp theo sự phân loại ngữ nghĩa tự nhiên của câu trả lời trong
Trang 21hội nghị TREC Cấu trúc phân cấp bao gồm 6 lớp thô: 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ố) cùng với 50 lớp con (fine class) Mỗi lớp thô lại chứa một tập khác nhau các lớp nhau Taxonomy câu hỏi của Li và Roth được trình bày trong bảng 1.1 dưới đây
Bảng 1.1: Taxonomy câu hỏi của Li và Roth
Trang 22technique Kỹ thuật và phương pháp
DESCRIPTION Mô tả và các khái niệm trừu tượng
Trang 23period Khoảng thời gian
Taxonomy của Li & Roth đã được sử dụng phổ biến để phân loại câu hỏi trong
hệ thống hỏi đáp Và trong phạm vị khóa luận này em cũng sử dụng taxonomy này để phân loại câu hỏi
1.5.3 Phân lớp đa cấp
Theo Li và Roth [13], một khó khăn trong nhiệm vụ phân loại câu hỏi đó là không có một ranh giới rõ ràng nào giữa các lớp Do đó, việc phân loại một câu hỏi cụ
thể có thể khá mơ hồ Hãy cùng xem xét ví dụ sau:
(1) What is bipolar disorder?
(2) What do bats eat?
(3) What is the PH scale?
Câu hỏi thứ nhất có thể thuộc lớp definition hoặc disease medicine; câu hỏi thứ 2
có thể thuộc lớp food, plant hoặc animal; còn câu hỏi thứ 3 có thể là numeric hoặc
definition Với những câu hỏi như trên sẽ gặp khó khăn trong việc phân loại câu hỏi
vào một lớp duy nhất Để giải quyết vấn đề này, với câu hỏi đơn sẽ cho phép các lớp được gán nhiều nhãn lớp Điều này sẽ tốt hơn so với việc chỉ cho phép gán 1 nhãn lớp duy nhất vì ta có thể áp dụng tất cả các lớp đó trong tiến trình xử lý sau này
Li và Roth đã xây dựng bộ phân lớp đa cấp (hình 1.5), trong suốt giai đoạn huấn luyện, một câu hỏi sẽ được xử lý theo chiều từ trên xuống để có được phân loại
Theo hình 1.5, ta có một bộ phân loại thô C0 = {c1, c2,…,cn} Câu hỏi ban đầu
được phân loại bởi bộ phân loại thô Coarse_Classifier cho ra một tập các lớp thô
Trang 24C3 = Fine_Classifier(C2) với |C3| 5
C1 và C3 là kết quả đầu ra được sử dụng cho quá trình tìm câu trả lời
Hình 1.5: Bộ phân lớp đa cấp của Li và Roth
1.6 Các đặc trƣng phân loại
Trong phương pháp tiếp cận máy học, từ tập dữ liệu có sẵn ta rút ra những đặc trưng phân loại đề từ đó đưa ra huấn luyện Các đặc trưng này đơn giản chỉ là một hoặc nhiều từ nằm đâu đó trong câu hỏi Chúng không quyết định câu hỏi đó thuộc về phân loại nào, chỉ là cơ sở để qua qua trình học dự đoán một câu hỏi thuộc về một phân loại Các đặc trưng trong phân loại câu hỏi có thể được chia thành 3 loại khác nhau: các đặc trưng về từ vựng, các đặc trưng về cú pháp và các đặc trưng về ngữ nghĩa Sau đây là một số các đặc trưng được sử dụng phổ biến trong phân loại câu hỏi
Trong đó: x i là tần số xuất hiện của từ i trong câu hỏi x và N là tổng số các từ Do
sự thưa thớt của các đặc trưng, chỉ các đặc trưng có giá trị khác không mới được giữ lại trong vectơ đặc trưng Vì vậy đôi khi các câu hỏi cũng được biểu diễn dưới hình thức sau:
Trang 25Trong đó: ti là từ thứ i trong câu hỏi x và fi là tần số xuất hiện của ti trong câu hỏi
x Không gian đặc trưng này được gọi là các đặc trưng bag-of-words và thứ tự của các
từ trong câu hỏi là không quan trọng trong cách biểu diễn Việc biểu diễn các câu hỏi theo công thức (1.2) làm cho kích thước của tập mẫu tương đối nhỏ mặc dù kích thước của không gian đặc trưng là rất lớn Hãy cùng xem xét câu hỏi: “How many Grammys did Michael Jackson win in 1983 ?” được biểu diễn như trong (1.2) như sau:
x = {(How, 1), (many, 1), (Grammys, 1), (did, 1), (Michael, 1), (Jackson, 1), (win,
1), (in, 1), (1983, 1), (?, 1)}
Tần số xuất hiện của các từ trong câu hỏi (các giá trị của đặc trưng) có thể được xem như là giá trị trọng số, nó biểu thị cho tầm quan trọng của một từ trong câu hỏi Không gian đặc trưng bag-of-word còn được gọi là unigram Unigram là một trường hợp đặc biệt của các đặc trưng n-gram Để trích xuất các đặc trưng n-gram, bất
kỳ n từ liên tiếp nhau trong một câu hỏi sẽ được xem như là một đặc trưng Ngoài unigram, còn có thêm 2 loại n-gram thường được sử dụng là bigram, trigram Cụ thể: + Bigram: lấy lần lượt 2 từ liên tiếp nhau trong câu
+ Trigram : lấy lần lượt 3 từ liên tiếp nhau trong câu
Với ví dụ ở trên thì “How-many” là một đặc trưng bigram và có thể được thêm vào vector đặc trưng Tất cả các đặc trưng về từ vựng, cú pháp và ngữ nghĩa có thể được thêm vào không gian đặc trưng và mở rộng vector đặc trưng trên
Trong thực tế các vector đặc trưng vẫn có thể được biểu diễn theo (1.2), trong khi các đặc trưng mới có thể được coi như từ loại mới Chẳng hạn đặc trưng bigram
“How-many” có thể được xem như là một từ loại mới và cặp {(How-many,1)} sẽ được thêm vào vector đặc trưng khi đặc trưng bigram được trích xuất Tất nhiên điều này sẽ làm tăng kích thước của không gian đặc trưng và các câu hỏi sẽ được biểu diễn với số chiều cao Ngoài ra, trong đặc trưng bigram cứ 2 từ liên tiếp trong tập dữ liệu được xem là đặc trưng, nhưng hầu hết trong đó lại dư thừa và không hiển thị trong dữ liệu
Vì vậy, chúng ta chỉ nên xem xét hai từ đầu tiên của một câu hỏi là đặc trưng bigram
và như vậy, kích thước của không gian đặc trưng sẽ nhỏ hơn rất nhiều Hãy cùng xem xét câu hỏi ví dụ “How many people in the world speak French?”, chỉ có ý nghĩa bigram trong câu hỏi này là “How-many” trong khi các phần còn lại là không hữu ích Ngoài các đặc trưng trên, nhóm tác giả Huang đã giới thiệu đặc trưng từ hỏi wh-word Đặc trưng wh-word được hiểu các câu hỏi bắt đầu bằng “wh” Chẳng hạn wh-
word của câu hỏi “What is the longest river in the world?” là what Đã có 8 loại
Trang 26wh-word được đưa ra [15]: what, which, when, where, who, how, why, và rest, với rest được hiểu là các loại câu hỏi còn lại không thuộc 8 loại trên Ví dụ câu hỏi “Name a
food high in zinc” là một câu hỏi thuộc loại rest
Nhóm tác giả Huang [15] còn giới thiệu một đặc trưng từ vựng khác là word shapes (khuôn dạng từ) Loại đặc trưng này dùng để chỉ tính chi tiết của các đơn từ Đã
có 5 loại đặc trưng word shapes được giới thiệu: all digits, all lower case, all upper
case, mixed case and other
lunsom cùng các đồng nghiệp (2006) đã giới thiệu chiều dài của câu hỏi như là đặc trưng về từ vựng Nó đơn giản là số từ trong một câu hỏi Bảng 1.2 dưới đây là danh sách các đặc trưng từ vựng với câu hỏi “How many Grammys did Michael Jackson win in 1983 ?” Các đặc trưng được biểu diễn giống công thức (1.2)
Bảng 1.2: Danh sách các đặc trưng từ vựng của ví dụ
Feature Space Features
Unigram {(How,1) (many,1) (Grammys,1) (did,1) (Michael,1)
( Jackson,1) (win,1) (in,1) (1983,1) (?,1) } Bigram {(How-many, 1) (many-Grammys,1) (Grammys-did,1) (did-
Michael,1) (Michael-Jackson,1) (Jackson-win,1) (win-in,1) (in-1983,1) (1983-?,1)}
(Grammys-did-Michael,1) (did-Michael-Jackson,1) Jackson-win,1) (Jackson-win-in,1) (win-in-1983,1) (in-1983-
1.6.2.1 POS Tags và Tagged Unigrams
POS tags cho biết nhãn từ loại của mỗi từ trong câu hỏi như NN (Noun- danh từ),
JJ (adjective- tính từ), RB (Adverb – trạng từ),… Ví dụ câu hỏi sau “How can I register my website in Yahoo for free ?” với POS tags của nó (Các nhãn từ loại ở đây theo hệ thống Penn Treebank):
Trang 27How_WRB can_MD I_PRP register_VB my_PRP$ website_NN in_IN Yahoo_NNP for_IN free_JJ ?_
Việc gán nhãn từ loại (POS tags) cũng đóng một vai trò quan trọng trong việc phân loại câu hỏi Các danh từ trong câu hỏi đại diện cho các đối tượng hay các thực thể cần hỏi tới Vì thế, ta cần xác định từ loại của các từ trong câu hỏi
Một vài nghiên cứu trong phân loại câu hỏi thêm tất cả các POS tags của câu hỏi vào vectơ đặc trưng Không gian đặc trưng này đôi khi được gọi như bag-of-POS tags Các đặc trưng bag-of-POS tags của câu hỏi trên như sau:
{(WRB,1), (MD,1), (PRP,1), (VB,1), (PRP$,1), (NN,1), (IN,1), (NNP,1), (IN,1), (JJ,1)}
Ngoài ra, còn có một đặc trưng khác tên là tagged unigram Đặc trưng này đơn
giản là unigrams tăng cường với POS tags Xét tagged unigram thay vì unigrams bình thường có thể giúp bộ phân loại phân biệt một từ với các thẻ khác như là hai đặc trưng khác nhau Ví dụ trên được biểu diễn với các đặc trưng tagged unigram như sau:
{(How_WRB,1), (can_MD,1), (I_PRP,1), (register_VB,1), (my_PRP$,1), (website_NN,1), (in_IN,1), (Yahoo_NNP,1), (for_IN,1), (free_JJ,1), (?_,1)}
1.6.2.2 Từ đầu (head word)
Li và Roth đã sử dụng đặc trưng head chuck như là một đặc trưng cú pháp cho
cách tiếp cận của mình Head chuck được định nghĩa là cụm danh từ và cụm động từ đằng sau từ để hỏi Ví dụ, head chuck của câu hỏi “What is the oldest city in Canada ?” là cụm danh từ “the oldest city in Canada”
Ngoài ra, Krishnan (2005) cũng sử dụng đặc trưng được gọi là informer span
Đặc trưng này có thể được hiểu là một cụm từ mà cung cấp đủ thông tin để giúp phân loại câu hỏi Ví dụ với câu hỏi “What is the tallest mountain in the world ?” thì informer span được xác định là “tallest mountain”
Tuy nhiên, cả 2 cách tiếp cận này đều được chứng minh rằng chứa thông tin nhiễu [15] Chẳng hạn, với câu hỏi “What is a group of turkeys called ?” thì head chuck và informer span của nó là “group of turkeys”, cụm từ này có thể hướng câu hỏi được phân vào loại HUMAN: group trong khi loại của chúng phải là ENTY: animal
Để giải quyết vấn đề này, nhóm tác giả Huang[15] đã đề xuất đặc trưng head word dựa trên ý tưởng một từ trong câu hỏi đại diện cho một đối tượng cần hỏi đến Xác định chính xác từ đầu có thể cải thiện đáng kể độ chính xác của việc phân loại do
nó là từ chứa thông tin nhất trong câu hỏi Ví dụ cho câu hỏi “What is the oldest city in
Trang 28Canada ?” từ đầu là “city” Từ “city” trong câu hỏi này có thể có đóng góp cao cho bộ phân loại để phân loại câu hỏi này là LOC: city
Để trích xuất head word trong một câu hỏi, một bộ phân tích cú pháp được đưa ra Nhiệm vụ của bộ phân tích cú pháp là phân tích một câu đưa vào thành các thành phần như chủ từ, động từ, chủ ngữ, động ngữ, Kết quả trả về của bộ phân tích cú pháp sẽ
là một cây cú pháp có nút gốc là ROOT Các nút khác là các thành phần trong câu như
đã nói trên kèm theo đó là các nhãn từ loại Mỗi từ trong câu đóng vai trò như một nút
lá Đối với một câu viết bằng ngôn ngữ tự nhiên là ngôn ngữ tiếng Anh, các luật ngữ pháp tiếng Anh được sử dụng để tạo ra cây cú pháp Một số bộ phân tích cú pháp được giới thiệu như: Chaniak parser (Charniak and Johnson, 2005), Stanford parser (Klein and Manning, 2003) và Berkeley parser (Petrov and Klein, 2007) Hình 1.6 dưới đây là
cây phân tích cú pháp sử dụng bộ phân tích cú pháp Berkeley với câu hỏi “What is
Australia’s national flower?”
Hình 1.6: Cây phân tích cú pháp sử dụng bộ phân tích Berkeley
Ý tưởng của việc trích rút từ đầu từ cây cú pháp đầu tiên được giới thiệu bởi Collins [6] Ông đã đề xuất một vài luật, được biết như là luật Collins (Bảng 1.3), để xác định từ đầu của một câu Xem xét một luật ngữ pháp X → Y1 Yn trong đó X và
Yi là non-terminal trong một cây cú pháp Một thuật toán sử dụng tập các luật có sẵn
để xác định Y1 Yn là từ đầu hoặc một cây con chứa nó Quá trình này sẽ được lặp lại cho đến khi một head word được tìm thấy
Bảng 1.3: Danh sách các luật của Collins
Parent Direction Priority List
Trang 29NP Right by position NP NN NNP NNPS NNS NX
Thuật toán 1: Thuật toán trích xuất từ đầu của câu hỏi
procedure Extract-Question-Headword(tree, rules)
if Terminal?(tree) then
return tree else
child ← Apply-Rules(tree, rules)
return Extract-Question-Headword(child, rules) end if
end procedure
Áp dụng thuật toán với câu hỏi ở trên, ta tìm headword của nó như sau: bắt đầu
từ đỉnh của cây phân tích, ta có S ARQ → WHNP SQ, theo luật Collins việc tìm kiếm được thực hiện từ trái qua phải, tìm con đầu tiên là một trong số SQ S SINV SBARQ FRAG, như vậy con đầu tiên sẽ là SQ Tiếp tục tìm kiếm tương tự với SQ → V Z NP
là NP Theo luật Collins thì NP → NP JJ NN được tìm kiếm từ vị trí phải nhất, như vậy NN sẽ là nút terminal và từ “flower” sẽ là từ đầu của câu hỏi
Babak Loni [3] đã sửa đổi các luật Collins như trong bảng 1.4 sau:
Bảng 1.4: Danh sách luật Collins sửa đổi
Parent Direction Priority List
SBARQ Left by Category SQ, S, SINV, SBARQ, FRAG
WHNP Left by Category NP, NN, NNP, NNPS, NNS, NX
Trang 30WHADVP Right NP, NN, NNP, NNPS, NNS, NX
WHADJP Left by Category NP, NN, NNP, NNPS, NNS, NX
VP Right by position NP, NN, NNP, NNPS, NNS, NX, SQ, PP
NX Left by Category NP, NN, NNP, NNPS, NNS, NX, S
Tuy nhiên, không phải với bất kỳ câu hỏi nào thì thuật toán trên cũng trích xuất
được từ đầu chính xác Hãy cùng xem xét cây phân tích của câu hỏi sau “Which
country are Godiva chocolates from ?”
Hình 1.7 Cây phân tích của câu hỏi “Which country are Godiva chocolates
from ?”
Nếu tuân theo quy tắc trên thì từ đầu được trích xuất là “chocolates” trong khi từ đầu chính xác góp phần để phân câu hỏi vào loại đúng phải là “country” Để giải quyết
vấn đề này, nhóm tác giả Silva[7] đã giới thiệu một luật có tên là non-trivial Các luật
này được mô tả như sau:
Nếu SBARQ chứa 1 con WHXP (WHXP gồm Wh-phrases: WHNP, WHPP, WHADJP, WHADVP) với con đó có ít nhất 2 con nữa thì cây con có đỉnh WHXP sẽ được trả về
Sau khi áp dụng quy tắc trên, nếu kết quả trả về là WHNP có chứa 1 con NP với nút lá là một đại từ sở hữu (POS) thì cây con có đỉnh NP sẽ được xem
xét Áp dụng quy tắc này với câu hỏi “What country capital’s is Tirana” sẽ
cho được kết quả từ đầu chính xác là “country”
Một số trường hợp đặc biệt nếu head word của câu hỏi là một trong các từ
“name”, “type”, “kind”, “part”, “genre”, “group”, và các node anh em
của nó là PP thì cây con có đỉnh PP sẽ được trích xuất và thuật toán tiếp tục