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 chatbot hỗ trợ tư vấn tuyển sinh đại học

79 9 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

Thông tin cơ bản

Tiêu đề Xây dựng hệ thống chatbot hỗ trợ tư vấn tuyển sinh đại học
Tác giả Hoàng Xuân Vũ, Nguyễn Văn Tài
Người hướng dẫn TS. Nguyễn Lưu Thùy Ngân, ThS. Đặng Văn Thạnh
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Khoa học máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 79
Dung lượng 38,72 MB

Nội dung

° Xây dựng hoàn chỉnh hệ thống, chatbot trả lời được các câu hỏi tư van tuyển sinh, bên cạnh đó chúng tôi đã giải quyết một số thách thức trong quá trìnhxây dựng chatbot để chatbot có th

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHÓ HÒ CHÍ MINH TRƯƠNG ĐẠI HỌC CÔNG NGHỆ THON G TIN

KHOA KHOA HỌC MAY TINH

HOANG XUAN VŨ - 19522531

NGUYEN VAN TÀI - 19522154

KHOA LUAN TOT NGHIEP

_XAY DUNG HE THONG CHATBOT

HO TRỢ TƯ VAN TUYEN SINH DAI HỌC

Building a chatbot system

To support college admissions advising

CỬ NHÂN NGANH KHOA HỌC MAY TÍNH

GIÁO VIÊN HƯỚNG DÂN

TS NGUYÊN LƯU THÙY NGÂN

ThS ĐẶNG VĂN THÌN

THÀNH PHÓ HÒ CHÍ MÌNH, 2022

Trang 2

DANH SÁCH HỘI DONG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định sé 152/QD-DHCNTT ngày

01/03/2023 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

1 TS Lương Ngọc Hoàng - Chủ tịch

2 ThS Nguyễn Bich Vân — Thư ký

3 ThS Nguyễn Trọng Chỉnh - Ủy viên

Trang 3

LỜI CẢM ƠN

Đầu tiên, chúng tôi xin chân thành cám ơn cô Nguyễn Lưu Thùy Ngân đã

tận tình hướng dẫn, định hướng cùng những phản biện nhằm giúp chúng tôi đạt được kết quả tốt nhất cho khóa luận Đồng thời, chúng tôi cũng xin gửi lời cảm ơn

ThS Đặng Văn Thìn (nghiên cứu viên của The UIT Natural Language Processing

Group) đã luôn bên cạnh hỗ trợ, cho chúng tôi những lời khuyên trong quá trình

chúng tôi thực hiện Cô và thầy đã luôn bên cạnh, chỉ dẫn, bổ sung cho chúng tôi

những kiến thức, kỹ năng quan trọng để thực hiện dé tài nay.

Chúng tôi cũng xin gửi lời cám ơn đến các thay, cô, anh chị, các bạn trong Phòng thí nghiệm Truyền thông Đa phương tiện, Trường Đại học Công Nghệ

Thông Tin đã nhiệt tình hỗ trợ và góp ý cho chúng tôi trong quá trình làm khóa

luận.

Bên cạnh đó, chúng tôi xin gửi lời cảm ơn Trường Đại học Công Nghệ Thông

Tin, Dai học Quốc Gia Thành phố Hồ Chí Minh, nơi không những mang lại cho

chúng tôi những kiến thức quan trọng, mà còn cho chúng tôi được có cơ hội học hỏi những người thầy cô tuyệt vời, cùng những người bạn, người anh đã luôn bên cạnh chúng tôi trong suốt những năm đại học.

Và điều quan trọng nhất, chúng tôi muốn cám ơn gia đình đã luôn ở bên, là điểm tựa vững chắc, là động lực để chúng tôi vượt qua mọi khó khăn về tinh thần lẫn thể chất trong thời gian qua.

Cuối cùng, trong quá trình thực hiện khóa luận, chúng tôi có thể có những thiếu sót và hạn chế Chúng tôi kính mong nhận được sự phản hôi và góp ý quý báu đến từ quý thay, cô Một lần nữa, chúng tôi xin chân thành cảm on!

Hồ Chí Minh, tháng 12, năm 2022

Sinh viên Hoàng Xuân Vũ và sinh viên Nguyễn Văn Tài

Trang 4

Mục lục

LỜI CẢM ON

MỤC LUC

IDANH SÁCH HÌNH VE

DANH SÁCH BANG

DANH MỤC TU VIET TAT

ITOM TAT KHOA LUAN

4 MỞ ĐẦU)

ii Tổng Gian] XmS .Ằ&Ý

12

Tháchthức| -1.3_ Mục tiêu của khóa

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

-1.4.1 Đối tượng 1.5 Kết quả của khóa luận|

1.6 Cấu trúc khóa

luận| .-2.1 Tổng quan về chatbot|

2.2 Bài toán phân lớp ý định trong chatbotl

E2 Bài toán thêm dấu trong chatbot|

E-3.3 Phương pháp tiếp cận dựa trên mô hình học chuyển tiép]

iv

iii

vi

vii

viii

ix

xi

2 BOI CẢNH, CAC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LY THUYET| 7

Trang 5

2.5 Cơsở lý thuyết|.Ô ee

"Ma

an

2.5.3 Mạng NeuralNetwork|

2.5.4 Mạng tích chap Convolutional Neural Network)

2.5.5 Mạng hỏi quy Long Short-Term Memory]

2.5.6 Kiến trúc

Transformer| -2.5.6.1 Kiến trúc của phần encoder}

2.5.6.2 _ Kiến trúc của khối decoderl

257 KiếntrúcBERI]

3 NỘI DUNG VÀ PHƯƠNG PHAP 3.1 Tổng quan hệ thông ' ưSPP., À `

3.2.1 Bộ dư liệu phân lớp ý định 322 Bộ dữ liệu thêm dấu|

3.5 Các phương pháp tiếp cận cho bài toán thêm dâu 3.5.1 Mạng thần kinh hồi

quy| -3.5.1.1 Mạng thân kinhhồiquyLSTM|L

3.5.1.2 Mạng thần kinh hồi quyBiLSTM|

3.5.2 Mô hình Transformerl

3.6 Xây dựng hệ thông hoàn chỉnh|

3.61 Điển khuyết (Slotfiling)|

3.6.2 Theo doi thông tin cuộc trò chuyện (Conversation tracking) 3.6.3 Đề xuất

(Recommendation)| -3.6.4 Hỏi lại (asking again)| 0000.

Trang 6

3.6.6 Xây dựngứngdụng| ẶẶ.

3.7 Cac phương pháp đánhgiá

3.7.1 Đánh giá mô hình phân lớp ý định và phân lớp miễn trả lời3.7.2 Phương pháp đánh giá mô hình thêm dau)

3.7.3 Đánh giá mô hệ thông chatbotl

4_ TỔNG QUAN DỮ LIỆU

4.1 Bộ dwt liệu bài toán phan lớp ý định

5 KET QUA VÀ PHAN TÍCH

A KET QUA THỰC NGHIỆM

B CONG BO KHOA HOC

VI

49

49 50 51

53

53 55

57

59

59 60

60

61

62

Trang 7

DANH SACH HINH VE

2.1 Ví dụ mat phân cach hai dt liệu

2.2_ Ví dụ margin của hai lớp trong thuật toán SVM| 14

2.3 Ví dụ mạng NeuralNetwork| 17

¬ 17 Te 19 2.6 Mô họa mô hình Bidiractional Long short-term Memory] 21

Na à 22

2.8 Mô tả đầu vào của mô hình BERT] - 26

3.1 Tổng quanhệ thống chatbot| - 29

3.2 Các thành phần trong hệ thống.| 30

32 35 37 40 ¬ ee 40 TH 40 Số lượng câu hỏi tương ứng với ý định 49 Phân bố số lượng dữ liệu ở mỗi miễn trả lời 50 Phân bồ số lượng dữ liệu ở mỗi tập dữ liệu 51 Biểu đồ thong kê độ dài theo cap độ từi 52 Biểu đồ thông kê độ dài theo cấp độ ky tự 52 Kết quả F1-score tương ứng với từng ý định 54 5.2 Ma trận nhầm lẫn của mô hình PhoBERT| 55

Trang 8

DANH SACH BANG

3.1 Bảng ví du về các câu hỏi tương ứng với các ý định

bài toán phân loại miễn trả lời

Trang 9

DANH MỤC TỪ VIET TAT

