Tải bản đầy đủ (.pdf) (83 trang)

LUẬN VĂN: PHƯƠNG PHÁP XÂY DỰNG HỆ THỐNG HỎI ĐÁP TIẾNG VIỆT DỰA TRÊN ONTOLOGY pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.42 MB, 83 trang )

ĐẠ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ệ thố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ừ liên kết, giới từ nhận dạng sẽ bị loại trừ vì chúng không mang thông tin về
miền khái niệm. Các khái niệm được hình thức hóa sẽ thích hợp để dễ dàng cấu trúc
Chương 3. Ontology – Sesame Nguyễn Quốc Đại




5


nên Ontology. Tuy nhiên, các khái niệm được tách riêng là vô nghĩa do không thể
truyền đạt nội dung quan trọng. Do đó, việc trích chọn quan hệ giữa các khái niệm

dưới dạng quan hệ chủ thể -quan hệ - đối tượng.
Mối quan hệ ngữ nghĩa có thể được nhận biết với sự hỗ trợ của WordNet.
WordNet là một cơ sở dữ liệu từ vựng trực tuyến cùng với một tập các nghĩa. Wordnet
được sử dụng để tìm kiếm quan hệ (liên kết is-a và part-of) giữa các khái niệm đối với
các từ đồng âm, các từ đồng nghĩa để giảm sự dư thừa về nhãn. Quan hệ thường biểu
diễn dưới dạng các động từ, và có thể được trích ra bởi so khớp động từ và các khái
niệm trong câu.













Chương 3. Ontology – Sesame Nguyễn Quốc Đại




6


2.2 Khái niệm về hỏi đáp (Question Answering – QA)
2.2.1 Khái niệm hỏi đáp

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.
Nghiên cứu QA nhằm mục đích 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ữ tự nhiên
(Natural Language Processing – NLP) có khả năng khai thác tri thức miền cụ thể được
biểu diễn bởi Ontologies.
Hỏi đáp miền mở (open-domain) xử lý các câu hỏi có nội dung về mọi thứ và chỉ
có thể dựa trên các Ontology tổng quát và tri thức tổng hợp từ khắp nơi trên thế giới.
Nói cách khác, các hệ thống này thường lưu trữ một lượng lớn dữ diệu có sẵn để từ đó
trích chọn ra đáp án cho câu hỏi tìm kiếm.
Hỏi đáp (Question Answering – QA) cần sử dụng nhiều phương pháp NLP phức
tạp hơn các tìm kiếm thông tin phục hồi tài liệu. Do đó, các công cụ tìm kiếm ngôn
ngữ tự nhiên được đánh giá vượt xa các công cụ tìm kiếm hiện nay.
Trong mục 2.3, chúng tôi đưa ra tổng quan một số hệ thống hỏi đáp được phân
loại dựa trên miền đóng và miền mở.
2.2.2 Kiến trúc hỏi đáp
Hệ 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ây dự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 văn bản làm nguồn tri thức cơ bản và kết hợp với
Chương 3. Ontology – Sesame Nguyễn Quốc Đại





7


nhiều kỹ thuật NLP khác nhau để tìm ra các câu trả lời. Các hệ thống QA hiện nay
thường bao gồm một module phân loại câu hỏi, giúp xác định loại câu hỏi và loại câu
trả lời tương ứng. Sau khi phân tích câu hỏi, hệ thống sẽ sử dụng một số module áp
dụng các kỹ thuật NLP phức tạp lên một lượng văn bản đã được giảm bớt nhờ module
phân tích câu hỏi. Tiếp theo, một module phục hồi tài liệu sử dụng các công cụ tìm
kiếm, module này dùng để nhận dạng tài liệu hoặc đoạn văn bản trong tập tài liệu có
khả năng chứa câu trả lời trong đó. Sau đó, một bộ lọc sẽ chọn sẵn một đoạn văn bản
ngắn có chứa chuỗi kí tự cùng kiểu với câu trả lời được chờ đợi. Ví dụ, nếu câu hỏi là:
“Who invented Penicillin?”
Bộ lọc trả lại văn bản có chứa tên người. Cuối cùng, một module trích chọn câu
trả lời tìm kiếm thêm các liên kết trong văn bản để quyết định xem trong số các đáp án
đã đuợc lọc ra thì đâu là đáp án thực sự.
2.2.3 Các phƣơng pháp hỏi đáp
Hỏi đáp (Question Answering – QA) phụ thuộc rất nhiều vào tập tài liệu tìm kiếm
có tốt hay không. Nếu hệ thống không tìm ra được các tài liệu có chứa câu trả lời thì
gần như không có hệ thống QA nào thực hiện được. Vì vậy, quy mô tập tài liệu càng
lớn thì càng có ích cho quá trình trả lời câu hỏi, trừ trường hợp lĩnh vực mà câu hỏi đề
cập đến khác hoàn toàn so với tài liệu sẵn có.
Trong các tập dữ liệu lớn, khái niệm về dư thừa dữ liệu là số lượng lớn thông tin
có khả năng được diễn đạt theo nhiều cách khác nhau trong các tài liệu và ngữ cảnh
khác nhau. Điều này dẫn đến 2 lợi ích sau:
(1) Thông tin thích hợp xuất hiện duới nhiều hình thức khác nhau sẽ giúp hệ
thống QA thực hiện các kỹ thuật NLP phức tạp một cách dễ dàng hơn.
(2) Các câu trả lời đúng có thể được lọc ra bởi câu trả lời thích hợp sẽ xuất hiện
nhiều lần hơn trong các tài liệu so với các trường hợp trả lời không chính xác.
Phân tích bề nổi: Một vài phương pháp trả lời câu hỏi sử dụng các kỹ thuật dựa

vào từ khóa để xác định vị trí của các đoạn văn bản hay câu đáng chú ý trong các tài
liệu đuợc tìm kiếm. Sau đó, hệ thống tìm kiếm dựa trên sự có mặt của đáp án cần tìm
đang nằm trong những đoạn văn bản hay câu đó. Việc sắp xếp các đáp án được thực
hiện ngay sau đó dựa vào các đặc điểm cú pháp của câu hay đoạn văn bản, chẳng hạn
Chương 3. Ontology – Sesame Nguyễn Quốc Đại




8


dựa vào trật tự từ, vị trí của câu hay đoạn, và những điểm tương đồng khác của các câu
hay đoạn này so với câu hỏi tìm kiếm.
Khi sử dụng những tập dữ liệu lớn với sự dư thừa dữ liệu tốt, nhiều hệ thống
dùng các mẫu để tìm ra đáp án cuối. Nếu đặt ra câu hỏi:
“What is a cat?”
Hệ thống sẽ tìm ra chuỗi con “What is a X?” và rồi thực hiện quá trình tìm kiếm
các tài liệu bắt đầu với “X is a Y”. Phương pháp này thường làm việc tốt đối với các
câu hỏi đơn giản nhằm tìm kiếm các thông tin thực tế như tên, ngày tháng, địa điểm và
số luợng.
Phân tích chiều sâu: Những trường hợp phương pháp dựa vào từ khóa không
đáp ứng được, thì hệ thống dù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ỏi. Dự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ương
phá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ương pháp loại bỏ nhập nhằng về nghĩa của từ, phương pháp biến đổi hình thái
logic,… Những hệ thống này cũng sử dụng tri thức trong các Ontology để suy luận
thô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ỏi hội thoại, các câu hỏi nhập nhằng cần
tất cả những phương phá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, những đoạn văn bản phức tạp hoặc nhập nhằng cũng cần được áp
dụng nhiều phương phá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ỏi dự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ụng thống kê.
Mục dưới đây, chúng tôi tìm hiểu một số hệ thống hỏi đáp dựa vào phân loại
miền đóng, miền mở, giới thiệu vài hệ thống hỏi đáp có sử dụng Ontology. 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ương phá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.

Chương 3. Ontology – Sesame Nguyễn Quốc Đại




