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ể
83 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2234 | Lượt tải: 2
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ừ