Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
1,42 MB
Nội dung
ĐẠ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ÁPXÂYDỰNGHỆTHỐNGHỎIĐÁPTIẾNGVIỆTDỰATRÊNONTOLOGY 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ÁPXÂYDỰNGHỆTHỐNGHỎIĐÁPTIẾNGVIỆTDỰATRÊNONTOLOGY 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ươngphápxâydựnghệthốnghỏiđáptiếngViệtdựatrênOntology 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ươngphápxâydựnghệthốnghỏiđáptiếngViệtdựatrênOntology 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ốnghỏ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ươngphá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ếngViệt dưới dạng hỏiđáp là rất lớn nhưng các hệthốnghỏiđáp cho tiếngViệ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ốnghỏiđáptiếngViệtdựatrê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ụngOntology này, chúng tôi đưa ra cách trích rút câu trả lời cho hệthốnghỏ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ươngphápxâydựnghệthốnghỏiđáptiếngViệtdựatrênOntology 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ốnghỏiđápdựatrênOntology 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ươngpháphỏ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ươngphápxâydựnghệthốnghỏiđáptiếngViệtdựatrênOntology 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ốnghỏiđáptiếngViệtdựatrênOntology 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ươngphápxâydựnghệthốnghỏiđáptiếngViệtdựatrênOntology 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ươngphápxâydựnghệthốnghỏiđáptiếngViệtdựatrênOntology 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ụngPhươngphápxâydựnghệthốnghỏiđáptiếngViệtdựatrênOntology Nguyễn Quốc Đại vii Danh sách hình vẽ Hình 2.1. Tổng quan về hệthốnghỏiđápdựatrê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ốnghỏiđáptiếngViệtdựatrênOntology 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ựnghệthốnghỏiđáp tiếng ViệtdựatrênOntology Nguyễn Quốc Đại 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 viii Phươngpháp xây dựnghệthốnghỏiđáp tiếng ViệtdựatrênOntology Nguyễn Quốc Đại... khóa luận này, chúng tôi đề xuất ―Phƣơng pháp xây dựnghệthốnghỏiđáp tiếng ViệtdựatrênOntologyPhươngphá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ươngpháp của mình, chúng tôi xâydự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... luận, và những kết quả mà hệ thốnghỏiđáp tiếng ViệtdựatrênOntology đã đạt được 2 Chương 3 Ontology – Sesame Nguyễn Quốc Đại Chƣơng 2 Tổng quan về hỏiđáp 2.1 Tổng quan về hệ thốnghỏiđáp dựa trênOntology 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ể... Aqualog tìm kiếm các mối quan hệ giữa các thuật ngữ, hoặc giữa một thuật ngữ với giá trị của nó AquaLog dùng một bộ ba cho một mối quan hệ giữa các thuật ngữ, cho dù mối quan hệ này không rõ ràng Chúng tôi tin tưởng vào các ưu điểm chính của một hệthốnghỏiđápdựatrênOntology trong Web ngữ nghĩa Khi đã so sánh các loại hệthốnghỏiđáp khác nhau, hệthốnghỏiđápdựatrênOntology có thể sử dụng miền... thiệu vài hệthốnghỏiđáp có sử dụngOntology Chúng tôi mô tả qua một số ưu nhược điểm của các hệthống đó, đồng thời cũng giới thiệu qua các phươngpháp mà các hệthống này sử dụng để tìm kiếm câu trả lời cho câu hỏi 8 Chương 3 Ontology – Sesame Nguyễn Quốc Đại 2.3 Giao diện ngôn ngữ tự nhiên miền đóng Giao diện ngôn tự nhiên (Natural Language Interface) miền đóng là các hệthốnghỏiđápdựatrên cơ... mục 2.3, chúng tôi đưa ra tổng quan một số hệthốnghỏiđáp được phân loại dựatrên miền đóng và miền mở 2.2.2 Kiến trúc hỏiđápHệthống QA đầu tiên phát triển vào những năm 1960 [64] Các hệthống này về cơ bản là các giao diện ngôn ngữ tự nhiên đối với các hệ chuyên gia - những hệthống được xâydựng riêng cho từng miền ứng dụng cụ thể Nguợc lại, các hệthống QA ngày nay lại sử dụng các tài liệu... việc xâydựng một hệ trống QA dựa vào Ontology trong ngữ cảnh của một web ngữ nghĩa Các tác giả đã nghiên cứu phươngpháp này trên ngữ cảnh một dự án mang tên MOSES, với mục tiêu phát triển một phuơngphápluậndựa vào Ontology để tìm kiếm, tổ chức, bảo trì và thích hợp với những nội dung Web có cấu trúc về ngữ nghĩa Basili et al [9] nghiên cứu xem phươngphápdựatrênOntology này có thể hỗ trợ cho hỏi. .. thái logic,… Những hệthống này cũng sử dụng tri thức trong các Ontology để suy luậnthông qua các khái niệm và các liên kết ngữ nghĩa Nhiều dạng câu hỏi khó như dạng câu hỏi why, how, các câu hỏi giả định, câu hỏi giới hạn về không gian và thời gian, các câu hỏihội thoại, các câu hỏi nhập nhằng cần tất cả những phươngpháp phân tích chiều sâu như trên để hệthống nhận biết câu hỏi Tương tự như vậy,... xử lý các loại câu hỏi: sự kiện, danh sách, định nghĩa, các câu hỏi như thế nào, tại sao, các câu hỏi mang tính giả thuyết, các câu hỏi hạn chế về ngữ nghĩa và câu hỏi sử dụng đa ngôn ngữ Có hai khái niệm trong hỏiđáp là hỏiđáp miền đóng và hỏiđáp miền mở Hỏiđáp miền đóng (closed-domain) xử lý các câu hỏi trong một miền cụ thể, và có thể xem như một nhiệm vụ đơn giản vì các hệthống xử lý ngôn ngữ... 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ốnghỏiđáptiếngViệ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ệ . 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. 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. 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