9


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ống
hỏi đáp dựa trên cơ sở dữ liệu. Các câu hỏi được đặt ra dưới dạng ngôn ngữ tự nhiên,
từ đó truy vấn vào cơ sở dữ liệu. Phần lớn các hệ thống NLIDB (Natural Language
Interface to Database) đầu tiên được tạo ra với một cơ sở dữ liệu đặc biệt. Do vậy, các
thống hỏi đáp này không thể sửa đổi dễ dàng để sử dụng kèm với các cơ sở dữ liệu
khác, và cũng khó áp dụng đối với các miền ứng dụng khác. Một vài hệ thống NLIDB
sử dụng kỹ thuật so khớp mẫu, Androutsopoulos [6] đưa ra ví dụ câu hỏi có chứa từ
―capital‖ theo sau tên nước, thì hệ thống này đưa ra tên thủ đô tương ứng với tên nước

đó, và từ đó tìm câu trả lời cho câu hỏi:
“what is the capital of Italy?”,
―print the capital of Italy”, hoặc
“Could you please tell me the capital of Italy”.
Các phương pháp thường sử dụng trong các hệ thống khác thường dựa vào tính
tương đồng về ngữ nghĩa hoặc dựa vào thống kê. Ví dụ, FAQ Finder [12] là một hệ
thống trả lời câu hỏi ngôn ngữ tự nhiên, trong đó nó sẽ sử dụng các file có sẵn của
FAQ để làm cơ sở tri thức (Knowledge Base – KB). Hệ thống này cũng sử dụng
WordNet để nâng cao khả năng tìm kiếm câu trả lời thích hợp cho các câu hỏi được
đưa ra. FAQ Finder [12] sử dụng hai phương pháp đo: sự tương đồng về ngữ nghĩa và
sự tương đồng dựa vào thống kê. Tuy nhiên, phương pháp thống kê có vẻ không hữu
ích vì phương pháp này thuờng chỉ có ích đối với các tài liệu dài với lượng dữ liệu lớn,
có đủ các từ cho so sánh thống kê [12]. Còn phương pháp đo tương đồng về ngữ nghĩa
lại dựa vào các mối liên hệ giữa câu hỏi của người dùng và câu trả lời. Mối quan hệ
ngữ nghĩa có thể được nhận biết với sự hỗ trợ của WordNet. WordNet là một cơ sở dữ
liệu từ vựng trực tuyến cùng với một tập các nghĩa. Wordnet được sử dụng để tìm
kiếm quan hệ (liên kết is-a và part-of) giữa các khái niệm đối với các từ đồng âm, các
từ đồng nghĩa. Vấn đề chính trong phương pháp đo tương đồng về ngữ nghĩa không
thể xử lý được các từ vốn không có trong KB.
Các thế hệ NLIDB tiếp theo sử dụng ngôn ngữ biểu diễn trung gian. Ngôn ngữ
này phản ánh được nghĩa của câu hỏi người dùng dựa theo ngôn ngữ bậc cao và độc
lập với cấu trúc cơ sở dữ liệu [6]. Chẳng hạn, hệ thống ngôn ngữ tự nhiên đối với cơ
Chương 3. Ontology – Sesame Nguyễn Quốc Đại




10



