1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng ứng dụng chatbot hỗ trợ tư vấn y khoa (2)

72 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 4,28 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

ĐẠ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ê Hoàng Phú - 19520216 Trương Vĩnh Thái - 19520940

ĐỒ ÁN 2

XÂY DỰNG ỨNG DỤNG CHATBOT

HỖ TRỢ TƯ VẤN Y KHOA BUILD A CHATBOT APPLICATION TO SUPPORT MEDICAL

CONSULTATION

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

TP HỒ CHÍ MINH, 2022

Trang 2

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

Hội đồng chấm đồ án 2, 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

……… – Chủ tịch

……… – Thư ký

……… – Ủy viên

……… – Ủy viên

Trang 3

ĐẠ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 tháng năm 2022

NHẬN XÉT ĐỒ ÁN 2 (CỦA CÁN BỘ HƯỚNG DẪN) Tên đồ án 2:

Xây dựng ứng dụng Chatbot hỗ trợ tư vấn y khoa

Nhóm sinh viên thực hiện: Cán bộ hướng dẫn:

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:

Trang 5

ĐẠ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 tháng năm 2022

NHẬN XÉT ĐỒ ÁN 2 (CỦA CÁN BỘ PHẢN BIỆN) Tên đồ án:

Xây dựng ứng dụng Chatbot hỗ trợ tư vấn y khoa

Nhóm sinh viên thực hiện: Cán bộ phản biện:

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:

Trang 7

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ể hoàn thành Đồ án 2 của mình

Để hoàn thành Đồ án 2, 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 quý báu không chỉ trong quá 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 quá 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 quý thầy cô để đồ án được hoàn

Trang 8

ĐẠ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

Thời gian thực hiện: Từ ngày 04/03/2022 đến ngày 18/06/2022

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

Trang 9

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 xuyên 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 đề

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 về các bệnh thường gặp như cao huyết

áp, tiểu đường, thoái hóa cột sống, giãn tỉnh mạch,

+ Á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 cấp cứu

+ Cung cấp khả năng chẩn đoán bệnh thông qua các triệu chứng thông thường

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ư:

Trang 10

− Quản trí phía admin

− Trang web bán dược phẩm

3 Phạm vi:

Phạm vi môi trường: Website

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 các bệnh thông thường + Tìm kiếm và cung cấp các thông tin về cách xử lý các trường hợp cấp cứu + 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ý thuốc, nhân sự và khách hàng

4 Đối tượng sử dụng: Tất cả mọi người

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 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 toá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 toán xử lí ngôn ngữ tự nhiên

6 Nền tảng công nghệ:

− Frontend: HTML, CSS, Javascript

− Backend: Laravel

− Database: MySQL

Trang 11

− NLP: NLP.js và Wit.ai

− Nền tảng chatbot: Facebook Chatbot

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 hoàn chỉnh:

- Hệ thống chatbot tích hợp giọng nói

- Tối ưu hóa thuật toán để hiểu người dùng tối hơn

- 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 04/03/2022 đến ngày 18/06/2022

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: 04/03/2022 – 15/04/2022

Sprint 1: Tìm hiểu công nghệ (NLP.js, Wit.ai, Laravel), phân tích yêu cầu và chức năng

Sprint 2: Xây dựng CSDL và thiết kế giao diện (Figma)

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

Sprint 1 04/03/2022

- 25/03/2022

- Tìm hiểu công nghệ theo các thứ tự như sau: NLP.js, Wit.AI, Laravel

Trang 12

- Phân tích các yêu cầu và chức năng (chức năng chính và chức năng bổ sung sau)

Sprint 2 25/03/2022

- 01/04/2022

- Xây dựng CSDL (vẽ sơ đồ và thiết kế trên DB)

- Thiết kế giao diện (Figma)

Sprint 3 01/04/2022

- 15/04/2022

- Xây dựng giao diện web (có thể sơ khai)

- 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

