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

Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng hệ thống hỏi đáp về quy định đào tạo đại học

90 0 0
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Nội dung

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai họcThông điệp đầu vào Lấy mẫu phản hồi Tim câu trả lời qua RetMRC 1 Bouunicayi-ic N Xử lý phản hồi Phản hồi của chatbo

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KHOA HỌC MÁY TÍNH

HA QUỐC TIEN - 17521122

KHÓA LUẬN TỐT NGHIỆP

XÂY DUNG HỆ THONG HOI ĐÁP

QUY ĐỊNH ĐÀO TẠO ĐẠI HỌC

Building a Question Answering System

for Higher Education Policies

CỬ NHÂN NGÀNH KHOA HỌC MÁY TÍNH

GIẢNG VIÊN HƯỚNG DẪN

TS NGUYEN LƯU THUY NGAN

THANH PHO HO CHi MINH, 01/2021

Trang 2

1.4 Dối tượng và phạm vi nghiên cứu| : ĩ

1.5 Các công trình liên quan| ẶẶẶ 9

2_ Cơ sở lý thuyết 11

2.1 Transiormerl ẶẶẶ ẶẶ QC 12

2.2 Biểu diễn văn bản và đọc hiểu máy| 15

16 19

2.2.3 BERT cho bài toán đọc hiểu máy| - 21

Chatbot và máy học trong chatbot Rasal 23 2.3.1 Chatbot hướng nhiệm vụ| 23

2.3.2 Bài toán phân loại ý định thong điệp| 24

[2.3.2.1 5ubword semantic hashng] 25

Trang 3

Khoa luận tốt nghiệp Xâu dựng hệ thống hởi đáp quy định đào tạo đại học

¬ es 27

2.3.3 Chiến lược hội thoại 30

32

2.4 33

2.4.1 Mô hình không gian veclor 34

[2.4.1.1 Biểu diễn văn bản| 35

3.1.2 Quản lý hội thoại cSẶ So 44

3.1.3 Mô hình hóa hội thoại| 46

3.2 Kiến trúc mô-dun Q&A] wwấ —.- 48

521 RetPAQ) 0 eee 48

3.3.1 Dữ liệu huấn luyện NLU| 51

3.3.2 §9 câu FAQ về quy định đào tao đại học| ¬ 51

3.3.3 ữ liệu quy định đào tạo đại học 52

Dữ liệu huấn luyện MRC 53 3.4 Cài đặt hệ thống 55

Hà Quốc Tiến KHTN2017

Trang 4

Khoa luận tốt nghiệp Xâu dựng hệ thống hởi đáp quy định đào tạo đại học

4.3 Dánh giá toàn hệ thong) 2 0.000220 .2 00000004 69

4.3.1 Xây dung dữ liệu hội thoại 69

4.3.2_ Đánh giá hội thoại 70

75

Tai liệu tham khảo|

Hà Quốc Tiến KHTN2017

Trang 5

Danh sách bảng

21 Ví dụ biểu diễn BoW và TE-IDF| 37

3.1 Một số vi dụ cho các điểm dữ liệu huấn luyện NLU 52

3.2 Một số cặp câu FAQ quy định đào tạo dai học 533.3 Một số tài liệu trong bộ 152 tài liệu quy định đào tạo đại hoc UIT 53

4.1 So sánh kết quả các cấu hình NLU[ 62

4.2_ So sánh kết quả đánh giá các mô hình đọc hiểu máy 65 4.3 Tiêu chuẩn đánh giá xếp loại các cuộc trò chuyện 70

4.4 Kết quả đánh giá toàn hệ thống 71

Trang 6

Danh sách hình vẽ

1.1 Lưu đồ miêu tả sơ lược hệ thống 5

2.1 Không gian biểu diễn word2vec trước và sau huấn luyện 17

- — Vee 20

Ce 22

i ~*~ Tee Gee Eee 28

mye | / ộ 33

2.6 Khoảng cách Euclid và cosine) 2 39

3.1 Kiến tric hệ thong] 2.0 0 ee 423.2 Mô-đun NLU trong hệ thống | 433.3 Dé thị mô hình hóa hội thoại 47

3.4 Mô hình truy vấn và đọc hiểu RetMRC|] 49

3.5 Giao diện chatbot Facebook Messenger|l 58

4.1 Ma trận nhầm lẫn ý định| 63

Trang 7

bá a

Một số kí hiệu viết tắt

BoW Bag of Words

CBOW Continuous Bag of Words

DIET Dual Intent Entity Transformer

MLP Multi-layer Perceptron

NLU Natural Language Understanding

RNN Recurrent Neural Network

SVM Support Vector Machine

TED Transformer Embedding Dialogue

UIT University of Information Technology

Trang 8

Lời nói đầu

Em xin được cảm ơn cô Nguyễn Lưu Thùy Ngân vì đã hướng dẫn em thực hiện

khóa luận này, dù cho trong quá trình thực hiện em nhiều lần mất tập trung và đi

lệch hướng, cô luôn giúp em trở lại đúng hướng Em cũng cảm ơn anh Nguyễn Đức

Vũ đã có nhiều gợi ý vô cùng quý giá về đề tài cho em

Trang 9

Tóm tắt đề tài

Các chuyên viên ở trường đại học phải dành nhiều thời gian và công sức để trả lời

những câu hỏi liên quan tới quy định đào tạo đại học cho sinh viên qua nhiều kênhnhư tiếp mặt đối mặt ở trường, điện thoại hay thư điện tử Một hệ thống hỏi đáp

tự động có khả năng phần nào thay thế con người trong việc giải đáp thắc mắc của

sinh viên về quy định đào tạo đại học có thể mang lại nhiều lợi ích Do đó, đề tài

nghiên cứu và cố gắng ứng dụng các kỹ thuật máy học, xử lý ngôn ngữ tự nhiên và

các công nghệ liên quan để xây dựng một hệ thống hỏi đáp quy định đào tạo đại

học tại Trường Đại học Công nghệ Thông tin.

Đề tài cài đặt hệ thống hỏi đáp qua hình thức chatbot, vừa có khả năng trò

chuyện với sinh viên một cách tự nhiên như một người bạn vừa có khả năng trả

lời câu hỏi như chuyên viên Bên dưới hệ thống chabot là các mô-đun phân loại ý

định thông điệp người dùng, đưa ra quyết định về hành động kế tiếp của chatbot

và trả lời câu hỏi của sinh viên qua các mô hình truy vấn văn bản và đọc hiểu máy.

Hệ thống được cài đặt giao diện trên nền tang chat Facebook Messenger

Hệ thống đạt được độ thành công 71% cho các cuộc hội thoại ngắn có chứa một

câu hỏi và 33% cho các cuộc hội thoại dài hơn có chứa hai câu hỏi Mô hình đọc

hiểu dựa trên BERT được dùng trong hệ thống cũng đạt được kết quả cao hơn so

Trang 10

Khóa luận tốt nghiệp Xâu dựng hệ thống hỏi đáp quụ định đào tạo đại học

với mô hình của một công trình liên quan trước đó, với điểm fl đạt 81.28% so với