AI Artificial Intelligence API Application Programming Interface BERT Bidirectional Encoder Representation from Transformer BiLSTM _ BidirectionalLong Short Term Memory

BoW Bag of Word

CER Chracter Error Rate CNN Convolutional Neural Network CSS Cascading Style Sheet

DHCNTT Đại Học Công Nghệ Thông Tin

LSTM Long Short Term Memory

MAP Maximum A Posteriori

MLE Maximum Likelihood Estimation

NB Naive Bayes

NLP Natural Language Processing RNN Recurrent Neural Network

RoBERTa A Robustly Optimized BERT Pretraining Approach

SOL Structured Query Language

SVM Support Vector Machine

TF-IDF Term Frequency — Inverse Document Frequency

TN True Negative

TP True Positive

1X

Trang 10

UIT University of Information Technology WER Word Error Rate

XLM-R XLMRoBERTa

Trang 11

TÓM TẮT KHOÁ LUẬN

Trong những năm gần đây, sự phát triển nhanh chóng của khoa học côngnghệ, đặc biệt trong lĩnh vực trí tuệ nhân tạo đã góp phần xây dựng ra nhiều ứngdụng hỗ trợ và thúc đẩy phát triển trong nhiều lĩnh vực như kinh tế, tài chính,

giáo dục, giải trí, ngân hàng, v.v Nổi bật trong số đó là ứng dụng chatbot Chatbot

là một ứng dụng có thể trò chuyện với con người để giải quyết một vấn đề hoặc

để trả lời một truy vấn nhất định Việc ứng dụng chatbot vào các hệ thống thực

tế đã và đang được nghiên cứu rất rộng rãi và phổ biến Vì vậy, chúng tôi thựchiện dé tài “Xây dựng hệ thống chatbot hỗ trợ tư vẫn tuyển sinh đại học” để hỗ

trợ học sinh, sinh viên giải đáp các thắc mắc về về tuyển sinh và cung cap một số

thông tin khác của trường Đại học Công Nghệ Thông Tin.

Việc xác định ý định của người dùng sẽ quyết định hội thoại tiếp theo giữangười và chatbot sẽ diễn ra như thế nào Vì thế, nếu xác định sai ý định ngườidùng, chatbot sẽ đưa ra những phản hồi không đúng, không hợp ngữ cảnh Khi

đó, người dùng có thể thấy không hài lòng và không quay lại sử dụng hệ thống

Bài toán xác định ý định người dùng vì thế đóng vai trò rất quan trọng trong

hệ thống chatbot Bên cạnh đó, trong quá trình tương tác giữa chatbot và ngườidùng, câu hỏi của người dùng có thể nhập có dấu hoặc không có dấu, trongtrường hợp câu hỏi không có dấu chatbot có thể không hiểu và làm gián đoạn

quá trình tương tác và trải nghiệm của người dùng Do đó trong khóa luận này

chúng tôi sẽ tập trung nghiên cứu hai bài toán chính là phân loại ý định, thêm

dấu trong tiếng Việt, bên cạnh đó chúng tôi cũng xây dựng ứng dụng hoàn chỉnh

để có thể ứng dụng trong thực tế

Tóm lại, luận văn có một số đóng góp chính sau:

° Tổng hợp lại kiến thức và các công trình nghiên cứu liên quan đến bài toán

phân lớp ý định, thêm dấu trong tiếng Việt và các phương pháp xây dựng

hệ thống chatbot

° Xây dựng bộ dir liệu câu hỏi va câu trả lời hỗ trợ tư van tuyển sinh trường

Đại học Công Nghệ Thông Tin.

© Nghiên cứu, dé xuất các mô hình phân lớp ý định trong chatbot và phương

pháp thêm dấu trong tiếng Việt

Trang 12

° Xây dựng hoàn chỉnh hệ thống, chatbot trả lời được các câu hỏi tư van tuyển

sinh, bên cạnh đó chúng tôi đã giải quyết một số thách thức trong quá trìnhxây dựng chatbot để chatbot có thể trả lời tự nhiên như con người: Theo dõi

thông tin cuộc trò chuyện (conversation tracking), gợi ý câu hỏi cho người

dùng (recommendation), hỏi lại (asking again), chuyển cho chuyên viên tư

vấn, trả lời được các câu hỏi không dấu, trường hợp ngoài phạm vi hiểu biết

thì có thể trả lời một số câu hỏi nhất định

* Công bố các công trình nghiên cứu khoa học phù hợp với hướng luận văn

nghiên cứu.

¢ Xây dựng chương trình trên nền tang website minh họa và API có thể tích

hợp vào các nền tang website, mang xã hội khác

Trang 13

giáo dục.

Đại học là một trong những lựa chọn mà các bạn học sinh cũng như quý phụ

huynh định hướng ra sau khi tốt nghiệp THPT Tuy nhiên khi lựa chọn trườngđại học thì có rất nhiều câu hỏi về môi trường học tập, chất lượng đào tạo, hay

phương thức xét tuyển của trường, v.v.

Việc tư vấn giải đáp các thắc mắc cho các bạn học sinh, quý phụ huynh là vấn

dé cần thiết, cấp bách trong quá trình tuyển sinh, là nòng cốt dé đảm bảo tính

chính xác cũng như cụ thể trong quá trình tìm hiểu và lựa chọn một ngôi trường

học tập trong những năm tháng đại học.

Tuy nhiên với sO lượng nhu cầu giải đáp thắc mắc khổng lồ như hiện tại, các

chuyên viên tư vấn không thể giải đáp các thắc mắc đó nhanh chóng và kịp thời

cho các bạn Đồng thời, thời gian tư vẫn của các chuyên viên bị giới hạn Do đó,

chatbot là một công cụ hữu hiệu phản hồi tư vấn nhanh chóng 24/7 mà không

cần phải đợi chuyên viên tư vấn, từ đó trải nghiệm của các bạn khi tìm hiểu về

trường được cải thiện.

Tiết kiệm chỉ phí và thời gian Chatbot giúp giảm thiểu chỉ phí tư vấn tuyểnsinh và thời gian xử lý thủ tục với khả năng đáp ứng hàng trăm yêu cầu cùng lúc

Hệ thống tương tác liên tục với các câu trả lời nhanh và phù hợp, người dùng

sẽ có xu hướng tập trung vào cuộc trò chuyện nhiều hơn Bên cạnh đó nhà trường

Trang 14

1.2 Thách thức

Để chatbot hoạt động hiệu quả và trả lời được các câu hỏi thì cần phải có bộ

dữ liệu đào tạo chatbot Việc xây dựng bộ dữ liệu mat nhiều thời gian và công

sức Trong quá trình xây dựng cần tìm hiểu các câu trả lời để chatbot trả lời đúng,

tự nhiên như con người, giúp cho người dùng cảm thấy dé hiểu với câu trả lời hệ thống đưa ra.

Bên cạnh đó, chatbot không phải là hệ thống toàn diện có hiểu biết trong phạm

vi nhất định Trong quá trình triển khai chatbot, đôi khi sẽ có một số vấn đề xảy

ra nằm ngoài giới hạn hiểu biết của chatbot Trường hợp này cần phải có một kịch bản chuẩn bị để chatbot có thể trả lời ngoài phạm vi.

Trong quá trình tương tác với chatbot, người dùng sẽ sử dụng ngôn ngữ khác

hoặc ngôn ngữ tiếng Việt không có dau hoặc có một số trường hợp người dùng có

ngụ ý nói đến một van dé đã đề cập ở trước nên không nhắc lại ở lần hỏi tiếp theo.

Khi xây dựng chatbot cần phải đặt mình vào vị trí của người dùng để nghiên cứu

các trường hợp có thể xảy ra với chatbot để dé ra phương pháp xây dựng và xử lý

phù hợp.

1.3 Mục tiêu của khóa luận

Trong dé tài này chúng tôi thực hiện các mục tiêu sau:

s Mục tiêu 1: Xây dựng bộ dữ liệu câu hỏi và câu trả lời hỗ trợ tư vấn tuyển

sinh trường Đại học Công Nghệ Thông Tin.

Trang 15

Chương 1 MO DAU 3

s Mục tiêu 2: Nghiên cứu, thử nghiệm các phương pháp phân loại ý định với

các mô hình học máy khi xây dựng chatbot.

s Mục tiêu 3: Nghiên cứu, thử nghiệm các phương pháp thêm dau để hỗ trợ

cho việc chatbot có thể phân loại các ý định tốt để đưa ra câu trả lời phù

hợp.

® Mục tiêu 4: Giải quyết được các thách thức: Thêm dau, theo dõi được van

dé người dùng đang nói (conversasion tracking), trường hợp ngoài phạm

vi hiểu biết thì có thể trả lời một số vần để, gợi ý câu hỏi cho người dùng (Recommendation), chuyển cho chuyên viên tư vấn.

© Mục tiêu 5: Xây dựng hoàn chỉnh API để có thể tích hợp được vào website hoặc các nền tảng khác.

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

14.1 Đối tượng nghiên cứu

Đối tượng nghiên cứu là tin nhắn yêu cầu tu van liên quan đến tuyển sinh.

Cơ sở dir liệu tuyển sinh của trường DHCNTT.

1.42 Phạm vi nghiên cứu

Phạm vi nghiên cứu trong để tài này là những câu hỏi và câu trả lời được

chúng tôi tạo để phù hợp với tư van tuyển sinh trường Đại học Công Nghệ Thông

tin.

Trong nghiên cứu của chúng tôi, chúng tôi thực hiện 2 bài toán con chính là

phân loại ý định và thêm dấu cho tiếng Việt.

1.5 Kết quả của khóa luận

Sau khi tìm hiểu và nghiên cứu, chúng tôi đã cài đặt thành công các mô hình

khác nhau trên bộ dữ liệu của mình cho hai bài toán Phân loại ý định và Thêm

dấu trong tiếng Việt Ngoài ra, hệ thống Chatbot tư vấn tuyển sinh cũng trả lời

Trang 16

Chương 1 MO DAU 4

được hầu hết các câu hỏi liên quan đến tuyển sinh Bên cạnh đó, chúng tôi cũng đạt được các mục tiêu mà mình đã đề ra ở phần Mục tiêu của khóa luận.

© Xây dựng bộ dit liệu câu hỏi va câu trả lời hỗ trợ tu vin tuyển sinh trường Dai học

Công Nghé Thông Tin.

- Để hoàn thành mục tiêu xây dựng bộ dit liệu, chúng tôi tiến hành phân tích và cau trúc dữ liệu tuyển sinh từ dé án tuyển sinh năm 2021, từ đó

chọn ra 229 câu hỏi và câu trả lời chuẩn Các nhà chú thích sẽ đặt các

hỏi tuyển sinh có nghĩa tương đồng với câu hỏi mẫu, hoặc hỏi các phần

trong câu trả lời để cho dữ liệu được phong phú hơn Nhu vậy chúng

tôi thu được bộ dữ liệu tuyển sinh gồm 4511 mẫu.

© Nghiên cứu, thử nghiệm các phương pháp phân loại ¥ định uới các mô hình may học khi xâu dựng chatbot.

- Để hoàn thành mục tiêu này, chúng tôi tiến hành thử nghiệm các loại

mô hình khác nhau trên tác vụ phân loại văn bản cho bài toán Phân

loại ý định Kết quả của bài toán đạt score cao nhất là 97.71%,

F1-weighted là 97.68% va Accuracy là 97.69% với mô hình PhoBERT.

© Nghiên cứu, thử nghiệm các phương pháp thêm dấu để hỗ trợ cho viéc chatbot có

thể phân loại các y định tốt để dua ra câu trả lời phù hợp.

— Với mục tiêu này, chúng tôi tiến hành thử nghiệm các mô hình học sâu

như LSTM, BiLSTM và mô hình Transformer cơ bản, đồng thời thử các tham số khác nhau để chọn ra mô hình phù hợp nhất cho hệ thống Mặc dù kết quả trên toàn bộ câu của mô hình Transformer cơ bản tốt nhất, đạt 77.24% nhưng thời gian thực hiện thêm dấu cho 1 câu rất lớn (7.89 giây) Xét về tổng thể, mô hình BiLSTM-4-grams có hiệu suất ổn

định nhất khi đạt tỉ lệ lỗi từ (3.95%) và tỉ lệ lỗi ký tự (0.93%) là tỉ lệ lỗi

nhỏ nhất trong các mô hình và thời gian thực hiện khoảng 0.58 giây

Trang 17

Chương 1 MỞ ĐẦU 5

— Dé giải quyết những thách thức phải đối mặt trong giai đoạn phát triển

hệ thống Chatbot của mình, chúng tôi đưa ra những phương thức khác

nhau để có thể nắm được những thông tin cần thiết từ người dùng Với

những câu hỏi ngoài phạm vi tuyển sinh của Chatbot, chúng tôi đưa ra

những câu trả lời nếu câu hỏi có độ tương đồng đạt ngưỡng với nhữngcâu hỏi trong phạm vi hiểu biết của Chatbot

- Bằng cách hỏi lại từ người dùng và theo đõi cuộc hội thoại, những

thông tin cần thiết được bổ sung, từ đó hệ thống có thể đưa ra câu

trả lời chính xác hơn Ngoài ra, với những câu hỏi mà hệ thống không

thể đưa ra câu trả lời chính xác, chúng tôi sẽ đưa ra các câu hỏi tương

tự với câu hỏi của người dùng để người dùng có thể diễn đạt lại cho

hệ thống hiểu được ý của người dùng; hoặc với những câu hỏi mà hệthống thật sự không trả lời được, chúng tôi sẽ chuyển đoạn hội thoại

cho nhân viên tư vấn.

© Xây dựng hoàn chỉnh API để có thể tích hợp được vio website hoặc các nền tang

khác.

- Chúng tôi tạo một trang web đơn giản để người dùng có thể tương

tác với Chatbot, qua đó, chúng tôi có thể theo đõi được hiệu suất củaChatbot và những phản hồi góp ý từ người dùng để có thể cải thiện

Chatbot trong tương lai.

Đồng thời, trong thời gian hoàn thành đề tài, chúng tôi đã tham gia hội nghị

Khoa Học Trẻ và Nghiên Cứu Sinh 2022 do Trường đại học Công Nghệ Thông

Tin tổ chức dưới sự hướng dẫn của TS Nguyễn Lưu Thùy Ngân và ThS Đặng

Văn Thin Bài báo đã được chấp nhận với dé tài “Nghiên cứu các phương pháp

tiếp cận cho bài toán phân lớp ý định trong hệ thống Chatbot” và đăng trong ky

yếu hội nghị

1.6 Cau trúc khóa luận

Khóa luận được chia thành 6 chương được trình bày như sau:

° Chương[†} Mở đầu Trinh bày lý do chọn nghiên cứu, đối tượng và phạm

vi nghiên cứu, mục tiêu cũng như kết quả đạt được

Trang 18

Chương 1 MỞ ĐẦU 6

e Chương |2} Bối cảnh, các công trình liên quan va cơ sở lý thuyết Tổng

quan, trình bày cơ sở lý thuyết cũng như các công trình liên quan đến đề tài

Sau đó, nêu ra những van dé còn tồn đọng và hướng giải quyết được dé cập

trong nghiên cứu của chúng tôi

° Chương} Phương pháp Trình bày tổng quan hệ thống, cách xây dựng các

thành phần trong hệ thống và các kiến trúc các mô hình được sử dụng thựcnghiệm trong nghiên cứu Cách tích hợp hệ thống lưu trữ và xây dựng API

service.

° Chương|‡ Tổng quan dữ liệu Phân tích, tổng quan về các bộ dữ liệu nhóm

đã tạo và chỉ tiết các bộ dữ liệu sử dụng trong từng bài toán cho hệ thống

° Chương |5] Thí nghiệm và kết quả Trình bày cách cài đặt, và phân tích kết

quả giữa các thí nghiệm và đánh giá hệ thống

° Chương |6} Kết luận và hướng phát triển Tổng kết các kết quả quan trọng

đã đạt được trong nghiên cứu, đánh giá hệ thống những hạn chế chưa đượcgiải quyết và hướng phát triển trong tương lai

Trang 19

với mục tiêu hoạt động như một nhà trị liệu tâm lý và trả lại lời nói của người

dùng dưới dạng câu hỏi Nó sử dung đơn giản các kỹ thuật được gọi là đối sánhmẫu và cơ chế phản hỏi dựa trên khuôn mẫu Các phương pháp va kỹ thuật đểthiết kế chatbot đã được cải thiện nhiều sau này bởi các mô hình đạt được độchính xác cao bằng các kỹ thuật học sâu như Artificial Neural Network (ANN)[2L Recurrent Neural Network (RNN) [3], hoặc Transformers [4] Có 2 loại chatbot

chính hiện nay dựa trên cách xây dựng là: Chatbot dựa trên cơ chế khuôn mẫu

(rules based) và chatbot dựa trên trí tuệ nhân tạo (AI based).

B Setiaji and E W Wibowo Năm 2013, Emanuela Haller và Traian Rebedea

đã dé xuất thiết kế chatbot dựa trên kỹ thuật so khớp mẫu Cơ chế nay dựa

trên sự tương đồng của câu đầu vào và câu hỏi mẫu trong cơ sở dữ liệu để đưa

ra câu trả lời Tương tự kỹ thuật này, Chatbot sử dụng thuật toán Levenshtein để

đo khoảng cách giữa câu đầu vào và câu hỏi mẫu được sử dụng trong bài báo (6).

Chatbot dựa trên khoảng cách Levenshtein yêu cầu ít tài nguyên hon và có thể

được triển khai trên các hệ thống nhúng chỉ phí thấp một cách hiệu quả Khoảngcách Levenshtein thể hiện sự giống nhau giữa hai chuỗi Sự giống nhau giữa câu

Trang 20

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

hỏi dau vào và tat cả các câu hỏi được lưu trữ trong cơ sở đữ liệu được tính toán.Câu trả lời là của câu hỏi có độ tương đồng gan nhất

Đối với chatbot được xây dựng dựa trên cơ sở trí tuệ nhân tạo, Xu và các cộng

sự [7] đã xây dựng hệ thống chatbot tự động trả lời cho các truy vấn của kháchhàng trên các phương tiện truyền thông xã hội Hệ thống này được xây dựng

dựa trên mô hình Long Short-Ierm Memory (LSTM) Mô hình được đào tạo với

hơn 1 triệu cuộc trò chuyện giữa khách hàng và các thương hiệu trên mạng xã

hội Twitter Đánh giá cho thấy rằng hơn 40% yêu cầu có cảm xúc và chatbot đãhoạt động tốt như là một con người thể hiện sự đồng cảm để giúp đỡ người dùng

trong các tình huống có cảm xúc Hiện nay, Rasa được biết đến như một kiến

trúc để phát triển các cuộc hội thoại của chatbot dựa trên trí tuệ nhân tạo Trung

Nguyen Thanh cùng các cộng sự [8] đã xây dựng chatbot ứng dụng các kỹ thuật

hoc sâu được tích hợp trong Rasa để tư van các van đẻ liên quan đến nhập học

cho trường Đại học Kinh Tế Quốc Dân với độ chính xác đạt 97%

2.2 Bài toán phân lớp ý định trong chatbot

Ý định được định nghĩa là một hành động có mục đích Chúng ta thường thể

hiện ý định của mình qua những hành vi thường ngày, từ việc sử dụng các công

cụ tìm kiếm để tìm kiếm thông tin, mua sắm và cũng được thể hiện qua các cuộchội thoại với người khác Việc xác định được ý định sẽ giúp chúng ta có nhiềuthông tin hữu ích cần thiết Phân loại ý định đã là một nhiệm vụ quan trọng đối

với các doanh nghiệp, đặc biệt là liên quan đến trải nghiệm của khách hàng Ví

dụ như hệ thống hỏi đáp là một nền tảng phổ biến sử dụng nhận dạng ý định chocác cuộc trò chuyện bán hàng, hỗ trợ khách hàng, v.v Tự động hóa nhu cầu sử

dụng dịch vụ của khách hàng thông qua phân loại mục đích cho phép các doanh

nghiệp mở rộng quy mô và đáp ứng nhu cầu của khách hàng nhanh hơn, từ đónâng cao trải nghiệm của người dùng khiến cho họ cảm thấy hài lòng về dịch vụ

của các doanh nghiệp, tổ chức Đối với trường học, việc hiểu được các ý định,

nguyện vọng, nhu cầu của quý phụ huynh, học sinh nhà trường có thể xây dựng

chương trình học phù hợp, tạo môi trường thân thiện, cởi mở, phát triển được

tiềm năng của học sinh, sinh viên

Trang 21

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

Có nhiều phương pháp để tiếp cận bài toán phân loại ý định, xuất phat từ

tác vụ phân loại văn bản, các mô hình học máy cơ bản như Naive Bayes, Logistic

Regression, mô hình Support Vector Machine (SVM), và cây quyết định đều đãđược thực nghiệm bởi nhiều nhà nghiên cứu đi trước Nhưng đối với những môhình này chúng ta cần một lượng dữ liệu đủ lớn để có thể có một mô hình hoạt

động hiệu quả.

Mô hình học sâu đã có nhiều đóng góp trong lĩnh vực xử lý ngôn ngữ tự nhiên

nói chung và tác vụ phân loại nói riêng bao gồm cả phân loại ý định Ở bài báo (9)

tác giả đã so sánh mạng chuyển tiếp, mạng hồi quy (Recurrent Neural Network),

Long Short-Term Memory (LSTM), va Gated Recurrent Unit (GRU) cho phân loại

văn bản và đã chi ra được rằng LSTM, GRU hoạt động tốt hon phương pháp RNN

truyền thống

Sự ra đời của Transformer đã đánh dấu một bước đột phá về lĩnh vực máy học,kiến trúc này đã thể hiện được sự vượt trội cũng như hiệu quả của nó trên nhiều

tác vụ khác nhau Xu hướng dùng Transformer dựa trên mô hình ngôn ngữ được

đào tạo sẵn như BERT [10], RoBERTa{11] thé hiện sự vượt trội của mình khi nó

có thể tận dụng một lượng lớn dix liệu được học trước Việc tinh chỉnh mô hình

này xuống phục vụ cho tác vụ nhỏ hơn như phân loại văn bản xuất hiện rộng rãi

(121 Không chỉ như vậy, việc tinh chỉnh mô hình còn dựa trên mô hình đa ngôn

ngữ thành mô hình đơn ngôn ngữ [13] Thêm vào đó, ý tưởng kết hợp nhiều mô

hình Transformer với nhau cũng làm cho hiệu suất của bài toán tăng lên 4.

2.3 Bài toán thêm dấu trong chatbot

Dấu là một ký tự đặc biệt được đặt trong một ký tự để thay đổi giá trị ban đầucủa nó Nhiều ngôn ngữ trên thế giới sử dụng dấu trong chữ viết của họ Đối vớiphương diện người dùng, việc không có dấu trong văn bản gây ra các vấn đề về

khả năng đọc và hiểu từ mức độ nhẹ đến mức độ nghiêm trọng Trên phương

diện máy học, việc không có dấu trong văn bản gây ra những van dé khó giaiquyết cho các hệ thống Xử ly Ngôn ngữ Tự nhiên, đặc biệt là trong hệ thống hỏiđáp chatbot mà chúng tôi đang xây dựng, việc văn bản không có dấu đặt ra mộtthách thức mới mà chúng tôi cần phải giải quyết để có thể nâng cao trải nghiệm

Trang 22

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

của người dùng cũng như là độ hiệu quả mà hệ thống mang lai cho người dùngmột cách tối ưu nhất

So sánh với các cách viết của các nước khác, cách viết của tiếng Việt có phần

phức tạp hơn Như trong so sánh của bài báo [15], 95% từ trong tiếng Việt chứa

dau, trong khi trong tiếng Pháp chỉ có 15% từ có dau va 35% từ trong Roman có

dấu Bên cạnh đó, trước khi bắt đầu thực hiện nghiên cứu, chúng tôi có tìm hiểu

về các chữ cái Latin trong tiếng Việt Tiếng Việt có 29 ký tự, trong đó có 11 ký

tự là nguyên âm và 18 ký tự là phụ âm Thêm vào đó, vai trò của dấu đóng một

vai trò rất quan trọng trong tiếng Việt, những dấu này có thể kết hợp với các ký

tự khác một cách có quy luật để tạo ra những từ ngữ có ý nghĩa và góp phần đa

dạng thêm trong ngữ điệu của người Việt Nam Vi dụ như chữ cai “a”, những

dấu có thể xuất hiện như là “ă”, “â”, “a”, “A”, “8”, “a”, “a”, v.v Vì vậy, thách thức

trong bài toán thêm dấu tiếng Việt đó chính là sự phong phú trong cách viết vànhiều biến thể khác nhau của các ký tự

Xuất phát từ nhu cau cải thiện khả năng học của mô hình, các công trình

nghiên cứu khác nhau trên lĩnh vực khôi phục dau này cũng đã đạt được nhiều

thành tựu nhất định Dựa vào đặc điểm của từng phương pháp, các hướng tiếpcận gần đây được phân loại thành thành các mục sau:

2.3.1 Phương pháp tiếp cận dựa trên các bộ luật cơ bản

Hiệu quả của hướng tiếp cận này phụ thuộc vào chất lượng của bộ từ điển,tập các luật được định nghĩa sẵn trước đó và miễn của văn bản Ngoài ra, để tạo

ra được bộ các quy tắc cần có sự can thiệp của con người và kỹ năng hiểu biết về

ngôn ngữ VietpadlTllà một bộ công cụ sử dụng bộ từ điển lưu trữ hầu hết các từ

tiếng Việt thành dạng không dấu Phương pháp này không thực sự hiệu quả bởi

vì vẫn có nhiều từ trong từ điển không xuất hiện ở các văn bản ở đời thực Đốivới mỗi miền văn bản, bộ công cụ này đạt 60% đến 85% độ chính xác Ra đời sau

Vietpad, VietEditor là bộ công cụ khắc phục nhược điểm của VietPad bằng cách

xây dựng từ điển cụm từ và sử dụng nó sau khi ánh xạ các từ để tìm ra kết quả

phù hợp nhất.

Thttps: //vietpad.sourceforge.net

Trang 23

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

2.3.2 Phương pháp tiếp cận dựa trên mô hình học sâu

Các mô hình học sâu đã thể hiện được khả năng đáp ứng trên nhiều tác vụ

khác nhau trong lĩnh vực trí tuệ nhân tạo nói chung và trong lĩnh vực cử lý ngôn

ngữ tự nhiên nói riêng Hiệu suất của các mô hình học sâu cũng đã được trình

bay ở nhiều tác vụ khác nhau như phân loại văn bản [16], [17], m6 hinh dich may

[18], [19], hệ thống hỏi đáp [20], v.v Các mô hình học sâu hiệu quả nhất cho bài toán dịch máy cũng đã được áp dụng vào tác vụ khôi phục dấu như LSTM 1l,[22], GRU [21], [22], RNN Ngoài ra, bài báo cũng đã sử dụng hai phương

pháp mã hóa dựa trên hình vị và mã hóa dựa trên cụm từ và cũng chỉ ra rằng với

mỗi loại mô hình thì mỗi cách mã hóa sẽ cho một kết quả cải thiện khác nhau.Với cách tiếp cận này, mô hình GRU đã cho thấy hiệu quả của nó mang lại với độchính xác ổn định và đạt cao nhất trong các mô hình này

2.3.3 Phương pháp tiếp cận dựa trên mô hình học chuyển tiếp

Một trong những xu hướng mới nhất xuất hiện trong lĩnh vực xử lý ngôn ngữ

tự nhiên là sử dụng mô hình học chuyển tiếp Việc sử dụng mô hình chuyển tiếpđược đào tạo trước giúp chúng ta ít tiêu tốn tài nguyên hơn, ngoài ra, hiệu suất

của mô hình cũng được cải thiện bởi vì mô hình học trước đã được học trên một

tập dữ liệu lớn Dựa vào những đóng góp của mô hình học chuyển tiếp, mô hìnhchuyển tiếp đa ngôn ngữ BERT đã được áp dụng vào tác vụ phục hồi dấu

van bản trên 12 ngôn ngữ trong đó có tiếng Việt Ngoài ra, trong bài báo [24] đã

áp dụng bài toán phân loại ký tự cho bài toán này với bộ mã hóa chuyển tiếp và

lớp phạt (Penalty Layer) Lớp phạt này có tác dụng chỉ cho mô hình biết các ký

tự cần thêm dấu ByT5 là một mô hình được cải tiến dựa trên mô hình T5, và môhình này cũng được tác giả trong bài báo sử dụng trong tác vụ phục hồi dấu

và đạt được hiệu suất rất cao

2.4 Xác định bài toán

Mặc dù chatbot được nghiên cứu rộng rãi nhưng tất ít công trình liên quan

đến miễn tư vấn tuyển sinh Đặc biệt hơn, đối với tiếng Việt thì rất ít công trình

đi trước, xây dựng hệ thống hoàn chỉnh

Trang 24

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

Trong dé tài này, chúng tôi tiền hành xây dựng bộ dữ liệu tuyển sinh, hệ thốngchatbot sẽ phải đưa ra câu trả lời tư vấn tuyển sinh cho các câu hỏi được đưa vàodựa trên các mẫu của bộ dữ liệu Bài toán chatbot có thể phát biểu như sau:

© Dau vào: Câu hỏi về lĩnh vực tư vấn tuyển sinh

© Dau ra: Câu trả lời cho câu hỏi tuyển sinh

Ví dụ:

© Đầu vào: Điểm chuẩn ngành Khoa hoc máy tinh năm 2021 là bao nhiêu?

© Đầu ra: Điểm chuẩn ngành Khoa học máy tinh năm 2021 là 27.3

Ngoài ra, trong đề tài này chúng tôi tiến hành nghiên cứu và thử nghiệm cácphương pháp với hai bài toán chính là Phân loại ý định và Thêm dấu trong tiếngViệt Cụ thể, bài toán Phân loại được phát biểu như sau:

© Đầu vào: Câu hỏi về lĩnh vực tư vấn tuyển sinh

© Dau ra: Ý định của câu hỏi truy van

Ví dụ:

se Đầu vào: Điểm chuẩn ngành Khoa học máy tính năm 2021 là bao nhiêu?

°® Đầu ra: hỏi đáp điểm chuẩn

Và bài toán Thêm dấu trong tiếng Việt được phát biểu là:

¢ Dau vào: Câu hỏi tuyển sinh không có dấu

© Dau ra: Câu hỏi tuyển sinh có dấu

Ví dụ:

© Dau vào: “diem chuan nganh khoa hoc may tinh la bao nhieu”

e Đầu ra: “điểm chuẩn ngành khoa học máy tính là bao nhiêu”

Trang 25

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

2.5 Cơ sở lý thuyết

2.5.1 Thuật toán Support Vector Machine

Thuật toán Support Vector Machine - SVM là một trong nhiều phương pháp

học có giám sát được nghiên cứu và áp dụng trong nhiều bài toán khác nhau

của lĩnh vực máy học nói chung và lĩnh vực Xử lý Ngôn ngữ Tự nhiên nói riêng.

Thuật toán này không chỉ hoạt động tốt cho các bài toán phân loại tuyến tính màcòn đạt hiệu quả với dữ liệu phi tuyến tính

Giả sử chúng ta xét bài toán phân lớp nhị phân tuyến tính với hai nhãn dữ liệu

được mô tả trong một không gian hai chiều như Hình|2.1| Mục tiêu của chúng ta

cần xác định mặt phân cách w!x + b,w € R,b € R để xác định điểm dữ liệu x

thuộc lớp nào.

Nhìn vào Hình|2.1| chúng ta dé dàng thấy rằng có nhiều mặt phân tách thỏamãn điều kiện phân loại được hai lớp Nếu chúng ta xác định được mặt nằm vừa

khít giữa 2 cụm dw liệu sao cho nằm xa các tập dữ liệu nhất thì đây là mặt phẳng

tốt nhất mà chúng ta cần xác định Đây chính là mục tiêu chính của thuật toán

SVM để lay được các mặt phẳng tốt nhất để phân đều khoảng cách giữa hai tập

dw liệu như Hình|2.2| Với mặt phân chia như trên, margin được tính là khoảng

cách gần nhất từ 1 điểm tới mặt đó (bat kể điểm nào trong hai lớp):

Trang 26

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

2.5.2 Thuật toán Naive Bayes

Naive Bayes (NB) là một thuật toán máy học có giám sát thường được dùng

cho bài toán phân lớp NB thuộc họ các thuật toán phân lớp dựa trên xác suất của

dữ liệu Như cái tên gợi ý, NB hoạt động bằng cách sử dụng định ly Bayes với giả

thuyết các đặc trưng của dữ liệu hoàn toàn độc lập Trên thực tế thì điều này rấthiếm khi xảy ra nên giả thuyết này được xem là ngdy ngé (naive assumption)

Mặc dù đơn giản nhưng thực nghiệm cho thấy mô hình Naive Bayes thực thivới tốc độ nhanh và cho độ chính xác cao trên nhiều bài toán như phân loại văn

bản, phân loại bệnh, v.v.

Xét bài toán phân lớp với C lớp 1,2,3,4, C Giả sử có một điểm dữ liệu này rơi

vào lớp c Nói cách khác, hãy tính: p(y = c|x) hoặc viết ngắn gọn thành p(c|x),tức là tính xác suất để đầu ra là lớp c biết đầu vào là vector x Biểu thức này, nếu

tính được, sẽ giúp chúng ta xác định được xác suất để điểm dữ liệu rơi vào mỗi

lớp Từ đó để xác định lớp của điểm dit liệu bang cách chọn lớp có xác suất điểm

Trang 27

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

dữ liệu đó rơi vào cao nhất:

c = argmax p(c|x) (2.1)

c€{1,2, C}

Biểu thức trong dau argmax 6j2.1|nhin chung khó có cách tính trực tiếp Thay vào

đó, quy tắc Bayes thường được sử dụng:

¢ = arg max Bội = arg max p(x|c) p(c) (2.2)

Dau bằng thứ hai xảy ra theo quy tac Bayes, dau bang thứ ba xảy ra vi p(x)

ở mẫu số không phụ thuộc vào c Tiếp tục quan sat, p(c) có thé được hiểu là xácsuất để một điểm bat kỳ rơi vào lớp c Nếu tập huấn luyện lớn, nó có thể đượcxác định bằng maximum likelihood estimation (MLE) - là tỷ lệ giữa điểm thuộclớp c và số điểm trong tập huấn luyện Nếu tập huấn luyện nhỏ, giá trị này có thể

được ước lượng bằng maximum a posteriori (MAP) Cách thứ nhất thường được

Ở bước huấn luyện, các phân phối p (c) và p (x;|c),¡ = 1, ,d sẽ được xác định

Trang 28

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

Khi d lớn và các xác suất nhỏ, biểu thức ở về phải của|2.3|là một số rất nhỏ, khi

tính toán có thé gặp sai số Để giải quyết việc này,|2.3|thường được viết lại đưới

dạng tương đương bằng cách lay log của về phải:

c = arg max (1 (p(c)) + S tog co) (2.5)

ce{1, 4C}

Sự đơn giản của NB mang lại hiệu quả đặc biệt trong các bài toán phân loại văn

bản do đó trong khóa luận này chúng tôi áp dụng thuật toán này cho việc phân

lớp ý định.

2.5.3 Mạng Neural Network

Mang Neural Network là sự kết hop của những tang perceptron hay còn gọi

là perceptron đa tầng Và mỗi một mạng Neural Network thường bao gồm 3 kiểutầng là: Tầng đầu vào nằm bên trái cùng của mạng, thể hiện cho các đầu vào củamạng; Tầng ra bên phải cùng và nó thể hiện cho những đầu ra của mạng; Tầng ẩn

nằm giữa tang vào và tang ra nó thể hiện cho quá trình suy luận logic của mạng

Neural Network có sự tương đồng chuẩn mạnh với những phương pháp

thống kê như đồ thị đường cong và phân tích hồi quy Neural Network có chứa

những lớp bao hàm các nút được liên kết lại với nhau Mỗi nút lại là một tri giác

có cầu tạo tương tự với hàm hồi quy đa tuyến tính Bên trong một lớp tri giác đalớp, chúng sẽ được sắp xếp dựa theo các lớp liên kết với nhau Lớp đầu vào sẽ thu

thập các mẫu đầu vào và lớp đầu ra sẽ thu nhận các phân loại hoặc tín hiệu đầu

ra mà các mẫu đầu vào có thể phản ánh lại Ví du mang Neural Network thể hiện

ở Hình

Trang 29

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

Input layer Hidden layers Output layer

Thuật toán về cơ bản được đào tạo trên dữ liệu để học một ham phi tuyến tính

nhằm mục đích phân loại hay hồi quy, với một tập hợp các tính năng và một biến

mục tiêu (ví dụ: nhãn).

2.5.4 Mạng tích chap Convolutional Neural Network

Mang tich chap CNNI26] là một trong những mô hình học sâu được nghiên

cứu và áp dụng thành công trong các bài toán xử lý ảnh như nhận dạng các đốitượng trong ảnh hoặc video Đối với lĩnh vực Xử lý Ngôn ngữ Tự nhiên, việc áp

dụng mô hình CNN cho các bài toán phân loại văn bản, đặc biệt là các câu, cum

Trang 30

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

từ ngắn đều cho kết quả khả quan Tổng quan mô hình CNN được thé hiện trong

Hình 2.4

Cho một chuỗi n từ vựng đầu vào 01;„ = W1,W2, W3, ,t0„ và mỗi từ vựng thứ

¡ sẽ được biểu diễn bằng 1 vectơ x; có d chiều Với các câu ngắn hơn n từ vựng thì

sẽ được tự động thêm giá trị <pad> để cho đủ số lượng chiều dài đầu vào Do đó

chuỗi văn bản đầu vào có thể biểu diễn như sau:

Xin = #¡ xa PB x3 QD B (2.6)

Trong đó ký hiệu @ thể hiện toán tử nối (concatenation operator) Ta có Xij+jthể hiện giá trị nối giữa các từ vung x¿,¡.1, , x¡¡ Một bộ lọc tích chập 1D với

một bộ lọc w € IR" được áp dụng lên cửa sổ h từ để đưa ra một đặc trưng mới

Ví dụ đặc trưng c; được tạo ra từ các từ z;;.,_ như sau:

Cj = f(W.Xj:i4n-1 + 0) (2.7)

Với b là hằng số thuộc R va f là một hàm tuyến tính Bộ loc này được các chuỗi

cửa sổ sau đây của từ vựng trong câu đầu vào X12), X2; 1, ,*„_n¡+1:„ để đưa ra