- Triển khai lên host và kiểm thử

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: 15/04/2022 – 18/06/2022

Sprint 4: Hoàn thiện các sprint ở giai đoạn 1

Sprint 5: Xây dựng phía back-end

Sprint 6: Triển khai và viết báo cáo

Web: Xử lý các chức năng như:

- Quản trị dữ liệu phía admin

- Website bán dược phẩm

Trang 13

Sprint 6 30/05/2022

- 18/06/2022

- Triển khai sản phẩm

- Viết báo cáo

10 Phân công công việc

Công việc

Công việc

chung

Viết báo cáo

Công việc

cá nhân

- Thiết kế CSDL

- Thiết kế Use case

- Xây dựng trang quản trị dữ liệu administrator

- Xây dựng website bán dược phẩm

- Xây dựng chatbot hỗ trợ tư vấn bệnh cáp huyết áp

Xác nhận của CBHD

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

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

Trang 14

MỤC LỤC

1.1 Lý do chọn đề tài 1

1.2 Tính năng mới 1

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

1.4 Phạm vi nghiên cứu 2

1.5 Phương pháp thực hiện 2

2.1 Ngôn ngữ lập trình Php 4

2.2 Ngôn ngữ lập trình HTML 5

2.3 Ngôn ngữ lập trình Javascripts 5

2.4 Ngôn ngữ lập trình CSS 6

2.5 Framework Laravel 6

2.6 Hệ quản trị cơ sở dữ liệu MySQL 7

2.7 Công cụ phpMyAdmin 7

2.8 Trình soạn thảo Visual Studio Code 8

2.9 Dịch vụ lưu trữ Github 8

2.10 Công cụ Ngrok 9

3.1 Mô hình RESTful API 10

3.1.1 Khái niệm 10

3.1.2 Cấu trúc 10

3.1.3 Cách thức hoạt động 11

3.2 Mô hình MVC 12

3.2.1 Khái niệm 12

Trang 15

3.2.2 Cấu trúc mô hình MVC 12

3.2.3 Mô hình MVC trong ứng dụng Web 13

3.3 Tìm hiểu về chatbot 13

3.3.1 Chatbot là gì? 13

3.3.2 Tính ứng dụng 14

3.3.3 Xu hướng phát triển 14

3.4 Tìm hiểu về Facebook Messenger 16

3.4.1 Tổng quan 16

3.4.2 Đánh giá 16

3.4.3 Giới thiệu về Chatbot Facebook Messenger 17

3.4.4 Cách thức hoạt động 17

3.4.5 Một số khái niệm cơ bản 18

3.5 Áp dụng công nghệ vào chatbot 19

3.5.1 Facebook API 19

4.1 Xây dựng kiến trúc hệ thống 20

4.1.1 Kiến trúc hệ thống Website 20

4.1.2 Kiến trúc hệ thống chatbot 21

4.2 Phân tích thiết kế hệ thống 22

4.2.3 Sơ đồ Use case 22

4.2.4 Sơ đồ module 33

5.1 Sơ đồ logic dữ liệu 35

5.2 Sơ đồ thiết kế ERD 35

Trang 16

6.1 Giao diện người quản trị 36

6.1.1 Giao diện đăng nhập 36

6.1.2 Giao diện thống kê 36

6.1.3 Giao diện quản trị nhân sự 37

6.1.4 Giao diện quản lý chức vụ 37

6.1.5 Giao diện phân quyền 38

6.1.6 Giao diện quản lý menu 38

6.1.7 Giao diện quản lý lịch sử thao tác 39

6.1.8 Giao diện quản lý đơn hàng 39

6.1.9 Giao diện quản lý chi tiết đơn hàng 40

6.1.10 Giao diện quản lý chi tiết vận chuyển 40

6.1.11 Giao diện quản lý danh mục dược phẩm 41

6.1.12 Giao diện quản lý nhóm thuốc 41

6.1.13 Giao diện quản lý phiếu nhập kho 42