55.72% của công trình trước.

Hà Quốc Tiến 2 KHTN2017

Trang 11

như Phòng Đào tạo Đại học, email, điện thoại, để được giải đáp thắc mắc liên

quan.

Những hình thức hỗ trợ sinh viên như trên đều tốn nhiều tài nguyên về người

và thời gian, đôi khi quá tải khiến cho việc phản hồi sinh viên kịp thời là không

thể, gây ra nhiều phiền toái ví dụ trong trường hợp nếu như sinh viên cần biết ngay thông tin để đáp ứng nhu cầu hoàn thành một thủ tục nào đó có thời hạn Trong

một khảo sát thực hiện bởi Nguyễn Việt Nam với đối tượng sinh viên Trường Dạihọc Công nghệ Thông tin (UTT), 65% sinh viên hỏi bạn bè, thầy cô và 45% sinh

viên gửi email về Phòng Đào tạo Đại học để được giải đáp thắc mắc liên quan tới

quy định đào tạo đại học, so với chỉ 15% sinh viên tìm câu trả lời của mình qua

Trang 12

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

việc tìm đọc tài liệu ban hành quy định đào tạo đại học của trường [I] Hơn nữa,

theo cùng khảo sát, có 1/3 số sinh viên mong muốn Phòng Đào tạo Đại học có thể

phản hồi qua email nhanh chóng hơn

Mặt khác, những tiến bộ trong lĩnh vực máy học, cụ thể là xử lí ngôn ngữ tự

nhiên ngày càng được giới nghiên cứu chú ý nhiều hơn do những ứng dụng hữu ích

nó có thể mang tới Một trong số đó là những tiến bộ cho phép xây dựng chatbot

thông minh, có khả năng thay thế con người trong nhiều nhiệm vụ như chăm sóckhách hàng, đặt hàng, tư vấn, tán gẫu,

Từ nhu cầu thực tế và nền tảng công nghệ đó, khóa luận này tập trung vào việcxây dựng một chatbot đóng vai trò như một chuyên viên hỗ trợ sinh viên về cácthắc mắc liên quan tới quy định đào tạo đại học tại Trường Công nghệ Thông tin

1.2 Mô tả sơ lược hệ thống

Như hình hệ thống bao gồm các bước xử lý chính như phân loại ý định, dựđoán hành động kế tiếp và tìm câu trả lời, ứng với các bước xử lý này lần lượt là

các mô-đun Hiểu ngôn ngữ tự nhiên (NLU), Quản lý hội thoại và Q&A.

Cu thể, thông điệp người dùng có thể chỉ chứa những yếu tố hội thoại thông

thường như Xin chào, Cam ơn, Tạm biệt, Ok hay chứa một thắc mắc liên quan tới

quy định đào tạo đại học như Thời gian học kà hè kéo dài khoảng bao lâu? Thông

điệp từ người dùng sẽ đi qua mô-đun NLU, mô-dun này xử lý thông điệp văn ban

và đưa thông điệp vào một bộ phân lớp ý định người dùng Một nhãn ý định được

trả về như đầu ra của mô-đun, giúp hệ thống quyết định hành động kế tiếp cần

làm là gì.

Hà Quốc Tiến 4 KHTN2017

Trang 13

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

Thông điệp đầu vào

Lấy mẫu phản hồi

Tim câu trả lời

qua RetMRC 1 Bouunicayi-ic

N

Xử lý phản hồi

Phản hồi

của chatbot

Hình 1.1: Lưu đồ miêu tả sơ lược hệ thống

Mô-đun Quản lí hội thoại đảm nhận việc theo đõi trạng thái hội thoại và dự

đoán hành động kế tiếp, dựa vào ý định người dùng tại thời điểm hiện tại và các

sự kiện đã xảy ra trong cuộc trò chuyện Lúc này, nếu mô-đun xác định hành động

cần làm tiếp theo là trả lời câu hỏi người dùng liên quan tới quy định đào tạo đại

học, hệ thống sẽ gửi thông điệp người dùng chứa câu hỏi tới mô-đun Q&A Mô-đunQ&A nhận câu hỏi và trả về câu trả lời cho câu hỏi Bên trong mô-đun Q&A có

hai mô hình mà ở khóa luận này gọi là RetFAQ và RetMRC RetFAQ là một mô

hình truy vấn văn bản, tìm câu trả lời bằng cách so khớp câu hỏi của người dùng

với những câu hỏi thường gặp đã có sẵn trong dữ liệu của hệ thống Nếu độ tin

Trang 14

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

cậy từ RetFAQ thấp hơn một mức e nào đó, mô-đun Q&A gọi mô hình RetMRC

- một mô hình kết hợp truy vấn tài liệu và rút trích câu trả lời - để tìm câu trả lời

thay cho RetFAQ.

Trong trường hợp mô-đun quản lý hội thoại xác định hành động kế thuộc các

trường hợp trao đổi với người dùng không thuộc trường hợp trả lời câu hỏi liên

quan tới quy định đào tạo đại học, mô-đun dùng những mẫu có sẵn phù hợp với

tình huống giao tiếp, ví dụ khi người dùng nói Chào bạn, chatbot sẽ dùng phản hồi

có sẵn trong tình huống chào hỏi, Chào ban, bạn can hỗ trợ vé van dé gi? để tra

lời Mẫu phan hồi hay câu trả lời từ mô-đun Q&A trải qua những xử lý nhỏ để

hoàn thiện và trở thành phản hồi chatbot gửi đến người dùng

1.3 Mục tiêu

Khóa luận này nhắm tới việc bước đầu xây dựng và đánh giá được một hệ thống

hoàn chỉnh đảm nhận được nhiệm vụ trả lời các câu hỏi của sinh viên liên quan tới

quy định đào tạo đại học qua hình thức trò chuyện tự nhiên, bao gồm cả nhữngyếu tố đàm thoại khác sẽ xảy ra nếu như sinh viên đó trò chuyện với một chuyên

viên con người như zin chào, cam on, tam biệt.

Cụ thể mục tiêu của khóa luận bao gồm:

1 Tìm hiểu và ứng dụng các mô hình xử lí ngôn ngữ tự nhiên và truy xuất dữ

liệu đảm nhận vai trò cốt lõi cho hệ thống:

e Mô hình truy van các câu hỏi thường gặp (FAQ), ở khóa luận này gọi là

RetFAQ.

Hà Quốc Tiến 6 KHTN2017

Trang 15

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

e Mô hình truy vấn các tài liệu về quy định đào tạo đại học của trường.

e Mô hình đọc hiểu (MRC) ngôn ngữ tự nhiên, giúp trích xuất câu trả lời

cho câu hỏi ứng với một ngữ cảnh nào đó, câu trả lời là một đoạn văn liên

tục nằm trong ngữ cảnh, khóa luận này gọi mô hình truy vấn tài liệu quy

định đào tạo kết hợp với mô hình đọc hiểu là RetMRC.

e Mô hình NLU giúp xử lý thông điệp người dùng gửi tới chatbot và phân

loại ý định của thông điệp, giúp hệ thống có phản hồi phù hợp