chuỗi các đặc trưng (feature map) như sau:

c= [C1, C2, Cn—-h+1| (2.8)

với c thuộc R"~"*1, Sau khi đưa chuỗi đặc trưng feature map c, một toán tử tổng

hợp (max pooling) sẽ hoạt động trên chuỗi này để đưa ra đặc trưng có giá trị

lớn nhất ¢ = max{c} như là đặc trưng tốt nhất của bộ lọc này Mô hình sử dụng

nhiều bộ lọc với các kích thước cửa sổ khác nhau để có được nhiều đặc trưng rút

trích từ văn bản đầu vào một cách đa dạng Các đặc trưng này được nối với nhau

để tạo thành đặc trưng đại diện cho câu đầu vào lớp mạng kết nối day đủ (fully

connected layer) với hàm kích hoạt softmax để tính phân phối xác suất trên nhãn

đối với bài toán đa nhãn, còn với bài toán nhị phân là sử dụng hàm kích hoạt

sigmoid.

Trang 31

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

2.5.5 Mang hoi quy Long Short-Term Memory

Phan nay, chúng tôi trình bày các kiến thức liên quan đến mô hình mạng hồi

quy Long Short-Term Memory Các mạng LSTM có một số ô trạng thái ngữ cảnhđóng vai trò như các ô nhớ dài hạn hoặc ngắn hạn Đầu ra của mạng hồi quy

LSTM được thiết kế theo trạng thái của các ô nhớ này Đây là một thuộc tính rất

quan trọng khi chúng ta cần dự đoán của các mạng nơ-ron phụ thuộc vào thông

tin ngữ cảnh từ quá khứ thay vì chỉ dựa vào thông tin cuối cùng của dữ liệu đầu

vào.

+ 99 $

aL LAI LAH ALI A

é 6 6 6

HINH 2.5: Ví dụ quá trình vòng lặp mạng hồi quy LSTM

Mạng hồi quy LSTM sẽ giữ các thông tin ngữ cảnh của giá trị đầu vào bằng

cách tích hợp một vòng lặp cho phép thông tin truyền từ bước này qua bước

tiếp theo (Hình|2.5| Các dự đoán của mạng LSTM luôn được điều chỉnh bởi kinh

nghiệm trong quá khứ của dữ liệu đầu vào

Nói một cách khác thì thời gian càng trôi qua, đầu ra tiếp theo càng ít có khảnăng phụ thuộc vào giá trị dw liệu đầu vào cũ Khoảng thời gian này phụ thuộc

vào khoảng cách giữa các dữ liệu cũng như các thông tin ngữ cảnh mà mô hình

học tập được Các mạng hồi quy LSTM quản lý điều này bằng cách học khi nào

mô hình nên ghi nhớ và khi nào mô hình nên quên thông qua các giá trị trọng số

ở cổng quên

Ý tưởng cốt lõi của mô hình LSTM là các trạng thái tế bào (cell state) Mô hình

LSTM có khả năng thêm bớt các thông tin cho trạng thái tế bào được điều chỉnhbởi cổng (gates) Một LSTM có ba cổng dùng để bảo vệ và điều khiển trạng tháicủa tế bào Sau đây chúng ta sẽ lần lượt đi qua các cổng này để tìm hiểu xem chứcnăng và vai trò của chúng trong 1 unit LSTM Sau đây là các thông tin chỉ tiết

trình bày từng bước thực hiện của mô hình hồi quy LSTM

Bước đầu tiên trong mạng LSTM là xác định xem thông tin nào chúng ta sẽ

quên di từ trạng thái tế bào Cổng quên với lớp sigmoid sẽ thực hiện công việc

Trang 32

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

này bằng cách nhìn giá trị h;_ va x; và giá trị đầu ra nằm giữa [0,1] của trạng thái

C,_1 Giá trị 1 có ý nghĩa là giữ lại thông tin này va 0 nghĩa là quên thông tin này

đi.

ƒt = ơ(W£.|hi—1,xi] + bự) (2.9)

Bước tiếp theo là chúng ta sẽ xác định xem thông tin nào sẽ được lưu trữ trong

trạng thái tế bào Bước này gồm hai phần chính là: Một lớp sigmoid được gọi từcổng quên để xác định giá trị nào chúng ta sẽ cập nhật, tiếp theo một lớp tanh tạo

ra một vector cho các giá trị ứng viên mới C; có thể được thêm vào trạng thái Ở

bước tiếp theo chúng ta sẽ kết hợp hai giá trị này để cập nhật trạng thái tế bào

Tiếp theo, chúng ta sẽ cập nhật trạng thái tế bào cũ C¡_ vào trạng thái mới C¡

Chúng ta nhân trạng thái cũ với ƒ; để quên đi các thông tin mà chúng ta đã xác

định loại bỏ, sau đó chúng ta cộng với giá trị mới i; * C; tạo ra giá trị trạng thái

mới.

Bước cuối cùng là chúng ta cần xác định thông tin nào sẽ được đưa ra mỗi unit

LSTM Giá trị đầu ra này phụ thuộc vào trạng thái tế bào nhưng sẽ được lọc lại.Đầu tiên, chúng ta sẽ chạy một lớp sigmoid để xác định phần nào của trạng thái

tế bào sẽ được làm giá trị đầu ra Sau đó, các giá trị này sẽ qua một hàm tanh

để đưa các giá trị về khoảng từ [-1,1] và nhân chúng với giá trị đầu ra của cổngsigmoid để đưa ra các giá trị đầu ra

or =) (Wo.[h—1,%:] + bo) (2.11)