sở dữ liệu dựa trên ngữ nghĩa học hình thức [19], đã tạo ra phân biệt rõ ràng giữa thao
tác đầu và thao tác cuối trong quá trình xử lý ngôn ngữ tự nhiên (Natural Language –
NL). Thao tác đầu cung cấp một ánh xạ giữa các câu tiếng Anh tới các biểu thức ngữ
nghĩa học, và thao tác cuối ánh xạ các biểu thức này vào trong các biểu thức ý nghĩa
đối với miền câu hỏi. TEAM [41] là một hệ thống NLIDB thí nghiệm, linh hoạt được
phát triển vào những năm 1980. Hệ thống hỏi đáp TEAM, bao gồm hai thành phần
chính: (1) thành phần ánh xạ các biểu thức NL thành các biểu diễn hình thức, (2) thành
phần chuyển đổi những biểu diễn này thành các câu lệnh đối với cơ sở dữ liệu. TEAM
[41] tạo ra sự phân tách giữa quá trình ngôn ngữ và quá trình ánh xạ lên KB.
PRECISE [47] là chương trình ánh xạ các câu hỏi tới truy vấn SQL tương ứng
bởi việc nhận dạng các lớp câu hỏi đơn giản. Các câu hỏi là một tập các cặp thuộc tính
– giá trị và cùng với một quan hệ. Mỗi thuộc tính trong cơ sở dữ liệu được liên kết với
một wh-value (what, when, where,…). Trong chương trình PRECISE, một bộ từ vựng
được sử dụng để tìm các từ đồng nghĩa. Tuy nhiên, trong chương trình PRECISE, việc
tìm một ánh xạ dựa theo từ vựng cho cơ sở dữ liệu đòi hỏi mọi từ vựng phải riêng biệt
với nhau. Hệ thống này không thể phân tích được ngữ nghĩa các câu hỏi có chứa các từ
mà hệ thống chưa biết, vì thế chương trình không thể xử lý được câu hỏi này. Nói cách
khác, chương trình PRECISE sẽ không trả lời các câu hỏi mà chứa những từ không có
sẵn trong từ điển của nó.
2.4 Các hệ thống QA miền mở
Các ứng dụng QA dành cho văn bản thường gồm 2 bước, được trích dẫn bởi
Hirschman [26]: (1) Nhận dạng các kiểu ngữ nghĩa của đối tượng được tìm kiếm bởi
câu hỏi, (2) Xác định các ràng buộc bổ sung cho đối tượng trả lời. Các ràng có thể là
các từ khóa (số lượng từ khóa có thể được khuếch đại do việc sử dụng các từ đồng
nghĩa hoặc các biến thể hình thái) dùng để so khớp đối với các câu trả lời. Các ràng
buộc cũng có thể là các mối quan hệ cú pháp hoặc ngữ nghĩa giữa một đối tượng trả
lời và các đối tượng khác trong câu hỏi. Do vậy, nhiều hệ thống khác đã hình thành
phân cấp loại câu hỏi dựa vào dạng câu trả lời tìm kiếm.
Trong chương trình LASSO [45], phân cấp loại câu hỏi được hình thành từ việc
phân tích dữ liệu huấn luyện TREC-8 (Text Retrieval Conference – 8). Khi nhận được

Chương 3. Ontology – Sesame Nguyễn Quốc Đại




11


một câu hỏi, LASSO tự động tìm kiếm: (a) loại câu hỏi (what, why, who, how, where),
(b) loại câu trả lời (person, location…), (c) trọng tâm câu hỏi, là thông tin chính được
yêu cầu bởi câu hỏi. Ngoài ra, phân cấp loại câu hỏi còn giúp nhận dạng từ khóa trong
câu hỏi. Đôi khi, nhiều từ có trong câu hỏi sẽ không xuất hiện lại trong câu trả lời. Các
hệ thống miền mở cố gắng tìm kiếm các từ đồng nghĩa, cùng với các biến thể hình thái
của từ đồng nghĩa đó cho các thuật ngữ hoặc các từ khóa.
Trong TREC-9 [18], hệ thống FALCON được mô tả bởi Harabagiu et al. [25] cho
câu trả lời ngữ nghĩa được ánh xạ bởi công cụ nhận dạng thực thể có tên. Nếu khái
niệm trong câu hỏi cho biết loại câu trả lời, hệ thống FALCON sẽ được ánh xạ câu hỏi
vào trong phân loại câu trả lời. Tất cả các danh từ (và các biến đổi hình thái từ vựng)
có liên quan tới các khái niệm xác định loại câu trả lời thì đều được nhận biết thông
qua các từ khóa. FALCON đưa ra câu trả lời được lưu trữ nếu có một câu hỏi tương tự
đã được hỏi trước đó.
START [33] chú trọng vào các câu hỏi về địa lý và thông tin phòng thí nghiệm
của MIT. START sử dụng gọi bộ ba là ―đối tượng – thuộc tính – giá trị‖. Đây là một
hệ thống lớn được đánh giá cao trong các hệ thống hỏi đáp (Question Ansering – QA)
bởi khả năng phân tích và tổng hợp câu hỏi. Với một câu hỏi ở dạng phức tạp, START
có cơ chế chia câu hỏi này ra thành những câu hỏi nhỏ, mỗi câu hỏi nhỏ sẽ tìm được
câu trả lời trực tiếp trong cơ sở dữ liệu. Sau đó START tổng hợp kết quả từ những câu
trả lời của các câu hỏi nhỏ đó. Ngoài ra START còn đặc biệt hữu dụng trong việc tìm
ra câu trả lời bởi khả năng phân tích ngữ nghĩa rất tốt của nó.
Litkowski [38] đưa ra hệ thống DIMAP, hệ thống này trích chọn các bộ ba quan

hệ ngữ nghĩa sau khi tài liệu được phân tích cú pháp và cây cú pháp được kiểm tra.
Các bộ ba trong DIMAP sẽ được lưu lại trong một cơ sở dữ liệu với mục đích dùng để
trả lời các câu hỏi. Bộ ba quan hệ ngữ nghĩa được đề cập ở trên bao gồm các đối tượng
(SUBJ, OBJ, TIME, NUM, ADJMOD), có một quan hệ ngữ nghĩa mô tả lại vai trò của
đối tượng, và một từ trong câu có liên quan tới đối tượng này. Một bộ ba thường tương
đương với một hình thái logic. Các đối tượng là thành phần chủ chốt của các bộ ba
trong DIMAP, các thành phần quan trọng (các danh từ chính, động từ chính và bất cứ
tính từ hoặc danh từ bổ nghĩa nào) đuợc xác định cho mỗi loại câu hỏi. Hệ thống phân
các câu hỏi ra làm sáu loại câu hỏi: thời gian, địa điểm, ai, cái gì, kích cỡ và số lượng.
Chương 3. Ontology – Sesame Nguyễn Quốc Đại




12


PiQASso [8] sử dụng một phép phân loại câu hỏi để phân loại các câu hỏi về:
người, tổ chức, thời gian, số lượng và vị trí (là các loại cơ bản). Ngoài ra, PiQASso
còn có thêm 23 loại danh từ trong WordNet. Loại câu trả lời có thể được kết hợp với
các loại danh từ này. Ví dụ, trong câu hỏi có chứa ―who‖, ―where‖ thì loại câu trả lời
sẽ là về ―person‖ hoặc ―organization‖. Các loại câu hỏi có thể được xác định trực tiếp
từ các từ để hỏi: ―who‖, ―when‖, ―where‖. Có nhiều trường hợp cần thêm các thông tin
bổ sung khác. Ví dụ, với các câu hỏi ―how‖ thì loại câu hỏi được tìm thấy từ tính từ
theo sau từ ―how‖ (―how many‖ hoặc ―how much‖) để chỉ số luợng, hoặc ―how long‖,
―how old‖ để chỉ thời gian, v.v… Loại câu hỏi ―what (noun)‖ thường là ngữ nghĩa của
danh từ đã được xác định bởi WNSense. WNSense là một công cụ dùng cho việc phân
loại nghĩa của từ. Các câu hỏi thuộc dạng ―what (verb)‖ có cùng loại câu trả lời với đối
tượng của động từ. Các câu hỏi ―what is‖ cũng dựa vào việc xác định ngữ nghĩa của từ
để hỏi. Tuy nhiên, PiQASso nhận định không phải lúc nào cũng có thể chỉ cần tìm ra

ngữ nghĩa của từ, bởi vì tình trạng thiếu ngữ cảnh không cho phép xác định nghĩa
chính xác của từ. Vì vậy, mọi đối tượng cũng có thể được chấp nhận như là các câu trả
lời cho các câu hỏi mang tính định nghĩa, miễn là chúng xuất hiện như là một chủ thể
trong một câu dạng ―is-a‖. Nếu xác định được loại câu trả lời cho một câu hỏi thì nó sẽ
được chuyển qua bộ lọc để so khớp quan hệ trong quá trình phân tích.
2.5 Ontologies trong QA
Nhiều hệ thống đơn giản dùng một Ontology như một cơ chế hỗ trợ cho việc mở
rộng câu hỏi tìm kiếm trong quá trình tìm kiếm thông tin. Basili et al. [9] có đề cập đến
tính khả thi của việc xây dự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ương phá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ơng phá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ương pháp dựa trên Ontology này có thể hỗ
trợ cho hỏi đáp không và nếu có thì bằng cách nào. Basili et al. [9] cũng đưa ra một
cách phân loại các câu hỏi, từ đó hệ thống được trợ giúp và xem xét nội dung câu hỏi ở
mức độ lớn đối với các khái niệm và các mối quan hệ suy ra từ Ontology.
Phương pháp dựa vào tri thức [14] bổ sung các văn bản trực tuyến với một thành
phần QA dựa vào tri thức. Hệ thống suy ra câu trả lời tương ứng với những câu hỏi
Chương 3. Ontology – Sesame Nguyễn Quốc Đại




13


của người dùng mà những câu hỏi đó ở bên ngoài phạm vi của văn bản được ghi từ
trước trong hệ thống. Tri thức được lưu trữ trong một cơ sở tri thức và được cấu trúc
như là một Ontology của miền. Giống như nhiều hệ thống hỏi đáp, [14] cũng có một
tập nhỏ gồm các loại câu hỏi chung để biết làm thế nào để trả lời. Các loại câu hỏi

được liên kết với các khái niệm trong KB. Khi một khái niện đưa ra, các loại câu hỏi
thích hợp hoặc tương ứng chính là loại câu hỏi gắn liền với khái niệm của chính câu
hỏi đó. Các câu hỏi cung cấp ngữ cảnh để hệ thống dựa vào đó tìm ra đáp án cho câu
hỏi tìm kiếm.
Các hệ thống hỏi đáp (Question Answering – QA) cho phép người dùng đưa ra
một câu hỏi dưới dạng ngôn ngữ tự nhiên và nhận được câu trả lời ngắn gọn, trong
nhiều trường hợp còn có kèm theo ngữ cảnh cụ thể. AquaLog [3] là một hệ thống QA
ngôn ngữ tự nhiên dựa trên Ontology, và dựa vào tri thức đã được mã hóa trong
Ontology. Hệ thống này cũng dựa vào chức năng ngữ nghĩa học để loại bỏ nhập nhằng
về nghĩa của các câu hỏi và đưa ra các câu trả lời. AquaLog sử dụng biểu diễn trung
gian trong suốt quá trình xử lý, từ việc biểu diễn câu hỏi người dùng đến việc biểu
diễn thành một bộ mô tả tương ứng với Ontology. Trong AquaLog, sự nhập nhằng của
NL được tính đến, vì thế, nếu giai đoạn phân tích câu hỏi không có khả năng loại bỏ
tính nhập nhằng này thì nó vẫn sẽ xuất hiện trong giai đoạn tiếp theo. AquaLog có khả
năng lập luận về cấu trúc Ontology để tạo ý nghĩa c ho các lớp hoặc các mối quan hệ.
AquaLog phân loại câu hỏi căn cứ trên loại bộ ba là biểu diễn ngữ nghĩa của câu hỏi.
Trong khi đó, hầu hết các hệ thống QA miền mở lại phân loại các câu hỏi theo mục
tiêu trả lời. 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ống hỏi đáp dựa trên
Ontology trong Web ngữ nghĩa. Khi đã so sánh các loại hệ thống hỏi đáp khác nhau,
hệ thống hỏi đáp dựa trên Ontology có thể sử dụng miền tri thức được cung cấp bởi
Ontology để xử lý các từ không được tìm thấy trong cơ sở tri thức và loại bỏ nhập
nhằng về nghĩa của từ. Do vậy, chúng tôi đưa ra hệ thống hỏi đáp cho tiếng Việt dựa
trên Ontology (chương 4). Trong chương 3, chúng tôi giới thiệu các khái niệm liên
quan tới Ontology, các khái niệm về Sesame, cấu hình Sesame server để lưu trữ
Ontology cho hệ thống của chúng tôi.

×