ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO ĐỒ ÁN 2
ĐỀ TÀI:
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
Giảng viên:
Trần Anh Dũng
Sinh viên thực hiện: Nguyễn Hồ Quỳnh Thư
Cao Ngọc Anh
19520290
19521191
Thành phố Hồ Chí Minh, năm 2022
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO ĐỒ ÁN 2
ĐỀ TÀI:
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
Giảng viên:
Trần Anh Dũng
Sinh viên thực hiện: Nguyễn Hồ Quỳnh Thư
Cao Ngọc Anh
19520290
19521191
Thành phố Hồ Chí Minh, năm 2022
Mụ c lụ c
DANH MỤC HÌNH ẢNH ..................................................................................... 3
DANH MỤC TỪ VIẾT TẮT ............................................................................... 5
LỜI CẢM ƠN ........................................................................................................ 6
NỘI DUNG ............................................................................................................ 7
CHƯƠNG 1: GIỚI THIỆU CHUNG ................................................................... 13
1.1. Tổng quan đề tài ........................................................................................ 13
1.2. Lý do chọn đề tài ....................................................................................... 13
1.3. Đối tượng sử dụng ..................................................................................... 14
1.4. Phạm vi nghiên cứu ................................................................................... 15
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ..................................................................... 16
2.1. IDE – Visual Studio Code ......................................................................... 16
2.2. HTML ........................................................................................................ 17
2.3. CSS ............................................................................................................ 18
2.4. Javascript ................................................................................................... 19
2.5. ReactJS ...................................................................................................... 20
2.6. NodeJS ....................................................................................................... 21
2.7. npm ............................................................................................................ 22
2.8. MySQL ...................................................................................................... 23
2.9. GitHub ....................................................................................................... 24
CHƯƠNG 3: CHATBOT: DIALOGFLOW ........................................................ 25
3.1. Công nghệ sử dụng : DialogFlow .............................................................. 25
3.2. Giao diện chatbot ....................................................................................... 26
3.3. Quy trình hoạt động ................................................................................... 27
3.4. Sơ đồ kịch bản đối thoại ............................................................................ 31
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG ................................................................. 34
4.1. Kiến trúc hệ thống: Mơ hình MVC ........................................................... 34
4.2. Chi tiết các thành phần trong hệ thống ...................................................... 35
CHƯƠNG 5: ĐẶC TẢ USE CASE...................................................................... 36
5.1. Sơ đồ Use Case .......................................................................................... 36
5.2. Danh sách tác nhân .................................................................................... 37
5.3. Danh sách Use Case................................................................................... 37
1
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
5.4. Mô tả chi tiết Use Case .............................................................................. 40
CHƯƠNG 6: THIẾT KẾ CƠ SỞ DỮ LIỆU ........................................................ 73
6.1. Sơ đồ logic ................................................................................................. 73
6.2. Danh sách các quan hệ ............................................................................... 74
CHƯƠNG 7: THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG ...................................... 79
7.1. Danh sách màn hình .................................................................................. 79
7.2. Mơ tả chi tiết từng màn hình...................................................................... 81
CHƯƠNG 8: CÀI ĐẶT VÀ KIỂM THỬ........................................................... 135
8.1. Môi trường cài đặt và kiểm thử: .............................................................. 135
8.2. Kết quả kiểm thử ..................................................................................... 135
CHƯƠNG 9: KẾT LUẬN .................................................................................. 136
9.1. Tổng kết ................................................................................................... 136
9.2. Khó khăn .................................................................................................. 136
9.3. Kết quả đạt được ...................................................................................... 137
9.4. Hạn chế của đồ án .................................................................................... 137
9.5. Hướng phát triển ...................................................................................... 137
TÀI LIỆU THAM KHẢO ................................................................................ 138
2
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
DANH MỤC HÌNH ẢNH
Hình 2.1-1: Visual Studio Code ............................................................................................................ 16
Hình 2.2-1: HyperText Markup Language — HTML .......................................................................... 17
Hình 2.3-1: Cascading Style Sheets — CSS ......................................................................................... 18
Hình 2.4-1: JavaScript .......................................................................................................................... 19
Hình 2.5-1: ReactJS .............................................................................................................................. 20
Hình 2.6-1: nodeJS................................................................................................................................ 21
Hình 2.7-1: Node package manager – npm........................................................................................... 22
Hình 2.8-1: Hệ quản trị cơ sở dữ liệu MySQL ..................................................................................... 23
Hình 2.9-1: Hệ thống quản lý mã nguồn GitHub .................................................................................. 24
Hình 3.1-1: ChatBot DialogFlow .......................................................................................................... 25
Hình 3.2-1: Trang trị chuyện với ChatBot ........................................................................................... 26
Hình 3.3-1: Mơ phỏng các hoạt động của Chatbot với Fullfillment ..................................................... 29
Hình 3.3-2: Luồng xử lý hoạt động của Dialogflow Chatbot ............................................................... 30
Hình 3.4-1: Sơ đồ Intent trong Dialogflow Chatbot ............................................................................. 31
Hình 7.2-1: Navigation Bar (trước đăng nhập) ..................................................................................... 81
Hình 7.2-2: Navigation Bar (sau đăng nhập) ........................................................................................ 81
Hình 7.2-3: Navigation Bar (mở rộng sau đăng nhập) .......................................................................... 81
Hình 7.2-4: Footer................................................................................................................................. 83
Hình 7.2-5: Các nút nổi ......................................................................................................................... 84
Hình 7.2-6: Trang Đăng nhập ............................................................................................................... 85
Hình 7.2-7: Trang Quên mật khẩu ........................................................................................................ 87
Hình 7.2-8: Trang chủ ........................................................................................................................... 88
Hình 7.2-9: Giới thiệu khóa học (Luyện thi TOEIC / IELTS) .............................................................. 90
Hình 7.2-10: Giới thiệu khóa học (Tiếng Anh giao tiếp / cho bé) ........................................................ 91
Hình 7.2-11: Trang Bài viết tổng quát .................................................................................................. 93
Hình 7.2-12: Trang Danh sách tin tức theo chủ đề ............................................................................... 95
Hình 7.2-13: Chi tiết bài viết (khách) ................................................................................................... 97
Hình 7.2-14: Trang giới thiệu trung tâm ............................................................................................... 99
Hình 7.2-15: Trang Giới thiệu Nhân sự .............................................................................................. 101
Hình 7.2-16: Trang Hỏi đáp ................................................................................................................ 103
Hình 7.2-17: Trang Liên hệ và tạo cuộc hẹn....................................................................................... 104
Hình 7.2-18: Left Menu của Nhân viên và Quản lý............................................................................ 106
Hình 7.2-19: Trang Quản lý bài viết ................................................................................................... 108
Hình 7.2-20: Trang Chi tiết bài viết (nhân viên)................................................................................. 110
Hình 7.2-21: Trang Đăng và cập nhập bài viết ................................................................................... 112
3
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
Hình 7.2-22: Trang Quản lý hỏi đáp ................................................................................................... 114
Hình 7.2-23: Trang Chi tiết hỏi đáp .................................................................................................... 116
Hình 7.2-24: Trang Đăng hỏi đáp ....................................................................................................... 118
Hình 7.2-25: Trang Cập nhập hỏi đáp................................................................................................. 118
Hình 7.2-26: Trang Quản lý tài khoản nhân viên................................................................................ 120
Hình 7.2-27: Trang Hồ sơ nhân viên (read-only)................................................................................ 122
Hình 7.2-28: Trang Hồ sơ nhân viên (cập nhập)................................................................................. 122
Hình 7.2-29: Trang Tạo tài khoản mới ............................................................................................... 124
Hình 7.2-30: Trang Quản lý Chatbot .................................................................................................. 126
Hình 7.2-31: Chi tiết thơng tin tư vấn (read-only) .............................................................................. 128
Hình 7.2-32: Chi tiết thơng tin tư vấn (cập nhập) ............................................................................... 128
Hình 7.2-33: Trang Cài đặt tài khoản ................................................................................................. 129
Hình 7.2-34: Trang Cập nhập thơng tin tài khoản .............................................................................. 130
Hình 7.2-35: Trang Đổi mật khẩu ....................................................................................................... 131
Hình 7.2-36: Chatbot kiểm thử ........................................................................................................... 133
4
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
DANH MỤC TỪ VIẾT TẮT
#
Từ viết tắt
Từ đầy đủ
Ý nghĩa
1
PHP
Hypertext Preprocessor
Ngôn ngữ kịch bản mã nguồn mở
2
CSDL
Cơ sở dữ liệu
Cơ sở dữ liệu cho ứng dụng
3
API
Application Programming
Interface
Giao diện lập trình ứng dụng
4
HTTP
HyperText Transfer
Protocol
Giao thức truyền siêu văn bản
5
MySQL
Structured Query
Language
Cơ sở dữ liệu quan hệ MySQL
6
MVC
Model-View-Controller
Mơ hình lập trình
7
AI
Artificial Intelligence
Trí tuệ nhân tạo
5
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học
Công nghệ Thông tin – ĐHQG TP.HCM chúng em đã được trang bị các kiến thức cơ
bản, các kỹ năng thực tế để có thể lần đầu thực hiện Đồ án 2 của mình.
Để hồn thành Đồ án này, chúng em xin gửi lời cảm ơn chân thành đến:
Ban Giám hiệu trường Đại học Cơng nghệ Thơng tin – ĐHQG TP.HCM vì đã
tạo điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài
liệu thuận lợi cho việc tìm kiếm, nghiên cứu thơng tin.
Chúng em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng đã tận tình
giúp đỡ, định hướng cách tư duy và cách làm việc khoa học. Đó là những góp ý hết sức
q báu khơng chỉ trong q trình thực hiện luận văn này mà cịn là hành trang tiếp
bước cho chúng em trong quá trình học tập và lập nghiệp sau này.
Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong
khoa, bạn bè, tập thể lớp KTPM2019 là những người luôn sẵn sàng sẻ chia và giúp đỡ
trong học tập và cuộc sống. Mong rằng, chúng ta sẽ mãi mãi gắn bó với nhau.
Trong q trình làm Đồ án này chúng em không tránh khỏi được những sai sót,
chúng em kính mong nhận được sự chỉ dẫn và góp ý của q thầy cơ để hồn thiện và
phát triển đồ án hơn ở Khóa luận tốt nghiệp trong tương lai.
Chúng em xin chân thành cảm ơn. Xin chúc những điều tốt đẹp nhất sẽ luôn đồng
hành cùng mọi người.
Thành phố Hồ Chí Minh, … tháng … năm 2022
Sinh viên
NGUYỄN HỒ QUỲNH THƯ
CAO NGỌC ANH
6
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CƠNG NGHỆ THƠNG TIN
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập - Tự Do - Hạnh Phúc
TP. HCM, ngày 25 tháng 2 năm 2022
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Xây dựng ứng dụng Chatbot hỗ trợ tư vấn khóa học
Cán bộ hướng dẫn: ThS. Trần Anh Dũng
Thời gian thực hiện: Từ ngày 25/2/2022 đến ngày kết thúc môn Đồ án 2
Sinh viên thực hiện:
Nguyễn Hồ Quỳnh Thư – 19520290
Cao Ngọc Anh – 19521191
Nội dung đề tài
1. Lý do chọn đề tài:
Hiện nay, tiếng Anh đã đóng vai trị quan trọng trong cuộc sống của mỗi người.
Do sự bùng nổ đầu tư của các cơng ty ngước ngồi và xu hướng tồn cầu hóa, mà
nhu cầu học tiếng Anh của mọi người ngày càng gia tăng nhanh chóng. Tại các
trung tâm, các nhân viên luôn phải túc trực để tư vấn hướng dẫn, cung cấp thơng
tin khóa học, lộ trình học cho những người hiện đang có nhu cầu tìm hiểu. Việc tư
vấn thông thường sẽ kèm theo thi thử để có thể nhận biết được năng lực Anh ngữ
của người đăng ký ở mức độ nào. Từ đó người nhân viên sẽ phân tích, cung cấp lộ
trình học phù hợp với nhu cầu của người đăng ký nhất. Thế nhưng, những khóa
học tại trung tâm Anh ngữ thường rất đa dạng về hình thức, về thời gian, và cả
nhu cầu học tiếng Anh của mỗi người cũng khác nhau, vì vậy mà tổng thời gian
q trình tư vấn có thể kéo dài suốt 3-4 tiếng đồng hồ, hoặc có thể lên đến 1-2
ngày. Từ đó dẫn đến hiệu quả cơng việc kém, mệt mỏi, tiêu tốn nhiều thời gian cả
về phía người nhân viên tư vấn cũng như người đăng ký cũng như khơng đáp ứng
được từ phía trung tâm nếu cùng lúc, hoặc trong thời gian người nhân viên đang
thực hiện tư vấn mà có nhiều người đăng ký khác cùng đến tìm hiểu trung tâm.
Để giải quyết vấn đề trên, nhóm em quyết định chọn đề tài Ứng dụng tích hợp
Chatbot hỗ trợ tư vấn khóa học trực tuyến, nhằm phát triển một ứng dụng cung
cấp nhanh chóng thơng tin về phía trung tâm tiếng Anh đồng thời tích hợp chatbot
hỗ trợ tự động tư vấn, cung cấp thông tin, hướng dẫn đăng ký thi thử đến với
7
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
người dùng truy cập vào ứng dụng.
2. Mục tiêu: bao gồm 2 mục tiêu chính:
1. Xây dựng chatbot:
+ Trả lời nhanh, tự động các câu hỏi thường gặp của người dùng, có khả năng
đối đáp, tư vấn dựa vào nhu cầu người dùng, gợi ý lựa chọn khóa học phù
hợp cho người dùng, từ đó giảm tối đa thời gian tiêu tốn cần thiết cho việc
tư vấn của nhân viên trung tâm
+ Cung cấp thông tin về trung tâm, về chương trình đào tạo, về nội dung khóa
học… theo kịch bản được cung cấp sẵn.
+ Bot có khả năng đưa ra những câu trả lời động
+ Hỗ trợ đăng ký thi thử tại trung tâm
+ Áp dụng xử lý ngôn ngữ tự nhiên để giao tiếp, Bot có khả năng học những
thoại “độc lạ”
2. Xây dựng ứng dụng:
+
Ứng dụng tích hợp chatbot hỗ trợ tư vấn khóa học trực tuyến
+
Giới thiệu về trung tâm, về khóa học, quy chế đào tạo, thông tin liên hệ một
cách trực quan, đem đến cho người dùng những nội dung chi tiết nhất
+
Đăng ký thi thử trực tuyến
+
Cung cấp giao diện thân thiện, tiện dụng, hỗ trợ quản lý, cập nhật lời thoại,
kịch bản của Bot một cách nhanh chóng
+
Cung cấp giao diện quản lý tài khoản nội bộ, đăng và chỉnh sửa tin tức dành
cho nhân viên trung tâm, phân quyền theo từng vị trí.
3. Phạm vi:
Phạm vi mơi trường: Ứng dụng Web
Phạm vi chức năng:
− Đối với chatbot:
+ Xử lý ngôn ngữ tự nhiên, Bot hiểu được tương đối ngôn ngữ tiếng Việt
+ Đối đáp chính xác theo kịch bản
+ Áp dụng câu trả lời động, Bot có thể trích xuất từ ngữ, ý chính từ lời thoại
do người dùng nhập vào và sử dụng để làm câu trả lời.
8
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
+ Bot có khả năng tự động nhận biết và học những thoại “độc lạ”, tự động cải
thiện bộ dữ liệu huấn luyện
+ Hỗ trợ đăng ký thi thử trực tuyến
+ Tư vấn, hiểu được nhu cầu và hỗ trợ người dùng chọn lựa đúng khóa học
phù hợp, Bot có khả năng xử lý đa dạng những tư vấn của người dùng.
− Đối với ứng dụng:
+ Giao diện thân thiện, tiện dụng hướng người dùng, cung cấp đầy đủ thông
tin về trung tâm, về khóa học
+ Tích hợp Chatbot trị chuyện và tư vấn tự động giữa Bot với người dùng
+ Cung cấp chức năng đăng kí lịch hẹn thi thử tại trung tâm
+ Cung cấp các chức năng quản lí bài viết bao gồm đăng tải, thay đổi và xóa
+ Cung cấp chức năng quản lý tài khoản nội bộ trong trung tâm
+ Cung cấp chức năng quản lý và cập nhật kịch bản của Chatbot
4. Đối tượng sử dụng:
− Tất cả mọi người muốn tìm hiểu thơng tin về trung tâm, có nhu cầu đăng ký các
khóa học tiếng Anh tại trung tậm. hoặc cần được tư vấn để biết thêm thơng tin
về lộ trình học, về khóa học phù hợp cho bản thân
− Quản trị viên phía trung tâm muốn thực hiện các công việc quản lý cũng như
cung cấp thơng tin (về trung tâm, về khóa học, về các chương trình đào tạo…)
đến mọi người truy cập vào ứng dụng
5. Phương pháp thực hiện:
Phương pháp làm việc:
− Làm việc nhóm 2 thành viên thơng qua cả 2 phương thức online và offline dưới
sự hướng dẫn của giảng viên hướng dẫn.
Phương pháp nghiên cứu:
− Phân tích nhu cầu sử dụng của đối tượng người dùng.
− Nghiên cứu tài liệu các công nghệ liên quan.
Phương pháp công nghệ:
− Tìm hiểu tích hợp chatbot trên ứng dụng Web với Dialogflow Chatbot
9
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
− Xây dựng giao diện Web để người dùng có thể sử dụng
− Tìm hiểu về Dialogflow Chatbot
− Quản lý source code thông qua Github
− Sử dụng Google doc, Office 365 Wỏd… để quản lý tiến trình và tài liệu
6. Nền tảng công nghệ:
− Front-end: ReactJS
− Back-end: NodeJS
− Database: MySQL
− Hỗ trợ liên kết ExpressJS
− Visual Studio Code
− DialogFlow Chatbot
7. Kết quả mong đợi:
−
Chatbot có khả năng phản hồi nhanh và chính xác ở mức tương đối.
−
Ứng dụng di động hoạt động ổn định, có thể xử lý thơng tin nhanh chóng…
8. Hướng phát triển của đề tài:
− Nâng cấp khả năng học sâu cho ChatBot
− Thêm tính năng thi thử trực tuyến
− Thêm các tính năng thống kê, tiện ích dành cho quản trị viên
− Nâng cấp giao diện, thêm bộ chuyển đổi ngôn ngữ sang English
− Nâng cấp source code, tăng tốc độ xử lý của Web nhanh chóng, ổn định
9. Kế hoạch làm việc:
Thời gian thực hiện từ ngày 25/2/2022 đến ngày kết thúc môn Đồ án 1
Nhóm chia thành 2 giai đoạn cụ thể:
Giai đoạn 1: Hoàn thiện phần giao diện người dùng, phân quyền đăng nhập và
tích hợp ChatBot Dialogflow. Gồm 3 sprint với thời gian mỗi sprint kéo dài 2
tuần:
Thời gian: 25/2/2022 – 8/4/2022
Sprint 1: Tìm hiểu cơng nghệ
Sprint 2: Phân tích u cầu và chức năng, chuẩn bị tài liệu, chuẩn bị bản vẽ, xây
10
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
dựng CSDL
Sprint 3: Xây dựng và phát triển ứng dụng, tập trung phân quyền đăng nhập và
các phần liên kết (liên kết Database, liên kết Chatbot...)
Sprint
Thời gian
Sprint 1
25/2/2022 – 11/3/2022
Công việc dự kiến
− Tìm hiểu cơng nghệ
− Tìm hiểu các yêu cầu nghiệp vụ
của đề tài
Sprint 2
11/3/2022 – 25/3/2022
− Phân tích yêu cầu và chức năng
của ứng dụng
− Viết tài liệu mô tả
− Xây dựng bản vẽ
− Xây dựng CSDL
Sprint 3
25/3/2022 – 8/4/2022
− Xây dựng giao diện ứng dụng
− Xây dựng Chatbot với các thoại
cơ bản
− Xây dựng các tính năng cơ bản
của ứng dụng
− Liên kết Chatbot vào ứng dụng
Giai đoạn 2: Hồn thiện các tính năng năng cơ bản và nâng cao của ứng dụng,
triển khai và kiểm thử ứng dụng, viết báo cáo.... Gồm 3 sprint với thời gian mỗi
sprint kéo dài 2 tuần:
Thời gian: 8/4/2022 – 6/5/2022 - báo cáo cuối kỳ
Sprint 4: Hồn thiện tính năng của ứng dụng
Sprint 5: Hồn thiện tính năng của ứng dụng
Sprint 6: Triển khai và viết báo cáo
Sprint
Thời gian
Công việc dự kiến
11
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
Sprint 4
8/4/2022 – 22/4/2022
− Tiếp tục hồn thiện các tính
năng của ứng dụng
− Kiểm thử ứng dụng
Sprint 5
22/4/2022 – 6/5/2022
− Tiếp tục hồn thiện các tính
năng của ứng dụng
− Kiểm thử ứng dụng
Sprint 6
6/5/2022 - báo cáo cuối kỳ
− Kiểm thử ứng dụng
− Viết báo cáo
10. Phân công công việc:
Công việc
Cơng việc chung
Mơ tả cơng việc
− Tìm hiểu cơng nghệ
− Phân tích u cầu
− Lập trình các tính năng
− Kiểm thử
− Chuẩn bị tài liệu, viết báo cáo
Công việc cá nhân
Nguyễn Hồ Quỳnh Thư
Cao Ngọc Anh
− Xây dựng Chatbot
− Xây dựng bản vẽ
− Liên kết Chatbot
− Xây dựng CSDL
− Lập trình Back-end
− Liên kết CSDL
− Lập trình Front-end
Tp.Hồ Chí Minh, ngày 25 tháng 2 năm 2022
12
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
NỘI DUNG
CHƯƠNG 1: GIỚI THIỆU CHUNG
1.1. Tổng quan đề tài
-
Tên ứng dụng: Course Adviser With Chatbot
-
Chủ đề chính: Tư vấn khóa học Tiếng Anh cho một trung tâm cụ thể
-
Nền tảng phát triển: Website trên Máy tính cá nhân
-
Mơ hình phát triển: MVC
-
Tích hợp chatbot: DialogFlow
1.2. Lý do chọn đề tài
Hiện nay, nhu cầu học tiếng Anh của mọi người ngày một tăng nhanh. Trong các
trung tâm Anh ngữ, khóa học thơng thường có rất nhiều dạng hình thức khác nhau. Vì
vậy mà, nhu cầu cần được tư vấn để lựa chọn khóa học tiếng Anh phù hợp cho bản thân
là một vấn đề đang được những người mong muốn đăng ký học tiếng Anh tại trung tâm
quan tâm đến. Đồng thời, bên cạnh đó, cũng có nhiều người đã tham gia khóa học tại
trung tâm và khơng biết lộ trình học tiếp theo. Để đáp ứng những nhu cầu đó, nhóm em
quyết định chọn đề tài này, phát triển một website cung cấp nhanh chóng thơng tin về
phía trung tâm tiếng Anh và tích hợp chatbot hỗ trợ tự động tư vấn, hướng dẫn đăng ký
đến với người dùng truy cập vào ứng dụng.
Website hỗ trợ tư vấn khóa học của nhóm sẽ tập trung 4 Loại Khóa học mà học
viên có thể chọn lựa, bao gồm:
-
Luyện thi IELTS
-
Luyện thi TOEIC
-
Tiếng Anh giao tiếp
-
Tiếng Anh cho bé
Các loại Khóa học Luyện thi có 3 cấp độ là PRE, INTER, ADV tương ứng với
mức độ nhập mơn, trung bình và nâng cao. Để đăng ký các Khóa học này, học viên sẽ
phải trải qua một bài kiểm tra đầu vào để xác định trình độ. Nếu học viên vẫn chưa có
kiến thức về tiếng Anh, hoặc khơng tham gia kiểm tra đầu vào, sẽ được mặc định xếp
vào cấp nhập mơn, PRE, của mỗi khóa học đăng ký.
13
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
Trung tâm sẽ phân bố xếp lớp dựa vào kết quả bài kiểm tra đầu vào của học viên.
Nếu muốn học cao hơn, học viên bắt buộc phải đạt chỉ tiêu của các lớp học trước đó,
thơng qua các bài kiểm tra thử của trung tâm.
Khóa Tiếng Anh giao tiếp hướng tới các đối tượng chính là những người đã và
đang đi làm. Khóa tập trung phát triển 2 kĩ năng là giao tiếp và viết bằng Anh ngữ một
cách thực tiễn và hiệu quả trong công việc và đời sống.
Khóa học này có 2 chương trình là SPEAKING FOR COMMUNITY rèn luyện
giao tiếp và ADVANCE WRITING phát triển kĩ năng viết tài liệu. Cả 2 chương trình
này đều khơng có yêu cầu đầu vào.
Cuối cùng, khóa Tiếng Anh cho bé là khóa học dành cho trẻ em từ 3 đến 16 tuổi.
Khóa phân ra 3 cấp: JUMPSTART (dành cho trẻ từ 3 – 6 tuổi), JUNIOR (dành cho trẻ
từ 6 đến 11 tuổi) và TEEN (dành cho trẻ từ 11 đến 16 tuổi). Các cấp độ này khơng có
u cầu đầu vào và chỉ xét dựa trên độ tuổi của bé để ứng tuyển. Mỗi khóa sẽ kèo dài
trong 1 năm.
Thời gian mỗi chương trình ở các khóa học Luyện thi IELTS, TOEIC và Tiếng
Anh giao tiếp phân thành loại Cấp tốc hoặc loại Thường, tương ứng với mốc thời gian
là 6 tháng hoặc 1 năm cho một khóa đào tạo. Ngồi ra, trung tâm cũng hỗ trợ chương
trình đặc biệt học 1 kèm 1 cho các khọa học trên. Học phí sẽ được tính theo các cách
khác nhau tùy vào loại thời gian cũng như chương trình đặc biệt được áp dụng vào khóa
khi đăng kí.
Ứng dụng cung cấp những tính năng tiện ích giúp học viên có thể tiếp cận đến
những thông tin mới về trung tâm, về khóa học thơng qua hình thức bài viết, hoặc
ChatBot tự động tư vấn khóa học. Bên cạnh đó, nhân viên phía trung tâm cũng có thể
truy cập vào Ứng dụng để cập nhật, đăng tin một cách dễ dàng và nhanh chóng.
1.3. Đối tượng sử dụng
Tất cả mọi người muốn đăng ký các khóa học tiếng Anh tại trung tậm. hoặc đã
học nhưng chưa nắm rõ lộ trình giảng dạy của trung tâm
Quản trị viên phía trung tâm muốn cung cấp thơng tin (về trung tâm, về khóa
học, về các chương trình đào tạo…) đến mọi người truy cập vào ứng dụng
14
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
1.4. Phạm vi nghiên cứu
1.4.1. Phạm vi môi trường: Website trên máy tính cá nhân
1.4.2. Phạm vi chức năng:
-
Đối với chatbot:
+ Có khả năng trả lời các câu hỏi về khóa học một cách chi tiết
+ Phân tích được nhu cầu và đưa ra tư vấn hợp lý đối với người dùng
+ Cung cấp liên hệ trực tiếp đến với nhân viên tư vấn khi vấn đề đặt ra ngoài
phạm vi của bản thân nó và cập nhập được cách xử lý đối với các trường hợp này
+ Đăng kí lịch hẹn thi thử tại trung tâm
+ Cung cấp các thơng tin về lộ trình học
+ Chatbot hiểu được tương đối tiếng Việt
-
Đối với ứng dụng:
+ Cung cấp thông tin mới nhất về trung tâm, về khóa học của trung tâm
+ Cung cấp chức năng đăng kí lịch hẹn thi thử tại trung tâm
+ Cung cấp các chức năng quản lí bài viết bao gồm đăng tải, cập nhập, xóa bỏ
và thống kê danh sách bài viết
+ Cung cấp các chức năng quản lí hỏi đáp bao gồm đăng tải, cập nhập, xóa bỏ
và thống kê danh sách hỏi đáp
+ Cung cấp các chức năng quản lí nhân sự (cụ thể là tài khoản được đăng kí trong
hệ thống) bao gồm tạo, cập nhập, kích hoạt, hơ hiệu hóa và thống kê danh sách tài khoản
+ Cung cấp các chức năng quản lí chatbot (cụ thể là tác động đến một số câu
thoại và nội dung tư vấn của bot) bao gồm cập nhập, kích hoạt, hơ hiệu hóa và kiểm thử
kết quả trên test bot.
15
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. IDE – Visual Studio Code
Hình 2.1-1: Visual Studio Code
Visual Studio Code là một trình soạn thảo mã nguồn được phát triển bởi
Microsoft dành cho Windows, Linux và macOS. Visual Studio Code là một trong những
trình biên tập mã phổ biến nhất hiện nay, và đang ngày càng chứng tỏ ưu thế vượt trội
của mình so với những phần mềm khác. Nó hỗ trợ chức năng debug, đi kèm với Git, có
chức năng nổi bật cú pháp (syntax highlighting), tự hồn thành mã thơng minh, snippets,
và cải tiến mã nguồn.
Visual Studio Code có rất nhiều ưu điểm vượt trội so:
-
Hỗ trợ đa nền tảng: Windows, Linux, Mac
-
Hỗ trợ đa ngôn ngữ: C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript,
JSON
-
Ít dung lượng
-
Tính năng mạnh mẽ
-
Intellisense chun nghiệp
-
Giao diện thân thiện
-
Là phần mềm miễn phí
16
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
2.2. HTML
Hình 2.2-1: HyperText Markup Language — HTML
HTML viết tắt cho HyperText Markup Language được sử dụng để thiết kế các
trang web sử dụng ngôn ngữ đánh dấu (Markup language). HTML có sự kết hợp giữa
Hypertext và Markup language. Hypertext định nghĩa liên kết giữa các trang web. Ngôn
ngữ đánh dấu được dùng để định nghĩa tài liệu bên trong các thẻ tạo nên cấu trúc của
các trang web, nhằm giúp mày tình có thể nhận dạng, hiểu và kiểm sốt văn bản. Hầu
hết các ngơn ngữ đánh dấu đều có thể dễ dàng đọc hiểu bởi người lập trình. Ngôn ngữ
đánh dấu dùng thẻ để định dạng xem văn bản có thể được kiểm sốt và thao tác thế nào.
HTML là một ngôn ngữ đánh dấu ứng dụng trong trình duyệt để quản lý văn bản,
hình ảnh, và các nội dung khác, nhằm trình bày chúng theo định dạng được yêu cầu.
HTML được sáng tạo bởi Tim Berners-Lee vào năm 1991. Phiên bản đầu tiên của
HTML là HTML 1.0, nhưng bản tiêu chuẩn lại là HTML 2.0, ra mắt vào năm 1999
17
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
2.3. CSS
Hình 2.3-1: Cascading Style Sheets — CSS
CSS viết tắt cho Cascading Style Sheets, là ngôn ngữ dùng để mô tả cách trình
bày của các trang web, tạo style sheets cho web. Nó có sự hỗ trợ của HTML và có thể
được sử dụng với bất kì ngơn ngữ đánh dấu dạng XML nào.
CSS là công nghệ đầu tiên mà bạn nên học sau HTML. Khi HTML được sử dụng
để định nghĩa cấu trực và ý nghĩa cho nội dung web, CSS được dùng để trang trí và
trình bày nó. Ví dụ, bạn có thể dùng CSS để thay đổi phơng, màu, kích thước, và khoảng
cách các nội dung, chia chúng thành nhiều cột, hoặc thêm các hoạt ảnh và các tính năng
trang trí khác.
18
ỨNG DỤNG TƯ VẤN KHĨA HỌC
HỖ TRỢ CHATBOT
2.4. Javascript
Hình 2.4-1: JavaScript
JavaScript, theo phiên bản hiện hành, là một ngơn ngữ lập trình thơng dịch được
phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho các trang
web (phía người dùng) cũng như phía máy chủ (với Nodejs). Nó vốn được phát triển
bởi Brendan Eich tại Hãng truyền thông Netscape. Giống Java, JavaScript có cú pháp
tương tự C, nhưng nó gần với Self hơn Java. .js là phần mở rộng thường được dùng cho
tập tin mã nguồn JavaScript.
Trên trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web
động và một số hiệu ứng hình ảnh thơng qua DOM. JavaScript được dùng để thực hiện
một số tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập vào,
tự động thay đổi hình ảnh,...
19
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
2.5. ReactJS
Hình 2.5-1: ReactJS
ReactJS là một thư viện JavaScript có tính hiệu quả và linh hoạt để xây dựng các
thành phần giao diện người dùng (UI) có thể sử dụng lại. ReactJS giúp phân chia các
UI phức tạp thành các thành phần nhỏ (được gọi là component). Nó được tạo ra bởi
Jordan Walke, một kỹ sư phần mềm tại Facebook. ReactJS ban đầu được phát triển và
duy trì bởi Facebook và sau đó được sử dụng trong các sản phẩm của mình như
WhatsApp & Instagram.
ReactJS được dùng để xây dựng các ứng dụng [single page application] (SPA).
Một trong những điểm hấp dẫn của ReacJS là nó khơng chỉ được xây dựng bên phía
clients mà cịn sử dụng được bên phía server.
20
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
2.6. NodeJS
Hình 2.6-1: nodeJS
NodeJS là mã nguồn mở chạy trên mơi trường V8 JavaScript runtime (một trình
thơng dịch JavaScript chạy cực nhanh trên trình duyệt Chrome). NodeJS giúp các nhà
phát triển xây dựng các ứng dụng web một cách đơn giản và dễ dàng mở rộng.
NodeJS có thể được dùng để xây dựng các loại ứng dụng khác nhau như các ứng
dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thời gian thực, máy chủ REST
API,.. Tuy nhiên, NodeJS thường được dùng chủ yếu để xây dựng các chương trình
mạng như máy chủ web, tương tự như PHP, Java hoặc ASP.NET.
Vì đây là mã nguồn mở nên cho phép bạn sử dụng miễn phí và đồng thời được
liên tục được chỉnh sửa, cải tiến bởi cộng đồng các nhà phát triển tồn cầu
21
ỨNG DỤNG TƯ VẤN KHĨA HỌC
HỖ TRỢ CHATBOT
2.7. npm
Hình 2.7-1: Node package manager – npm
NMP là viết tắt của Node package manager là một công cụ tạo và quản lý các
thư viện lập trình Javascript cho Node.js. Trong cộng đồng Javascript, các lập trình viên
chia sẻ hàng trăm nghìn các thư viện với các đoạn code đã thực hiện sẵn một chức năng
nào đó. Nó giúp cho các dự án mới tránh phải viết lại các thành phần cơ bản, các thư
viện lập trình hay thậm chí cả các framework. Nói cách khách, NPM giúp bạn quản lý,
tải và include các thư viện có sẵn. Cộng đồng sử dụng npm rất lớn, hàng nghìn các thư
viện được phát hành, hỗ trợ Javascript ES6, React, Express, Grunt, Duo…
22
ỨNG DỤNG TƯ VẤN KHÓA HỌC
HỖ TRỢ CHATBOT
2.8. MySQL
Hình 2.8-1: Hệ quản trị cơ sở dữ liệu MySQL
MySQL là cơ sở dữ liệu tốc độ cao, ổn định hoạt động trên nhiều hệ điều hành,
cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Hệ quản trị cơ sở dữ liệu MySQL
được hiểu như là chương trình dùng để quản lý hệ thống cơ sở dữ liệu, trong đó, cơ sở
dữ liệu là một hệ thống lưu trữ thông tin được sắp xếp rõ ràng, phân lớp ngăn nắp. Nó
giúp bạn có thể truy cập dữ liệu một cách thuận lợi và nhanh chóng nhất. Vì hỗ trợ đa
số các ngơn ngữ lập trình nên MySQL chính là hệ quản trị cơ sở dữ liệu tự do nguồn
mở phổ biến nhất trên thế giới. Hiện MySQL đang được các nhà phát triển rất ưa chuộng
trong q trình phát triển ứng dụng.
23
ỨNG DỤNG TƯ VẤN KHĨA HỌC
HỖ TRỢ CHATBOT