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

Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh Trường Đại học Đà Lạt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.15 MB, 45 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC ĐÀ LẠT

BÁO CÁO TỔNG KẾT

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG 2021

XÂY DỰNG ỨNG DỤNG CHATBOT HỖ TRỢ TUYỂN
SINH TRƯỜNG ĐẠI HỌC ĐÀ LẠT

Chủ nhiệm đề tài: ThS. Phan Thị Thanh Nga

Lâm Đồng, tháng 09/2022


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC ĐÀ LẠT

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG

XÂY DỰNG ỨNG DỤNG CHATBOT HỖ TRỢ TUYỂN SINH
TRƯỜNG ĐẠI HỌC ĐÀ LẠT

Xác nhận của Trường Đại học Đà Lạt

Chủ nhiệm đề tài

Phan Thị Thanh Nga

Lâm Đồng, tháng 09/2022




Danh sách những thành viên tham gia nghiên cứu đề tài
Số
TT

Họ và tên

Chức danh
khoa học, Đơn vị công tác
học vị

Nhiệm vụ trong đề
tài

1

Phan Thị Thanh Nga

ThS

Khoa Công nghệ Thông tin

Chủ nhiệm

2

Nguyễn Thị Lương

TS


Khoa Công nghệ Thông tin

Thành viên

3

Thái Duy Quý

ThS

Khoa Cơng nghệ Thơng tin

Thành viên

Đơn vị phối hợp chính:
1. Khoa Cơng nghệ Thơng tin
2. Phịng Quản lý Đào tạo


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

MỤC LỤC

Danh sách những thành viên tham gia nghiên cứu đề tài ................................................................ 3
MỤC LỤC ....................................................................................................................................... 4
DANH MỤC HÌNH ẢNH............................................................................................................... 6
DANH MỤC BẢNG BIỂU............................................................................................................. 6
DANH MỤC CHỮ VIẾT TẮT ....................................................................................................... 6
THÔNG TIN KẾT QUẢ NGHIÊN CỨU ....................................................................................... 8

MỞ ĐẦU ....................................................................................................................................... 11
CHƯƠNG 1. TỔNG QUAN VỀ ỨNG DỤNG CHATBOT ........................................................ 14
1.1.

Giới thiệu về chatbot ...................................................................................................... 14

1.2. Các kỹ thuật sử dụng để xây dựng ứng dụng chatbot......................................................... 16
1.2.1. Một số kỹ thuật xây dựng chatbot sử dụng mạng nơ ron nhân tạo .............................. 16
1.2.2. Kỹ thuật Embedding .................................................................................................... 18
1.2.3. BERT ........................................................................................................................... 19
1.3. Khảo sát các ứng dụng chatbot ........................................................................................... 21
1.3.1. Ứng dụng chatbot trong giáo dục................................................................................. 21
1.3.2. Ứng dụng chatbot tiếng Việt ........................................................................................ 22
1.4. RASA – Nền tảng xây dựng ứng dụng chatbot thông minh .............................................. 23
1.4.1. Giới thiệu ..................................................................................................................... 23
1.4.2. NLU pipeline của RASA ............................................................................................. 24
1.4.3. RASA policy ................................................................................................................ 25
1.5. Kết chương ......................................................................................................................... 25
CHƯƠNG 2. PHƯƠNG PHÁP TIẾP CẬN VÀ GIẢI PHÁP LỰA CHỌN ................................ 26
2.1. Một cách tiệp cận xây dựng ứng dụng chatbot ................................................................... 26
2.1.1. Giai đoạn huấn luyện ................................................................................................... 27
2.1.2. Giai đoạn dự đoán ........................................................................................................ 29
2.1.3. Kết quả thử nghiệm ...................................................................................................... 30
2.2. Xây dựng mơ hình cho ứng dụng chatbot dùng RASA ...................................................... 30
2.3. Đánh giá hiệu quả của các mơ hình .................................................................................... 32
CHƯƠNG 3. ỨNG DỤNG VÀ KẾT QUẢ TRIỂN KHAI .......................................................... 36
3.1. Giới thiệu về bộ dữ liệu thu thập ........................................................................................ 36
3.2. Chương trình ....................................................................................................................... 37
3.3. Kết quả triển khai ............................................................................................................... 38


Đề tài NCKH cấp trường năm 2021

Trang 4


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

3.4. Kết chương ......................................................................................................................... 40
KẾT LUẬN ................................................................................................................................... 41
LỜI CẢM ƠN ............................................................................................................................... 42
TÀI LIỆU THAM KHẢO ............................................................................................................. 43
PHỤ LỤC ...................................................................................................................................... 45

Đề tài NCKH cấp trường năm 2021

Trang 5


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

DANH MỤC HÌNH ẢNH
Hình 1. Phân loại chatbot .............................................................................................................. 14
Hình 2. Tổng quan quá trình huấn luyện trước và thủ tục tinh chỉnh cho BERT[3]..................... 20
Hình 3. Giai đoạn huấn luyện........................................................................................................ 27
Hình 4. Mẫu dữ liệu ...................................................................................................................... 28
Hình 5. Giai đoạn dự đốn ............................................................................................................ 29
Hình 6. Các NLU pipeline dùng để đánh giá ................................................................................ 31
Hình 7. Cấu trúc các tập tin và ví dụ về nội dung của các tập tin nlu.yml, stories.yml,
domain.yml .................................................................................................................................... 32
Hình 8. Điểm F1 trung bình trên tập thực nghiệm qua các bước huấn luyện ............................... 34

Hình 9. Số lượng câu hỏi thuộc các tập ý định (chủ đề) ............................................................... 36
Hình 10. Số câu ví dụ thuộc các lớp intent ................................................................................... 37
Hình 11. Các kênh có thể kết nối với RASA ................................................................................ 37
Hình 12. Mơ hình triển khai ứng dụng tư vấn tuyển sinh sử dụng ứng dụng Facebook ............... 38
Hình 13. Người dùng chat với RASA bot thơng qua ứng dụng Messenger.................................. 38
Hình 14. Chat với bot sử dụng RASA X ....................................................................................... 39

DANH MỤC BẢNG BIỂU
Bảng 1. Các kết quả nghiên cứu của đề tài ..................................................................................... 9
Bảng 2. F1 và EM của 4 mơ hình và 3 phương pháp biểu diễn phân bố từ ................................. 30
Bảng 3. Kết quả phân lớp ý định và trích xuất thực thể của 3 NLU pipeline ............................... 33

DANH MỤC CHỮ VIẾT TẮT
BERT: Bidirectional Encoder Representation from Transformer
GloVe: Global Vectors for Word Representation
CBOW : Continuous Bag of Words
POS: Part-of-Speech tagging
NLP: Natural Language Processing
NLU: Natural Language Understanding
DIET: Dual Intent and Entity Transformer
EM: Exact match
LSTM: Long Short Term Memory networks
RNN: Recurrent Neural Network
Seq2seq: Sequence to Sequence

Đề tài NCKH cấp trường năm 2021

Trang 6



Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

Đề tài NCKH cấp trường năm 2021

Trang 7


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1. Tổng quan
Tên đề tài: Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh Trường Đại học Đà Lạt.
Chủ nhiệm đề tài: Phan Thị Thanh Nga
Bộ môn: Kỹ thuật phần mềm
Đơn vị chủ quản: Khoa Công nghệ Thông tin, Trường Đại học Đà Lạt
Thời gian: Từ tháng 01/2021 đến tháng 09/2022 (gia hạn 9 tháng so với kế hoạch).
2. Tính cần thiết của đề tài
Chatbot là một chương trình kết hợp với trí tuệ nhân tạo (AI) để tương tác với con
người. Công cụ này thay thế cho nhân viên để tư vấn trả lời những gì khách hàng thắc mắc.
Chatbot thường trao đổi với người dùng qua hình thức tin nhắn (Textual) hoặc âm thanh
(Audiotory). Chatbot chăm sóc khách hàng là loại chatbot này thường được các trung tâm
chăm sóc khách hàng lớn sử dụng để trả lời các câu hỏi thường gặp theo kịch bản hoặc dữ
liệu có sẵn. Đối với những câu hỏi đơn giản, chatbot sẽ tự trả lời. Với các câu hỏi phức tạp
hơn, chatbot sẽ chuyển đến nhân viên chăm sóc khách hàng để giải quyết. Trong q trình
hoạt động, chatbot sẽ tự học để đưa ra những câu trả lời chính xác và phù hợp với thực tế
hơn. Một ưu điểm nổi trội của việc sử dụng chatbot đó là con người sẽ có lúc cần nghỉ ngơi
nhưng chatbot thì khơng. Một chatbot có thể hoạt động 24/7 xuyên suốt 365 ngày. Chatbot
còn tiếp nhận và xử lý yêu cầu khách hàng tự động, nhanh chóng.
Trong giai đoạn hiện nay, khi các trường đại học đang dần chuyển sang tự chủ, sự
cạnh tranh giữa các trường ngày càng trở nên rõ nét vì trường đại học nào cũng muốn tuyển

được nhiều sinh viên để đảm bảo khả năng tự chủ, từ đó tiếp tục phát triển và lớn mạnh.
Vì vậy, đối với Trường Đại học Đà Lạt, cơng tác tư vấn tuyển sinh trở thành một trong
những công tác quan trọng. Như vậy, ngồi các cơng tác quảng bá tuyển sinh truyền thống,
nếu Trường sử dụng thêm ứng dụng chatbot để thực hiện trả lời tự động các câu hỏi của
những người quan tâm vào bất kỳ thời điểm nào sẽ giúp tăng khả năng họ đăng ký nguyện
vọng vào trường. Ngoài ra, việc sử dụng ứng dụng trả lời tư vấn tuyển sinh cho thấy sự
chuyên nghiệp của Trường, làm cho người học tin tưởng hơn vào chất lượng đào tạo của
Trường.
Đề tài NCKH cấp trường năm 2021

Trang 8


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

3. Mục tiêu của đề tài
Xây dựng một ứng dụng chatbot nhằm hỗ trợ tư vấn tuyển sinh Trường Đại học Đà
Lạt. Học sinh, sinh viên hoặc phụ huynh sẽ đặt ra những câu hỏi, hệ thống tự động tiếp
nhận, phân tích để phân lớp câu hỏi sau đó căn cứ trên các dữ liệu cho trước phản hồi lại
cho người dùng một cách tự động.
4. Phương pháp nghiên cứu
Đề tài bước đầu đi vào khảo sát chức năng của các ứng dụng chatbot và các giải
thuật AI có thể áp dụng để xây dựng ứng dụng, sau đó thực hiện xây dựng ngân hàng câu
hỏi phục vụ huấn luyện ứng dụng. Cuối cùng xây dựng ứng dụng chatbot có thể trả lời tự
động, hỗ trợ tư vấn tuyển sinh trường Đại học Đà Lạt. Một ứng dụng chatbot được đặc
trưng bởi hai chức năng cơ bản là phân tích các câu hỏi từ người dùng và đưa ra câu trả
lời, cho nên ứng dụng được xây dựng phải kết hợp các dạng máy học, hiểu ngữ nghĩa và
xử lý ngơn ngữ tự nhiên. Nhóm thực hiện khảo sát các mơ hình tiền huấn luyện dùng cho
các hệ thống hỏi đáp được đánh giá cao và được sử dụng phổ biến để đánh giá và lựa chọn
mơ hình phù hợp. Sau đó, nhóm thực hiện khảo sát các nền tảng hỗ trợ phát triển ứng dụng

chatbot thông minh để tiến hành xây dựng ứng dụng chatbot.
Đề tài chỉ tập trung xây dựng ứng dụng chatbot có khả năng trả lời tự động các câu
hỏi liên quan đến tuyển sinh ví dụ như các ngành đào tạo, mã ngành, thời hạn nộp hồ sơ,
các hồ sơ yêu cầu,…
5. Kết quả nghiên cứu
Kết quả nghiên cứu được thể hiện như trong Bảng 1.

Bảng 1. Các kết quả nghiên cứu của đề tài
STT

Sản phẩm của đề Sản phẩm thực tế đạt được
tài theo thuyết
minh

1

Phần
mềm Sản phẩm phần mềm + mã Github
DLUChatbot
nguồn

Đề tài NCKH cấp trường năm 2021

Minh chứng

Trang 9


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL


2

Bài báo khoa học Bài báo đăng trên Tạp chí Phan Thi Thanh Nga, Nguyen
Khoa học Đại học Thái Thi Luong, Ta Hoang Thang,
Thai Duy Quy (2022). An
Nguyên1
approach for building a chatbot
system for the admission
process of Da Lat university.
TNU Journal of Science and
Technology, 227(14), 23-32.

1

Là Tạp chí đa ngành của Đại học Thái Nguyên, chỉ mục trong hệ thống ACI từ năm 2020. Bài báo đã được xuất bản
tại />
Đề tài NCKH cấp trường năm 2021

Trang 10


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

MỞ ĐẦU
Hệ thống chatbot tạo ra một môi trường để cho robot (máy tính) có thể tương tác
với con người bằng ngơn ngữ sao cho có vẻ tự nhiên nhất. Ứng dụng này nhằm mục đích
thay thế các nhân viên tư vấn, hỗ trợ đưa ra câu trả lời cho các câu hỏi của người dùng
ngay lập tức. Chatbot thường giao tiếp với người dùng qua tin nhắn văn bản hoặc âm thanh
[1]. Lợi ích chính của việc sử dụng chatbot là cung cấp khả năng hoạt động 24/7, xử lý
nhiều cuộc trò chuyện cùng một lúc, phản hồi yêu cầu của người dùng một cách hoàn toàn

tự động và gần như ngay lập lức cho nên khách hàng cảm thấy hài lịng hơn bởi họ sẽ có
cảm giác mình được chăm sóc và hỗ trợ rất tốt. Ngày nay, khi sự cạnh tranh thu hút tân
sinh viên giữa các trường đại học ngày càng trở nên gay gắt, công tác tư vấn tuyển sinh đại
học trở thành một trong những nhiệm vụ quan trọng hàng đầu. Do đó, nếu một trường đại
học sử dụng ứng dụng chatbot của mình như một trợ lý ảo để cung cấp thông tin tuyển sinh
một cách nhanh chóng cho những người quan tâm, thì số lượng sinh viên đăng ký có thể
sẽ tăng lên bởi vì ngồi những lợi ích mà chatbot đem lại đã nêu thì chatbot cịn thể hiện
bộ mặt và sự chuyên nghiệp của trường.
Công nghệ Chatbot không phải là mới, nó bắt đầu vào năm 1966 khi chương trình
chatbot đầu tiên có tên ELIZA được xuất bản. Năm 2009, Hussain và cộng sự [1] đề xuất
rằng các chương trình chatbot có thể được phân loại dựa trên chế độ tương tác của chúng
(dựa trên văn bản hoặc dựa trên giọng nói), mục tiêu ứng dụng (hướng theo mục tiêu cụ
thể hoặc khơng có định hướng mục tiêu), dựa trên miền ứng dụng (miền đóng hoặc miền
mở) hoặc dựa trên cách thiết kế (dựa trên luật, trích chọn thơng tin, hoặc mơ hình sinh).
Ngồi ra cịn có nhiều kỹ thuật được sử dụng để xây dựng một chương trình chatbot, bao
gồm phân tích cú pháp, so khớp mẫu, AIML, chatscript, ontology, mơ hình chuỗi Markov.
Bên cạnh đó, các mơ hình mạng nơ-ron nhân tạo như mạng nơ-ron hồi quy (RNN), mơ
hình chuỗi tuần tự (seq-to-seq), mạng bộ nhớ dài - ngắn hạn(LSTM) là những tiến bộ mới
nhất trong học máy giúp phát triển các chatbot thông minh hơn[20]. Theo một cách tiếp
cận khác trong [2], dựa vào kỹ thuật thì các ứng dụng chatbot hiện nay có thể chia làm hai
nhóm riêng biệt. Nhóm thứ nhất sử dụng kỹ thuật so khớp. Các kỹ thuật được sử dụng cho
các chatbot thuộc nhóm này bao gồm: AIML, Rivescript và Chatscript. Các chatbot sử
dụng kỹ thuật này động thông qua dữ liệu được lập trình sẵn. Vì vậy, ưu điểm của các
chatbot này là nó có thể phản hồi câu hỏi rất nhanh chóng và dễ dàng. Bên cạnh đó, việc
Đề tài NCKH cấp trường năm 2021

Trang 11


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL


xây dựng chatbot này cũng dễ dàng hơn vì chỉ cần định nghĩa các mẫu để so khớp. Tuy
nhiên, nhược điểm của các ứng dụng chatbot loại này là đối với một số câu hỏi khơng được
lập trình sẵn, chatbot có thể khơng trả lời được, hoặc giải đáp thiếu chính xác. Nhóm thứ
hai sử dụng cách tiếp cận học máy, nghĩa là sử dụng các kỹ thuật xử lý ngôn ngữ tự nhiên
kết hợp với học máy để hiểu nội dung nhập vào và đưa ra các câu trả lời phù hợp. Các
chatbot thuộc loại này sẽ xem xét tồn bộ đoạn hội thoại chứ khơng chỉ có câu hỏi hiện tại
và ứng dụng này cũng không yêu cầu phải định nghĩa trước các câu trả lời cho mỗi câu hỏi
của người dùng. Loại chatbot này sử dụng các kỹ thuật như xử lý ngôn ngữ tự nhiên NLP,
NLU, mạng nơ-ron nhân tạo (ANN), RNN, seq2seq để xử lý linh hoạt các truy vấn của
người dùng. Ưu điểm của hình thức này là khơng đưa ra những tùy chọn rập khn như
loại ở trên mà có thể ghi nhớ lại sở thích, bối cảnh của khách truy cập từ các cuộc trị
chuyện trước đó. Điều này cho phép chatbot đưa ra phản hồi phù hợp nhất với truy vấn của
khách hàng.
Đối với nhóm tác vụ NLP và NLU, BERT (Bidirectional Encoder Representations
from Transformers) được Google đưa ra vào năm 2018 và đạt được hiệu quả rất cao trong
một loạt các tác vụ xử lý ngôn ngữ tự nhiên như phân lớp văn bản, hệ thống trả lời câu hỏi,
suy luận ngơn ngữ… BERT là một trình diễn ngơn ngữ hai chiều theo phương pháp học
sâu, không giám sát, được huấn luyện trước và chỉ sử dụng một kho ngữ liệu văn bản thuần
túy [3]. Các mơ hình khơng có ngữ cảnh như Word2vec hoặc GloVe tạo ra một từ nhúng
duy nhất cho mỗi từ trong từ vựng, trong khi đó BERT sẽ tính đến ngữ cảnh cho mỗi lần
xuất hiện của một từ nhất định [4] vì vậy BERT rất phù hợp cho những loại ứng dụng cần
hiểu ngôn ngữ tự nhiên của con người trong đó có ứng dụng chatbot.
Hiện tại có rất nhiều cơng cụ hay nền tảng có thể sử dụng để xây dựng ứng dụng
chatbot. Tuy nhiên, trong nghiên cứu của mình, chúng tơi sử dụng RASA – một nền tảng
hỗ trợ xây dựng Chatbot thông minh để xây dựng ứng dụng chatbot hỗ trợ tư vấn tuyển
sinh của mình. RASA là một nền tảng mã nguồn mở và là một nền tảng phổ biến được sử
dụng để xây dựng chatbot thông minh. RASA cho phép kết hợp một số thư viện xử lý ngôn
ngữ tự nhiên và học máy trong cùng một API nhất qn, đặc biệt RASA cho phép sử dụng
mơ hình biểu diễn ngôn ngữ mới nhất - BERT. Cụ thể, RASA cung cấp NLU pipeline bao

gồm nhiều thành phần: tách từ, rút trích đặc trưng, phân lớp ý định và rút trích thực thể...
RASA cho phép người dùng tùy biến các thành phần này [5] [6] vì vậy chúng tơi dự định
Đề tài NCKH cấp trường năm 2021

Trang 12


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

sẽ sử dụng bộ tách từ riêng cho tiếng Việt, cũng như sử dụng các mơ hình ngơn ngữ phù
hợp cho tiếng Việt trong NLU pipeline để nâng cao khả năng hiểu tiếng Việt của ứng dụng.
Mơ hình ngơn ngữ chúng tơi dự định sử dụng là các mơ hình dựa trên BERT vì BERT được
đánh giá là có hiệu quả cao đối với các tác vụ xử lý ngôn ngữ tự nhiên. Tuy nhiên, trên
Hugging face tồn tại rất nhiều mơ hình tiền huấn luyện dựa trên BERT chẳng hạn như
DistilBER, RoBERTa, ALBERT, FlauBERT, DeBERTa. Cho nên, trong đề tài này chúng
tôi đã thực hiện so sánh hiệu quả của các mơ hình BERT, DistlBERT và RoBERTa trên
tập dữ liệu của mình để xác định mơ hình phù hợp với ứng dụng của chúng tôi. Kết quả
thực nghiệm cho thấy bert-based-multiligual-case được xem là mơ hình phù hợp nhất trên
tập dữ liệu gồm 1268 câu hỏi tuyển sinh mà chúng tôi đã thu thập. Cuối cùng, chúng tôi đã
triển khai ứng dụng sử dụng RASA và kết hợp với Facebook Application để tích hợp
chatbot vào mục chat của ứng dụng Messenger khi người dùng trao đổi với trang.

Đề tài NCKH cấp trường năm 2021

Trang 13


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

CHƯƠNG 1. TỔNG QUAN VỀ ỨNG DỤNG CHATBOT

1.1. Giới thiệu về chatbot
Chatbot là một chương trình máy tính được thiết kế để trò chuyện tương tác với con
người một cách tự động bằng ngôn ngữ tự nhiên. Những tương tác này được thực hiện
thông qua một giao diện đơn giản sử dụng âm thanh hoặc tin nhắn. Chatbot có rất nhiều
lợi ích, trong đó một số lợi ích quan trọng có thể được liệt kê bao gồm:
-

Đem lại sự chuyên nghiệp cho doanh nghiệp hoặc tổ chức;

-

Hoạt động 24/24;

-

Có thể xử lý nhiều cuộc hội thoại cùng lúc;

-

Trả lời câu hỏi của người dùng một cách tự động và ngay lập tức nên lợi ích của nó
là phản hồi khách hàng nhanh chóng, tạo sự thoải mái cho người dùng;

-

Hiệu quả và tiết kiệm chi phí cho tổ chức.
Chatbot có thể được phân loại dựa vào nhiều tiêu chí khác nhau như: chế độ tương

tác với người dùng, theo miền ứng dụng, theo mục tiêu và theo cách thiết kế [11] (Hình 1)

Hình 1. Phân loại chatbot


-

Đối với chế độ tương tác thì có 2 loại là chatbot sử dụng tin nhắn văn bản hoặc
chatbot sử dụng giọng nói. Cách phân loại này khá đơn giản và dễ hiểu.

-

Đối với miền ứng dụng thì có miền đóng và miền mở. Miền đóng nghĩa là nội dung
các câu hỏi của người dùng chỉ tập trung vào một lĩnh vực cụ thể, trong phạm vi

Đề tài NCKH cấp trường năm 2021

Trang 14


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

hẹp, chẳng hạn như chatbot hỗ trợ bán hàng, chatbot tư vấn dịch vụ cho một công
ty, chatbot y tế, chatbot tư vấn tuyển sinh. Ngược lại, chatbot thuộc miền mở là
những chatbot trị chuyện giải trí với người dùng, có thể phải trả lời các câu hỏi bất
kỳ thuộc nhiều lĩnh vực.
-

Đối với mục tiêu thì có hệ thống có hướng mục tiêu cụ thể và hệ thống khơng có
định hướng mục tiêu nghĩa là các ứng dụng chatbot được thiết kế với mục đích rõ
ràng và chỉ có khả năng phản hồi các câu hỏi phù hợp với mục tiêu đề ra. Cịn lại
các chatbot khơng hướng mục tiêu có thể là những chatbot thuộc miền mở, được
thiết kế với mục đích trao đổi qua lại, khơng nhằm vào mục tiêu cụ thể nào.


-

Đối với cách thiết kế thì có 3 loại: dựa trên luật(rule – based), mơ hình dựa trên trích
chọn thơng tin (retrieval-based) và mơ hình có thể sinh sản (Generative-based)
➢ Mơ hình dựa trên luật: sử dụng kho câu hỏi – câu trả lời đã được định nghĩa
trước, câu hỏi nào khớp với câu hỏi trong kho thì câu trả lời tương ứng sẽ được
chọn. Nếu câu hỏi của người dùng không trùng khớp với câu hỏi được lưu trữ
thì chatbot sẽ khơng đưa ra được câu trả lời. Tuy nhiên, nếu câu hỏi trùng khớp
chatbot sẽ đưa ra câu trả lời nhanh và chính xác;
➢ Mơ hình dựa trên trích chọn thơng tin: Các kỹ thuật thường sử dụng một kho đã

định nghĩa trước các câu trả lời kết hợp với một vài phương pháp trích chọn
Heuristic để chọn ra một đáp án thích hợp nhất dự vào mẫu hỏi input và ngữ
cảnh. Kỹ thuật heuristic sử dụng ở đây đơn giản có thể là sự so khớp các biểu
thức dựa vào luật (rule-based), hoặc phức tạp như việc kết hợp học máy
(machine learning) để phân lớp các câu hỏi và đáp án trả về. Những hệ thống
kiểu này không sinh ra văn bản mới, chúng chỉ nhặt một đáp án từ một tập dữ
liệu cố định sẵn có;
➢ Mơ hình có thể sinh sản: Mơ hình này khơng dựa trên tập trả lời định nghĩa
trước. Chúng có khả năng tự sản sinh các đáp án từ đầu. Các mơ hình có thể sinh
sản thường dựa vào các kỹ thuật dịch máy (machine translation), nhưng hay vì
dịch từ ngơn ngữ này sang ngơn ngữ khác, thì nó có thể “dịch” từ một input
sang một output.

Đề tài NCKH cấp trường năm 2021

Trang 15


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL


1.2. Các kỹ thuật sử dụng để xây dựng ứng dụng chatbot
Các chatbot trước đó đã áp dụng các kỹ thuật đơn giản hơn nhiều như đối sánh từ
khóa, đối sánh mẫu để tương tác của họ với người dùng, vì vậy chúng khơng có khả năng
duy trì cuộc trị chuyện do nhận dạng ngữ cảnh tối thiểu. Ngày nay, nhờ các công nghệ tiên
tiến, các hệ thống thông minh hơn đã xuất hiện bằng cách sử dụng các mô hình dựa trên tri
thức phức tạp hoặc các thuật tốn trí tuệ nhân tạo (AI) để hiểu các câu hỏi và đưa ra câu
trả lời mong đợi [1][2]. Rõ ràng là chatbot đã đi một chặng đường dài so với phiên bản gốc
của chúng. Tuy nhiên, mặc dù các chatbot hiện đại sử dụng sức mạnh của trí thơng minh
nhân tạo để hiểu và trả lời các câu hỏi phức tạp của người dùng, tình trạng hiện tại của các
hệ thống nghệ thuật vẫn cịn lâu mới có thể có các cuộc trò chuyện mạch lạc, theo ngữ cảnh
và tự nhiên với con người [1].
Trên thế giới, ứng dụng trả lời tự động bằng văn bản đã được phát triển từ rất lâu và
có nhiều ứng dụng thực tiễn. Trong đó nổi tiếng hơn cả là hệ thống A.L.I.C.E. (Artificial
Linguistic Internet Computer Entity), một ứng dụng cho phép trả lời trực tuyến tiếng Anh
dựa trên ngôn ngữ AIML (Artificial Intelligence Mark-up Language), Smartphone
Chatbot…[2] Lợi ích chính mà ứng dụng chat bot mang lại cho các cơng ty chính là các
quy trình dịch vụ khách hàng của họ sẽ được tự động hóa vì chatbot có thể trả lời tự động
các câu hỏi của khách hàng về sản phẩm và dịch vụ. Tuy nhiên, để xây dựng một chatbot
thông minh là một khó khăn vì hệ thống này địi hỏi phải hiểu được ngữ cảnh, chi tiết văn
bản và ngôn ngữ mà người dụng nhập vào. Do đó, ứng dụng này yêu cầu sử dụng nhiều
dạng khác nhau của trí tuệ nhân tạo (AI) và xử lý ngôn ngữ tự nhiên (NLP). Trí tuệ nhân
tạo hướng tới mục tiêu là giao tiếp giữa người và máy tính trở nên dễ dàng hơn sử dụng
ngôn ngữ tự nhiên, ngôn ngữ của con người. Tuy nhiên, sự phức tạp của ngôn ngữ mà con
người sử dụng đòi hỏi các nhà khoa học về trí tuệ nhân tạo phải cung cấp các mơ hình để
giúp máy tính có thể hiểu được sử dụng cách tiếp cận là xử lý ngôn ngữ tự nhiên hay nói
cách khác là cung cấp cho máy tính khả năng hiểu được ngơn ngữ của con người. Từ đó,
con người có thể trao đổi, nói chuyện với máy tính như nói chuyện với một người khác.
1.2.1. Một số kỹ thuật xây dựng chatbot sử dụng mạng nơ ron nhân tạo
Recurrent Neural Networks (RNNs): Mạng nơ-ron tuần hoàn (RNN) là một lớp

của mạng nơ-ron nhân tạo và là một biến thể của mạng nơ-ron nhân tạo đệ quy. Nó hoạt

Đề tài NCKH cấp trường năm 2021

Trang 16


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

động trên nguyên tắc lưu đầu ra của một lớp và cấp đầu ra đã lưu này cho đầu vào mới để
dự đốn đầu ra tiếp theo. Nói cách khác, mạng nơ-ron tuần hồn có khả năng ghi nhớ các
tính tốn trước đó và sử dụng hiểu biết về thơng tin trước đó trong q trình xử lý hiện tại.
Cách tiếp cận đơn giản này đã thay đổi các ứng dụng chatbots. RNN bao gồm nhiều bản
sao của mạng nơ-ron với đầu ra của một mạng nơ-ron đóng vai trị là đầu vào cho mạng
nơ-ron tiếp theo . Mạng nơ-ron truyền thống khơng có khả năng này để phân tích lịch sử
của thông tin. Do khả năng ghi nhớ các tính tốn trước đó, mạng nơ-ron tuần hồn rất hữu
ích khi bạn cần xử lý dữ liệu tuần tự. RNN có khả năng nắm bắt tính chất tuần tự vốn có
trong ngơn ngữ tự nhiên vì các từ trong ngơn ngữ tự nhiên phát triển ý nghĩa ngữ nghĩa của
chúng dựa trên các từ trước đó trong câu. Điều này cho phép RNN giữ lại ngữ cảnh và tạo
ra kết quả dựa trên các từ trước đó trong câu. Cách tiếp cận này làm cho mạng nơ-ron lặp
lại phù hợp với chatbot vì hiểu ngữ cảnh hội thoại là điều cần thiết để hiểu đầu vào của
người dùng và đưa ra phản hồi đúng theo ngữ cảnh [2][3][29]. Trong các ứng dụng
chatbots, nếu nó được cung cấp thơng tin từ các cuộc trị chuyện trước đó, nó có xu hướng
tạo ra các phản hồi đúng ngữ cảnh hơn
Sequence to Sequence (Seq2Seq) Neural Models: Mơ hình Seq2Seq dựa trên kiến
trúc mạng nơ-ron tuần hoàn (RNN) và bao gồm hai mạng nơ-ron tuần hồn, một bộ mã
hóa xử lý đầu vào và một bộ giải mã tạo ra đầu ra [2]. Cả bộ mã hóa và bộ giải mã đều cho
phép đưa mơ hình vào với các câu đầu vào có độ dài thay đổi. Nó được đề xuất lần đầu tiên
vào năm 2014 dưới dạng một biến thể của mơ hình tổng hợp của Ritter sử dụng những tiến
bộ trong học sâu để đạt được độ chính xác cao hơn. Bộ mã hóa mã hóa <trạng thái> hoặc

câu đầu vào, và bộ giải mã giải mã <trạng thái> và tạo ra mong muốn. Mơ hình
này chủ yếu được sử dụng trong dịch ngơn ngữ (ví dụ: đối với dịch máy thống kê) trong
đó câu đầu vào là một ngơn ngữ và <response> là một câu được dịch sang một ngơn ngữ
khác. Mơ hình này cũng có thể được áp dụng cho chatbots để chuyển đổi giữa đầu vào
<trạng thái> và đầu ra . Seq2Seq là phương pháp phát sinh phản hồi tốt nhất
trong ngành hiện tại và được sử dụng rộng rãi
Long Short-Term Memory Networks Mạng bộ nhớ thuật ngữ ngắn dài hạn(LSTMs)
là một loại đặc biệt của RNN. LSTM được thiết kế để tránh vấn đề phụ thuộc lâu dài của
RNN. Các ô nhớ và cổng được giới thiệu trong LSTM cho phép các ô nhớ thông tin trước
đó trong thời gian dài. Các ơ nhớ này có thể lưu trữ thơng tin, ghi thơng tin mới và đọc
Đề tài NCKH cấp trường năm 2021

Trang 17


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

thông tin từ chúng như dữ liệu trong bộ nhớ của máy tính. Luồng thơng tin được kiểm sốt
với việc sử dụng các cổng đầu vào, cổng quên và cổng ra [24][29]. Mạng LSTM lý tưởng
để học hỏi kinh nghiệm so với mạng RNN truyền thống. Mạng LSTM kể từ đó đã thay thế
RNN làm tiêu chuẩn cho nhiệm vụ này. Một mạng LSTM được đào tạo tốt có khả năng
thực hiện phân loại, xử lý và dự đoán chuỗi thời gian tốt hơn ngay cả khi có một khoảng
thời gian dài có kích thước khơng xác định giữa các sự kiện quan trọng. Những khả năng
này minh chứng cho hiệu suất cao của LSTM so với các RNN có sẵn khác, các mơ hình
Markov ẩn và các phương pháp học trình tự khác đang được sử dụng trong nhiều ứng dụng.
Do đó, LSTM được chứng minh là rất hữu ích trong việc thiết kế chatbot do khả năng của
chúng thường xuyên đề cập đến một phần thông tin ở xa
Để xây dựng ứng dụng chat bot cho tiếng Việt mà cụ thể là ứng dụng tư vấn tuyển
sinh, bên cạnh việc tìm hiểu các kỹ thuật xây dựng ứng dụng chat bot, chúng tơi cần tìm
hiểu các kỹ thuật hỗ trợ đề máy tính có thể hiểu được tiếng Việt, từ đó ứng dụng có thể

hiểu được các câu hỏi do người dùng đặt ra và đưa ra được phản hồi chính xác. Để chuyển
đồi dữ liệu văn bản sang dạng số thì kỹ thuật được sử dụng phổ biến hiện nay là các kỳ
thuật từ nhúng (embedding). Bên cạnh đó, BERT cũng là một giải pháp đang được sử dụng
phổ biến và rộng rãi vì nó đã được chứng minh khả năng đối với 11 tác vụ xử lý ngơn ngữ
tự nhiên. Phần tiếp theo sẽ trình bày một số liên quan tới kỹ thuật Embedding và BERT.
1.2.2. Kỹ thuật Embedding
Như chúng ta biết các mơ hình học máy khơng thể xử lý văn bản, vì vậy chúng ta
cần tìm ra cách để chuyển đổi các dữ liệu văn bản này thành dữ liệu số. Embedding là một
hình thức biểu diễn ngôn ngữ, làm cầu nối giữa sự hiểu biết của con người về ngôn ngữ
với sự hiểu biết của máy móc. Phương pháp chính của kỹ thuật này là biểu diễn văn bản
trong không gian n chiều và các từ có cùng nghĩa có cách biểu diễn tương tự với nhau. Một
số thuật toán embedding đã và đang được sử dụng phổ biến bao gồm Word2vec, GloVe và
Skip-gram. Word2vec và GloVe là hai thuật toán phổ biến nhất để nhúng từ mang lại sự
giống nhau về ngữ nghĩa của các từ. Tuy nhiên, Word2vec và Glove khác nhau vì
Word2vec dựa trên việc huấn luyện một mạng nơ-ron truyền tải (fastforward neural
network) trong khi các kỹ thuật GloVe sẽ học dựa trên các kỹ thuật phân tích ma trận.
Word2vec là một phương pháp tạo embedding một cách hiệu quả bằng cách sử dụng mạng

Đề tài NCKH cấp trường năm 2021

Trang 18


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

nơ-ron hai lớp. Mạng nơ-ron đơn giản này được phát triển bởi Mikolov, Corrado, Chen và
Dean năm 2013 [25][26] đã hỗ trợ việc huấn luyện embedding dựa trên mạng nơ-ron hiệu
quả hơn và kể từ đó nó đã trở thành tiêu chuẩn thực tế để phát triển các mơ hình word
embedding được huấn luyện trước (pretrained word embedding). Word2vec không phải là
một thuật toán đơn lẻ mà là sự kết hợp của hai kỹ thuật - CBOW (Túi từ liên tục) và Mơ

hình Skip-gram[25][26]. Mơ hình Skip-gram là một phương pháp hiệu quả để học các biểu
diễn vector chất lượng cao của các từ từ một lượng lớn dữ liệu văn bản khơng có cấu trúc.
Kiến trúc Skip-gram tương tự như CBOW, nhưng thay vì dự đốn từ hiện tại dựa trên ngữ
cảnh, nó cố gắng tối đa hóa việc phân loại một từ dựa trên một từ khác trong cùng một câu.
Một giải thuật khác, GloVe là viết tắt của Global Vectors vì số liệu thống kê kho dữ liệu
tổng thể (global corpus statistics) được mơ hình nắm bắt trực tiếp. Kết quả của Pennington,
Socher và Manning năm 2014 [27] cho thấy GloVe là một mơ hình hồi quy log-bilinear
tổng thể (global log-bilinear regression model) mới cho việc học không giám sát của việc
biểu diễn từ, vượt trội hơn các mơ hình khác về độ tương tự của từ, và các tác vụ nhận
dạng thực thể.
1.2.3. BERT
BERT được Google đưa ra vào năm 2018 và gần đây đã đạt được hiệu suất cao
trong một loạt các nhiệm vụ xử lý ngôn ngữ tự nhiên, bao gồm trả lời câu hỏi và suy luận
ngôn ngữ. BERT được chứng minh là đơn giản về mặt khái niệm và mạnh mẽ về mặt kinh
nghiệm vì nó thu được các kết quả mới nhất đối với 11 tác vụ xử lý ngôn ngữ tự nhiên [3].
Sự khác biệt giữa BERT và các mô hình biểu diễn ngơn ngữ khác trước đó là nó được thiết
kế để tiền huấn luyện cho các biểu diễn hai chiều từ văn bản không được gắn nhãn, bằng
cách kết hợp chung cả ngữ cảnh bên trái và bên phải trong tất cả các lớp, sau đó mơ hình
BERT được tiền huấn luyện có thể được tinh chỉnh chỉ với một lớp đầu ra bổ sung để tạo
các mô hình phù hợp cho một loạt các nhiệm vụ xử lý ngôn ngữ tự nhiên, chẳng hạn như
hệ thống trả lời câu hỏi và tác vụ suy luận ngôn ngữ, mà không cần sửa đổi kiến trúc cụ
thể cho nhiệm vụ cụ thể. Cụ thể, BERT lần đầu tiên được tiền huấn luyện bằng cách sử
dụng hai tác vụ không giám sát bao gồm: Masked LM và dự đoán câu tiếp theo (Next
Sentence Predition) (Hình 2). Sau đó, một mơ hình BERT được huấn luyện trước có thể
được tinh chỉnh để tạo mơ hình cho nhiều tác vụ xử lý ngôn ngữ tự nhiên khác cho dù
chúng liên quan đến văn bản đơn lẻ hoặc cặp văn bản.
Đề tài NCKH cấp trường năm 2021

Trang 19



Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

Hình 2. Tổng quan quá trình huấn luyện trước và thủ tục tinh chỉnh cho BERT[3]

Thêm vào đó, khơng giống như các mơ hình trước đó, BERT là một mơ hình biểu
diễn từ theo 2 chiều ứng dụng kỹ thuật Transformer, sử dụng phương pháp học sâu, không
giám sát, được tiền huấn luyện và chỉ sử dụng một kho ngữ liệu văn bản thuần túy. Các mơ
hình khơng có ngữ cảnh như Word2vec hoặc GloVe tạo ra một từ nhúng duy nhất cho mỗi
từ trong từ vựng, trong khi đó BERT sẽ tính đến ngữ cảnh cho mỗi lần xuất hiện của một
từ nhất định [4]. Ví dụ: từ “câu” sẽ có cùng một dạng vectơ biểu diễn dạng Word2vec cho
cả hai lần xuất hiện của nó trong các câu “Tơi đi câu cá ở hồ Xn Hương” và “Mình cịn
chưa nói hết câu mà”, BERT sẽ cung cấp một nhúng theo ngữ cảnh cho nên cụm từ này sẽ
có 2 dạng biểu diễn khác nhau trong hai câu trên. Vì những ưu điểm nổi bật này của BERT,
chúng tơi sẽ sử dụng BERT trong NLU pipeline sau bước tách từ tiếng Việt để đánh giá
khả năng giữ lại ngữ cảnh của BERT đối với các câu hỏi của người dùng.
DistilBERT được đề xuất năm 2020 bởi nhóm tác giả Victor Sanh, Lysandre Debut,
Julien Chaumond, Thomas Wolf từ Hugging Face [17] cũng đạt được hiệu quả cao đối với
các tác vụ xử lý ngôn ngữ tự nhiên không thua kém gì BERT. DistilBERT được huấn luyện
lại từ BERT và được chứng minh là kích thước của mơ hình đã giảm 40% so với kích thước
của BERT, nhanh hơn 60% nhưng vẫn giữ được 97% khả năng hiểu ngôn ngữ tự nhiên của
BERT. Vì lý do này, chúng tơi cũng tùy chỉnh NLU pipeline, sử dụng mơ hình DistilBERT
cho việc biểu diễn ngơn ngữ và trích xuất đặc trưng. Nếu hiệu suất DistilBERT trên tập dữ
liệu huấn luyện không chênh lệch so với BERT thì có thể dùng DistilBERT thay thế cho
BERT.
RoBERTa là một dự án của Facebook, kế thừa lại các kiến trúc và thuật toán của
BERT trên nền tảng do Facebook phát triển - Pytorch [18]. RoBERTa được huấn luyện lại
Đề tài NCKH cấp trường năm 2021

Trang 20



Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

các mơ hình BERT trên những bộ dữ liệu mới cho các ngơn ngữ khác ngồi một số ngơn
ngữ phổ biến. Bên cạnh đó, RoBERTa được huấn luyện mơ hình lâu hơn, với batch size
lớn hơn và trên nhiều dữ liệu hơn. Kể từ khi ra đời, đã có rất nhiều các mơ hình tiền xử lý
cho những ngơn ngữ khác nhau được huấn luyện trên RoBERTa, cụ thể là mơ hình
PhoBERT, một mơ hình huấn luyện riêng cho tiếng Việt. Do đó, chúng tơi muốn thực hiện
so sánh hiệu suất phân lớp của RoBERTa so với BERT trên tập dữ liệu huấn luyện
1.3. Khảo sát các ứng dụng chatbot
1.3.1. Ứng dụng chatbot trong giáo dục
Chatbot cũng được sử dụng trong rất nhiều miền ứng dụng khác nhau cũng như có
rất nhiều kỹ thuật và cách thức xây dựng ứng dụng chatbot. Vì vậy, phần tiếp theo của báo
cáo này sẽ giới thiệu một số ứng dụng chatbot dành cho giáo dục cũng như các ứng dụng
chatbot tiếng Việt. Nhiều ứng dụng chatbot cho giáo dục cũng đã sử dụng nhiều kỹ thuật
khác nhau được đề cập ở trên. Đầu tiên, ngơn ngữ trí tuệ nhân tạo (Artificial Intelligence
Markup Language - AIML) và phân tích ngữ nghĩa tiềm ẩn (Latent Semantic Analysis LSA) được sử dụng để thiết kế một chatbot, cung cấp câu trả lời hiệu quả và chính xác cho
bất kỳ truy vấn nào dựa trên tập dữ liệu câu hỏi thường gặp. Kỹ thuật AIML sử dụng cho
các câu hỏi theo mẫu hoặc các câu hỏi chung thường gặp như các câu chào hỏi, chào mừng,
các câu hỏi phổ biến còn kỹ thuật LSA sử dụng để phản hồi những câu hỏi dịch vụ khác.
Ứng dụng này được sử dụng tại trường đại học để trả lời một số câu hỏi thường gặp cho
sinh viên đại học Manipal [7]. Thứ hai, so khớp mẫu, trí tuệ nhân tạo và máy học cũng là
lựa chọn được các tác giả sử dụng cho hệ thống chatbot đưa ra câu trả lời cho các câu hỏi
của sinh viên. Tuy nhiên, trong bài báo tác giả khơng tập trung nói rõ kỹ thuật được sử
dụng mà chỉ tập trung giới thiệu cách tiếp cận xây dựng ứng dụng [8]. Thứ ba, năm 2018
Mondal và cộng sự đã trình bày một thiết kế của một ứng dụng giao tiếp dạng văn bản cụ
thể là chatbot trong lĩnh vực giáo dục có độ chính xác khoảng 88.6%. Họ đã sử dụng
phương pháp học tập theo nhóm được gọi là rừng ngẫu nhiên hoặc rừng quyết định ngẫu
nhiên để xây dựng chatbot. Bài báo cũng giới thiệu các bước cơ bản để xây dựng ứng dụng

chatbot bao gồm: thu thập dữ liệu, tiền xử lý dữ liệu, bước chọn câu trả lời và bước xây
dựng ứng dụng chatbot. Số cặp câu hỏi và câu trả lời nhóm tác giả đã thu thập và sử dụng
trong quá trình huấn luyện là 1000 cặp [9]. Như vậy, nhóm kỹ thuật được sử dụng để xây

Đề tài NCKH cấp trường năm 2021

Trang 21


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

dựng chatbot này thuộc nhóm so khớp mẫu, chưa áp dụng các kỹ thuật dựa trên học máy
để chabo có thể thông minh, linh hoạt hơn.
1.3.2. Ứng dụng chatbot tiếng Việt
Trong lĩnh vực chatbot tiếng Việt, Nguyễn Thái Nghe và Trương Quốc Định năm
2015 [10] đã đề xuất giải pháp xây dựng hệ thống tư vấn bán tự động (hệ thống trả lời câu
hỏi bán tự động) sử dụng VnTokenizer để tách từ và dừng loại bỏ từ và mô hình SVM cho
phân loại câu hỏi. Hệ thống tư vấn này có khả năng tiếp nhận câu hỏi của người dùng từ
trang web/email hoặc qua tin nhắn SMS, sau đó, câu hỏi sẽ được phân loại tự động bằng
máy học SVM để chuyển đến chuyên gia thích hợp trong từng lĩnh vực, sau khi có câu trả
lời từ chuyên gia, hệ thống sẽ phản hồi tức thì cho người dùng. Bên cạnh đó, hệ thống có
thể tìm các câu hỏi có độ tương đồng đã lưu trữ sẵn và phản hồi câu trả lời cho người dùng
nhằm gợi ý cho người dùng có thêm thơng tin. Thử nghiệm trên tập dữ liệu thu thập được
từ 447 câu hỏi thuộc 8 lĩnh vực thường được nhiều thí sinh quan tâm cho thấy hệ thống đạt
độ chính xác 82.33% [10].
Một ứng dụng chatbot khác, tại hội thảo CITA 2018, tác giả Nguyễn Thành Thủy
đã đề xuất một ứng dụng chatbot hỗ trợ trả lời tự động các câu hỏi thường gặp của khách
hàng khi sử dụng dịch vụ của Vietnam Airlines. Tác giả đã sử dụng BoW và TF-IDF tạo
vectơ đặc trưng ngữ nghĩa của các câu văn bản tiếng Việt và thuật toán SVM nhiều lớp để
huấn luyện và tiến hành phân lớp. Bot hiểu được ý định người dùng thông qua độ tương

đồng ngữ nghĩa giữa câu hỏi đầu vào với tập không gian câu hỏi – câu trả lời được sử dụng
trong bước huấn luyện. Ứng dụng có độ chính xác khoảng 87.5% [12].
Tác giả Vi Mạnh Tuyên và cộng sự đã đề xuất một hệ thống chatbot hỗ trợ chăm
sóc sức khỏe sử dụng mơ hình DIET để phân loại ý định của người dùng và trích chọn
thơng tin nhằm phân tích câu nói của người dùng trên miền Tiếng Việt. Các ý định chính
được phân loại trong thực nghiệm bao gồm: hỏi triệu chứng, hỏi nguyên nhân, hỏi cách
phịng ngừa, hỏi cách điều trị. Các thơng tin trích chọn gồm: tên, giới tính, bệnh. Hiệu quả
của mơ hình khi tiến hành thực nghiệm đạt độ chính xác hơn 95% trên tập dữ liệu kiểm tra.
Như vậy có thể thấy rằng mơ hình DIET có hiệu quả cao đối với các bài tốn phân loại ý
định và trích chọn thực thể [13] cho nên chúng tôi sẽ sử dụng mơ hình này trong ứng dụng
của chúng tơi.

Đề tài NCKH cấp trường năm 2021

Trang 22


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

Trong bài báo [14] tác giả Trang Nguyen và cộng sự cũng đề xuất giải pháp xây
dựng chatbot tiếng Việt sử dụng nên tảng RASA. Trong bài báo, các tác giả cũng đề xuất
tùy chỉnh NLU pipeline của RASA bằng cách sử dụng các mơ hình được tiền huấn luyện
là BERT đa ngôn ngữ và FastText. Kết quả các tác giả đưa ra là NLU pipeline sử dụng
BERT cho hiệu suất phân lớp thấp hơn so với Tensorflow embedding và FastText. Đối với
chức năng phân lớp ý định người dùng, điểm F1 của NLU pipeline dùng BERT chỉ có
60.7% trong khi NLU pipeline dùng TensorFlow là 82% và FastText là 86.3%. Điểm F1
cho chức năng trích xuất thực thể của FastText cũng đạt giá trị cao nhất là 81.5%, theo sau
là NLU pipeline sử dụng BERT và TensofFlow. Tuy nhiên nhóm tác giả khơng dùng kết
hợp bộ tách từ tiếng Việt kết hợp với BERT. Bên cạnh đó, kích thước của mơ hình FastText
khá lớn, tới 4.1Gb ở dạng nhị phân nhưng điểm F1 so với NLU pipeline sử dụng

TensorFlow cao hơn khơng đáng kể.
Vì vậy, để giảm kích thước của mơ hình sử dụng, trong đề tài này, chúng tơi khơng
sử dụng FastText mà thay bằng mơ hình có khả năng hiểu ngôn ngữ tự nhiên tương đương
với BERT nhưng kích thước mơ hình giảm 40% so với BERT đó là DistilBERT. Bên cạnh
đó, chúng tơi cũng tiến hành đánh giá hiệu quả của mơ hình RoBERTa trên tập dữ liệu của
chúng tơi để có thể áp dụng các mơ hình khác dựa trên RoBERTa về sau.
1.4. RASA – Nền tảng xây dựng ứng dụng chatbot thông minh
1.4.1. Giới thiệu
RASA là một nền tảng học máy mã nguồn hỗ trợ thiết kế các cuộc hội thoại dựa
trên văn bản và giọng nói một cách tự động. Tính năng của RASA bao gồm hiểu tin nhắn,
giữ cuộc trò chuyện và kết nối với các kênh nhắn tin và xây dựng API [5] [6].
Về cơ bản thì RASA là một nền tảng giúp xây dựng các chatbot một cách hiệu quả
và dễ dàng. RASA bao gồm ba thành phần chính cấu thành[5] [15]:
RASA NLU: phân tích những thơng tin có trong tin nhắn mà con người gửi đến
cho chatbot. Các thông tin bao gồm ý định của người dùng (intent) và các đối tượng, thực
thể được nhắc đến cần trích xuất (entities). Trong ứng dụng chatbot của mình, chúng tơi
tạo ra 1268 mẫu câu hỏi thuộc 27 ý định khác nhau như hỏi về học phí, hỏi về việc xét
tuyển học bạ, mã ngành, điểm chuẩn xét tuyển, chỉ tiêu tuyển sinh, thông tin ngành đào

Đề tài NCKH cấp trường năm 2021

Trang 23


Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

tạo. Tập thực thể chúng tôi định nghĩa bao gồm 48 thực thể, bao gồm tên của hồ sơ học bạ
hạn nộp hồ sơ, hình thức xét tuyển, và tên của các ngành đào tạo.
RASA Core: một số bước cơ bản mà ứng dụng RASA thực hiện để phản hồi lại
một thơng điệp từ người dùng bao gồm [5]:

• Thơng tin người dùng nhập vào sẽ được chuyển cho bộ dịch Interpreter
(thuộc RASA NLU). Bộ dịch sẽ chuyển thông điệp này sang dạng có cấu
trúc bao gồm: nội dung văn bản, các ý định và các thực thể;
• Bộ phận policy sẽ quyết định hành động tiếp theo của ứng dụng;
• Phản hồi lại tin nhắn bằng cách chọn những câu trả lời được cài đặt sẵn hoặc
thực hiện một số hành động khác như truy vấn cơ sở dữ liệu để lấy thông tin
phản hồi.
RASA X: giao diện của tồn RASA. Nó hỗ trợ tất cả các bước trong quy trình xây
dựng ứng chatbot sử dụng RASA bao gồm khai báo các ý định, thực thể, tạo các câu trả lời
và định nghĩa các hành động, tạo mơ hình huấn luyện và kiểm tra ứng dụng bot đã tạo.
1.4.2. NLU pipeline của RASA
Quy trình xử lý thơng điệp đầu vào của RASA bao gồm các các thành phần, được
tổ chức theo một thứ tự và cho phép người dùng thay đổi các thành phần này. Quy trình
này được gọi là pipeline. Hay nói cách khác các thành phần này được thực thi tuần tự trong
một pipeline. Một thành phần sẽ xử lý đầu vào và đưa ra một đầu ra có thể được sử dụng
bởi bất kỳ các thành phần trong pipeline. Một pipeline xác định các giai đoạn xử lý thông
điệp đầu vào sẽ phải đi qua. Giai đoạn xử lý này có thể bao gồm việc tách câu thành các
token, trích chọn đặc trưng, nhận dạng và gán nhãn thực thể, phân loại ý định. RASA cung
cấp các pipeline được định cấu hình trước, chúng có thể được sử dụng bằng cách đặt các
giá trị cấu hình là spacy_sklearn, mitie, mitie_sklearn, keyword, tensorflow_embedding.
Bên cạnh đó, RASA cho phép tùy chỉnh bằng cách thay đổi các thành phần của pipeline
vì vậy chúng tơi sẽ thực hiện các tùy chỉnh như sử dụng bộ tách từ cho tiếng Việt, sử dụng
các mơ hình cho biểu diễn ngơn ngữ và trích chọn đặc trưng sau đó áp dụng mơ hình DIET
để phân loại ý định và trích chọn thực thể [16].

Đề tài NCKH cấp trường năm 2021

Trang 24



Xây dựng ứng dụng chatbot hỗ trợ tuyển sinh trường ĐHĐL

1.4.3. RASA policy
RASA cung cấp một lớp là RASA.core.policies.policy. Các chính sách áp dụng sẽ
quyết định hành động của chatbot. Các chính sách RASA hỗ trợ bao gồm: chính sách học
máy (TEDpolicy, Memorization memory, Augmented memoization policy), chính sách
dựa trên luật (rule policy), và các chính sách về cấu hình (max history, data augmentation,
featurizers). Các chính sách sử dụng cũng có thể được tùy biến theo người sử dụng và rõ
ràng nó sẽ ảnh hưởng tới chất lượng của mơ hình. Vì vậy, khi xây dựng ứng dụng chatbot
với RASA, chúng ta cần phải xem xét và điều chỉnh các tham số của các chính sách này
cho phù hợp. Đối với ứng dụng Chatbot hỗ trợ tuyển sinh, sau khi xác định được ý định
người dùng và trích chọn được thông tin người dùng cần hỏi, chúng tôi trước hết sẽ áp
dụng chính sách so khớp dựa trên luật để tìm câu trả lời để tăng tốc độ phản hồi cho ứng
dụng. Nếu khơng có luật được định nghĩa trước, RASA sẽ thực hiện áp dụng chính sách
Memorization Policy nghĩa là nó sẽ tìm câu trả lời dựa vào các câu chuyện (story) đã được
học. Cuối cùng, TEDPolicy sẽ được áp dụng để tìm câu trả lời phù hợp nhất với câu hỏi
của người dùng. Như vậy, các chính sách chúng tôi sử dụng là Rule Policy, Memorization
Policy và TEDPolicy.
1.5. Kết chương
Chương 1 đã trình bày một số kiến thức tổng quan về ứng dụng chat bot, các kỹ
thuật đã và đang được sử dụng để xây dựng ứng dụng chatbot . Bên cạnh đó, chúng tơi
cũng đã tập trung giới thiệu một nền tảng mã nguồn mở cho phép xây dựng ứng dụng
chatbot thông minh, cho phép tùy biến các mơ hình tiền huấn luyện từ Hugging face.
Chương tiếp theo chúng tơi sẽ đi sâu phân tích phương pháp tiếp cận và giới thiệu về các
giải pháp chúng tôi sử dụng để hoàn thành đề tài.

Đề tài NCKH cấp trường năm 2021

Trang 25



×