2 Hệ thống hỏi đáp: hệ thống tích hợp những mô-đun chính gồm những mô hình

nói trên, hoạt động trên dữ liệu là 89 câu FAQ va bộ tài liệu quy định đào tao

đại học của trường UIT Các phần back-end được cài đặt qua thư viện Rasa

Về ứng dụng, hệ thống được cài đặt trên nền tảng Facebook Messenger

3 Đánh giá và phân tích hệ thống: tại thời điểm thực hiện khóa luận, một hệ

thống hỏi đáp với các công nghệ và mô hình tương tự chưa được công bồ, việc

đánh giá hệ thống do đó là cần thiết để đưa ra được một cái nhìn về tính hiệu

quả của hệ thống Khóa luận tạo ra một bộ các cuộc hội thoại bao gồm cáccâu hỏi liên quan tới quy định đào tạo đại học cùng với các yếu tố đàm thoại

tự nhiên và đánh giá hệ thống dựa vào sự thành công trong việc đảm nhận vaitrò người giải đáp thắc mắc trong các cuộc hội thoại đó

1.4 Đối tượng và phạm vi nghiên cứu

Khóa luận tìm hiểu và cỗ gắng ứng dụng những kỹ thuật máy học, truy vấn thông

tin và kiến trúc chatbot vào việc xây dựng hệ thống hỏi đáp về quy định đào tạo

Hà Quốc Tiến 7 KHTN2017

Trang 16

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

đại học Từ đó, đối tượng nghiên cứu của khóa luận bao gồm:

e Các mẫu hội thoại trao đổi về quy định đào tạo đại học của Trường Dai học

Công nghệ Thông tin giữa sinh viên và chatbot với vai trò "người" giải dap

e Các bộ dữ liệu được dùng trong hệ thống như SQuAD, TyDi QA, bộ dữ liệu

89 câu FAQ và bộ tài liệu ban hành quy định đào tạo đại học của trường.

e Kiến trúc chatbot Rasa và thư viện cài đặt chatbot Rasa.

Các mẫu hội thoại được giới hạn trong phạm vi các trao đổi chào hỏi, xác nhận,

phủ nhận thông thường cộng với các trao đổi liên quan tới quy định đào tạo đại

học.

Phạm vi nghiên cứu và ứng dụng các đối tượng kỹ thuật máy học, học sâu trên

bao gồm các nền tảng toán học, kiến trúc mạng học sâu được sử dụng trong hệthống Các kỹ thuật truy vấn văn bản được nghiên cứu và ứng dụng với phạm vi

tương tự Dữ liệu dùng cho hệ thống có phạm vi là những tài liệu quy định đào tao

đại học của Trường Đại học Công nghệ Thông tin.

Các mô-đun, thuật toán trong kiến trúc chatbot Rasa được ứng dụng và tìm

hiểu trong phạm vi được sử dụng trong hệ thống, do đó có nhiều thành phần không

Hà Quốc Tiến § KHTN2017

Trang 17

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

được trình bày hay được trình bày giản lược do không được sử dụng trong hệ thống

và cũng không giúp được cho việc hiểu hơn về hệ thống.

1.5 Các công trình liên quan

Các hệ thống hỏi đáp nhận được nhiều quan tâm của giới nghiên cứu và có nhiều

công trình đã xây dựng những hệ thống hỏi đáp trên dit liệu tiếng Việt

Hoàng Đức Thịnh [2] xây dựng một hệ thống chatbot với mục đích tư van học

tập cho sinh viên Với cách tiếp cận cổ điển, hệ thống được xây dựng trên ngôn

ngữ AIML và là một hệ thống dựa trên các luật định nghĩa sẵn, cộng với một hệ

cơ sở tri thức được thu thập và tổ chức bởi chuyên gia.

Nguyễn Thành Thủy [3| xây dựng một hệ thống hỏi đáp dạng chatbot, trung

tâm của hệ thống là việc phân loại ý định người dùng Hệ thống chia 35 câu hỏi

người dùng thành 35 ý định khác nhau cho mô hình phân biệt và cho mỗi ý định

20 ví dụ huấn luyện Một mô hình SVM được huấn luyện trên dữ liệu văn bảnđược vector hóa cho việc phân loại ý định Cách tiếp cận chia các câu hỏi thành

các ý định để mô hình phân loại như của tác giả có hạn chế về tính mở rộng của

hệ thống, cụ thể nếu cần thêm bớt câu hỏi thì cần phải sửa đổi dữ liệu huấn luyện

mô hình phân loại ý định và cả số nhãn của mô hình phân loại

Nguyễn Việt Nam [I] kết hợp mô hình truy vấn văn bản và mô hình đọc hiểu máy dựa trên kỹ thuật học sâu để tạo ra một hệ thống nhận đầu vào là một câu

hỏi liên quan tới quy định đào tạo đại học của Trường Dại học Công nghệ Thông

tin và trả về một đoạn văn bản nằm trong một tài liệu chứa câu trả lời Một tập

tài liệu quy định đào tạo đại học được tạo ra từ việc chia nhỏ, tách các mục của

Hà Quốc Tiến 9 KHTN2017

Trang 18

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

các văn bản quy định nhà trường đăng tải Hệ thống có tính mở rộng cao, không

bị giới hạn số câu hỏi có thể trả lời, miễn sao trong tập tài liệu có chứa câu trả lời

có thể được rút trích Tuy nhiên hệ thống chưa có phần đóng vai trò xử lý các yếu

tố hội thoại khác ngoài các câu hỏi

Đỗ Viết Mạnh [4] xây dựng một chatbot trên kiến trúc chatbot Rasa nhằm mục

đích hỗ trợ bán hàng online Chatbot ứng dụng các kỹ thuật dự đoán ý định người

dùng, quyết định hành động kế tiếp, giúp xử lý được nhiều tình huống hội thoại

xảy ra với người dùng.

Theo đó, khóa luận này xây dựng một hệ thống chatbot hỏi đáp dựa trên kiến

trúc Rasa để có thể xử lý được nhiều tình huống hội thoại từ người dùng một cách

linh hoạt Cùng với đó, một mô hình nhận vào một câu hỏi của người dùng khi

chatbot dự đoán ý định của người dùng là hỏi về quy định đào tạo đại học và trả

về một câu trả lời đảm nhận vai trò thực hiện tác vụ chính của hệ thống Một mô

hình kết hợp truy vấn văn bản và đọc hiểu máy như ở [I] được sử dụng, cùng với

đó là một mô hình so khớp các câu hỏi đã được trả lời sẵn, được thu thập và trả

lời bởi chuyên viên.

Hà Quốc Tiến 10 KHTN2017

Trang 19

Chương 2

Cơ sở lý thuyết

Các kiến trúc học sâu, kỹ thuật truy vấn văn bản và các kiến thức liên quan khác

được sử dụng trong quá trình xây dựng hệ thống được trình bày ở chương này.Trong đó, kiến trúc Transformer được giới thiệu đầu tiên ở Đây là kiến trúchọc sâu làm nền tảng cho BERT, một mô hình ngôn ngữ được sử dụng trong mô

hình đọc hiểu máy của hệ thống BERT và phương pháp ứng dụng BERT vào bài

toán đọc hiểu máy được làm rõ ỏ|2.2| bên cạnh đó một số mô hình ngôn ngữ khác

cũng được giới thiệu sơ lược Các mô hình dự đoán ý định DIET hay mô hình

quyết định hành động kế tiếp TED nằm trong kiến trúc chatbot Rasa được sửdụng trong hệ thống, đều cũng dựa trên kiến trúc Transformer, được trình bày ở

Các kỹ thuật truy vấn văn bản được sử dụng trong hệ thống như mô hình

không gian vector và Okapi BM25 được giới thiệu cuối cùng ỏ|2.4|

11

Trang 20

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

2.1 Transformer

Các mô hình mạng Recurrent Neural Network (RNN) được ứng dụng rộng rãi cho

các bài toán liên quan tới dữ liệu có tính chuỗi như văn bản Các mô hình này xử

lý văn ban theo từng token ở mỗi timestep Ở mỗi timestep, mô hình kết hợp token

đầu vào cùng với một hidden state thể hiện ngữ cảnh được mã hóa cho tới bước trước đó để cho ra một mã hóa ngữ cảnh của bước hiện tại, đầu ra này của mô hình tiếp tục được kết hợp với token tiếp theo để cho ra mã hóa ngữ cảnh cho tới

bước tiếp theo của văn bản Đây chính là lý do cho tên của mô hình, recurrent

-hồi quy, chỉ việc đầu ra của mô hình tiếp tục được đi qua mô hình để tao ra đầu

ra cho bước kế tiếp

Trong một quãng thời gian, các mô hình dựa trên RNN là lựa chọn hàng đầu

các bài toán xử lý ngôn ngữ tự nhiên Các loại mạng RNN được cho là phù hợp

cho các dữ liệu mang tính chuỗi như văn bản, nhưng vấn đề lớn của các mạng này

là việc khó nắm bắt được những phụ thuộc dài trong văn bản do đầu ra của mô

hình là một biểu diễn ngữ cảnh duy nhất và cách xử lý riêng biệt từng token, dù

những mô hình như Long Short-Term Memory có những cô gắng khắc phục nhược

điểm này, gánh nặng của việc sử dụng kiến trúc RNN vẫn còn hiện hữu.

Transformer [5] là một kiến trúc học sâu được phát minh vào năm 2017 Mạng

Transformer không cải thiện trên kiến trúc RNN ma dựa trên cơ chế attention

Attention giúp Transformer nắm bắt được những phụ thuộc trong văn bản bất kể

dài ngắn, đồng thời các loại phụ thuộc khác nhau cũng được mã hóa riêng biệt

Cụ thể, Transformer bao gồm hai thành phần chính là khối mã hóa và khối

Hà Quốc Tiến 12 KHTN2017

Trang 21

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

giải mã Khóa luận này chỉ sử dụng các kiến trúc khác dựa trên khối mã hóa của

Transformer Ở khối mã hóa, có nhiều Encoder được chồng lên nhau, trong các

Encoder này bao gồm lớp self-attention và lớp fully connected, 6 mỗi lớp này có

một residual connection [Ö| theo sau bởi layer normalization [7]

Đầu vào của khối mã hóa của Transformer được biến thành biểu diễn vector

qua word embedding và positional embedding trước khi được cộng lại và đi vào khối

mã hóa Các token của văn bản được biểu diễn bằng các vector trong một ma trận

word embedding có số dòng bằng kích thước từ vựng, ma trận này đóng vai trò như

một look-up table Các phương pháp word embedding phổ biến sẵn có có thể được

kể ra là word2vec và GloVe [9], ngoài ra mô hình có thể học luôn ma trận word

embedding Do Transformer xử lý các token trong văn bản song song cùng một lúc,

trái với các mô hình RNN là xử lý tuần tự, positional embedding được cộng vào

word embedding để đầu vào có chứa thông tin về vị trí của các token trong văn

ban Positional embedding được tính khác nhau ở vi trí token chan và vị tri token

Trang 22

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

ra các vector query, key va value bằng cách nhân biểu diễn embedding của token

với các ma trận lần lượt là Wo, W và Wy, các ma trận này bao gồm các thànhphần là tham số được học Theo đó, với token ¡ các vector query, key và value lần

lượt là:

Gg = ti Wa, (2.2)

kị = 1;V, (2.3)

U¿ — z;Wy (2.4)

Trọng số attention giữa token i và j được tính bằng:

Trong đó d; là chiều của k; Các trọng số giữa token ¡ với tất cả các token trong

văn ban đầu vào, ké cả chính nó tiếp tục đi qua một ham softmaz để biến thành phân bố xác suất, đây sẽ là bộ trọng số được sử dụng để tính đầu ra cho token i Dau ra của lớp self-attention cho token i là tổng có trong số của tất cả các vector value ø ứng với các token trong văn ban đầu vào, kể cả œ; của token i.

Các phép tính từ sau bước tính các vector q, k và ø có thể được biểu diễn thành

phép tính ma trận cho cả lớp self-attention như sau:

self-attention(Q, K, V) = softmax (%) V (2.6)

" v

Trong đó @ là ma trận dòng của các vector q, tương tự với K với các vector k

và V với v Dễ thấy Q = XWo, K = XW và V = XWy với X là ma trận dòng của

Hà Quốc Tiến 14 KHTN2017

Trang 23

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

các embedding của những token đầu vào

Mỗi bộ We, Wr và Wy được gọi là một attention head, mô hình Transformer sử

dụng nhiều bộ này cho mỗi lớp self-attention được gọi là có multi-head attention

Các tác giả đưa ra lập luận rằng mỗi attention head học được một kiểu phụ thuộc

giữa những token với nhau, với nhiều attention head cho phép mô hình học được

các kiểu phụ thuộc khác nhau giữa những token Trong thực tế, các attention head khác nhau có thể học được các quan hệ ngữ pháp khác nhau như quan hệ tân ngữ

trực tiếp, đại từ sở hữu và giới từ với độ chính xác lên tới 94% [10]

Đầu ra của lớp self-attention tiếp tục di qua lớp fully connected để được xử lý

thêm và sau đó đi vào Encoder tiếp theo cho tới khi di qua Encoder cuối cùng của

khối mã hóa, trở thành đầu ra của khối mã hóa

2.2 Biéu diễn văn bản va đọc hiéu máy

Biểu diễn văn ban bắt đầu từ những phương pháp đơn giản như Bag of Words (BoW), ở đó mỗi chiều không gian của vector biểu diễn ứng với một term trong tập từ vựng Phương pháp này đơn giản, dễ hiểu và không cần chuẩn bị dữ liệu học, nhưng cũng có nhiều hạn chế Các mô hình biểu diễn dựa trên BoW cho ra các biểu diễn là vector thưa, bởi so với độ lớn của tập từ vựng, độ dài của một văn bản được biểu diễn thường rất nhỏ, vector biểu diễn có các phần tử là 0 chiếm đa

số Các vector thưa thường gây ra khó khăn cho các mô hình máy học, do đó việc

biểu diễn văn bản vào các không gian có số chiều nhỏ hơn là cần thiết.

Các kỹ thuật biểu diễn văn bản với số chiều vector nhỏ hơn kích cỡ tập từ vựng

thông qua các mô hình được pretrain đã cho ra các cải thiện vượt bậc với các bài

Hà Quốc Tiến 15 KHTN2017

Trang 24

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

toán trong lĩnh vực xử lý ngôn ngữ tự nhiên Biểu diễn văn bản qua các mô hình

được pretrain cho phép bao gồm quan hệ ngữ nghĩa và ngữ cảnh của vào biểu diễn,

thay vì chỉ tính đến sự xuất hiện của từ trong văn bản như các phương pháp thuộc

nhóm BoW, vốn chỉ xét tới tần suất xuất hiện của một token trong văn bản

Việc biểu diễn văn bản vào không gian có số chiều nhỏ hơn nhiều so với kích cỡ tập từ vựng được gọi chung là word embedding, do đó có thể bao gồm việc sử dung

ma trận đồng xuất hiện được giảm chiều, các mô hình pretrain như word2vec hay

GPT, BERT O khóa luận này, word embedding được dùng để chi những phương

pháp không phụ thuộc ngữ cảnh, sử dụng ma trận look-up từ mô hình pretrain để

mã hóa từ như word2vec và GloVe và không bao gồm các phương pháp phụ thuộcngữ cảnh và cần xử lý token văn bản bằng một lần lan truyền xuôi qua mạng học

sâu như BERT.

2.2.1 Word embedding

Các mô hình pretrain ra đời đầu tiên đáng chú ý bao gồm word2vec [8| và GloVe[9] Các mô hình nay được huấn luyện dưới hình thức học không giám sát và hoạtđộng trên một giả thiết rằng các từ xuất hiện gần nhau thường có ý nghĩa tương

tự nhau Mô hình đơn giản là một ma trận embedding có kích cỡ mxn, trong đó m

là số từ được biểu diễn và ø là số chiều không gian vector dùng để biểu diễn từ.

Ma trận này đóng vai trò như một look-up table dùng để biểu diễn từ.

O bước huấn luyện, ma trận word2vec được gắn thêm một mang multi-layer

perceptron (MLP) dé học được biểu diễn từ qua một bài toán "giả", bộ phân lớp

với kiến trúc MLP được bỏ đi và ma trận embedding được giữ lại sau huấn luyện

Hà Quốc Tiến 16 KHTN2017

Trang 25

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

Word2vec sử dụng hai kiến trúc khác nhau là continuous bag of words (CBOW) va

skip gram O kiến trúc CBOW, mô hình được huấn luyện dé dự đoán một từ bằngAAA LSD Tem xẻ KZ X32 TẠI Ale mene Tes T Ế- Leeann 44 1.2 424.2 T1 !À từ

(b) Sau huấn luyện

Hình 2.1: Không gian biểu diễn word2vec trước và sau huấn luyện

Một ví dụ đơn giản minh họa cho word2vec, ta huấn luyện một mô hình dự

Hà Quốc Tiến 17 KHTN2017

Trang 26

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

đoán ký tự dựa trên những ký tự xung quanh trên dữ liệu báo mạng tiếng Viet [|

được tiền xử lý đưa về không dấu, với ma trận embedding chứa các vector 3 chiều.Trên thực tế, các mạng word2vec cho từ cần có số chiều cao hơn do số từ vựngtrong một ngôn ngữ là rất nhiều, tuy nhiên với ví dụ này ta cố học một mô hình

mã hóa ký tự trong không gian ba chiều cho mục đích trực quan hóa Với số ký

tự bao gồm chữ cái, chấm câu, số, khoảng trắng và ký tự đặc biệt là 55 và không

gian biểu diễn 3 chiều, ma trận embedding có 3 cột và 55 dòng Ta gắn thêm một

mạng MLP với đầu vào là 4 vector biểu diễn kí tự i, lo, lạ, ls và đầu ra là một

phân bố xác suất giúp dự đoán kí tự is ở giữa, theo CBOW Nhu ở hình [2 1a} ma

tran embedding được khởi tạo ngẫu nhiên trước khi huấn luyện cho ta không gian

biểu diễn ngẫu nhiên như mong đợi Sau huấn luyện, ta thay được những loại ký tự

khác nhau như chữ số, dấu câu và khoảng trắng và chữ cái phân bố tương đối cóquy luật so với trước khi được huấn luyện, các loại ký tự tương tự nhau nằm gần

nhau trong không gian Ngoài ra có thể thấy những nguyên âm nằm cùng nhau về

một phía so với những phụ âm.

GloVe không sử dụng cơ chế huấn luyện một mạng MLP cho bài toán dự đoán

từ để học ma trận embedding mà thay vào đó sử dụng thống kê đồng xuất hiện và tối thiểu hóa chênh lệch giữa một tích vô hướng của hai vector biểu diễn hai từ và tuần suất đồng xuất hiện giữa hai từ được biểu diễn bởi hai vector đó.

Hạn chế của word2vec và GloVe là các mô hình này biểu diễn từ không phụ thuộc vào ngữ cảnh, bởi vì một từ được biểu diễn bằng một vector dòng duy nhất

trong ma trận embedding bất ké từ này nằm trong ngữ cảnh nào Vi dụ từ đậu

Thttps://www.kaggle.com/yuiikin /vietnamese-vnexpress-news

Hà Quốc Tiến 18 KHTN2017

Trang 27

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

trong Con đậu vao trường Dai hoc UIT rồi! và Chè đậu vita rẻ vita ngon được gan

cho cùng một vector biểu diễn, dù cho hai từ này là khác nhau một cách rõ ràng.

2.22 BERT

Các mô hình như ELMo [[1|, GPT và BERT là những mô hình phụ thuộc

ngữ cảnh phổ biến Trong đó, ELMo mã hóa ngữ cảnh hai chiều nhưng dùng kiến

trúc khác nhau cho những bài toán khác nhau, GPT là mô hình không phụ thuộc

vào bài toán nhưng chỉ mã hóa ngữ cảnh một chiều [14] BERT kết hợp hai điểm

mạnh của GPT và ELMo, cho phép mã hóa ngữ cảnh hai chiều và yêu cầu thay

đổi kiến trúc mô hình không đáng kể cho hàng loạt các bài toán khác nhau BERT

cải thiện state-of-the-art trên 11 bài toán xử lý ngôn ngữ tự nhiên, bao gồm cácbài toán về phân loại văn bản, phân loại quan hệ cặp câu, gắn nhãn văn bản và

đọc hiểu máy Khóa luận này sử dụng mô hình BERT để đảm nhận vai trò trả lời

câu hỏi liên quan tới quy định đào tạo đại học BERT được xây dựng dựa trên

Transformer [5], tại thời điểm công bố ở bài báo gốc BERT có hai biến thể là

BERT hase và BERTiarge, trong đó:

e BERThase gồm 12 lớp Transformer và 110 triệu đối số, độ dài vector biểu diễn

Trang 28

Khóa luận tốt nghiệp Xây dựng hệ thống hỏi đáp quy định đào tạo đại học

Token Embedding

4

4

Positional Embedding

+ + +++ 4+ +

+ + +++ 4+ +

EHE=¬ - saw

<CLS> AI A2 <«SEP> B1 B2

Hình 2.2: Dau vào BERT

Ví dụ đầu vào trong trường hợp là hai văn bản A và B, An va Bn lần lượt là token thứ n của A và B

và luôn bắt đầu bởi token <cls>, biểu diễn của token này được dùng cho các bài

toán phân loại Khi đầu vào của BERT là hai chuỗi thay vì một, một token <sep>

được thêm vào chính giữa những token của hai chuỗi để phân biệt hai chuối Thêm

vào đó, segment embedding xác định mỗi token thuộc về chuỗi thứ nhất hay thứ

hai Bằng cách này, BERT luôn có thể tách biệt minh bạch trường hợp đầu vào là

một hay hai chuỗi Cuối cùng, positional embedding được sử dụng giống như trongkiến trúc Transformer, tuy nhiên với BERT lớp embedding này được học

BERT được pretrain trên hai bài toán xử lý ngôn ngữ tự nhiên: mask filling va

next sentence prediction.

Dé dat được sự hai chiều sâu, bài toán mask filling được chon làm một trong

Hà Quốc Tiến 20 KHTN2017

Trang 29

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

hai bài toán dùng để pretrain BERT, so với GPT được huấn luyện để dự đoán từ

kế tiếp trong câu (ngữ cảnh một chiều) hay ELMo, nối hai mô hình LTSM đượchuấn luyện từ trái sang phải và ngược lại

Thay vào đó, với bài toán mask filling, mô hình đồng thời phải dùng thông tin

từ trước và sau token được che giấu đi để có thể dự đoán được từ, từ đó học được

ngữ cảnh hai chiều khi huấn luyện Biểu diễn vector tương ứng với token bị an di

được đi qua một hàm softmax để trở thành một phân bố xác suất trên bộ từ vựng.

Cu thể, các tác giả chọn ra ngẫu nhiên 15% vị trí token để an đi Tuy nhiên, để

giảm việc thiếu cân xứng do dữ liệu thực tế sẽ không chứa token [MASK], chỉ 80%

các token bị an đi được thay bằng token /MA®SKj, trong khi đó 10% token được

thay bằng một token ngẫu nhiên trong bộ từ vựng và 10% token được giữ nguyên

Bài toán thứ hai là next sentence prediction Vector biểu diễn token <cls> được

dùng làm đầu vào cho mô hình phân loại này Mô hình phân loại nhị phân xác định

hai quan hệ giữa hai câu A va B, trong đó có hai nhãn JsNezt nghĩa là B là câu

theo sau A và NotNezt khi A và B là hai câu không liên quan Việc huấn luyện cho

BERT học được quan hệ giữa hai câu là quan trọng cho các bài toán downstream

sử dụng các biểu diễn văn bản của mô hình BERT làm đầu vào, như bài toán đọc

hiểu máy.

2.2.3 BERT cho bài toán đọc hiểu máy

Một trong những bài toán trong lĩnh vực xử lý ngôn ngữ tự nhiên có kết quả được

cải thiện đáng kể bằng việc ứng dụng BERT là bài toán đọc hiểu máy.

Bài toán nhận đầu vào là đoạn văn bản đóng vai trò như một ngữ cảnh C và

Hà Quốc Tiến 21 KHTN2017

Trang 30

Khóa luận tốt nghiệp Xây dựng hệ thống hỏi đáp quy định đào tạo đại học

DMOG MGM TOU TIGIMED ALY _ˆ L1 ONG NOV COP PUY CANN GO BGO OM NOC

Sinh vién cò JLPT N4 " Sinh viên JLPT N4

Hình 2.3: Mô hình đọc hiểu máy với BERT

một câu hỏi Q, đầu ra là một đoạn văn bản liên tục nằm trong C, cung cấp câu tra

lời cho Q.

Mô hình giải quyết bài toán này với BERT có kiến trúc như sau Do BERT có

thể nhận hai đoạn văn bản làm đầu vào, Q và C theo thứ tự lần lượt được mã hóa

thành các embedding, phân cách bởi token <sep> và đưa vào BERT để các token của chúng được biểu diễn thành các vector Các vector biểu diễn token thuộc về C sau đó được đi qua một lớp tổ hợp tuyến tính và một hàm kích hoạt softmax để trỏ

Hà Quốc Tiến 22 KHTN2017

Trang 31

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

thành một phân bố xác suất trên các token, xác định vị trí bắt đầu câu trả lời cho

Q có khả năng cao nhất nằm trong C, ta gọi phần này của mô hình là lớp START

Tương tự, lớp END của mô hình xác định vi trí kết thúc của câu trả lời

Ta muốn đặt câu hỏi Q: Chuẩn đầu ra tiếng Nhật của chương trành đại trà là

ø›? Nêu mô hình hoạt động như mong đợi, đầu ra của START sau khi đi qua hàm

softmax sẽ cho ra xác suất cao nhất ở vị trí token JLPT, tương tự ở đầu ra của

END với token N4, như được minh họa ở hình Từ đó ta có được câu trả lời

cho câu hỏi là JEPT N4.

2.3 Chatbot và máy học trong chatbot Rasa

2.3.1 Chatbot hướng nhiệm vụ

Chatbot có thể được sử dụng như một hệ thong dùng để tán gẫu, giải trí đơn thuần hay dùng để hoàn thành một nhiệm vụ cụ thể như đặt hàng hay cung cấp thông

tin dưới hình thức hỏi đáp Tùy thuộc vào mục đích sử dụng là tan gẫu hay hướng

nhiệm vụ, chatbot được xây dựng với kiến trúc khác nhau

Chatbot hướng nhiệm vụ thường được xây dựng dựa trên một pipeline gồm các

mô-đun như sau:

e Hiểu ngôn ngữ tự nhiên hay NLU, mô-đun này giúp xử lý thông điệp người

dùng và chuyển thông điệp thành một biểu diễn mà các mô-đun sau có thể sử dụng được, chẳắng hạn như một nhãn ý định.

e Quản lý hội thoại, mô-đun nay theo dõi trạng thái cuộc trò chuyện, lưu giữ

các thông tin hiện tại và quá khứ của cuộc trò chuyện để giúp một chiến lược

Hà Quốc Tiến 23 KHTN2017

Trang 32

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

hội thoại, thường là một mô hình phân loại, quyết định hành động kế tiếp

Chiến lược hội thoại dùng những thông tin có được từ mô-đun NLU và trạng

thái cuộc trò chuyện hiện tại để đưa ra quyết định về hành động kế tiếp của chatbot, chang hạn như một phản hồi cu thể hay một lệnh truy vấn dữ liệu.

Để thực hiện hóa những mô-đun nói trên, có rất nhiều cách tiếp cận khác nhau

về mặt thuật toán Cách tiếp cận trong khóa luận này dựa trên phần lý thuyết

ngay sau đây và được trình bày cụ thể hơn ở phần

2.3.2 Bài toán phân loại ý định thông điệp

Bài toán phân loại ý định thông điệp có đầu vào là một thông điệp dưới dạng vănbản và đầu ra là một nhãn ý định Mô hình phân loại ý định là một phần của

mô-đun Hiểu ngôn ngữ tự nhiên của chatbot và cung cấp một trong những đầu ra của mô-đun này, cụ thể là nhãn ý định Có nhiều cách tiếp cận cho bài toán phân loại ý định thông điệp, ở đó các phương pháp biểu diễn thông điệp người dùng vào

không gian vector và các thuật toán phân loại khác nhau được kết hợp sử dụng

Các phương pháp biểu diễn thông điệp người dùng, vốn ở dạng văn bản, bao gồm các phương pháp cổ điển như BoW hay các word embedding như GloVe, word2vec

hay mới hơn là bằng những mô hình ngôn ngữ pretrain như BERT Trước khi được

biểu diễn bằng một trong những phương pháp trên, thông điệp người dùng có thể

được trải qua các bước tiền xử lý như đưa về ký tự viết thường, bỏ ký tự đặc biệt,

tách token

Có nhiều bộ phân lớp khác nhau được sử dụng cho việc gán nhãn ý định chothông điệp người dùng Tương tự như những hệ thống quyết định phan hồi chatbot

Hà Quốc Tiến 24 KHTN2017

Trang 33

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

dựa trên luật, các mẫu có sẵn có thể được tìm kiếm và so khớp để xác định ý định người dùng, trong trường hợp này biểu diễn thông điệp là không cần thiết Ví dụ một regex expression đơn giản ^Chào có thể khớp được với những thông điệp bắt

đầu bằng Chào như Chào bạn!, Chào anh, Chào buổi sáng Giống như những cách

tiếp cận dựa trên luật định nghĩa sẵn, phương pháp này không linh hoạt trước dit

liệu mới.

Để chatbot có thể linh hoạt trong việc xác định ý định người dùng, các mô hình máy học được sử dụng để phân loại ý định người dùng với đầu vào là những biểu diễn vector ứng với thông điệp người dùng Một mô hình máy học cổ điển thường

được sử dụng là Support Vector Machine (SVM) SVM học ra cách phân loại qua

việc cố tìm một hay nhiều siêu phẳng chia các điểm dữ liệu huấn luyện thành các

miền mà ở đó, các điểm dữ liệu thuộc về cùng một lớp sẽ nằm về cùng một miền.

Gần đây, các mô hình học sâu đã được ứng dụng cho bài toán phân loại ý định và

đạt được những kết quả state-of-the-art O khóa luận này, một cách tiếp cận kết

hợp giữa phương pháp biểu diễn thông điệp người dùng subword semantic hashing

[15] va mô hình phân loại học sâu Dual Intent Entity Tranformer [16] (DIET) dựa

trên kiến trúc Transformer được sử dung

2.3.2.1 Subword semantic hashing

Các mô hình biểu diễn văn bản dựa trên học sâu như BERT đã dat được nhiều

state-of-the-art trên hàng loạt các bài toán xử lý ngôn ngữ tự nhiên Tuy nhiên,

biểu diễn văn bản cho bài toán phân loại ý định thông điệp người dùng cho các hệ

thống chatbot hướng nhiệm vụ là một trong những bài toán chưa thật sự phù hợp

Hà Quốc Tiến 25 KHTN2017

Trang 34

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

với các mạng học sâu Các mô hình ngôn ngữ dựa trên học sâu thường có kiến trúc

đồ sộ so với các mô hình cổ điển, lượng tham số nhiều và do đó cần lượng lớn dữ liệu huấn luyện để có thể cho ra kết quả tốt Hơn nữa các mô hình biểu diễn ngôn

ngữ pretrain không linh hoạt trước các từ vựng chưa từng gặp.

Vì bản chất bài toán biểu diễn thông điệp rất cụ thể cho mục đích sử dụng, ví

dụ câu ndi Toi muốn ăn pizza trong một tình huống trò chuyện với chatbot đặt

thức ăn có thể mang ý định đặt món, nhưng trong với một hệ thống chatbot tư van sức khỏe, câu này có thể có ý định tu van đính dưỡng, nên các dữ liệu huấn

luyện cho các mô hình phân loại ý định thường cụ thể cho nhiệm vụ, phải được

tạo riêng cho một nhiệm vụ, một mô hình kinh doanh nên lượng dữ liệu thường

khan hiếm Hơn nữa, ngôn ngữ trò chuyện qua tin nhắn thường bao gồm nhiều

cách đánh vần không chuẩn hay những lỗi chính tả vô tình, ngôn ngữ không được

chuẩn như những bộ dữ liệu dùng để huấn luyện cho mô hình ngôn ngữ pretrain

như ngữ liệu tin tức hay Wikipedia.

Subword semantic hashing là một phương pháp rút trích subword token từ văn

bản chuyên dùng cho bài toán phân loại ý định, được đề xuất vào năm 2019 và đạt

được state-of-the-art trên các tập dữ liệu UbuntuAsk, Chatbot và Web Applications

7l Phương pháp được đề xuất để giải quyết các van đề thường gặp của bài toán

phân loại ý định người dùng: dữ liệu huấn luyện ít, ngôn ngữ trong các thông điệp

chat thường có nhiều cách đánh vần không chuẩn hay sai chính tả.

Phương pháp dựa trên biểu diễn BoW nhưng ở mức ký tự trong một token,

ví dụ với token hởi và mức n-gram là 3-gram, thuật toán tạo các term Z#hỏ, hoi

và đi, với kí tự # dùng để đệm dau và cuối token Theo đó, subword semantic

Hà Quốc Tiến 26 KHTN2017

Trang 35

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

Thuật toán Subword Semantic Hashing

Texts < collection of texts

Create set sub-tokens

Create list examples

for text T in Texts do

Create list example tokens < split T into words.

for token t in tokens do

te "aN + t + "uM

for j in length(t)—2 do

Add t[j:j + 2] to set sub-tokens

Append t[j:j + 2] to list example

end for end for

Append example to list examples

end for

return (sub-tokens, examples)

hashing được sử dụng như bước rút trích đặc trưng văn ban cho việc vector hóa

văn bản theo BoW, trong đó ở bước tính trọng số term một phép tính sự xuất hiện

nhị phân, đếm tần số hay tfidf có thể được áp dụng.

Ở đầu vào, DIET cho phép sử dụng kết hợp cả biểu diễn thưa như BoW hay

subword semantic hashing và biểu diễn pretrain như từ các mô hình word2vec, GloVe hay BERT Các biểu diễn thưa được cho qua một mạng feed-forward để giảm chiều trước khi được nối với biểu diễn pretrain và tiếp tục đi qua thêm một

lớp feed-forward trước khi đi vào Transformer.

Hà Quốc Tiến 27 KHTN2017

Trang 36

Khóa luận tốt nghiệp Xây dựng hệ thống hỏi đáp quy định đào tạo đại học

Feed-forward Feed-forward Feed-forward

Biểu diễn Biểu diễn Biểu diễn

pretrain pretrain pretrain

Trang 37

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

Một token đặc biệt <CLS> được thêm vào cuối chuỗi văn ban đầu vào, tương

tự như ở BERT, đây là token có đầu ra sau khi được mã hóa được dùng để làm

đầu vào cho các bài toán phân loại, trong trường hợp của DIET là phân loại ý định

thông điệp Tùy thuộc vào hình thức biểu diễn văn bản mà biểu diễn của <CLS>

sẽ được mô hình quyết định, cụ thể:

e Với biểu diễn thưa, <CLS> được biểu diễn bang tổng của các biểu diễn token

trong văn bản

e Với biểu diễn là BERT hay các mô hình dựa trên BERT, vì bản thân các mô

hình này khi mã hóa văn bản đã có thêm token <Œ8> vốn dùng cho các bài

toán phân loại nên đây cũng chính là biểu diễn của <CLS> trong đầu vào

DIET.

e Với biểu diễn word embedding như word2vec hay GloVe, <CLS> được biểu

diễn bằng vector trung bình cộng từng thành phần của các vector biểu diễn

các token còn lại.

Để mã hóa ngữ cảnh hai chiều của văn bản đầu vào, DIET sử dụng một

Trans-former, trong kiến trúc đề xuất ở bài báo gốc Transformer này bao gồm có hai lớp.Các đầu vào được đi qua một mạng feed-forward với cùng một bộ tham số cho tất

cả các token trước đi khi đi vào Transformer để cho ra các vector có cùng số chiều với chiều mã hóa của Transformer, cu thể là 256 trong kiến trúc ở bài báo gốc.

Biểu diễn agus của <CLS> đi qua Transformer của DIET như các biểu diễn

token còn lại trước khi đi vào một lớp Embedding, cùng với nhãn ý định Ys định CN

được biểu diễn bởi một lớp Embedding với hats = E(acus)., hintent = E'(Yintent), VỚI

Hà Quốc Tiến 29 KHTN2017

Trang 38

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

hcTIR? Hai lớp Embedding này thực tế là hai mang feed-forward chỉ gồm một lớp

tổ hợp tuyến tính và không có hàm kích hoạt, được dùng để đưa biểu diễn aczs

và one-hot vector của nhãn ý định về cùng một số chiều và cho phép việc tính độtương đồng hai embedding đó bằng tích vô hướng hay độ tương đồng cosine, đóng

vai trò như một hàm xếp hạng khi mô hình dự đoán nhãn ý định Cách tiếp cận

này lấy ý tưởng từ thuật toán Starspace [19]

Một tích vô hướng S = hễ¡sh; ann được dùng để tính toán sự tương đồng giữa

biểu diễn văn bản và biểu diễn nhãn ý định Theo đó, một hàm mất mát được dùng

để tối ưu độ tương đồng St = hoyshy fab giữa embedding của token <CLS> va

và tối thiểu hóa S~ = hop gh? với các mẫu dữ

nhãn ý định dương tính y* ý định

ý định

liệu âm tính Ys inh’

Ly inn = —Avg | S* — log G, + S2) (2.7)

S

Trong đó QF là tập các điểm dữ liệu âm tính.

2.3.3 Chiến lược hội thoại

Ngoài mô-đun NLU, mô-đun Quản lý hội thoại cũng góp phần quan trọng vào sựthành công của chatbot, trong đó trung tâm của mô-đun này là một chiến lược hộithoại - một mô hình giúp quyết định hành động tiếp theo của chatbot dựa trên

trạng thái cuộc trò chuyện hiện tại, bao gồm một lịch sử những lượt trò chuyện

trong quá khứ, những ý định người dùng và các thực thể được dự đoán bởi mô-đun

NLU Các chiến lược hội thoại thường được huấn luyện bằng các mô hình hội thoại

Hà Quốc Tiến 30 KHTN2017

Trang 39

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

bao gồm các lượt trao đổi giũa người dùng và hệ thống cũng như các hành động

của hệ thống theo thứ tự như được diễn ra trong thực tế, như ví dụ bên dưới

O ví dụ trên, các ý định người dùng được thể hiện bằng * ý định, cụ thể

như trên có các ý định như * greet - chào hỏi hay * happy - hài lòng các hành

động của chatbot, bao gồm các phản hồi được thể hiện bằng - hành động như

- utter_greet - chào hỏi lại người dùng hay - action_answer - trả lời câu hỏi

của người dùng.

Có nhiều cách tiếp cận cho việc xây dựng một chiến lược hội thoại Một cách

quyết định hành động tiếp theo đơn giản và được áp dụng ở những chatbot đầu

tiên là dựa trên luật Ở đó chiến lược hội thoại cố khớp lịch sử trò chuyện với một

Hà Quốc Tiến 31 KHTN2017

Trang 40

Khóa luận tốt nghiệp Xây dựng hệ thông héi đáp quy định đào tạo dai học

mô hình hội thoại có san và chọn ra hành động kế tiếp dựa trên mô hình khớp được

Cách tiếp cận này dĩ nhiên thiếu tính linh hoạt và không thể xử lý được những

tình huống hội thoại chưa gặp, tuy nhiên vì tính đơn giản, không tốn kém về tính

toán mà hiện nay các chiến lược hội thoại dựa trên luật vẫn được sử dụng để xử lý

được những tình huống hội thoại định nghĩa sẵn, kết hợp với những mô hình máy

học để xử lý các tình huống hội thoại chưa gặp.

2.3.3.1 Kiến trúc TED

Transformer Embedding Dialogue (TED) là một kiến trúc cho chiến lược hội

thoại dựa trên Transformer TED sử dụng Transformer để có thể nắm bắt được những phụ thuộc bất kế gần xa giữa những lượt hội thoại với nhau, qua đó giúp

chatbot quyết định được hành động kế tiếp phù hợp nhất

Dau vào của mô hình là chuỗi các lượt hội thoại S; Mỗi lượt hội thoại S$; được

biểu diễn bằng một vector được nối thành từ các one-hot vector biểu diễn ý định người dùng ở thời điểm hiện tại và hành động của hệ thống ở thời điểm ngay trước

đó Ngoài ra, vector biểu diễn lượt hội thoại còn có thể bao gồm những thông tin khác như vector biểu diễn thực thể, tuy nhiên, khóa luận này chỉ sử dụng nhãn ý

định và hành động làm đầu vào cho TED

Transformer được dùng cho TED là Transformer mét chiều, nghĩa là Transformernày chỉ cho phép các đầu vào "chú ý" tới những đầu vào ở trước nó, ví dụ trạng

thái 5s chỉ được "chú ý" tới S; với i < 3 Cụ thể, trọng số attention của một biểu diễn cho các biểu điễn nằm sau nó bằng 0 Lý do cho việc này là để các trạng thái trước đó không "gian lận" bằng cách dùng các trạng thái sau nó để được mã hóa

Hà Quốc Tiến 32 KHTN2017

Ngày đăng: 02/10/2024, 03:12

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN