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ỰNG
HỆ THỐNGHỎIĐÁPTIẾNGVIỆT
DỰA TRÊ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ỰNG
HỆ THỐNGHỎIĐÁPTIẾNGVIỆT
DỰA TRÊ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ương phá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ương phá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ếng
Việ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ương phá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ương phá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ương phá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ương phá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ụng
Phương phá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... 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 quan đến miề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đápdựatrê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đáp dựa trê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áp luận dự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. .. không đáp ứng được, thì hệthốngdùng các xử lý phức tạp như phân tích cú pháp, phân tích ngữ nghĩa và ngữ cảnh của câu hỏiDựa vào đó, hệthống tách ra hoặc cấu tạo nên câu trả lời Những kỹ thuật này có thể bao gồm kỹ thuật nhận dạng thực thể có tên, phươngpháp nhận biết mối quan hệ, phân tích từ đồng nghĩa, các kỹ thuật biến đổi cú pháp, phươngpháp loại bỏ nhập nhằng về nghĩa của từ, phương pháp. .. 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ữ... nhiều phươngpháp NLP để nhận ra được nội dung văn bản Hỏiđáp (QA) thống kê giới thiệu các module xử lý câu hỏidựa vào thống kê và trích chọn ra câu trả lời Nhiều công cụ NLP như kỹ thuật nhận dạng thực thể có tên, phân tích cú pháp, gán nhãn từ loại, nhận dạng ranh giới câu và phục hồi tài liệu có thể sử dụng như là các ứng dụngthống kê Mục dưới đây, chúng tôi tìm hiểu một số hệthốnghỏiđápdựa . ―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â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