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

Khóa luận tốt nghiệp Kỹ thuật phần mềm: Xây dựng hệ thống Chatbot trợ lý ảo đa nền tảng

238 1 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 Trợ Lý Ảo Đa Nền Tảng
Tác giả Nguyễn Ngọc Đăng, Bề Hải Long
Người hướng dẫn ThS. Trần Anh Dũng
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Kỹ thuật phần mềm
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 238
Dung lượng 90,88 MB

Nội dung

Ngoài ra một số tính năng khác được cài đặt bao gồm: — Cho phép người dùng đặt thông báo được hẹn giờ đề giao qua tất cả thiết bị của người dùng sử dụng thông báo Push — Cho phép người d

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

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

KHOA CÔNG NGHỆ PHÀN MÈM

NGUYÊN NGỌC ĐĂNG

BE HAI LONG

KHOA LUAN TOT NGHIEP

Building a Cross-platform Virtual Assistant Chatbot

KY SU NGANH KY THUAT PHAN MEM

TP HO CHi MINH, 2022

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHAN MEM

NGUYEN NGỌC DANG - 18520557

BE HAI LONG - 18520302

KHOA LUAN TOT NGHIEP

XAY DUNG CHATBOT TRO LY AO DA NEN TANG

Building a Cross-platform Virtual Assistant Chatbot

KY SU NGANH KY THUAT PHAN MEM

GIANG VIEN HUONG DAN

THS TRAN ANH DUNG

TP HO CHi MINH, 2022

Trang 3

THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP

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

¬ eee eee e nese eee eae ees ngày của Hiệu trưởng Trường Dai hoc Công nghệ Thông tin.

— cece eee e cent eee nena ee eee — Chủ tịch.

Boece cece ence ence eee eee ee eea eens enaeenaeenees — Uy viên

Ắ= cece e nee e eee n teen e een e ena e ened — Uy viên

Trang 4

ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THONG TIN

TP HCM, ngày 10 tháng 07 năm 2022

NHẬN XÉT KHÓA LUẬN TÓT NGHIỆP

(CUA CAN BO HƯỚNG DAN)

Tên khóa luân:

XÂY DỰNG CHATBOT TRỢ LÝ AO DA NEN TANG

Nhóm SV thực hiện: Cán bô hướng dẫn:

Nguyễn Ngọc Đăng 18520557 ThS Trần Anh Dũng

Bề Hải Long 18520302

Đánh giá Khóa luận

1 Vé cuôn báo cáo:

Số trang 227 Số chương 5

Số bảng số liệu 58 Số hình vẽ 78

Số tài liệu tham khảo 7⁄4 Sản pham 1

Một sô nhận xét về hình thức cuôn báo cáo:

Báo cáo đầy đủ các chương yêu cầu của báo cáo khóa luận Hình thức trình bàyhợp lý và tuân theo yêu cầu khóa luận tốt nghiệp trong phụ lục khoa đã cung cấp

Danh mục bảng, danh mục hình, tài liệu tham khảo trình bày đúng chuẩn Sinh

viên chủ động chỉnh sửa báo cáo theo góp ý của giảng viên hướng dẫn.

2 Về nội dung nghiên cứu:

Trọng tâm nghiên cứu của khóa luận là việc áp dụng các phương pháp giải quyết

các bài toán xử lý ngôn ngữ tự nhiên vào việc xây dựng Chatbot trợ lý ảo các bài

toán được đề cập và hướng giải quyết bao gồm:

— Bài toán xác định ý niệm: Sử dụng mô hình mạng nơ-ron truyền thăng

Trang 5

— Bài toán xác định thực thé đặt tên: Sử dụng kết hợp biéu thức thường quy

và tìm mờ từ điển bằng khoảng cách Levenshtein

— Bai toán phân tích cảm xúc: Sử dụng mô hình tinh chỉnh từ mô hình luyện

đề cập về các quy trình tiền xử lý cũng như cách thiết kế hệ thống Chatbot sao

cho thân thiện với người dùng Cho thấy nỗ lực tìm hiểu về vấn đề xử lý ngôn

ngữ tự nhiên trên nhiều khía cạnh

Về chương trình ứng dụng:

Sinh viên thực hiện xây dựng hệ thống Chatbot đa nền tảng trên trình duyệt web

sử dụng React và trên thiết bị di động sử dụng Flutter Hệ thong Chatbot có khảnăng truy vấn thông tin từ cơ sở dữ liệu hoặc sử dụng API bên thứ ba dé cungcấp thông tin thời gian thực cho người dùng Ngoài ra một số tính năng khác

được cài đặt bao gồm:

— Cho phép người dùng đặt thông báo được hẹn giờ đề giao qua tất cả thiết

bị của người dùng sử dụng thông báo Push

— Cho phép người dùng chỉnh sửa thông tin tài khoản cũng như thiết lập cá

nhân trong hệ thống (bao gồm việc nhận diện giọng nói và phát âm phảnhồi)

— Phan tang truy cập thông tin của người dùng dễ dàng thông qua bang quan

lý của quản trị viên

— Ứng dung di động mở rộng một số các chức năng như cho phép người

dùng tương tác với thiết bị thông qua chatbot, tùy chỉnh giao diện

Trang 6

Về cơ bản hệ thống hoạt động với số lượng lỗi tối thiêu, nhóm sinh viên đã cung

cấp đầy đủ tài liệu thiết kế bao gồm các biêu đồ UML (ca sử dụng, lớp, tuần tự)

và mô tả các màn hình giao diện.

4 Về thái độ làm việc của sinh viên:

Nhóm sinh viên có thái độ nghiêm túc, chăm chỉ, tích cực thực hiện đề tài, đãtong hợp và vận dụng tốt một khối lượng lớn kiến thức dé giải quyết các van đề

trong đề tài, thể hiện được khả năng nghiên cứu và áp dụng nhiều công nghệ

trong đề tài Chủ động báo cáo định kỳ thường xuyên và luôn hoàn thành rất tốtcác công việc do giảng viên hướng dẫn đề ra

Đánh gia chung:

Kết quả đạt được của đề tài đáp ứng tốt yêu cầu của một khóa luận tốt nghiệp kỹ

sư ngành Kỹ thuật phần mềm Xếp loại Xuất sắc

Điểm từng sinh viên:

Nguyễn Ngọc Đăng: 10/10 (Mười)

Bề Hải Long: 10/10 (Mười)

Người nhận xét

(Ký và ghi rõ họ tên)

TRAN ANH DŨNG

Trang 7

ĐẠI HỌC QUOC GIA TP HO CHÍMINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP HCM ngày 16 tháng 7 năm 2022

NHẠN XÉT KHÓA LUẬN TÓT NGHIỆP

(CUA CÁN BỘ PHAN BIEN)

Tên khóa luân:

XÂY DỰNG CHATBOT TRỢ LÝ AO DA NEN TANG

Nhom SV thuc hién: Can bô phan biên:

Nguyễn Ngoc Đăng 18520557 TS Nguyễn Trịnh Đông

Bề Hải Long 18520302

Đánh gia Khóa luận

1 Về cuôn báo cáo:

Số trang 227 Số chương 5

Số bảng số liệu 58 Số hình vẽ 78

Số tài liệu tham khảo J4 Sản phẩm 1

Một số nhận xét về hình thức cuốn báo cáo:

Cách thức trình bày khóa luận phù hợp với các quy định, phân bố nội dung từngmục rõ ràng, cụ thể, có hình ảnh trực quan Các chương mục được trình bày hợp

lý và theo thứ tự.

2 Vê nội dung nghiên cứu:

e Khóa luận tập trung tìm hiểu và áp dụng kiến thức trong học máy và xử lý

ngôn ngữ tiếng Việt và các công cụ lập trình để phát triển hệ thống chatbot

Trang 8

đa nền tảng Đối với phương diện khoa học, Khóa luận sử dụng thuật toán

Wagner-Fischer và độ đo khoảng cách Levenshtein dé xác định độ tương

tự của từ khóa Về ứng dung, Khóa luận đưa ra giải pháp phát triển chatbot

có thể tương tác với người dùng dựa trên suy diễn mờ trong hệ thống.Đồng thời Khóa luận đã xây dựng hệ thống chatbot, chạy thử nghiệm và

có khả năng trả lời được một số câu hỏi liên quan đến một số lĩnh vực

e Khéa luận phát triển phần mềm ứng dụng dựa trên các bộ khung phát triển

phần mềm NodeJS, Express và cơ sở dữ liệu MongoDB

e Sinh viên đã tiễn hành tìm hiểu cơ sở lý thuyết dé áp dụng vào phát triển

e Phan phân tích thiết kế đã cơ bản giải quyết được các yêu cầu chung cho

bài toán phân tích thiết kế hệ thống thông tin Từ việc đặc tả các usecaseđến các sơ đồ kỹ thuật cần thiết dé phát trién hệ thống

Tóm lại, Khóa luận đã lựa chọn cách tiếp cận nghiên cứu các lý thuyết liên quan

sau đó phân tích thiết kế hệ thong và triển khai xây dựng phan mém

._ Về chương trình ứng dụng:

Trên cơ sở lý thuyết và quá trình phát triển hệ thống, Khóa luận đã đưa ra kết quả

là một phần mềm có các ưu điểm và nhược điểm sau:

Ưu điểm: Khóa luận đã xây dựng hệ thống chatbot, chạy thử nghiệm trên môitrường di động Ứng dụng có khả năng trả lời được một số câu hỏi liên quan đến

nhiều lĩnh vực thời tiết, chứng khoán, ngoại tệ, dịch thuật, v.v

Trang 9

Nhược điểm: Dựa trên kết quả đạt được, bộ suy diễn còn hạn chế khi chỉ sử dụngmột thuật toán Wagner-Fischer Bộ dữ liệu huấn luyện ít Ứng dụng mới trả lờiđược những câu hỏi ngắn.

4 Về thái độ làm việc của sinh viên:

Sinh viên đã giải quyết một khối lượng lớn kiến thức dé giải quyết van đề, có thái

độ tích cực, chủ động bổ sung, sửa đôi khóa luận, cung cấp day đủ tài liệu khiđược yêu câu.

Đánh gia chung:

Khóa luận đạt yêu cầu của một khóa luận tốt nghiệp kỹ sư, xếp loại Giỏi

Điểm từng sinh viên:

Trang 10

LOI CAM ON

Nhóm chúng em trân trong gửi lời cảm on đến thay Trần Anh Dũng đã tạo điều kiện

cho chúng em có cơ hội được thực hiện khóa luận tốt nghiệp

Trong vòng 15 tuần, nhờ sự chỉ dẫn nhiệt tình của Thay, chúng em đã tiếp thu đượcnhững kiến thức quan trọng cùng những góp ý chân thành đề có thé hoàn thành khóa

luận một cách hoàn chỉnh.

Cũng xin cảm ơn thay cô và bạn bè trong Khoa Công nghệ Phần mềm đã nhiệt tình

hồ trợ, tạo điêu kiện cho nhóm em làm bài báo cáo này.

Mặc dù đã có găng hoàn thành báo cáo với tat cả nỗ lực song báo cáo của nhóm chúng

em chắc chăn không tránh khỏi những thiêu sót, chúng em rât mong nhận được sự

thông cảm và góp ý chân thành từ các thầy cô Nhóm em xin chân thành cảm ơn

Thành pho Ho Chí Minh, ngày 7 thang 6 năm 2022

Lớp SE505.M21

Nguyễn Ngọc Đăng, Bé Hải Long

Trang 11

MỤC LỤC

THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP 3

098/9 090)0 075 10

109800905 11DANH MUC HINH wessscsssessssssssssessssssssssesssessssssssssessssssssssssssessssssssssssssssssssesssesnseese 15

1.1.2 Góc nhìn chung về nhu cầu tra cứu thông tin ¿s52 35

1.1.3 Lý do lựa chọn đề tài ¿5s te EEEEEEEEE1211211211 211111 1xx 361.2 Đối tượng nghiên CỨU + 2E SE2EE2E2EEEEEEEEEEEE1211211211212 211111111 xe 36

2.2.1 Các vấn đề còn tỒn tại 5:5: S tt EEE E21 EE1E121511112151111 1151111151 ExE 44

2.2.2 Các van đề được tập trung trong đề tài - :-csccczzsrxerxerxee 44

Trang 12

Chương 3: NGHIÊN CỨU LÝ THHUY ÉT - 2-5 s£sssssssesseessessse 46

3.1 Giới thiệu về bài toán ChatbOt -2- 5c ©5225£22E+EEt2EE2EE2EEeEErkerrxerxerkrree 46

3.2 Lý thuyết xây dựng ChatbOt ¿2-2-5 2E£2EE2EEEEE2EE2EE2EEEEE2EE2EEEEkrrrrrer 48

3.2.1 Các hướng tiếp cận xây dựng Chatbot ¿2-52 s+2sc2xzEzrxerxersez 48

3.2.2 Giải quyết các van dé phát sinh trong xây dựng Chatbot - 603.3 Cau trúc hệ thống Chatbot cccccccccscsssessessesssessessessesssessessessessseesessessessseeseeseess 65

3.4 Ứng dụng của Chatbot 2-5 £+S£+EE+EE£EE2EE2EEEEEEEEEEEEEEEEEEEEEE2EEEEerkrrer 69

3.4.1 Phép thử 'TUTIng - - s1 + 111191 TH ng rưy 69

3.4.2 Ứng dụng của Chatbot trong thực tẾ - 2-22 ++x+txetE++E+Exerxerxee 70

3.5 Sử dụng thư viện NLP.js vào tác vụ nhận diện ý niệm - 70

3.5.1 Giới thiệu thư viện NLP.JS 5 51 2119k SH vn nh Hư 70

3.5.2 Các khái niệm sử dung trong NLP.Js - - 5 S5 << ++csscese 71 3.5.3 Thực hiện tác vụ nhận diện ý niệm - 5 +5 + + £++£+sssessrsee 75 3.6 Tinh chỉnh mô hình PhoBERT vào tác vụ phân tích cảm xúc 76

3.6.1 Giới thiệu về mô hình PhoBERTT - ¿2+ x+zxzx++z++zx+zxzsez 76

3.6.2 Thực hiện tác vụ phân tích cảm XÚC - 5 5 + *++£++kEseeeseeseersee T7

3.7 Tinh chỉnh mô hình BARTpho vào tác vụ cấu tạo ngôn ngữ tự nhiên 78

3.7.1 Giới thiệu về mô hình BAR'Tpho 2: ¿2+2 s+£E£££+£z+£++zxzsez 78

3.7.2 Thực hiện tác vụ cau tao ngôn ngữ tự nhiên - - «<< <++sx+2 79

3.8 Nghiên cứu tình huống: Một số ví dụ xử lý ngôn ngữ tự nhiên của Chatbot.79

Chương 4: CHATBOT TRỢ LÝ AO - YOURCHATSTARTER 87

4.1 Xác định yêu cầu hệ thong c.cceceecceccescscssesessssecsessessessessessessesessessessessessesseaee 87

4.1.1 Sơ d6 ca sử UUing e.cccceccescssessecsessessessessesssscsessessessessesssssesssessessessesseeseesease 87

4.1.2 Đặc tả Ca SỬ CUI oo ee cceeccesccenseeseeeececesceceseeeeaeessceceseeceaeeeeaecesaeeeseeesaes 92

4.2 Thiết kế kiến trúc hệ thống 2-22 +¿©++2++2E++2E+tEE+2EE2rxerxrerxrr 1294.3 Thiết kế mô hình dữ liệu ¿2 2 5£ +E£+E££EE£EEtEEE£EEEEEerEerkrrrerrxees 133

4.3.1 Sơ đỒ lớp ¿- + ScSE E2 12 12212112112112211211211 2111121111111 re 133

4.3.2 Dac ta lop dit LGU nh ăia45<Ả 134

4.4 Thiết kế luồng xử lý -¿- 2 2 2 +k£EE£EE£EEEEE2EE2EEEEEEEE1E711111 1.1 ty, 145

Trang 13

