Khóa luận Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên ontology

Hỏi đáp (question answering) là nhiệm vụ tự động trả lời câu hỏi dưới dạng ngôn ngữ tự nhiên. Nghiên cứu các hệ thống hỏi đáp đang nhận được nhiều quan tâm trên thế giới. Các nghiên cứu hiện nay sử dụng nhiều phương pháp xử lý ngôn ngữ tự nhiên cùng với Ontology được sử dụng làm cơ sở tri thức. Nhu cầu tìm kiếm thông tin tiếng Việt dưới dạng hỏi đáp là rất lớn nhưng các hệ thống hỏi đáp cho tiếng Việt còn c hưa có nhiều nghiên cứu ứng dụng cụ thể

pdf83 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2208 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Khóa luận Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên ontology, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ -------- Nguyễn Quốc Đại PHƢƠNG PHÁP XÂY DỰNG HỆ THỐNG HỎI ĐÁP TIẾNG VIỆT DỰA TRÊN ONTOLOGY KHÓA 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 Quốc Đại PHƢƠNG PHÁP XÂY DỰNG HỆ THỐNG HỎI ĐÁP TIẾNG VIỆT DỰA TRÊN ONTOLOGY KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Giảng viên hƣớng dẫn: TS. Phạm Bảo Sơn HÀ NỘI – 2009 To My Family Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại i Lời cảm ơn Đầu tiên, em xin gửi lời cám ơn chân thành nhất tới TS. Phạm Bảo Sơn. Thầy đã hướng dẫn, chỉ bảo và truyền đạt những kinh nghiệm giúp em hoàn thành khóa luận. Em cũng xin gửi lời cám ơn tới TS. Bùi Thế Duy. Thầy đã tạo điều kiện thuận lợi và có những ý kiến đóng góp cho em. Tôi xin cám ơn các bạn Nguyễn Quốc Đạt, Nguyễn Bá Đạt, Trần Bình Giang, Phạm Đức Đăng. Các bạn đã giúp đỡ, cũng như chia sẻ những nghiên cứu để tôi có thể áp dụng trong khóa luận. Tôi cũng xin cám ơn các bạn Ngô Thị Thảo, Tạ Thị Bích Hiền, Nguyễn Hà Phương đã giúp đỡ tôi khi khó khăn. Cuối cùng, con xin gửi lời cám ơn sâu sắc nhất tới bố mẹ. Bố mẹ đã sinh thành, nuôi dưỡng, quan tâm và chăm sóc cho con. Con xin cám ơn bố mẹ! Hà Nội, 24-5-2009 Nguyễn Quốc Đại Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại ii Tóm tắt Hỏi đáp (question answering) là nhiệm vụ tự động trả lời câu hỏi dưới dạng ngôn ngữ tự nhiên. Nghiên cứu các hệ thống hỏi đáp đang nhận được nhiều quan tâm trên thế giới. Các nghiên cứu hiện nay sử dụng nhiều phương pháp xử lý ngôn ngữ tự nhiên cùng với Ontology được sử dụng làm cơ sở tri thức. Nhu cầu tìm kiếm thông tin tiếng Việt dưới dạng hỏi đáp là rất lớn nhưng các hệ thống hỏi đáp cho tiếng Việt còn chưa có nhiều nghiên cứu ứng dụng cụ thể. Chúng tôi giới thiệu một hệ thống hỏi đáp tiếng Việt dựa trên Ontology. Hệ thống này có thể áp dụng đối với nhiều miền ứng dụng cụ thể. Chúng tôi thiết kế một Ontology thử nghiệm. Sử dụng Ontology này, chúng tôi đưa ra cách trích rút câu trả lời cho hệ thống hỏi đáp này. Các đánh giá cho thấy hệ thống làm việc tốt khi trả lời các câu hỏi được đưa ra. Keywords: hỏi đáp, ánh xạ Ontology, trích chọn câu trả lời. Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại iii Mục lục Lời cảm ơn ................................................................................................................................i Tóm tắt ..................................................................................................................................... ii Mục lục ................................................................................................................................... iii Danh sách từ viết tắt .............................................................................................................vi Danh sách hình vẽ ............................................................................................................... vii Danh sách bảng ......................................................................................................................ix Chƣơng 1. Giới thiệu ............................................................................................................1 Chƣơng 2. Tổng quan về hỏi đáp.......................................................................................3 2.1 Tổng quan về hệ thống hỏi đáp dựa trên Ontology ...................................................3 2.2 Khái niệm về hỏi đáp (Question Answering – QA) ...................................................6 2.2.1 Khái niệm hỏi đáp ..................................................................................................6 2.2.2 Kiến trúc hỏi đáp ....................................................................................................6 2.2.3 Các phương pháp hỏi đáp ......................................................................................7 2.3 Giao diện ngôn ngữ tự nhiên miền đóng ....................................................................9 2.4 Các hệ thống QA miền mở ..........................................................................................10 2.5 Ontologies trong QA....................................................................................................12 Chƣơng 3. Ontology – Sesame..........................................................................................14 3.1 Khái niệm về Ontology ................................................................................................14 3.1.1 Khái niệm ..............................................................................................................14 3.1.2 Tổng quan về Ontology .......................................................................................14 3.1.2.1 Các thành phần của Ontology ......................................................................15 3.1.2.2 Các thực thể....................................................................................................15 3.1.2.3 Các lớp ............................................................................................................16 3.1.2.4 Thuộc tính ......................................................................................................17 Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại iv 3.1.2.5 Các mối quan hệ ............................................................................................17 3.2 Ngôn ngữ Web Ontology (Web Ontology Language) ............................................19 3.2.1 OWL Ontology .....................................................................................................19 3.2.2 Mối quan hệ logic mô tả (Description logics – DLs).......................................20 3.2.3 Các dạng OWL .....................................................................................................20 3.3 Sesame ...........................................................................................................................21 3.3.1 Khái niệm về Sesame ...........................................................................................21 3.3.1.1 Sesame Server................................................................................................21 3.3.1.2 Kho dữ liệu và suy luận (Repositories and Inferencing) ..........................22 3.3.1.3 Tổng quan kiến trúc Sesame ........................................................................22 3.3.2 Cài đặt Sesame ......................................................................................................23 3.3.2.1 Cài đặt thư viện Sesame ...............................................................................23 3.3.2.2 Cài đặt máy chủ Sesame ...............................................................................24 3.3.2.3 Quản trị máy chủ ...........................................................................................25 3.3.3 Giao diện web của Sesame ..................................................................................27 3.3.3.1 Đăng nhập ......................................................................................................27 3.3.3.2 Thêm dữ liệu vào một kho dữ ......................................................................28 Chƣơng 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology.......................................29 4.1 Kiến trúc tổng quan của hệ thống..............................................................................29 4.2 Xử lý câu hỏi ngôn ngữ tự nhiên ................................................................................32 4.3 Thiết kế Ontology bằng Protege ................................................................................34 4.3.1 Thiết kế các lớp trong Ontology .........................................................................35 4.3.2 Thiết kế thuộc tính trong Ontology ....................................................................36 4.4 Ánh xạ Ontology ..........................................................................................................38 4.4.1 Ánh xạ Ontology cho câu hỏi đơn giản .............................................................39 4.4.1.1 Ánh xạ Ontology đối với loại câu hỏi NORMAL .....................................42 4.4.1.2 Ánh xạ Ontology đối với loại câu hỏi UNKN_REL .................................43 4.4.1.3 Ánh xạ Ontology đối với loại câu hỏi UNKN_TERM .............................44 4.4.1.4 Ánh xạ Ontology đối với loại câu hỏi AFFIRM_NEG ............................46 4.4.2 Ánh xạ Ontology đối với loại câu hỏi ―THREETERM‖ .................................47 4.5 Trích chọn câu trả lời..................................................................................................51 Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại v 4.5.1 Trích chọn câu trả lời cho loại câu hỏi ―NORMAL‖, ―UNKN_REL‖ ..........52 4.5.2 Trích chọn câu trả lời cho loại câu hỏi ―UNKN_TERM‖ ...............................54 4.5.3 Trích chọn câu trả lời cho loại câu hỏi ―AFFIRM_NEG‖ ..............................56 4.5.4 Trích chọn câu trả lời cho loại câu hỏi ―THREETERM‖ ................................57 Chƣơng 5. Kết quả thực nghiệm và thảo luận ...............................................................59 5.1 Kết quả thực nghiệm....................................................................................................59 5.2 Thảo luận ......................................................................................................................61 Chƣơng 6. Kết luận ..............................................................................................................62 Phụ lục A ................................................................................................................................63 Tài liệu tham khảo ...............................................................................................................66 Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại vi Danh sách từ viết tắt STT Kí hiệu Từ tiếng Anh Ngữ nghĩa 1 NLP Natural Language Processing Xử lý ngôn ngữ tự nhiên 2 QA Question Answering Hỏi đáp 3 API Application program interface Giao diện chương trình ứng dụng Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại vii Danh sách hình vẽ Hình 2.1. Tổng quan về hệ thống hỏi đáp dựa trên Ontologies [2] ...................................4 Hình 3.1. Ví dụ về lớp trong Ontology [58] ......................................................................16 Hình 3.2. Ví dụ về lớp ô tô ....................................................................................................18 Hình 3.3. Sesame server [59] ................................................................................................21 Hình 3.4. Kiến trúc của Sesame [59] ...................................................................................22 Hình 3.5. Cấu hình Sesame ...................................................................................................25 Hình 3.6. Cấu hình kho dữ liệu có sẵn trong Sesame ........................................................26 Hình 3.7. Giao diện web của Sesame ..................................................................................28 Hình 4.1. Kiến trúc tổng quan của hệ thống hỏi đáp tiếng Việt dựa trên Ontology ......29 Hình 4.2. Kiến trúc của thành phần tìm kiếm câu trả lời ..................................................30 Hình 4.3. Các lớp trong Ontology về trường đại học ........................................................36 Hình 4.4. Các thuộc tính trong Ontology về trường đại học ............................................37 Hình 4.5. Tổng quan về ánh xạ Ontology đối với câu hỏi đơn giản ................................40 Hình 4.6. Ví dụ hỏi đáp đối với loại câu hỏi ―NORMAL‖ ...............................................42 Hình 4.7. Ánh xạ Ontology tương tác với người dùng đối với loại câu hỏi ―UNKN_REL‖........................................................................................................................43 Hình 4.8. Ví dụ hỏi đáp đối với loại câu hỏi ―UNKN_TERM‖ .......................................44 Hình 4.9. Ví dụ hỏi đáp đối với loại câu hỏi ―UNKN_TERM‖ .......................................45 Hình 4.10. Ví dụ hỏi đáp đối với loại câu hỏi AFFIRM_NEG ........................................46 Hình 4.11. Tổng quan ánh xạ Ontology với loại câu hỏi ―THREETERM‖ ...................47 Hình 4.12. Ví dụ hỏi đáp đối với câu hỏi về số lượng.......................................................51 Hình 4.13. Trích chọn câu trả lời đối với loại câu hỏi ―NORMAL‖, ―UNKN_REL‖ ..52 Hình 4.14. Ví dụ hỏi đáp đối với loại câu hỏi ―NORMAL‖, ―UNKN_REL‖ ................53 Hình 4.15. Thành phần trích chọn câu trả lời đối với loại câu hỏi ―UNKN_TERM‖ ...54 Hình 4.16. Ví dụ hỏi đáp đối với loại câu hỏi ―UNKN_TERM‖ .....................................55 Hình 4.17. Ví dụ hỏi đáp đối với loại câu hỏi ―UNKN_TERM‖ .....................................55 Hình 4.18. Thành phần trích chọn câu trả lời đối với loại câu hỏi ―AFFIRM_NEG‖ ..56 Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại viii Hình 4.19. Ví dụ hỏi đáp đối với loại câu hỏi ―AFFIRM_NEG‖ ....................................56 Hình 4.20. Thành phần trích chọn câu trả lời đối với loại câu hỏi ―THREETERM‖ ....57 Hình 4.21. Ví dụ hỏi đáp đối với loại câu hỏi ―THREETERM‖ ......................................58 Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại ix Danh sách bảng Bảng 5.1. Đánh giá hệ thống đối với các câu hỏi trả lời được .........................................59 Bảng 5.2. Đánh giá hệ thống đối với các câu hỏi lỗi .........................................................60 Chương 1. Giới thiệu Nguyễn Quốc Đại 1 Chƣơng 1. Giới thiệu Trong tìm kiếm thông tin, hỏi đáp (Question Answering – QA) là nhiệm vụ tự động trả lời câu hỏi dưới dạng ngôn ngữ tự nhiên. Các câu hỏi trong một miền ứng dụng cụ thể có thể được trả lời thông qua các kỹ thuật xử lý ngôn ngữ tự nhiên. Nhưng các hệ thống gặp phải vấn đề: làm thế nào mô tả được tri thức trong miền ứng dụng. Các nghiên cứu hiện nay tập trung vào sử dụng Ontology làm cơ sở tri thức, do Ontology có khả năng mô tả một tập các khái niệm trong miền cụ thể và các mối quan hệ giữa các khái niệm. Hiện nay, nhu cầu tìm kiếm thông tin tiếng Việt dưới dạng hỏi đáp là rất lớn nhưng các hệ thống hỏi đáp cho tiếng Việt còn chưa có nhiều nghiên cứu ứng dụng cụ thể. Trong khóa luận này, chúng tôi đề xuất ―Phƣơng pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên Ontology‖. Phương pháp của chúng tôi có thể áp dụng cho nhiều miền tri thức. Dựa vào phương pháp của mình, chúng tôi xây dựng một hệ thống thử nghiệm trên miền tri thức trường đại học, mà cụ thể là miền tri thức về Đại học Công Nghệ. Chúng tôi thiết kế một Ontology thử nghiệm cho miền tri thức này. Các câu hỏi liên quan đến miền này sau khi đã phân tích [1], được ánh xạ vào trong Ontology đã thiết kế. Rồi từ đó, chúng tôi hình thành nên các bộ mô tả tương ứng với Ontology. Tiếp đến, chúng tôi trích chọn ra câu trả lời ngữ nghĩa tốt nhất có thể cho câu hỏi của người dùng. Những kết luận và đánh giá về hệ thống hỏi đáp tiếng Việt cho thấy hệ thống hoạt động tốt với các câu hỏi được hỏi. Phần còn lại của khóa luận được chia thành: Chƣơng 2: Chúng tôi giới thiệu tổng quan về hệ t hống hỏi đáp dựa trên Ontology, và những khái niệm liên quan. Ngoài ra, chúng tôi đưa ra một vài tìm hiểu đối với các hệ thống hỏi đáp hiện nay. Chương 1. Giới thiệu Nguyễn Quốc Đại 2 Chƣơng 3: Chúng tôi giới thiệu các khái niệm cơ bản về Ontology, ngôn ngữ Web Ontology (Web Ontology Language – OWL). Đồng thời, chúng tôi cũng giới thiệu về Sesame, được sử dụng để lưu trữ các Ontology OWL cho miền ứng dụng cụ thể. Chƣơng 4: Chúng tôi đưa ra kiến trúc của hệ thống, các thành phần xử lý cho hệ thống. Tiếp đến, chúng tôi giới thiệu cách thiết kế một Ontology OWL cho một miền tri thức trường Đại học Công Nghệ. Dựa vào Ontology này, chúng tôi mô tả chi tiết để trích rút câu trả lời ngữ nghĩa tốt nhất có thể cho một câu hỏi. Chƣơng 5: Chúng tôi đưa ra những đánh giá thực nghiệm của hệ thống. Chƣơng 6: Kết luận lại nội dung khóa luận, và những kết quả mà hệ thống hỏi đáp tiếng Việt dựa trên Ontology đã đạt được. Chương 3. Ontology – Sesame Nguyễn Quốc Đại 3 Chƣơng 2. Tổng quan về hỏi đáp 2.1 Tổng quan về hệ thống hỏi đáp dựa trên Ontology Trong tìm kiếm thông tin, hỏi đáp (Question Answering – QA) là nhiệm vụ tự động trả lời câu hỏi dưới dạng ngôn ngữ tự nhiên. Để tìm câu trả lời cho một câu hỏi, một chương trình máy tính có thể sử dụng một cơ sở dữ liệu tiền cấu trúc hoặc sử dụng một tập các văn bản ngôn ngữ tự nhiên. Trong khoa học máy tính, Ontology là biểu diễn hình thức của một tập các khái niệm trong miền cụ thể và các mối quan hệ giữa các khái niệm. Ontology được dùng để suy luận các thuộc tính trong miền, có thể được dùng để định nghĩa miền [56]. Đa số các phương pháp phổ biến trong việc xác định thông tin cần thiết là sử dụng công cụ tìm kiếm. Với câu hỏi đầu vào, các công cụ này đưa ra câu trả lời đơn giản với việc so khớp các từ khóa. Xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP) được sử dụng để nhận ra cấu trúc cú pháp và ngữ nghĩa của câu hỏi, và các tài liệu thích hợp chứa đựng các câu trả lời cho câu hỏi sẽ được trả lại. Đấy là đối với các câu hỏi đơn giản, nhưng các công cụ này sẽ khó có thể thực hiện được với các câu hỏi phức tạp gồm các câu hỏi how, why hoặc what . Vấn đề chính ở đây là các ứng dụng hỏi đáp duy trì việc hoàn thiện công cụ tìm kiếm dựa vào từ khóa cho đến khi đòi hỏi NLP hiểu cấu trúc ngữ nghĩa cũng như cấu trúc cú pháp của câu hỏi. Việc biểu diễn rõ ràng các ngữ nghĩa của dữ liệu trong miền ứng dụng cụ thể tạo khả năng cung cấp một dịch vụ ở mức độ mới. Phân tích và nghiên cứu những suy luận trong Ontology cho hệ thống hỏi đáp tạo khả năng mô tả ngữ nghĩa cho miền ứng dụng. Trong Ontology, các thuật ngữ cùng với quan hệ được định nghĩa rõ ràng trong miền cụ thể đã cho phép chia sẻ và sử dụng lại tri thức. Với ưu điểm được đưa ra, Ontology được sử dụng để miêu tả một miền Chương 3. Ontology – Sesame Nguyễn Quốc Đại 4 ứng dụng cụ thể. Các khái niệm và các mối quan hệ được định nghĩa trong miền cùng với ý nghĩa của chúng được sử dụng một cách nhất quán trong miền cụ thể đó. Hình 2.1. Tổng quan về hệ thống hỏi đáp dựa trên Ontologies [2] Dựa vào kiến trúc trong hình 2.1, Ontology xác định các khái niệm có liên quan, bằng phương pháp tiếp cận lai, hoặc kết hợp các phương pháp cú pháp và các phương pháp thống kê được sử dụng để trích ra các khái niệm từ các tài liệu. Phương pháp dựa vào cú pháp phát hiện mẫu các danh từ ghép và miền cấu trúc cụ thể. Phát hiện mẫu phù hợp với các phương pháp trích chọn khái niệm khác. Các cách tiếp cận thống kê cho việc trích chọn khái niệm thường nhận biết sự xuất hiện của các từ vựng trong một hoặc nhiều tập các tài liệu xác định. Một khái niệm xuất hiện nhiều trong một tài liệu, thì khái niệm này có ý nghĩa và được trích chọn. Gán nhãn từ loại được dùng để cải tiến việc nhận dạng các khái niệm. Các từ được gán nhãn luôn dựa vào độ ưu tiên được trích chọn. Các từ loại khác chẳng hạn như giới từ