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

Đồ án xây dựng ứng dụng chatbot hỗ trợ tư vấn sức khỏe

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

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA CƠNG NGHỆ PHẦN MỀM

Lê Hồng Phú - 19520216
Trương Vĩnh Thái - 19520940

ĐỒ ÁN 1
XÂY DỰNG ỨNG DỤNG CHATBOT
HỖ TRỢ TƯ VẤN SỨC KHỎE
BUILDING CHATBOT APPLICATION
TO SUPPORT HEALTH ADVICE

GIẢNG VIÊN HƯỚNG DẪN
Thạc sĩ: Trần Anh Dũng

TP. HỒ CHÍ MINH, 2021


THÔNG TIN HỘI ĐỒNG CHẤM ĐỒ ÁN 1

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
…………………… ngày ………………….. của Hiệu trưởng Trường Đại học Công
nghệ Thông tin.
1. …………………………………………. – Chủ tịch.
1. …………………………………………. – Thư ký.
1. …………………………………………. – Ủy viên.
1. …………………………………………. – Ủy viên.


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH



CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP. HCM, ngày tháng năm 2021

NHẬN XÉT ĐỒ ÁN 1
(CỦA CÁN BỘ HƯỚNG DẪN)
Tên đồ án 1:
Xây dựng ứng dụng Chatbot hỗ trợ tư vấn sức khỏe
Nhóm sinh viên thực hiện:

Cán bộ hướng dẫn:

LÊ HOÀNG PHÚ

19520216

ThS. Trần Anh Dũng

TRƯƠNG VĨNH THÁI

19520940

Đánh giá Đồ án 1:

1. Về cuốn báo cáo:
Số trang

Số chương

Số bảng số liệu

Số hình vẽ

Số tài liệu tham khảo

Sản phẩm

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

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


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




4. Về thái độ làm việc của sinh viên:
Đánh giá chung:
Điểm từng sinh viên:
LÊ HOÀNG PHÚ: ………../10
TRƯƠNG VĨNH THÁI: ………../10

Người nhận xét

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

Trần Anh Dũng


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập – Tự Do – Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP. HCM, ngày tháng năm 2021

NHẬN XÉT ĐỒ ÁN 1
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
Xây dựng ứng dụng Chatbot hỗ trợ tư vấn sức khỏe
Nhóm sinh viên thực hiện:

Cán bộ phản biện:

LÊ HỒNG PHÚ

19520216

ThS. Trần Anh Dũng


TRƯƠNG VĨNH THÁI

19520940

Đánh giá Khóa luận:
1. Về cuốn báo cáo:
Số trang

Số chương

Số bảng số liệu

Số hình vẽ

Số tài liệu tham khảo

Sản phẩm

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

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


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




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

Đánh giá chung:
Điểm từng sinh viên:
LÊ HOÀNG PHÚ: ………../10
TRƯƠNG VĨNH THÁI: ………../10

Người nhận xét
(Ký và ghi rõ họ tên)


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 và các kỹ năng thực tế để có thể hồn thành Đồ án 1 của mình.
Để hồn thành Đồ án 1, 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 và
tài liệu thuận lợi cho việc tìm kiếm và nghiên cứu thơng tin.
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 đồ
á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è và 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ơ để đồ án được hoàn
thiện hơn.
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 2021

Sinh viên

LÊ HOÀNG PHÚ
TRƯƠNG VĨNH THÁI


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

TP. HCM, ngày….. tháng ….. năm 2021

ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Xây dựng ứng dụng Chatbot hỗ trợ tư vấn sức khỏe
TÊN ĐỀ TÀI (TIẾNG ANH): Building Chatbot application to support health
advice
Cán bộ hướng dẫn: ThS. Trần Anh Dũng
Thời gian thực hiện: Từ ngày 07/10/2021 đến ngày 25/12/2021
Sinh viên thực hiện:
Lê Hoàng Phú – 19520216
Trương Vĩnh Thái – 19520940
Nội dung đề tài
1. Lý do chọn đề tài:
Theo định nghĩa về sức khỏe của WHO thì: “Sức khỏe là trạng thái thoải mái tồn

