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

Phương pháp trả lời câu hỏi dựa vào đồ thị tri thức thuộc miền dữ liệu du lịch

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 (10.94 MB, 116 trang )

Tai Lieu Chat Luong

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH

-------- ∞0∞--------

VÕ THANH VƯƠNG ĐẠO

PHƯƠNG PHÁP TRẢ LỜI CÂU HỎI
DỰA VÀO ĐỒ THỊ TRI THỨC
THUỘC MIỀN DỮ LIỆU DU LỊCH

LUẬN VĂN THẠC SĨ
KHOA HỌC MÁY TÍNH

TP. HỒ CHÍ MINH, NĂM 2022
1


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH

-------- ∞0∞--------

VÕ THANH VƯƠNG ĐẠO

PHƯƠNG PHÁP TRẢ LỜI CÂU HỎI
DỰA VÀO ĐỒ THỊ TRI THỨC
THUỘC MIỀN DỮ LIỆU DU LỊCH
Chuyên ngành: Khoa học máy tính


Mã số chuyên ngành: 60 48 01 01

LUẬN VĂN THẠC SĨ
KHOA HỌC MÁY TÍNH

Giảng viên hướng dẫn: TS. TRƯƠNG HỒNG VINH

TP. HỒ CHÍ MINH, NĂM 2022
2


TRƯỜNG ĐẠI HỌC MỞ
THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐÀO TẠO SAU ĐẠI HỌC

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

GIẤY XÁC NHẬN

Tôi tên là: VÕ THANH VƯƠNG ĐẠO
Ngày sinh: 05/10/1967

Nơi sinh: tỉnh Bến Tre

Chun ngành: Khoa học máy tính

Mã học viên: 1784801010023

Tơi đồng ý cung cấp tồn văn thơng tin luận văn tốt nghiệp hợp lệ về bản quyền cho

Thư viện trường đại học Mở Thành phố Hồ Chí Minh. Thư viện trường đại học Mở
Thành phố Hồ Chí Minh sẽ kết nối tồn văn thơng tin luận văn tốt nghiệp vào hệ thống
thông tin khoa học của Sở Khoa học và Công nghệ Thành phố Hồ Chí Minh.
Ký tên

Võ Thanh Vương Đạo



LỜI CAM ĐOAN

Tôi tên là Võ Thanh Vương Đạo, học viên cao học lớp MCOM017A niên
khố 2017 - 2019. Tơi xin cam đoan luận văn “Phương pháp trả lời câu hỏi dựa
vào Đồ thị tri thức thuộc miền dữ liệu du lịch” là bài nghiên cứu của chính tơi
dưới sự hướng dẫn của thầy tiến sĩ Trương Hoàng Vinh.
Những kết quả đạt được và những đóng góp từ luận văn là kết quả của quá
trình tìm hiểu, nghiên cứu và thực nghiệm của chính bản thân tơi. Bên cạnh đó,
luận văn sử dụng một số tài liệu, một số công trình nghiên cứu trước đây. Tất
cả những tài liệu và cơng trình nghiên cứu này được tơi trích dẫn và ghi nguồn
trích dẫn rõ ràng, theo đúng quy định.
Kết quả của luận văn này chưa được nộp để nhận bất kỳ bằng cấp nào tại
các trường đại học hoặc cơ sở đào tạo khác. Tôi xin cam đoan và chịu hồn tồn
trách nhiệm về nội dung này.

Thành phố Hồ Chí Minh, năm 2021

Võ Thanh Vương Đạo

i



LỜI CẢM ƠN

Trong thời gian học tập, nghiên cứu để hồn thiện luận văn, tơi đã nhận được
sự hướng dẫn, giúp đỡ rất tận tình của q thầy cơ trong khoa CNTT, khoa
Sau Đại Học của trường Đại học Mở Tp.HCM.
Tôi xin gởi lời cảm ơn chân thành đến tiến sĩ Trương Hồng Vinh. Thầy đã
rất nhiệt tình hỗ trợ, hướng dẫn tôi trong suốt thời gian nghiên cứu cũng như
thực hiện luận văn. Bên cạnh đó, thầy cịn khơi gợi, truyền đạt tinh thần nghiên
cứu khoa học và công bố khoa học thông qua các bài báo tại các hội nghị quốc
tế. Tôi đã rất may mắn khi được cùng cộng tác, cùng làm việc chung với thầy.
Một lần nữa, xin gởi đến thầy lòng biết ơn sâu sắc nhất.
Bên cạnh đó, tơi cũng xin cảm ơn các thầy đã giảng dạy một số bộ mơn
trong q trình học tập tại trường. Ngoài việc truyền đạt kiến thức, các thầy
còn hướng dẫn, đưa ra những lời khuyên, những kinh nghiệm cho việc chọn đề
tài nghiên cứu và viết đề tài luận văn.
Cuối cùng, tôi xin gởi lời cảm ơn đến những người thân yêu trong gia đình,
một số bạn bè thân thiết. Những người đã luôn ở bên cạnh, hỗ trợ, động viên
và tạo điều kiện thuận lợi nhất để tơi hồn thành luận văn, cũng như chương
trình học thạc sĩ tại trường.

ii


TĨM TẮT

Cơ sở dữ liệu đồ thị có thể biểu diễn được các mối liên hệ phức tạp của thông
tin trong thế giới thực, hỗ trợ lưu trữ, truy vấn, xử lý thông tin một cách hiệu
quả mà không cần phải thông qua các lệnh kết nối JOIN khá tốn kém của cơ sở
dữ liệu quan hệ. Thông thường, các nhu cầu truy xuất thông tin trong cơ sở dữ

liệu chỉ giới hạn trong một đồ thị con, từ một hoặc tập hợp các điểm (nút) ban
đầu có thể khám phá dữ liệu các điểm xung quanh thông qua các cung (quan
hệ) với chi phí xử lý thấp dù là tổng kích thước của tồn bộ dữ liệu đồ thị là
rất lớn. Với các ưu điểm của cơ sở dữ liệu đồ thị, đã có các nghiên cứu mơ hình
hóa tri thức với hệ thống dữ liệu được xây dựng dựa trên cơ sở dữ liệu đồ thị,
nó được gọi là đồ thị tri thức (Knowledge Graph). Đồ thị tri thức biểu diễn các
dữ liệu liên quan đến tri thức của con người, có thể đặt ra các câu hỏi phức tạp
về dữ liệu tri thức thu thập được và nhận được câu trả lời tốt từ kho dữ liệu
này theo thời gian thực. Đồ thị tri thức có thể ứng dụng trong nhiều lĩnh vực
của ngành khoa học máy tính trong đó có xử lý ngơn ngữ tự nhiên.
Đã có những tiến bộ lớn của cơng nghệ xử lý ngôn ngữ tự nhiên (Natural
Language Processing - NLP) giúp máy tính có thể “hiểu” được câu hỏi/lệnh của
con người để tìm ra các nội dung kết quả trả lời phù hợp. Người ta thường gọi
một hệ thống như vậy là một ứng dụng chatbot hay một hệ thống trò chuyện.
Một ứng dụng máy tính đóng vai trị thay thế con người để trò chuyện gọi là
Agent (tác nhân/người đại diện). Agent cần cung cấp câu trả lời ngắn gọn, trực
iii


tiếp cho các truy vấn của người dùng dựa trên kiến thức được rút ra từ các
nguồn dữ liệu khác nhau như tài liệu từ Web, hoặc dữ liệu được chuẩn bị trước
như bộ dữ liệu bán hàng, tiếp thị. . . Agent cũng có thể hồn thành các nhiệm
vụ của người dùng (task completion) như gọi xe, đặt chỗ nhà hàng, lập lịch họp
... hoặc trò chuyện (social chat) liền mạch như một con người thật sự (được đo
bằng bài kiểm tra Turing) và cung cấp các đề nghị phù hợp [1].
Những năm gần đây đã chứng kiến nhu cầu ngày càng tăng đối với các
Chatbot đàm thoại trả lời câu hỏi (Question Answering- QA) cho phép người
dùng truy vấn từ đồ thị tri thức (Knowledge Base - KB) quy mô lớn hoặc từ
một tập các tài liệu bằng ngôn ngữ tự nhiên [1]. Trong tài liệu này xin gọi tắt
là bài toán QA-KB (Question Answering - Knowledge Base).

