ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thị Hợp
HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ
ỨNG DỤNG VÀO CHATBOT
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Hệ thống thông tin
HÀ NỘI – 2020
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thị Hợp
HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ
ỨNG DỤNG VÀO CHATBOT
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Hệ thống thông tin
Cán bộ hướng dẫn: PGS-TS Hà Quang Thụy
Cán bộ đồng hướng dẫn: ThS.NCS. Lê Hoàng Quỳnh
HÀ NỘI - 2020
i
TÓM TẮT
Tóm tắt: Trong những năm gần đây, với tính tiện dụng, sự thông minh và độ sẵn có, hệ thống
chatbot hầu như có mặt ở mọi lĩnh vực, thực hiện việc tư vấn, giải đáp thắc mắc cũng như trò
chuyện giải trí với con người. Hạn chế lớn nhất của chatbot hiện nay là “độ thông minh” còn
thấp trong một “thế giới đóng” (closed world) của một cơ sở tri thức được cố định ngay từ khi
khởi tạo cho nên phạm vi trả lời của nó rất hạn chế. Tiếp cận “thế giới mở” (open world), mở
rộng cơ sở tri thức của chatbot trong khi hoạt động hay “học khi làm việc” (on-the-job
learning) nhờ tương tác giữa chatbot và người dùng, thu hút sự quan tâm đặc biệt của nhiều
nhóm nghiên cứu, trong đó có nhóm nghiên cứu của Bing Liu và cộng sự tại Đại học Iilinois
tại Chicago (University of Illinois at Chicago) từ năm 2018 tới nay. Cách thức chatbot đưa ra
được các câu tương tác để nhận được tri thức mới của người dùng, hỗ trợ trực tiếp câu trả lời
với người dùng đó và bổ sung tri thức mới vào cơ sở tri thức là một thành phần cốt lõi của học
khi làm việc.
Thông qua việc khảo sát công phu hai mô hình học khi làm việc của chatbot LILI và CILK do
S. Mazumder và cộng sự đề xuất, khóa luận phát biểu một bài toán học khi làm việc qua
tương tác của chatbot và đề xuất một mô hình giải quyết bài toán khóa luận, tập trung vào
thành phần đưa ra câu tương tác để nhận được tri thức mới (các dữ kiện hỗ trợ: support facts)
từ người dùng. Cài đặt phần mềm do nhóm tác giả cung cấp, tiến hành thực nghiệm trên hai
kho ngữ liệu Wordnet (18 quan hệ với trên 300 bộ ba dữ kiện cho một quan hệ) và một phần
ngữ liệu Freebase (60 quan hệ với số lượng ít các dữ kiện cho một quan hệ), khóa luận đã thu
được các kết quả phù hợp với Wordnet.
Từ khóa: chatbots, lifelong meachine learning, học suốt đời, học thông qua tương tác
ii
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của tôi và không sao chép của bất kỳ ai.
Những nội dung được trình bày trong khóa luận này do tôi tìm hiểu, nghiên cứu và
trình bày lại theo cách hiểu dưới sự hướng dẫn của PGS.TS. Hà Quang Thụy và ThS.
Lê Hoàng Quỳnh. Tất cả những kiến thức tham khảo từ các nghiên cứu liên quan đều
được nêu nguồn gốc một cách rõ ràng ở danh mục tài liệu tham khảo trong khóa luận.
Hà Nội, ngày … tháng … năm 2020
SINH VIÊN
Nguyễn Thị Hợp
iii
LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời biết ơn sâu sắc đến thầy giáo PGS-TS Hà Quang Thụy và
cô ThS. Lê Hoàng Quỳnh đã tận tình chỉ bảo, hướng dẫn, giúp đỡ tôi trong suốt quá
trình tôi thực hiện khóa luận.
Tôi xin gửi lời cảm ơn chân thành đến các thầy, cô trong khoa Công nghệ thông tin,
trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã truyền đạt cho tôi những kiến
thức bổ ích để tôi có đủ hành trang, kiến thức phục vụ công việc sau này. Tôi xin cảm
ơn tập thể sinh viên K61T - Trường Đại học Công Nghệ đã ủng hộ và khuyến khích tôi
trong quá trình nghiên cứu và thực hiện khóa luận này. Tôi cũng xin gửi lời cảm ơn tới
các thầy cô, anh chị và các bạn trong phòng thí nghiệm Công nghệ tri thức và khoa học
dữ liệu KT-Lab đã cùng trao đổi, thảo luận để tôi có thể hoàn thành đề tài này một
cách tốt nhất. Tôi chân thành cám ơn tác giả Sahisnu Mazumder (University of Illinois
at Chicago) đã cung cấp tài nguyên hỗ trợ để tôi hoàn thành bản khóa luận này.
Cuối cùng, tôi muốn gửi lời cảm ơn tới gia đình và bạn bè, những người thân luôn bên
cạnh, tin tưởng và động viên tôi trong suốt quá trình thực hiện đề tài này.
Hà Nội, ngày … tháng … năm 2020
SINH VIÊN
Nguyễn Thị Hợp
iv
MỤC LỤC
TÓM TẮT ...............................................................................................................i
LỜI CAM ĐOAN ................................................................................................. ii
LỜI CẢM ƠN ...................................................................................................... iii
MỤC LỤC ............................................................................................................iv
DANH MỤC HÌNH VẼ ..................................................................................... vii
DANH MỤC CÁC BẢNG ................................................................................ viii
DANH MỤC TỪ VIẾT TẮT ..............................................................................ix
MỞ ĐẦU ................................................................................................................ 1
CHƯƠNG 1. GIỚI THIỆU HỌC SUỐT ĐỜI TRONG CHATBOT .............. 3
1.1. Học suốt đời ................................................................................................ 3
1.1.1. Định nghĩa............................................................................................. 3
1.1.2 So sánh mô hình học suốt đời với mô hình học máy hiện tại ................ 5
1.1.3 Quy trình của học máy suốt đời ............................................................. 7
1.2 Học suốt đời ứng dụng trong chatbot ....................................................... 7
1.2.1 Các vấn đề của chatbot hiện nay............................................................ 7
1.2.2 Học máy suốt đời thông qua tương tác ứng dụng trong chatbot ......... 10
1.3. Bài toán và phạm vi khóa luận ............................................................... 11
1.3.1. Bài toán khóa luận .............................................................................. 11
1.3.2 Phạm vi khóa luận ............................................................................... 11
Kết luận Chương 1 .......................................................................................... 12
CHƯƠNG 2. MỘT SỐ KỸ THUẬT HỌC SÂU SUỐT ĐỜI THÔNG QUA
TƯƠNG TÁC TRONG CHATBOT .......................................................................... 13
2.1. Học trong khi làm việc ............................................................................ 14
2.1.1. Các bước chính của “học khi làm việc” ............................................. 14
2.1.2. Học khi làm việc trong các cuộc trò chuyện ...................................... 14
2.2. Học tri thức trong thế giới mở ................................................................ 15
v
2.2.1. Cách tiếp cận học tri thức trong khi tương tác với người dùng .......... 15
2.2.2. Xử lý thông tin trong học thế giới mở thông qua tương tác ............... 16
2.3. Giới thiệu Học suốt đời thông qua tương tác và suy luận.................... 17
2.3.1. Hướng tiếp cận bài toán của LiLi ....................................................... 17
2.3.2. Mô tả hệ thống của LiLi ..................................................................... 18
2.3.3. Cách thức hoạt động của LiLi ............................................................ 22
2.3.4. Ưu và nhược điểm của phương pháp LiLi .......................................... 23
2.4. Giới thiệu học liên tục thông qua tương tác và suy luận...................... 24
2.4.1. Hướng tiếp cận của phương pháp CILK ............................................. 24
2.4.2 Thành phần trong hệ thống .................................................................. 26
2.4.3. Ưu và nhược điểm của phương pháp .................................................. 27
2.4.4. So sánh kỹ thuật CILK với LiLi ......................................................... 27
2.5. Kỹ thuật được áp dụng trong khóa luận ............................................... 28
Kết luận Chương 2 .......................................................................................... 28
CHƯƠNG 3. ĐỀ XUẤT MÔ HÌNH .................................................................. 29
3.1 Mô hình học suốt đời thông qua tương tác trong chatbot .................... 29
3.2. Cơ sở tri thức ............................................................................................ 29
3.3. Xử lý truy vấn của người dùng ............................................................... 29
3.4. Mô hình suy luận ..................................................................................... 30
3.4.1. Phương pháp học nhúng cơ sở tri thức thần kinh ............................... 31
3.4.2 Từ chối trong suy luận KB. ................................................................. 34
3.5. Tương tác với người dùng ....................................................................... 35
3.5.1 Xếp hạng đối ứng trung bình ............................................................... 37
3.3. Quy trình hoạt động của mô hình .......................................................... 38
Kết luận Chương 3 .......................................................................................... 40
CHƯƠNG 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ ............................................. 41
4.1. Môi trường thực nghiệm ......................................................................... 41
4.1.1. Phần cứng ........................................................................................... 41
vi
4.1.2. Phần mềm ........................................................................................... 41
4.2 Dữ liệu thực nghiệm ................................................................................. 43
4.2.1 Mô tả kịch bản thực nghiệm ................................................................ 43
4.2.2 Mô tả dữ liệu bài toán .......................................................................... 43
4.3 Cấu hình hệ thống ..................................................................................... 47
4.4 Kết quả thực nghiệm và thảo luận .......................................................... 49
KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO ................................ 53
TÀI LIỆU THAM KHẢO .................................................................................. 54
vii
DANH MỤC HÌNH VẼ
Hình 1.1 Mô hình học máy truyền thống ........................................................................ 5
Hình 1.2 Mô hình học suốt đời ........................................................................................ 6
Hình 1.3 Mô hình xây dựng chatbot phổ biến ................................................................. 8
Hình 2.1 Kiến trúc của học suốt đời kết hợp "học khi làm việc"Error! Bookmark not
defined.
Hình 3.1 Mô hình học suốt đời thông qua tương tác trong chatbot .............................. 29
Hình 3.2 Ma trận thực thể E và quan hệ R .................................................................... 33
viii
DANH MỤC CÁC BẢNG
Bảng 2.1 Các bit trạng thái và ý nghĩa của chúng ....................................................... 21
Bảng 2.2 Hành động và mô tả của chúng .................................................................... 22
Bảng 3.1 Kết quả của mô hình chuyển đổi ................................................................. 38
Bảng 4.1 Cấu hình hệ thống thi hành thực nghiệm ..................................................... 41
Bảng 4.2 Danh sách các phần mềm tiến hành trong thực nghiệm .............................. 43
Bảng 4.3 Mô tả dữ liệu ................................................................................................ 46
Bảng 4.4 Mô tả cấu hình tham số của mô hình ........................................................... 48
Bảng 4.5 MRR của mô hình ........................................................................................ 50
Bảng 4.6 Giải thích kí hiệu đánh giá MRR ................................................................ 50
Bảng 4.7 Đánh giá thực thể trả lời .............................................................................. 51
Bảng 4.8 Giải thích kí hiệu đánh giá thực thể trả lời .................................................. 51
ix
DANH MỤC TỪ VIẾT TẮT
STT Từ viết tắt Tiếng Anh Tiếng Việt
1 KB Knowledge Base Cơ sở tri thức
2 KBC Knowledge Base
Completion
Hoàn thành cơ sở tri
thức
3 LL Lifelong Machine Learning Học suốt đời
4 OKBC Open Knowledge Base
Complete
Hoàn thành tri thức trong
thế giới mở
5 LiLi Lifelong interactive
learning and inference
Học suốt đời thông qua
tương tác và suy luận
6 AI Artificial Intelligence Trí tuệ nhân tạo
7 ML Machine Learning Học máy
8 CILK Continuous and Interactive
Learning of Knowledge
Học tri thức suốt đời
thông qua tương tác và
suy luận
9 KBE Knowledge base
embedding
Học nhúng cơ sở tri thức
1
MỞ ĐẦU
Các hệ thống chatbots (các loại tác tử đối thoại, chẳng hạn như hệ thống hội
thoại và hệ thống trả lời câu hỏi, trợ lý ảo, ...trước đây chủ yếu được xây dựng bằng
các ngôn ngữ đánh dấu trí tuệ nhân tạo (Artificial Intelligence Markup Language:
AIML); các luật kịch bản tạo cuộc hội thoại thường được xây dựng thủ công hoặc
bằng các kỹ thuật truy xuất thông tin,... điều này có phần hạn chế là chúng sẽ tạo ra
những phản hồi cứng nhắc giống nhau gây ra sự nhàm chán cho người sử dụng. Vào
năm 2017, tác giả Ghazvininejad và cộng sự [1] đã đề xuất sử dụng cơ sở tri thức
(Knowledge Base: KB) là nơi chứa tri thức của chatbot để giúp chatbot có thể suy luận
ra các câu trả lời dựa trên tri thức để giải quyết vấn đề này; tuy nhiên, điều hạn chế là
cơ sở tri thức này là cố định và không thể mở rộng trong quá trình trò chuyện. Vì vậy,
nó cũng không thể đáp ứng một cách thông minh các câu hỏi của người sử dụng vì
người sử dụng có thể nói bất kỳ điều gì. Đặc biệt, khi chatbot trò chuyện tương tác với
con người thì con người có thể đưa ra rất nhiều dữ kiện (tri thức) nhưng chatbot lại
không thể sử dụng chúng dẫn tới việc bỏ lỡ lượng tri thức lớn. Cách làm việc như vậy
là không giống với cách học của con người là học, tiếp thu kiến thức thông qua việc
tương tác với môi trường xung quanh. Qua đó, con người ngày càng trở nên thông
minh hơn cũng như là dễ học các tri thức mới hơn khi có lượng kiến thức ngày càng
lớn.
Học máy suốt đời được sinh ra nhằm bắt chước cách học của con người trong
môi trường xung quanh là một mô hình đóng vai trò quan trọng cho tương lai của học
máy và trí tuệ nhân tạo. Vì mọi thứ xung quanh chúng ta đều có liên hệ với nhau nên
việc hiểu biết về một số chủ đề (miền tri thức) có thể giúp chúng ta học các chủ đề
khác.
Khóa luận này tập trung nghiên cứu về cách thức xây dựng hệ thống học tri thức
suốt đời thông qua quá trình tương tác cho các chatbots. Cách thức như vậy sẽ giúp
chatbot có thể tương tác với người dùng (hỏi những tri thức nó chưa biết trong câu nói
của người dùng) để nhận thêm các tri thức mới do người dùng cung cấp khi họ trả lời
những câu hỏi của chatbot, cập nhật thêm vào cơ sở tri thức giúp làm giàu cơ sở tri
thức của chatbot có nghĩa là đạt được mục tiêu là học được tri thức mới trong quá
trình chatbot tương tác (“học trong khi làm việc”: “learning-on-the-job” [3]).
2
Khóa luận được tổ chức thành 4 chương như sau:
Chương 1. Giới thiệu học máy suốt đời trong chatbot. Chương này giới thiệu khái
quát về học suốt đời, cách thức học suốt đời thông qua tương tác trong chatbot và nêu
bài toán, phạm vi của khóa luận.
Chương 2. Một số kỹ thuật trong học suốt đời thông qua tương tác ứng dụng
trong chatbot. Đề cập chi tiết đến các kỹ thuật, cách tiếp cận có thể áp dụng học suốt
đời trong chatbot. Hai kỹ thuật được đề cập tới là LILI và CILK giúp chatbot trả lời
câu hỏi “có/không” hoặc “câu hỏi WH” thông qua việc cập nhật thêm các tri thức hỗ
trợ do người dùng cung cấp. Từ đó đề cập tới kỹ thuật được sử dụng trong khóa luận.
Chương 3. Đề xuất mô hình mô hình giải quyết bài toán khóa luận. Trình bày ý
tưởng cho mô hình bài toán học suốt đời trong chatbot thông qua việc tương tác với
người. Cũng như mô tả chi tiết kỹ thuật áp dụng cho từng thành phần của mô hình.
dùng để làm giàu tri thức, giới thiệu chi tiết từng thành phần trong mô hình. Sau đó
trình bày quá trình thực hiện mô hình.
Chương 4. Thực nghiệm và đánh giá kết quả. Ở chương này khóa luận sẽ trình bày
thực nghiệm mô hình học suốt đời trong chatbot với bộ dữ liệu WordNet và Freebase.
Đồng thời đưa ra đánh giá kết quả đạt được của mô hình.
Phần kết luận và hướng nghiên cứu tiếp theo: Tóm lược kết quả đạt được của khóa
luận và định hướng phát triển trong tương lai.
3
CHƯƠNG 1. GIỚI THIỆU HỌC SUỐT ĐỜI TRONG CHATBOT
1.1. Học suốt đời
Học máy (Machine Learning: ML) là công cụ cho sự tiến bộ của phân tích, khai
phá dữ liệu và trí tuệ nhân tạo (AI). Các thuật toán ML đã được áp dụng trong hầu hết
các lĩnh vực khoa học máy tính, khoa học tự nhiên, kỹ thuật, khoa học xã hội, ... Tuy
nhiên, mô hình học máy ML hiện tại vẫn tồn tại những điểm hạn chếyếu. Học máy
suốt đời [2] (Lifelong Machine Learning: LL) nổi lên như một hướng mới và đầy hứa
hẹn để vượt qua những hạn chế của ML với mục tiêu là xây dựng những mô hình học
máy như con người.
Học máy suốt đời là một mô hình học liên tục, giữ lại tri thức đã học trong quá
khứ, và sử dụng tri thức tích lũy để giúp học hỏi và giải quyết vấn đề trong tương lai.
Học suốt đời có thể được áp dụng cho cả phương pháp học giám sát và không giám sát.
1.1.1. Định nghĩa
Định nghĩa học máy suốt đời cơ bản như sau [2]:
Tại thời điểm t bất kỳ nào đó, hệ thống đã thực hiện được N nhiệm vụ trước đó. Khi
thực hiện nhiệm vụ thứ (N+1), nó sử dụng tri thức thu được từ N nhiệm vụ quá khứ để
giúp học nhiệm vụ thứ (N+1).
Đây là định nghĩa ban đầu nên chưa thực sự đầy đủ có thể mở rộng định nghĩa này
bằng cách bổ sung thêm các chi tiết và đặc trưng như sau:
Một cơ sở tri thức rõ ràng (Knowledge Base: KB) được sử dụng để lưu trữ tri
thức đã học được từ các nhiệm vụ trước đó.
Khả năng phát hiện các nhiệm vụ học mới trong quá trình ứng dụng mô hình.
Khả năng học tri thức trong khi đang thực hiện nhiệm vụ.
Một định nghĩa đầy đủ hơn của học máy suốt đời:
Định nghĩa 1.1. Học máy suốt đời [2] (Lifelong Machine Learning: LL) là một quá
trình học liên tục. Tại bất kỳ thời điểm nào, bộ học đã thực hiện một chuỗi nhiệm vụ
�1, �2,..., �N; N nhiệm vụ này được gọi là N nhiệm vụ trong quá khứ, có các bộ dữ
liệu tương ứng �1, �2 ,..., �N. Các nhiệm vụ có thể khác nhau và đến từ nhiều miền
(chủ đề) khác nhau. Khi đối mặt với nhiệm vụ thứ N+1 mới �N+1 với dữ liệu �DN+1,
4
bộ học có thể tận dụng tri thức học được trong quá khứ tại cơ sở tri thức (KB) để giúp
học �N+1. Nhiệm vụ của LL là tối ưu hóa hiệu suất của nhiệm vụ �N+1 mới, nhưng
cũng có thể tối ưu hóa bất kỳ nhiệm vụ nào trong quá khứ. Lý tưởng nhất một bộ học
của học máy suốt đời có thể:
Học và hoạt động trong môi trường thế giới mở, nơi nó không chỉ áp dụng các
mô hình học trong quá khứ để giải quyết nhiệm vụ hiện tại mà còn phát hiện
ra các nhiệm vụ mới để học.
Học để cải thiện hiệu suất mô hình trong ứng dụng hoặc kiểm tra mô hình đã
học.
Ta có thêm một số nhận xét bổ sung như sau:
Định nghĩa chỉ ra năm đặc điểm chính của học máy suốt đời:
o Học máy suốt đời là quá trình học liên tục.
o Tích lũy tri thức liên tục trong cơ sở tri thức.
o Khả năng sử dụng tri thức đã tích lũy để giúp học tri thức mới trong
tương lai.
o Khả năng phát hiện các nhiệm vụ, tri thức mới.
o Khả năng học trong khi làm việc.
Có thể chia thành hai loại nhiệm vụ:
o Nhiệm vụ độc lập: Nhiệm vụ �i là độc lập với các nhiệm vụ khác, thì
�i có thể được học độc lập, mặc dù vẫn có sự tương đồng và chia sẻ tri
thức với những nhiệm vụ khác.
o Nhiệm vụ học phụ thuộc: Nhiệm vụ �i có một số phụ thuộc vào nhiệm
vụ khác. Tức học tri thức � mới có thể học được tri thức �i.
o Các nhiệm vụ không nhất thiết phải tới từ một miền chúng có thể thuộc
nhiều miền (chủ đề tri thức) khác nhau.
LL có thể yêu cầu một phương pháp tiếp cận hệ thống kết hợp nhiều thuật
toán và các lược đồ biểu diễn tri thức khác nhau.
Nếu không có những khả năng này thì một hệ thống học máy suốt đời LL sẽ không thể
tự học hỏi tri thức trong một môi trường thế giới mở để trở nên thông minh hơn. Môi
trường thế giới mở là môi trường thực thi nhiệm vụ có thể chứa các đối tượng, kịch
bản mà mô hình chưa được đào tạo trước đây.
5
1.1.2 So sánh mô hình học suốt đời với mô hình học máy hiện tại
Mô hình học máy hiện tại
Hình 1.1 Mô hình học máy truyền thống
Các mô hình học máy hiện tại chạy một thuật toán học máy (Machine learning:
ML) trên một tập dữ liệu cụ thể để tạo ra một mô hình. Sau đó, mô hình được áp dụng
trong các bài toán thực tế. Chúng ta có thể gọi mô hình học máy này là học cô lập
(isolated learning) bởi vì nó không xem xét thêm bất kỳ thông tin liên quan nào khác
hoặc tri thức đã học được trước đó. Vấn đề của mô hình học cô lập là nó không giữ lại
tri thức đã học được trong quá khứ và sử dụng nó trong giải quyết vấn đề và học trong
tương lai.
Do không có khả năng tích lũy và sử dụng tri thức trong quá khứ nên để có một
mô hình hiệu quả thuật toán học máy thường cần một số lượng lớn các ví dụ để huấn
luyện đào tạo mô hình. Đối với học có giám sát, việc gán nhãn dữ liệu huấn luyện
thường được thực hiện thủ công, tốn rất nhiều công sức và thời gian thế nên gần như
không thể gán nhãn cho một số lượng rất lớn các ví dụ của tất cả các bài toán hoặc ứng
dụng có thể có cho một thuật toán học máy học. Hơn nữa mọi thứ xung quanh chúng ta
thay đổi liên tục, việc gắn nhãn sẽ cần phải được thực hiện liên tục, đó là một nhiệm vụ
thực sự khó khăn đối với con người. Ngay cả đối với học không giám sát, việc thu thập
một lượng lớn dữ liệu có thể không thực hiện được trong nhiều trường hợp.
Mô hình học máy suốt đời
Từ định nghĩa của học máy suốt đời có thể mô phỏng được kiến trúc của một mô hình
học suốt đời như sau (không phải mô hình học suốt đời nào cũng có tất cả các thành
phần này)
6
Hình 1.2 Mô hình học suốt đời
1. Cơ sở tri thức (Knowledge Base: KB): Kho lưu trữ những tri thức đã học được từ
những nhiệm vụ trong trước đó. Nó có thể chứa các thành phần con như:
a. Kho thông tin quá khứ (Past Information Store: PIS): Lưu trữ thông tin
là kết quả học tập từ các nhiệm vụ trong quá khứ, bao gồm các mô hình,
mẫu, các dạng kết quả khác. Thông tin hoặc tri thức cần được giữ lại phụ
thuộc vào bài toán học, thuật toán học và người dùng cần quyết định giữ
lại những gì để giúp học tri thức trong tương lai.
b. Bộ hai phá siêu tri thức (Meta-Knowledge Miner: MKM): Thực hiện siêu
khai thác kiến thức trong PIS và trong kho lưu trữ siêu kiến thức. Thuật
toán khai phá khác nhau có thể tạo ra các loại kết quả khác nhau.
c. Kho siêu tri thức (Meta-Knowledge Store: MKS): Lưu trữ tri thức được
khai thác hoặc hợp nhất từ PIS và MKS.
d. Bộ suy luận tri thức (Knowledge Reasoner: KR): Thực hiện suy luận dựa
trên tri thức trong MKB và PIS để tạo thêm tri thức mới. Hầu hết các hệ
thống hiện tại không có thành phần con này.
2. Bộ học dựa trên tri thức (Knowledge-Based Learner: KBL). Tận dụng tri thức đã
tồn tại trong KB để học tri thức mới. KBL được chia thành hai thành phần phụ:
a. Bộ khai phá tri thức bài toán (Task knowledge miner: TKM): sử dụng tri
thức hoặc thông tin thô trong KB để khai phá hoặc xác định tri thức phù
hợp với bài toán hiện tại.
7
b. Bộ học có thể tận dụng tri thức đã được khai phá trong học tri thức mới.
3. Bộ khai phá tri thức dựa trên bài toán (Task-based Knowledge Miner: TKM). Có
nhiệm vụ khai phá tri thức từ cơ sở tri thức KB cụ thể cho nhiệm vụ mới.
4. Mô hình: Mô hình được đào tạo dựa trên những tri thức hiện có, nó có thể là mô
hình dự đoán hoặc phân lớp, phân cụm,...
5. Ứng dụng: Đây là ứng dụng thực tế mô hình. Ứng dụng cũng có thể cung cấp
phản hồi cho bộ học dựa trên tri thức để cải thiện mô hình.
Bộ quản lý bài toán (Task Manager: TM). Có nhiệm vụ tiếp nhận và quản lý các nhiệm
vụ được đưa vào hệ thống, xử lý việc chuyển đổi bài toán, và đưa ra bài toán học mới
cho KBL.
1.1.3 Quy trình của học máy suốt đời
Quy trình học máy suốt đời điển hình bắt đầu bằng việc bộ quản lý bài toán gán
bài toán mới cho KBL (bài toán có thể được người dùng đưa vào hoặc được hệ thống
phát hiện tự động). Sau đó, KBL thực thi với tri thức quá khứ lưu trữ trong KB để tạo
ra một mô hình đầu ra cho người dùng và cũng gửi thông tin hoặc tri thức cần được giữ
lại để sử dụng trong tương lai cho KB.
Trong quá trình ứng dụng, hệ thống cũng có thể khai phá ra các bài toán mới và
học trong đang khi thực hiện nhiệm vụ. Một số tri thức thu được trong các ứng dụng
cũng có thể được giữ lại tùy theo nhu cầu của người dùng để giúp học tri thức mới
trong tương lai.
1.2 Học suốt đời ứng dụng trong chatbot
1.2.1 Các vấn đề của chatbot hiện nay
Trong phần này khóa luận sẽ tìm hiểu về tình hình cơ bản của các chatbot, cách
xây dựng chatbot được sử dụng phổ biến hiện nay và những vấn đề còn hạn chế của
chúng cũng như là hướng tiếp cận mới trong chatbot bằng cách học sâu suốt đời thông
qua tương tác.
8
Hình 1.3 Mô hình xây dựng chatbot phổ biến
Chatbot là gì?
Định nghĩa một cách đơn giản nhất, chatbot là một chương trình máy tính tương tác
với người dùng bằng ngôn ngữ tự nhiên dưới một giao diện đơn giản, âm thanh hoặc
dưới dạng tin nhắn.
Ứng dụng của chatbot
Chatbot hiện nay có mặt gần như trong hầu hết các lĩnh vực trong đời sống. Chúng có
thể là:
Trợ lý cá nhân
Tư vấn, giới thiệu sản phẩm
Chăm sóc khách hàng
Đặt chỗ, mua hàng
Thanh toán trực tuyến
Cung cấp tin tức
Tìm kiếm thông tin
Cơ chế tạo phản hồi của các chatbot hiện nay:
Heuristic dựa trên mô hình
Một phản hồi có thể được tạo bằng hai cách khác nhau: sử dụng logic điều kiện
if-else hoặc sử dụng các trình phân loại học máy. Cách đơn giản nhất là xác định một
9
tập hợp các quy tắc với các mẫu được xác định trước đóng vai trò là điều kiện cho các
quy tắc được đóng khung.
Ngôn ngữ đánh dấu trí tuệ nhân tạo (AIML) được sử dụng phổ biến nhất để viết các
mẫu và phản hồi trong quá trình phát triển chatbot.
Với đường ống xử lý ngôn ngữ tự nhiên và mẫu phong phú được xác định trước,
AIML có thể được sử dụng để xây dựng một chatbot thông minh. Các bot này phân
tích thông điệp người dùng, tìm các từ đồng nghĩa và khái niệm, gắn thẻ các phần của
lời nói và tìm ra quy tắc nào phù hợp với truy vấn của người dùng. Tuy nhiên, các bot
này không chạy các thuật toán học máy hoặc bất kỳ API nào khác trừ khi được lập
trình đặc biệt.
Phân loại ý định sử dụng học máy (Machine Learning: ML)
Mặc dù các heuristic dựa trên mẫu mang lại kết quả tốt, nhưng vấn đề là nó đòi
hỏi tất cả các mẫu phải được lập trình thủ công. Việc xây dựng các mẫu kịch bản là
một nhiệm vụ tẻ nhạt, đặc biệt nếu chatbot phải phân biệt hàng trăm ý định cho các
kịch bản khác nhau chúng sẽ tiêu tốn rất nhiều thời gian, công sức, nhân lực.
Phân loại ý định hoàn toàn dựa trên công nghệ máy học cho phép đào tạo bot.
Với một tập huấn gồm hàng ngàn ví dụ rất có thể phải đối mặt với chatbot, nó có thể
được đào tạo để nhận các mẫu dữ liệu và học hỏi từ nó.
Scikit-learn là một thư viện máy học phổ biến giúp thực hiện các thuật toán học máy.
Cơ sở tri thức (Knowledge Base: KB)
Các luật, kịch bản xây dựng chatbot lúc này được tạo thủ công mà không sử
dụng cơ sở tri thức (Knowledge Base: KB) nên thường phải chấp nhận những câu trả
lời chung chung và giống nhau dẫn tới nhàm chán, buồn tẻ cho người dùng. Cơ sở tri
thức KB có thể được sử dụng để giải quyết vấn đề này (tác giả Ghazvininejad và cộng
sự, 2017 [1]). KB lưu trữ tri thức của chatbot và chatbot có thể tìm kiếm câu trả lời dựa
trên kho tri thức đó dẫn tới những phản hồi thú vị hơn.
Thiếu sót lớn là các hệ thống sử dụng cơ sở tri thức KB hiện là KB được cố định
trong hệ thống khi chúng được đưa vào sử dụng. Thực tế, các KB ban đầu không thể
10
chứa hết các hiểu biết mà người dùng có thể hỏi, và đặc biệt nó không được đào tạo để
học những tri thức mới chưa xuất hiện trong cơ sở tri thức.
1.2.2 Học máy suốt đời thông qua tương tác ứng dụng trong chatbot
Như đã trình bày trong phần 1.2.1 cho thấy hiện nay hệ thống chatbot còn có hạn
chế là tri thức cố định, không được cập nhật trong khi đang trò chuyện với người sử
dụng.
Để đào tạo một chatbot có thể trò chuyện như một con người đòi hỏi phải có sự
giám sát sâu rộng và phải có một nguồn tri thức lớn. Cách tiếp cận phổ biến nhất là đào
tạo các mô hình để bắt chước con người thông qua nhiều cuộc hội thoại với nhiều
người sử dụng. Các cuộc hội thoại được giám sát đầy đủ này có xu hướng tốn kém để
thu thập đủ số lượng và có sự khác biệt đáng kể từ môi trường triển khai.
Vì vậy lý tưởng nhất là xây dựng các chatbot có thể học được tri thức trong khi
đang thực hiện nhiệm vụ đối thoại của mình (“học trong khi làm việc”), vì sau khi
được đưa vào sử dụng thì khi đó sẽ có nhiều người dùng với những cuộc đối thoại có
chủ đề phong phú, cụ thể về nhiệm vụ, năng động và tiết kiệm chi phí nâng cấp cơ sở
tri thức và mô hình hơn.
Việc học liên tục trong môi trường tương tác là một khả năng quan trọng của con
người. Con người chỉ có thể học được một phần tri thức bằng cách được bảo hoặc
được giám sát bởi vì thực tế là thế giới quá phức tạp để học tất cả tri thức được theo
cách này. Trên thực tế, con người chúng ta có thể học được rất nhiều tri thức thông qua
sự tương tác với con người và môi trường xung quanh chúng ta, chúng liên tục cho
chúng ta phản hồi rõ ràng và ngầm định. Quá trình học này được gọi là tự giám sát vì
nó không yêu cầu dữ liệu huấn luyện/chú thích được con người gán nhãn.
Trong ngữ cảnh chatbots, học suốt đời thông qua tương tác rất quan trọng bởi vì
để chatbot thực sự thông minh trong cuộc trò chuyện người – máy, nó phải liên tục học
tri thức mới để bản thân nó trở nên tốt hơn (có nhiều tri thức hơn, tạo phản hồi tốt hơn)
và để hiểu người dùng hơn.
Trong khóa luận này chủ yếu tập trung nghiên cứu về cách thức giúp cho chatbot có
thể học hỏi được thêm tri thức trong các cuộc trò chuyện thông qua quá trình tương tác
với con người.
11
1.3. Bài toán và phạm vi khóa luận
Khóa luận này trình bày nghiên cứu về cách thức học sâu suốt đời trong chatbot thông
qua tương tác giúp chatbot có thể học hỏi trong một môi trường “thế giới mở” khi đang
thực hiện nhiệm vụ đối thoại. Cụ thể, khóa luận thực hiện việc chạy mô hình tương tác
và suy luận trên tập dữ liệu WordNet và Freebase.
1.3.1. Bài toán khóa luận
Đầu vào:
o Cơ sở tri thức ban đầu (KB)
o Câu hỏi, truy vấn của người dùng (q)
Đầu ra:
o Câu trả lời cho truy vấn của người dùng
o Cơ sở tri thức, mô hình đã được cập nhật qua quá trình tương tác, trò
chuyện với con người.
1.3.2 Phạm vi khóa luận
Để xây dựng một hệ thống chatbot hoàn chỉnh là một công trình rất lớn đòi hỏi
nhiều thời gian và sức lực. Nên trong khóa luận này chỉ tập trung nghiên cứu phát triển
cốt lõi về cách thức chatbot có thể tương tác với người dùng để tìm kiếm những tri
thức mới và cập nhật tri thức mới vào cơ sở tri thức ban đầu mà không nghiên cứu các
chức năng đối thoại khác như tạo phản hồi, phân tích ngữ nghĩa, trích xuất thông tin từ
các cách nói tự nhiên của người dùng, liên kết thực thể, ..., đây là những nghiên cứu đã
được nghiên cứu rộng rãi trước đây và khóa luận cho là có sẵn để sử dụng.
Trong phạm vi nghiên cứu trong khóa luận này thì loại tri thức mà khóa luận tập
trung xử lý là những tri thức có thể biểu diễn được dưới dạng bộ ba như (s, r, t) trong
đó s là thực thể nguồn, t là thực thể đích có thể được liên kết với nhau bởi quan hệ r.
Như vậy, cơ sở tri thức KB sẽ được lưu trữ dưới dạng {(s, r, t) ∈ ℰ×ℛ×ℰ} trong đó ℰ
là tập các thực thể và ℛ là tập các quan hệ.
12
Ví dụ: Tri thức "Hà Nội là thủ đô của Việt Nam" có thể được trích xuất thành bộ ba
như là (Hà Nội, Thủ Đô, Việt Nam).
Và câu truy vấn của người dùng mà khóa luận xử lý cũng là những câu có thể được
biểu diễn dưới dạng bộ ba.
Kết luận Chương 1
Trong chương 1, khóa luận đã trình bày nội dung cơ bản nhất của Học suốt đời, Học
sâu suốt đời trong chatbot và giới thiệu bài toán, phạm vi khóa luận. Về học suốt đời,
khóa luận đã lý giải tạo sao sự ra đời của học suốt đời là cần thiết; đưa ra các định
nghĩa, đặc trưng và kiến trúc của mô hình học suốt đời. Về học suốt đời trong chatbot
tôi trình bày tại sao cần áp dụng học suốt đời vào trong chatbot và học suốt đời thể
hiện ở phần nào khi triển khai chatbot. Đồng thời Chương 1 cũng phát biểu khái quát
về bài toán cần giải quyết trong khóa luận, bộ dữ liệu được sử dụng là Wordnet,
Freebase cũng như phạm vi nghiên cứu của khóa luận này.
Trong chương tiếp theo, khóa luận sẽ trình bày hai kỹ thuật có thể áp dụng được trong
học suốt đời thông qua tương tác trong chatbot và hướng ứng dụng vào giải quyết bài
toán.
13
CHƯƠNG 2. MỘT SỐ KỸ THUẬT HỌC SÂU SUỐT ĐỜI THÔNG QUA
TƯƠNG TÁC TRONG CHATBOT
Học sâu suốt đời thông qua tương tác trong chatbot là một chủ đề mới nổi trong
những năm gần đây nhưng nó cũng nhận được khá nhiều sự quan tâm từ các nhóm
nghiên cứu. Trong khóa luận này tập trung nghiên cứu hai kỹ thuật là Học tương tác và
suy luận suốt đời (Lifelong interactive learning and inference: LILI) và Học hỏi tri
thức liên tục thông qua tương tác và suy luận (Conmtinuous and Interactive Learning
of Knowledge: CILK) của tác giả Mazumder và cộng sự, 2018, 2019 cùng với đó là
hai phương pháp tiếp cận là “học trong khi làm việc” của Bing Liu, 2020 [3] và “học
trong thế giới mở”.
Hình 2.1 Kiến trúc của học suốt đời kết hợp "học khi làm việc"
14
2.1. Học trong khi làm việc
Bản chất “học” là một quá trình học liên tục, kết hợp nó vào định nghĩa và kiến trúc
học suốt đời của Chen và Liu, 2018 [2]. Mô hình kiến trúc mới được đưa ra trong Hình
2.1, các liên kết màu cam in đậm thể hiện “học khi làm việc”. Chúng ta có thể thấy
rằng trong quá trình ứng dụng mô hình, hệ thống có thể khám phá các nhiệm vụ mới
cần học và kiến thức mới (kiến thức hỗ trợ) được thêm vào cơ sở tri thức KB có thể
được sử dụng trong học nhiệm vụ mới trong tương lai hoặc để cải thiện mô hình hiện
tại.
2.1.1. Các bước chính của “học khi làm việc”
Bây giờ khóa luận sẽ trình bày các bước của quá trình “học khi làm việc”. Sau đó, sẽ
thảo luận về trường hợp sử dụng “học khi làm việc” trong bối cảnh chatbot trò chuyện
[3].
1. Phát hiện tri thức chưa biết: Học khi làm việc bắt đầu với việc hệ thống phát hiện
các tri thức chưa biết (trong đào tạo).
2. Thập dữ liệu đào tạo liên quan tới tri thức chưa biết.
3. Học các tri thức chưa biết. Sau khi học ở bước 3, hệ thống chuyển sang bước 1
và cơ sở tri thức lúc này đã được cập nhật. Quá trình tiếp tục.
Khi thực hiện xong nhiệm vụ, hệ thống sẽ lưu trữ, sử dụng kiến thức mới học được để
giúp thực hiện nhiệm vụ tiếp theo và cải thiện mô hình hiện tại.
Bước 1 và 3 đã được nghiên cứu trong “học thế giới mở” và “học liên tục” của Chen
và Liu, 2018 [2] sẽ được trình bày chi tiết ở mục 2.2 của khóa luận. Bước 2 khóa luận
sẽ thảo luận ở phần 2.1.2 dưới đây và đề xuất một phương pháp mới để thực hiện nó
trong khi đối thoại.
2.1.2. Học khi làm việc trong các cuộc trò chuyện
Điểm yếu lớn của các chatbot hiện nay là không thể học tri thức mới trong các
cuộc hội thoại, tức là, tri thức của chatbot là cố định trước đó. Điều này khác với các
cuộc trò chuyện của con người. Chúng ta học được rất nhiều trong các cuộc trò
chuyện. Con người hoặc học trực tiếp từ những lời nói của người khác, hoặc bằng cách
15
đặt câu hỏi cho người khác. Theo cách này, kiến thức của con người phát triển theo
thời gian và ngày càng trở nên thông minh hơn khi trò chuyện.
Trong khi tương tác giữa người - máy có nhiều cơ hội để chatbot có thể học kiến thức
mới trong một cuộc trò chuyện.
1) Trích xuất tri thức từ câu nói của người dùng. Ví dụ: khi người dùng nói "Tôi
đã ăn phô mai tại McDonald", chatbot có thể trích xuất phần tri thức này và lưu
nó trong cơ sở tri thức của mình nếu chưa tồn tại tri thức này. Khi người dùng
khác hỏi "McDonald có bán phô mai không?" Chatbot có thể dễ dàng trả lời
“Có”.
2) Hỏi khi chatbot không hiểu tri thức trong câu nói của người dùng.
Mazumder và cộng sự. (2018; 2019b) [4][5] đã đề xuất hai phương pháp để thực hiện
quy trình này khi người dùng hỏi một câu hỏi “có/không” hoặc “câu hỏi WH” mà
chatbot không hiểu. Hệ thống trước tiên hình thành một số câu hỏi để hỏi người dùng,
câu trả lời của họ được gọi là sự kiện hỗ trợ. Dựa trên các sự kiện hỗ trợ và tri thức đã
có trong cơ sở tri thức của chatbot, hệ thống cố gắng suy luận câu trả lời. Sự kiện hỗ
trợ do người dùng cung cấp được thêm vào cơ sở tri thức của chatbot để làm cho
chatbot trở nên thông minh hơn và có thể trả lời các câu hỏi của người dùng tốt hơn
trong tương lai.
2.2. Học tri thức trong thế giới mở
2.2.1. Cách tiếp cận học tri thức trong khi tương tác với người dùng
Dựa theo bài nghiên cứu năm 2018 của Mazumder và cộng sự [4] ta có thể mô
hình hóa tri thức trong học thông qua tương tác như bài toán bổ sung cơ sở tri thức thế
giới mở (open-world), đây là một bài toán mở rộng cho bài toán bổ sung cơ sở tri thức
truyền thống hoàn thành cơ sở tri thức (Knowledge Base Completion: KBC). KBC
giúp chatbot có thể suy luận những tri thức mới tự động từ các tri thức hiện có trong cơ
sở tri thức KB, và tri thức này được biểu diễn dưới dạng bộ ba truy vấn (s, r, t), dự
đoán liệu thực thể nguồn s và thực thể đích t có thể được liên kết với nhau theo quan
hệ r không. Lao và cộng sự, 2011 [6]; Bordes, 2013 [7] tiếp cận và giải quyết vấn đề
này theo giả định thế giới đóng (close-world) tức là không có tri thức mới được sự
đoán nào có thể chứa những thực thể hoặc quan hệ chưa xác định (không tồn tại) trong
KB nghĩa là cả s, r, t phải tồn tại trong KB.
16
Đây là một điều hạn chế vì không có cơ sở tri thức nào có thể chứa tất cả các
thực thể và quan hệ; trong khi đó, khi trò chuyện tương tác với con người thì con người
có thể nói bất cứ điều gì, có thể chứa những thực thể và quan hệ chưa tồn tại và được
biết đến trong cơ sở tri thức KB. Vậy nên KBC không phù hợp để chatbot có thể học
tri thức trong môi trường tương tác.
Giả thiết mới được gọi là hoàn thành cơ sở tri thức thế giới mở (Open-world
knowledge base completion: OKBC). OKBC là tổng quát hóa KBC và có thể ứng dụng
được vào trong một mô hình học tri thức mới trong cuộc trò chuyện. Vì nó cho phép s,
r, t có thể không tồn tại trong KB từ đó giải quyết được vấn đề tương tác, đàm thoại
trong thế giới mở.
2.2.2. Xử lý thông tin trong học thế giới mở thông qua tương tác
Thông tin được trích xuất từ các cuộc hội thoại được chia thành hai loại:
Sự kiện: những tri thức đã được xác định là đúng
Truy vấn: những câu hỏi của người dùng đưa ra cho chatbot trả lời.
Ta xử lý hai loại thông tin như sau:
1. Đối với thông tin sự kiện là một sự kiện thực sự thì nó sẽ được tích hợp vào
trong cơ sở tri thức (KB). Trước khi tích hợp tri thức vào KB thì hệ thống cần đảm bảo
là tri thức đó chưa được tồn tại trong KB. Sau khi tri thức mới được đưa vào KB thì hệ
thống lại tiếp tục đoán nhận một số thực thể, tri thức đã có trong KB có thể đúng và có
mối liên hệ với nhau (tiếp tục khai phá tri thức trong KB khi có tri thức mới được đưa
vào bên trong).
2. Với truy vấn của người dùng tôi xử lý như sau:
Ví dụ câu truy vấn của người dùng có dạng (s, r, t) trong đó có thể cả s, r, t đều có thể
không có mặt trong KB.
● Nếu cả s, r, t đều đã có mặt ở trong cơ sở tri thức KB thì ta đưa bộ ba vào mô
hình thực hiện suy luận trên cơ sở tri thức KB hiện tại để đưa ra câu trả lời cho người
dùng.
● Khi gặp r hoặc s, t chưa biết chatbot thực hiện suy luận trên những kiến thức quá
khứ. Khi tri thức trong quá khứ không thể giúp đưa ra kết luận, chatbot sẽ tương tác
17
đặt câu hỏi cho người dùng để tìm được kiến thức liên quan tới thực thể, quan hệ chưa
biết đó và sử dụng câu trả lời của người dùng để tiếp tục suy luận đưa ra câu trả lời.
Đây là một chiến lược suy luận xen kẽ một chuỗi các quá trình xử lý và tương
tác. Chiến lược suy luận xử lý, liên quan tới việc lựa chọn các sự kiện liên quan, bắt
nguồn suy luận để đề xuất quá trình suy luận. Một hành động tương tác có thể xây
dựng ra những câu hỏi phù hợp,…
Quá trình này giúp phát triển kiến thức theo thời gian và kiến thức thu được
được cập nhật vào cơ sở tri thức KB cho phép chúng ta giao tiếp tốt hơn trong tương
lai.
Có thể thấy bài toán hoàn thành tri thức trong thể giới mở OKBC là bài toán cốt
lõi của một công cụ học tri thức thông qua tước tác, OKBC bắt chước cách học của con
người thu nhận tri thức và thực hiện suy luận trong quá trình trò chuyện. Tức là sử
dụng tri thức đã tồn tại trong quá khứ để suy luận ra những tri thức mới không biết.
Nếu tri thức hiện tại không cho phép chatbot đưa ra được kết luận thì chatbot sẽ đặt
câu hỏi để thu thập thêm tri thức để tiếp tục thực hiện suy luận. Có nghĩa là: Khi gặp r
hoặc s, t chưa biết, chatbot thực hiện suy luận trên những kiến thức quá khứ khi tri
thức trong quá khứ không thể giúp đưa ra kết luận chatbot đặt câu hỏi cho người dùng
để tìm được kiến thức liên quan cập nhật chúng vào cơ sở tri thức và sử dụng nó để
tiếp tục suy luận tìm ra câu trả lời.
2.3. Giới thiệu Học suốt đời thông qua tương tác và suy luận
Nghiên cứu Học tương tác và suy luận suốt đời (Lifelong interactive learning and
inference: LiLi) [4] của tác giả Mazumder và cộng sự năm 2018 được đánh giá là công
trình nghiên cứu sơ bộ, tạo động lực phát triển của nhóm tác giả về chủ đề học suốt đời
thông qua tương tác trong chatbot đã được đẩy lên lưu trữ và hiện nay nó vẫn là một
dự án đang trong giai đoạn phát triển mà nhóm tác giả đang thực hiện và dần hoàn
thiện.
2.3.1. Hướng tiếp cận bài toán của LiLi
Bài toán
Đầu vào: Cơ sở tri thức ban đầu KB là những tri thức có thể lưu dưới dạng bộ ba, truy
vấn của người dùng có dạng (s, r, t)
18
Đầu ra: Trả lời câu truy vấn của người dùng (câu trả lời có mang tính khẳng định
Đúng/Sai), cơ sở tri thức được cập nhật thêm tri thức mới sau quá trình tương tác với
người dùng.
Ý tưởng của LiLi
Ý tưởng chính của LiLi là chuyển tri thức trong thế giới mở sang tới hoàn thành
cơ sở tri thức trong thế giới đóng KBC thông qua sự tương tác với người dùng bằng
cách đặt câu hỏi cho người dùng. Việc suy luận trong hoàn thành cơ sở tri thức KBC
hiện tại đã có các giải pháp, ví dụ: C-PR.
Khi nhận được câu truy vấn từ người dùng có dạng (s, r, t), cơ sở tri thức hiện tại
là KB. Trong câu truy vấn của người dùng thì s, r, t có thể không tồn tại trong KB. Để
giải quyết những truy vấn có chứa những thực thể và quan hệ như thế thì ý tưởng của
LiLi là ánh xạ từ thế giới mở sang thế giới đóng (tương tác hỏi người dùng về những
thực thể, quan hệ chưa biết để có thêm được tri thức về chúng và cập nhật những tri
thức thu được vào trong KB)
Nếu quan hệ r không xác định LiLi yêu cầu người dùng cung cấp thông tin về r.
Những truy vấn này được gọi là truy vấn hỏi về manh mối (Miss link query:
MLQ)
Nếu thực thể s, t không xác định LiLi yêu cầu người dùng cung cấp một liên kết
để nối thực thể không xác định với thực thể hiện tại. Những truy vấn như vậy
được gọi là truy vấn hỏi về kết nối (connecting link query: CLQ)
2.3.2. Mô tả hệ thống của LiLi
Hệ thống xây dựng theo LiLi gồm hai thành phần chính là: kho lưu trữ tri thức và mô
hình.
A. LiLi sử dụng một kho tri thức (Knowledge Store: KS) để lưu trữ tri thức học
được thông qua các nhiệm vụ trong quá khứ và sử dụng nó giúp học các
nhiệm vụ mới. Kho tri thức KS bao gồm:
a. Đồ thị tri thức (Knowledge Grapth: G): G (hay là cơ sở tri thức KB)
khởi tạo với các bộ ba cơ sở tri thức KB và được mở rộng và cập nhật
theo thời gian với những tri thức thu được trong quá trình tương tác.
19
b. Ma trận quan hệ - thực thể (Relation-Entity Matrix: �): ℳ là
một ma trận không gian với các hàng là r và cột là cặp thực thể (s, t)
với (s, t, r) thuộc G, ta đặt ℳ[r, (s, t)] = 1.
c. Kho bài toán kinh nghiệm (Task Experience Store: �): � lưu hiệu
suất dự đoán của LiLi về các bài toán đã học trước đây về hệ số tương
quan Matthew (MCC). VD: nhiệm vụ r1, r2 có �[r1]> �[r2] nghĩa là
nhiệm vụ r1 được học tốt hơn nhiệm vụ r2.
d. Đặc trưng không đầy đủ DB: Lưu trữ tần số đường dẫn không đầy
đủ, được sử dụng để xây dựng MQL.
B. Mô hình RL học ngay cả sau khi huấn luyện bất cứ khi nào nó gặp một trạng thái
chưa nhìn thấy (trong thử nghiệm) và do đó, được cập nhật theo thời gian.
Kho tri thức KS được cập nhật liên tục theo thời gian do việc thực hiện LiLi và
tham gia vào việc học tri thức trong tương lai. Mô hình dự đoán là mô hình học suốt
đời LL, nơi chúng ta chuyển giao tri thức (các giá trị tham số) từ mô hình cho bài toán
tương tự nhất trong quá khứ để giúp học bài toán hiện tại. Các bài toán tương tự được
xác định bằng cách hệ số hóa ℳ và tính toán một ma trận bài toán tương tự ℳsim. Bên
cạnh LL, LiLi sử dụng � để xác định các bài toán quá khứ đã học kém và có thêm
manh mối để họ cải thiện kỹ năng của mình theo thời gian.
LiLi sử dụng ngăn xếp suy luận (Inference Stack: IS) để truy vấn và lưu trữ
thông tin trạng thái cho RL. LiLi luôn xử lý IS[top]. Do đó, mô hình dự đoán cho R
được học trước khi thực hiện suy luận về truy vấn, chuyển đổi OKBC thành vấn đề
KBC.
Mô hình trong học suốt đời thông qua tương tác và suy luận LiLi
Thành phần mô hình trong LiLi là sự kết hợp của hai mô hình:
1) Mô hình học tăng cường (Reinforcement Learning-RL) học cách thực hiện chiến
lược suy luận dành riêng cho truy vấn để thực hiện mỗi nhiệm vụ OKBC.
2) Một mô hình dự đoán suốt đời để dự đoán liệu một bộ ba có nên trong KB, được
gọi bằng một hành động trong khi thực hiện chiến lược suy luận và được học cho từng
mối quan hệ như trong C-PR.
Xây dựng chiến lược suy luận truy vấn cụ thể để thực hiện OKBC
20
Công thức chiến lược của LiLi được mô hình hóa dựa trên tập trạng thái S và tập
không gian A.
o S: Không gian hữu hạn các trạng thái (10 trạng thái) theo dõi kết quả của
hành động a trong A.
o A: Hành động (6 hành động)
Bit trạng thái Tên Mô tả
QERS Các đối tượng truy
vấn và quan hệ
được tìm kiếm
Cho dù nguồn truy vấn (s) và mục tiêu
(t) thực thể và quan hệ truy vấn (r) đã
được tìm kiếm trong KB hay không
SEF Đã tìm thấy thực
thể nguồn
Cho dù (các) thực thể nguồn đã được
tìm thấy trong KB hay chưa
TEF Đã tìm thấy thực
thể mục tiêu
Liệu thực thể mục tiêu (t) có được tìm
thấy trong KB hay không
QRF Đã tìm thấy quan
hệ truy vấn
Cho dù quan hệ truy vấn (r) đã được
tìm thấy trong KB hay chưa
CLUE Đầu mối Bit Set Cho dù truy vấn là một đầu mối hay
không
ILO Giới hạn tương tác
trên
Liệu giới hạn tương tác có kết thúc
cho truy vấn hay không
PFE Đặc trưng đường
dẫn được trích
xuất
Liệu đặc trưng trích xuất đường dẫn
có được thực hiện hay không
21
NEFS Bộ đặc trưng
không trống
Cho dù tập hợp đặc trưng được trích
xuất không rỗng hoặc trống
CPF Đã tìm thấy đường
dẫn hoàn chỉnh
Liệu các đặc trưng đường dẫn được
trích xuất có hoàn chỉnh hay không
INFI Suy luận được
viện dẫn
Liệu lệnh Inference đã được gọi hay
chưa
Bảng 2.1 Các bit trạng thái và ý nghĩa của chúng
STT Mô tả
a0 Nguồn tìm kiếm (h), đích (t) và quan hệ truy vấn (r) trong KB.
a1 Yêu cầu người dùng cung cấp một ví dụ / đầu mối cho mối quan hệ
truy vấn r.
a2 Yêu cầu người dùng cung cấp liên kết còn thiếu để hoàn thành đặc
trưng đường dẫn.
a3 Yêu cầu người dùng cung cấp liên kết kết nối để tăng thêm một thực
thể mới với KB.
a4 Trích xuất các đặc trưng đường dẫn giữa các thực thể nguồn (s) và đích
(t) bằng cách sử dụng C-PR.
22
a5 Lưu trữ dữ liệu truy vấn thể hiện trong bộ đệm dữ liệu và gọi mô hình
dự đoán cho suy luận.
Bảng 2.2 Hành động và mô tả của chúng
2.3.3. Cách thức hoạt động của LiLi
Nhận được một truy vấn OKBC (s, r, t) từ người dùng ta coi nó là một thuộc tính dữ
liệu (data instance) d. Thực thể dữ liệu d sẽ bao gồm:
td : bộ ba truy vấn (s, r, t)
δIL(d): giới hạn tương tác thiết lập cho d (giới hạn số đặt câu hỏi tới người dùng )
expd: kinh nghiệm của MDP cho d trong mô hình RL
md : là trạng thái của d được biểu thị bằng các giá trị:
o "T": Trạng thái đào tạo (tranning)
o "V": Trạng thái xác nhận (validation)
o "E": Trạng thái đánh giá (evaliation)
o "C": Trạng thái manh mối (clue)
Πd (bộ tính năng): Πcpd (d) là tập hợp tất cả các tính năng đường dẫn hoàn chỉnh
trong Πd
Dựa vào thực thể dữ liệu d, LiLi khởi tạo trạng thái S0 (md) và thiết lập (d, S0) được
đưa lên đầu của IS tạo thành IS[top]. IS[top] được đưa vào mô hình RL để xây dựng
chiến lược từ S0.
Xây dựng chiến lược: Xây dựng chiến lược có thể thực hiện nhiệm vụ suy luận
Cách xây dựng chiến lược mô hình hóa của LiLi cùng với tập trạng thái (S), tập hữu
hạn hành động (A), trong đó mỗi s thuộc S chứa 10 biến trạng thái theo dõi kết quả của
hành động a thuộc A.
- Nếu ở trạng thái ban đầu S0
● Tất cả các bit có giá trị là 0
23
● Nếu thực thể dữ liệu d là một manh mối (câu trả lời liên quan tới quan hệ chưa
biết) thì [md = C]
● Hành động a ở trạng thái St
- Nếu a là không hợp lệ (invalid: có nghĩa là thực hiện hành động a trong trạng thái St
là vô nghĩa) trong St thì hành động a là không hài lòng (unsatisfied) thì mô hình RL
nhận giá trị (-).
Chú ý chiến lược suy luận mô hình RL chỉ được đào tạo 1 lần từ đầu (sau đó sử dụng
lại cho các KBs khác) và độc lập với mô hình dự đoán.
Thỉnh thoảng bộ dữ liệu không đủ để huấn luyện cho tất cả s thuộc S nên khi không
thấy trạng thái trong kiểm thử mô hình RL sẽ thiếu thông tin. Với trạng thái s, bất cứ a
∈ A/{a2} là hợp lệ thì LiLi ở lại trong s.
Trong a2, LiLi vẫn ở lại s cho đến khi δIL > 0 → nếu trạng thái (δIL+1) LiLi gặp lỗi lúc
này mô hình RL chuyển sang đào tạo và khám phá ngẫu nhiên A trong khi khám phá
chỉ chọn a5 khi đã cố gắng chọn các a∈A khác để tránh kết thúc đột ngột.
2.3.4. Ưu và nhược điểm của phương pháp LiLi
Ưu điểm
o Giải quyết được vấn đề học tri thức mới trong quá trình tương tác với
người dùng.
o Tương tự như cách xử lý của con người khi học tri thức mới nên không
gây khó hiểu cho người sử dụng.
Nhược điểm
o Đây là chỉ là nghiên cứu sơ bộ để tạo động lực thúc đẩy những nghiên
cứu xây dựng chatbot trong bối cảnh học suốt đời chưa thực sự áp dụng
được vào thực thế.
o Chỉ được thiết kế để học tri thức thực tế có thể được biểu diễn dưới dạng
bộ ba truy vấn (s, r, t).
24
o Chỉ xử lý câu truy vấn của người dùng có dạng (s, r, t) tức là LiLi chỉ xử
lý những câu truy vấn cần xác định tính đúng/sai của người dùng.
Liên quan tới bài toán khóa luận
Hệ thống xây dựng theo kỹ thuật LiLi đáp ứng được việc giúp chatbot học tri
thức suốt đời trong môi trường mở thông qua tương tác. Bằng các hỏi người dùng nó
có thể cập nhật cơ sở tri thức của mình một các liên tục. Và tri thức mà LiLi hướng tới
là loại tri thức được lưu trữ ở dạng bộ ba truy vấn. Kỹ thuật LiLi chỉ xử lý câu truy vấn
của người dùng có dạng câu hỏi xác định tính Đúng/Sai tức truy vấn của người dùng
có dạng (s, r, t).
2.4. Giới thiệu học liên tục thông qua tương tác và suy luận
Bài toán
Đầu vào: Cơ sở tri thức ban đầu KB là những tri thức có thể lưu dưới dạng bộ ba, truy
vấn của người dùng có dạng (s, r, ?) hoặc (?, r, t)
Đầu ra: Trả lời câu truy vấn của người dùng, cơ sở tri thức được cập nhật sau quá
trình tương tác với người dùng.
Học liên tục thông qua tương tác và suy luận (Continuous and Interactive
Learning of Knowledge: CILK) [5] là bài nghiên cứu tiếp theo của tác giả Mazumder
và cộng sự được thực hiện vào năm 2019 để có thể có được các hệ thống hộp thoại có
khả năng học tiếp thu những tri thức mới trong các cuộc trò chuyện với con người.
Cụ thể nó tập trung vào việc học tri thức mới thông qua tương tác với người dùng khi
hệ thống cố gắng trả lời những WH-question (tức là những câu hỏi hỏi cần câu trả lời
là thực thể còn thiếu) từ người dùng. Tiếp thu những hiểu biết mới làm hệ thống có
thể trả lời những câu hỏi tốt hơn trong tương lai, và tri thức không bị giới hạn bởi
những tri thức được cung cấp từ người phát triển.
2.4.1. Hướng tiếp cận của phương pháp CILK
Khi hệ thống nhận được truy vấn hay câu hỏi của người dùng có dạng (h, r, ?)
hoặc (?, r, t), trong đó r hoặc/và h (hoặc t) có thể không tồn tại (chưa được biết:
unknown) trong KB. Hệ thống cố gắng học hỏi, tiếp thu hiểu biết từ người dùng rồi
cập nhật vào cơ sở tri thức KB giúp trả lời câu hỏi.
25
Nghiên cứu tập chung vào việc cài đặt những truy vấn có thể không được trả lời bởi tri
thức hiện tại trong KB và cần suy luận trong những tri thức hiện có khi xem xét truy
vấn có cấu trúc, đơn giản khi lấy câu trả lời đã tồn tại trong KB. Câu truy vấn của
người dùng có thể được chia thành hai loại:
1) Truy vấn trong thế giới đóng (Closed-world queries) khi cả h (hoặc t) và r đã
tồn tại trong KB.
2) Truy vấn trong thế giới mở (Open-world queries) nơi mà có thể một hoặc cả
hai h (hoặc t) và r không tồn tại trong KB.
Việc học suốt đời được phản ánh bởi thực tế là các sự kiện mới (tri thức học từ việc
tương tác với người dùng) được giữ lại trong KB và được sử dụng để suy luận cho các
câu hỏi trong tương lai và để tri thức được tích lũy ngoài tri thức đã cập nhật trong cơ
sở tri thức gồm các kết quả đã thực hiện suy luận trong quá khứ được tận dụng để
hướng dẫn tương tác và học trong tương lai.
Dễ thấy rằng vấn đề thực chất là vấn đề học tập suốt đời (Chen và Liu, 2018) [2], trong
đó mỗi truy vấn được xử lý là một nhiệm vụ và kiến thức thu được được giữ lại trong
KB. Để xử lý một truy vấn / nhiệm vụ mới, kiến thức đã học và tích lũy từ các truy vấn
trước đây có thể được tận dụng.
Với mỗi truy vấn trong thế giới mở (tức truy vấn có chứa các thực thể hoặc/và quan hệ
chưa biết), để giải quyết nó thì chúng ta thực hiện 2 bước:
1) Tương tác với người dùng: Chúng ta cố gắng chuyển từ học trong thế giới mở
sang học trong thế giới đóng bằng cách hỏi người dùng những câu hỏi liên quan
tới h (hoặc t) và r để làm cho chúng được biết đến trong KB (bằng cách thêm
chúng vào KB). Người dùng sẽ trả lời những câu hỏi và chúng được gọi là sự
kiện hỗ trợ (supporting fact: SF), là những tri thức mới được thêm vào KB.
Bước này được gọi là Học thông qua tương tác (interactive knowledge
learning: I). Nếu là truy vấn trong thế giới đóng thì không cần thực hiện bước
này.
2) Suy luận câu trả lời: Giải quyết những truy vấn trong thế giới đóng có thể suy
luận ra các câu trả lời. Ý tưởng chính là với mỗi thực thể e trong KB chúng ta sẽ
tạo ra từ đó bộ ba có dạng (h, r, e) hoặc (e, r, t) sau đó tính điểm. Thực thể e có
điểm cao nhất được sự đoán là câu trả lời cho truy vấn.
26
Tính điểm cho mỗi bộ ba ứng viên được mô tả như là vấn đề hoàn thành cơ sở tri thức
(KBC) (Lao và cộng sự, 2011) [8]. KBC nhằm mục đích suy luận ra những tri thức
mới từ những tri thức tồn tại trong KB chúng được gọi là dự đoán liên kết (link
prediction):
Nhận được bộ ba truy vấn (h, r, ?) hoặc (?, r, t) nó dự đoán thực thể câu trả lời e
làm cho bộ ba truy vấn (h, r, e) hoặc (e, r, t) là đúng sau đó thêm vào cơ sở tri thức KB.
KBC được sử dụng trong học thế giới đóng nơi mà cả h, r, t được biết trong KB. KBC
không phù hợp để sử dụng để học kiến thức trong các cuộc trong chuyện với con người
vì con người có thể hỏi bất cứ điều gì cái mà có thể chứa những thực thể hay những
quan hệ chưa có trong KB. CILK loại bỏ giả thiết thế giới đóng và cho phép h (hoặc t)
và r có thể không tồn tại trong KB.
Đầu tiên CILK đặt ra những câu hỏi cho người dùng để làm rõ h (hoặc t) và r
được chúng được biết trong KB. Sau đó sử dụng mô hình KBC hiện tại để suy luận câu
trả lời từ những thực thể trong KB.
CILK nhằm đạt 2 mục tiêu này. Những tri thức mới được người dùng cung cấp, hỗ trợ
(SFs) được thêm vào KB để sử dụng trong tương lai.
Ví dụ:
USER: (Boston, LocatedInCountry, ?) “In what Country is Boston located?” [Query]
CILK: I do not know what “located in Country” means? Can you provide me an
example? [Ask for Clue]
USER: (London, LocatedInCountry, UK). “London is located in UK.” [SF1]
CILK: Got it. Can you tell me a fact about “Boston”? [Ask for Entity Fact]
USER: (Harvard University, UniversityLocatedIn,Boston). “Harvard university is
located in Boston.” [SF2]
CILK: (Boston, LocatedInCountry, USA) “Boston is located in USA.” [Answer]
2.4.2 Thành phần trong hệ thống
Nhận được 1 truy vấn (e, r, ?) hoặc (?, r, e) từ người dùng, khi gặp những tri thức
chưa được biết trong cơ sở tri thức hiện tại CILK thực hiện tương tác với người dùng
27
để thu thập những thông tin hỗ trợ (Support Facts: SFs) do người dùng cung cấp để cập
nhật thêm vào cơ sở tri thức sau đó sẽ suy luận đưa ra câu trả lời truy vấn. Việc tương
tác và suy luận có 3 thành phần chính:
1) Cơ sở tri thức (Knowledge base: KB): chứa tri thức được dùng trong suy luận.
2) Bộ tương tác (Interactive Module): Quyết định xem có hỏi người dùng hay
không và hỏi như thế nào để người dùng cung cấp SFs. Những tri thức thu thập
được qua SFs được cập nhật vào Kb và được sử dụng để cập nhật lại mô hình.
3) Mô hình suy luận (Inference Model): Dự đoán câu trả lời cho truy vấn.
2.4.3. Ưu và nhược điểm của phương pháp
Ưu điểm
o Giải quyết được vấn đề học tri thức trong thế giới mở thông qua tương
tác.
o Mô hình thuật toán rõ ràng.
o Có tính khả thi khi áp dụng vào thực tiễn.
Nhược điểm
o Chỉ được thiết kế để học những tri thức có thể biểu diễn dưới dạng bộ ba
truy vấn.
o Xử lý truy vấn của người dùng có dạng WH-question tức là (s, r, ?) hoặc
(?, r, t).
2.4.4. So sánh kỹ thuật CILK với LiLi
Bài nghiên cứu về LiLi năm 2018 là một nghiên cứu ban đầu về chủ đề học suốt
đời thông qua tương tác trong chatbot và giống với ý tưởng, cách thức thực hiện của
CILK, nhưng cách đặt vấn đề và xử lý mô hình của bài nghiên cứu CILK năm 2019
khác so với nghiên cứu năm 2018 về LiLi. Trong khi LiLi xử lý những câu truy vấn
đầu vào của người dùng có dạng (h, r, t) sau đó trả lời cho người dùng về tính đúng/sai
của truy vấn đó thì CILK xử lý truy vấn đầu vào của người dùng là những câu dạng
WH-question tức (?, r, t) hoặc (h, r, ?) sau đó cố gắng trả lời cho người dùng về thực
thể còn thiếu. Do đó, bài nghiên cứu về LiLi và CILK vẫn là hai nghiên cứu riêng biệt.
28
Tuy nhiên, chúng có liên quan tới nhau khá mật thiết vì chủ yếu cả hai đều thảo luận
về ý tưởng học tập kiến thức liên tục, nhưng trong các thiết lập vấn đề khác nhau. Và
hiện tại thì LiLi vẫn đang nằm trong giai đoạn phát triển.
2.5. Kỹ thuật được áp dụng trong khóa luận
Dựa trên ý tưởng áp dụng học suốt đời trong chatbot, khóa luận này đề nghị một
mô hình học suốt đời trong chatbot thông qua tương tác dựa trên hai nghiên cứu học
suốt đời thông qua tương tác và suy luận trong chatbot là LiLi và CILK được mô tả
phía trên.
Mô hình gồm các thành phần cơ bản như: Cơ sở tri thức KB, bộ tương tác (thực
hiện hành động tương tác, hỏi người dùng về những tri thức chưa biết) và bộ suy luận
(suy luận ra câu trả lời cho truy vấn của người dùng từ cơ sở tri thức)
Như đã trình bày trong chương 1 về phạm vi của bài toán thì tri thức mà khóa
luận tập trung là tri thức có thể được biểu diễn dưới dạng bộ ba và hiện tại khóa luận
chỉ xử lý với những truy vấn của người dùng có dạng câu hỏi về thực thể còn thiếu là
(s, r, ?) hoặc (?, r, t). Vậy nên khóa luận sẽ áp dụng kỹ thuật Học liên tục thông qua
tương tác và suy luận CILK để giải quyết bài toán khóa luận.
Chi tiết mô hình sẽ được trình bày chi tiết trong chương 3.
Kết luận Chương 2
Trong chương 2, khóa luận đã trình bày hai kỹ thuật chính là LiLi và CILK có thể áp
dụng được vào bài toán học suốt đời thông qua tương tác trong chatbot và hướng áp
dụng vào bài toán. Khóa luận phát biểu bài toán, giới thiệu ý tưởng, quy trình hoạt
động của LiLi và CILK.
Chương 3 sẽ trình bày mô hình giải quyết vấn đề học liên tục trong chatbot thông qua
tương tác do khóa luận đề xuất.
29
CHƯƠNG 3. ĐỀ XUẤT MÔ HÌNH
Với những kỹ thuật đã trình bày ở chương 1 và chương 2, trong chương này, khóa luận
đề xuất một mô hình giúp học sâu suốt đời thông qua tương tác ứng dụng trong
chatbot. Cũng như là mô tả chi tiết về từng thành phần và quá trình thực thi trong mô
hình.
3.1 Mô hình học suốt đời thông qua tương tác trong chatbot
Hình 3.1 Mô hình học suốt đời thông qua tương tác trong chatbot
3.2. Cơ sở tri thức
Cơ sở tri thức (Knowledge Base: KB) được lưu trữ dưới dạng {(s, r, t) ∈
ℰ × ℛ × ℰ} trong đó ℰ là tập thực thể và ℛ là tập quan hệ. Cơ sở tri thức liên tục được
cập nhật liên tục khi chatbot nhận được thêm những thông tin tri thức do người dùng
cung cấp (Support Fact: SF). Điều này khiến cơ sở tri thức là không cố định, kho tri
thức liên tục được mở rộng để có thể đáp ứng những câu truy vấn của người dùng.
3.3. Xử lý truy vấn của người dùng
Trong khóa luận này chỉ tập trung nghiên cứu những câu truy vấn của người
dùng có dạng WH-question tức truy vấn có thể tách được thành bộ ba truy vấn có dạng
30
(s, r, ?) hoặc (?, r, t), trong đó "?" là thực thể mà chatbot cần suy luận để trả lời cho
người dùng.
Khi chatbot nhận được truy vấn q có dạng (e, r, ?) hoặc (?, r, e), trong đó e là thực thể
truy vấn và r là thực thể quan hệ. Nếu e không tồn tại trong tập thực thể ℰ hoặc/và r
không tồn tại trong tập quan hệ ℛ. Chúng ta gọi q là truy vấn thế giới mở (open-world
query). Ngược lại thì q là truy vấn thế giới đóng (closed-world query) tức là cả e và r
đều tồn tại trong KB.
- Nếu q có dạng (e, r, ?) thì mục tiêu là dự đoán thực thể đích đúng: ttrue thuộc tập thực
thể ℰ để tạo thành bộ ba (e, r, ttrue) đúng. Chúng ta gọi q là tail query.
- Nếu q có dạng (?, r, e) thì mục tiêu là dự đoán thực thể nguồn đúng: htrue thuộc tập
thực thể ℰ để bộ ba (htrue, r, e) đúng. Chúng ta gọi q là head query.
3.4. Mô hình suy luận
Tại bước này thì tất cả các tri thức liên quan tới thực thể hoặc quan hệ trong câu
truy vấn của người dùng đều đã được biết tới trong cơ sở tri thức KB. Về cơ bản thì mô
hình suy luận giúp suy luận đưa ra câu lời trong cơ sở tri thức. Trong thế giới mở thì có
thể những thực thể ttrue và htrue không tồn tại trong cơ sở tri thức KB. Trong trường hợp
này mô hình suy luận không thể đưa ra câu trả lời. Do đó, tôi tiếp tục mở rộng mục tiêu
của nhiệm vụ suy luận truy vấn để tìm kiếm thực thể câu trả lời ttrue (htrue) cho q hoặc
từ chối q để chỉ ra rằng câu trả lời không tồn tại trong tập thực thể ℰ.
Khi nhận được câu truy vấn q ví dụ có dạng (s, r, ?) thì mô hình suy luận M sẽ
ghép từng thực thể đã được biết đến trong tập thực thể ℰ vào truy vấn q của người
dùng để tạo thành bộ ba mới (s, r, e) và tính điểm cho chúng bằng hàm tính điểm �(.),
sau đó đưa ra thực thể e đã tạo ra bộ ba có số điểm cao nhất.
Phương pháp học nhúng cơ sở tri thức (knowledge base embedding: KBE)
Bordes và cộng sự, 2013 [9] được khóa luận để thiết kế mô hình: nó học bằng cách
nhúng các thực thể (s, t), quan hệ (r) và sử dụng những gì học được để dự đoán bộ ba
chưa tồn tại.
Nhận được cơ sở tri thức KB được biểu diễn ở dạng bộ ba, thì một neural KBE
học các mã hóa thông tin liên kết trong KB bằng cách sử dụng chiều thấp của thực thể,
quan hệ và sử dụng học dự đoán từ bộ ba mô hình. Đặc biệt, mục tiêu là học đại diện
31
cho các thực thể và quan hệ sao cho bộ ba hợp lệ nhận được điểm cao và bộ ba không
hợp lệ nhận được điểm thấp được xác định bởi chức năng tính điểm �(.). Các nhúng có
thể được học thông qua một mạng lưới thần kinh. Trong một mô hình KBE (tuyến
tính) điển hình, được đưa ra một bộ ba (h, r, t), đầu vào là thực thể h, t và quan hệ r;
tương ứng với các vectơ có chiều cao xh, xt và xr, sau đó được chiếu vào các vectơ
chiều thấp vh, vt và vr bằng cách sử dụng ma trận nhúng thực thể WE và ma trận nhúng
quan hệ WR như được đưa ra bởi vh= WE × h, vr = WR × r và vt = WE × t. Hàm tính
điểm �(.) sau đó được sử dụng để tính điểm hợp lệ �(h, r, t) của bộ ba.
Nhận được truy vấn q, mô hình suy luận ℳ cố gắng suy luận ra câu trả lời của q
bằng các dự đoán thực thể trả lời từ tập thực thể ℰ. Chúng thực thiện bằng cách chọn
mỗi thực thể ei thuộc ℰ và từ cấu trúc của |ℰ| để tạo ra những ứng viên {d1, d2 , d3 ...}
trong đó di có dạng (e, r, ei) với truy vấn đuôi và (ei, r ,e) với truy vấn đầu. Và sau đó
tính điểm cho mỗi ứng viên di để định lượng mức độ liên quan của ei là một câu trả lời
của q. Sau đó trả về thực thể ei với số điểm cao nhất như là câu trả lời dự đoán của q.
3.4.1. Phương pháp học nhúng cơ sở tri thức thần kinh
Việc biểu diễn thông tin về các thực thể và mối quan hệ thế giới thực trong các
cơ sở tri thức có cấu trúc cho phép các ứng dụng khác nhau như tìm kiếm có cấu trúc,
trả lời câu hỏi thực tế và chatbot, trợ lý ảo thông minh có thể tìm được câu trả lời trong
kho tri thức. Tuy nhiên, mỗi cơ sở tri thức dựa trên những định dạng dữ liệu cứng nhắc
khác nhau khiến cho việc sử dụng dữ liệu của chúng vào trong các hệ thống khác nhau
trở nên khó khăn. Kỹ thuật nhúng cơ sở tri thức (Neural knowledge base embedding:
KBE) [9] đã được đề xuất trong những năm gần đây để đối phó với vấn đề này.
KBE là một quá trình học tập dựa trên kiến trúc mạng thần kinh được thiết kế để
nhúng bất kỳ thông tin nào vào không gian vectơ liên tục linh hoạt hơn trong đó kiến
thức ban đầu được lưu giữ và nâng cao. Việc học nhúng này sẽ cho phép dữ liệu từ KB
được sử dụng dễ dàng trong các phương pháp học máy gần đây để dự đoán và truy
xuất thông tin.
KBE biểu diễn cơ sở tri thức KB dưới dạng đồ thị. Điều này có nghĩa là cấu trúc dữ
liệu của KB không nhất thiết phải là phân cấp và được xác định bởi một tập hợp các
nút và một tập hợp các liên kết.
32
Đối với mỗi nút trong đồ thị tương ứng với một thành phần của cơ sở dữ liệu,
chúng tôi gọi là một thực thể và mỗi liên kết xác định mối quan hệ giữa các thực thể.
Quan hệ được định hướng và thường nhiều quan hệ khác nhau, một mối quan hệ được
biểu thị bằng bộ ba (el, r, er), trong đó el là thực thể bên trái, er là thực thể bên phải và r
là quan hệ giữa hai thực thể tận dụng nội dung của KB được khai thác trong các hệ
thống khác và không thay thế khuôn khổ ban đầu của chúng.
Ý tưởng cấu trúc nhúng của KBE là:
- Các thực thể được mô hình hóa trong một không gian véc tơ d chiều được gọi là
"không gian nhúng". Thực thể thứ i tương ứng với một véc tơ Ei trong không gian
nhúng R.
- Trong không gian nhúng đó, mỗi quan hệ có một thước đo �(.) đánh giá mối quan hệ
giữa các thực thể. Chúng tôi mô hình hóa điều này bằng cách gán cho mối quan hệ thứ
k đã cho một cặp Rk = (Rlhsk , Rk
rhs ) , trong đó Rlhsk và Rk
rhs là ma trận d×d, với định
mức p = 1.
(3.1)
Nghĩa là, chúng ta biến đổi các véc tơ nhúng thực thể Ei và Ej bằng các ma trận quan
hệ bên trái và phải tương ứng cho mối quan hệ Rk và sau đó độ tương tự được đo theo
khoảng cách 1 chỉ tiêu trong không gian nhúng được chuyển đổi.
Mục tiêu đào tạo
Nếu thiếu thực thể s hoặc t của bộ ba truy vấn thì mục tiêu của mô hình là dự
đoán thực thể còn thiếu.
Bất kì mô hình KBE nào cũng có thể được sử dụng để học trong mô hình M. Kế thừa
S. Mazumder và cộng sự [5], khóa luận sử dụng mô hình DisMult [10] do có hiệu năng
cao và cách thức hoạt động phù hợp với việc học trong khi tương tác hơn so với nhiều
mô hình KBE khác như TransE hay RESCAL.
Sk(Ei , Ej) = ||Rlhsk Ei − Rk
rhs Ej || p
33
Hình 3.2 Ma trận thực thể E và quan hệ R
Mô hình DistMult
Mô hình DistMult (Yang và cộng sự, 2015) [10] sử dụng nhiều ma trận đường
chéo để thể hiện mối quan hệ giữa các thực thể. Giả sử rằng tổng số thực thể là n
trong khi tổng số quan hệ là m, tổng số tham số là n×m (trong khi đó số lượng
tham số của mô hình RESCAL là n×n×m có thể nhiều hơn mô hình DistMult từ
mười đến một trăm lần) nhưng vẫn mang lại hiệu quả tính toán cao. Một trong
những vấn đề của mô hình DistMult là nó chỉ có thể mô hình hóa các mối quan hệ đối
xứng nhưng không phù hợp với các biểu đồ tri thức chung vì nó đơn giản chỉ là các
mối quan hệ bằng cách sử dụng ma trận đường chéo.
Hàm tính điểm mối quan hệ của mô hình Distmult được định nghĩa như sau:
(3.2)
trong đó dialog(vr) là ma trận đường chéo trong vr.
Các tham số của M, tức là, WR và WE, được học bằng cách giảm thiểu mục tiêu xếp
hạng dựa trên ℒ, khuyến khích điểm số của bộ ba dương cao hơn so với bộ ba âm:
�(�, �, �) = ���diag(vr)vt = ∑ ��[�]��[�]��[�]�
���
34
(3.3)
Trong đó D+ là tập những bộ ba có trong K và được đánh giá là bộ ba mang giá trị
dương. D- là bộ ba mang giá trị âm thu được bằng cách thay đổi thực thể đầu hoặc cuối
trong mỗi +ve bộ ba (h, r, t) trong D+ được thay bằng thực thể h', t' lấy ngẫu nhiên
trong K thu được bộ và (h', r, t), (h, r, t') không tồn tại trong K. Chú ý M được đào tạo
liên tục bởi tập những bộ ba +ve và tương ứng xây dựng một tập những bộ ba -ve khi
KB được bổ trợ từ SFs có được để cải thiện khả năng suy luận của nó đối với các truy
vấn mới (liên quan đến các quan hệ và thực thể truy vấn mới). Do đó, ma trận nhúng
WE và WR cũng phát triển tuyến tính theo thời gian.
3.4.2 Từ chối trong suy luận KB.
Khi chatbot đã hỏi người dùng về những tri thức liên quan tới thực thể e, quan hệ
r chưa biết trong câu truy vấn, sau đó nó bắt đầu thực hiện suy luận câu trả lời cho truy
vấn q trên tri thức vừa được cập nhật. Vậy nếu với tri thức hiện tại nó vẫn không có
khả năng trả lời câu hỏi của người dùng thì sao?
Đối với truy vấn không có thực thể trả lời trong KB, chatbot cố gắng từ chối truy
vấn không được trả lời. Để quyết định có từ chối truy vấn hay không, chatbot duy trì
bộ đệm ngưỡng (threshold buffer: �) � lưu trữ ngưỡng dự đoán của thực thể và quan
hệ và cập nhật nó liên tục theo thời gian, cụ thể như sau:
Bên cạnh một bộ dữ liệu để đào tạo cho mô hình M, hệ thống cũng tạo một tập
dữ liệu đánh giá (validation dataset) Dvd. bao gồm một tập hợp các bộ truy vấn xác thực
có dạng (q, E+, E−). Trong đó, q là head or tail query liên quan tới thực thể e và quan
hệ r, E+ = {e1+,.., ep+} là tập p thực thể dương (câu trả lời đúng) và E-={e1-, ..., ep-} là
tập n thực thể âm được lấy ngẫu nhiên từ K và E+ giao E- bằng rỗng.
Devd= {(q, E+ , E− ) | (q, E+, E− ) ∈ Dvd , e ∈ q} là validation query tuple được thiết lập
liên quan tới thực thể e. Drvd= {(q, E+ , E− ) | (q, E+, E− ) ∈ Dvd , r ∈ q} là validation
query tuple được thiết lập liên quan tới quan hệ r.
ℒ = ∑ ∑ ���{�(�′) − �(�) + 1,0}�� � ��� � ��
35
Sau đó chúng ta tính �[z] (ngưỡng dự đoán cho z, trong đó z là e hoặc r) là trung
bình điểm của trung bình của bộ ba liên quan đến +ve thực thể và điểm trung bình của
bộ ba liên quan đến thực thể -ve,. Tính tất cả q trong Dvd theo công thức sau:
(3.4)
Trong đó:
(3.5)
(3.6)
(3.7)
Nhận được một truy vấn q liên quan tới thực thể e hay quan hệ r, chúng ta tính và dự
đoán ngưỡng:
(3.8)
Suy luận ra quyết định. Nếu tồn tại thực thể e~ thuộc E là thực thể trả lời dự đoán
của M cho truy vấn q và �(q, e~)> ��, chatbot trả lời người dùng bằng câu trả lời e~.
Nếu không, q bị chatbot từ chối trả lời.
3.5. Tương tác với người dùng
Bước này có nhiệm vụ là tìm kiếm thêm thông tin bằng cách hỏi người dùng để
những thực thể, quan hệ chưa được biết trong cơ sở tri thức KB hiện tại được biết
trong cơ sở tri thức (thêm những thông tin liên quan tới chúng vào bên trong cơ sở tri
thức) hay đơn gian hơn đây là bước học, cập nhật thêm tri thức vào bên trong cơ sở tri
thức hiện tại.
�[�] = �
�|���� |
∑ �� � ��
�(�, ��, ��) ����
�
��� =
�
|��| ∑ �(�, ��
�)���∈ ��
��� =
�
|��| ∑ �(�, ��
�)���∈ ��
�(�, ���) = �(�, �, ��
�)
�� for q as �� = ���{�[�], �[�], 0}
36
Tương tác với người dùng thực hiện việc ánh xạ tri thức từ thế giới mở sang thế
giới đóng bằng cách thực hiện các câu hỏi để tìm kiếm thêm thông tin về tri thức chưa
biết trong cơ sở tri thức KB.
- Nếu quan hệ r trong câu truy vấn của người dùng không xác định (không được
tồn tịa trong tri thức của chatbot hiện tại) thì bộ tương tác sẽ yêu cầu người
dùng cung cấp thông tin về quan hệ r và cập nhật chúng vào cơ sở tri thức.
- Nếu thực thể s, t trong câu truy vấn của người dùng là không xác định thì chatbot
yêu cầu người dùng cung cấp một liên kết để nối thực thể không xác định với
thực thể hiện tại. Những truy vấn như vậy được gọi là truy vấn điền liên kết
thực thể (connecting link query: CLQ)
Nhận được truy vấn thế giới mở q (chứa những thực thể hoặc/và quan hệ chưa
được biết trong cơ sở tri thức hiện tại) từ người dùng. Bộ tương tác của chatbot tương
tác với người dùng u để thu thập những tri thức bổ trợ (Support Facts: SFs) (ví dụ khi
hỏi người dùng những ví dụ liên quan tới quan hệ r chúng ta nhận được bộ ba manh
mối �r và khi nhận được những SF giúp chúng ta hiểu về thực thể chúng ta nhận được
bộ ba thực thể ℱe cho e).
Trong quá trình tương tác, chatbot quyết định hỏi người dùng về những tri thức
chưa biết để thu thập kiến thức thông qua các đoạn hội thoại tương tác.
Khi người dùng trả lời những câu hỏi của chatbot họ cung cấp các sự kiện, thông
tin hỗ trợ SF liên quan tới thực thể và quan hệ, các SF được thu thập và chatbot sử
dụng (� × �r × ℱe) (tức là cập nhật những tri thức do người dùng cung cấp liên quan
tới thực thể và quan hệ vào cơ sở dữ liệu) để suy luận câu truy vấn q.
Khóa luận đề cập đến toàn bộ quá trình tương tác liên quan đến thu nhận kiến
thức đa chiều, sau đó là bước suy luận truy vấn như một phiên đối thoại. Tóm lại,
chatbot hiện tại được giả định hoạt động trong nhiều phiên đối thoại với những người
dùng khác nhau và thu thập kiến thức trong mỗi phiên và do đó, liên tục học hỏi kiến
thức mới theo thời gian.
Tuy nhiên, người dùng trong một phiên trò chuyện chỉ có thể cung cấp rất ít sự
kiện hỗ trợ, có thể không đủ để học tốt về thực thể e và quan hệ r. Ngoài ra, để tích lũy
một bộ dữ liệu xác nhận (Dataset validation: �vd) đủ tốt để học �[e] và �[r] (sẽ được
trình bày trong phần 3.5 về mô hình suy luận), chatbot cần thu thập thêm bộ ba từ
37
người dùng liên quan đến e và r. Tuy nhiên, việc yêu cầu nhiều sự kiện hỗ trợ SF cho
bất kỳ thực thể và / hoặc mối quan hệ nào cũng có thể gây khó chịu cho người dùng.
Do đó khóa luận giới hạn số lượng câu hỏi mà chatbot hỏi người dùng cho mỗi thực
thể và quan hệ chưa biết. Khi người dùng cung cấp đủ thông tin thì chatbot sẽ chuyển
sang trạng thái suy luận dù có thể thực thể, quan hệ đó chưa thực sự rõ trong cơ sở tri
thức.
Vậy chatbot sẽ yêu cầu sự kiện hỗ trợ SF cho các thực thể và/hoặc các mối quan
hệ đã biết mà chatbot không tự tin về việc thực hiện suy luận là chính xác (tức là
những thực thể và quan hệ chưa có nhiều thông tin để học), bên cạnh các thực thể chưa
biết (tức chưa từng xuất hiện trong cơ sở tri thức).
Để giảm thiểu tỷ lệ tương tác của người dùng chatbot sử dụng bộ đệm hiệu
suất � để lưu trữ số liệu thống kê hiệu suất của chatbot trong các phiên đối thoại trước.
Tôi sử dụng Xếp hạng đối ứng trung bình (Mean Reciprocal Rank: MRR) để đo hiệu
suất của mô hình suy luận ℳ (được thảo luận trong Phần 3.5.1). Cụ thể, �[e] và �[r]
biểu thị trung bình (avg). MRR được tính bởi ℳ trong khi trả lời các truy vấn liên
quan đến e và r tương ứng, được đánh giá trên bộ dữ liệu xác nhận �vd .Vào cuối mỗi
phiên đối thoại, chatbot phát hiện tập hợp các thực thể và quan hệ truy vấn có MRR
dưới �% trong � dựa trên điểm MRR được đánh giá trên tập dữ liệu xác thực. Tôi gọi
bộ này là bộ quan hệ, thực thể phổ biến (diffident set). Nếu mối quan hệ truy vấn
và/hoặc thực thể được xuất hiện trong phiên tiếp theo thuộc về tập phổ biến, chatbot
yêu cầu người dùng hỗ trợ sự kiện liên quan. Mặt khác, nó tiến hành suy luận, để trả
lời hoặc từ chối truy vấn.
3.5.1 Xếp hạng đối ứng trung bình
Xếp hạng đối ứng trung bình (Mean Reciprocal Rank: MRR) là thước đo để
đánh giá các hệ thống trả về danh sách câu trả lời được xếp hạng cho các truy vấn.
Đối với một truy vấn duy nhất, thứ hạng đối ứng là 1/rank, trong đó rank là là vị
trí của câu trả lời được xếp hạng cao nhất (từ 1, 2, 3, ..., N cho N câu trả lời được trả về
trong một truy vấn.
Nếu không có câu trả lời đúng được trả về trong truy vấn, thì thứ hạng đối ứng là
0. Đối với nhiều truy vấn Q, Xếp hạng đối ứng trung bình là giá trị của các cấp bậc đối
ứng Q.
38
(3.9)
Ví dụ: Giả sử chúng tôi có ba truy vấn mẫu sau đây cho một hệ thống cố gắng chuyển
các từ tiếng Anh sang số nhiều của chúng. Trong mỗi trường hợp truy vấn, hệ thống
đưa ra ba dự đoán:
Truy
vấn
Kết quả hệ thống Kết quả đúng Thứ
hạng
Thứ
hạng đối ứng
cat catten, cati, cats cats 3 1/3
tori torii, tori, toruses tori 2 1/2
virus viruses, virii, viri viruses 1 1
Bảng 3.1 Kết quả của mô hình chuyển đổi
Nhận được kết quả của ba mẫu trên, chúng ta có thể tính MMR như sau:
MMR = (1/3 + 1/2 + 1)/3 = 11/18 hoặc 0.61
Nếu không có kết quả được đề xuất nào là chính xác, xếp hạng đối ứng là 0. Xin
lưu ý rằng chỉ xếp hạng của câu trả lời có liên quan đầu tiên (first relevant answer)
được xem xét, các câu trả lời có liên quan khác có thể bị bỏ qua. Nếu người dùng cũng
quan tâm đến các câu trả lời liên quan khác, trung bình độ chính xác dự đoán là một số
liệu thay thế tiềm năng.
3.3. Quy trình hoạt động của mô hình
Bài toán
Đầu vào:
Một truy vấn qj = (e, r, ?) hoặc (?, r, e) trong một phiên đối thoại j. Đặt �j, �j, �j và �j
là phiên bản hiện tại của KB, bộ đệm hiệu suất, bộ đệm ngưỡng và mô hình suy luận
của chatbot tại điểm khi phiên j bắt đầu. ρ: % của thực thể và quan hệ trong �j thuộc
về tập �j.
MRR = �
� ∑
�
�����
����
39
Đầu ra:
e~ thực thể được dự đoán là câu trả lời cho truy vấn qj tại phiên làm việc j
Quá trình học và suy luận kiến thức thông qua tương tác trong chatbot được tiến hành
theo các bước sau:
1. if r ∉ �j or IsDiffident(r, �j, �) then
2. �r ← AskUserforCLUE(r) #cố gắng tìm hiểu sự kiện hỗ trợ để học về
quan hệ r
3. end if
4. if e ∉ �j or IsDiffident(e, �j, �) then
5. ℱe ← AskUserforEntityFacts(e) #cố gắng tìm hiểu sự kiện hỗ trợ để
học về thực thể
6. end if
7. if �r ≠ ∅ then
8. �j+�
� ← Thêm bộ ba sự kiện từ vào �j
9. ��� ��
10. if ℱe ≠ ∅ then
11. �j+1 ← Thêm bộ ba sự kiện từ vào �j+�
�
12. end if
13. �rtr, �rvd ← SampleTripleSet(�j+1, r)
14. �etr, �evd ← SampleTripleSet(�j+1, e)
15. ℳj+1 ← TrainInfModel(ℳj, �rtr ∪ �etr)
16. �j+1, �j+1 ← UpdatePerfandThreshBuffer(ℳj+1, (�rvd ∪ �evd), �j, �j)
17. e’ ← PredicAnserEntity(ℳj+1, qj, �j+1 )
Nếu quan hệ r không thuộc cơ sở tri thức hiện tại �j hoặc r thuộc tập bổ biến, thì
bộ tương tác I của chatbot sẽ hỏi người dùng cung cấp các manh mối �r liên
quan tới r (dòng 1-3).
Tương tự, nếu thực thể e không thuộc cơ sở tri thức hiện tại �j hoặc e thuộc tập
phổ biến, I hỏi người dùng cung cấp sự kiện hỗ trợ ℱe liên quan tới e (dòng 4-
6).
40
Nếu người dùng cung cấp �r và ℱe chúng ta sẽ cập nhật cơ sở tri thức hiện tại �j
với bộ ba từ �r và ℱe khi đó cơ sở tri thức mở rộng thành �j+1 (dòng 7-12).
Trong quá trình, �% của bộ ba trong �r và ℱe được đánh dấu ngẫu nhiên như bộ
ba đào tạo và (1- �)% được đánh dấu như là validation triples trong khi lưu trữ
chúng trong �j.
Tiếp theo, một tập bộ ba train �rtr, �
etr và một tập những bộ ba xác nhận �r
vd,
�evd được lấy mẫu ngẫu nhiên từ �j+1 liên quan tới r và e tương ứng (dòng 13-
14) đào tạo và đánh giá ℳj. Trong tập mẫu, chúng tôi đặt tỉ lệ của bộ mà train
và bộ ba validation là alpha để duy trì phân phối tập huấn xác thực và xác thực.
Kích thước cho (�rtr, �
etr) được thiết lập tối đa Ntr (điều chỉnh dựa trên yêu cầu
đào tạo theo thời gian thực).
Tiếp theo, ℳj. được đào tạo cùng với (�rtr, �e
tr) và được cập nhật thành
ℳj+1[dòng 15]. Chú ý, đào tạo ℳj. cùng với (�rtr, �
etr) khuyến khích ℳj hợp
cả r và e trước khi suy ra qj. Sau đó đánh giá ℳj+1với (�rvd, �
evd) để cập nhập
bộ đệm hiệu xuất �j thành �j+1 (dòng 16).
Cuối cùng, ℳj+1 được chatbot gọi đến để thực hiện suy luận ra qj cho dự đoán
một câu trả lời là thực thể e’ từ �j+1 (dòng 17) hoặc từ chối qj chỉ ra rằng câu trả
lời đúng không tồn tại trong �j+1. Chú ý chatbot đào tạo ℳj và suy luận q
(dòng 13-17) chỉ nếu e’, q thuộc �j+1.
Kết luận Chương 3
Trong chương 3 khóa luận đã trình bày hệ thống học suốt đời thông qua tương tác
trong chatbot. Chi tiết từng thành phần và quy trình giải quyết bài toán khóa luận.
Quy trình giải quyết bài toán cơ bản gồm 2 bước: (i) Bước 1 - Tương tác với người
dùng nếu hệ thống phát hiện ra tri thức chưa được biết trong câu truy vấn của người
dùng nếu tất cả tri thức đã tồn tại thì bỏ qua bước này (ii) Bước 2: Thực hiện suy luận
trên tri thức vừa được cập nhật để đưa ra câu trả lời hoặc từ chối trả lời câu hỏi của
người dùng.
Nội dung trong chương tiếp theo trình bày về kết quả thực nghiệm và đánh giá phương
pháp đề xuất.
41
CHƯƠNG 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ
4.1. Môi trường thực nghiệm
Trong khóa luận này chạy thực nghiệm cho Học sâu suốt đời thông qua tương tác ứng
dụng trong chatbot với hai bộ dữ liệu là Wordnet và Freebase.
4.1.1. Phần cứng
Cấu hình phần cứng được sử dụng trong khóa luận thực nghiệm được thể hiện trong
Bảng 4.1 dưới đây:
Thành phần Chỉ số
CPU Intel Core i5 2.50 GHz
RAM 8.00 GB
Hệ điều hành Ubuntu18-64 bit
Bảng 4.1 Cấu hình hệ thống thi hành thực nghiệm
4.1.2. Phần mềm
Danh sách phần mềm sử dụng trong thực thi thực nghiệm được mô tả trong Bảng 4.2
dưới đây:
STT Tên phần
mềm
Tên tác
giả
Chức năng Tên nguồn
1 Pycharm Môi trường để viết
chương trình chạy trên
ngôn ngữ python
https://ww
w.jetbrains
.com/pych
arm/
42
2 Tensorflow Thư viện mã nguồn mở
cung cấp khả năng xử lí
tính toán số học dựa
trên biểu đồ mô tả sự
thay đổi của dữ liệu,
trong đó các node là các
phép tính toán học còn
các cạnh biểu thị luồng
dữ liệu.
https://ww
w.tensorflo
w.org/
3 Wordnet Bộ cơ sở tri thức thế
giới thực được trích
xuất từ web.
https://ww
w.cs.cornel
l.edu/~crist
ian/Echoes
_of_power
.html
4 Freebase Bộ cơ sở tri thức thế
giới thực được xây
dựng dựa trên công
đồng.
https://dev
elopers.go
ogle.com/f
reebase
5 Module
chuẩn hóa
dữ liệu
Nguyễn
Thị Hợp
Chuyển đổi định sang
của các bộ cơ sở tri
thức sang dạng bộ ba.
6 Module
tương tác
Sahisnu
Mazumder
, Nguyễn
Thị Hợp
Phát hiện tri thức chưa
được biết trong câu truy
vấn của người dùng,
tìm kiếm câu trả lời
trong tri thức người
dùng, cập nhật cơ sở tri
thức.
43
7 Mô hình dự
đoán câu trả
lời
Sahisnu
Mazumder
Nhúng các thực thể,
quan hệ; tính điểm hợp
lệ của các bộ ba; thực
hiện dự đoán câu trả
lời.
Bảng 4.2 Danh sách các phần mềm tiến hành trong thực nghiệm
4.2 Dữ liệu thực nghiệm
4.2.1 Mô tả kịch bản thực nghiệm
Sử dụng người dùng mô phỏng (một chương trình) để thực hiện đánh giá mô
hình. Mỗi người dùng mô phỏng có một cơ sở tri thức Ku để trả lời các câu hỏi của
chatbot và có tập câu truy vấn (�q) dùng để đưa ra các câu truy vấn cho chatbot. Trong
đó �q chứa tập các câu truy vấn q có cấu trúc dạng (e, r, ?) và (?, r, e) có thể đọc được
bằng chatbot. Trong thực tế, người dùng chỉ có thể đưa ra những câu truy vấn cho
chatbot, và không thể đánh giá được hiệu năng hệ thống trừ khi người dùng biết câu trả
lời. Để đánh giá hiệu năng của chatbot trên �q trong cài đặt mô phỏng, thu thập bộ câu
trả lời cho mỗi truy vấn q ∈ �q.
Ban đầu, chatbot đã được triển khai với cơ sở tri thức ban đầu (Kb) và mô hình
suy luận M đã được đào tạo với tất cả các bộ ba trong Kb. Trong giai đoạn huấn luyện
ban đầu, chia ngẫu nhiên các bộ ba Kb thành hai phần, một tập bộ ba bộ huấn luyện �tr
và một tập bộ ba bộ xác nhận �vd với tỷ lệ 9: 1; đào tạo mô hình M với �tr, tập bộ ba
�vd được sử dụng để điều chỉnh các tham số siêu mô hình và bộ đệm ngưỡng � và �
tương ứng. �tr, �vd, � và � được cập nhật liên tục sau (với bộ ba mới thu thập được)
trong quá trình tương tác với người dùng mô phỏng.
Khóa luận tạo tri thức của người dùng mô phỏng Ku, Kb và tập truy vấn �q từ cơ
sở tri thức KB là (1) Wordnet, (2) Freebase.
4.2.2 Mô tả dữ liệu bài toán
Cơ sở tri thức Wordnet:
44
WordNet là một cơ sở dữ liệu từ vựng về mối quan hệ ngữ nghĩa giữa các từ
trong hơn 200 ngôn ngữ. WordNet liên kết các từ thành quan hệ ngữ nghĩa như từ
đồng nghĩa, trái nghĩa, …. Các từ đồng nghĩa được nhóm thành các từ đồng nghĩa với
các định nghĩa ngắn và ví dụ sử dụng. WordNet do đó có thể được coi là sự kết hợp và
mở rộng của một từ điển và từ điển đồng nghĩa. Mục đích chính của Wordnet là sử
dụng trong các ứng dụng phân tích văn bản tự động và trí tuệ nhân tạo.
Vì Wordnet là bộ cơ sở tri thức thể hiện quan hệ giữa các từ nên số lượng quan
hệ trong cơ sở tri thức được giới hạn là 18 quan hệ với mỗi quan hệ có rất nhiều cặp
thực thể thể hiện có quan hệ đó. Các thực thể trong cơ sở tri thức cũng được thể hiện rõ
ràng hơn nhờ các quan hệ với các thực thể từ vựng khác. Nên việc hiểu về các thực thể,
quan hệ trong Wordnet là rất dễ dàng.
Cơ sở tri thức Freebase
Freebase là một cơ sở tri thức lớn được xây dựng dựa trên cộng tác bao gồm dữ
liệu được cấu thành chủ yếu bởi các thành viên cộng đồng của nó. Đây là một bộ sưu
tập trực tuyến các dữ liệu có cấu trúc được thu thập từ nhiều nguồn, bao gồm các cá
nhân, nguồn wiki. Freebase nhằm tạo ra một nguồn tài nguyên toàn cầu cho phép mọi
người (và máy móc) truy cập thông tin chung hiệu quả hơn.
Cơ sở tri thức wordnet được xây dựng dựa trên rất nhiều nguồn với nhiều miền
tri thức khác nhau nên số lượng các quan hệ, và đặc biệt là các thực thể cô cùng lớn.
Rất khó để có đầy đủ thông tin giúp cho việc học tốt về các thực thể.
Dữ liệu được sử dụng trong thực nghiệm
Với tập cơ sở tri thức Wordnet, Freebase, đầu tiên xây dựng một kho lưu trữ bộ ba khá
lớn và sử dụng nó làm KB gốc (Korg) và sau đó, tạo cơ sở tri thức Ku của người dùng,
KB cơ sở (Kb) của chatbot và �q từ Korg, như dưới đây.
Trong Wordnet, có 18 loại quan hệ r (với mỗi quan hệ r có ≥ 300 bộ ba) và lưu
chúng trong Korg và lấy cả 18 mối quan hệ để tạo �q, Kb. Sau đó xáo trộn danh sách 18
mối quan hệ để chọn ra khoảng 35% quan hệ làm quan hệ chưa biết và coi phần còn lại
(65%) là quan hệ đã biết.
Đối với mỗi mối quan hệ r đã biết , danh sách các bộ ba riêng biệt cho r trong
Korg, chọn (tối đa) 250 bộ ba vào Kb và chọn ngẫu nhiên 20% làm như là bộ truy vấn
45
đưa và �q và thêm một tập hợp con được chọn ngẫu nhiên của các bộ ba còn lại cùng
với phần còn lại (không có trong danh sách 250) thêm vào Ku (để cung cấp các sự kiện
hỗ trợ liên quan đến các mối quan hệ và / hoặc thực thể được biết kém, nếu được hỏi.
Đối với mỗi mối quan hệ r không xác định (không được biết trong Kq), tôi xóa
tất cả các bộ ba của r khỏi Korg, chọn ngẫu nhiên 20% bộ ba trong số chúng làm bộ ba
truy vấn cho các quan hệ r chưa biết đưa vào �q. Phần còn lại 80% của r không xác
định được thêm vào Ku (để cung cấp sự kiện hỗ trợ cho chatbot). Lưu ý, nếu người
dùng không thể cung cấp sự kiện hỗ trợ cho quan hệ truy vấn không xác định hoặc một
thực thể truy vấn không xác định, chatbot sẽ không thể trả lời chính xác truy vấn.
Tại thời điểm này, �q bao gồm các bộ ba truy vấn liên quan đến cả quan hệ đã
biết và chưa biết, nhưng tất cả các thực thể đã biết. Để tạo truy vấn trong �q có thực
thể không xác định, chúng tôi chọn ngẫu nhiên 20% thực thể trong bộ ba Dq, xóa tất cả
bộ ba liên quan đến các thực thể đó khỏi Korg và thêm chúng vào Ku. Bây giờ, Korg
được giảm xuống Kb (KB cơ sở). Tiếp theo, với mỗi bộ ba truy vấn (h, r, t) �q, chúng
tôi chuyển đổi bộ ba thành truy vấn đầu q = (?, r, t) [hoặc truy vấn đuôi q = (h, r ,?)]
bằng cách xóa ngẫu nhiên đầu hoặc đuôi thực thể. Chúng tôi cũng thu thập bộ câu trả
lời cho mỗi q ∈ �q dựa trên bộ ba được quan sát trong Korg để đánh giá chatbot. Lưu ý,
bộ ba truy vấn được tạo (có thực thể trả lời) trong �q không trực tiếp trong Kb hoặc Ku.
Tương tự với bộ dữ liệu Freebase với kích thước rất lớn nên khóa luận chỉ trích
xuất một phần thu được được 60 quan hệ, và chọn tất cả 60 quan hệ đưa vào tạo �q.
Tuy nhiên trong Freebase có lượng bộ ba của mỗi quan hệ r là rất ít.
Như đã đề cập trước đó, bộ ba trong Kb được chia ngẫu nhiên thành 90% bộ dữ
liệu xác thực và 10% để mô phỏng giai đoạn đào tạo ban đầu của chatbot.
Chi tiết dữ liệu được mô tả như bảng dưới đây:
Cơ sở tri thức WordNet Freebase
Quan hệ (Korg / Kb) 18/12 388/328
Thực thể (Korg / Kb) 13 595 / 13 150
46
Bộ ba (Korg / Kb) 53 573 / 33 159 20059/15605
Quan hệ kiểm tra
(knw/unk)
18 (12 / 6) 60(42/18)
Khởi tạo bộ
Train/Valid/test
29846 / 3323 / 1180 15555/50/280
Các mẫu câu truy vấn (�q ) [(e, r, ?) hoặc (?, r, e)]
% bộ ba chỉ chứa e
chưa biết
8.05 0.71
% bộ ba chỉ chứa r
chưa biết
30.25 9.6
% bộ ba chứa cả e và
r chưa biết
5.25 27.1
Bảng 4.3 Mô tả dữ liệu
Cơ sở tri thức KB của chatbot giúp chatbot trả lời truy vấn được lưu ở file
Wordnet_edgelist_pra0.tsv, Freebase_edgelist_pra0.tsv được lưu trữ với cấu trúc như
sau:
shoestring shoe _has_part-inv
splintering splinter _derivationally_related_form
stop barricade _derivationally_related_form
hold pushcart _has_part-inv
trainer manager _hypernym-inv
47
trim trimming _derivationally_related_form-inv
compound nitrate _hypernym-inv
motor motorist _derivationally_related_form-inv
fellow society _derivationally_related_form-inv
Với mỗi hàng biểu thị một bộ ba tri thức có dạng "s t r" trong đó s là thực thể đầu, t là
thực thể cuối được liên kết với nhau bởi quan hệ r.
Cơ sở tri thức Ku của người dùng u được lưu ở file user_freebase.txt, user_wordnet.txt
và tập câu truy vấn �q dùng để sinh ra các truy vấn cũng như là bộ dữ liệu đánh giá
hiệu suất mô hình được lưu ở file test_wordnet.txt, test_freebase.txt có chung định
dạng như sau:
_hyponym--->front-;-storefront##neaten-;-set##drive-;-
ambitiousness##organ-;-tongue##terra_firma-;-isthmus##request-;-
excuse##hydroxy_acid-;-salicylic_acid##cleanup-;-sweeping##device-;-
instrument##sound-;-chime##END
_derivationally_related_form--->reject-;-rejection##taste-;-tasty##parcel-;-
tract##presentation-;-present##existence-;-existent##rising-;-
meeting##shrivel-;-shrinking##philosopher-;-philosophical##tip-;-
leaner##END
_hypernym--->pour-;-run##shop-;-obtain##judge-;-settle##yardmaster-;-
trainman##rationing-;-parcelling##untrustworthiness-;-trait##perquisite-;-
benefit##END
Có cấu trúc chung là : _r--->s1-;-t1##s2-;-t2##...##END
Trong đó r là quan hệ, si là thực thể đầu, ti là thực thể cuối được liên kết với nhau bởi
quan hệ r.
4.3 Cấu hình hệ thống
Các tham số của mô hình được cấu hình như trong bảng dưới đây:
48
Tham số Ý nghĩa
α = 0.9 Tỷ lệ tập dữ liệu đào tạo và bộ dữ liệu xác nhận
(Dvd:Dtr)
ρ = 20% Số % để đánh giá thực thể, quan hệ vào tập tri thức
phổ biến được dùng vào phiên hội thoại tiếp theo
lr = 0,001 Tỷ lệ học của mô hình mô hình
embd_dim = 250 Số chiều nhúng thực thể và quan hệ
init_train_epoch =
100/140
Khởi tạo đào tạo 100 epoch với Wordnet và 140
với Freebase
training_epoch = 5 Số lượng epoch đưa và đào tạo
training_batch = 128 Kích thước lô dữ liệu
num_facts = 3
num_clues = 1
hoặc
num_facts = 3
num_clues = 1
Số lượng câu hỏi tối đa cho thực thể chưa biết.
Số lượng câu hỏi tối đa cho quan hệ chưa biết
Bảng 4.4 Mô tả cấu hình tham số của mô hình
49
4.4 Kết quả thực nghiệm và thảo luận
4.4.1. Kết quả thực nghiệm
Kết quả thực nghiệm mô hình được mô tả trong bảng 4.5 và bảng 4.7 dưới đây:
Bảng 4.5 mô tả hiệu xuất dự đoán của các phiên bản khác nhau của mô hình với
giới hạn tương tác với người dùng là 1-3 (hỏi người dùng tối đa 1 câu hỏi liên quan tới
quan hệ chưa biết và tối đa 3 câu hỏi liên quan tới thực thể chưa biết) và 2-5 (hỏi người
dùng tối đa 2 câu hỏi liên quan tới quan hệ chưa biết và tối đa 5 câu hỏi liên quan tới
thực thể chưa biết). Ta có thể thấy rằng hiệu xuất dự đoán chung của mô hình ở hai
phiên bản gần như là tương đương nhau.
Khi thực thể và quan hệ trong truy vấn của người dùng đều đã tồn tại trong cơ sở thức
của chatbot thì hiệu xuất dự đoán đạt mức cao nhất ~0.45 ở cả hai phiên bản của các
kho ngữ liệu.
Thêm một điều đáng chú ý nữa là hiệu xuất dự đoán khi không biết quan hệ cao hơn
khi không biết thực thể, lý do là vì số lượng các quan hệ là ít hơn so với thực thể nên
việc sự đoán và học các quan hệ sẽ dễ dàng hơn so với dự đoán thực thể.
Rel-K/Ent-K Rel-K/Ent-U Rel-U/Ent-K Rel-U/Ent-U
Wordnet
Số bộ ba 666 95 357 62
MRR (1-3) 0.4553 0.031 0.163 0.0222
MRR (2-5) 0.4573 0.0312 0.1077 0.02
Freebase
Số bộ ba 175 2 27 76
50
MRR (1-3) 0.463 0.001 0.012 0.2327
Bảng 4.5 MRR của mô hình
Trong đó
Kí hiệu Ý nghĩa
Rel-K Quan hệ truy vấn tồn tại trong cơ sở tri thức của
chatbot
Ent-K Thực thể truy vấn tồn tại trong cơ sở tri thức của
chatbot
Rel-U Quan hệ truy vấn không được biết trong cơ sở tri thức
của chatbot
Ent-U Thực thể truy vấn không được biết trong cơ sở tri thức
của chatbot
MRR (1-3) Đánh giá mô hình với num_facts = 3 và num_clues =
1
MRR (2-5) Đánh giá mô hình với num_facts = 5 và num_clues =
2
Bảng 4.6 Giải thích kí hiệu đánh giá MRR
Bảng 4.7 dưới đây mô tả số lượng các câu trả lời được sự đoán bởi mô hình có
tồn tại trong cơ sở tri thức ban đầu hay không. Ta có thể thấy số lượng câu trả lời
chatbot dự đoán được khi thực thể trả lời tồn tại trong cơ sở tri thức là rất cao chiếm
tới (917/1180) với Wordnet(2-5). Và từ bảng ta cũng có thể thấy chatbot có thể dự
doán được câu trả lời ngay cả khi thực thể trả lời không tồn tại trong cơ sở tri thức với
tỷ lệ (66/1180) với Wordnet(2-5). Kết quả chỉ tiết được thể hiện trong bảng dưới đây.
51
1-1 1-0 0-0 0-1
Wordnet (2-5) 917 178 19 66
Wordnet (1-3) 892 194 22 72
Freebase(1-3) 239 35 3 3
Bảng 4.7 Đánh giá thực thể trả lời
Trong đó:
Kí hiệu Ý nghĩa
1-1 Thực thể trả lời tồn tại trong KB và chatbot suy luận được câu
trả lời
1-0 Thực thể trả lời tồn tại trong KB và chatbot không thể suy luận
được câu trả lời
0-0 Thực thể trả lời không tồn tại trong KB và chatbot không thể
suy luận được câu trả lời
0-1 Thực thể trả lời không tồn tại trong KB và chatbot suy luận
được câu trả lời
Bảng 4.8 Giải thích kí hiệu đánh giá thực thể trả lời
Lưu ý: Khóa luận sử dụng dữ liệu trong tệp test_<KB_name>.txt là nơi lưu trữ các bộ
ba hoàn chỉnh, bằng cách đưa các bộ ba vào và xóa ngẫu nhiên tôi thu được câu truy
vấn khuyết thực thể và lưu trữ được thực thể vừa xóa đó để đánh giá câu trả lời của
chatbot, thế nên tập câu trả lời đúng có thể không đầy đủ.
4.4.2. Thảo luận kết quả
52
Như đã trình bày trong các phần trước, hệ thống chatbot được đề xuất được sử
dụng tốt nhất trong môi trường triển khai thực thế, nó sẽ nhận được nhiều bộ ba truy
vấn trong nhiều phiên hơn (do đó, tích lũy nhiều sự kiện hơn) từ những người dùng
khác nhau theo thời gian. Hiện tại trong khóa luận này chỉ thực hiện đàm thoại trong
một phiên truy vấn với một người dùng mô phỏng. Và chatbot đáp ứng yêu cầu học tập
kiến thức của mình chỉ bằng cách thêm các sự kiện hỗ trợ nhận được từ người dùng
vào cơ sở tri thức KB. Bộ ba truy vấn dự đoán là đúng bằng các tri thức đã có sẵn
trong cơ sở tri thức không được thêm vào vì chúng là kiến thức chưa được xác minh
tính đúng đắn.
Tuy nhiên, trên thực tế, chatbot cũng có thể lưu trữ các bộ ba dự đoán này trong
cơ sở tri thức KB sau khi kiểm tra tính chính xác của chúng thông qua xác minh chéo
trong khi trò chuyện với những người dùng khác trong một số cuộc trò chuyện liên
quan trong tương lai bằng cách hỏi họ một cách thông minh. Lưu ý rằng hiện tại
chatbot có thể không xác minh dự đoán của mình với cùng một người dùng đã hỏi câu
hỏi / truy vấn q vì người dùng có thể không biết (các) câu trả lời cho q. Tuy nhiên,
không có vấn đề gì khi nó có được (các) câu trả lời đúng của q khi nó hỏi q cho một số
người dùng khác u trong một cuộc trò chuyện liên quan trong tương lai và u câu trả lời
q. Tại thời điểm này, chatbot có thể kết hợp q vào KB của mình và đồng thời, tự đào
tạo bằng cách sử dụng bộ ba q.
53
KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO
Kết luận
Khóa luận này tập trung nghiên cứu hai kỹ thuật giúp chatbot có thể học suốt đời
thông qua tương tác với người dùng là LiLi và CILK của tác giả Sahisnu Mazumder và
cộng sự (2018, 2019) và áp dụng vào bài toán học tri thức mới thông qua tương tác với
bộ dữ liệu Freebase, Wordnet với kết quả như sau:
Đề xuất một mô hình học thông qua tương tác trong chatbot với 2 bước chính là
tương tác với người dùng và suy luận câu trả lời từ cơ sở tri thức. Hai bước này đã
được trình bày chi tiết trong phần trên của khóa luận
Tiến hành thực nghiệm với bộ dữ liệu Freebase, Wordnet. Do thời gian có hạn
nên khóa luận mới chỉ giải quyết được những câu truy vấn của người dùng có dạng (s,
r, ?) hoặc (?, r, t) với dữ liệu tiếng Anh.
Hạn chế của khóa luận
Các công việc trong tương lai
Hiện tại khóa luận mới chỉ thực hiện thực nghiệm trên các bộ cơ sở tri thức có
sẵn là Wordnet và Freebase; công việc trong tương lai là xây dựng bộ dữ liệu Tiếng
Việt và thực hiện việc triển khai thực tế chatbot để chatbot có thể được hoạt động trong
môi trường thực tế với nhiều người dùng (mỗi người dùng có những tri thức khác
nhau) trong nhiều phiên đối thoại.
54
TÀI LIỆU THAM KHẢO
Tiếng Anh
[1] Marjan Ghazvininejad, Chris Brockett, Ming-Wei Chang, Bill Dolan, Jianfeng
Gao, Wen-tau Yih, and Michel Galley. A knowledge-grounded neural
conversation model. arXiv preprint arXiv:1702.01932, 2017.
[2] Z. Chen, B. Liu. Lifelong Machine Learning (2nd edition). Morgan & Claypool
Publishers, 2018.
[3] Bing Liu. Learning on the Job: Online Lifelong and Continual Learning. AAAI
2020: 13544-13549.
[4] Sahisnu Mazumder, Nianzu Ma, Bing Liu. Towards a Continuous Knowledge
Learning Engine for Chatbots. arXiv:1802.06024, 2018.
[5] Sahisnu Mazumder, Bing Liu, Shuai Wang, Nianzu Ma. Lifelong and Interactive
Learning of Factual Knowledge in Dialogues. arXiv:1907.13295, 2019.
[6] Ni Lao, Tom M. Mitchell, William W. Cohen. Random Walk Inference and
Learning in A Large Scale Knowledge Base. EMNLP 2011: 529-539.
[7] Antoine Bordes, Nicolas Usunier, Alberto García-Durán, Jason Weston, Oksana
Yakhnenko. Translating Embeddings for Modeling Multi-relational Data. NIPS
2013: 2787-2795.
[8] Ni Lao, William W. Cohen. Relational retrieval using a combination of path-
constrained random walks. Mach. Learn. 81(1): 53-67, 2010.
[9] Jason Weston, Antoine Bordes, Oksana Yakhnenko, Nicolas Usunier. Connecting
Language and Knowledge Bases with Embedding Models for Relation
Extraction. EMNLP 2013: 1366-1371.
[10] Bishan Yang, Wen-tau Yih, Xiaodong He, Jianfeng Gao, Li Deng. Embedding
Entities and Relations for Learning and Inference in Knowledge Bases.
arXiv:1412.6575, 2014.