hy = 0; x tanh (C;) (2.12)

Mạng LSTM hoạt động rất hiệu quả đối với các loại thông tin dạng chuỗi có liên

quan đến thông tin trong quá khứ như các bài toán thêm dấu trong tiếng Việt,

bài toán sinh văn bản, dự đoán chứng khoán hay các bài toán lai giữa xử lý ảnh

và xử lý ngôn ngữ tự nhiên như chú thích ảnh (image captioning), v.v.

Trang 33

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

HINH 2.6: Mô hoa mô hình Bidiractional Long short-term Memory

Dựa trên mạng hồi quy LSTM, mạng hai chiều Bidirectional Long Short-Term

Memory (BiLSTM) được phát triển để rút trích đặc trưng ngữ cảnh theo hai chiều

của dữ liệu, quá trình đó gọi là quá trình forward và backward (Hình [2.6) Nhìn

vào mô hình|2.6|chúng ta thấy rằng số unit của 2 chiều dữ liệu giống nhau, mỗi

unit có cấu tạo như unit LSTM tại thời điểm giá trị x;, forward sẽ tạo ra một

vector hi va backward sé cho dau ra là vector he, sau đó 2 giá tri vector nay sẽ qua

một hàm ơ để dua ra giá trị biểu diễn cuối cùng cho trang thái tế bào x; Ham ơ

có thể là các toán tích nhân, nối hoặc cộng trừ giữa hai vector hy va hr Cac két qua

nghiên cứu trước day việc sử dung thông tin forward va backward của dữ liệu

giúp mô hình có nhiều thông tin giữa hai chiều dữ liệu, điều này giúp mô hình

đạt hiệu quả tốt hơn so với việc chỉ sử dụng một mô hình hồi quy LSTM

2.5.6 Kiến trúc Transformer

Kiến trúc Transformer được ra đời năm 2017 và được phát triển thành

nhiều biến thể khác nhau sử dụng cho nhiều bài toán với mục đích khác nhau

Kiến trúc của Transformer gồm 2 phần chính là Encoders (1 ngăn xếp chứa 6

khối encoder giống nhau) và Decoders (1 ngăn xếp chứa 6 khối decoder giống

nhau) Tổng quan mô hình được thể hiện ở Hình|2.7Ì Mỗi encoder chứa hai lớp:

Self-attention và mạng truyền thẳng (FNN) Self-Attention là cơ chế giúp encoder

Trang 34

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

Multi-Head Attention

Nx

; Add & Norm

Nx Add & Norm

Multi-Head Multi-Head Attention Attention

HINH 2.7: Minh hoa mô hình Transformer

nhìn vào các từ khác trong lúc mã hóa một từ cu thể Vì vậy, mạng Transformers

có thể hiểu được sự liên quan giữa các từ trong cùng một câu, kể cả khi chúng có

khoảng cách xa Các decoder cũng có kiến trúc giống như encoder nhưng giữa

chúng có một lớp attention để có thể tập trung vào các phần liên quan của đầu

vào hay còn gọi là encoder-decoder attention (phần kết nối encoder và decoder ở

Hình 2.7) Chúng tôi sẽ trình bày chỉ tiết các phan trong mô hình Transformer ở

các mục sau.

Trang 35

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

bedding được tạo thành từ việc kết hợp word embedding va position embedding

Trong đó, vector word embedding là vector biểu diễn các từ được tao ra từ các mô

hình đạo tạo trước như word2vec, glove, v.v Vector Position Embedding là vector

biểu diễn thứ tự của các từ trong chuỗi Vector này được tính theo công thức:

Self Attention có 4 bước:

* Tạo ra bộ 3 vectơ từ các vectơ đầu vào của encoder: Trong lớp Self-attention,

để tao ra 3 vector Q, K, V, mỗi vector embedding được nhân với 3 ma trậntrọng số Wo, Wx, Wy và các ma trận trọng số này sẽ được cập nhật liên tụctrong quá trình đào tạo Mục đích của vector V là để biểu diễn các từ trong

câu, còn vector Q và vector K dùng để tính trọng số khuếch đại thông tin

của các từ trong câu.

© Tính trọng số: Với mỗi từ, ta cần tính trọng số của các từ khác trong câu đối

với từ này để biết từ nào cần được chú ý và chú ý bao nhiêu Trọng số được

tính bằng tích vô hướng giữa vector Q của từ đang xét với lần lượt các vector

K của các từ trong câu.

© Chuẩn hóa trọng SỐ: Trong bài báo gốc, trọng số được chia cho căn bậc hai số

chiều của vector K (căn bậc hai của 64) sau đó được đưa qua hàm softmax

Trang 36

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

© Nhân vecto V với mỗi giá trị trọng số đã tinh phía trên rồi cộng lại với nhau

để chọn lọc các vector của các từ cần chú ý và loại các vector của các từkhông liên quan bằng cách nhân với hệ số rất nhỏ như 0.001, 0.0001, v.v

Như vậy, chúng ta có thể tổng quát hóa các bước này thành công thức toán học

MultiHead(Q,K,V) = Concat(head, head›, headu ) W°

Trong đó head; = Attention(QW2, KWK, VWY).

Nhu vây, vector nay sẽ chắc chắn rằng các thông tin cần được khuếch đại sé

không bị bỏ sót trong quá trình tính toán Multi-head attention cho phép mô hình

hoc chú ý đến những phan dé quan sát được như những từ kế trước, từ kế sau và

các từ có liên quan

Position-wise Feed-Forward Networks(FFN)

Việc lớp này được thêm vào kiến trúc encoder để học được các mối quan hệ tiểm

ẩn giữa các vector độc lập mà chưa được biểu diễn rõ ràng, nơi mà các công thức

toán học không thể biểu diễn được Để hiện thực được điều này, các vector saukhi đi qua bước Add&Normalize sẽ được gửi tới lớp FFN Trong lớp này bao gồm

2 tầng biến đổi và 1 hàm kích hoạt phi tuyến tính ReLU (Rectified Linear Unit) và

được biểu dién bằng công thức sau:

FFN(#) = max(0,xWh + bị)Wa + bo

Dropout với tỉ lệ 0.1 cũng được áp dụng ở lần thứ nhất sau khi các vector đi qua

hàm ReLU Sau khi qua lớp FFN các vector cũng di qua bước Add&Normalize

trước khi đi vào khối encoder kế tiếp

Add&Normalize

Ở bước này, các vector dau ra từ bước Multihead Self-Attention và lớp FFN sẽ qua

Trang 37

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

bước dropout với tỉ lệ 0.1, sau đó cộng thêm vector dau vào chưa bi biến đổi, cuối

cùng được chuẩn hóa chuyển vào lớp ké tiếp Ý nghĩa của bước nay là để bổ sung

thêm thông tin nguyên bản, tránh bị mat mát quá nhiều thông tin sau khi qua các

phép biến đổi ở các bước Multihead Self-Attention và FFN

2.5.6.2 Kiến trúc của khối decoder

Decoder cũng được cau tạo bởi một stack 6 khối decoder giống nhau Ngoài

hai lớp Self-Attention và FFN, decoder có thêm lớp con thứ ba là Masked

Multihead-Attention, lớp này thực hiện sự chú ý nhiều đầu vào đầu ra của ngăn xếp bộ mã

hóa.

So sánh với bộ encoder, decoder có một sô điểm khác biệt sau:

Đầu vào của lớp sef-attention ở lan đầu tiên được là vector được tạo thành

bởi embedding của 1 ký tự [start] và vector Positonal Embedding Vector

đầu vào ở các lần kế tiếp được tạo thành bởi vector output của layer FFN

của khối decoder kể trước và vector Positonal Embedding

Lớp Self-Attention chỉ tổng hợp thông tin những từ nằm trước từ đang xét

Lớp encoder-decoder attention chỉ tính toán vector Q dựa trên đầu ra của

Self-Attention, vector K và V được lay từ output của khối encoder

Decoder chỉ dừng lại việc tính toán khi dự đoán được ký tự kết thúc là [end]

Đầu ra của lớp FFN của khối decoder cuối cùng sẽ được di qua lớp Linear

để biến đổi các vector thành vector có số chiều bằng số từ trong bộ từ vựng

Mỗi phần tử trong vector đại diện cho số điểm của từ đó Sau đó vector nàyđược đi qua 1 hàm softmax Từ có xác suất cao nhất sẽ là từ được chọn

2.5.7 Kiến trúc BERT

Kiến trúc BERT được viết tắt của cụm từ Bidirectional Encoder

Representa-tions from Transformers được công bố bởi nhóm nghiên cứu của Google AI vào

năm 2018 và đem lại sự phát triển mới cho lĩnh vực Xử lý Ngôn ngữ Tự nhiên

BERT là một mô hình được học sẵn (pretrained) để biểu diễn các từ vựng theo

ngữ cảnh hai chiều Mô hình BERT có thể được tinh chỉnh cho các bài toán khác

Trang 38

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

nhau như phân loại, trả lời câu hỏi, v.v BERT được cấu tao từ các Transformer,

một cơ ché chú ý (attention mechanism) tìm hiểu mối quan hệ theo ngữ cảnh giữa

các từ (hoặc từ phụ) trong văn bản Ở trạng thái cơ bản nhất thì Transformer bao

gồm hai cơ chế riêng biệt - bộ mã hóa đọc đầu vào văn bản và bộ giải mã tạo

dự đoán cho bài toán mục tiêu Kiến trúc Transformer được chúng tôi trình bày

ở phân |2.5.6| Kết quả là kiến trúc BERT giúp các mô hình đạt kết quả tốt nhất

(state-of-the-art) trong đa dạng cá bài toán trong Xử lý Ngôn ngữ Tự nhiên.

Trái ngược với các mô hình định hướng khác được dé xuất trước đây là sẽ đọc

đữ liệu văn bản một cách tuần tự theo mọt chiều nhất định như từ trái sang phải

hoặc từ phải sang trái, thì bộ mã hóa (encoder) của Transformer sẽ đọc toàn bộ

chuỗi từ cùng 1 lúc Do đó, mô hình có khả năng đọc thông tin dữ liệu theo 2

chiều khác nhau, điều này giúp cho mô hình có nhiều thông tin và giúp tăng độ

chính xác hơn các mô hình định hướng khác Đặc tính này cho phép mô hình tìm

hiểu ngữ cảnh của 1 từ dựa trên tất cả các môi trường xung quanh (bên phải và

bên trái của từ).

MT, Eạ || Fi || E; |[E: || Ea ES Es || E; Es Ey Exo

HINH 2.8: Mô ta đầu vào của mô hình BERT

Khi huấn luyện các mô hình ngôn ngữ thì luôn có một thách thức trong việc

xác định mục tiêu dự đoán Nhiều mô hình dự đoán từ vựng tiếp theo theo trình

tự, các mô hình cách tiếp cận này hạn chế việc học ra các vectơ theo ngữ cảnh củatừng từ Để vượt qua thử thách này, BERT sử dụng hai kỹ thuật huấn luyện như

sau:

se Masked Language Modeling: Trước khi đưa chuỗi từ vựng vào mô hình

BERT, 15% các từ vựng trong chuỗi đầu vào sẽ được thay thế thành giá trị

<MASK> Sau đó, BERT sẽ cố gắng dự đoán giá trị ban đầu của các từ vựng

bi che <MASK>, dựa trên ngữ cảnh được cung cấp bởi các từ khác trong

chuỗi đầu vào

Trang 39

Chương 2 BOI CẢNH, CÁC CÔNG TRÌNH LIEN QUAN VÀ CƠ SỞ LÝ

THUYET

® Next Sentence Prediction: Trong quy trình đào tao BERT, mô hình nhận các

cặp câu vào và học cách dự đoán nếu câu thứ hai trong cặp là câu tiếp theotrong tài liệu gốc Trong quá trình huấn luyện, 50% đầu vào là một cặp câutrong đó câu thứ hai là câu tiếp theo trong tài liệu gốc, trong khi 50% còn

lại, một câu ngẫu nhiên từ kho dữ liệu được chọn làm câu thứ hai Giả định

là câu ngẫu nhiên sẽ bị ngắt kết nối từ câu đầu tiên

Để giúp mô hình phân biệt giữa hai câu trong huấn luyện, đàu vào được xử lýtheo cách sau trước khi vào mô hình Hình [2.8|mô tả hóa trực quan các bước xử

Với hiệu quả vượt trội đó, BERT đã có nhiều biến thể cải tiến và mang hiệu quả

tốt cho các bài toán trong Xử lý Ngôn ngữ Tự nhiên:

* RoBERTa [28] được giới thiệu bởi Facebook là một phiên bản được huấn

luyện lại của BERT với một phương pháp huấn luyện tốt hơn với dữ liệuđược tăng gấp 10 lan Để tăng cường quá trình huấn luyện, RoBERTa không

sử dụng cơ chế dự đoán câu kế tiếp (NSP) từ BERT mà sử dụng kỹ thuật mặt

nạ động (dynamic masking), theo đó các token mặt nạ sẽ bị thay đổi trong

quá trình huấn luyện Sử dụng kích thước batch lớn hơn cho thấy hiệu quảtốt hơn khi huấn luyện

¢ PhoBERT: Đây là một pre-trained được huấn luyện đơn ngôn ngữ, chi

huấn luyện dành riêng cho ngôn ngữ PhoBERT sử dụng RDRSegmentercủa VnCoreNLP }7| dé tách từ cho dữ liệu đầu vào trước khi qua BPE en-coder PhoBERT được train trên khoảng 20GB dit liệu bao gồm khoảng 1GB

“https:/ /github.com/vncorenlp/VnCoreNLP

Ngày đăng: 02/10/2024, 08:38

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN