Phân tích câu hỏi trong hệ thống hỏi đáp tiếng Việ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ế.

pdf71 trang | Chia sẻ: vietpd | Lượt xem: 1514 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Phân tích câu hỏi trong hệ thống hỏi đáp tiếng Việt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Figure ĐẠ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 HÀ NỘI - 2009 ĐẠ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 i 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 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 ii Tó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 %. iii Mụ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 2.5.2. Câu hỏi định nghĩa (definition question) ..........................................................21 2.5.3. Câu hỏi phức tạp, có ràng buộc về thời gian.....................................................22 iv Chươ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 v Danh 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 vi Danh 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 1 Lờ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. Chương 2. Phân tích câu hỏi trình bày một cách tổng quan các vấn đề xung quanh việc phân tích câu hỏi như: nội dung của phân tích câu hỏi, những khó khăn của phân tích 2 câ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. 3 Chươ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.” 1TREC: Text REtrieval Conference. 2 CLEF: The Cross-Language Evaluation Forum. 4 “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 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. Hệ thống Q&A cần có khả năng khai phá câu trả lời 5 từ 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 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... Tuy nhiên, dữ liệu cho việc trích rút câu trả lời là phong phú, dễ thu thập. 6 Hệ 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 we
Tài liệu liên quan