1. Trang chủ
  2. » Luận Văn - Báo Cáo

phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology

83 842 9

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Để 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.. Tổng quan về hệ thống hỏ

Trang 1



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

Trang 2



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

Trang 3

To My Family

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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 c hủ 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

Trang 8

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

Trang 9

Danh sách từ viết tắt

1 NLP Natural Language Processing Xử lý ngôn ngữ tự nhiên

3 API Application program interface Giao diện chương trình ứng dụng

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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

Trang 15

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

Trang 16

ứ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

Trang 17

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

Trang 18

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

Trang 19

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

Trang 20

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:

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ể

Trang 21

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ơ

Trang 22

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

Trang 23

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

Trang 24

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

Trang 25

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

Trang 26

Chương 3

Ontology – Sesame

Chúng tôi sẽ đưa ra các khái niệm cơ bản liên quan tới Ontology (mục 3.1), ngôn ngữ Web Ontology (mục 3.2) Sau đó, chúng tôi giới thiệu các khái niệm liên quan tới Sesam, cấu hình Sesame server để lưu trữ các Ontology cho hệ thống (mục 3.3)

3.1 Khái niệm về Ontology

3.1.2 Tổng quan về Ontology

Ontology là mô hình mô tả tri thức về miền ứng dụng cụ thể, biểu diễn các đối tượng, các khái niệm, cùng với các thuộc tính và các mối quan hệ

Trang 27

3.1.2.1 Các thành phần của Ontology

Ontologies hiện nay có chung các cấu trúc giống nhau và không quan tâm tới ngôn ngữ mà chúng được thể hiện Hầu hết các Ontology miêu tả các thực thể (các đối tượng), các lớp (các khái niệm), các thuộc tính và các mối quan hệ

Các thành phần phổ biến của các Ontologies bao gồm :

- Các thực thể: các đối tượng (các đối tượng cơ bản)

- Các lớp: các khái niệm về các đối tượng, hoặc các loại vật chất

- Các thuộc tính: các đặc tính, đặc trưng, các đặc điểm hoặc các tham số mà

các đối tượng (và các lớp) có thể có

- Các mối quan hệ: các cách để các lớp, các thực thể có thể được liên kết tới

các lớp (hoặc thực thể) khác

- Các thuật ngữ chức năng: các cấu trúc phức tạp được hình thành từ các

quan hệ đã biết, sử dụng thuật ngữ thích hợp trong một phát biểu

- Các giới hạn: các mô tả được phát biểu phải chính xác và hợp lệ

- Các quy tắc: các phát biểu dưới dạng mệnh đề if – then (điều kiện – kết

quả) miêu tả suy luận logic

- Các tiền đề: các khẳng định (bao gồm các quy tắc) trong một hình thức

logic và đồng thời bao gồm toàn bộ lý thuyết mà Ontology miêu tả trong miền ứng dụng của nó

- Các sự kiện: các thay đổi của các thuộc tính hoặc các mối quan hệ

Các Ontology thường được mã hóa bởi các ngôn ngữ Ontology

3.1.2.2 Các thực thể

Các thực thể (các đối tượng) là các thành phần cơ bản, mức cơ sở của một Ontology Các thực thể trong một Ontology bao gồm các đối tượng cụ thể như người, động vật, bàn ghế, xe ô tô, … cũng như các đối tượng trừu tượng chẳng hạn như các

số, các từ Một Ontology có thể không cần bất kỳ thực thể nào, nhưng mục đích của Ontology là đưa ra phương pháp phân loại các thực thể, ngay cả khi những thực thể này không là thành phần trong Ontology

Trang 28

3.1.2.3 Các lớp

Các lớp có thể được định nghĩa như là một sự mở rộng (extension) hoặc như một

độ tăng cường (intension) [58] Theo như định nghĩa mở rộng, các lớp là các nhóm, các bộ hoặc các tập hợp các đối tượng trừu tượng Theo định nghĩa độ tăng cường, các lớp là các đối tượng trừu tượng được định nghĩa bởi các dạng giá trị, các dạng giá trị này là các ràng buộc cho phần tử của lớp Trong định nghĩa mở rộng cho thấy một lớp

là một tập các lớp con Còn định nghĩa theo độ tăng cường, giữa các tập hợp và các lớp

có nhiều khác nhau cơ bản Các lớp có thể phân loại các thực thể, phân loại các lớp khác, hoặc kết hợp cả hai phân loại Ví dụ về lớp:

- Người, lớp toàn bộ con người, hoặc đối tượng trừu tượng có thể được mô

tả bởi các tiêu chuẩn cho một người