6.1.14 Giao diện quản lý chi tiết phiếu nhập 42

6.1.15 Giao diện danh mục đơn vị tính 43

6.1.16 Giao diện danh mục đơn vị sản xuất 43

6.1.17 Giao diện danh mục đơn vị vận chuyển 44

6.1.18 Giao diện quản lý khách hàng 44

6.2 Giao diện người dùng 45

6.2.1 Giao diện đăng nhập 45

6.2.2 Giao diện đăng ký 45

6.2.3 Giao diện đặt lại mật khẩu 46

6.2.4 Giao diện trang chủ 46

6.2.5 Giao diện danh mục sản phẩm 47

Trang 17

6.2.6 Giao diện chi tiết sản phẩm 47

6.2.7 Giao diện giỏ hàng 48

6.2.8 Giao diện đơn hàng 48

6.2.9 Giao diện quản lý tài khoản 49

6.2.10 Giao diện liên hệ 49

7.1 Ưu điểm 50

7.2 Nhược điểm 50

7.3 Kết quả đạt được 50

7.3.1 Về mặt nghiên cứu 50

7.3.2 Về mặt sản phẩm 50

7.4 Hướng phát triển 51

7.5 Sản phẩm 51

Trang 18

DANH MỤC HÌNH

Hình 1 Ngôn ngữ lập trình Php 4

Hình 2 Ngôn ngữ HTML 5

Hình 3 Ngôn ngữ Javascripts 5

Hình 4 Ngôn ngữ lập trình CSS 6

Hình 5 Ngôn ngữ lập trình Laravel 6

Hình 6 Hệ quản trị MySQL 7

Hình 7 Công cụ phpMyAdmin 7

Hình 8 Công cụ lập trình Visual Studio Code 8

Hình 9 Hê thống lưu trữ Github 8

Hình 10 Công cụ Ngrok 9

Hình 11 Mô hình Restful API 10

Hình 12 Cách thức hoạt động RESTful API 11

Hình 13 Mô hình MVC 12

Hình 14 Mô hình MVC trong ứng dụng Web 13

Hình 15 Cách thức hoạt động của chatbot 14

Hình 16 Xu thế phát triển của chatbot 15

Hình 17 Thống kê với Facebook 16

Hình 18 Chatbot Facebook Messenger 17

Hình 19 Cách thức hoạt động Facebook Messenger 17

Hình 20 Facebook API 19

Hình 21 Kiến trúc hệ thống website 20

Hình 22 Kiến trúc hệ thống chatbot 21

Hình 23 Use case xác thực 22

Hình 24 Use case thống kê 22

Hình 25 Use case quản lý người quản trị 23

Hình 26 Use case quản lý chức vụ 23

Hình 27 Use case quản lý quyền 24

Hình 28 Use cas quản lý chỉ mục đường dẫn 24

Hình 29 Use case quản lý hoạt động Admin 25

Hình 30 Use case quản lý đơn hàng 25

Trang 19

Hình 31 Use case quản lý danh mục thuốc 26

Hình 32 Use case quản lý danh mục nhóm thuốc 26

Hình 33 Use case quản lý danh mục phiếu nhập kho 27

Hình 34 Use case quản lý danh mục đơn vị 27

Hình 35 Use case quản lý danh mục người dùng 28

Hình 36 Use case xác thực client 28

Hình 37 Use case quên mật khẩu client 29

Hình 38 Use case xác thực truy cập client 29

Hình 39 Use case truy cập trang home 30

Hình 40 Use case truy cập trang danh mục sản phẩm 31

Hình 41 Use case truy cập trang chi tiết sản phẩm 31

Hình 42 Use case truy cập trang giỏ hàng 32

Hình 43 Use case truy cập trang đơn hàng của bạn 32

Hình 44 Module phía quản trị 33

Hình 45 Module phía người dùng 34

Hình 46 Sơ đồ logic dữ liệu 35