Luận văn của chúng tôi tập trung nghiên cứu một phương pháp trả lời câu
hỏi (tiếng Việt) dựa trên KB. Thông qua phân tích, trích xuất các thực thể từ
câu hỏi, sau đó sử dụng các thuật tốn tìm kiếm, phân tích dữ liệu trong một
đồ thị con của KB để tìm ra câu trả lời (tốt nhất có thể). Tận dụng ưu điểm của
một KB để giải quyết bài toán QA mà khơng phải tốn q nhiều chi phí cho
cơng việc xử lý ngôn ngữ tự nhiên: chuyển đổi câu hỏi bằng ngôn ngữ tự nhiên
thành biểu diễn ý nghĩa (meaning representations – MR) mà chương trình máy
tính có thể “hiểu” được. Luận văn gồm có 4 chương:
• Chương 1. Tổng quan
1. Giới thiệu về luận văn
– Giới thiệu các cơng trình nghiên cứu liên quan.
– Trình bày lý do chọn đề tài nghiên cứu.
2. Các đề xuất cho nghiên cứu trong luận văn.
– Phạm vi nghiên cứu, nội dung, phương pháp nghiên cứu.
– Đóng góp khoa học, thực tiễn.
• Chương 2. Cơ sở lý thuyết
iv


– Giới thiệu về đồ thị, một số thuật toán trên đồ thị
– Giới thiệu về đồ thị tri thức.
– Giới thiệu về xử lý ngôn ngữ tự nhiên (NLP).
– Một số tác vụ cơ bản trong xử lý ngôn ngữ tự nhiên .
– Nhận dạng thực thể được đặt tên (NER).
– Transformers and Transfer Learning (học chuyển giao).
– Kỹ thuật Bidirectional Encoder Representations from Transformers (BERT).
• Chương 3. Phương pháp trả lời câu hỏi về du lịch Bến Tre
– Xây dựng bộ câu hỏi thường gặp về du lịch Bến Tre
– Tách từ và nhận dạng thực thể được đặt tên từ câu hỏi đầu vào
– Tạo dựng một cơ sở dữ liệu đồ thị tri thức để thử nghiệm phương pháp

– Phân loại các dạng câu hỏi thường gặp về du lịch Bến Tre và phương
pháp tìm câu trả lời.
• Chương 4. Kết quả thử nghiệm phương pháp đã đề xuất
– Giới thiệu đồ thị tri thức sử dụng để thử nghiệm.
– Giới thiệu các câu hỏi sử dụng thử nghiệm và cài đặt thuật toán trả lời
câu hỏi.
– Thực hiện tách từ và nhận dạng thực thể.
– Thử nghiệm Modul trả lời câu hỏi và kết quả sau thử nghiệm.
– Kết luận, hướng phát triển của Luận văn
NGƯỜI HƯỚNG DẪN

Thành phố Hồ Chí Minh, năm 2021
HỌC VIÊN

TS.Trương Hoàng Vinh

Võ Thanh Vương Đạo
v


ABSTRACT

Graph databases can represent complex relationships of information in the
real world, supporting efficient storage, querying, and processing of information
without having to go through commands. JOIN connections are quite expensive
for relational databases. Usually, the information retrieval needs in the database
are limited to a subgraph, from one or a set of points (nodes) that can initially
explore the data of surrounding points through arcs (relation) with low processing cost even though the total size of the entire graph data is very large. With the
advantages of graph databases, there have been studies on knowledge modeling
with data systems built based on graph databases, which are called Knowledge

graphs. Knowledge graphs represent data related to human knowledge, can ask
complex questions about collected knowledge data and get good answers from
this data warehouse over real time. Knowledge graphs can be applied in many
areas of computer science, including Natural language processing.
There have been great advances in Natural Language Processing (NLP) technology to help computers "understand" human questions/commands to find the
right answers. It is common to call such a system a chatbot application or a chat
system. A computer application that acts as a substitute for humans to chat is
called an Agent. Agents need to provide concise, direct answers to user queries
based on knowledge drawn from disparate data sources such as documents from
the Web, or pre-prepared data such as sales, marketing data sets . . . Agent can
vi


also complete user tasks (task completion) such as calling a car, making restaurant reservations, scheduling meetings... or chatting (social chat) seamlessly like
a human real (as measured by the Turing test) and provide relevant offers [1].
Recent years have seen an increasing demand for Conversation Answering
(QA) Chatbots that allow users to query from large-scale Knowledge Base (KB)
or from a set of documents in natural language [1]. In this document, refer to
the problem as QA-KB (Question Answering - Knowledge Base).
Our thesis focuses on researching a method of answering questions (in Vietnamese) based on KB. Through analysis, extract entities from the question, then
using search algorithms, analyze the data in a subgraph of the KB to find the answer (the best possible). Take advantage of a KB to solve a QA problem without
spending too much on natural language processing: converting natural language
questions into meaningful representations (MR) ) that a computer program can
"understand".
The thesis consists of 4 chapters:
• Chapter 1. Overview
1. Introduction to the thesis
– Introduction of related research works.
– Explain the reasons for choosing the research topic.
2. Proposals for research in the thesis.

– Research scope, content, research methods.
– Scientific and practical contributions.
• Chapter 2. Theoretical Basis
– Introduction to graphs, some algorithms on graphs.
– Introduction to knowledge graphs.
– An introduction to natural language processing (NLP).
vii


– Some basic tasks in natural language processing.
– Named Entity Identity (NER).
– Transformers and Transfer Learning.
– Bidirectional Encoder Representations from Transformers (BERT).
• Chapter 3. Method of answering questions about tourism in Ben
Tre
– Building a set of frequently asked questions about Ben Tre tourism.
– Word extraction and named entity recognition from input questions.
– Build a knowledge graph database for method testing.
– Classification of frequently asked questions about Ben Tre tourism and
methods of finding answers.
• Chapter 4. Test results of the proposed method
– Introduction to knowledge graphs used for testing.
– Introduce test usage questions and set up question-answering algorithms.
– Perform word separation and entity recognition.
– Testing Module answers questions and results after testing.
– Conclusion, development direction of the thesis
INSTRUCTOR

Hồ Chí Minh City, Year 2021
STUDENT


Ph.D Trương Hoàng Vinh

Võ Thanh Vương Đạo

viii


MỤC LỤC

Lời cam đoan

i

Lời cảm ơn

ii

Tóm tắt

iii

Abstract

vi

Danh mục hình

xii


Danh mục ký hiệu

xiv

Danh mục viết tắt

xv

Mở đầu

1

1 Tổng quan

5

1.1

Giới thiệu luận văn . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.2

Các đề xuất cho nghiên cứu trong luận văn này . . . . . . . . .

10

2 Cơ sở lý thuyết
2.1


13

Giới thiệu về đồ thị và đồ thị tri thức . . . . . . . . . . . . . . .

13

2.1.1

Khái niệm . . . . . . . . . . . . . . . . . . . . . . . . . .

13

2.1.2

Các thuật toán dựa trên trên đồ thị . . . . . . . . . . . .

14

ix


2.2

2.1.3

Đường đi và chu trình . . . . . . . . . . . . . . . . . . .

15


2.1.4

Thuật tốn tìm kiếm theo chiều sâu(Depth First Search):

16

2.1.5

Thuật tốn tìm kiếm theo chiều rộng (Beardth First Search) 16

2.1.6

Đồ thị tri thức (Knowledge Graph) . . . . . . . . . . . .

17

Nhận dạng thực thể trong Xử lý ngôn ngữ tự nhiên . . . . . . .

19

2.2.1

Giới thiệu về xử lý ngôn ngữ tự nhiên . . . . . . . . . . .

19

2.2.2

Một số tác vụ cơ bản trong xử lý ngôn ngữ tự nhiên . . .


23

2.2.3

Nhận dạng thực thể được đặt tên (Named entity recognition - NER) . . . . . . . . . . . . . . . . . . . . . . . . .

29

2.3

Transformers and Transfer Learning (học chuyển giao) . . . . .

33

2.4

BERT - Bidirectional Encoder Representations from Transformers 34

3 Phương pháp trả lời câu hỏi về du lịch Bến Tre

37

3.1

Xây dựng bộ câu hỏi thường gặp về du lịch Bến Tre . . . . . . .

37

3.2


Tách từ và nhận dạng thực thể được đặt tên . . . . . . . . . . .

39

3.3

Tạo dựng một cơ sở dữ liệu đồ thị tri thức để thử nghiệm phương
pháp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.4

Trả lời câu hỏi thường gặp về du lịch Bến Tre với kết quả là một
danh sách đối tượng . . . . . . . . . . . . . . . . . . . . . . . .

3.5

40

43

Trả lời câu hỏi thường gặp về du lịch Bến Tre với kết quả là đặc
điểm của một đối tượng/thực thể cụ thể . . . . . . . . . . . . .

4 Kết quả thực nghiệm phương pháp đã đề xuất

46
51

4.1


Tạo lược đồ của đồ thị tri thức . . . . . . . . . . . . . . . . . .

51

4.2

Thu thập dữ liệu về du lịch Bến Tre vào đồ thị tri thức . . . . .

53

4.3

Xây dựng bộ câu hỏi huấn luyện, tìm phương pháp trả lời câu hỏi 54

4.4

Thực hiện tách từ và nhận dạng thực thể . . . . . . . . . . . . .

56

4.5

Rút trích đặc trưng . . . . . . . . . . . . . . . . . . . . . . . . .

59

4.6

Xác định thực thể chính của câu hỏi . . . . . . . . . . . . . . .


60

x


4.7

Phương pháp suy diễn trả lời câu hỏi . . . . . . . . . . . . . . .

61

4.8

Thực nghiệm và kết quả sau thực nghiệm . . . . . . . . . . . . .

64

4.9

Hướng phát triển luận văn . . . . . . . . . . . . . . . . . . . . .

68

Tài liệu tham khảo

75

Phụ lục 1

76


Phụ lục 2

80

xi


DANH MỤC HÌNH

2.1

Hình vẽ Đồ thị vơ hướng có 6 đỉnh và 7 cạnh. . . . . . . . . . .

13

2.2

Hình vẽ Đồ thị có hướng có trọng số. . . . . . . . . . . . . . . .

14

2.3

Ví dụ về thuật tốn tìm kiếm trên đồ thị. . . . . . . . . . . . .

16

2.4


Ví dụ về một đồ thị tri thức. . . . . . . . . . . . . . . . . . . . .

18

2.5

Ví dụ về cây phân tích cú pháp phụ thuộc. Hình được trích từ tài
liệu tham khảo [11]. . . . . . . . . . . . . . . . . . . . . . . . . .

2.6

26

Kết quả nhận dạng thực thể được đặt tên kết xuất từ mơ hình
PhoNLP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

2.7

Nguyên lý kỹ thuật cảm ứng đặc trưng. . . . . . . . . . . . . . .

32

2.8

Cơ chế chú ý. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36


3.1

Cây đối tượng của lược đồ đồ thị tri thức thử nghiệm.

. . . . .

42

3.2

Tìm kiếm danh sách các điểm tham quan trên dữ liệu đồ thị. . .

45

3.3

Tìm thuộc tính địa chỉ của nút khách sạn "Hàm Lng". . . . .

47

3.4

Nút "Bến Tre" có các thuộc tính bổ sung . . . . . . . . . . . . .

49

4.1

File mô tả đối tượng Person của lược đồ để import vào cây lược
đồ của đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . .


52

4.2

Một phần cây lược đồ sau khi đã hoàn thành . . . . . . . . . . .

53

4.3

Minh họa một hàng trong file dữ liệu thu thập gồm Tên đối tượng
- thuộc tính - giá trị . . . . . . . . . . . . . . . . . . . . . . . .
xii

54


4.4

Minh họa bộ câu hỏi được xây dựng để huấn luyện hệ thống . .

55

4.5

Lệnh nạp VnCorNLP kích hoạt dịch vụ tách từ . . . . . . . . .

56


4.6

Minh họa tách từ và nhận dạng thực thể . . . . . . . . . . . . .

58

4.7

Các điểm tham quan, du lịch,khách sạn... trên đồ thị hội tụ về
tỉnh, thành phố. . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

4.8

Minh họa về trả lời câu hỏi dạng danh sách. . . . . . . . . . . .

63

4.9

Câu hỏi dạng danh sách khơng có trong bộ câu hỏi huấn luyện.

65

4.10 Tách từ và nhận dạng thực thể sai

. . . . . . . . . . . . . . . .

67


4.11 Câu hỏi mẫu huấn luyện Dialogflow và các thực thể được người
dùng xác định. . . . . . . . . . . . . . . . . . . . . . . . . . . .

xiii

70


DANH MỤC KÝ HIỆU

Neural network

: Mạng neural

G

: Đồ thị G

V

: Tập đỉnh V của đồ thị

E

: Tập cạnh E của đồ thị

Path

: Đường đi trong đồ thị


Circuit

: Chu trình trong đồ thị

Depth First Search

: Tìm theo chiều sâu

Beardth First Search : Tìm theo chiều rộng
Triple

: Bộ ba dữ liệu liên hệ

Intent

: Ý định, mục đích (xây dựng Chatbot)

xiv


DANH MỤC VIẾT TẮT

BERT

: Bidirectional Encoder Representations from Transformers

CNTT : Công nghệ thông tin
KB


: Knowledge Base

KBR

: Knowledge Base Reasoning

KG

: Knowledge Graph

LD

: Levenshtein

MR

: Meaning Representations

NER

: Named entity recognition

NLP

: Natural Language Processing

POST

Part-of-speech tagging


QA

: Question Answering

xv


MỞ ĐẦU

Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) là một lĩnh
vực nghiên cứu rất rộng, là đối tượng nghiên cứu của ngành khoa học máy tính.
NLP đóng vai trị quan trọng trong giao tiếp giữa người và máy tính, giúp máy
tính giao tiếp được với con người một cách tự động, “hiểu” được con người. Các
ứng dụng của NLP có thể là:
- Nhận dạng chữ viết (chữ in hoặc chữ viết tay) sau đó chuyển đổi thành văn
bản điện tử.
- Nhận dạng tiếng nói: sử dụng để chuyển lời nói thành văn bản điện tử, giúp
thao tác của con người trên máy tính nhanh hơn, đơn giản hơn;
- Tổng hợp tiếng nói: từ một văn bản điện tử máy tính tổng hợp thành tiếng
nói, tự động đọc tài liệu cho con người;
- Dịch tự động (Machine translate): là việc dịch từ ngôn ngữ này sang ngôn
ngữ khác một cách tự động;
- Trả lời câu hỏi (Question Aswering - QA): con người đặt câu hỏi, máy tính
sẽ tự tìm ra các nội dung phù hợp và trả lời, người ta thường gọi một hệ thống
như vậy là một ứng dụng chatbot hay một hệ thống trò chuyện.
Các loại vấn đề mà một hệ thống trò chuyện phải giải quyết có thể là:
- Trả lời câu hỏi: ứng dụng máy tính đóng vai trị thay thế con người để trò
chuyện gọi là Agent (tác nhân/người đại diện). Agent cần cung cấp câu trả lời
ngắn gọn, trực tiếp cho các truy vấn của người dùng dựa trên kiến thức được
1



rút ra từ các nguồn dữ liệu khác nhau như tài liệu từ Web, hoặc dữ liệu được
chuẩn bị trước như bộ dữ liệu bán hàng, tiếp thị ...
- Hoàn thành nhiệm vụ: Agent cần hoàn thành các nhiệm vụ của người dùng
như gọi xe, đặt chỗ nhà hàng, lập lịch họp ...
- Trò chuyện xã hội (Social chat): Agent sẽ phải trò chuyện liền mạch như
một con người thật sự (được đo bằng bài kiểm tra Turing) và cung cấp các đề
nghị phù hợp.
Đối với các ứng dụng chatbot với mục tiêu đơn giản như bán một món hàng,
mua một vé máy bay. . . bài toán sẽ dễ giải quyết hơn do mục tiêu đã được định
trước, các nội dung mà máy tính phải trả lời cũng theo một kịch bản rõ ràng.
Những năm gần đâ có các nghiên cứu bài toán trả lời câu hỏi (QA) dựa vào
đồ thị tri thức (KG). KG là mơ hình hóa tri thức với hệ thống dữ liệu được xây
dựng dựa trên mơ hình đồ thị. Đặc trưng đặc biệt của mơ hình đồ thị giống với
logic tri thức của con người trên thực tế, nên nó có thể sử dụng để biểu diễn
dữ liệu liên quan đến tri thức của con người. Việc trả lời câu hỏi dựa trên đồ
thị tri thức dẫn đến nội dung trả lời rất đa dạng, không chỉ tập trung vào một
mục tiêu (bán hàng, đặt phòng, mua vé,. . . ) mà kết quả trả lời là một kiến thức
thuộc miền dữ liệu mở mà đồ thị tri thức biểu diễn. Đối với việc tạo một chatbot
đơn giản (như chatbot bán hàng) phải giải quyết bài tốn “hiểu” câu hỏi của
người dùng để có thể đưa ra kết quả trả lời phù hợp nhờ vào sự phát triển của
công nghệ xử lý ngôn ngữ tự nhiên (Natural Language Process - NLU). Mô-đun
NLU nhận lời nói/văn bản từ người dùng làm đầu vào và thực hiện ba tác vụ:
phát hiện miền dữ liệu (domain detection), xác định ý định người dùng (intent
determination) và gắn thẻ vị trí (slot tagging). Đồng thời với việc gắn thẻ vị trí
là trích xuất thơng tin các thực thể trong câu hỏi của người dùng.
Đối với bài toán KB-QA đã có các nghiên cứu tập trung vào phương pháp
lập luận trên KG để giảm chi phí cho bài tốn phân tích “hiểu” được ngữ nghĩa
câu hỏi bằng ngơn ngữ tự nhiên.

2


Các câu hỏi làm điểm vào cho bài toán QA-KB có thể tạm phân làm hai loại:
câu hỏi đơn giản và câu hỏi dạng phức tạp. Câu hỏi dạng đơn giản thường có
câu trả lời biểu diễn dưới dạng tổng quát gồm bộ ba (Triples): chủ ngữ - vị từ
- tân ngữ/đối tượng (subject-predicate-object) hay đối tượng – quan hệ - đối
tượng (object – relation – object).
Ví dụ để trả lời câu hỏi Đặc sản của Bến Tre là gì ?, chúng ta chỉ cần một
bộ ba cho câu trả lời: Kẹo dừa Thanh Long – đặc sản của – Bến Tre.
Trong khi đó, các câu hỏi phức tạp địi hỏi suy luận khá phức tạp. Ví dụ: để
trả lời câu hỏi Kẹo dừa là đặc sản của miền nào ? cần hai bộ ba để có câu trả
lời:
Kẹo dừa – đặc sản của – Bến Tre; Bến Tre – là tỉnh thuộc – miền Nam
Vậy Kẹo dừa là đặc sản của miền Nam
Các câu hỏi dạng đơn giản chỉ cần một lần truy xuất để trích xuất một bộ
ba đốii tượng – quan hệ - đối tượng là có được câu trả lời. Các câu trả lời cho
câu hỏi dạng phức tạp có thể nhận được bằng cách tìm một tập hợp các đường
dẫn hoặc một đồ thị con trong KB có liên quan đến dữ kiện trong câu hỏi và
thuật tốn tìm kiếm phải phân tích các nút trong đường dẫn hoặc đồ thị con
này để suy diễn trên đố thị để tìm ra câu trả lời.
Bên cạnh đó, đối với câu hỏi dạng phức tạp thì bài tốn KB-QA mà mục tiêu
tìm kiếm là tìm câu trả lời trong kho dữ liệu đủ lớn hoặc trong một miền dữ
liệu thì vấn đề này vẫn có nhiều thách thức và đang được tiếp tục nghiên cứu
và hoàn thiện.
Bài tốn KB-QA thường bao gồm trình phân tích ngữ nghĩa và phương pháp
lập luận trên KB (Knowledge Base Reasoning- KBR) [1], trong đó, tập trung
vào phương pháp lập luận trên KG để làm giảm chi phí cho bài tốn phân tích
để “hiểu” được ngữ nghĩa câu hỏi bằng ngơn ngữ tự nhiên.
Nghiên cứu của chúng tôi liên quan đến xử lý bài toán KB-QA (một số câu

hỏi dạng đơn giản, phức tạp thường dùng liên quan đến lĩnh vực du lịch) bằng
3


ngơn ngữ tiếng Việt theo hướng chỉ tách từ, trích xuất thông tin các thực thể
trong câu hỏi của người dùng, sau đó dựa vào các từ đặc trưng trong câu hỏi và
lập luận trên KG để tìm ra kết quả trả lời.

4


Chương

1
TỔNG QUAN

1.1

Giới thiệu luận văn

Một hệ thống trả lời câu hỏi (QA) đặc biệt là hệ thống trả lời câu hỏi dựa
trên cơ sở tri thức (KB-QA) phải giải quyết hai bài tốn: chuyển đổi câu hỏi
bằng ngơn ngữ tự nhiên thành biểu diễn ý nghĩa của chúng (Meaning Representations – MR) bằng một trình phân tích ngữ nghĩa độc lập: Cai et al 2013 [2],
Kwiatkowski et al 2013 [3], Berant et al 2013 [4]. . . ; sau đó dựa vào MR để tạo
câu truy vấn tìm câu trả lời từ trong cơ sở dữ liệu quan hệ hoặc cơ sở dữ liệu
KB. Một số nghiên cứu trước đây giải quyết nhiệm vụ QA hoặc KB-QA theo
cách này. Cách tiếp cận này gọi là phương pháp xếp tầng (cascaded).
Cách tiếp cận xếp tầng tách rời việc phân tích ngữ nghĩa với KB đối mặt với
một số thách thức: ví dụ như trong câu hỏi sử dụng các vị từ (predicate) khác
với vị từ (hay quan hệ) trong cơ sở dữ liệu KB sẽ gặp nhiều vấn đề khi đối sánh

các vị từ trong câu hỏi với các vị từ/quan hệ trong cơ sở dữ liệu KB để tìm câu
trả lời. Ngay cả khi câu hỏi sử dụng các vị từ phù hợp với KB thì việc tìm kiếm
chính xác các vị từ trong một KB với số từ vựng lớn phù hợp các quan hệ mô
tả trong câu hỏi vẫn là một vấn đề khó khăn [3].
Để giảm chi phí cho nhiệm vụ MR và nhiệm vụ truy xuất KB tìm câu trả lời,
đã có các nghiên cứu theo hướng tích hợp phân tích ngữ nghĩa vào nhiệm vụ
5


truy xuất KB trả lời câu hỏi. Bao và cộng sự [5] đề xuất một phương pháp trả
lời câu hỏi dựa trên KB dưới dạng dịch máy (machine translation) bằng cách
xem nhiệm vụ QA như một thủ tục dịch thuật. Cách tiếp cận này xử lý các câu
hỏi dạng phức tạp hoặc câu hỏi nhiều ràng buộc như đã đề cập ở phần mở đầu.
Câu hỏi đầu tiên được phân tích thành các câu hỏi con dựa trên 04 mẫu cú pháp
được xây dựng sẳn; truy vấn KB để lần lượt tìm nội dung trả lời, kết quả câu
hỏi con trước là đầu vào của câu hỏi con sau, nếu câu hỏi con có nhiều kết quả
thì đưa vào hàng đợi để tìm kiếm nhiều hướng trong KB cho đến khi tìm được
kết quả phù hợp. Tác giả cũng áp dụng một mơ hình tuyến tính (linear model)
được đào tạo (training) để ưu tiên tìm kiếm theo hướng có khả năng cho kết quả
tốt trong cây tìm kiếm để tối ưu hóa chi phí và tăng khả năng tìm được câu trả
lời phù hợp [5]. Phương pháp này khơng địi hỏi phân tích ngữ nghĩa rõ ràng cho
câu hỏi đầu vào, mà trong quá trình tìm kiếm dần tìm đến kết quả phù hợp với
ý nghĩa câu hỏi. Trên cơ bản đây là phương pháp tìm kiếm nhiều giai đoạn, mỗi
giai đoạn giải quyết một câu hỏi đơn giản (dạng bộ ba) dựa vào KB, giúp tiết
kiệm chi phí phân tích ngữ nghĩa câu hỏi, hạn chế khơng gian tìm kiếm trong
KB (giảm từ vụng tìm kiếm) và do đó giảm chi phí tổng thể của nhiệm vụ trả
lời câu hỏi.
Lấy cảm hứng từ phương pháp này, Yih và cộng sự [6] đề xuất một phương
pháp tương tự về cách tiếp cận, giúp tận dụng dữ liệu trong KB để giảm chi phí
phân tích ngữ nghĩa. Đầu tiên trích xuất các thực thể trong câu hỏi (giới hạn lại

còn 2 thực thể), xác định thực thể làm gốc (thực thể chủ đề), tìm trong KB một
đồ thị con gồm các đường đi (path) nối đến các thực thể này; mở rộng đường đi
này (tối đa thêm hai nút theo chiều sâu). Trong các nút mở rộng đó có tồn tại
câu trả lời (thường câu hỏi có câu trả lời nằm ở nút xung quanh các đường đi
này). Đường đi từ thực thể chủ đề đến thực thể liên quan trong câu hỏi và đến
nút chứa kết quả trả lời gọi là chuỗi suy luận cốt lõi. Có thể có nhiều chuỗi suy
luận như vậy. Để đánh giá chuỗi suy luận nào là gần với câu trả lời nhất, tác giả
6


×