Một lớp là mở rộng khi và chỉ khi lớp đó được mô tả bởi mọi phần tử của lớp Nếu một lớp không thỏa mãn điều kiện này, khi ấy nó là độ tăng cường Các lớp mở rộng hoạt động tốt hơn và xử lý tính toán tốt hơn, và cũng ít nhập nhằng, thì lại không cho phép phân biệt rõ ràng giữa các lớp Trong khi đó, các lớp được định nghĩa cường

độ thường có các điều kiện cần để liên kết với các phần tử trong mỗi lớp Một vài lớp cũng có thể có các điều kiện đủ, và trong các trường hợp này sự kết hợp các điều kiện cần và đủ làm cho lớp được định nghĩa đầy đủ

Một lớp có thể là lớp con (hoặc kiểu con) của một lớp nào đó (lớp cha), và tạo ra một hệ phân cấp các lớp Lớp con được thừa kế thuộc tính từ lớp cha Vì vậy, bất cứ điều gì đúng đối với lớp cha thì cũng đúng với tất cả các lớp con của nó

Hình 3.1 Ví dụ về lớp trong Ontology [58]

Trang 29

Một phân vùng là một tập các lớp có liên quan cùng với các quy tắc được liên kết Các quy tắc được liên kết cho phép các phân chia các đối tượng bởi các lớp con thích hợp Chẳng hạn, hình 3.1 hiện thị một phần của một Ontology có một phân vùng của lớp ―Car‖ với các lớp con ―2-Wheel Drive Car‖ và ―4-Wheel Drive Car‖ Các quy tắc phân vùng xác định nếu có một Car cụ thể thì được phân loại bởi lớp ―2-Wheel Drive Car‖ hoặc bởi lớp ―4-Wheel Drive Car‖

Các quy tắc phân vùng bảo đảm rằng một Car cụ thể không thể được tồn tại trong

cả hai lớp, khi ấy, phân vùng đó được gọi là một phân vùng rời Nếu quy tắc phân vùng đảm bảo mọi đối tượng cụ thể trong lớp cha là một đối tượng thuộc ít nhất một trong các lớp con, thì phân vùng đó được gọi là một phân vùng đầy đủ

3.1.2.4 Thuộc tính

Các đối tượng trong Ontology có thể được mô tả bởi liên kết của chúng với những đối tượng khác, những liên kết này thường được gọi là các thuộc tính, mặc dù

có thể là những liên kết độc lập Loại đối tượng và loại thuộc tính xác định loại quan

hệ giữa chúng Một đối tượng dựa vào thuộc tính để liên kết tới đối tượng khác Ví dụ: đối tượng Nguyễn_Quốc_Đại có các thuộc tính chẳng hạn như:

Các quan hệ trong Ontology xuất phát từ khả năng muốn miêu tả các liên kết giữa các khái niệm Tập hợp các loại quan hệ được sử dụng để thể hiện ngôn ngữ biểu diễn Ontology

Loại quan hệ quan trọng nhất là quan hệ is-a-superclass-of, quan hệ này là nghịch đảo is-a-subtype-of Các quan hệ này xác định các đối tượng được phân loại do các lớp

Trang 30

trong Ontology Với thí dụ trong hình 3.2, lớp Ford Explorer is-a-subclass-of 4-Wheel

Drive Car, 4-Wheel Drive Car is-a-subclass-of Car và Car is-a-superclass-of 4-Wheel Drive Car

Hình 3.2 Ví dụ về lớp ô tô

Các quan hệ is-a-subclass-of tạo ra một cấu trúc dạng cây miêu tả các đối tượng

liên quan đến một đối tượng khác như thế nào

Quan hệ phổ biến khác là quan hệ được part-of, mô tả các đối tượng kết hợp lại

với nhau như thế nào để hình thành các đối tượng ghép Thí dụ, nếu Ontology về lớp ô

tô (hình 3.2) được mở rộng bao gồm khái niệm Steering Wheel, thì có quan hệ dạng

―Steering Wheel is-by-definition-a-part-of-a Ford Explorer‖ Khi Ontology thêm vào các quan hệ part-of thì cấu trúc cây trở nên phức tạp và gặp nhiều khó khăn để biên dịch bằng tay Tương tự quan hệ is-a-subclass-of và is-by-definition-a-part-of-a, các

Ontology thường bao gồm các quan hệ bổ sung để mô tả ngữ nghĩa cho miền ứng dụng cụ thể Chẳng hạn như các quan hệ:

- Các quan hệ giữa các lớp

- Các quan hệ giữa các đối tượng

- Các quan hệ giữa một đối tượng và một lớp

- Các quan hệ giữa một đối tượng riêng lẻ và một tập đối tượng

- Các mối quan hệ giữa các tập đối tượng

Các quan hệ trong một miền cụ thể được dùng để lưu trữ các kiểu dữ liệu cụ thể hoặc trả lời các câu hỏi đặc biệt

Trang 31