Hình 47 Sơ đồ thiết kế ERD 35

Hình 48 Giao diện đăng nhập admin 36

Hình 49 Giao diện thống kê admin 36

Hình 50 Giao diện quản trị nhân sự admin 37

Hình 51 Giao diện quản lý chức vụ 37

Hình 52 Giao diện phân quyền admin 38

Hình 53 Giao diện quản lý menu 38

Hình 54 Giao diện quản lý lịch sử thao tác admin 39

Hình 55 Giao diện quản lý đơn hàng admin 39

Hình 56 Giao diện quản lý chi tiết đơn hàng admin 40

Hình 57 Giao diện quản lý chi tiết vận chuyển admin 40

Hình 58 Giao diện quản lý dược phẩm admin 41

Hình 59 Giao diện quản lý nhóm thuốc admin 41

Hình 60 Giao diện quản lý phiếu nhập kho admin 42

Hình 61 Giao diện quản lý chi tiết phiếu nhập admin 42

Trang 20

Hình 62 Giao diện danh mục đơn vị tính admin 43

Hình 63 Giao diện danh mục sản xuất admin 43

Hình 64 Giao diện danh mục vận chuyển admin 44

Hình 65 Giao diện quản lý khách hàng admin 44

Hình 66 Giao diện đăng nhập client 45

Hình 67 Giao diện đăng ký client 45

Hình 68 Giao diện đặt lại mật khẩu client 46

Hình 69 Giao diện trang chủ 46

Hình 70 Giao diện danh mục sản phẩm client 47

Hình 71 Giao diện chi tiết sản phẩm client 47

Hình 72 Giao diện giỏ hàng 48

Hình 73 Giao diện đơn hàng client 48

Hình 74 Giao diện quản lý tài khoản client 49

Hình 75 Giao diện liện hệ client 49

Trang 21

NỘI DUNG Chương 1 TỔNG QUAN

1.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 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 xuyên và chính xác mà không cần phải chờ đợi người đáp ứng

1.2 Tính năng mới

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 đề

Trang 22

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

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

• 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

1.4 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:

o 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, …

o Tìm kiếm và cung cấp các thông tin về các hướng dẫn sơ cấp cứu tại trang web

o Chatbot hiểu được tương đối ngôn ngữ tự nhiên

• Đối với ứng dụng web:

o Cung cấp chức năng quản lý danh mục bài viết và nhân sự

o Cung cấp tính năng bình luận và đánh giá

o Thống kê số lượng tương tác đánh giá và các vấn đề được quan tâm

Trang 23

o Phân tích nhu cầu sử dụng của đối tượng người dùng

o Nghiên cứu tài liệu các công nghệ liên quan

• Phương pháp công nghệ:

o Tìm hiểu về các ngôn ngữ lập trình mới

o Tìm hiểu cách thức xây dựng Messenger chatbot

o Tìm hiểu bài toán xử lí ngôn ngữ tự nhiên (Natural Language Processing)

o Xây dựng website hỗ trợ tương tác giữa người dùng và hệ thống

Trang 24

PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ

sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux (LAMP)

• Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt

• MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, SQL server ) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu

• Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các webserver Thông thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux, Ubuntu

Trang 25

Javascript chính là một ngôn ngữ lập trình với khả năng đem tới sự sinh động khi

thiết kế website Đây là dạng ngôn ngữ theo kịch bản, dựa trên chính đối trượng phát triển có sẵn, hoặc là tự định nghĩa ra Chính vì tính tiện lợi, hiệu quả ứng dụng cao mà

Trang 26

ngôn ngữ lập trình này được tin dùng ngày càng nhiều, ứng dụng rộng rãi trong các website hiệu quả

2.4 Ngôn ngữ lập trình CSS

Hình 4 Ngôn ngữ lập trình CSS CSS – Cascading Style Sheet là một ngôn ngữ lập trình định dạng, thiết kế giao diện website Nhờ vậy, nội dung hiển thị sẽ trở nên thân thiện với người sử dụng hơn Mặc dù vậy, nó hoàn toàn không gây ra bất cứ ảnh hưởng gì tới nội dung của trang web