diện về thể chất, tinh thần và xã hội, chứ không phải là chỉ là khơng có bệnh tật hay
tàn phế”. Như vậy, có thể nói sức khỏe là quan trọng và vấn đề về sức khỏe thì cần
được con người quan tâm hơn. Tuy nhiên, việc dừng lại ở mức độ “quan tâm” mà
khơng có hành động chăm sóc, bảo vệ sức khỏe cũng sẽ không giúp chúng ta nâng
cao chất lượng cuộc sống.
Trước tình hình dịch bệnh Covid-19 đang có diễn biến phức tạp như hiện nay, rất
nhiều nước trên thế giới đang áp dụng hình thức tư vấn sức khỏe trực tuyến để góp
phần giảm tải cho bệnh viện, hạn chế người dân đến các cơ sở y tế nhằm giảm nguy
cơ lây nhiễm bệnh,… Tuy nhiên, nếu việc tư vấn sức khỏe trực tuyến theo kiểu


truyền thống, thì số người được đáp ứng tư vấn sức khỏe rất hạn chế vì nguồn nhân
lực lúc này có giới hạn.
Để giải quyết được tình trạng đó, chúng em quyết định chọn đề tài này để giúp tất
cả mọi người có thể được tư vấn sức khỏe một cách nhanh chóng, thường xun và
chính xác mà khơng cần phải chờ đợi người đáp ứng.
Tình trạng các chatbot hiện nay:





Khá nhiều các chatbot hỗ trợ tư vấn sức khỏe hiện nay chủ yếu trả lời các
câu hỏi đơn giản và có sẵn. Các câu hỏi phức tạp hoặc dạng câu hỏi đơn giản
hàng ngày vẫn chưa được hỗ trợ một cách chính xác. Tuy vậy, việc tích hợp
các cơng nghệ như trí tuệ nhân tạo (AI), xử lý ngơn ngữ tự nhiên (NLP) vẫn
đang được chú ý, vận hành và không ngừng cải tiến trong việc xây dựng các
chatbot.
Một số chatbot trả lời người dùng với nội dung không cụ thể và không giải
quyết được vấn đề.

Vấn đề về sức khỏe là một vấn đề rất quan trọng. Chính vì thế, độ chính xác
là cực kỳ quan trọng. Với một chatbot về tư vấn sức khỏe thì đây là yếu tố
không thể bỏ qua.

⇒ Với những nguyên nhân trên, chúng em quyết định chọn đề tài xây dựng một
chatbot tư vấn sức khỏe để tiến hành nghiên cứu và xây dựng. Mục đích chính trong
lần nghiên cứu này là tạo ra một chatbot có thể hỗ trợ cơ bản với người dùng. Ngoài
ra, lần nghiên cứu này sẽ hỗ trợ rất nhiều trong việc thực hiện khóa luận tốt nghiệp
cho năm học sau.
2. Mục tiêu: Bao gồm 2 mục tiêu chính:
1. Xây dựng chatbot:
+ Xây dựng hệ thống trả các câu hỏi thường gặp về bệnh cao huyết áp.
+ Áp dụng xử lý ngôn ngữ tự nhiên để giao tiếp.
+ Cung cấp các cách xử lý nhanh các trường hợp bệnh có liên quan đến bệnh
cao huyết áp.
+ Cung cấp chỉ mục bài viết về các bài tập rèn luyện sức khỏe.
+ Cung cấp phương pháp để người dùng có thể gặp trực tiếp bác sĩ.
2. Xây dựng trang web tích hợp chatbot: Bao gồm những chức năng mở rộng khác
như:


− Quản lý nhân sự.
− Danh mục bài viết: Thuốc, nghiên cứu về sức khỏe, thể dục thể thao và hướng
dẫn sơ cấp cứu.
− Bình luận và đánh giá bài viết.
3. Phạm vi:
Phạm vi môi trường: Web.
Phạm vi chức năng:
− Đối với chatbot:
+ Có thể trả lời nhanh các vấn đề thường gặp đối với bệnh cao huyết áp như

nguyên nhân, cách sinh hoạt, thuốc, …
+ Tìm kiếm và cung cấp các thông tin về các hướng dẫn tập thể dục hoặc sơ
cấp cứu tại trang web.
+ Chatbot hiểu được tương đối ngôn ngữ tự nhiên.
− Đối với ứng dụng web:
+ Cung cấp chức năng quản lý danh mục bài viết và nhân sự.
+ Cung cấp tính năng bình luận và đánh giá.
+ Thống kê số lượng tương tác đánh giá và các vấn đề được quan tâm.
4. Đối tượng sử dụng: Tất cả mọi người có liên quan đến bệnh cao huyết áp, chăm
sóc người bệnh cao huyết áp hoặc người muốn nghiên cứu về loại bệnh này.
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 về các ngơn ngữ lập trình mới.
− Tìm hiểu bài tốn xử lý ngôn ngữ tự nhiên.
− Xây dựng giao diện web để tương tác với người dùng.


− Tìm hiểu bài tốn xử lí ngơn ngữ tự nhiên.
6. Nền tảng công nghệ:
− Frontend: HTML, CSS, Bootstrap 5.
− Backend: Javascript, PHP.
− Database: phpMyAdmin.
− NLP: VnCoreNLP.
7. Kết quả mong đợi:



Chatbot có khả năng phản hồi nhanh và chính xác ở mức cao.



Trang web có khả năng tương thích với nhiều thiết bị và tương tác với người
dùng ổn định.

8. Hướng phát triển của đề tài:
Đề tài cho phép chúng ta mở rộng và phát triển nhằm xây dựng một ứng dụng hồn
chỉnh:
- Thêm hệ thống minh họa bằng hình ảnh, gif trực quan, sinh động.
- Tối ưu hóa thuật toán để hiểu người dùng tối hơn.
- Nghiên cứu áp dụng real-time training cho chatbot nhằm đáp ứng các tương tác
“lạ”.
- Hỗ trợ chatbot đa nền tảng.
9. Kế hoạch làm việc:
Thời gian thực hiện từ ngày 7/10/2021 đến ngày 25/12/2021.
Các giai đoạn triển khai cơ bản như sau:
Giai đoạn 1: Hoàn thiện các chức năng cơ bản. Giai đoạn này gồm 3 sprint:
Thời gian: 7/10/2021 – 13/11/2021.
Sprint 1: Tìm hiểu cơng nghệ.
Sprint 2: Phân tích u cầu và chức năng, xây dựng CSDL và thiết kế giao diện.


Sprint 3: Xây dựng và phát triển ứng dụng ở mức độ sơ khai.
Sprint

Thời gian


Sprint 1 8/10/2021

Công việc
- Lựa chọn đề tài.

- 29/10/2021 - Tìm hiểu cơng nghệ.
- Khảo sát các ứng dụng liên quan.
Sprint 2 30/10/2021
- 6/11/2021

- Phân tích yêu cầu và chức năng.
- Xây dựng CSDL.
- Tìm hiểu xử lý ngôn ngữ tự nhiên.

Sprint 3 7/11/2021

- Xây dựng phpMyAdmin.

- 13/11/2021 - Xây dựng giao diện web.
- Xây dựng chatbot với các chức năng cơ bản.
- Áp dụng cơ bản xử lý ngôn ngữ tự nhiên ở mức nhận
biết.
- Test thử lần 1.
Giai đoạn 2: Hoàn thiện các chức năng trong giai đoạn 1, đồng thời xây dựng hoàn
thiện các chức năng, triển khai viết báo cáo. Giai đoạn này gồm 3 sprint:
Thời gian: 14/11/2021 – 25/12/2021.
Sprint 4: Hoàn thiện các chức năng ở giai đoạn 1.
Sprint 5: Xây dựng hoàn thiện các chức năng.
Sprint 6: Triển khai và viết báo cáo.
Sprint


Thời gian

Cơng việc

Sprint 4 14/11/2021 - Hồn thiện các thành phần ở giai đoạn 1.
- 20/11/2021 - Tìm và sửa lỗi.
Sprint 5 21/11/2021 Chatbot:
- 27/11/2021 - Thêm các chức năng như cung cấp thông tin thuốc, cung
cấp các liên kết đến các bài viết có liên quan, …


Web: Xử lý các chức năng như:
- Cho phép người dùng có vai trị là bác sĩ và y sĩ thực hiện
đóng góp danh mục bài viết và thực hiện tư vấn trực tiếp.
- Cho phép quản trị viên kiểm duyệt nội dung đóng góp và
thống kê lỗi.
- Hệ thống tự động tạo các bài viết đề xuất theo lượt đánh
giá.
Sprint 6 28/11/2021 - Triển khai sản phẩm.
- 25/12/2021 - Viết báo cáo.
10. Phân công công việc
Công việc
Công việc - Phân tích yêu cầu, chức năng.
chung
- Xây dựng CSDL.
- Thiết kế giao diện người dùng.
- Tìm hiểu xử lí ngơn ngữ tự nhiên.
Lê Hồng Phú
Cơng việc - Thiết kế chatbot.

cá nhân
- Thiết kế website.
Xác nhận của CBHD
(Ký tên và ghi rõ họ tên)

Trương Vĩnh Thái
- Thiết kế chatbot.
- Viết báo cáo.
TP. HCM, ngày 15 tháng 10 năm 2021


MỤC LỤC
GIỚI THIỆU CHUNG ................................................................... 20
Lý do chọn đề tài ..................................................................................... 20
Tính năng mới/khác biệt ........................................................................... 20
Đối tượng nghiên cứu ............................................................................... 21
Phạm vi nghiên cứu .................................................................................. 21
Phương pháp thực hiện ............................................................................. 22
KIẾN THỨC NỀN TẢNG ............................................................. 23
Mơ hình MVC ......................................................................................... 23
Khái niệm ......................................................................................... 23
Cấu trúc mơ hình MVC ...................................................................... 23
Tầng xử lý – Controller ........................................................................ 23
Tầng logic dữ liệu – Model .................................................................. 24
Tầng giao diện – View ......................................................................... 24
Mơ hình MVC trong ứng dụng web ..................................................... 24
HTML .................................................................................................... 25
CSS ........................................................................................................ 25
Bootstrap................................................................................................. 26
Javascript ................................................................................................ 26

PHP ........................................................................................................ 27
phpMyAdmin .......................................................................................... 27
TÌM HIỂU VÀ LỰA CHỌN CƠNG NGHỆ ỨNG DỤNG CHATBOT28
Tìm hiểu về chatbot .................................................................................. 28
Chatbot là gì? .................................................................................... 28
Tính ứng dụng ................................................................................... 28


Xu hướng phát triển ........................................................................... 29
Tìm hiểu về Facebook Messenger .............................................................. 30
Tổng quan ......................................................................................... 30
Đánh giá ........................................................................................... 31
Giới thiệu về Chatbot Facebook Messenger ......................................... 31
Cách hoạt động.................................................................................. 32
Một số khái niệm cơ bản .................................................................... 32
Webhook ............................................................................................... 32
Facebook Application ........................................................................... 32
Hosting.................................................................................................. 32
Heroku .................................................................................................. 33
Áp dụng công nghệ vào chatbot................................................................. 33
Facebook API ................................................................................... 33
Đánh dấu từ loại ................................................................................ 33
Tách câu đa nghĩa .............................................................................. 34
Phân loại từ nhanh ............................................................................. 34
XÂY DỰNG HỆ THỐNG .............................................................. 35
Xây dựng kiến trúc hệ thống ..................................................................... 35
Kiến trúc hệ thống website ................................................................. 35
Kiến trúc hệ thống chatbot .................................................................. 35
Phân tích thiết kế hệ thống ........................................................................ 36
Sơ đồ use case ................................................................................... 36

Sơ đồ module .................................................................................... 38
Sơ đồ dữ liệu ..................................................................................... 39
Thiết kế giao diện trang web ..................................................................... 40


Sơ đồ thiết kế giao diện trang web ....................................................... 40
Danh sách giao diện trang web ............................................................ 40
Mô tả chi tiết giao diện trang web ....................................................... 40
Thiết kế giao diện chat bot .................................................................. 40
Sơ đồ kịch bản chatbot ....................................................................... 40
Kết quả đạt được ............................................................................... 40
KẾT LUẬN, HƯỚNG PHÁT TRIỂN ............................................. 41
Ưu điểm .................................................................................................. 41
Nhược điểm............................................................................................. 41
Kết quả đạt được ...................................................................................... 41
Về mặt nghiên cứu ............................................................................. 41
Về mặt sản phẩm ............................................................................... 41
Hướng phát triển ...................................................................................... 42
TÀI LIỆU THAM KHẢO............................................................................... 43


DANH MỤC HÌNH ẢNH
Hình 2.1.1.1 Mơ hình MVC ......................................................................................... 23
Hình 2.1.3.1. Mơ hình MVC trong lập trình web ......................................................... 24
Hình 3.1.1.1. Cách thức hoạt động của chatbot............................................................ 28
Hình 3.1.3.1. Thống kê lượng người dùng của các ứng dụng nhắn tin ........................ 29
Hình 3.2.1.1. Lượng người sử dụng Facebook Messenger theo thời gian ................... 30
Hình 3.2.3.1. Chatbot Facebook Messenger................................................................. 31
Hình 3.2.4.1. Cách hoạt động của chatbot liên kết với Messenger .............................. 32
Hình 3.3.1.1 Facebook API .......................................................................................... 33

Hình 4.1.1.1. Kiến trúc hệ thống của website .............................................................. 35
Hình 4.1.2.1. Kiến trúc hệ thống chatbot ..................................................................... 35
Hình 4.2.1.1 Use case liên quan đến hệ thống tài nguyên trên website ....................... 36
Hình 4.2.1.2 Use case liên quan đến hệ thống quản trị trên website ............................ 37
Hình 4.2.1.3 Use case liên quan đến hệ thống người dùng trên website...................... 37
Hình 4.2.1.4 Use case liên quan đến hệ thống chatbot trên website ............................ 38
Hình 4.2.2.1 Sơ đồ module của website ....................................................................... 38
Hình 4.2.3.1 Sơ đồ dữ liệu của website ........................................................................ 39


DANH MỤC TỪ VIẾT TẮT
Từ viết tắt
API

Từ đầy đủ

Giải thích

Application Programming Giao diện lập trình ứng dụng
Interface

CSDL

Cơ sở dữ liệu

Cơ sở dữ liệu cho ứng dụng

HTTP

HyperText Transfer


Giao thức truyền siêu văn bản

Protocol
MVC

Model-View-Controller

Mơ hình lập trình

NLP

Natural Language

Xử lý ngơn ngữ tự nhiên

Processing
POS

Part of Speech

Từ loại

RBSBD

Rule based Sentence

Xác định vị trí ngắt câu dựa theo quy tắc

Boundary Detection


xác định trước


TÓM TẮT ĐỒ ÁN
Đồ án “Xây dựng ứng dụng chatbot hỗ trợ tư vấn sức khỏe” gồm 06 chương:
Chương 1: Giới thiệu về đề tài, đưa ra các điểm nổi bật của ứng dụng so với các ứng
dụng trước đó. Tiếp đến là đề xuất các giải pháp để giải quyết các vấn đề đã đặt ra.
Ngoài ra, chương 1 cũng đề cập đến đối tượng nghiên cứu, phạm vi đề tài và phương
pháp nghiên cứu.
Chương 2: Trình bày các kiến thức nền tảng liên quan đến ứng dụng.
Chương 3: Trình bày chi tiết kiến thức, áp dụng thuật tốn và cơng nghệ liên quan đến
chatbot Facebook.
Chương 4: Trình bày chi tiết quy trình xây dựng hệ thống, từ xác định và phân tích u
cầu bài tốn cho đến xây dựng CSDL, cuối cùng là xây dựng giao diện cho ứng dụng.
Chương 5: Kết luận, rút ra được các ưu nhược điểm của ứng dụng và hướng phát triển
trong tương lai.


GIỚI THIỆU CHUNG
Lý do chọn đề tài
Theo định nghĩa về sức khỏe của WHO thì: “Sức khỏe là trạng thái thoải mái toàn diện
về thể chất, tinh thần và xã hội, chứ khơng phải là chỉ là khơng có bệnh tật hay tàn phế”.
Như vậy, có thể nói sức khỏe là quan trọng và vấn đề về sức khỏe thì cần được con
người quan tâm hơn. Tuy nhiên, việc dừng lại ở mức độ “quan tâm” mà khơng có hành
động chăm sóc, bảo vệ sức khỏe cũng sẽ khơng giúp chúng ta nâng cao chất lượng cuộc
sống.
Trước tình hình dịch bệnh Covid-19 đang có diễn biến phức tạp như hiện nay, rất nhiều
nước trên thế giới đang áp dụng hình thức tư vấn sức khỏe trực tuyến để góp phần giảm
tải cho bệnh viện, hạn chế người dân đến các cơ sở y tế nhằm giảm nguy cơ lây nhiễm

bệnh,… Tuy nhiên, nếu việc tư vấn sức khỏe trực tuyến theo kiểu truyền thống, thì số
người được đáp ứng tư vấn sức khỏe rất hạn chế vì nguồn nhân lực lúc này có giới hạn.
Để giải quyết được tình trạng đó, chúng em quyết định chọn đề tài này để giúp tất cả
mọi người có thể được tư vấn sức khỏe một cách nhanh chóng, thường xun và chính
xác mà khơng cần phải chờ đợi người đáp ứng.
Tính năng mới/khác biệt
Sau khi tham khảo các chatbot hiện nay nhóm nhận thấy tình trạng chung là:
- Khá nhiều các chatbot hỗ trợ tư vấn sức khỏe hiện nay chủ yếu trả lời các câu hỏi đơn
giản và có sẵn. Các câu hỏi phức tạp hoặc dạng câu hỏi đơn giản hàng ngày vẫn chưa
được hỗ trợ một cách chính xác. Tuy vậy, việc tích hợp các cơng nghệ như trí tuệ nhân
tạo (AI), xử lý ngôn ngữ tự nhiên (NLP) vẫn đang được chú ý, vận hành và không ngừng
cải tiến trong việc xây dựng các chatbot.
- Một số chatbot trả lời người dùng với nội dung không cụ thể và không giải quyết được
vấn đề.
- Vấn đề về sức khỏe là một vấn đề rất quan trọng. Chính vì thế, độ chính xác là cực kỳ
quan trọng. Với một chatbot về tư vấn sức khỏe thì đây là yếu tố không thể bỏ qua.


Với những nguyên nhân trên, chúng em quyết định xây dựng một chatbot tư vấn sức
khỏe và cụ thể là về bệnh tăng huyết áp có thể hỗ trợ cơ bản cho người dùng và về cơ
bản có thể khắc phục các khuyết điểm còn tồn tại kể trên.
Đối tượng nghiên cứu
- Công nghệ:
+ Frontend: HTML, CSS và Bootstrap 5.
+ Backend: Javascript và PHP.
+ Database: phpMyAdmin.
+ Messenger chatbot.
+ NLP.
+ IDE: Visual Studio Code.
- Đối tượng phạm vi đề tài hướng đến:

+ Người bệnh cao huyết áp.
+ Người chăm sóc người bệnh cao huyết áp.
+ Người muốn nghiên cứu về bệnh cao huyết áp.
Phạm vi nghiên cứu
Phạm vi môi trường: Web.
Phạm vi chức năng:
- Đối với chatbot:
+ Có thể trả lời nhanh các vấn đề thường gặp đối với bệnh cao huyết áp như
nguyên nhân, cách sinh hoạt, thuốc, …
+ Tìm kiếm và cung cấp các thông tin về các hướng dẫn tập thể dục hoặc sơ cấp
cứu tại trang web.
+ Chatbot hiểu được tương đối ngôn ngữ tự nhiên.
- Đối với ứng dụng web:
+ Cung cấp chức năng quản lý danh mục bài viết và nhân sự.


+ Cung cấp tính năng bình luận và đánh giá.
+ Thống kê số lượng tương tác đánh giá và các vấn đề được quan tâm.
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 phương thức online
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 về các ngơn ngữ lập trình mới.
+ Tìm hiểu cách thức xây dựng Messenger chatbot.
+ Tìm hiểu bài tốn xử lí ngơn ngữ tự nhiên (Natural Language Processing).
+ Xây dựng website hỗ trợ tương tác giữa người dùng và hệ thống.



KIẾN THỨC NỀN TẢNG
Mơ hình MVC
Khái niệm
Mơ hình MVC (Model – View – Controller) là một trong những mơ hình kiến trúc ứng
dụng phổ biến nhất. Ban đầu mơ hình này được áp dụng chủ yếu ở các ứng dụng
desktop, nhưng sau này ý tưởng về mơ hình MVC được ứng dụng cho các nền tảng khác
như web.

Hình 2.1.1.1 Mơ hình MVC
Cấu trúc mơ hình MVC
Tầng xử lý – Controller
Xử lí logic của ứng dụng, là cầu nối giữa View và Model. Hay nói một cách cụ thể,
Controller sẽ nhận yêu cầu được gửi từ View và thực hiện xử lí yêu cầu, truy vấn hoặc
thao tác dữ liệu lên Model. Sau khi xử lý xong, kết quả sẽ được trả về lại cho View.


Tầng logic dữ liệu – Model
Model là trung gian giữa ứng dụng và hệ quản trị cơ sở dữ liệu để cung cấp và quản lí
mơ hình và các thao tác lên dữ liệu. Thông thường, Model sẽ kết nối với một hoặc nhiều
cơ sở dữ liệu để thực hiện các thao tác lên dữ liệu.
Tầng giao diện – View
Thể hiện giao diện người dùng, là thành phần giao tiếp giữa người dùng (user) và ứng
dụng (application).
Mơ hình MVC trong ứng dụng web
Với sự phát triển của các công nghệ xây dựng web ở cả frontend và backend, các nhà
phát triển có thể xây dựng và phát triển ứng dụng web một cách độc lập nhưng vẫn
đảm bảo được tính kiến trúc của ứng dụng.

Hình 2.1.3.1. Mơ hình MVC trong lập trình web

- Tầng giao diện người dùng (View) sẽ được phát triển độc lập ở phía client sử dụng
các cơng nghệ frontend như VueJS, ReactJS, … Nói cách khác, client sẽ được chạy trên
1 server độc lập và có thể tương tác với phía server của backend.


- Tầng xử lí (Controller) và tầng logic dữ liệu (Model) sẽ được phát triển độc lập ở
phía server sử dụng các công nghệ backend như ExpressJS, DotNetCore, Flank, …
- Sau khi hoàn thành việc phát triển, client sẽ cung cấp 1 bản build hồn chỉnh để thêm
vào phía server. Người dùng sẽ yêu cầu thành phần giao diện thông qua request gửi đến
server.
HTML
HTML (viết tắt của từ Hypertext Markup Language, hay là “ngôn ngữ đánh dấu siêu
văn bản”) là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web trên
World Wide Web. Nó có thể được trợ giúp bởi các công nghệ như CSS và các ngơn
ngữ kịch bản giống như JavaScript.
Các trình duyệt web nhận tài liệu HTML từ một web server hoặc một kho lưu trữ cục
bộ và render tài liệu đó thành các trang web đa phương tiện. HTML mô tả cấu trúc của
một trang web về mặt ngữ nghĩa và các dấu hiệu ban đầu được bao gồm cho sự xuất
hiện của tài liệu.
Các phần tử HTML là các khối xây dựng của các trang HTML. Với cấu trúc HTML,
hình ảnh và các đối tượng khác như biểu mẫu tương tác có thể được nhúng vào trang
được hiển thị. HTML cung cấp một phương tiện để tạo tài liệu có cấu trúc bằng cách
biểu thị ngữ nghĩa cấu trúc cho văn bản như heading, paragraph, list, link, quote và các
mục khác. Các phần tử HTML được phân định bằng các tag, được viết bằng dấu ngoặc
nhọn. Các trình duyệt khơng hiển thị các thẻ HTML, nhưng sử dụng chúng để diễn giải
nội dung của trang.
HTML có thể nhúng các chương trình được viết bằng scripting như JavaScript, điều
này ảnh hưởng đến hành vi và nội dung của các trang web. Việc bao gồm CSS xác định
giao diện và bố cục của nội dung. World Wide Web Consortium (W3C), trước đây là
đơn vị bảo trì HTML và là người duy trì hiện tại của các tiêu chuẩn CSS, đã khuyến

khích việc sử dụng CSS trên HTML trình bày rõ ràng kể từ năm 1997.
CSS
CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngơn ngữ được sử dụng để tìm
và định dạng lại các phần tử được tạo ra bởi các ngơn ngữ đánh dấu (ví dụ như HTML).


×