Các thuật toán máy học và xử lý ngôn ngữ tự nhiên đóng vai trò quan trọng trong việc cải thiện khả năng hiểu và phản hồi của ChatBot.. - Phan Hồi Từ Người Dùng: Tích Hợp Phản Hồi Người D
Trang 1DO ÁNTÓT NGHIỆP ĐẠI HỌC
Đề tài: “ NGHIÊN CỨU CHATBOT VÀ TÍCH HỢP XÂY DỰNG
WEBSITE HO TRỢ NGƯỜI TRAM CẢM”
Người hướng dẫn : PGS.TSKH HOÀNG ĐĂNG HAI
Sinh viên thực hiện : PHAM THỊ HUONG
Lớp : DI9PTDPT
Hệ : ĐẠI HỌC CHÍNH QUY
HÀ NỘI - 2023
Trang 2TÓT NGHIỆP ĐẠI HỌC
Đề tài: “ NGHIÊN CỨU CHATBOT VÀ TÍCH HỢP XÂY DỰNG
WEBSITE HỖ TRỢ NGƯỜI TRAM CẢM”
Người hướng dẫn : PGS.TSKH HOANG ĐĂNG HAI
Sinh viên thực hiện : PHẠM THỊ HƯƠNG
Lớp : DI9PTDPT
Hệ : ĐẠI HỌC CHÍNH QUY
HÀ NỘI - 2023
Trang 3HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA ĐA PHƯƠNG TIEN Độc lập — Tự do — Hanh phúc
ĐÈ TÀI ĐÒ ÁN TÓT NGHIỆP ĐẠI HỌC
Họ và tên sinh viên: Phạm Thị Hương
Lớp: D19PTDPT Khoá: 2019-2024
Ngành đào tạo: Công Nghệ Đa Phương Tiện Hệ đào tạo: Đại học chính quy
1 Tên đồ án/khoá luận tốt nghiệp:
“Nghiên cứu ChatBot và tích hợp xây dựng website hỗ trợ người trầm cảm”
2 Lý do chọn đề tài:
- Ngày nay với rất nhiều yếu tố nguy cơ như áp lực cuộc sống tăng lên, sự phổ biến
của các trò chơi trên mạng internet, của các chất ma túy, nhất là các chất ma túy tổng hop
thì mọi lứa tuổi đều có nguy cơ mắc réi loan tram cảm cũng như các rối loạn tâm thần khác Ở
lửa tuôi trẻ em thanh thiếu niên khi nhân cách chưa phát triển toàn diện dé bị ảnh hưởng bởi
các yếu tố tác động bên ngoài Vì vậy, khi học tập đạt kết quả không như mong muốn hoặc bị
bạn bè tây chay cũng dé xuất hiện các rối loạn tâm thần Nhóm tuổi già với sự lão hóa dotuổi tac, sự cô đơn, nhiều bệnh cơ thé là những yếu tố nguy cơ mắc rối loan tram cảm ở
người gia, sa sút trí tuệ.
- Théng kê của Viện Sức khỏe tâm than - Bệnh viện Bach Mai cho thấy tại ViétNam, hiện có khoảng 30% dân số có rối loạn tâm than, trong đó tỉ lệ trầm cảm chiếm 25%
Mỗi năm, số người tự sát do tram cảm ở nước ta từ 36.000 - 40.000 người Anh hưởng củadịch COVID-19 vừa qua có tác động không nhỏ đến tâm sinh lý mọi người, đặc biệt là giớitrẻ như sinh viên, dẫn đến biểu hiện trầm cảm
- Chatbot có thé được sử dụng dé tạo tương tác người — máy, giúp xác định tâm trạngngười đối thoại và đưa ra những phản hồi tích cực động viên, khích lệ trạng thái tâm lý
- Từ những lý do trên, em đã chọn đề tài “Nghiên cứu ChatBot và tích hợp xây dựngwebsite hỗ trợ người trầm cảm” để góp phần tạo ra một công cụ hỗ trợ tích cực
3 Nội dung chính của đồ án:
Đồ án “Nghiên cứu tích hợp ChatBot và tích hợp xây dựng website hỗ trợ người trầmcảm” bao gồm các chương chính như sau:
Mở đầu0.1 Đặt vấn đềNhu cầu hỗ trợ tâm lý cho người trầm cảm; Khái niệm ChatBot và ứng dụng trong hỗ trợ.
1.1 Mục tiêu, phạm vi bài toán, hướng giải quyết1.2 Một số kết quả khảo sát liên quan
1.3 Kết quả dự kiến, bố cục đồ án1.4 Kếtchương
Chương 1: Nghiên cứu ChatBot va khả năng tích hợp web
2.1 Cơ sở lý thuyết về ChatBot2.2 Cơ sở lý thuyết về thiết kế Website
2.3 Khả năng tích hợp ChatBot vào Website qua plugins 2.4 Tóm tắt về công nghệ, công cụ phần mềm sử dung trong bai
Trang 42.5 Kết chươngChương 2: Xây dựng website tích hợp ChatBot hỗ trợ người trầm cảm3.1 Tóm tắt bài toán và mục tiêu
3.2 Phân tích và lập kế hoạch3.3 Thiết kế UI/UX
3.4 Kết nối ChatBot plugins3.5 Phat trién hé thong
3.6 Két chuongChương 3: Triển khai thử nghiệm
4.1 Phạm vi thử nghiệm
4.2 Kết quả thử nghiệm
4.3 Nhận xét, đánh gia
4.4 Kết chươngKết luận và hướng phát triểnKết luận, các kết quả đạt đượcHướng phát triển tiếp
4 Ngày giao đề tài: /2023
5 Ngày nộp quyễn: / /2023
GIẢNG VIÊN HƯỚNG DAN SINH VIÊN THỰC HIỆN
(Ky, ghi rõ họ tên) (Ky, ghi rõ họ tên)
TRƯỞNG KHOA
(Ký, ghi rõ họ tên)
Trang 5HỌC VIỆN CÔNG NGHỆ CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
B ; =
UU CHINH VIEN THONG Độc lập - Tự do — Hanh phúc
KHOA ĐA PHƯƠNG TIEN
NHẬN XÉT DO AN TOT NGHIỆP ĐẠI HỌC
I Thông tin chung:
Họ và tên sinh viên: Phạm Thị Hương
Lớp: DI9PTDPT
Tên đề tài: "Nghiên cứu ChatBot và tích hợp xây dựng Website hỗ trợ người trầm cảm"
Người hướng dẫn: PGS TSKH Hoàng Đăng Hải
II Nhận xét đồ án tốt nghiệp:
Hỗ trợ người trầm cảm cũng như người có bệnh tâm lý đang là một vấn đề nhức nhốitrong xã hội do nhiều nguyên nhân như: áp lực công việc và cuộc sống, sự phô biến của môi
trường mạng độc hại, v.v Tuy đã có nhiều trang Web được xây dựng hướng tới lĩnh vực này,
song vẫn chủ yếu là các trang tư vấn hỗ trợ sức khỏe tâm lý theo cách truyền thống như giải
đáp, trao đồi.
Công nghệ dựa trên trí tuệ nhân tạo như OpenAI mới nồi lên từ vài năm trở lại đây đã mở
ra một khả năng mới dé tận dụng cơ sở dit liệu tri thức vào ứng dụng tư vấn Do đó, ChatBot
từ nền tảng OpenAl là một hướng tiếp cận công nghệ mới đề tích hợp vào một ứng dụng Web
hỗ trợ tâm lý truyền thống Chủ đề của đồ án có tính mới, khác biệt so với các đồ án về xây
dựng ứng dụng Web đơn thuần.
Yêu cầu đặt ra đối với đỗ án là sinh viên cần nghiên cứu tìm hiểu công nghệ ChatBot mới
từ nền tảng OpenAl, biết cách sử dụng ChatBot từ các OpenAI plugins dé tích hợp vào xây
dựng một trang Web cụ thể nhằm hỗ trợ tâm lý cho người trầm cảm Đây là một chủ đề khó
liên quan đến van dé tâm lý người dùng Tuy nhiên, trang Web hỗ trợ có thé tận dụng tiềm
năng phong phú sẵn có của ChatBot từ OpenAI dé tạo ra một công cụ hỗ trợ thông qua trao
đổi tương tác với người dùng
Từ yêu câu nêu trên, sinh viên đã có nghiên cứu và thực hiện được các nội dung sau trong
đô án tôt nghiệp:
- _ Nghiên cứu phân tích bài toán hỗ trợ tâm lý, cách thức tương tác ChatBot với người
dùng.
- _ Nghiên cứu cơ chế hoạt động của ChatBot, cơ sở lý thuyết về thiết kế trang Web, cách
thiết kế phát triển các giao diện người dùng và trải nghiệm người dùng, phương pháptích hợp ChatBot của OpenAI thông qua các plugins Nghiên cứu công nghệ và một sốcông cụ hỗ trợ phát triển ứng dụng Web
- Phan tích thiết kế và phát triển một ứng dụng Web hỗ trợ tâm lý, tính năng theo dõi
tâm trạng dé cung cấp hỗ trợ cá nhân hóa Xây dựng một hệ thống có khả năng hiểu vàphản ứng phù hợp với các tình huống tâm lý khác nhau, từ cảm giác buồn chán đếncăng thắng và lo lắng
- Phat triển và triển khai ChatBot dé tích hợp vào trang web, tạo nên một công cụ trực
tuyến sẵn sàng hỗ trợ người trầm cảm mọi lúc với khả năng phản ứng linh hoạt và
Trang 6nhận diện tâm lý Phát triển giao điện UI/UX thân thiện, dé sử dụng dé tăng cường trải
nghiệm người dùng và tạo ra môi trường trò chuyện thoải mái và không gian an toản.
- _ Thực hiện triển khai xây dựng một ứng dụng cụ thé với các phần cài đặt tại Frontend
và Backend cho ứng dụng Web Thực hiện thử nghiệm, đưa ra các kết quả chạy thửphần mềm phù hợp với yêu cầu bài toán đặt ra
Qua thực hiện đồ án, sinh viên đã nắm được kiến thức cơ bản đề phát triển ứng dụng Web
sử dụng công cụ ChatBot mới, sử dụng các plugins dé kết nối ChatBot, thiết kế phát triển các giao diện tương tác hỗ trợ tâm lý Sinh viên thể hiện nắm được cách thức phân tích một bài toán từ nhu cầu thực tiễn, kết hợp các kiến thức đã học vào thiết kế phát triển ứngdụng và xây dựng phần mềm
Kết quả thực hiện đồ án của sinh viên có ý nghĩa thực tiễn, có thé phát triển tiếp để đápứng tốt hơn nhu cầu thực tiễn Sinh viên thực hiện nghiên cứu có phương pháp Đồ án cóhình thức, cấu trúc, bố cục hợp lý với phần mở đầu, ba chương chính và phần kết luận.Nội dung các chương phù hợp với yêu cầu bài toán đặt ra
III Nhận xét về tinh thần và thái độ làm việc của sinh viên:
- Sinh viên cần cù chịu khó, chủ động tìm hiểu các công nghệ mới về phát triển ứng
dụng Web, ChatBot, xây dựng phần mềm ứng dụng và thử nghiệm Sinh viên có thái
độ làm việc nghiêm túc, khoa học, tích cực và có khả năng tự nghiên cứu tốt
IV Đánh giá:
- pé nghị: Được bảo vệ đồ án
- _ Điểm đánh giá: 9.5 (Chín điểm rưỡi)
Hà Nội, ngày 13 tháng 12 năm 2023
Giảng viên hướng dan
PGS TSKH Hoàng Đăng Hải
Trang 7ĐỎ AN TOT NGHIỆP ĐẠI HỌC LỜI CÁM ƠN
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành tới tất cả những người đã hỗ trợ, giúp
đỡ em về mặt kiến thức và tỉnh thần trong suốt quá trình học tập tại Học viện Công nghệ Bưu
chính Viễn thông (PTIT) cũng như trong suốt quá trình thực hiện Đồ án tốt nghiệp
Em xin gửi lời cảm ơn đến thầy PGS TSKH Hoàng Đăng Hải, giảng viên hướng dẫntrực tiếp đã luôn tận tình nhận xét và giúp đỡ em trong suốt quá trình thực hiện Đồ án Xin
chân thành cảm ơn Ban giám đốc Học viện cùng toàn thể các thầy cô trong khoa Đa phương
tiện cũng như các phòng ban khác trong Học viện đã tạo điều kiện tốt nhất cho em cũng như
toàn thé sinh viên nói chung trong quá trình học tập và thực hiện Đồ án
Mặc dù em đã cố gắng hoàn thành bai báo cáo trong phạm vi và khả năng của mình,nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Vì thế, em rất mong nhận được sự chỉ
bảo và đóng góp ý kiến của các thầy cô và các bạn để em có thêm kinh nghiệm và kiến thức
để tiếp tục hoàn thiện sản phẩm của mình được tốt hơn nữa
Sau cùng, em xin kính chúc các thầy cô đồi dào sức khỏe Xin chân thành cảm ơn vàluôn mong nhận được sự góp ý của quý thầy cô
Em xin chân thành cảm ơn!
Phạm Thi Hương - DI9PTDPT i
Trang 8ĐỎ AN TOT NGHIỆP ĐẠI HỌC MỤC LỤC
DANH MỤC TỪNGỮ VIẾT TẮT
STT Ký hiệu chữ viết tắt Chữ viết đầy đủ
1 UI User Interface: Giao diện người dùng
2 UX User Experlence: Trải nghiệm người dùng
3 UNICEF United Nations International Children's
Emergency Fund: Quỹ Nhi Đồng Liên Hop
9 HTML Hypertext Markup Language
10 CSS Cascading Style Sheets
11 IP Internet Protocol: giao thức Internet
12 DNS Domain Name System: Hé théng phan giai
tén mién
13 JS JavaScript
14 I/O Input / Output
15 HTTP HyperText Transfer Protocol: giao thức
truyén tai siéu van ban
16 RAM Random Access Memory
17 CPU Central Processing Unit
18 MVC Model-View-Controller
19 SPA Single Page Application
20 DOM Document Object Mode: Mô hình Đối
tượng Tài liệu
21 DBMS Database Management System: Hé quan tri
cơ sở dữ liệu
Pham Thị Hương — D19PTDPT i
Trang 9ĐỎ AN TOT NGHIỆP ĐẠI HỌC MỤC LỤC
22 RDBMS Relational Database Management System
23 JSON JavaScript Object Notation
24 CSDL Co sở đữ liệu
25 BSON đại diện cho định dạng mã hoá nhị phân của
các tài liệu JSON (chữ B trong BSON là
viết tắt của Binary)
26 TCP Transmission Control Protocol: Giao thức
diéu khién truyén van
27 REST REpresentational State Transfer
28 ChatGPT Chat Generative Pre-training Transformer
Pham Thi Hương — D19PTDPT iil
Trang 10ĐỎ AN TOT NGHIỆP ĐẠI HỌC MỤC LỤC
CHƯƠNG 1: NGHIÊN CỨU CHATBOT VÀ KHẢ NĂNG TÍCH HỢP WEBSITE 1
L.1 Cơ sở lý thuyết về ChatBOI 52s 2E E2E12E1E211211711211211 1111111111 xe |
1.1.1 Khái niệm về Chatbot - 5 SE ềEEEEEEE1E1121121121121111111111.1111 1111 1e 1
1.2 Cơ sở lý thuyết về thiết kế Website -¿- 2:22: 2t 221 2212221221221122112211 2111211 1 ee 13
1.2.1 4.0010 00)/203\1/-äaađadiiaaiiiiiiẢ-ŸÝŸẲŸẲ 13
1.2.2 Các thành phần của Website -¿- 2-5251 SE EE2EE2E12E121121171171 71111111111 ExC 13
1.2.5 Tổng quan về mạng xã hội 2-2 2 E+EE£+EE+EEtEEE2EEEEEEEEEEEEE2E121121 1122 xe2 151.3 Khái quát một số bộ khung phần mềm phục vụ phát triển Web - 5-5 5¿ 15
1.3.1 JavaScript 15
0177 -:Œ:Ơ l6 IS" 17
1.3.4 ReactJS -cc c2 222112212121 111101121212 erre 18 1.3.6 MongolD - - ch 20
1.4 Một số bộ công cụ hỗ trợ phát triển Web và tích hợp ChatBot 2- +: 21
5m 8 alB ẼŠ ăẼšẼš 21
1.4.2 Mô hình triển khai MERN Stack ccccccsscsssesssesssessesssessessecsseessecsseessecsseessesseesess 21
1.4.3 Full s8 22
1.4.4 Model tree trong thiết kế schema Mongodb - 2 s se+ ++£xzx++£xerxerxerxzz 22
1.4.3 Phân tách mã (Code spÏIfITìỹ) - + 321132111511 3911 1 11191111 81111 81kg vn, 23
1.6 Kết chương - 2: 2: ©2+22x2Ex22211221221122112211221122112711271111121112111211121112112121 21 xe 24
CHƯƠNG 2: XÂY DỰNG WEBSITE TÍCH HỢP CHATBOT HO TRỢ NGƯỜI
TRAM no) 7 26
2.1 Tóm tắt bai toán và mục tiêu ¿- 22 2¿22++2EE+2EE2EE2E1221221221221221 221212 cxe 26
2.2 Tóm tắt các bước phân tích lập kế hoạch cho hệ thống 2- 2 ¿5 s+£z+£z252 26
2.2.1 Phan Tich 0400 ÐĐ 262.2.2 Lập Kế Hoạch Thiết Kế Giao DiSn ccsccecccsseessessesssessesssessessvessessesssessessscssessesseseveseese 26
2.2.3 Sử Dụng API Của OpenAI dé phát triển ChatBot - 2 s25z+cs+Sz+5+2 26
Pham Thị Hương — D19PTDPT IV
Trang 11ĐỎ AN TOT NGHIỆP ĐẠI HỌC MỤC LỤC
2.2.4 Tích Hợp ChatBot vào WebsIfe - ác cv vn HH 1 101111111111 111111111 re 27
2.2.5 Kế Hoạch Kiểm Thử và Tối Ưu Hóa - -5c5:c222ctccvtrtrxtrrrrrrrrrrrrrrrrer 272.3 Kết nối ChatBot pÏugiins 22 + ©sc+E1SEEt2E22E1E21122171211211711211211711211 11111 xe 28
2.3.1 Sử dụng OpenAI API dé tích hợp 2 + 2+ +EE+E++EE£EEt2EEeEErEkerxerkrrrxee 28 2.3.2 Xử Lý Dữ Liệu Trả Về từ AFPI - + E2 E1 EE211211111211211 1111211211111 xe 292.4 Phát triển hệ thống 2 2 S2E22EE9EE92E122127112112717112117112112112112111121 111 xe 30
2.4.1 Phân tích hệ thống, - 2 %2 £+EE+EEt2EE£EEEEEE2E12712112717112112711111212111 1 xe 302.5.2 Phân tích thiết kế các trường hợp sử dụng 2 + se+xetxeE2E2ErEerkerkrree 32
2.5.3 Phân tích trạng thái va quá trình sử dụng của người dùng -‹ ««++++ 37
2.5.4 Phân tích thiết kế các biéu đồ tuần tự (Sequence điagram) 5-22 ++ 452.5.5 Phân tích thiết kế cơ sở đữ liệu 2- + s£SÉEÉEEEEEEEEEEEE1211211211211 211211111 56
3.2 Kết quả triển khai thử nghiệm 2-2 2 ©S2EE£EE£EE2EEEEE2E12712112112711211271 212 ce 70
3.2.1 Giao dién Gang nap 70
3.2.2 Giao dién Dang s2 Ả 71 3.2.3 Giao diện Forgot PaSSWOTC - 22 211 112112111 1111111111 1101111111101 181111 ngư 72
3.2.4 Giao dién 0Á 45 72 3.2.5 Giao dién Tramg án 73
3.2.6 Giao diện chỉ tiết bài viẾ -::- 222cc 22 t1 21 74
3.2.7 Giao diện bình luận - - ¿L2 E22 6122111123111 253 1115111193111 191311111 9951 1kg vu 75
3.2.8 Giao diện tạo bai Viết mới -cc::22vvttttttrtrttrtrrrrtttrrrrtrtrrrrrrrrrrrirrrrrrre 763.2.9 Giao điện chi tiết Trang cá nhân - 2-22 2¿+2+++2E+2EE+2EE+2EE+2EEEEErSrkrrrkrrrkres 77
3.2.11 Giao diện Thông Đáo - c2 11239111111 111 91 TT TH TH re 78 3.2.12 Cố on 1ẲỶ°7° 79 3.2.13 Giá 0000000020 1 d4 79 3.2.14 Giao diện Cat c1 20 1121132111211 1111111111111 1 1 111 11 01 91111 TH EHkvng rr 80 3.3 Nhan xét, Gamh Sia 80
3.4 KẾt chương, - se EE19E15112112112112112112112111111211 1111111111111 1111111 11etrreg 80
KET LUẬN VÀ HƯỚNG PHAT TRIÊN - se se+vse+vseevseexserrserrserserseree 81
TÀI LIEU THAM KHAO ccccsssssssssssssessesssssocsssssessessnssscsssssscsscsussnesecsanceacsancsscencsecaecseesees 83
Phạm Thi Hương - D19PTDPT v
Trang 12ĐỎ AN TOT NGHIỆP ĐẠI HỌC MỤC LỤC
Pham Thị Hương — D19PTDPT vi
Trang 13ĐỎ AN TOT NGHIỆP ĐẠI HỌC DANH MỤC HÌNH VẼ
DANH MỤC HÌNH VE
Hình 1: So sánh các mức độ của tram cảm với các căn bệnh khác - ¿2 5z +s+z+Ezszxvzers 3
Hình 2: Các thành phần của websife - 2-22 22 2S19EE19EE192112211271127112711271121112112211 21.21 2
Hình 3: Cách thức hoạt động của w€bsIf€ - c c1 t1 1 1111111111111 1121111111111 111111 rệt 3
Igiuli6 i60 13000ì 22 a2 14
Hình 5: Wireframe giao diện đăng nhập - 0 22 3122112112121 251 211211111111 kEekkrrkg 17
Hình 6: Wireframe Giao diện Đăng ký - (c0 221211111121 121111121 1211111111112 111111 1x rrg 18
Hình 7: Wireframe Giao diện Trang ChU ccccccesccscceseeseeseeseesseeseeseeseesseesecseeaeeeseesseeenseenss 19
Hình 9: Wireframe Giao diện Tạo bai vViẾT - St t3 xEEEEEEEEEEEEEEEEEEEEEEETEEEEErkrkrkrrrex 21
Hinh 10: Wireframe Giao dién Quén mat DAU ec eccceccsescssesesecsucsesecsuesesucsessesuestsrescevanenceeeees 22
Hình 11: Wireframe Giao diện Chi tiết bài Viét i eeccessseeeeseecsssssseeeeeeesesssssnneeeeeesessnneeess 23
Hình 12: Wireframe Giao diện Nhắn tin - -¿- c St St kEExSEEEEEEEEEEE2EEEEEEEEEEEEEEEEEEEkrkrrkerrree 24
Hình 14: Hình anh code gửi tin nhắn đến ChatGPT 2-52 2£SE££EE2EE£EE££E2EE2ErErrxeree 26
Hình 15: Mô hình phát triển hệ thống - 2-2 2 £+E2E9SE£EE£EEEEEEEEEEEEEEEEEEEEEE12211111 11x, 27
Hình 16: UseCase Luồng Authenticafe 2 2: ©2+¿22x2EEt2EE22E12221222122112112212211 21.22 crk 29
?¡10W/89-9 .90/01-360- 8N Ả ố 30
Hình 18: UseCase luồng POSïL - 2-5-1219 1EE1EE1571211211211211211211211 1121111111121 11 re 31
Hình 19: UseCase luồng Tag c.ccccccsssessesssessessesssessessssssessusssessessusssecssssessessusssessssessessesssseeseees 32
Hình 20: UseCase luồng Search ccccssccsssesssesssesssesssesssesssssssessssssssssssssesssessessesssstessessesseeseees 33
Hình 21: UseCase luồng Notification cccccccssssssesssesssesssessseessessesssusssesssecssecssecssecsessesseeeseees 34
Hình 23: Sequence diagram Ï€BIS{€T - (c2 3211821133 1331 13111 1111111 118 11 g1 1H ng ngư 43
Hình 24: Sequence diagram Forgot PaSSWOTC - G12 S2 E2 E1 2 12 11 1 vn ng Hiệp 43
Hình 25: Sequence diagram LLOEðOUI - - +11 91121 91 912 191 1v nh ng ng ng 44
Hình 26: Sequence diagram FOl[OW c2 2c 21121321121 111 1511511111112 11 11 11 11 11 1 11x Hư 44
Hình 29: Sequence diagram Like DOSE - - 23223 221321311 351131151151 521121 11111111111 1x kg 46
Hình 31: Sequence diagram Create pOSI 0 2 22 2S 12 231111111111 11 11 11 HH ng Hiệp 47
Hình 33: Sequence diagram View top f4ØS LH HH TH TH TH TH TH ng kg, 49
Hình 34: Sequence diagram View all posts With †8Ø - - S11 v3 vn vn vết 50
Hình 35: Sequence diagram Search DOS - - 2 22 2213132112121 1111111111111 E111 ke rrkre 50
Hình 36: Sequence diagram Search US€T - - G121 E1 91 1 1 1v nh nh nh nh nh nh 51
Pham Thi Hương — D19PTDPT vil
Trang 14ĐỎ AN TOT NGHIỆP ĐẠI HỌC DANH MỤC HÌNH VẼ
Hình 37: Sequence diagram Search †ag - +: 1112112111112 1111111111111 111111 1111111 rryệp 51
Hình 38: Sequence diagram Notification like bài Viét c cccccccsesseessessesstessesseessessesstessersessenee 52
Hình 39: : Sequence diagram Chat ccccceccsscescesseesceseeseeseeeececeeaecaececeeaeeaeeeaeeseeeseeeeaeenneeraes 52
Hình 41: Giao diện đăng nhập - - 22 212211211211 151 11111112111 11 2111 11 111011 H1 rệt 60
Hình 43: Giao diện Quên mật khẩu - 5 St St 1 E12155121121112111111121112111111111111111111111 E11 61
Hình 44:Giao điện Reset mật khầu + x+St+xEEESEEEEEEEEEEEEEEEEEEEETEEEEEEEEEEEETESEEEErktkrkrrree 61
Hinh 45: Giao dién đ0vi 0u nh 3 62
Hình 46: Giao diện Chỉ tiết bai viết -c22ccct 2tr 63
Hình 47: Giao điện Bình luận bai viẾt - 2-22 ©522EE22EE9EE1221127112711271711211211 211 1T re 64
Hình 48: Giao diện Tạo bài viẾt mới - St SE EEEESEEEEEEEEEEEEEEEEEEEESEEEEEEEESEEEEEEkrkrkrrrrx 65
Hình 49: Giao diện Trang cá nhân - - c1 21191191991 11 1 1T 2t Hà HT nh Hàng Hệ 66
Hình 50: Giao diện Chỉnh sửa trang cá nhân - - - 2c 3c 3213311135113 1111111111111 E111 kg 67
Hình 51: Giao diện Thông báO - - G3 3 2033111311111111911 1911 11191119111 11 11g ng ng 67
Hình 54: Giao diện Chat - (G0 122112111211 1211 1111111111 1118111011 011 0111111 011 1H nnHv kg 69
Pham Thị Hương — D19PTDPT viii
Trang 15ĐỎ AN TOT NGHIỆP ĐẠI HỌC DANH MỤC BANG BIEU
DANH MỤC BANG BIEU
Bang 1: voi 0005 1n 35
Bang 2: Scenario 4131) 1 e - 35
Bảng 3: Scenario Forgot DaSSWOFC G11 11211211 111119119111 1 1111111 11 11 11 1111 H1 kg rệt 36
Bang 4: voi 0000 TT 36
Bang 5: voi 01000 57 37
Bang 6: Scenario Update DFOẨIÏ€ -.- 222321131321 133 1351111151523 11 1121121111 11111 1 T11 11 Hư 37
Bảng 7: Scenario Display all pOSf -.- - 2 2c 22 1213211211351 151 1111211111 11 11 11 11 11 T11 kg rưưn 37
Bang 10: Scenario Create DOSÍ - L1 1H19 TH TH TH HH và 39
Bảng 11: Scenario Update DOSÍ c1 211v St 9t TT T1 T1 TH HH kg và 39
Bảng 12: Scenario View top {ÀS ĩc n n1 TH TT TH TH T HH TT TT TT TH ng 39
Bảng 13: Scenario View all posts With tag ccc HH TH Hàng nh HH 39
Bảng 14: Scenario Search DOSE - c2 3112119 11111119111 111 111111 tre 40
Bang 15: vvïiy 001/012 1Ẻ1n ằ.ố 40
Bang 16: Scenario Search {aE c1 n HT TH TT TH HT TH HT HH tk 40
Bang 17: Scenario ÌNOtIÍICafIOT c1 91 1E TT ng TT TH HT Tàn Hà HT ng rưệp 4I
Bang 18: 1vsiìy 00), 108 41
Hình 22: Sequence diagram LOỹIT - - - c6 c3 33183518391 1391 1191189118 1111881111 11118 g1 vn re 42
Bang 19: Bang “User? 1 ồồ.-£3®-.-Ầ 54
Bang 20: Bang ““POSÍS”” LH HH HT TH HH TT TH HT TH TT TH HT TH Hà Hà 55
Bang 21: Bang ““ÏlaB” TH TH TH HH nh Họ HH và 5S
Trang 16ĐỎ AN TOT NGHIỆP ĐẠI HỌC MO DAU
MO ĐẦU
1 Đặt van đề:
Trong thời đại ngày nay, nhu cầu về sự chăm sóc tâm lý trở nên ngày càng quan trọng,đặc biệt là đối với nhóm người trầm cảm Những thách thức tâm lý mà họ phải đối mặt
thường đi kèm với sự cô đơn và khó khăn trong việc tìm kiếm sự hỗ trợ Cùng với rất nhiều
yếu tô nguy cơ như áp lực cuộc sống tăng lên, sự phổ biến của các trò chơi trên mạng internet,
của các chất ma túy, nhất là các chất ma túy tông hợp thì mọi lứa tuổi đều có nguy cơ mắc
rồi loạn tram cảm cũng như các rối loạn tâm thần khác Ở lứa tuôi trẻ em thanh thiếu niên khi
nhân cách chưa phát triển toàn diện dé bị ảnh hưởng bởi các yếu té tác động bên ngoài Vì
vậy, khi học tập đạt kết quả không như mong muốn hoặc bi bạn bè tây chay cũng dé xuất
hiện các rối loạn tâm thần Nhóm tuổi già với sự lão hóa do tuổi tác, sự cô đơn, nhiều bệnh cơ
thể là những yếu tố nguy cơ mắc rối loạn trầm cảm ở người già, sa sút trí tuệ Thống kê của
Viện Sức khỏe tâm thần - Bệnh viện Bạch Mai cho thấy tại Việt Nam, hiện có khoảng 30%
dân số có rối loạn tâm than, trong đó tỉ lệ trầm cảm chiếm 25% Mỗi năm, số người tự sát do
tram cảm ở nước ta từ 36.000 - 40.000 người Ảnh hưởng của dịch COVID-19 vừa qua có tác
động không nhỏ đến tâm sinh ly mọi người, đặc biệt là giới trẻ như sinh viên, dẫn đến biểu
hiện trầm cảm Nhu cầu hỗ trợ tâm lý cho người trầm cảm ngày càng là vấn đề được xã hội
đặc biệt quan tâm.
Đã xuất hiện nhiều trang Web tư vấn sức khỏe và hỗ trợ tâm lý Công nghệ ChatBotcũng đã được sử dụng vào hỗ trợ tương tác ChatBot là một ứng dụng máy tính được thiết kế
dé tương tác với người dùng thông qua trò chuyện hoặc giao tiếp văn bản Tuy nhiên, các
ChatBot thông minh dựa trên công nghệ mới như của OpenAI vẫn còn chưa được áp dụng
nhiều do công nghệ OpenAI mởi được phát triển bùng nô từ vài năm trở lại đây
ChatBot là một ứng dụng máy tính được thiết kế dé tương tác với người dùng thôngqua trò chuyện hoặc giao tiếp văn bản Nó sử dụng trí tuệ nhân tạo và các thuật toán xử lý
ngôn ngữ tự nhiên dé hiểu và đáp ứng một cách tự động ChatBot có khả năng mô phỏng cuộc
trò chuyện với con người, cung cấp thông tin, giải đáp câu hỏi, hoặc thậm chí thực hiện các
nhiệm vu cụ thé Trong ngữ cảnh của đồ án, ChatBot được xem xét như một công cụ giao tiếp
thân thiện, có khả năng phản hồi nhanh chóng và không giới hạn bởi các ràng buộc thời gian
Khả năng tự động hóa của ChatBot giúp nó trở thành một trợ lý ảo có thể hoạt động liên tục
dé hỗ trợ người sử dụng
ChatBot trong lĩnh vực hỗ trợ tâm lý mang lại nhiều ưu điểm đặc biệt Đầu tiên, sự tựđộng hóa của ChatBot cho phép nó phản hồi ngay lập tức, giúp giảm thời gian chờ đợi và
cung cấp hỗ trợ nhanh chóng, đặc biệt là trong tình huống khẩn cấp Thứ hai, tính riêng tư của
cuộc trò chuyện giữa người dùng và ChatBot giúp người sử dụng cảm thấy thoải mái hơn khi
chia sẻ vấn đề tâm lý
ChatBot cũng có khả năng theo dõi sự thay đổi trong tâm trạng của người sử dụngthông qua cuộc trò chuyện, cung cấp thông tin cho họ về cách quản lý cảm xúc và tìm kiếm
giải pháp Bằng cách này, nó không chỉ là một công cụ hỗ trợ ngắn hạn mà còn là một nguồn
thông tin và giáo dục liên tục.
Pham Thị Hương - D19PTDPT 1
Trang 17ĐỎ AN TOT NGHIỆP ĐẠI HỌC MO DAU
Ung dung ChatBot trong lĩnh vực hỗ trợ tâm lý mở ra cơ hội mới dé tiếp cận sự chămsóc tâm lý, đặc biệt là đối với những người không thé tiếp cận dịch vụ truyền thống Đồng
thời, nó cũng giúp giảm áp lực lên nguồn lực của các chuyên gia tâm lý, tập trung hơn vào
những trường hợp cần sự can thiệp chỉ tiết và chuyên sâu
Vì những lý do nêu trên, đề tài của đồ án này là nghiên cứu ChatBot dựa trên nền tảngthông minh dé tích hợp vào xây dựng website hỗ trợ người tram cảm” dé góp phan tạo ra một
công cụ hỗ trợ tích cực Khác với những đề tài đồ án đã biết về xây dựng trang Web có kết
hợp ChatBot công nghệ cũ, đồ án này đặt van đề nghiên cứu tích hợp ChatBot của OpenAI
vào trang Web hỗ trợ người trầm cảm
2 Mục tiêu, phạm vi bài toán, hướng giải quyết
- Mục tiêu của đồ án là xây dựng một hệ thống ChatBot tích hợp vào trang web,nhằm cung cấp hỗ trợ tâm lý đối với người trầm cảm Qua đó tạo một môi trường trực tuyến
an toàn và 6n định, nơi mà người tram cảm có thé chia sẻ cảm xúc va nhận được sự hỗ trợ
ngay lập tức Mục tiêu cụ thể là tạo ra một công cụ hữu ích, không chỉ giúp giảm cảm giác cô
đơn mà còn hỗ trợ quá trình quản lý tâm lý của người sử dụng.
- Pham vi của đồ án sẽ tập trung vao việc nghiên cứu, phat triển và triển khai một
ChatBot có khả năng hiệu quả trong việc hỗ trợ tâm lý Phương tiện chính là tích hợp ChatBot
vào một trang web với giao diện thân thiện và dễ sử dụng
- Để đạt được mục tiêu, hướng giải quyết là kết hợp kiến thức lý thuyết về tâm lý vớicông nghệ trí tuệ nhân tạo Cụ thể, sẽ thực hiện các bước như sau:
+ Nghiên cứu ChatBot: Tìm hiểu về nguyên tắc hoạt động của ChatBot, các thuậttoán xử lý ngôn ngữ tự nhiên và cách nó có thé được tối ưu hóa để tương tác hiệu quả với
trò chuyện thoải mái.
+ Kết hợp tri thức tâm lý và công nghệ ChatBot: Xây dựng một hệ thống có khả nănghiểu và phản ứng phù hợp với các tình huống tâm lý khác nhau, từ cảm giác buồn chán đến
căng thắng và lo lắng.
+ Tích hợp vào trang web: Phát triển và triển khai ChatBot dé tích hợp vào trang web,
tạo nên một công cụ trực tuyến sẵn sang hé tro người tram cảm mọi lúc.
3 Một số nghiên cứu liên quan
Theo nghiên cứu của Quỹ Nhi đồng Liên Hợp Quốc (UNICEF), khoảng 8% - 29% trẻ
em đang trong độ tudi vị thành niên ở Việt Nam mắc các bệnh về sức khỏe tâm thần Ước tính
tại Việt Nam có ít nhất 3 triệu thanh, thiếu niên có các vấn đề về sức khỏe tâm lý, tâm thần
Tuy nhiên chỉ có khoảng 20% trong số đó nhận được hỗ trợ y tế và điều trị cần thiết
Trong nghiên cứu năm 2017, Harry Minas và các đồng nghiệp nhận thấy là tới mộtphần ba phụ nữ sinh đẻ ở các bệnh viện của Thành phố Hồ Chí Minh có những triệu chứng
của trầm cảm sau sinh Đáng kinh ngạc, cứ năm người thì có một người có ý định tự sát rõ
Pham Thị Hương - D19PTDPT 2
Trang 18ĐỎ AN TOT NGHIỆP ĐẠI HỌC MO DAU
rang Theo một khảo sát khác cách đây may năm, trong số các sinh viên y khoa Việt Nam, cứ
sáu sinh viên thì có một người có đủ các yếu tố của trầm cảm, và tầm một nửa số đó có ý
tưởng tự sát Đây là những con số rất cao, bởi chúng là tỷ lệ lưu hành tại một thời điểm nhất
định.
Thống kê của Tổ chức Y tế thế giới (WHO) cho thấy trên thế giới cứ 8 người thì có 1
người rỗi loạn tâm than Riêng năm 2020, do ảnh hưởng đại dịch COVID-19 trên toàn quốc,
bệnh trầm cảm tăng 28% và lo âu tăng 26% Về bệnh tâm thần phân liệt có khoảng 23 triệu
người mắc phải, hay 300 người thì có 1 người mắc (tỉ lệ 0,33%) Tại Việt Nam, tỉ lệ người bị
rối loạn tâm thần chiếm 14,1% dân số (tương đương 14 triệu người) với khoảng 1.000 bác sĩ
chuyên khoa tâm thần (năm 2020) nhưng tập trung chủ yếu ở trung ương và các thành phố
lớn Khoảng trống điều trị bệnh lý tâm thần hiện nay vẫn còn rất lớn (ước tính 90%), tạo ra
gánh nặng lớn.
Theo báo cáo của Bệnh viện Tâm thần Trung ương, tỷ lệ mắc 10 chứng rối loạn tâmthần phổ biến trong năm 2014 là 14,2%, trong đó riêng rối loạn tram cảm chiếm 2,45% Tỷ lệ
tự sát trong năm 2015 là 5,87 trên 100.000 dân.
Thống kê của Bệnh viện Nhi Đồng TP Hồ Chi Minh cũng cho thấy có tới 8-20% trẻ
em và vị thành niên Việt Nam gặp các vấn đề sức khoẻ tâm thần chung Nghiên cứu trên các
nhóm đối tượng đặc biệt khác cũng cho thấy tỷ lệ trầm cảm trong khi mang thai là 5% và trầm
cảm sau sinh là 8,2%, tỷ lệ mắc mới trầm cảm sau sinh là 6,5% (2018), tỷ lệ trầm cảm ở
người bệnh ung thư phổi là 24,6% (2017)
ae
Tâm bệnh tới ˆ
Ted m cảm nhe viêm khớp hông hay đầu gốt
Rối loạn lo âu nhẹ tới vừa nát đốt sống, HIV
Trầm cám vừa hen suyén ning, viêm gan B, bệnh điếc, da
xo cáng (rối loạn não bệ và tay sống)
Rối loạn căng thẳng hậu liệ chị dưỡi, viêm phế quản hinh niên nặng,
chấn thương mức nặng tốn thương thành phế nang phối
TIẦM cả nặng tổn thương não vĩnh viễn, ung thi vá đã
h an" đi căn
được một sự cải thiện trong tâm trạng và cảm giác chung về bản thân thông qua việc sử dụng
ChatBot dé chia sẻ và giải quyết vấn đề tâm lý của họ ChatBot được thiết kế dé tương tác
một cách thân thiện và tự nhiên, tạo điều kiện cho một trò chuyện dễ dàng và thoải mái giữa
Pham Thị Hương - D19PTDPT 3
Trang 19ĐỎ AN TOT NGHIỆP ĐẠI HỌC MO DAU
người dùng và hệ thống Hệ thống có khả năng đáp ứng da dạng về tình trang tâm lý, từ
những tâm trạng buôn chán đên những thời điêm tâm trạng căng thăng Sự linh hoạt này sẽ
giúp người sử dụng cam thay được chăm sóc va ho trợ trong moi tình huông.
Ngoài phần mở đầu và kết luận, đồ án gồm 03 chương chính như sau:
e Chương 1: Nghiên cứu ChatBot va khả năng tích hop Web
Nội dung chương | trình bày khái niệm ChatBot và ứng dụng trong hỗ trợ tâm lý, cơ
sở lý thuyêt vê ChatBot và thiệt kê Website, nghiên cứu khả năng tích hợp ChatBot vào
Website qua plugins, khái quát về các công nghệ và công cụ phân mêm sử dụng trong bai.
e Chương 2: Xây dựng Website tích hợp ChatBot hỗ trợ người tram cảm
Chương 2 trình bày cụ thé bài toán và mục tiêu đặt ra, các nội dung phân tích và thiết
kê hệ thông, thiệt kê UI/UX, nghiên cứu cach két nôi tích hợp với các ChatBot plugins,
nghiên cứu phát triên hệ thông.
e Chương 3: Triển khai thử nghiệm hệ thống.
Nội dung chương 3 trình bày về phạm vi thử nghiệm, cài đặt và triển khai hệ thống,
các kêt quả thử nghiệm, nhận xét và đánh giá ket quả thử nghiệm.
Pham Thị Hương - D19PTDPT 4
Trang 20DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
CHUONG 1: NGHIÊN CỨU CHATBOT VÀ KHẢ NĂNG TÍCH HỢP
WEBSITE
1.1 Cơ sở lý thuyết về ChatBot
Khái niệm về ChatBot
ChatBot thông minh là một ứng dụng sử dụng trí tuệ nhân tạo (AI) để tương tác với
người dùng thông qua các cuộc trò chuyện hoặc giao tiếp văn bản
Dưới đây là một số khái niệm và nguyên tắc cơ bản liên quan đến ChatBot thông
minh:
+ Trí tuệ nhân tao (AI): ChatBot sử dung trí tuệ nhân tao dé hiểu và phản hồi trong
cuộc trò chuyện Các thuật toán máy học và xử lý ngôn ngữ tự nhiên đóng vai trò quan trọng
trong việc cải thiện khả năng hiểu và phản hồi của ChatBot
+ Ngôn ngữ tự nhiên (NLP): NLP là lĩnh vực nghiên cứu trong AI tập trung vào kha
năng của máy tính hiểu và xử lý ngôn ngữ tự nhiên của con người ChatBot sử dụng NLP dé
hiểu ý định của người dùng và tạo ra phản hồi tự nhiên
+ Học máy (Machine Learning): Học máy là quá trình mà ChatBot có thé học từ dữ
liệu và trải nghiệm trước đó dé cải thiện khả năng hiểu và dự đoán Điều này giúp ChatBot
ngày càng linh hoạt và thích ứng với người dùng.
+ Khả năng tương tác: ChatBot được xây dựng để tương tác với người dùng giống
như một cuộc trò chuyện với con người Kha năng tương tác này bao gồm việc hiểu câu hỏi,
đưa ra câu trả lời phù hợp và duy trì một cuộc trò chuyện liên tục.
+ Plugins và tích hợp: ChatBot thường có khả năng tích hợp vào các hệ thống khácthông qua các plugins hoặc API Điều này mở ra khả năng tích hợp ChatBot vào các nền tảng
và trang web khác nhau một cách dé dàng.
+ Phản hồi liên tục: ChatBot có thé sử dụng phản hồi từ người dùng dé cải thiện hiệu
suất của mình Việc này bao gồm việc học từ các trải nghiệm trước đó và điều chỉnh phản ứng
của nó đề đáp ứng tốt hơn đối với nhu cầu cụ thê.
1.1.1 Lợi ích của Chatbot trong việc hỗ trợ tâm lý
— Tiết kiệm thời gian và chi phí: Chat GPT có thé hoạt động liên tục mà không cần sự
can thiệp của con người giúp tiết kiệm thời gian và chi phí cho việc tư vấn và hỗ trợ
tâm lý.
— Bảo mật thông tin: ChatGPT có thể bảo mật thông tin của người dùng giúp người
dùng cảm thấy an toàn và tin tưởng hơn khi chia sẻ những vấn đề tâm lý của mình
— Tính khách quan: ChatGPT không bị ảnh hưởng bởi cảm xúc hay suy nghĩ của con
người giúp đưa ra những lời khuyên và giải pháp khách quan hơn.
— Tính linh hoạt: ChatGPT có thé được tùy chỉnh dé phù hợp với nhiều loại van đề tâm
lý khác nhau giúp người dùng có được sự hỗ trợ tốt nhất
— Tính tiện lợi: ChatGPT có thể được sử dụng trên nhiều nền tảng khác nhau như điện
thoại di động máy tính bảng máy tính để bàn giúp người dùng có thể tiếp cận và sử
dụng dễ dàng hơn
1.1.2 Phân loại Chatbot
- Chatbot Dựa Trên Quy Tắc (Rule-Based)
Phạm Thi Hương - DI9PTDPT l
Trang 21DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
o Mô Tả:
“ Sử dụng quy tắc và luật dé xác định cách phản hồi.
= Các luật được thiết lập trước và không có khả năng tự động học thêm
từ dữ liệu.
o Ưu Điểm:
= Dễ triển khai và quản lý
“ Thích hợp cho các trường hợp sử dụng cụ thé và có cau trúc
o_ Nhược Điểm:
= Khả năng xử lý ngôn ngữ tự nhiên hạn chế
= Yêu cầu nhiều công sức dé cập nhật khi có thay đổi
- Chatbot Dựa Trên Máy Hoc (Machine Learning-Based):
o Mô Tả:
= Sử dụng các mô hình máy học như học máy hoặc học sâu dé hiểu va
phan hồi dựa trên dit liệu người dùng
=" Co khả năng tự động học va cải thiện theo thời gian.
o Ưu Điểm:
= Xt lý ngôn ngữ tự nhiên hiệu quả hơn.
“ Khả năng học từ dit liệu mới và thích nghỉ với thay đôi
o Nhược Điểm:
“ Doi hỏi lượng dữ liệu lớn dé đào tạo
= Yêu cầu kiến thức chuyên sâu về machine learning dé triển khai và duy
trì.
- Chatbot Dựa Trên Luật và Máy Học Kết Hợp:
o Mô Tả:
“ Kết hợp cả hai phương pháp dé tận dụng ưu điểm của cả hai
= Sử dụng quy tắc dé xử lý các trường hợp cụ thé và máy học dé xử lý
ngôn ngữ tự nhiên và tình huống phức tạp hơn
o Ưu Điểm:
" Kết hợp sức mạnh của cả hai phương pháp.
“ Có thé xử lý nhiều loại truy van và tình huống
o Nhược Điểm:
“ Phức tạp hóa quy trình phát triển và duy trì
= Yêu cầu kiến thức sâu rộng về cả hai lĩnh vực.
- Chatbot Dựa Trên Mô Hình Ngôn Ngữ (Language Model-Based):
o Mô Tả:
= Sử dụng mô hình ngôn ngữ mạnh mẽ như GPT (Generative Pre-trained
Transformer) đề tạo ra phản hồi tự nhiên và linh hoạt
= Có khả năng sinh ra văn bản mới và đáp ứng linh hoạt đối với nhiều
loại truy vấn
o Ưu Điểm:
" Tạo ra trải nghiệm người dùng tự nhiên hơn.
= Linh hoạt và có kha năng đáp ứng đa dạng.
Phạm Thi Hương - DI9PTDPT 2
Trang 22DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
o Nhược Điểm:
= Cần nhiều tài nguyên tính toán.
“ Có thé tao ra phản hồi không chính xác hoặc không mong muốn
1.1.3 Cơ chế hoạt động của Chatbot Dựa Trên Mô Hình Ngôn Ngữ
1.1.3.1 Thu thập dữ liệu và tiền xử lý
- Thu thập dữ liệu:
o_ Nguồn Dữ Liệu Da Dạng: Chatbot dựa trên mô hình ngôn ngữ cần một lượng
lớn dữ liệu văn ban dé dao tạo Dữ liệu này được thu thập từ nhiều nguồn đa
dạng như trang web, sách, bài báo, diễn đàn, và thậm chí là cuộc trò chuyện
trên các nền tảng truyền thông xã hội
o Dữ Liệu Thực Tế va Phức Tap: Dé đảm bảo độ phong phú và đa dạng, chatbot
thu thập đữ liệu từ nhiều lĩnh vực, bao gồm công nghệ, giải trí, khoa học, và các lĩnh vực khác dé có thé đáp ứng đa dạng của người dùng.
o Chất Lượng Dữ Liệu: Quá trình thu thập cần tập trung vào việc lựa chọn dữ
liệu chất lượng, loại bỏ dir liệu nhiễu và đảm bảo tính đáng tin cậy của thông
tin thu thập được.
- Tiền xử lý:
o_ Loại Bỏ Dữ Liệu Nhiễu: Trước khi đưa vào đảo tạo, dữ liệu được xử ly dé loai
bỏ nhiễu như ký tự đặc biệt không cần thiết, từ ngữ long, và thông tin không
liên quan.
o Chuan Hóa Dữ Liệu: Tiền xử lý bao gồm chuan hóa dữ liệu bang cách chuyền
đổi chữ hoa/thường, sửa lỗi chính tả và đồng bộ hóa cấu trúc câu dé tạo ra dit liệu có định dạng thống nhất.
© Tokenization và Vectorization: Dữ liệu văn ban sau đó được chia thành các
đơn vi nhỏ hơn, gọi là "token," dé tạo ra đơn vị xử lý cho mô hình Sau đó, cáctoken được biểu dién dưới dạng vectơ số hóa, giúp mô hình hiểu được mối
quan hệ giữa các từ.
o Loại Bỏ Stopwords: Cac từ không mang ý nghĩa lớn trong một ngôn ngữ
(stopwords) có thể được loại bỏ để giảm kích thước của dữ liệu và tăng tốc quá
trình đào tạo.
o_ Xử Lý Dữ Liệu Không Cân Băng: Trong trường hợp dit liệu không cân bang,
có thé cần áp dụng các kỹ thuật như undersampling hoặc oversampling dé đảmbảo mô hình không bị chệch về một phía
1.1.3.2 Xây dựng mô hình ngôn ngữ
- Kiến Trúc Mô Hình (Transformer Architecture): Chatbot sử dụng kiến trúc
Transformer, đây là một kiến trúc mạng nơ-ron đã đạt được sự nồi tiếng đặc biệt trong
xử lý ngôn ngữ tự nhiên Transformer giúp mô hình có khả năng xử lý các chuỗi dữ
liệu dai một cách hiệu quả và giữ được thông tin ngữ cảnh quan trọng.
- Đào Tạo Đa Nhiệm: Chatbot thường được đào tao đa nhiệm, tức là mô hình ngôn ngữ
không chỉ dự đoán từ tiếp theo trong một câu, ma còn có thể thực hiện nhiều nhiệm vụ
như tạo văn bản mô tả, dịch ngôn ngữ, và thậm chí là phân loại nội dung.
Phạm Thi Hương - DI9PTDPT 3
Trang 23DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
- Hoc Chưa Giám Sát: Một số mô hình ngôn ngữ có thể được huấn luyện thông qua học
chưa giám sát, tức là mô hình không yêu cầu dữ liệu đào tạo được gán nhãn rõ ràng
Thay vào đó, nó tự động học cấu trúc và tính chất ngôn ngữ từ dt liệu đầu vào
- Tối Ưu Hóa và Thuật Toán Gradient Descent: Trong quá trình dao tạo, mô hình sử
dụng thuật toán tối ưu hóa gradient descent dé diéu chinh trong số sao cho sự mất mát(loss) là nhỏ nhất, tức là dy đoán của mô hình gần với thực tế nhất
- Attention Mechanism: Mô hình thường sử dụng cơ chế attention dé tập trung vào các
phần quan trọng của câu hoặc đoạn văn bản, giúp mô hình hiểu được ngữ cảnh và
tương tác một cách thông minh.
- Tuning Hyperparameters Trong quá trình xây dựng, các siêu tham số
(hyperparameters) như tỷ lệ học (learning rate), số lượng lớp và đơn vị ân, độ dốc, vakích thước batch thường được tinh chỉnh dé cải thiện hiệu suất của mô hình.
- Regularization va Dropout: Để tránh overfiting, các kỹ thuật như dropout thường
được áp dụng Dropout tắt một số đơn vị trong quá trình đào tạo ngẫu nhiên, giúp môhình trở nên chung chung và có khả năng tổng quát hóa tốt hơn
- Transfer Learning: Một số chatbot có thé sử dụng phương pháp transfer learning, tức
là sử dụng một mô hình đã được dao tạo trước đó trên một tập dữ liệu lớn và sau đó
chỉ fine-tune nó trên tập dữ liệu cụ thể của chatbot
- _ Kiểm Soát Chuỗi (Sequence Control): Dé tao ra phan hồi một cách liền mạch, chatbot
cần kiểm soát chuỗi đầu ra của minh dé đảm bảo rang câu trả lời là logic và có ý
nghĩa.
1.1.3.3 Tạo ra phản hồi
- Phản Hồi Tự Động: Mô Hình Sinh Tự Động: Mô hình ngôn ngữ được sử dụng dé tao
ra phan hồi tự động một cách tự nhiên Nó có khả năng tự động sinh ra câu trả lời dựa
trên ngữ cảnh của câu hỏi và thông tin mà nó đã học từ đữ liệu đào tạo.
- Tinh Tương Tác: Thich Ứng với Ngữ Cảnh: Phản hồi được tạo ra không chỉ dựa trên
từng câu hỏi mà còn phụ thuộc vào ngữ cảnh toàn bộ cuộc trò chuyện Điều này giúpchatbot hiểu được ngữ cảnh và tương tác một cách logic và liên kết
- Linh Hoạt trong Đối Phó với Đa Dạng Câu Hỏi: Sự Đa Dạng của Phản Hồi: Mô hình
ngôn ngữ được thiết kế dé tao ra phản hồi có độ đa dạng, không chi trong cách diễndat mà còn trong nội dung, để đối phó với đa dang của câu hỏi từ người dùng.
- Tinh Sáng Tạo va Kha Năng Tự Đề Xuất: Sáng Tạo Trong Phản Hỏi: Mô hình có khả
năng sáng tạo và tự đề xuất thông tin một cách linh hoạt, không chỉ giải quyết câu hỏi
cụ thê mà còn có khả năng mở rộng cuộc trò chuyện và tạo ra thông tin mới
- _ Đánh Giá Tích Hợp: Phản Hồi Tích Hợp Đánh Giá: Chatbot có thé tích hợp các cơ chế
đánh giá từ người dùng dé đo lường chất lượng của phản hồi Những đánh giá này có thé được sử dụng dé cải thiện mô hình trong quá trình tiếp theo.
- Kiém Soát Chuỗi và Thứ Tự Câu Hỏi: Kiểm Soát Câu Trả Lời: Mô hình có khả năng
kiểm soát chuỗi đầu ra của mình để đảm bảo rằng câu trả lời là logic và không mâuthuẫn Các cơ chế này giúp chatbot tạo ra phản hồi có ý nghĩa và hợp lý.
- Phan Hồi Từ Người Dùng: Tích Hợp Phản Hồi Người Dùng: Phản hồi từ người dùng
sau mỗi cuộc trò chuyện có thê được sử dụng để hiệu chỉnh mô hình ngôn ngữ, điềuchỉnh cách chatbot tạo ra phản hồi và cải thiện trải nghiệm người dùng
Phạm Thi Hương - DI9PTDPT 4
Trang 24DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
- Quan Lý Rui Ro: Kiểm Soát Ngôn Ngữ An Toàn: Mô hình được kiểm soát dé đảm
bảo rằng phản hồi tạo ra không chứa thông tin gây hiểu lầm hoặc không phù hợp, giúp
duy trì một tương tac an toàn và tích cực.
1.1.3.4 Thực hiện tương tác người dùng
- _ Hiểu Ngữ Cảnh và Ngữ Nghĩa: Ngữ Cảnh Toàn Cục: Mô hình ngôn ngữ sử dụng kha
năng hiểu ngữ cảnh dé theo dõi cuộc trò chuyện toàn bộ, giúp chatbot không chỉ đápứng đúng đắn từng câu hỏi mà còn tạo ra phản hồi hợp lý liên quan đến bối cảnh tổngthể
- Phan Hồi Tích Cực và Xử Ly Phan Nan: Tăng Cường Phản Hồi Tích Cực: Chatbot cố
gang tạo ra phản hồi tích cực dé giữ cho tương tác tích cực Nếu người dùng có phannàn hoặc gặp vấn đề, mô hình cũng cần có khả năng xử lý và cải thiện dựa trên phảnhồi đó
- Cam Nhận Tâm Trạng và Ngôn Ngữ Tự Nhiên: Phân Biệt Tâm Trạng: Mô hình cần
có khả năng phân biệt và cảm nhận tâm trạng của người dùng từ ngôn ngữ họ sử
dụng Điều này giúp tạo ra phản hồi phù hợp và nhân văn hóa
- Tích Hợp Nguồn Thông Tin Ngoại Vi: Đối Với Câu Hỏi Cụ Thẻ: Khi có yêu cầu
thông tin cụ thé, chatbot có thé tích hợp với các nguồn thông tin ngoại vi như cơ sở
dữ liệu, API, hoặc trang web dé cung cấp câu trả lời chính xác và day đủ
- Thich Ứng với Thói Quen Người Dùng: Học Tự Nhiên: Chatbot sử dụng kha năng
học tự nhiên dé nhận diện thói quen của người dùng và điều chỉnh phản hồi dựa trên
lịch sử tương tác trước đó.
- Sy Linh Hoạt Trong Tương Tác: Đối Phó với Các Hình Thức Tương Tác Khác Nhau:
Mô hình ngôn ngữ linh hoạt trong việc đối phó với nhiều loại tương tác như câu hỏi,yêu cầu, thậm chí là trò chơi ngôn ngữ để tạo ra một trải nghiệm đa dạng
- Su Tương Tác Dựa Trên Dự Doan: Dự Doan Câu Hỏi Tiếp Theo: Chatbot có khả
năng dự đoán câu hỏi tiếp theo dựa trên ngữ cảnh và nội dung cuộc trò chuyện, giúp
tạo ra một tương tác mượt mà và tự nhiên.
- Quan Lý Các Tình Huống Phức Tạp: Xử Ly Tình Huống Khó Khăn: Trong trường
hợp tình huống phức tạp hoặc mâu thuẫn, mô hình cần có khả năng giải quyết và dẫndắt cuộc trò chuyện dé tránh hiểu lầm va gây nhằm lẫn
1.1.3.5 Feeding Back và Fine-Tuning
- Thu Thập Phản Hồi: Tương Tác với Người Dùng: Chatbot thu thập phan hồi thông
qua tương tác với người dùng, bao gồm đánh giá, ý kiến, và các biểu hiện phản hồi
như "thích" hoặc "không thích" từ người dùng.
- Phan Hồi Tự Động: Tự Động Học Từ Phan Hồi: Chatbot sử dung phản hồi dé tự động
học từ kinh nghiệm người dùng và điều chỉnh cách nó tạo ra phản hồi trong tương lai
- Phan Tích Dữ Liệu Phản Hồi: Phân Tích Tự Động: Dữ liệu phản hồi được phân tích tự
động dé xác định xu hướng, điểm mạnh, yếu tổ cần cải thiện, và các khía cạnh khác
của trải nghiệm người dùng.
- Fine-Tuning Mô Hình: Điều Chỉnh Trọng Số Mô Hình: Dựa trên phản hồi, trọng số
của mô hình ngôn ngữ có thể được điều chỉnh dé cải thiện chất lượng và đáp ứng tốthơn với nhu cầu và mong muốn của người dùng
Phạm Thi Hương - DI9PTDPT 5
Trang 25DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
- Tối Ưu Hóa Hiệu Suất Điều Chỉnh Hyperparameters Các siêu tham số
(hyperparameters) như tỷ lệ học, kích thước batch, và số lượng lớp có thé được tối ưuhóa dé cải thiện hiệu suất toàn diện của mô hình
- Hoc Tự Nhiên và Thích Ứng Tương Tác: Học Tự Nhiên: Mô hình ngôn ngữ có khả
năng học tự nhiên từ mỗi tương tác, năm bắt các biểu hiện ngôn ngữ mới và tích hợpchúng vào cách nó tạo ra phản hồi
- Tinh Chỉnh Ngữ Cảnh và Kiểm Soát Ngôn Ngữ: Kiểm Soát Ngôn Ngữ: Fine-tuning
giúp kiểm soát ngôn ngữ để tránh tạo ra phản hồi không chính xác, không an toàn
hoặc không thích hợp.
- Thực Hiện Chính Sách An Toàn và Đạo Đức: Kiểm Soát An Toàn: Fine-tuning cũng
bao gồm việc áp dụng các biện pháp kiểm soát an toàn và đạo đức để đảm bảo rằng
mô hình không sản xuất thông tin gây tranh cãi hoặc không an toàn
- Đồng Bộ Hóa Tương Tác và Phản Hồi: Liên Kết Tương Tác và Phản Hồi: Quá trình
fine-tuning không chỉ liên quan đến cải thiện phản hồi mà còn liên quan đến cách môhình tương tác, đảm bảo rang chúng đồng bộ và tạo ra trải nghiệm liền mạch
1.1.3.6 Quản lý ngôn ngữ tự nhiên và rủi ro
- Kiểm Soat Ngôn Ngữ: Ngữ Cảnh Phản Hồi An Toàn: Chatbot được thiết kế dé tạo ra
phản hồi an toàn, tránh sử dụng ngôn ngữ không thích hợp, phân biệt đối xử, hoặc cóthể gây hiểu lầm Điều này bao gồm cả việc kiểm soát việc sử dụng từ ngữ và chắcchắn rằng mô hình không sản xuất thông tin gây tranh cãi
- Filter và Kiểm Duyệt Nội Dung: Hệ Thống Kiểm Duyệt: Chatbot có thé tích hợp hệ
thống kiểm duyệt nội dung dé lọc và ngăn chặn thông tin không phù hợp, đảm bảorằng nó không tạo ra nội dung độc hại
- _ Kiểm Soát Bias: Phát Hiện và Giảm Bias: Mô hình ngôn ngữ cần được kiểm soát dé
phát hiện và giảm thiểu bias Điều này đảm bao rang phản hồi và tương tác khôngphan ánh quan điểm đa dang và công bằng
- _ Đối Phó với Câu Hỏi Delicate: Xử Ly Câu Hỏi Nhay Cảm: Chatbot cần được dao tạo
dé xử lý câu hỏi nhạy cảm như y tế, tâm lý, và các chủ đề khác mà có thé đòi hỏi sự
tôn trọng và quan tâm đặc biệt.
- Quan Lý Thông Tin Cá Nhân: Bảo Vệ Thông Tin Người Dùng: Mô hình ngôn ngữ cần
duy trì một mức độ cao về bảo mật và quyền riêng tư dé đảm bảo rằng thông tin cá
nhân của người dùng được bảo vệ và không bi lộ ra ngoài môi trường chatbot.
- Đảm Bảo An Toàn Nội Dung Tự Sinh: Kiểm Soát Nội Dung Tự Sinh: Trong trường
hợp chatbot có khả năng tạo ra nội dung tự sinh, cần có các biện pháp kiểm soát chặtchẽ đề ngăn chặn việc sinh ra thông tin không mong muốn hoặc có thể gây hại
- Tích Hợp Giải Pháp Phản Hồi Tốt Tính An Toàn: Cơ Chế Tốt Tính An Toàn: Một
phan cua fine-tuning là tích hợp cơ chế phản hồi tốt tính an toàn, tức là khả năng giảiquyết tình huống rủi ro và tránh tạo ra thông tin nguy hiểm
- Giáo Dục và Hướng Dẫn Người Dùng: Hướng Dẫn Người Dùng: Chatbot cung cấp
thông điệp giáo dục va hướng dẫn dé người dùng hiểu rõ về khả năng và giới hạn củachatbot, đồng thời cung cấp cách báo cáo vấn đề nếu có
1.1.4 Cơ chế của ChatGPT
Phạm Thi Hương - DI9PTDPT 6
Trang 26DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
— ChatGPT, tạo ra bởi OpenAI, là một hệ thống chatbot dựa trên mô hình ngôn ngữ có
tên gọi là GPT (Generative Pre-trained Transformer)
1.1.4.1 Transformer Architecture: Kiến Trúc Transformer trong ChatGPT
- Kiến Trúc Transformer:
o Điểm Xuất Phát: Transformer là một mô hình kiến trúc quan trọng đã đưa ra
những đổi mới lớn trong lĩnh vực xử lý ngôn ngữ tự nhiên và máy học
o Cơ Chế Attention: Trong Transformer, cơ chế attention được sử dụng để tập
trung vào các phần quan trọng của chuỗi đầu vào, giúp mô hình hiểu được mỗi
quan hệ không gian giữa các từ.
- _ Kiến Trúc Transformer trong ChatGPT:
o Áp Dụng cho Ngôn Ngữ Tự Nhiên: ChatGPT áp dụng kiến trúc Transformer
cho việc xử lý ngôn ngữ tự nhiên, giúp nó hiéu và sinh ra văn bản tự nhiên dựa
trên thông tin học từ lượng lớn đữ liệu.
o Tính Tương Tác Cao: Cơ chế attention trong Transformer cho phép ChatGPT
xử lý ngữ cảnh toàn cục, nắm bắt các mối quan hệ phức tạp trong câu trả lời và
tạo ra những tương tác tự nhiên với người dùng.
o Lợi Ích của Transformer: Transformer mang lại lợi ích lớn như khả năng xử lý
chuỗi đầu vào một cách song song, giảm độ phức tạp tính toán và tăng khả
năng học từ dữ liệu.
- Tam Quan Trọng của Transformer trong ChatGPT:
o Hiệu Quả và Linh Hoạt: Transformer giúp ChatGPT trở nên hiệu quả và linh
hoạt, cho phép nó hiểu và tạo ra ngôn ngữ tự nhiên một cách mạnh mẽ và linh
hoạt.
o Học Chuyển Giao Hiệu Quả: Kiến trúc Transformer cũng làm cho quá trình
học chuyên giao trong ChatGPT trở nên hiệu quả, khiến cho mô hình có khảnăng dao tao từ dữ liệu đa dang và thích ứng với nhiều nhiệm vụ khác nhau
1.1.4.2 Mô Hình Ngôn Ngữ GPT: Generative Pre-trained Transformer trong
ChatGPT
- Generative Pre-trained Transformer (GPT):
o Lich Sử và Xuất Phat Điểm: GPT là một mô hình ngôn ngữ có khả năng sinh
văn bản tự nhiên, được phát triển bởi OpenAI Xuất phat từ ý tưởng về họcchuyển giao, mô hình này được đảo tạo trước trên một lượng lớn dữ liệu ngônngữ dé hiểu cú pháp và ngữ nghĩa ngôn ngữ tự nhiên
- _ Ưu Điểm của GPT trong ChatGPT:
o Sinh Văn Ban Tự Nhiên: GPT có khả năng sinh ra văn bản tự nhiên, giúp
ChatGPT tạo ra câu trả lời và tương tác với người dùng một cách tự nhiên và
linh hoạt.
o Học Tự Nhiên từ Dữ Liệu: GPT học từ lượng lớn dữ liệu ngôn ngữ, giúp nó
hiểu cấu trúc câu, ngữ cảnh và ngữ nghĩa ngôn ngữ tự nhiên một cách sâu sắc.
- Ap Dụng GPT Trong ChatGPT:
Phạm Thi Hương - DI9PTDPT 7
Trang 27DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
o Tích Hợp Học Chuyển Giao: GPT là trọng tâm của học chuyển giao trong
ChatGPT Mô hình được chuyền giao từ việc hiểu ngôn ngữ tự nhiên đến việc
tương tac thông minh và linh hoạt với người dùng.
o Sự Linh Hoạt trong Nhiệm Vụ Ngôn Ngữ: GPT cho phép ChatGPT thực hiện
nhiều nhiệm vụ ngôn ngữ khác nhau như tạo văn bản, dịch ngôn ngữ, và phân
loại dựa trên khả năng tự nhiên của mô hình.
- Tam Quan Trọng của GPT trong ChatGPT:
o Mô Hình Mạnh Mé và Da Nhiệm: GPT đóng vai trò quan trọng trong việc làm
cho ChatGPT trở thành một mô hình mạnh mẽ và đa nhiệm, có khả năng thực
hiện nhiều tác vụ ngôn ngữ một cách linh hoạt
o Nền Tang cho Tương Tác Tự Nhiên: GPT cung cấp nền tang cho việc tương
tác tự nhiên với người dùng, giúp ChatGPT tạo ra câu trả lời phong phú và đáp
ứng tốt theo ngữ cảnh
1.1.4.3 Transfer Learning: Học Chuyển Giao trong ChatGPT
- Hoc Chuyển Giao:
o Định Nghĩa: Học chuyền giao là phương pháp đào tạo mô hình trên một tập dit
liệu lớn và sau đó chuyền giao kiến thức đã học sang các nhiệm vụ cụ thé khác
mà mô hình có thể thực hiện
- Ung Dụng của Học Chuyên Giao trong ChatGPT:
o Chuyên Giao Kiến Thức Ngôn Ngữ: ChatGPT sử dung học chuyên giao dé
chuyển giao kiến thức từ lượng lớn dữ liệu ngôn ngữ, giúp mô hình hiểu biểudiễn ngôn ngữ tự nhiên và ngữ cảnh trong đối tượng tương tác
o Thích Ứng với Nhiều Nhiệm Vụ: Học chuyển giao cho phép ChatGPT thích
Ứng với nhiều nhiệm vụ như tạo văn bản, dịch ngôn ngữ, và phân loại dựa trênkiến thức đã học trước đó
- Loi Ích của Học Chuyên Giao trong ChatGPT:
o_ Tiết Kiệm Thời Gian Đào Tạo: Học chuyên giao giúp tiết kiệm thời gian dao
tạo so với việc bắt đầu từ đầu với mỗi nhiệm vụ cụ thể.
o_ Tích Hợp Kiến Thức Sâu Rộng: ChatGPT có thê tích hợp kiến thức sâu rộng
về ngôn ngữ tự nhiên, cú pháp, và ngữ nghĩa từ dit liệu đa dạng
- _ Thử thách va Cải Tiến:
o_ Hiểu Rõ Rủi Ro và Bias: Học chuyển giao cũng đặt ra thách thức về việc hiểu
rõ rủi ro va bias từ dir liệu đào tạo và cần cải tiến dé đảm bảo tính công bang
và an toản.
o_ Feeding Back và Fine-Tuning: Hệ thống cũng yêu cầu phản hồi và fine-tuning
liên tục dé nâng cao khả năng đáp ứng và chất lượng của mô hình
1.1.4.4 Học Tự Nhiên và Da Nhiệm: Dao Tạo Da Nhiệm trong ChatGPT
- Đào Tạo Đa Nhiệm:
o Mục Tiêu: Đào tạo đa nhiệm trong ChatGPT nhằm mục đích không chỉ làm
cho mô hình hiểu sâu về ngôn ngữ tự nhiên mà còn có khả năng thực hiệnnhiều nhiệm vụ ngôn ngữ khác nhau
- _ Ưu Điểm và Ứng Dụng:
Phạm Thi Hương - DI9PTDPT 8
Trang 28DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
o Hiệu Quả Đào Tạo: Đào tạo đa nhiệm giúp cải thiện hiệu quả dao tao và giảm
độ phức tạp của quá trình học.
o Thích Ứng Tốt với Ngữ Cảnh: Mô hình sau cùng không chi học được cấu trúc
của câu mà còn có khả năng thích ứng tốt với ngữ cảnh và yêu cầu cụ thé của
nhiệm vụ.
- Ung Dụng trong ChatGPT:
o Tạo Văn Ban và Phân Loại: Dao tao đa nhiệm giúp ChatGPT có khả năng tao
văn bản tự nhiên và đồng thời thực hiện các nhiệm vụ phân loại dựa trên yêucầu của người dùng
o Dịch Ngôn Ngữ và Tương Tác: Mô hình có thé học cùng một lúc cả về dich
ngôn ngữ và tương tác thông minh với người dùng, tăng tính đa nhiệm và linh
hoạt.
- _ Thách Thức và Quản Lý Ngôn Ngữ:
o Quản Ly Bias: Dao tạo đa nhiệm đặt ra thách thức về quan ly bias va đảm bảo
rang mô hình không tao ra kết quả không công bằng hay không an toàn
o Fine-Tuning va Feeding Back: Liên tục cần phải có quá trình fine-tuning và
feeding back để cải thiện khả năng tương tác và đảm bảo chất lượng của câu
trả lời.
1.1.4.5 Mechanism of Attention: Cơ Chế Attention trong ChatGPT
- Co Chế Attention:
o Diém Nỗi Bật: Co chế attention là một yếu tố quan trong trong kiến trúc
Transformer, và đóng vai trò quan trọng trong việc xử lý ngôn ngữ tự nhiên.
o Sự Quan Trọng của Cơ Chế Attention trong ChatGPT:
o Tập Trung vào Ngữ Cảnh: Cơ chế attention trong ChatGPT giúp mô hình tập
trung vào các phần quan trọng của ngữ cảnh, tăng khả năng hiểu và phản ứng theo đúng ngữ cảnh của câu hỏi hoặc yêu cầu của người dùng.
o Xử Lý Chuỗi Đầu Vào: Khi xử lý chuỗi đầu vào, cơ chế attention cho phép mô
hình hiểu mối quan hệ giữa từng từ với nhau, giúp cải thiện khả năng sinh văn
bản tự nhiên.
- Dac Điểm và Cách Hoạt Động:
o_ Soft Attention: ChatGPT thường sử dung soft attention, nghĩa là mỗi từ trong
câu đầu vào có ảnh hưởng đến mỗi từ trong câu trả lời dựa trên trọng số
attention được tính toán.
o_ Self-Attention Mechanism: Cơ chế attention trong ChatGPT còn được gọi là
self-attention mechanism, vì mỗi từ có khả năng tập trung vào tất cả các từ
khác trong chuỗi.
- Loi Ích và Ứng Dụng:
o Hiểu Biéu Diễn Ngôn Ngữ: Cơ chế attention giúp ChatGPT hiểu được biểu
diễn của ngôn ngữ tự nhiên và mối quan hệ giữa các từ
o_ Tạo Ra Câu Trả Lời Tự Nhiên: Sự tập trung vào ngữ cảnh và mối quan hệ giữa
từng từ giúp mô hình tạo ra câu trả lời tự nhiên và phan ứng lĩnh hoạt.
- _ Thách Thức và Cải Tiến:
Phạm Thi Hương - DI9PTDPT 9
Trang 29DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
o_ Đối Phó với Ngôn Ngữ Phức Tạp: Trong quá trình xử lý ngôn ngữ tự nhiên
phức tạp, có thể xuất hiện thách thức về việc cân nhắc và điều chỉnh trọng sốattention Cải tiến cơ chế attention là một hướng nghiên cứu quan trọng
o Tối Ưu Hóa và Hiệu Suất: Việc tối ưu hóa cơ chế attention dé đảm bảo hiệu
suất là một trong những thách thức cần được giải quyết để tăng cường khả
năng xử lý và tương tác của mô hình.
1.1.4.6 Decoding Strategies: Chiến Lược Giải Mã trong ChatGPT
- _ Chiến Lược Giải Mã:
o Khái Niệm: Chiến lược giải mã là quá trình mà mô hình quyết định cách nó sẽ
sinh ra câu trả lời từ phân phối xác suất của các từ
- _ Chiến Lược Phé Biến trong ChatGPT:
o Sampling: Mô hình chọn ngẫu nhiên một từ từ phân phối xác suất dé sinh ra
câu trả lời Chiến lược này thường dẫn đến sự đa dạng trong câu trả lời
o Beam Search: Mô hình duyệt qua một sé lượng han chế các lựa chon, chon lựa
câu trả lời với xác suất cao nhất Beam search giúp cải thiện độ chính xác của câu trả lời nhưng có thé làm giảm đa dạng.
o_ Top-k Sampling và Top-p Sampling: Hạn chế việc chọn từ bằng cách giữ lại
chỉ một số lượng k từ có xác suất cao nhất hoặc giữ lại các từ có tổng xác suất
lớn hơn một ngưỡng p.
- _ Ưu Điểm và Nhược Điểm của Mỗi Chiến Lược:
o Sampling: Tạo ra câu trả lời da dạng, nhưng có thé dẫn đến câu trả lời không
nhất quán hoặc không phù hợp
o Beam Search: Tăng độ chính xác nhưng có thé tạo ra câu trả lời trung lập và ít
đa dạng.
o Top-k và Top-p Sampling: Kiểm soát được mức độ ngẫu nhiên và da dang của
câu trả lời, nhưng cũng đòi hỏi sự cân nhắc cần thận về giá trị của k và p
- Quan Lý Chiến Lược Giải Mã:
o_ Tuỳ Chỉnh Theo Yêu Cầu: Trong ChatGPT, việc quản lý chiến lược giải mã có
thê được điều chỉnh theo yêu cầu cụ thê của ứng dụng hoặc người dùng
o Lựa Chọn Phù Hợp: Sự lựa chọn chiến lược phù hợp giữa việc tối ưu hóa độ
chính xác và đa dạng của câu trả lời là quan trọng dé tối ưu hóa trải nghiệm
người dùng.
1.1.4.7 Fine-Tuning và Feeding Back: Tinh Chỉnh và Phan Hồi trong ChatGPT
- Fime-Tuning:
o Khái Niệm: Fine-tuning là quá trình cập nhật trọng số của mô hình sau khi nó
đã được đào tạo trước, thường được thực hiện trên một lượng nhỏ dữ liệu cụ
thể hoặc trong các điều kiện cụ thé.
- Feeding Back và Phản Hồi:
o_ Tích Hợp Phản Hồi Người Dùng: Một phan quan trọng của hệ thống ChatGPT
là khả năng tích hợp phản hồi từ người dùng Phản hồi này giúp cải thiện môhình bằng cách hiểu va đáp ứng tốt hơn theo ý muốn người dùng
Phạm Thị Hương - D19PTDPT 10
Trang 30DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
© Quá Trình Fine-Tuning va Feeding Back:
= Thu Thập Phan Hồi: Hệ thống ghi nhận phan hồi từ người dùng, bao
gồm cả những câu trả lời chấp nhận được và không chấp nhận được
" Xác Dinh Các Điểm Cần Cải Tiến: Phản hồi được sử dụng để xác định
các điểm cần cải tiến, chăng hạn như việc sửa lỗi, cung cấp thông tin
chính xác hơn, hoặc tăng tính tương tác.
= Fine-Tuning Mô Hình: Mô hình được tinh chỉnh trên một tập dữ liệu
nhỏ được tạo từ phản hồi người dùng Quá trình này giúp mô hìnhnhanh chóng thích ứng với yêu cầu cụ thê
= Thử Nghiệm và Đánh Giá: Mô hình được thử nghiệm và đánh giá dé
đảm bảo rằng những cải tiến được áp dụng làm tăng cả chất lượng vàđáp ứng theo ý muốn
- _ Lợi Ích và Thách Thức:
o Tăng Hiệu Suất: Fine-tuning và phản hồi giúp tăng cường hiệu suất của mô
hình, làm cho nó trở nên linh hoạt và đáp ứng tốt hơn
o_ Quản Lý Bias và Rủi Ro: Tuy nhiên, quá trình này cũng đối mặt với thách thức
quản lý bias và rủi ro từ phản hồi người dùng, đặt ra yêu cầu cao về việc đảmbảo an toàn và công bang.
1.1.4.8 Natural Language Understanding (NLU) va Natural Language Generation
(NLG) trong ChatGPT
- Natural Language Understanding (NLU):
o Khái Niệm: NLU là khả năng của mô hình hiểu va phân tích ngôn ngữ tự
nhiên, đặc biệt là khả năng hiểu ý nghĩa, ngữ cảnh và ý định của câu hỏi hoặcyêu cầu người dùng.
o Các Phương Tiện NLU Trong ChatGPT:
= Attention Mechanism: Cơ chế attention trong kiến trúc Transformer
giúp mô hình tap trung vào các phan quan trong của ngữ cảnh, cải thiện
khả nang NLU.
“ Học Chuyên Giao: Học chuyên giao giúp mô hình thích ứng với nhiều
dạng ngôn ngữ và nhiệm vụ khác nhau.
- Natural Language Generation (NLG):
o Khai Niệm: NLG là kha năng của mô hình tạo ra văn bản tự nhiên và ý nghĩa
dựa trên thông tin và kiến thức đã học từ đữ liệu đào tạo
o Các Phương Tiện NLG Trong ChatGPT:
= Generative Pre-trained Transformer (GPT): GPT chủ yếu được sử dung
trong vai trò NLG, giúp mô hình tạo ra câu trả lời và văn ban tự nhiên.
= Decoding Strategies: Chiến lược giải mã như sampling và beam search
cũng ảnh hưởng đến quá trình NLG, quyết định cách mà mô hình sẽ
sinh ra câu trả lời.
- Ung Dụng Trong ChatGPT:
o Tạo Câu Trả Lời Tự Nhiên: NLU va NLG là quan trọng trong qua trình tao ra
câu trả lời tự nhiên và ý nghĩa dựa trên yêu cầu hoặc câu hỏi của người dùng
Phạm Thị Hương - D19PTDPT 1
Trang 31DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
o_ Hiểu và Tương Tác Ngôn Ngữ Tự Nhiên: Kết hợp giữa NLU và NLG giúp mô
hình hiểu và tương tác ngôn ngữ tự nhiên một cách tự tin và chính xác
- _ Thách Thức và Phát Triển:
o Quản Lý Ngôn Ngữ Phức Tap: Với ngôn ngữ phức tap, NLU và NLG đôi khi
gặp thách thức trong việc hiểu và sinh ra văn bản phủ hợp
o Fine-Tuning và Feeding Back: Quá trình fine-tuning và phản hồi người dùng là
quan trọng dé cải thiện khả năng NLU và NLG của mô hình
1.1.4.9 Natural Language Understanding (NLU) Strategies: Chiến Lược Hiểu Ngôn
Ngữ Tự Nhiên trong ChatGPT
- Phan Đoạn Ngữ Pháp (Syntax Parsing):
o Định Nghĩa: Phân đoạn ngữ pháp là quá trình phân tích cau trúc ngữ pháp của
một câu đề hiểu cú pháp và mối quan hệ giữa các thành phần ngôn ngữ.
o Ứng Dụng trong ChatGPT: Cải thiện khả năng hiểu cấu trúc câu, giúp mô hình
hiểu rõ hơn về mối quan hệ giữa các từ và thành phần câu
- Phan Đoạn Ngữ Nghia (Semantic Parsing):
o Định Nghĩa: Phan đoạn ngữ nghĩa là quá trình chuyển đổi câu van thành biểu
diễn ngữ nghĩa, giúp mô hình hiểu ý nghĩa và mục đích của câu
o Ứng Dung trong ChatGPT: Nâng cao khả năng hiểu ngữ nghĩa của mô hình,
giúp nó đáp ứng chính xác và linh hoạt hơn.
- Phan Lớp Y Định (Intent Classification):
o Định Nghia: Phân lớp ý định là quá trình xác định ý định hoặc mục đích chính
của người dùng trong một câu hoặc yêu cầu
o Ứng Dụng trong ChatGPT: Hỗ trợ mô hình trong việc hiểu rõ hơn về mục đích
của người dùng và cung cấp câu trả lời phù hợp
- Rut Trích Thông Tin (Information Extraction):
o Định Nghia: Rút trích thông tin là quá trình trích xuất thông tin quan trong từ
văn bản, giúp mô hình hiểu chỉ tiết và ngữ cảnh của câu
o Ứng Dụng trong ChatGPT: Cung cấp thông tin chính xác và chỉ tiết để hỗ trợ
mô hình tạo ra câu trả lời phong phú và đầy đủ
- _ Xác Định Thực Thể (Entity Recognition):
o Định Nghĩa: Xác định thực thé là quá trình nhận diện và phân loại các thành
phần ngôn ngữ như tên riêng, địa điểm, thời gian, v.v
o Ứng Dụng trong ChatGPT: Cung cấp thông tin chi tiết và chính xác về các
thực thé quan trọng trong câu dé mô hình hiểu ngữ cảnh một cách toàn diện
- _ Thách Thức và Phát Triển:
o Đảm Bao Độ Chính Xác và Linh Hoạt: Chiến lược NLU đòi hỏi sự cân nhắc
cần thận để đảm bảo độ chính xác trong việc hiểu ý nghĩa của người dùng vàđồng thời giữ cho mô hình linh hoạt trong nhiều tình huống
o Học Chuyên Giao: Sự tích hợp học chuyên giao giúp cải thiện khả năng NLU
của mô hình, cho phép nó thích ứng với ngôn ngữ và ngữ cảnh đa dạng.
Phạm Thị Hương - D19PTDPT 12
Trang 32DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
1.2 Cơ sở lý thuyết về thiết kế Website
Khái niệm Website
Website (sau đây cũng được gọi tắt là web hoặc trang web) là một trang hoặc tập hợpcác trang web liên kết với nhau tạo thành một trang web lớn hơn, có thể được truy cập trên
Internet Mỗi trang web đều có một địa chỉ URL (Uniform Resource Locator) riêng, cho phép
người dùng truy cập trang web đó thông qua trình duyệt web như Google Chrome, Mozilla
Firefox, Safari, v.v.
Website thường chứa các thông tin, nội dung va dich vụ như tin tức, thông tin san
phẩm, thông tin công ty, blog, diễn đàn, thư viện ảnh, video và âm thanh, và các tính năng
tương tác khác như gửi email, đăng ký tài khoản, mua hàng trực tuyến, v.v Website cũng có
thé được tạo ra dé hỗ trợ các hoạt động kinh doanh, giáo dục, chính tri, giải trí và nhiều mục
đích khác.
Các thành phần của Website
- HTML (Hypertext Markup Language): Là ngôn ngữ đánh dấu văn bản dé tạo nộidung trên trang web Các thẻ HTML được sử dụng để định dạng và hiển thị nội dung trên
trang web, bao gồm tiêu đề, đoạn văn bản, hình ảnh, đường dẫn và các phần tử khác
- CSS(Cascading Style Sheets): Là một ngôn ngữ định dang dé điều khiển cách thứchiển thị của trang web CSS được sử dụng để tạo kiểu cho các phần tử trên trang web, bao
gồm font chữ, màu sắc, độ rộng, chiều cao, khoảng cách và các tính năng khác
- JavaScript: Là một ngôn ngữ lập trình phía client được sử dụng để thêm tính năngtương tác và động cho trang web JavaScript cho phép tạo ra các hiệu ứng động, kiêm tra dit
liệu, tương tác với người dùng và các tính năng khác.
- Hình ảnh và đa phương tiện: Các hình ảnh, video, âm thanh và các tệp đa phương
tiện khác được sử dụng để cung cấp nội dung đa đạng và hấp dẫn cho trang web.
- Địa chỉ URL(Uniform Resource Locator): Là địa chỉ định danh duy nhất cho trangweb Địa chỉ URL được sử dụng để truy cập trang web và cho phép trình duyệt web gửi yêu
cầu đến máy chủ web để tải trang web.
- Máy chủ web: Là một máy tính lưu trữ trang web và các tai nguyên liên quan May
chủ web được liên kết với địa chỉ IP và được tạo ra để cung cấp các dịch vụ lưu trữ trên mạng
- Các phần tử khác: Ngoài các thành phần cơ bản trên, một trang web có thê chứa cácphan tử khác như biéu ngữ, biéu đồ, các đoạn mã dé tích hợp các dịch vụ khác nhau như đăng
nhập, thanh toán, chia sẻ trên mạng xã hội, v.v.
Phạm Thị Hương - D19PTDPT 13
Trang 33ĐỎ AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
Khi người dùng truy cập vào một trang web, trình duyệt web của người dùng sẽ gửi
yêu cầu đến máy chủ web của trang web đó Yêu cầu này bao gồm địa chỉ URL của trang
web, được trình duyệt web chuyên đổi thành địa chỉ IP tương ứng thông qua máy chủ DNS
(Domain Name System).
Sau khi dia chi IP của may chủ web đã được xác định, trình duyệt gửi yêu cầu đến máy chủ web đó Máy chủ web sẽ xử lý yêu cầu này bang cách tìm kiếm và truy xuất các tài
nguyên cần thiết dé tạo ra trang web, bao gồm các tệp HTML, CSS, JavaScript, hình ảnh và
nội dung đa phương tiện khác.
Sau khi các tài nguyên này được tìm kiếm và tải xuống, máy chủ web sẽ sắp xếp chúng thành một trang web hoàn chỉnh và trả về cho trình duyệt web của người dùng dưới
dạng các mã HTML, CSS và JavaScript Trình duyệt web sau đó sẽ tải xuống các tài nguyên
đó và hiền thị trang web hoàn chỉnh trên màn hình của người dùng.
Trang web có thể được tạo ra và quản lý bằng nhiều cách khác nhau Các trang webđơn giản có thể được tạo ra bằng tay bằng cách sử dụng các ngôn ngữ lập trình như HTML,
CSS và JavaScript Các trang web phức tạp hơn có thể được tạo ra bằng các công cụ tạo trang
web như WordPress, Joomla và Drupal, hoặc các công cụ tạo trang web trực tuyến như Wix
Trang 34DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
L xà = “1 6 Nm Facebook OOO
https:/Avww.facebook.com
Người dùng (User) Trình duyệt website (Browser)
2 Giao diện website facebook.com
https:/Awww.facebook.com
Nhập vào địa chỉ website (Domain name)
Web server phản hồi lại nội dung web page
theo yêu cầu cho trình duyệt để hiển thị 5
lên server đó để lấy
nội dung của website 4
DNS Server (Domain name system server) May chu website (Web server)
Hình 3: Cách thức hoạt động cua website
Tổng quan về mạng xã hội
1.2.1.1 Khai niệm về mang xã hội
Mạng xã hội được hiểu là các hình thức giao tiếp trực tuyến khác nhau, được mọi
người sử dụng dé tạo ra cộng đồng dé chia sẻ thông tin, ý tưởng, thông điệp và các nội dung
khác, chăng hạn như video, hình ảnh, bài viết,
1.2.1.2 Cac mô hình mang xã hội pho biến
Các mô hình mạng xã hội rất đa dạng, tuy nhiên có thê phân chia thành 5 loại hìnhmang xã hội phổ biến hiện nay như sau:
+ Mang xã hội truyền thống
+ Mang chia sẻ hình ảnh va video.
+ Mang xã hội thảo luận.
+ Mang xã hội viết blog
+ Mang xã hội đánh gia.
1.3 Khái quát một số bộ khung phần mềm phục vụ phát triển Web
JavaScript
JavaScript (JS) là ngôn ngữ lập trình phô biến dùng dé tạo ra các trang web tương tác.
Được tích hợp và nhúng vào HTML giúp website trở nên sống động hơn JavaScript đóng vai
trò như một phan của trang web, thực thi cho phép Client-Side Script từ phía người dùng cũng
như phía máy chủ (NodeJs) tạo ra các trang web động.
JavaScript có những ưu điểm nỗi bật sau:
+ Mang tới các tính năng bé sung cho các website Thông qua bên thứ ba sẽ giúp cácnhà phát triển ngôn ngữ Javascript dễ dang viết các đoạn mã, từ đó thực hiện trên website
hiệu quả như mong muốn Việc mở rộng thêm các tính năng của trang web trở nên đơn giản
va dé dàng hơn rất nhiều Khi cần có thêm tinh năng nhất định thì ta hoàn toàn có khả năng tự
Phạm Thi Hương - DI9PTDPT 15
Trang 35DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
viết, đồng thời sử dụng thêm trình bổ sung Greasemonkey nhằm giúp việc thực hiện thuận lợi,
trên website chúng ta đang dùng.
+ Sử dụng đa dạng trên nhiều trình duyệt Đặc điểm nổi bật này giúp JS ngày càngđược tin dùng, ứng dụng phong phú vì khả năng sử dụng trên nhiều trình duyệt khác nhau:
Chrome, Firefox, hay những trình duyệt trên thiết bị di động
+ Dễ dàng khi sử dụng với ngôn ngữ Javascript JS dé học, dé dàng phát hiện lỗi đồngthời nó linh hoạt và nhẹ nhàng hơn nhiều ngôn ngữ lập trình khác Bởi thế, quá trình sử dụng
có thể thích hợp với nhiều đối tượng người dùng, đem lại hiệu quả cao và tránh những ảnh
hưởng không mong muốn có thê xảy ra.
+ Giao diện phong phú hon Có thé sử dụng JavaScript dé bao gồm các mục như các
thành phần kéo và thả dé trượt Giao điện phong phú cho khách truy cập trang web
Tuy nhiên, JavaScript có một số hạn chế sau:
+ Là ngôn ngữ lập trình dé bị khai thác khiến việc bảo mật cho ngôn ngữ lập trình
này không được đánh giá cao.
+ Do chạy được trên nhiều nền tảng nên dễ bị mã độc lạm dụng.
+ Phần JS code snippets có thé khá lớn
+ Khi có khả năng triển khai khác nhau tùy từng thiết bị, nguy cơ không đồng nhất cóthể xảy ra, gây ảnh hưởng tới quá trình thực hiện mục tiêu cuối cùng
NodeJS
Node.js là một nền tang được xây dung dựa trên thời gian chạy JavaScript của Chrome
dé dé dàng xây dựng các ứng dụng mạng nhanh và có thé mở rộng Node.js sử dụng mô hình I
/O hướng sự kiện, không chặn, giúp nó nhẹ và hiệu quả, hoàn hảo cho các ứng dụng thời gian
thực sử dụng nhiều dữ liệu chạy trên các thiết bị phân tán
Node.js là một môi trường chạy mã nguồn mở, đa nền tang dé phát triển các ứng dụngmạng và phía máy chủ Các ứng dụng Node.js được viết bang JavaScript và có thé chạy trong
thời gian chạy Nodejs trên OS X, Microsoft Windows và Linux Node.js cũng cung cấp một
thư viện phong phú gồm các mô-đun JavaScript khác nhau, giúp đơn giản hóa việc phát triển
các ứng dụng web sử dụng Node.js ở mức độ lớn NodeJS không phải là một ngôn ngữ lập
trình Đúng hơn, đó là một môi trường thời gian chạy được sử dung dé chạy JavaScript bên
ngoài trình duyệt.
NodeJS có một số tính năng nồi bật sau:
- Không đồng bộ và theo hướng sự kiện: Tat cả các API của thư viện Node.js làkhông đồng bộ, nghĩa là không chặn Về cơ bản, một máy chủ dựa trên Node.js không bao giờ
đợi API trả về dữ liệu Máy chủ chuyên đến API tiếp theo sau khi gọi nó và cơ chế thông báo
Sự kiện của Node.js giúp máy chủ nhận được phản hồi từ lệnh gọi API trước đó.
- Tốc độ nhanh: Được xây dựng trên Công cụ JavaScript V§ của Google Chrome,thư viện Nodejs thực thi mã rất nhanh
- Đơn luồng nhưng có khả năng mở rộng cao: Node.js sử dụng mô hình một luồngvới vòng lặp sự kiện Cơ chế sự kiện giúp máy chủ phản hồi theo cách không chặn và làm cho
máy chủ có khả năng mở rộng cao so với các máy chủ truyền thống tạo ra các luồng giới hạn
Phạm Thị Hương - D19PTDPT 16
Trang 36DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
dé xử lý các yêu cầu Node.js sử dụng một chương trình luồng đơn và chương trình tương tự
có thé cung cấp dich vụ cho một số lượng yêu cầu lớn hơn nhiều so với các máy chủ truyền
thống như Apache HTTP Server
- Không đệm: Các ứng dụng Node.js không bao giờ đệm bat ky dit liệu nào Các ứngdụng này chỉ đơn giản là xuất dữ liệu theo từng phan
- NodeJS có một số ưu điểm sau:
+ Có tốc độ xử lý nhanh nhờ cơ chế xử lý bat đồng bộ (non-blocking), có thé dé dang
xử lý hàng ngàn kết nối trong khoảng thời gian ngắn nhất Có khả năng xử lý hàng ngàn
Process cho hiệu suất đạt mức tối ưu nhất Có kha năng xử lý nhiều Request/s cùng một lúc
trong thời gian ngắn nhất
+ Dễ dang mở rộng khi có nhu cầu phát triển website
+ Nhận và xử lý nhiều kết nối chỉ với một single-thread Nhờ đó, hệ thống xử lý sẽ sửdụng ít lượng RAM nhất và giúp quá trình xử Nodejs lý nhanh hơn rất nhiều
+ Phù hợp dé xây dung những ứng dụng thời gian thực như các ứng dụng chat, mạng
+ Mô hình lập trình không đồng bộ Node.js gây khó khăn cho việc duy trì mã
+ Thiếu hỗ trợ thư viện có thé gây nguy hiểm cho mã
+ Node.js nặng và tốn tài nguyên vì nó được viết bằng C++ & Javascript, nên phảidùng thêm một trình biên dịch sẽ tốn thời gian hơn Do đó, nó ít phù hợp đối với các ứng
dụng tốn tài nguyên CPU như encoding video, convert file, encoding, encryption
ExpressJS
ExpressJS là một framework ứng dụng web có mã nguồn mở và miễn phí được xâydựng trên nền tảng Node.js ExpressJS được sử dung dé thiết kế và phát triển các ứng dụng
web một cách nhanh chóng Dé hiểu ExpressJS, người dùng chỉ cần phải biết JavaScript, do
đó nên việc xây dựng các ứng dụng web và API trở nên đơn giản hơn đối với các lập trình
viên và nhà phát triển đã thành thạo JavaScript trước đó
Vì ExpressJS là một framework của Node.js nên hầu hết các mã đã được viết sẵn chocác lập trình viên làm việc Ta có thé tạo các ứng dụng web cho một trang, nhiều trang hoặc
kết hợp lại bằng cách sử dung ExpressJS framework này khá nhẹ, giúp tổ chức các ứng dụng
web ở phía máy chủ thành một kiến trúc MVC hoàn hảo hơn.
ExpressJS hỗ trợ nâng cao các chức năng của NodeJS Nếu không sử dụng ExpressJS,
lập trình sẽ khá phức tạp để xây dựng một API hiệu quả ExpressJS đã giúp cho việc lập trình
trong NodeJS trở nên dé dàng hơn rất nhiều
ExpressJS có một số tính năng nổi bật sau:
- Phát triển máy chủ nhanh hơn ExpressJS cung cấp nhiều tính năng phổ biến củaNode.js dưới dang hàm dé có thé dé dang sử dụng ở bat kỳ đâu trong chương trình Điều này
sẽ giúp rút ngắn thời gian dé viết code
Phạm Thi Hương - DI9PTDPT 17
Trang 37DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
- Phần mềm trung gian là một phan trong chương trình cho phép truy cập vào cơ sở
dữ liệu, xem xét yêu cầu của khách hàng và các phần mềm trung gian khác Tính năng này
chịu trách nhiệm chính cho việc tổ chức chức năng khác nhau của Express]S
- ExpressJS cung cấp một cơ chế định tuyến nâng cao giúp duy trì trạng thái của
trang web.
- ExpressJS cung cấp các công cụ tạo khuôn mau cho phép các nhà phát triển tạo nội dung động trên các trang web bằng việc xây dựng các mẫu HTML ở phía máy chủ.
- Gỡ lỗi là yếu tố quan trọng dé phát triển các ứng dụng web ExpressJS giúp gỡ lỗi
dễ dàng hơn bằng cách cung cấp một cơ chế có khả năng xác định chính xác phần ứng dụng
web có lỗi
- ExpressJS có một số ưu điểm sau:
+ ExpressJS là một framework rất linh hoạt và có thé được sử dụng để phát triểnnhiều loại ứng dụng web, từ ứng dụng đơn giản đến ứng dụng phức tạp hơn
+ ExpressJS cung cấp cho người lập trình một số tính năng như routing, middleware
và template engine đề giúp họ đễ dàng phát triển ứng dụng web
+ ExpressJS được hỗ trợ bởi một cộng đồng rộng lớn, nên có rất nhiều tài liệu và ví
dụ về cách sử dụng ExpressJS
- ExpressJS có một số hạn chế sau:
+ ExpressJS không có nhiều tính năng tích hợp san, ví dụ như ORM hoặc validation.
Điều này có nghĩa là ta phải sử dụng các thư viện bên thứ ba hoặc tự viết mã để thực hiện các
tác vụ này.
+ Khi ứng dụng phát triển lớn hơn, việc quản ly middleware và routing trở nên phứctạp hơn, và điều này có thé dẫn đến việc khó khăn trong việc bảo trì và tái sử dung mã.
+ ExpressJS không hé trợ tính năng realtime của Websocket và phải sử dụng các thư
viện bên thứ ba dé thực hiện chức năng này.
ReactJS
ReactJs là một thư viện JavaScript mã nguồn mở được phát triển bởi Facebook vớimục đích để xây dựng giao diện người dùng (UI) ReactJs được ứng dụng rộng rãi để xây
dựng các trang web SPA (Single Page Application) và các ứng dụng trên nền tang di động Sở
hữu mục tiêu cốt lõi chính là tạo ra được những ứng dụng web nhanh chóng với số lượng
code tối thiểu, có kha năng hoạt động một cách mượt mà, ôn định va dé dang mở rộng khi cần
bảo trì, với ReactJs thì thay vì tập trung vào toàn bộ website, chúng ta hoàn toàn có thê tiến
hành chia nhỏ website thành từng phần, từ đó khiến việc phát triển website hay ứng dụng di
động trở nên đơn giản, thuận lợi và tiết kiệm thời gian hon
ReactJS có một số tính năng nổi bật sau:
- Sử dụng JSX: Trong React, thay vì thường xuyên sử dụng JavaScript dé thiết kế bố
cục trang web thi sẽ dùng JSX JSX được đánh giá là sử dụng đơn giản hon JavaScript và cho
phép trích dẫn HTML cũng như việc sử dụng các cú pháp thẻ HTML để render các
subcomponent JSX tối ưu hóa code khi biên soạn, vì vậy nó chạy nhanh hơn so với code
JavaScript tương đương.
Phạm Thị Hương - D19PTDPT 18
Trang 38DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
- Single-way data flow (Luéng dữ liệu một chiều): ReactJS không có những modulechuyên dụng dé xử lý data, vì vậy ReactJS chia nhỏ view thành các component nhỏ có mối
quan hệ chặt chẽ với nhau Luéng truyén di liệu trong ReactJS là luéng dữ liệu một chiều từ
cha xuống con Việc ReactJS sử dụng one-way data flow có thể gây ra một chút khó khăn
Tuy nhiên, cơ chế này sẽ phát huy được ưu điểm khi cấu trúc cũng như khi chức năng của
view trở nên phức tạp.
- Virtual DOM: Những Framework sử dung Virtual DOM như ReactJS khi Virtual
DOM thay đổi, ta không cần thao tác trực tiếp với DOM trên View ma vẫn phan ánh được sự
thay đổi đó Do Virtual-DOM vừa đóng vai trò là Model, vừa đóng vai trò là View nên mọi sự
thay đổi trên Model đã kéo theo sự thay đổi trên View và ngược lại Có nghĩa là mặc dù
không tác động trực tiếp vào các phần tử DOM ở View nhưng vẫn thực hiện được cơ chế
Data-binding Điều nay làm cho tốc độ ứng dụng tăng lên đáng ké
- ReactJS có một số ưu điểm sau:
+ Dễ dàng sử dung, giao diện thân thiện: Có thé tạo ra các website nhanh chóng, hiệuquả với mã hóa tối thiểu Dễ dàng cảm nhận được tốc độ tối ưu của ReactJs ở các component
riêng lẻ Thay vì phải làm việc trên toàn bộ ứng dụng website, các lập trình viên có thê chia
nhỏ các cau trúc UI thành nhiều component đơn giản
+ Tái sử dụng các Component: Nếu xây dựng các Component đủ tốt, và linh hoạt đủthỏa mãn các “yêu cầu” của nhiều dự án khác nhau, ta chỉ tốn thời gian xây dựng ban đầu và
có thể tái sử dụng lại hầu như toàn bộ ở các đự án sau
+ Hiệu suất làm việc tốt hơn so với virtual DOM: Đa số các ứng dụng trên website
đều gặp rắc rối trong quá trình DOM Với lợi thế sử dụng các virtual DOM, ReactJs giúp
tránh được van đề này Ngoài ra, ReactJs cũng cho phép xây dung các virtual DOM va host
chúng trong bộ nhớ Điều này giúp virtual DOM thay đổi ngay cả khi DOM thực thé thay đôi,
giúp cập nhật liên tục các ứng dụng đề hạn chế tình trạng gián đoạn
+ Có thé sử dung ứng dụng Mobile Nếu cần phát triển thêm ứng dụng Mobile, có thé
sử dụng thêm React Native — một framework khác cho phép “chia sẻ” các Component hoặc sử
dụng lại các Business Logic trong ứng dung.
- ExpressJS có một số hạn chế sau:
+ ReactJS là một thư viện, không phải là một framework Do đó nó không cung cấpmột giải pháp toàn diện đề phát triển ứng dụng web Cần sử dụng các thư viện và công cụ bên
thứ ba dé xử lý các tác vụ khác như routing, quản lý state, và giao tiếp với API
+ Khi phát triển các ứng dụng lớn, việc quản lý trạng thái và ràng buộc giữa cáccomponent trở nên phức tạp và khó khăn hơn khiến cho khó bảo trì và tái sử dụng
+ ReactJs chỉ phục vụ cho tang View nên không có phần Model và Controller, maphải kết hợp với các thư viện khác
+ Tích hợp ReactJs vào các framework MVC truyền thống yêu cầu cần phải cấu hình
lại.
+ React khá nặng nếu so với các framework khác: React có kích thước tương tương
với Angular (Khoảng 35kb so với 39kb của Angular) Trong khi đó Angular là một
framework hoàn chỉnh.
Phạm Thị Hương - D19PTDPT 19
Trang 39DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE MongoDB
- MongoDB là một hệ quản tri cơ sở dữ liệu không quan hệ — non relational database
management system (DBMS) mã nguồn mở, sử dụng các tài liệu (documents) linh hoạt thay
vì các bảng và hàng dé xử lý và lưu trữ các dang dif liệu khác nhau Là một giải pháp NoSQL,
MongoDB không yêu cầu hệ quản trị cơ sở dit liệu quan hệ (RDBMS), vì vậy nó cung cấp
một mô hình lưu trữ dữ liệu đàn hồi (elastic) cho phép người dùng lưu trữ và truy vấn các
kiểu di liệu đa biến một cách dé dàng Điều này không chỉ đơn giản hóa việc quản lý cơ sở
dữ liệu cho các nhà phát triển mà còn tạo ra một môi trường có khả năng mở rộng cao cho các
ứng dụng và dịch vụ đa nền tảng
- MongoDB có một số tính năng nổi bật sau:
MongoDB được sử dụng khá phổ biến bởi các lập trình viên và các doanh nghiệp Nó
được đánh giá hiệu quả và dé sử dụng nhờ những tính năng vượt trội:
+ Truy vấn nhanh chóng do MongoDB là một database hướng tài liệu Mọi data sẽ
được lưu trữ trong document theo dạng JSON thay vì lưu dưới dạng CSDL.
+ Khác với CSDL quan hệ lưu dữ liệu dưới dạng bảng, MongoDB sử dụng khái niệm collection.
+ Mã nguồn mở trong hệ quan tri cơ sở dữ liệu MongoDB thuộc loại NoSQL được
hàng triệu người sử dụng.
+ Collection trong MongoDB linh hoạt, cho phép các dữ liệu được lưu trữ mà không
cần phải tuân theo một cấu trúc nhất định nảo đó.
+ Những thông tin liên quan được sắp xếp lưu trữ chung với nhau dé người ding cóthé truy cập nhanh chóng thông qua các ngôn ngữ truy cập MongoDB
+ Dữ liệu lưu trữ phi cấu trúc, không có tính ràng buộc, toàn vẹn nên tinh sẵn sàngcao, hiệu suất lớn va dé dang mở rộng lưu trữ
+ Dữ liệu được caching (ghi đệm) lên RAM, han chế truy cập vào lộ cứng nên tốc độ
đọc và ghi cao.
+ Tính khả dụng cao MongoDB có các tính năng như sao chép va gridFS (một đặc
điểm kỹ thuật dé lưu trữ và truy xuất các tệp vượt quá giới hạn kích thước tài liệu BSON là 16
MB) Các tính năng này giúp tăng tính khả dụng của dữ liệu trong MongoDB Do đó hiệu suất
rat cao
+ Kha năng mở rộng là một lợi thế lớn của MongoDB Nó là một cơ sở dữ liệu có thể
mở rộng theo chiều ngang Khi phải xử lý một dit liệu lớn, có thé phân phối trên nhiều may
+ MongoDB có một tinh năng rất nâng cao cho các truy van đặc biệt
+ Việc thiết lập môi trường cho MongoDB khá dé dàng
Trang 40DO AN TOT NGHIỆP ĐẠI HỌC CHƯƠNG 1: NGHIÊN CỨU CHATBOT VA
KHẢ NĂNG TÍCH HỢP WEBSITE
+ MongoDB lưu trữ các tên khóa cho mỗi cặp giá trị Ngoài ra, do không có chức
năng của phép join, nên có sự dư thừa dữ liệu Điều này dẫn đến việc tăng mức sử dụng bộ
trễ khá cao của HTTP — HyperText Transfer Protocol — Giao thức truyền tải siêu văn bản
Đây là một công nghệ được phát triển nhằm mục đích khắc phục độ trễ của HTTP Vì vậy,
WebSocket có độ trễ thấp, hỗ trợ giảm header xuống mức tối đa, truyền và nhận dữ liệu trực
tiếp, không cần thông qua các tầng bồ sung
Tuy nhiên, truyền tải di liệu bằng WebSocket sẽ có thé phát sinh một số lỗi
WebSocket còn mới, chưa thê tương thích với toàn bộ các trình duyệt web Nếu ta sử dụng
Session in view filter của HIbernate, việc triển khai WebSocket sẽ trở nên khó khăn vì
WebSocket không hỗ trợ tính năng này
So với giao thức HTTP truyền thống, Websocket khắc phục được nhược điểm độ trễ cao của HTTP trong truyền tai thông tin giữa máy chủ và máy tram HTTP là giao thức một
chiều dựa vào TCP, tạo ra các kết nối dựa vào request HTTP, sau khi kết nối được thực hiện
xong và được phản hồi lại, quá trình sẽ kết thúc và đóng lại HTTP được ứng dụng và sử dụng
vào các dịch vụ ứng dụng RESTful đơn giản, chủ yếu là nhận thông tin một chiều về server để
xử lý.
Ngược lại, WebSocket có tốc độ truyền tải nhanh và độ trễ thấp hơn nhiều so với HTTP WebSocket là một giao thức truyền tải 2 chiều giữa máy chủ và máy khách Dữ liệu có
thé truyền 2 chiều giữa máy khách — máy chủ hoặc máy chủ — máy khách dựa trên những kết
nối đã được thiết lập Hầu hết các ứng dung theo thời gian thực — real-time đều đang ứng
dụng WebSocket để truyền và nhận đữ liệu trên 1 kênh liên lạc duy nhất Đối với các ứng
dụng cần phải thường xuyên hoặc liên tục cập nhật thông tin, WebSocket sẽ là ưu tiên hàng
đầu vì WebSocket có kết nối nhanh hơn, độ trễ thấp hơn so với HTTP.
RestFul API
— RESTful API (Representational State Transferful API) là một kiểu thiết kế API
(Application Programming Interface) dựa trên các nguyên tắc của kiến trac REST
REST là một kiến trúc dành cho các hệ thống phân tán, thường được sử dụng trong
phát triển web
— Kiến Trúc REST:
o Đại Diện Dang Trang Thái (Representational State Transfer - REST): REST là
một kiến trúc phân tán dựa trên các nguyên tắc đơn giản như tài nguyên
(Resources), các hoạt động trên tài nguyên được thực hiện qua các phương
Phạm Thị Hương - D19PTDPT 21