4.4.1 Luồng xử lý chức năng đăng nhập 2:2 5¿2c+2x+czx++rxrrred 145 4.4.2 Luồng xử lý chức năng đăng kí - 2-2 2+SSE‡EEeEEeEeEzEerrerrees 146 4.4.3 Luồng xử lý chức năng thu phí -¿ -¿+¿©5++cx+2zxczxeerxesrxerred 147 4.4.4 Luồng xử lý chức năng giao tiếp với Chafbot -¿scs+-: 148 4.4.5 Luồng xử lý chức năng phát âm đoạn Chat -:- 25525522552 150 4.4.6 Luồng xử lý chức năng gửi thông báo Push - ¿5z se: 151

4.4.7 Luồng xử ly chức năng gửi thông báo theo lịch trình 152

4.4.8 Luồng xử lý chức năng cập nhật thông tin người dùng 153

4.4.9 Luồng xử lý chức năng cập nhật thiết lập cá nhân . - 154

4.4.10 Luồng xử lý chức năng cập nhật cấp bậc người dùng - 155

4.5 Thiết kế các Module truy van thông tỉn -¿ -¿ 2 ©5z+zx2zx+zx+srxze 156 4.5.1 Truy van thông tin thời tiẾt ¿2-52 + 2+S£+E££E££E££EeEEEEEeEErEerrerreei 156 4.5.2 Truy van thông tin tỉ giá tiỀn tỆ - 2-2 2 2+E+£E+EEeEEeEEeErEerrerrees 157 4.5.3 Truy van thông tin dich thuật - 2-2 2+52+s2+E+E+£EeExeEkzrzrerrerrees 158 4.5.4 Truy vấn giá C6 phiẾu : ¿ 2 s+2E+EE2EEEEEEEEEEEEEEEEEEEEEerkrrrkrrrree 159 4.5.5 Truy van thông tin dịch CO'VID- | 2-2 + ++++£+£++£x+zxzrezrxees 160 4.5.6 Truy van thông tin từ Google Knowledge Graph - : 161

4.6 Thiết kế giao diGn o.cceeceescssesssessessessessessessessssssessessessssssessessesssssessesseesesseeeses 162

4.6.1 Thiết kế giao diện trên nền tảng Web ¿25+ x+cx+£++EzEzerreei 164 4.6.2 Thiết kế giao diện trên nền tảng di động - - 2 2 2 2+2: 186

4.7 Thực hiện tác vụ nhận diện ý niỆm - - 5-5 22c 3+ E*sEseeerseeerrsree 204

4.7.1 Phương thức thực hiỆN - - s vn HH ng ngư 204 4.7.2 Kết quả thực hiện -2-22©5¿22+t2EE£EE+22E2212112712221 21121 crre 206 4.8 Thực hiện tác vụ nhận diện thực thé đặt tên - - ¿2 + x+x+xezzxzxezez 207

4.8.1 Phương thức thực hiỆn Gv 9v 9v 9 HH ng nghe 207 4.8.2 Kết quả thực hiện 2-2-5 22222EEEEEE2E122127121211221 211112 ec xee 208

4.9 Thực hiện tác vụ phân tích cảm XÚC . 5 2+ *++E+EEseeeeeseereeeeee 209

4.9.1 Phương thức thực hiện - -. c5 2133111311813 reree 209

4.9.2 Kết quả thực hiện 2-2 ©522S22EESEEEEE2E12E1271211211271 1111 1E xe 212

4.10 Thực hiện tác vụ cầu tạo ngôn ngữ tự nhiÊn 55s <+<s+ssessees 212

Trang 14

4.10.1 Phương thức thực Him G5 21121 23191119 11 11 8 ngư, 212

4.10.2 Kết quả thực hiện -¿- 2 £©S+E+SE+EEEEE2EE2EEEEEEEEEEEEEEEEEEE.cEerreeg 2154.11 Giới thiệu hệ thống -¿- 2: £©5£+SE+EE£EE£EEEEEEEEEEEEEEEEEEEEEEEEEEErrrrreeg 2154.12 Sơ lược chức năng hệ thống -:- 2:22 5¿2++2£++£E++Ex2zxrzreersre 216

Chương 5: KET LUẬN -s-s-s< s2 ssSsEseEssEssexseEseEsstssesserserssrssesse 221

5.1 Đánh giá kết quả làm viỆc - + 2-5255 2E22EE‡EEEEEEEEEEEEEEEerkrrreererred 221

5.1.1 Thuận lỢI - - 5 5 + s1 9 9n HH nh Tho nu ngưng 221

5.1.2 KAO KWAN nn "- - 2215.2 Kết quả dat đƯỢC 55s S221 12k 1E 1511211111211 2111 11111111111 c1 xe 222

>n G.n 222

“2h 2225.3 Hướng phát triÊn 2-2: ++2EE2EEE2EE2EEEEEESEE+SEkEEEEEEEEEEEE1E11.E1EE crrree 223

TÀI LIEU THAM KHẢO -°- 5° 222 ss£©ss£EssesseEssersserseessersee 224

PHU LỤC 6c để , con ẤT 42 4414044846846886846840686 86 227

Phụ lục 1 Danh mục công nghệ được sử dung - - 5 +«<++x£<<xsseess 227

Phụ lục 1.1 ECMASCTIpt Õ - - SG SH HH ngệp 228 Phụ lục 1.2 Python Ổ - s6 + 1119 Hệ 229 Phụ lục 1.3 ÏNO(e.Js - ó5 2G SH HH HH nh nh TT HH Hưng 229

I3008)0/108.0.{ e2111157 -::'ÔÔÔÔỐÔ 230 Phu luc 1.5 MongoDB 1122757 da 230 200801000050) 231

Phu luc 1.7 Web APD cececeeccecescecceseeseeeeseeseeseeaeceeceeeeeeseeseeaeeaeeaeeaeeeserentes 231

I8) dt 119.5637410 010177 231 Phụ lục 1.9 Wikidata và SPAIRQL, - - -G Q2 HS HS SH ng ret 232

Trang 15

Hình 3.4 Đặc tả độ đo Levenshte1n - G5 1112211111921 11 9111118211 1 8x re 49

Hình 3.5 Bảng minh họa thuật toán quy hoạch động của Wagner-Fischer (So sánh

xâu Integration va InteÏÏIØ€TIV) - << + k3 91 11 vn TH ng trên 50

Hình 3.6 Bang minh họa thuật toán Seller (Tìm kiếm xâu “think” trong xâu “i am

shrinky”) #, GHI ! Bar \IỂU, Í -‹ Q.Q.QLLLerdee 51

Hình 3.7 Cấu trúc dữ liệu Trie để lưu trữ từ điển cho phép so sánh mờ 52Hình 3.8 Hình minh hoa cho mạng nơ-ron truyền thăng 2-5 5552 s2 56

Hình 3.9 Hình minh họa cấu trúc của mô hình Transformer 2 - 2 + 60

Hình 3.10 Cấu trúc đầy đủ của một Chatbot 2-55 2+5£+£2+E££Eezkerxersersxee G7Hình 4.1 Sơ đồ ca sử dụng hệ thống xác thực người dùng -5z=5+ 87Hình 4.2 Sơ đồ ca sử dung hệ thống Chatbot c.ccccccccscsssesssecstessessseesseeseesessseesseens 88Hình 4.3 Sơ đồ hệ thống dich vụ bỗ trợ người dùng -2- 5c ©5+2cz+cxcrxczez 89

Hình 4.4 Sơ đồ ca sử dung hệ thống quan lý nội dung ¿5-52 s2 s2 90

Hình 4.5 Sơ đồ ca sử dụng hệ thống quản lý hóa đơn thanh toán - 90Hình 4.6 Sơ đồ ca sử dụng hệ thống truy vấn thông tin 2 s2 szxz>sz 91

Trang 16

Hình 4.7 Sơ đồ ca sử dụng hệ thống quản lý thông báo 2-2-5552 91 Hình 4.8 Sơ đồ kiến trúc hệ thống -2¿- 5¿©2+22++E++2EE+2E+vrxtzrxrzrxerreee 129

Hình 4.9 Sơ đồ lớp của hệ thống 2 2 2 E++E£2EE+EE£EEEEEEEE2EEEEEEEErEerrrrrkee 133

Hình 4.10 Sơ đồ luồng xử lý chức năng đăng nhập 2-2 ¿s52 145 Hình 4.11 Sơ đồ luồng xử lý chức năng đăng ký 2:2 5+2cxscxccscee 146 Hình 4.12 Sơ đồ luồng xử lý chức năng thu phí - ¿2 s+2cx+5zs+zsee¿ 147 Hình 4.13 Sơ đồ luồng xử lý cho việc giao tiếp với Chatbot (Trường hợp chung) 148 Hình 4.14 Sơ đồ luồng xử lý cho việc giao tiếp với Chatbot (Trường hợp cần tra cứu

01901505) -555ỒỐỒẼ£ỒỒ 149

Hình 4.15 Sơ đồ luồng xử lý chức năng phát âm đoạn Chat -. : 5- 150

Hình 4.16 Sơ đồ luồng xử lý chức năng gửi thông báo Push - 151

Hình 4.17 Sơ đồ luồng xử lý chức năng gửi thông báo theo lịch trình 152

Hình 4.18 Sơ đồ luồng xử lý chức năng cập nhật thông tin người dùng 153

Hình 4.19 Sơ đồ luồng chức năng cập nhật thiết lập cá nhân - 154

Hình 4.20 Sơ đồ luồng xử lý chức năng cập nhật cấp bậc người dùng 155

Hình 4.21 So đồ luéng xử lý truy van thông tin thời tiết - 2-2 25s: 156 Hình 4.22 Sơ đồ luồng xử lý truy van thông tin tỉ giá ngoại tệ - 157

Hình 4.23 Sơ đồ luồng xử lý dịch thuật ¿ 2 222++2x+2x++zx+zrxsrxerseee 158 Hình 4.24 Sơ đồ luồng xử lý truy van giá cô phiếu -¿-cs¿©cs5sce¿ 159 Hình 4.25 Sơ đồ luồng xử lý truy van thông tin dịch COVID-I9 - 160 Hình 4.26 So đồ luéng xử lý truy van thông tin từ Google Knowledge Graph l6 Hình 4.27 Sơ đồ màn hình 2 ¿+ ++++E+++E++2E++EE+2EE+2EEtEExerxverxrzrrrrrree 162 Hình 4.28 Giao diện màn hình chính (Chưa đăng nhập) : +55: 164

Trang 17

Hình 4.29 Giao diện màn hình chính (Đã đăng nhập) - - 5555 ++<<s+s 165 Hình 4.30 Giao diện màn hình đăng nhập - - 5 5525 + E+kEsesseesses 166 Hình 4.31 Giao diện màn hình đăng Ky - 55 32213 +kseereeerrerrrrrrsxrs 167 Hình 4.32 Giao diện màn hình liệt kê giá dịch VU - - 55s +++ssxcsecsees 168

Hình 4.33 Giao điện màn hình giao tiếp với Chatbot - -¿ 5¿©csc5s+¿ 169

Hình 4.34 Giao diện màn hình nhập thông tin thanh toán 5+ 170

Hình 4.35 Giao diện màn hình danh sách bài viẾt ¿2 + s+s+x+zs+szEezszszz 172Hình 4.36 Giao diện màn hình chỉnh sử hồ sơ người dùng - : 173Hình 4.37 Giao diện màn hình thiết lập bảo mật người dùng -. - 174Hình 4.38 Giao điện màn hình thiết lập cá nhân người dùng 175Hình 4.39 Giao diện màn hình dashboard quản trị hệ thong "—— 177

Hình 4.40 Giao diện màn hình quản lý người dùng s5 ++<ss++sss++s+2 178 Hình 4.41 Giao diện màn hình chỉnh sửa thông tin người dùng - 180

Hình 4.42 Giao diện màn hình quản lý dịch vụ hệ thống ¬ 182Hình 4.43 Giao diện màn hình quản lý bài viẾt ¿5 2 s2 +2 2+£z+£z+see: 183Hình 4.44 Giao diện màn hình chỉnh sửa bài viẾt - - s x+++x++x++xrxees 184

Hình 4.45 Giao diện màn hình Đăng nhập - 5 555 ++ + ssEesersrrrerrre 186 Hình 4.46 Giao diện màn hình Đăng ký c5 S5 + **sEEsseresererserersee 188 Hình 4.47 Giao diện man hình Khung chat - 5 55+ £++se+seexeseesess 190

Hình 4.48 Giao diện màn hình khung chat (kèm bản đỒ) cuc tr neererersey 190Hình 4.49 Giao diện màn hình Danh sách bài viẾt 2s + ++x++x+xee: 192Hình 4.50 Giao điện màn hình Thiết lập tài khoản -2¿ 52 555522 194

Hình 4.51 Giao diện màn hình Chỉnh sửa thông tin người dùng - 197

Trang 18

Hình 4.52 Giao diện màn hình Thiết lập âm thanh và thông báo 199

Hình 4.53 Giao diện màn hình Nâng cấp dịch vVụ - 2< << cccccsssseeeeeeees 201 Hình 4.54 Giao diện màn hình Thiết lập bảo mật - - -ccSsssreee, 203 Hình 4.55 Sơ đồ quy trình thực hiện tác vụ nhận diện ý niệm - 206

Hình 4.56 Kết quả huấn luyện mô hình nhận diện ý niệm - 207

Hình 4.57 Sơ đồ quy trình thực hiện tác vụ xác định thực thé đặt tên 208

Hình 4.58 Sơ đồ quy trình thực hiện tác vu phân tích cảm xúc - - - 211

Hình 4.59 Sơ đồ quy trình thực hiện tác vụ cau tao ngôn ngữ tự nhiên 214

Hình 4.60 Giao diện chính của ChatbO( - 55 <5 333332222 EE+Sssseeeeeeees 217 Hình 4.61 Màn hình quản lý người dùng giúp quản trị viên dé dàng quản lý các tài khoản trong hệ thống - ¿+ StS2+S£9E£2E2EEEEEEEE21221221211211217121 7111111 1 ty 218 Hình 4.62 Màn hình quản lý cấp bậc người dùng ¿2 +22 218 Hình 4.63 Các tính năng trong ứng dụng di động của Chatbot - 220

Hình 4.64 Ứng dụng di động cho phép người dùng tùy chỉnh diện mạo của ứng dụng

Hình phụ lục I Hình ảnh giao diện làm việc của Google Colaboratory (Thông qua

Jupyter Notebook)_ HS TK nh KH ng 234

Trang 19

Bảng 3.5 Bảng danh sách thuộc tính của một Entity Parameter - - 73

Bảng 3.6 Bảng các Entity được hỗ trợ bởi Duckling -¿- ¿5555555552 74

Bảng 4.1 Bảng mô tả sơ lược các Actor trong sơ đồ ca sử dụng - 92Bang 4.2 Bảng mô tả thành phần chính trong hệ thống - 2-2 2 252: 130

Bảng 4.3 Bảng thuộc tính lớp US€T 5 5 2 331113 EE£EESESEEsreeeeseeereereree 134 Bảng 4.4 Bảng thuộc tính lớp Service - 2c 311123 19 1 v.v ngriệp 134 Bảng 4.5 Bảng phương thức lớp Service c2 32+ ierirrrrrrrrrkre 135 Bảng 4.6 Bảng thuộc tính lớp S€SSIOI - G1111 99112 1 ng, 135 Bảng 4.7 Bảng phương thức lớp S€SSIOH - c5 3+ 132 ESsEEseerereerrserersee 135

Bảng 4.8 Bảng thuộc tính lớp BÏÌ 2c 3 1133111311 1 EEESEEEErkrrrkreree 136 Bang 4.9 Bảng thuộc tính lớp PendingBIÌ] -. 555 5 + +sseeseeeeseeseee 136

Bảng 4.10 Bảng phương thức lớp PendingBiill - - 5+5 ++ss+sexseeseerseess 137

