65
ĐẠ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

HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

ĐẠ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

Page 2: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

ĐẠ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

Page 3: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 4: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 5: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 6: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 7: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 8: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 9: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 10: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 11: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 12: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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]).

Page 13: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 14: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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,

Page 15: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 16: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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)

Page 17: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 18: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suố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.

Page 19: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 20: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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ể

Page 21: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 22: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đờ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ệ.

Page 23: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 24: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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"

Page 25: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 26: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 27: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 28: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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)

Page 29: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 30: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 31: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 32: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 33: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 34: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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).

Page 35: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 36: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đờ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.

Page 37: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 38: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 39: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 40: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 41: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 42: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 43: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 44: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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 = ∑ ��[�]��[�]��[�]�

���

Page 45: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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}�� � ��� � ��

Page 46: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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}

Page 47: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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ừ

Page 48: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 49: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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 = �

� ∑

�����

����

Page 50: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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).

Page 51: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 52: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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/

Page 53: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 54: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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:

Page 55: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 56: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 57: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 58: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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:

Page 59: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 60: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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

Page 61: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 62: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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ả

Page 63: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 64: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đời

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.

Page 65: HỌC SÂU SUỐT ĐỜI TƯƠNG TÁC VÀ ỨNG DỤNG VÀO CHATBOTthuyhq/Student_Thesis/K61_Nguyen_Thi... · 2020. 10. 25. · 3 LL Lifelong Machine Learning Học suốt đờ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.