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 21.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 3Khoa 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 4Khoa 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 5Danh 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 6Danh 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 7bá 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 8Lờ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 9Tó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 10Khó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 11như 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 12Khó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 13Khó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 14Khó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 15Khó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 16Khó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 17Khó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 18Khó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 19Chươ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 20Khó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 21Khó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 22Khó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 23Khó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 24Khó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 25Khó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 26Khó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 27Khó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 28Khó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 29Khó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 30Khó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 31Khó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 32Khó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 33Khó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 34Khó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 35Khó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 36Khó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 37Khó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 38Khó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 39Khó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 40Khó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