3.2 Ngôn ngữ Web Ontology (Web Ontology Language)

Ngôn ngữ Web Ontology – OWL (Web Ontology Language) là một họ ngôn ngữ biểu diễn tri thức cho các Ontology, và được xác nhận bởi W3C (World Wide Web Consortium) Họ các ngôn ngữ này phần lớn dựa trên hai ngữ nghĩa: ngữ nghĩa OWL

DL và OWL Lite Trong khi đó OWL Full sử dụng một mô hình ngữ nghĩa mới nhằm cung cấp tính tương thích với RDF Schema Các Ontology OWL đa số thường sử dụng

cú pháp RDF/XML, và OWL là một trong các công nghệ nền tảng hỗ trợ Web ngữ nghĩa (Semantic Web)

Khung mô tả tài nguyên – RDF (Resource Description Framework) là một hệ thống các đặc điểm kỹ thuật của W3C (World Wide Web Consortium) được thiết kế độc đáo như một mô hình siêu dữ liệu RDF được dùng để mô tả khái niệm hoặc mô hình hóa thông tin [61]

RDF Schema (viết tắt khác như RDFS, RDF (S), RDF-S, hoặc RDF/S) là một ngôn ngữ biểu diễn tri thức mở rộng, cung cấp các thành phần cơ bản để mô tả Ontology RDF Schema còn được gọi là từ vựng RDF, dùng để cấu trúc các tài nguyên RDF [62]

3.2.1 OWL Ontology

Trong OWL Ontology, dữ liệu được mô tả như một tập các đối tượng và một tập các thuộc tính liên kết các đối tượng với nhau OWL Ontology có một tập các ràng buộc giữa các lớp và các quan hệ giữa các lớp đó Các ràng buộc này cung cấp ngữ nghĩa cho Ontology, vì có thể cho phép hệ thống tìm các thông tin bổ sung dựa vào dữ liệu đã biết

Ví dụ, Ontology có ràng buộc thuộc tính ―hasMother‖ chỉ được liên kết giữa hai đối tượng khi thuộc tính ―hasParent‖ cũng liên kết giữa hai đối tượng đó Các đối tượng của lớp ―HastypeOBlodd‖ không liên quan đến các đối tượng của lớp

―HasTypeABBlood‖ thông qua thuộc tính ―hasParent‖ Nếu có phát biểu Harriet liên kết tới đối tượng Sue qua quan hệ ―hasMother‖ và Harriet là một đối tượng của lớp

―HastypeOBlodd‖ Từ đó, có thể được suy luận rằng Sue không là đối tượng của lớp

―HasTypeABBlood‖

Trang 32

3.2.2 Mối quan hệ logic mô tả (Description logics – DLs)

Việc xây dựng Ontology quy mô lớn thường có sai sót trong các định nghĩa về lớp, thuộc tính Chẳng hạn, với quan hệ ―is-a‖ thì có 18 cách sử dụng khác nhau Do vậy, OWL xử lý sai sót dựa vào logic mô tả Logic mô tả (Description logics – DLs)

là một hệ thống các quy tắc, và Ontology sử dụng DLs để xây dựng lên ngữ nghĩa

3.2.3 Các dạng OWL

W3C (World Wide Web Consortium) đưa ra định nghĩa về ba dạng khác nhau của OWL, với các mức độ mô tả khác nhau là OWL Lite, OWL DL và OWL Full OWL Lite hỗ trợ cho những người dùng cần một phân loại phân cấp và các ràng buộc đơn giản Chẳng hạn, OWL Lite hỗ trợ các ràng buộc về số lượng thì chỉ cho phép số lượng đó có giá trị là 0 hoặc 1 OWL Lite cung cấp các công cụ hỗ trợ nhằm làm đơn giản các quan hệ nhiều ý nghĩ a Tuy nhiên trong thực tiễn, các đặc trưng OWL Lite được kết hợp để hình thành nên cấu trúc có sẵn trong OWL DL

OWL DL được thiết kế để cung cấp khả năng mô tả tối đa nhất, trong khi giữ lại tính đầy đủ, tính quyết định và tính sẵn dùng của những thuật toán suy luận mang tính thực tế OWL DL bao gồm tất cả các cấu trúc ngôn ngữ OWL, nhưng chỉ có thể được

sử dụng trong các giới hạn đã biết

OWL Full được hình thành dựa trên các ngữ nghĩa khác nhau từ OWL Lite và OWL DL OWL Full được thiết kế để đảm bảo tính tương thích với RDF Schema Trong OWL Full một lớp có thể được xử lý đồng thời như một tập các đối tượng, điều này không được cho phép trong OWL DL OWL Full cho phép một Ontology bổ sung nghĩa của các từ vựng được định nghĩa từ trước Những thiết lập dưới đây mô tả quan

hệ giữa các dạng OWL, nhưng điều ngược lại không đúng:

- Mỗi Ontology OWL Lite hợp lệ là một Ontology OWL DL hợp lệ

- Mỗi Ontology OWL DL hợp lệ là một Ontology OWL Full hợp lệ

- Mỗi kết luận OWL Lite hợp lệ là một kết luận OWL DL hợp lệ

- Mỗi kết luận OWL DL hợp lệ là một kết luận OWL Full hợp lệ

Trang 33

3.3 Sesame

3.3.1 Khái niệm về Sesame

Chúng tôi giới thiệu trong phần 3.2, khung mô tả tài nguyên – RDF (Resource Description Framework) là một hệ thống các đặc điểm kỹ thuật của W3C (World Wide Web Consortium) được thiết kế độc đáo như một mô hình siêu dữ liệu RDF được dùng để mô tả khái niệm hoặc mô hình hóa thông tin

RDF Schema (viết tắt khác như RDFS, RDF (S), RDF-S, RDF/S) là một ngôn ngữ biểu diễn tri thức mở rộng, cung cấp các thành phần cơ bản để mô tả Ontology RDF Schema còn được gọi là từ vựng RDF, dùng để cấu trúc các tài nguyên RDF Sesame là một Java framework mã nguồn mở để lưu trữ, truy vấn và suy luận đối với RDF và RDF schema [59] Sesame có thể được sử dụng như là một cơ sở dữ liệu cho RDF và RDF Schema, hoặc là một thư viện Java cho các ứng dụng cần tìm kiếm thông tin bên trong RDF

Nếu một ứng dụng cần đọc một file RDF lớn, tìm thông tin thích hợp, và sử dụng thông tin đó Sesame cung cấp những công cụ cần thiết để phân tích, biên dịch, truy vấn và lưu trữ tất cả các thông tin này, nhúng vào trong ứng dụng đó Ngoài ra, Sesame cung cấp một công cụ chứa đựng các tính năng hữu ích đối với RDF

3.3.1.1 Sesame Server

Sesame có thể được sử dụng như là một máy chủ với các ứng dụng khách có thể giao tiếp thông qua HTTP Sesame có thể được triển khai như là một ứng dụng Java Servlet trong Apache Tomcat – một webserver hỗ trợ Java Servlets và ngôn ngữ JSP

Hình 3.3 Sesame server [59]

Trang 34

3.3.1.2 Kho dữ liệu và suy luận (Repositories and Inferencing)

Sesame framework có khái niệm về kho dữ liệu (repository) Một kho dữ liệu là một bộ lưu trữ cho RDF hoặc là một cơ sở dữ liệu quan hệ Hầu hết các tương tác của Sesame đều liên quan tới kho dữ liệu, khi thêm dữ liệu RDF thì bổ sung vào một kho

dữ liệu nào đó, và thực hiện truy vấn đối với một kho dữ liệu cụ thể

Với một tập RDF và (hoặc) RDF schema, Sesame hỗ trợ suy luận RDF Schema (RDF Schema inferencing) Sesame có thể tìm thấy thông tin ẩn trong kho dữ liệu do

dễ dàng thêm các thông tin ẩn đó vào kho dữ liệu

3.3.1.3 Tổng quan kiến trúc Sesame

Hình 3.4 Kiến trúc của Sesame [59]

Tầng lưu trữ và suy luận (the Storage And Inference Layer – SAIL API) là giao

diện chương trình ứng dụng bên trong Sesame (internal Sesame API - Application program interface) cung cấp hỗ trợ suy luận (hình 3.4) Các xử lý của SAIL cung cấp chức năng như bộ nhớ đệm hoặc xử lý truy cập đồng thời Mỗi kho dữ liệu Sesame có đối tượng SAIL riêng để biểu diễn cho kho dữ liệu đó

Trang 35

Trong kiến trúc của Sesame (hình 3.4), phía trên SAIL, là các module chức năng của Sesame, chẳng hạn như các công cụ truy vấn SeRQL, RQL và RDQL, module quản trị, và module trích xuất file RDF Truy cập vào các module chức năng có sẵn

thông qua các giao diện chương trình ứng dụng truy cập của Sesame (Sesame's Access

APIs), bao gồm hai phần riêng biệt: Repository API và Graph AP I Repository AP I

cung cấp quyền truy cập bậc cao vào các kho dữ liệu Sesame, chẳng hạn như truy vấn, lưu trữ các file RDF, trích xuất file RDF,… Graph API cung cấp nhiều hỗ trợ bổ sung cho xử lý RDF, chẳng hạn như các câu lệnh thêm và loại bỏ thực thể, và tạo ra các mô hình RDF nhỏ trực tiếp từ code Hai API này bổ sung chức năng cho nhau, và thường được sử dụng cùng nhau trong các ứng dụng

Access APIs cung cấp truy cập trực tiếp vào các module chức năng của Sesame, hoặc truy cập vào một chương trình khách (ví dụ, một ứng dụng văn phòng sử dụng thư viện Sesame), hoặc truy cập trực tiếp vào thành phần tiếp theo là Sesame server Sesame server một thành phần cung cấp các truy cập dựa vào HTTP tới các API của Sesame Sau đó, trên phía máy khách HTTP ở xa, tìm Access APIs, sử dụng cho các giao tiếp với Sesame

3.3.2 Cài đặt Sesame

Sesame có thể triển khai theo một vài cách Hai phương pháp phổ biến nhất bao gồm việc triển khai như là một thư viện java, hoặc triển khai như là một máy chủ

3.3.2.1 Cài đặt thƣ viện Sesame

Thư viện Sesame gồm tập các file:

- Sesame.jar

- Rio.jar: Rio (RDF I/O) là một tập các bộ phân tích và bộ ghi cho các định

dạng RDF (RDF/XML, Turtle, N-Triples)

- Openrdf-model.jar: Các lớp được sử dụng chung cho các mô hình RDF

- Openrdf-util.jar: Các lớp dịch vụ được sử dụng chung

Những lưu trữ (nằm trong thư mục lib/) chứa các lớp Java có sẵn để sử dụng trong các ứng dụng riêng

Sesame yêu cầu Java 2, phiên bản 1.4 (hoặc mới hơn) để hoạt động đúng

Trang 36

Nếu cài đặt Sesame sử dụng mô hình máy khách – máy chủ qua giao thức HTTP, thì cần thêm các thư viện: Jakarta Commons File Upload, Jakarta Commons IO Các

thư viện này có thể được tìm thấy trong thư mục ext/ của mã nguồn Sesame

3.3.2.2 Cài đặt máy chủ Sesame

Phần mềm đƣợc yêu cầu

Máy chủ Sesame yêu cầu các phần mềm: Sesame, và Java servlet container để chạy các Sesame servlets

Sesame sẽ có thể chạy trên bất kỳ Java servlet container để hỗ trợ các đặc điểm

kỹ thuật Servlet 2.2 và JSP 1.1, hoặc mới hơn Sesame đã được thử nghiệm với Tomcat, và trong Oracle, với OC4J

Sesame có một số lựa chọn để lưu trữ dữ liệu RDF, Sesame có thể lưu trữ dữ liệu trong bộ nhớ, hoặc có thể lưu trữ dữ liệu trên đĩa trong một cấu trúc file chuyên dụng, hoặc nó có thể lưu trữ dữ liệu trong một cơ sở dữ liệu quan hệ

Cài đặt Sesame trên Tomcat

Các bước mô tả quy trình cài đặt Sesame trên Tomcat:

- Cài đặt Tomcat theo mặc định

- Tới thư mục các ứng dụng web ([TOMCAT_DIR]/webapps/) và tạo một thư mục tên là sesame

- Giải nén file sesame.war (có thể tìm được file này trong thư mục lib/) vào trong thư mục sesame vừa được tạo mới trong thư mục các ứng dụng web của Tomcat

- Sao chép file [SESAME_DIR]/WEB-INF/system.conf.example thành

[SESAME_DIR]/WEB-INF/system.conf

- Khởi động lài Tomcat server và Sesame sẽ bắt đầu hoạt động Truy cập

vào giao diện web Sesame tại http://localhost:8080/sesame

Trang 37

3.3.2.3 Quản trị máy chủ

Thay đổi cấu hình hệ thống

Cấu hình của Sesame được thiết lập trong file

[SESAME_DIR]/WEB-INF/system.conf Để thay đổi file cấu hình sử dụng công cụ Configure Sesame! có sẵn

trong [SESAME_DIR]/WEB-INF/bin/ Để bắt đầu thay đổi cấu hình, sử dụng

configSesame.bat (trên Windows) hoặc configSesame.sh (trên UNIX) (hình 3.5)

Nạp cấu hình hệ thống

Hình 3.5 Cấu hình Sesame

Khi bắt đầu Configure Sesame!, nạp file system.conf Nếu muốn cấu hình Sesame server đang chạy, thì có thể nạp file trực tiếp từ server ([File] → [Load from server ]), và nhập mật khẩu quản trị là ―admin‖

Lưu trữ một cấu hình hệ thống

Khi thay đổi cấu hình, cấu hình có thể lưu trữ trên đĩa ([File] → [Save file as ]), hoặc có thể gửi trực tiếp tới Sesame server đang chạy ( [File] → [Send to server ])

Trang 38

Thiết lập mật khẩu quản trị

Nếu cấu hình hệ thống không thay đổi mật khẩu quản trị từ trước, để thiết lập mật khẩu, chọn tab Server và thay thế mật khẩu quản trị

Thêm và loại bỏ tài khoản người sử dụng

Để thêm hoặc loại bỏ tài khoản người dùng, thực hiện theo bước sau:

- Mở tab Users

- Click vào biểu tượng ―Add user‖

- Để loại bỏ tài khoản người dùng thì click vào nút ―Remove user‖

Cấu hình các kho dữ liệu

Cấu hình các kho dữ liệu có sẵn, hoặc thêm mới, hoặc loại bỏ kho dữ liệu bởi việc thiết lập cấu hình sử dụng Configure Sesame! (hình 3.5)

Chỉnh sửa cấu hình một kho dữ liệu có sẵn

Mở tab ―Repositories‖ và lựa chọn kho dữ liệu sẽ thay đổi cấu hình, click nút

―Repository details‖ (hình 3.6)

Hình 3.6 Cấu hình kho dữ liệu có sẵn trong Sesame

Trang 39

Trong cửa sổ Repository (hình 3.6) có thể chỉnh sửa một số thông số của kho dữ liệu Phần phía trên cửa sổ hiển thị ngăn xếp SAIL, phần phía dưới hiển thị các thông

số SAIL được lựa chọn trong ngăn xếp Trong hầu hết trường hợp, cấu hình chỉ cần chỉnh sửa các thông số phía dưới SAIL trong ngăn xếp

Cửa sổ thông tin chi tiết Repository cũng cho phép cấu hình thay đổi các quyền truy cập của người sử dụng đối với một kho dữ liệu Để thay đổi quyền truy cập, sử dụng tab ―Access rights‖, và chỉnh sửa các quyền của người sử dụng hiện hành hoặc thêm người dùng mới

Thêm các kho dữ liệu mới

Để thêm một kho dữ liệu mới thì cấu hình chỉ cần sinh bản sao của kho dữ liệu có sẵn Sử dụng nút ―Clone‖ trên tab Repository để thực hiện việc này Việc này tạo một bản sao của cấu hình kho dữ liệu hiện thời được lựa chọn, và sau đó có thể chỉnh sửa

Loại bỏ các kho dữ liệu

Để loại bỏ một kho dữ liệu, lựa chọn tab Repository, lựa chọn một kho dữ liệu và click vào nút ―Remove‖

3.3.3 Giao diện web của Sesame

Sesame đi kèm với một giao diện Web cho phép truy cập tới các kho dữ liệu thông qua trình duyệt Web thông thường

3.3.3.1 Đăng nhập

Trang đầu vào của Sesame được đặt tại http://localhost:8080/sesame Màn hiển

thị cung cấp cho lựa chọn các kho dữ liệu để thao tác trên đó Để đăng nhập vào Sesame, click liên kết ―log in‖ và cung cấp tên người dùng và mật khẩu.Sau khi đăng nhập, lựa chọn kho dữ liệu muốn thực hiện các xử lý

Sau khi lựa chọn kho dữ liệu, màn hình hiển thị giao diện chức năng của Sesame (hình 3.7)

Trang 40

Hình 3.7 Giao diện we b của Sesame

Các công cụ trên đỉnh của màn hình hiển thị thông tin người dùng và thông tin kho dữ liệu, và cho phép lựa chọn các thao tác khác nhau trên kho dữ liệu này Các thao tác này được phân loại trong các thao tác đọc (chẳng hạn như các truy vấn) và trong các thao tác ghi (thêm và loại bỏ dữ liệu)

3.3.3.2 Thêm dữ liệu vào một kho dữ

Giao diện web cung cấp ba lựa chọn để thêm dữ liệu vào một kho dữ liệu Sesame: Add file, Add (www) và Add (copy-paste)

Các lựa chọn Add file và Add (www) không phức tạp, lựa chọn đầu tiên cho phép lựa chọn một tài liệu RDF trên đĩa để thêm vào kho dữ liệu Sesame, và lựa chọn thứ hai cho phép thêm các tài liệu RDF qua một URL tới kho dữ liệu

Tùy chọn Add (copy-paste) cho phép tải dữ liệu tới Sesame bằng cách gõ (hoặc

sao chép và dán) trong vùng văn bản Văn bản được gõ là tài liệu RDF/XML hợp lệ

Ngày đăng: 18/02/2014, 00:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[4]. AKT Reference Ontology, http://kmi.open.ac.uk/projects/akt/ref-onto/index.html Link
[15]. W.W. Cohen, P. Ravikumar, S.E. Fienberg, A comparison of string distance metrics for name-matching tasks, in: IIWeb Workshop, 2003, http://www- 2.cs.cmu.edu/∼wcohen/postscript/ijcai-ws-2003.pdf Link
[31]. JWNL (Java WordNet library) http://sourceforge.net/projects/jwordnet Link
[42]. D. Mc Guinness, F. van Harmelen, OWL Web Ontology Language Overview. W3C Recommendation, 10, 2004 http://www.w3.org/TR/owl-features/ Link
[50]. V. Tablan, D. Maynard, K. Bontcheva, GATE—A Concise User Guide. University of Sheffield, UK. http://gate.ac.uk/ Link
[51]. W3C,OWLWebOntology LanguageGuide: http://www.w3.org/TR/2003/CR- owl-guide-0030818/ Link
[1]. Nguyễn Quốc Đạt. Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt. Khóa luận tốt nghiệp 2009 – Đại học Công Nghệ - Đại học Quốc Gia Hà Nội Khác
[3]. Vanessa Lopez, Victoria Uren, Enrico Motta, Michele Pasin, AquaLog: An ontology-driven question answering system for organizational semantic intranets Khác
[6]. I. Androutsopoulos, G.D. Ritchie, P. Thanisch, Natural language interfaces to databases—an introduction, Nat. Lang. Eng. 1 (1) (1995) 29–81 Khác
[8]. G. Attardi, A. Cisternino, F. Formica, M. Simi, A. Tommasi, C. Zavattari, PIQASso: PIsa question answering system, in: Proceedings of the text Retrieval Conferemce (Trec-10), 599-607, NIST, Gaithersburg, MD, November 13–16, 2001 Khác
[9]. R. Basili, D.H. Hansen, P. Paggio,M.T. Pazienza, F.M. Zanzotto, Ontological resources and question data in answering, in:Workshop on Pragmatics of Question Answering, held jointly with NAACL, Boston, MA, May, 2004 Khác
[10]. T. Berners-Lee, J. Hendler, O. Lassila, The semantic web, Sci. Am. 284 (5) (2001) Khác
[13]. J. Chu-Carroll, D. Ferrucci, J. Prager, C. Welty, Hybridization in question answering systems, in: M. Maybury (Ed.), New Directions in Question Answering, AAAI Press, 2003 Khác
[14]. P. Clark, J. Thompson, B. Porter,Aknowledge-based approach to question- answering, in: In the AAAI Fall Symposium on Question-Answering Systems, CA, AAAI, 1999, pp. 43–51 Khác
[16]. A. Copestake,K.S. Jones,Natural language interfaces to databases, Knowl. Eng. Rev. 5 (4) (1990) 225–249 Khác
[17]. H. Cunningham, D. Maynard, K. Bontcheva, V. Tablan, GATE: a framework and graphical development environment for robust NLP tools and applications, in: Proceedings of the 40th AnniversaryMeeting of the Association for Computational Linguistics (ACL’02), Philadelphia, 2002 Khác
[19]. A.N De Roeck, C.J. Fox, B.G.T. Lowden, R. Turner, B. Walls, A natural language system based on formal semantics, in: Proceedings of the International Conference on Current Issues in Computational Linguistics, Pengang, Malaysia, 1991 Khác
[20]. Discourse Represenand then tation Theory. Jan Van Eijck, to appear in the 2nd edition of the Encyclopedia of Language and Linguistics, Elsevier, 2005 Khác
[21]. M. Dzbor, J. Domingue, E. Motta, Magpie—towards a semantic web browser, in: Proceedings of the 2nd International Semantic Web Conference Khác
[23]. C. Fellbaum (Ed.), WordNet, An Electronic Lexical Database, Bradford Books, May, 1998 Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Tổng quan về hệ thống hỏi đáp dựa trên Ontologies [2] - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 2.1. Tổng quan về hệ thống hỏi đáp dựa trên Ontologies [2] (Trang 16)
Hình 3.1. Ví dụ về lớp trong Ontology [58] - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 3.1. Ví dụ về lớp trong Ontology [58] (Trang 28)
trong Ontology. Với thí dụ trong hình 3.2, lớp Ford Explorer is-a-subclass-of 4-Wheel - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
trong Ontology. Với thí dụ trong hình 3.2, lớp Ford Explorer is-a-subclass-of 4-Wheel (Trang 30)
Hình 3.3. Sesame server [59] - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 3.3. Sesame server [59] (Trang 33)
Hình 3.4. Kiến trúc của Sesame [59] - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 3.4. Kiến trúc của Sesame [59] (Trang 34)
Nếu cấu hình hệ thống khơng thay đổi mật khẩu quản trị từ trước, để thiết lập mật khẩu, chọn tab Server và thay thế mật khẩu quản trị - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
u cấu hình hệ thống khơng thay đổi mật khẩu quản trị từ trước, để thiết lập mật khẩu, chọn tab Server và thay thế mật khẩu quản trị (Trang 38)
Hình 3.7. Giao diện web của Sesame - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 3.7. Giao diện web của Sesame (Trang 40)
Kiến trúc của hệ thống (hình 4.1) sẽ gồm hai thành phần chính, thành phần xử lý câu hỏi ngơn ngữ tự nhiên, và thành phần tìm kiếm 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
i ến trúc của hệ thống (hình 4.1) sẽ gồm hai thành phần chính, thành phần xử lý câu hỏi ngơn ngữ tự nhiên, và thành phần tìm kiếm câu trả lời (Trang 41)
Hình 4.2. Kiến trúc của thành phần tìm kiếm 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
Hình 4.2. Kiến trúc của thành phần tìm kiếm câu trả lời (Trang 42)
Hình 4.3. Các lớp trong Ontology về trƣờng đại học 4.3.2 Thiết kế thuộc tính trong Ontology  - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.3. Các lớp trong Ontology về trƣờng đại học 4.3.2 Thiết kế thuộc tính trong Ontology (Trang 48)
Hình 4.4. Các thuộc tính trong Ontology về trƣờng đại học - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.4. Các thuộc tính trong Ontology về trƣờng đại học (Trang 49)
Hình 4.5. Tổng quan về ánh xạ Ontology đối với câu hỏi đơn giả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ình 4.5. Tổng quan về ánh xạ Ontology đối với câu hỏi đơn giản (Trang 52)
Hình 4.6. Ví dụ hỏi đáp đối với loại câu hỏi “NORMAL” - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.6. Ví dụ hỏi đáp đối với loại câu hỏi “NORMAL” (Trang 54)
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” - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
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” (Trang 55)
Hình 4.8. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.8. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” (Trang 56)
Hình 4.9. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.9. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” (Trang 57)
Hình 4.10. Ví dụ hỏi đáp đối với loại câu hỏi AFFIRM_NEG - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.10. Ví dụ hỏi đáp đối với loại câu hỏi AFFIRM_NEG (Trang 58)
Hình 4.11. Tổng quan ánh xạ Ontology với loại câu hỏi “THREETERM” - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.11. Tổng quan ánh xạ Ontology với loại câu hỏi “THREETERM” (Trang 59)
Hình 4.12. Ví dụ hỏi đáp đối với câu hỏi về số lƣợng - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.12. Ví dụ hỏi đáp đối với câu hỏi về số lƣợng (Trang 63)
Sau khi hình thành các bộ ba mô tả tương ứng với Ontology, thành phần trích chọn câu trả lời dựa vào các bộ ba này để đưa ra câu trả lời ngữ nghĩa tốt nhất có thể - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
au khi hình thành các bộ ba mô tả tương ứng với Ontology, thành phần trích chọn câu trả lời dựa vào các bộ ba này để đưa ra câu trả lời ngữ nghĩa tốt nhất có thể (Trang 64)
Hình 4.14. Ví dụ hỏi đáp đối với loại câu hỏi “NORMAL”, “UNKN_REL” - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.14. Ví dụ hỏi đáp đối với loại câu hỏi “NORMAL”, “UNKN_REL” (Trang 65)
Đối với câu hỏi ―UNKN_TERM‖, nếu ánh xạ Ontology hình thành bộ ba mơ tả đủ các thành phần thì thành phần trích chọn câu trả lời tìm kiếm tương tự như đối với  hai loại câu hỏi trên - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
i với câu hỏi ―UNKN_TERM‖, nếu ánh xạ Ontology hình thành bộ ba mơ tả đủ các thành phần thì thành phần trích chọn câu trả lời tìm kiếm tương tự như đối với hai loại câu hỏi trên (Trang 66)
Hình 4.17. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.17. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” (Trang 67)
Hình 4.16. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.16. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” (Trang 67)
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” - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
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” (Trang 68)
Thành phần ánh xạ Ontology hình thành nên bộ ba (nguyễn_quốc_đại, có_q | là_quê, hà_nội) - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
h ành phần ánh xạ Ontology hình thành nên bộ ba (nguyễn_quốc_đại, có_q | là_quê, hà_nội) (Trang 68)
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” - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
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” (Trang 69)
Hình 4.21. Ví dụ hỏi đáp đối với loại câu hỏi “THREETERM” - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Hình 4.21. Ví dụ hỏi đáp đối với loại câu hỏi “THREETERM” (Trang 70)
Bảng 5.1. Đánh giá hệ thống đối với các câu hỏi trả lời đƣợc - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Bảng 5.1. Đánh giá hệ thống đối với các câu hỏi trả lời đƣợc (Trang 71)
Bảng 5.1 là đánh giá của hệ thống đối với các câu trả lời được trong quá trình thực nghiệm - phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology
Bảng 5.1 là đánh giá của hệ thống đối với các câu trả lời được trong quá trình thực nghiệm (Trang 72)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w