Bảng 4.11 Bảng thuộc tính lớp ConfirmBiIÏl 5+ «+ +£++££se£zs+seeesees 137 Bảng 4.12 Bảng thuộc tính lớp COnn(€XK - 5 5 S5 2 E21 3 Ekreseerrsee 138

Bảng 4.13 Bảng phương thức lớp COTIf€XÍ -.- G5 + 132 E*Esesereeeeerserersee 138

Bảng 4.14 Bảng thuộc tính lớp ActiveCOnf€XE - SG HS Hiệp 139 Bảng 4.15 Bảng thuộc tính lop Message - - - c Si, 139 Bảng 4.16 Bảng thuộc tính lớp Option -¿-22222222++22EEEE52et2EEEEExeerrrre 140

Trang 20

Bang 4.17 Bảng thuộc tính lớp InformationKey - « + s + s+vsseeseeee 140

Bảng 4.18 Bảng phương thức lớp InformationKey - «+5 «+ <+sc<s+s 140

Bảng 4.19 Bảng thuộc tính lớp Utfera'nC© - s5 + 1S eiep 141 Bảng 4.20 Bảng thuộc tính lớp Ïnf€nif - - + 3231 rririrerrerxee 141

Bảng 4.21 Bảng thuộc tinh lớp EnLIẨy Ác 1 211911 ng re, 142

Bảng 4.22 Bảng thuộc tính lớp “TTAIÍ( - c3 E219 Series 142

Bảng 4.23 Bảng thuộc tính lớp NotIÍiCatiOT - 2 5 1k ssekssesekee 143 Bảng 4.24 Bảng thuộc tính lop Preference 3+ vs sessrrserersee 143 Bảng 4.25 Bảng thuộc tính lớp BÌOg - c5 3112119 119119111 rệt 144

Bảng 4.26 Bảng danh sách màn hình trong hệ thống -2 5¿ 525552: 163

Bang 4.27 Bảng danh sách các thành phan trong màn hình chính 165

Bang 4.28 Bảng danh sách thành phan trong màn hình đăng nhập 167

Bang 4.29 Bảng danh sách thành phan trong màn hình đăng ký - 168

Bang 4.30 Bảng danh sách thành phan trong màn hình liệt kê giá dịch vụ 169

Bảng 4.31 Bảng danh sách thành phan trong màn hình giao tiếp với Chatbot 170

Bảng 4.32 Bảng danh sách thành phan trong màn hình nhập thông tin thanh toán 171 Bảng 4.33 Bảng danh sách thành phần trong màn hình danh sách bài viết 172 Bảng 4.34 Bảng danh sách thành phần trong màn hình chỉnh sửa hồ sơ người dùng

Trang 21

Bảng 4.37 Bảng danh sách các thành phần trong màn hình dashboard quản trị hệ

Bang 4.38 Bảng danh sách các thành phan trong màn hình quản lý người dùng 179

Bảng 4.39 Bảng danh sách các thành phần trong màn hình chỉnh sửa thông tin người Bang 4.41 Bảng danh sách các thành phan trong màn hình quan lý bài viết 183

Bang 4.42 Bảng danh sách các thành phan trong màn hình chỉnh sửa bài viết 184

Bảng 4.43 Bảng danh sách các thành phan trong màn hình Đăng nhập 187

Bảng 4.44 Bảng danh sách các thành phan trong màn hình Đăng ký 189

Bảng 4.45 Bảng danh sách các thành phan trong màn hình Khung chat 191

Bang 4.46 Bang danh sách các thành phan trong màn hình Danh sách bai viét 193

Bang 4.47 Bảng danh sách các thành phan trong màn hình Thiết lập tài khoản 195 Bang 4.48 Bảng danh sách các thành phan trong màn hình Chỉnh sửa thông tin người

Trang 22

DANH MỤC TU VIET TAT

AI Artificial Intelligent Tri tuệ nhân tao

API Application Programming Interface | Giao diện lập trình ứng

dụng

BERT Bi-directional Encoder Thẻ hiện mã hóa hai chiều

Representations from Transformer | từ mô hình Transformer

CPU Central Processing Unit Don vi xử lý trung tâm

DAO Data Access ObJect Đối tượng truy cập dữ liệu

GPT Generative Pre-trained Transformer | Mô hình Transformer luyện

san mang tính cau tạo

GPU Graphics Processing Unit Don vị xử ly đồ họa

HTML, HyperText Markup Language Ngôn ngữ đánh dấu cho

siêu văn bản

HTTP Hypertext Transfer Protocol Giao thức chuyền giao siêu

văn bản

ID Identifier Ma nhan dién

JSON JavaScript Object Notation Biểu diễn đối tượng

JavascrIpt

NER Named Entity Recognition Nhận diện thực thé đặt tên

Trang 23

NLG Natural Language Generation Câu tạo ngôn ngữ tự nhiên NLP Natural Language Processing Xu lý ngôn ngữ tự nhiên

NLU Natural Language Understanding Thau hiểu ngôn ngữ tự

nhiên

RAM Random Access Memory Bộ nhớ truy xuất ngẫu

nhiên

UC Use Case Ca str dung

UI User Interface Giao diện người dùng

URL Uniform Resource Locator Cu phap dinh vi tai nguyén

đồng nhất

Trang 24

TÓM TAT KHÓA LUẬN

Trong bối cảnh nhu cầu tra cứu thông tin ngày càng lớn, cũng như việc phổ cậpInternet đang diễn ra với tốc độ càng cao trong bối cảnh hậu đại dich COVID-19.Nhóm nhận thấy tiềm năng trong việc phát triển một hệ thống Chatbot trợ lý ảo hỗtrợ người dùng tra cứu thông tin trên mang Internet Dé tạo ra được sản phẩm, nhómphải giải quyết hai bài toán lớn trong xử lý ngôn ngữ tự nhiên, gồm thấu hiểu ngônngữ tự nhiên Dé giải quyết hai van đề này Nhóm đã kết hợp nhiều hướng tiếp cận

bao gôm:

e Su dụng giải thuật tim mờ như giải thuật tìm độ do Levenshtein

e Sử dụng mô hình mạng nơ-ron truyền thăng

e© Sử dụng mô hình Transformer (Tinh chỉnh mô hình huấn luyện trước gồm

BARTpho và PhoBERT

Sau quá trình miệt mài nghiên cứu, thực hiện thiết kế va cài đặt hệ thống Nhóm

đã hoàn thiện hệ thống Chatbot đa nền tảng với những điểm nổi bật sau:

e_ Chatbot phản hồi câu hỏi của người ding

e_ Chatbot cung cấp thông tin thời gian thực cho người dùng như tin tức, thời

tiết, ti giá ngoại tệ, chỉ số chứng khoán

e Chatbot cung cấp thông tin kiến thức cho người dùng dựa theo kho tri thức của

Wikidata va Google Knowledge Graph

e Chatbot có khả năng xác định câu hỏi của người dùng dựa vào mô hình mang

nơ-ron truyền thang dé thực hiện tác vụ nhận diện ý niệm

e Chatbot có kha năng phân tích cảm xúc của người dùng dựa vào mô hình tinh

chỉnh từ mô hình PhoBERT

e Chatbot có khả năng cấu tạo phản hồi dựa vào mô hình tinh chỉnh từ mô hình

BARTpho

24

Trang 25

e Người dùng có thể giao tiếp với Chatbot thông qua giao diện trên trình duyệt

web hoặc ứng dụng trên điện thoại chạy nên tang iOS va Android Với ứngdụng điện thoại b6 sung một số chức năng bổ sung

e_ Quản trị viên có thé quan lý mức độ truy cập thông tin của người dùng thông

qua giao diện riêng trên trình duyệt web

25

Trang 26

DE CƯƠNG CHI TIẾT

Tên đề tài: Xây dựng Chatbot trợ lý ảo đa nền tảng

Cán bộ hướng dẫn: ThS TRAN ANH DŨNG

Thời gian thực hiện: từ ngày 17/02/2022 đến ngày 11/06/2022

Sinh viên thực hiện:

1 NGUYÊN NGỌC ĐĂNG - 18520557

2 BÉ HAI LONG - 18520302

Nội dung đề tài:

Mục tiêu đề tài

Xây dựng ứng dụng Chatbot trợ lý ảo đạt được các mục đích sau:

Tìm hiểu về Chatbot nói chung và các công nghệ liên qua đến việc phát triểnChatbot (Xử lý ngôn ngữ tự nhiên — Gồm thấu hiểu ngôn ngữ tự nhiên và cấu

tạo ngôn ngữ tự nhiên, thu thập, lưu trữ dữ liệu, phân tích ngữ cảnh) Xác định

được đặc điểm, ưu điểm cũng như nhược điểm của các cách tiếp cận khác nhau

trong việc phát triển Chatbot

Nghiên cứu sâu hơn về việc sử dụng thư viện NLP.Js và mô hình Transformercho van đề xử lý ngôn ngữ tự nhiên và các công nghệ liên quan (Node.js,

Express, React.js, Javascript, Flutter, Python) để xây dựng một hệ thống

Chatbot trợ lý ảo đa nền tảng (Chatbot chạy như một dịch vụ Backend và

Frontend được xây dựng để tận dụng hiệu quả nhất các tính năng của Chatbot)

Xây dựng ứng dụng Chatbot trợ lý ảo có tính thực tiễn trong cuộc sống, giúpích người dùng trong việc tiếp cận thông tin

26

Trang 27

Nhóm hi vọng với nền tảng lý thuyết đã được truyén đạt trong quá trình học

tập trên giảng đường cũng như khả năng tự tìm hiểu thông tin, khả năng làm

việc nhóm của bản thân, sẽ có thê hoàn thiện được các mục tiêu đã đê ra.

Phương pháp thực hiện: Dự án theo nhóm, sinh viên Nguyễn Ngọc Đăng

thực hiện tìm hiểu và cai đặt hệ thống xử lý Sinh viên Bề Hải Long thực hiệntìm hiểu và cài đặt giao diện người dùng Cả hai chịu trách nhiệm xử lý các

van đề phát sinh trong quá trình phát triển và hoàn thiện báo cáo

Kết quả mong đợi: Sau khi xác định đề tài và định hướng nghiên cứu, nhóm

hi vọng có thể xây dựng được hệ thống Chatbot đạt được những mục tiêu sau

Về mặt chức năng, hệ thống có thé thực hiện trả lời các câu hỏi của người dùng

về một số các vấn đề khác nhau mà người dùng muốn biết, thực hiện một số

tương tác trò chuyện cơ bản, cho phép người dùng tương tác nhanh với phản

hồi của chatbot, tận dụng tính năng thuộc Web API (Ví dụ như Web

Notification, Web Speech API) của trình duyệt web và các API tương đương

trên thiết bị di động để chủ động đưa thông tin đến người dùng

Các chức năng chính Chatbot hỗ trợ dự kiến bao gồm:

— Nhận yêu cầu hỏi đáp về thông tin cơ bản (Điểm báo, thời tiết)

— Nhận yêu cầu hỏi đáp về kinh tế (Giá ngoại tệ, chỉ số chứng khoán, giá

các tài sản đầu tư như vàng, dầu, v.v

— )

— Nhan yêu cau hỏi đáp về dịch COVID (Cập nhật số ca nhiễm, tình hình

tiêm chủng, tin tức mới nhất từ bộ Y Tế)

— _ Nhận yêu cau hỏi đáp về kiến thức (Tìm định nghĩa, dịch thuật, làm tính

toán)

— Nhận yêu cầu gửi thông báo cho người dùng theo lịch đặt sẵn (Dé nhắc

nhở hoặc cung cấp thông tin định kỳ cho người dùng)

— Nhận yêu cầu điều hướng người dùng thông qua hệ thống bản đồ

27

Trang 28

— Cho phép người dùng gửi hình ảnh và thực hiện một số tác vụ trích xuất

thông tin từ hình anh đó (Tìm nguồn hình anh, đọc nội dung hình anh)

— Hỗ trợ cá nhân hóa phản hồi từ thông tin người dùng

— (B6 sung nếu kế hoạch cho phép) Nhận diện vân tay âm thanh dé xác

định thông tin ca khúc từ một đoạn nhạc

Chatbot sẽ giao tiếp với API các dịch vụ bên thứ 3 dé thu thập thông tin và trả

về phản hồi dưới dạng ngôn ngữ tự nhiên hoặc đồ họa cung cấp thông tin

(Infographic) Chatbot giao tiếp với người dùng thông qua giao diện nền Web

hoặc ứng dụng di động cho thiết bi Android và iOS Ngoài ra hệ thống sẽ chophép việc phân lớp người dùng và hỗ trợ người dùng nâng cấp tài khoản củamình thông qua phương thức thanh toán điện tử dé nâng cao trải nghiệm người

dùng Hệ thống cũng cung cấp cho quản trị viên một giao diện quan ly dé có

thé theo dõi trạng thái hệ thống cũng như tương tác với người dùng một các

hiệu quả.

Đối với nhà phát triển, ứng dụng trở thành cơ hội để áp dụng các công nghệ

khác nhau đã được nghiên cứu, tìm hiểu trong quá trình thực hiện khóa luận,

với trung tâm là các công nghệ dé giải quyết van đề trong quá trình phát triểnChatbot Các công nghệ bao gồm nhưng không giới hạn với:

— Mô hình máy học cho bài toán thấu hiểu ngôn ngữ tự nhiên

— Thuật toán trích xuất thực thé đặt tên (Sử dụng biểu thức thường quy,

tìm kiếm mờ)

— Thuật toán cấu tạo ngôn ngữ tự nhiên

— Giao tiếp với API các dịch vụ bên thứ 3 qua giao thức RESTful API

hoặc Web Socket

— Các Browser API hỗ trợ nâng cao trải nghiệm tương tác giữa người và

máy bao gồm Push API, Speech Recognition API, Speech SynthesisAPI (Và các API tương đương trong các thiết bị đi động)

28

Trang 29

Về mặt thâm mỹ, xây dựng một giao diện giao tiếp với Chatbot thân thiện, đơn

giản và dễ nhìn, tạo thiện cảm cho người sử dụng Giao diện được tùy chỉnh

sao cho phù hợp với môi trường sử dụng của người dùng (Web hoặc thiết bị diđộng).

Về mặt logic, tạo được liên kết giữa kết quả xử lý yêu cầu người dùng của hệthống Chatbot và logic ứng dụng dé trả về người dùng thông tin mà người dùng

Máy chủ xử lý: Node.js (Runtime Environment), Express (Server Middleware)

Thành phần xử lý ngôn ngữ tự nhiên: Thư viện NLP.js (Sử dụng mô hình forward Neural Network cho tác vụ thông hiểu ngôn ngữ), Transformer (Sửdụng mô hình PhoBERT cho tác vụ thông hiểu ngôn ngữ), VNCoreNLP (Thư

Feed-viện xử lý ngôn ngữ tiếng Việt)

Ngôn ngữ lập trình: Javascript, Dart

Cơ sở dữ liệu: MongoDB

Kế hoạch thực hiện:

Với thời gian thực hiện từ 17/02/2021 đến 11/06/2021, nhóm chia khung thờigian nay ra thành các giai đoạn lớn với các phần việc nhỏ hơn có thé thực hiệntheo thứ tự bất kì miễn là nằm trong giới hạn cho phép của giai đoạn đó, các

giai đoạn này như sau:

29

Trang 30

Giai đoạn 1: Refactor lại hệ thông mã nguồn, xác định các chức năng, chỉnh

sửa được thực hiện trong dự án này

Giai đoạn 2: Tìm hiêu vê các công nghệ liên quan sẽ được sử dụng trong dự

án Xây dựng bản nguyên mẫu của hệ thông đề minh họa cách sử dụng của các

công nghệ này

Giai đoạn 3: Thiết kế hệ thong bao gom kiến trúc, kịch ban, đặc tả các API

được dùng trong ứng dụng Nội dung của giai đoạn này cũng như khối lượng

công việc thực hiện sẽ bi ảnh hưởng bởi kết quả của giai đoạn 2

Giai đoạn 4: Từ thiết kế hệ thống đã được hoàn thiện trong giai đoạn 3, xâydựng giao diện cho hệ thống, huấn luyện cho ChatBot xử lý yêu cầu của ngườidùng và xây dựng server lấy dữ liệu cho việc trả lời câu hỏi của ChatBot

Giai đoạn 5: Tùy thuộc vào kết quả của giai đoạn 4, hoàn thiện hệ thống bằng

việc liên kết giao diện với hệ thống Chatbot và hệ thống lấy dữ liệu trả lời, đưa

vào thử nghiệm, hoàn thiện báo cáo luận án

Giai đoạn Công việc Người thực Số giờ thực

(Thời gian dự hiện hiện dự

kiến) kiến

Giai đoạn | Thực hiện refactor mã nguồn | Nguyễn Ngoc 24

(17/02/2022 - | của dự án trước đó Đăng

03/03/2022)

Xác định các chức năng được | Cả 2 thành 4 cài đặt mới viên

Xác định các thành phần hệ | Nguyễn Ngọc 4thong cần chỉnh sửa lại Đăng

30

Trang 31

Xây dựng nguyên mẫu hệ

thống sử dụng các công nghệ

đã được tìm hiêu

Cả 2 thành viên

Trang 32

Thiết kế API truy vấn thông | Nguyễn Ngọc 12

tin Đăng

Thiết kế hệ thống phản hồi | Nguyễn Ngọc 8bằng hình ảnh Đăng

Thiết kế hệ thống phản hồi | Nguyễn Ngọc 4

cấu tạo ngôn ngữ tự nhiên Đăng

Hoàn thiện đặc tả thiết kế hệ | Cả 2 thành 12thong viên

Thiết kế kiểm thử Bề Hải Long 8

Giai doan 4 Cài đặt giao diện trên nền | Nguyễn Ngọc 36

Cài đặt hệ thống truy vấn | Nguyễn Ngọc 24

thông tin Đăng

Cài đặt các chức năng còn lại | Cả 2 thành 40trong thiết kế viên

Giai đoạn 5 Hoàn thiện hệ thong Ca 2 thanh ~20(21/05/2022 — vién

11/06/2022) - : :

Kiêm thử hệ thông Bê Hải Long ~20

32

Trang 33

Vận hành thử nghiệm Nguyễn Ngọc ~12

Đăng

Hoàn thiện báo cáo Nguyễn Ngọc ~12

Đăng

Hướng phát triển dự kiến:

Với nền tảng đã được hoàn thiện trong khóa luận này, nhóm hi vọng có thể sử

dụng kết quả của khóa luận dé hoàn thiện một sản phẩm Chatbot trợ lý ảo vớitính thực tiễn tốt hơn Cụ thể với những bé sung sau:

— Cac cải thiện trên hi vọng sẽ đưa dự án lên trở thành một trợ lý ảo chuyên

biệt cho tiếng Việt

— _ Tăng cường huấn luyện Chatbot

— Bồ sung các nội dung mới cho kho trí thức của Chatbot

Xác nhận của CBHD TP HCM, ngày 19 thang 02 năm 2022 (Ký tên và ghi rõ họ tên) Sinh viên

(Ký tên và ghi rõ họ tên)

NGUYÉN NGỌC ĐĂNG

TRAN ANH DŨNG

BE HAI LONG

33

Trang 34

Chương 1: MỞ ĐẦU

1.1 Giới thiệu về đề tài

1.1.1 Chatbot là gì

Chatbot (hay còn gọi là Chatterbot) là một dạng phần mềm ứng dụng được dùng

dé chủ động thiết lập một cuộc trò chuyện thông qua tin nhắn văn bản hoặc tin nhănthoại (Text-to-speech) Thay cho việc phải kết nối trực tiếp tới một người khác.Chatbot thường được thiết kế để mô phỏng lại hành vi của một con người trong mộtcuộc trò chuyện thông thường Tuy nhiên đa số các chatbot hiện nay thường yêu cầu

sự tu chỉnh và kiểm tra liên tục, đa số chúng thường không thê giao tiếp một cách

thuyết phục như con người hay có thé vượt qua được bài kiểm tra Turing (sẽ được

giải thích chỉ tiết hơn trong phần sau) Tuy vậy so với các chatbot đời đầu được thiết

kế thuần túy cho mục đích nghiên cứu (ELIZA, ALICE, v.v.) Các chatbot hiện nayđược sử dụng trong hệ thống trao đôi thông tin với đa dạng các mục đích như chămsóc khách hàng, yêu cầu hướng dẫn hoặc thu thập thông tin Chatbot có thể được

dựng nên nhờ việc sử dụng các công cụ xử lý ngôn ngữ tự nhiên cực kì hiện đại, các

công cụ trí tuệ nhân tạo tối tân Chúng cũng có thê được tạo nên chỉ bằng việc quét

và chọn ra các từ khóa được đưa vào và đưa ra các câu trả lời chung dựa trên việc so

khớp từ khóa đó với một cơ sở dữ liệu có sẵn Sự linh hoạt trong cách thức cài đặt

này chính là một trong những lý do mà chatbot trở nên phô biến trong môi trườngđiện toán hiện nay Đa số các chatbot được hiện thực hóa dưới dạng một cửa số nhắntin hoặc một trợ lý ảo truy cập được thông qua mạng máy tính Chúng có thé được

phân loại dựa vào lĩnh vực sử dụng như sau:

e Thương mại (Chatbot gợi ý san phẩm, chăm sóc khách hang, v.v.)

e- Giáo dục (Chatbot cung cấp thông tin, thông báo, kiến thức, v.v.)

e Giải trí (Chatbot gợi ý hình thức, nội dung giải trí, kế chuyện vui, v.V.)

e Tài chính (Chatbot cung cấp thông tin chứng khoán, tỉ giá, thị trường)

e Tin tức (Chatbot cung cấp thông tin thời sự, thông tin nội bộ, v.v.)

34

Trang 35

e H6 trợ làm việc (Chatbot quản lý thông báo, lịch trình làm việc, thông tin liên

quan dén công việc, v.v.) 1.1.2 Góc nhìn chung về nhu câu tra cứu thông tin

Chúng ta không thê phủ nhận rằng một trong những lợi thế của mạng Internet làkhả năng tiếp cận thông tin nhanh và chính xác Trong các nguồn lực phát triển xãhội, thông tin được coi là nguồn tài nguyên quan trọng nhất Thông tin là tri thức, làsức mạnh và là bí quyết góp phần định hướng đúng, giúp lãnh đạo quản lý ra cácquyết định chính xác hơn Mọi hoạt động kinh tế - xã hội đều liên quan tới thông tin

Nhu cầu tra cứu thông tin là đòi hỏi khách quan của con người (cá nhân, nhóm, xã

hội) đối với việc tiếp nhận và sử dụng thông tin dé duy tri hoạt động sống Khi đòi

hỏi về thông tin trở lên cấp thiết thì nhu cầu tra cứu thông tin xuất hiện Thông tin trởthành nhu cầu của con người, là một dạng của nhu cầu tinh thần, nhu cầu bậc cao củacon người Nhu cầu nảy sinh trong quá trinh thực hiện các loại hoạt động khác củacon người, thông tin về đối tượng hoạt động, về môi trường và các phương tiện hoạt

động là yếu tố quan trọng tạo nên hiệu quả hoạt động của con người Bất kỳ hoạt

động nào muốn có kết quả tốt thì cũng cần phải có thông tin Mọi người càng thamgia nhiều hoạt động khác nhau thì nhu cầu tin của con người càng phong phú hơn,tham gia hoạt động phức tạp thì nhu cầu tin càng trở lên sâu sắc hơn

Ta lay vi dụ về việc tra cứu thông tin như sau: Buổi tối một ngày, A đang nghĩ về

việc chạy bộ budi sáng hôm sau A sẽ có nhu cầu tra cứu thời tiết của ngày hôm sau

và A biết được rằng thời tiết ngày mai khả năng cao sẽ mưa A đổi kế hoạch của mìnhcho sáng hôm sau sang việc uống cà phê và đọc tin tức Sáng hôm sau, A đang đọctin tức trên một trang mạng Có một thông tin quan trọng hiện lên: Theo chỉ đạo củaThủ tướng Chính phủ, người dân được khuyến khích ở nhà dé phòng chống đại dịch

C Vậy là A nghĩ về việc thay vì ra ngoài đường để chạy bộ, có thể mua một máychạy bộ không phải là một ý tưởng tồi Vì thế A lại tìm kiếm thông tin về một máychạy bộ giá vừa phải và có thé được chuyền đến trong thời gian ngắn Như ta có thé

thấy, chỉ với một công việc ban đầu đó là chạy bộ, A đã thực hiện tra cứu từ thông tin

35

Trang 36

thời tiết, đến thông tin thời sự, rồi lại đến thông tin sản phẩm máy chạy bộ Nhữngthông tin này có thể không thật sự cần thiết cho A trong việc có chạy bộ hay không.

Nhưng ở đây ta cũng có thể thấy, với việc sử dụng mạng Internet mà việc tiếp cận

thông tin cũng trở nên cực kì dễ dàng và nó giúp ích cho A trong việc lựa chọn cách

thức chạy bộ cho bản thân mà không gây ra bắt tiện cho bản thân hay những ngườixung quanh Bởi vậy nhu cầu tra cứu thông tin, đặc biệt là thông qua mạng Internet

là một nhu cầu không thê thiếu trong quá trình làm việc cũng như giải trí của con

nguoi.

1.1.3 Ly do lwa chon dé tai

Như đã được dé cập trong các phan trước, nhu cau tra cứu thông tin của con ngườiđang ngày một gia tăng Cũng như nền tảng công nghệ Chatbot đang dần được hoànthiện, với nhiều hướng tiếp cận dé xây dựng một Chatbot từ đơn giản đến cực kì hiệnđại Nhóm phát triển muốn thực hiện xây dựng một Chatbot trợ lý ảo trên nên tảngweb Lý do cụ thê bao gồm:

e Đưa người dùng ra khỏi sự phụ thuộc của các công cụ tìm kiếm trong việc tra

cứu thông tin

e Tao ra một môi trường thân thiện hơn với người dùng trong việc tra cứu thông

tin

° Áp dụng các kiến thức đã được học về thiết kế một hệ thống phần mềm với đầy

đủ các thành phần

e Tạo điều kiện dé tìm hiểu về các cách tiếp cận xây dựng hệ thống Chatbot và

lựa chọn một cách tiếp cận phù hợp đề thực hiện xây dựng Chatbot

e Tạo điều kiện tìm hiểu về các Web API và áp dụng chúng để nâng cao trải

nghiệm người dùng với Chatbot

e Đặt ra nền tảng cho hướng phát triển của hệ thống trong tương lai

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

Khóa luận này hướng đên nghiên cứu các đôi tượng sau:

36

Trang 37

o Python (PyTorch, Transformer)

e Đối tượng phạm vi dé tài hướng đến:

o Người có nhu câu tra cứu thông tin

o Người có nhu cầu trò chuyện với một phong cách giống người

1.3 Phạm vi nghiên cứu

Ứng dụng YourChatStarter được viết chủ yếu bằng ngôn ngữ lập trình Javascript(Chuân ECMAScript 6) Ngoài ra nhóm phát triển sẽ tiến hành xây dựng hệ thốngfrontend dé tạo môi trường giao tiếp với người dùng sử dung React, cùng với đó làmột giao diện cho thiết bị di động chạy hệ điều hành Android và iOS thông quaFlutter, phần chatbot cũng một số tính năng khác sẽ được phát triển chạy trên Node.js

và giao tiếp với frontend sử dụng Express.js, Dữ liệu được quản lý bằng MongoDB.Một số chức năng liên quan đến các tác vụ học sâu (Deep Learning) sử dụng Python

dé huấn luyện mô hình trên Google Colab và tạo máy chủ cục bộ dé giao tiếp với

phần còn lại của hệ thống Hệ thống được cài đặt nhiều công cụ khác nhau (sẽ được

liệt kê ở phần Công nghệ sử dụng - Phụ lục 1)

1.4 Phương pháp nghiên cứu

Nhóm đã sử dụng các phương pháp nghiên cứu:

e Đọc tài liệu thiết kế các công nghệ sử dụng

e Phân tích các ứng dụng gần giống với mục tiêu của khóa luận

e Đọc các tài liệu hướng dẫn thêm

e Phân tích mã nguồn các dự án tương tự

37

Trang 38

1.5 Nhiệm vụ của đề tài

Đề tài: “Xây dựng Chatbot trợ lý ảo đa nền tảng” sẽ bao gồm 2 nhiệm vụ chính

e Tìm hiểu về các công nghệ liên quan đến dự án

o Tìm hiểu chung về Chatbot và cách thức giải quyết các van dé trong

việc thiết kế một Chatbot

o Tìm hiểu về NLP.js Thư viện hỗ trợ xử lý ngôn ngữ tự nhiên cho

Chatbot

o Tìm hiểu thêm về các Web API bao gồm

= SpeechSynthesis API (thuộc về Web Speech API)

* SpeechRecognition API (thuộc về Web Speech API)

= Push API (thuộc vé Service Worker API)

o Trình bày kết quả tìm hiểu trong báo cáo này

e Xây dựng ứng dụng minh họa (YourChatStarter) có những chức năng sau đây.

o_ Đăng kí: Đăng kí tài khoản để sử dụng trong hệ thốngo_ Đăng nhập: Đăng nhập vào tài khoản để sử dụng hệ thống

o Xem thông tin người dùng

o Mua gói cao cấp của hệ thong (Bao gồm tính năng thanh toán online)

o Quản lý đơn hàngo_ Giao tiếp với Chatbot (mô phỏng một cửa số chat)

o Chỉnh sửa thông tin và thiết lập cá nhân của người dùng

o Chức năng quản lý hệ thống người dùng, dịch vụ, hóa đơn dịch vụ và

bài viết công khai cho quản trị viêno_ Xem các bài viết công khai từ đội ngũ phát triển

e Xây dựng Chatbot giao tiếp với người dùng thông qua YourChatStarter với

khả năng

o_ Chào hỏi, giao tiếp cơ bảno_ Cung cấp thông tin về thời tiết

38

Trang 39

o Cung cấp thông tin về tỉ giá

o_ Cung cấp tính năng đổi đơn vị

o Thực hiện phép toán

o Dịch thuật theo yêu cầuo_ Cung cấp tin tức thời gian thực qua báo điện tửo_ Đặt thông báo nhắc nhở người dùng

o Cung cấp thông tin về thực thé

o_ Thu thập thông tin để cá nhân hóa phản hồi

o Phản hồi để xây dựng một chuỗi hội thoại

o Phản hồi các trường hop đầu vào không như dự định

e Xây dung ứng dụng trên nền tảng di động với khả năng sử dung tat cả các tính

năng của Chatbot

39

Trang 40

Chương 2: TONG QUAN

2.1 Khao sat hién trang

Hiện nay, Chatbot là một ứng dụng được sử dung rộng rãi dưới đủ quy mô cũngnhư độ phức tạp Dưới đây là một số sô liệu cụ thé dé khang định điều này:

Interest over time Hor

Hình 2.1 Dữ liệu Google Trend cho cum từ "chatbot" trong vòng 5 nam tro lại đây

Dữ liệu Google Trend cho cụm từ “Chat bot” có xu hướng tăng dan theo từng năm

và hiện tại đang ở mức khá ồn định:

e 1.4 tỷ người dang sử dụng Chatbot (theo như Chatbot.Net)

e_ 56% doanh nghiệp tin rằng chatbot là một trong những nhân tố đột phá trong

việc kinh doanh của họ (theo như Accenture)

e Gần 6 trên 10 điều hành doanh nghiệp nói rang Chatbot có thé cải thiện khả

năng của tô chức trong việc xử lý yêu cầu của khách hàng bằng mạng lưới liênkết với những con bot khác Chúng có thé đem lại sự chăm chút đến từng cánhân đối với từng đối tượng tiếp xúc với trang web (theo như Accenture)

Về mặt trải nghiệm, ta có những số liệu sau:

e 265 tỷ yêu cầu từ khách hang được đưa ra, tiêu tốn 1,3 nghìn tỷ USD mỗi năm

(theo như Chatbots Journal)

e 30% khách hàng sẽ rời bỏ một nhãn hàng và không bao giờ trở lại vì trải

nghiệm không tốt (theo như OpenText)

40

Ngày đăng: 03/11/2024, 18:34

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

TÀI LIỆU LIÊN QUAN