2.5 Framework Laravel

Hình 5 Ngôn ngữ lập trình Laravel

Trang 27

Laravel là một trong các PHP Framework phổ biến nhất trong giới Developer Tìm hiểu về Laravel cũng rất dễ dàng vì mỗi bản phát hành đều được hướng dẫn đầy đủ với các tài liệu, tutorial và blog được cập nhật thường xuyên

2.6 Hệ quản trị cơ sở dữ liệu MySQL

Hình 6 Hệ quản trị MySQL MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng

2.7 Công cụ phpMyAdmin

Hình 7 Công cụ phpMyAdmin

Trang 28

PhpMyAdmin là phần mềm mã nguồn mở được viết bằng ngôn ngữ PHP giúp quản trị cở sở dữ liệu MySQL thông qua giao diện web Tính đến nay, phpMyAdmin

đã có đến hàng triệu lượt sử dụng và vẫn không ngừng tăng

2.8 Trình soạn thảo Visual Studio Code

Hình 8 Công cụ lập trình Visual Studio Code

Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS, Visual Studio Code được phát triển bởi Microsoft Nó được xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor

2.9 Dịch vụ lưu trữ Github

Hình 9 Hê thống lưu trữ Github

Trang 29

GitHub là một dịch vụ cung cấp kho lưu trữ mã nguồn Git dựa trên nền web cho các dự án phát triển phần mềm GitHub cung cấp cả phiên bản trả tiền lẫn miễn phí cho các tài khoản Các dự án mã nguồn mở sẽ được cung cấp kho lưu trữ miễn phí

2.10 Công cụ Ngrok

Hình 10 Công cụ Ngrok Ngrok là công cụ tạo đường hầm (tunnel) giữa localhost của bạn và internet Giúp người khác mạng có thể truy cập được localhost thông qua custom domain của ngrok

Trang 30

Chương 3 TÌM HIỂU CÔNG NGHỆ

3.1 Mô hình RESTful API

3.1.1 Khái niệm

Hình 11 Mô hình Restful API RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP

3.1.2 Cấu trúc

3.1.2.1 Thành phần API

API (Application Programming Interface) là một tập các quy tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu

dữ liệu phổ biến như JSON hay XML

3.1.2.2 Thành phần REST

REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu

Trang 31

3.1.2.3 Thành phần RESTful API

RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…) khác nhau giao tiếp với nhau

Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web

để quản các resource RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful API

3.1.3 Cách thức hoạt động

Hình 12 Cách thức hoạt động RESTful API REST hoạt động chủ yếu dựa vào giao thức HTTP Các hoạt động cơ bản nêu trên sẽ

sử dụng những phương thức HTTP riêng

• GET (SELECT): Trả về một Resource hoặc một danh sách Resource

• POST (CREATE): Tạo mới một Resource

• PUT (UPDATE): Cập nhật thông tin cho Resource

• DELETE (DELETE): Xoá một Resource

Trang 32

3.2.2 Cấu trúc mô hình MVC

3.2.2.1 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

3.2.2.2 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

3.2.2.3 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)

Trang 33

3.2.3 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 14 Mô hình MVC trong ứng dụng 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 hoà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

3.3 Tìm hiểu về chatbot

3.3.1 Chatbot là gì?

Chatbot là một phần mềm có thể giả lập một cuộc hội thoại hoặc trò chuyện với người dùng bằng ngôn ngữ tự nhiên hoặc các nội dung được lập trình sẵn thông qua

Trang 34

ứng dụng, website, ứng dụng mobile hoặc thông qua điện thoại Chúng hợp lý hóa các tương tác giữa con người và dịch vụ, nâng cao trải nghiệm của khách hàng Đồng thời, chúng cung cấp cho các công ty hoặc cửa hàng cơ hội mới để cải thiện quy trình tham gia của khách hàng và hiệu quả hoạt động bằng cách giảm chi phí dịch vụ khách hàng Cách thức một chatbot hoạt động:

Hình 15 Cách thức hoạt động của chatbot Như đã được minh họa trên hình, một chatbot sẽ trả về các phản hồi dựa trên dữ liệu đầu vào của người dùng

3.3.2 Tính ứng dụng

Ứng dụng của chatbot hiện nay khá là phổ biến Hầu hết trong các lĩnh vực về kinh doanh, các website hầu hết cũng đã có những chatbot đơn giản hỗ trợ trả lời cho khách hàng những câu hỏi đơn giản Các ứng dụng nhắn tin phổ biến hiện nay như Messenger, Discord, Telegram, … cũng đều cho phép tích hợp chatbot Có thể nói việc đưa chatbot vào ứng dụng nhắn tin cũng là một phần giúp củng cố và nâng cao vị thế của ứng dụng để cạnh tranh với các đối thủ khác

Chatbot rất đa dạng về mục đính sử dụng tùy thuộc vào lĩnh vực như báo chí, tài chinh, tuyển dụng, đầu tư, giáo dục, giải trí, thương mại, …

3.3.3 Xu hướng phát triển

Dựa vào tình hình thực tế hiện nay ta sẽ thấy đây là thời điểm cực kỳ thích hợp để phát triển chatbot

Trang 35

Hình 16 Xu thế phát triển của chatbot Với lượng người dùng đông đảo này kéo theo lượng tin nhắn được gửi đi cũng khổng lồ không kém Từ đây ta thấy được cơ hội kinh doanh mới xuất hiện và xem ra chatbot là giải pháp đầu tiên và đơn giản nhất mà chúng ta có thể vận dụng để tiếp cận thời đại này

Sự phát triển của “NLP” và “NLU”

Trước khi NLP (Natural Language Processing) và NLU (Natural Language Understanding) ra đời, các chatbot thường chủ yếu dùng phương thức command-base (nhập khớp lệnh) để giao tiếp với người dùng Đột nhiên “Cách mạng công nghiệp 4.0” đến và soi sáng con đường phát triển của chatbot, khi mà các công nghệ như đã được đầu tư mạnh để phát triển và sử dụng các kỹ thuật và công nghệ mới, làm cho nó thông minh hơn và “giống người” hơn Đồng thời tạo ra các công cụ xây dựng chatbot ngày một nhiều và chính xác hơn

Hệ sinh thái, platform

Tất cả các top messenger đều có platform của riêng mình để hỗ trợ cho việc xây dựng chatbot Từ những điều trên, ta có thể khẳng định khả năng phát triển của chatbot hiện nay là cực kỳ mạnh mẽ, xu hướng sẽ hướng đến các phần mềm nhắn tin và các trang web thương mại điện tử

Trang 36

3.4 Tìm hiểu về Facebook Messenger

3.4.1 Tổng quan

Facebook Messenger là một ứng dụng trò chuyện của Facebook Nó cho phép người dùng Facebook trò chuyện với mọi người trên nhiều nền tảng

Về số lượng người dùng, theo thống kê ta có bảng đánh giá:

Hình 17 Thống kê với Facebook

Sơ đồ cho thấy số lượng người dùng tăng rất nhanh theo thời gian Có thể chatbot còn góp một phần quan trọng trong lĩnh vực truyền thông Vì rất có thể chat bot, trí thông minh nhân tạo trong tương lai, thông qua Messenger có thể cho bạn biết về các thông tin nóng trên mạng xã hội, được nhiều người tìm và chia sẻ tại thời điểm bạn đưa

• Khả năng tùy biến cao

• Giao diện hóa văn bản

• Cho phép can thiệp trực tiếp vào quá trình chatbot vận hành

Ngày đăng: 17/08/2022, 21:27

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm