Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
1,13 MB
Nội dung
ĐẠ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 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 Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày ………………… 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 ĐẠ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 (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 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: Về 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 hình thức báo cáo: ● Về nội dung nghiên cứu: ● ● Về chương trình ứng dụng: ● ● Về thái độ làm việc sinh viên: Đánh giá chung: Điểm sinh viên: LÊ HOÀNG PHÚ: ……… /10 TRƯƠNG VĨNH THÁI: ……… /10 Người nhận xét (Ký 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 (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 phản biện: LÊ HOÀNG PHÚ 19520216 ThS Trần Anh Dũng TRƯƠNG VĨNH THÁI 19520940 Đánh giá Khóa luận: Về 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 hình thức báo cáo: ● Về nội dung nghiên cứu: ● ● Về chương trình ứng dụng: ● ● Về thái độ làm việc sinh viên: Đánh giá chung: Điểm sinh viên: LÊ HOÀNG PHÚ: ……… /10 TRƯƠNG VĨNH THÁI: ……… /10 Người nhận xét (Ký ghi rõ họ tên) LỜI CẢM ƠN Sau trình học tập rèn luyện 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 trang bị kiến thức kỹ thực tế để hồn thành Đồ án Để 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 tạo điều kiện sở vật chất với hệ thống thư viện đại, đa dạng 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 Thầy Trần Anh Dũng tận tình giúp đỡ, định hướng cách tư cách làm việc khoa học Đó góp ý q báu khơng q trình thực đồ án mà hành trang tiếp bước cho chúng em trình học tập lập nghiệp sau Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất thầy cô khoa, bạn bè tập thể lớp KTPM2019 người sẵn sàng sẻ chia giúp đỡ học tập sống Mong rằng, mãi gắn bó với Trong q trình làm đồ án chúng em khơng tránh khỏi sai sót, chúng em kính mong nhận dẫn góp ý quý thầy để đồ án hồn thiện Chúng em xin chân thành cảm ơn Xin chúc điều tốt đẹp đồng hành 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 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 Lý chọn đề tài: Theo định nghĩa sức khỏe WHO thì: “Sức khỏe trạng thái thoải mái toàn diện thể chất, tinh thần xã hội, là bệnh tật hay tàn phế” Như vậy, nói sức khỏe quan trọng vấn đề sức khỏe cần người quan tâm 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 không giúp nâng cao chất lượng sống Trước tình hình dịch bệnh Covid-19 có diễn biến phức tạp nay, nhiều nước giới á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 sở y tế nhằm giảm nguy lây nhiễm bệnh,… Tuy nhiên, việc tư vấn sức khỏe trực tuyến theo kiểu truyền thống, số người đáp ứng tư vấn sức khỏe hạn chế nguồn nhân lực lúc có giới hạn Để giải tình trạng đó, chúng em định chọn đề tài để giúp tất người tư vấn sức khỏe cách nhanh chóng, thường xuyên xác mà khơng cần phải chờ đợi người đáp ứng Tình trạng chatbot nay: − − − Khá nhiều chatbot hỗ trợ tư vấn sức khỏe chủ yếu trả lời câu hỏi đơn giản có sẵn Các câu hỏi phức tạp dạng câu hỏi đơn giản hàng ngày chưa hỗ trợ cách xác Tuy vậy, việc tích hợp cơng nghệ trí tuệ nhân tạo (AI), xử lý ngôn ngữ tự nhiên (NLP) ý, vận hành không ngừng cải tiến việc xây dựng chatbot Một số chatbot trả lời người dùng với nội dung không cụ thể không giải vấn đề Vấn đề sức khỏe vấn đề quan trọng Chính thế, độ xác quan trọng Với chatbot tư vấn sức khỏe yếu tố bỏ qua ⇒ Với nguyên nhân trên, chúng em định chọn đề tài xây dựng chatbot tư vấn sức khỏe để tiến hành nghiên cứu xây dựng Mục đích lần nghiên cứu tạo chatbot hỗ trợ với người dùng Ngoài ra, lần nghiên cứu hỗ trợ nhiều việc thực khóa luận tốt nghiệp cho năm học sau Mục tiêu: Bao gồm mục tiêu chính: Xây dựng chatbot: + Xây dựng hệ thống trả câu hỏi thường gặp bệnh cao huyết áp + Áp dụng xử lý ngôn ngữ tự nhiên để giao tiếp + Cung cấp cách xử lý nhanh trường hợp bệnh có liên quan đến bệnh cao huyết áp + Cung cấp mục viết tập rèn luyện sức khỏe + Cung cấp phương pháp để người dùng gặp trực tiếp bác sĩ Xây dựng trang web tích hợp chatbot: Bao gồm chức mở rộng khác như: − Quản lý nhân − Danh mục viết: Thuốc, nghiên cứu sức khỏe, thể dục thể thao hướng dẫn sơ cấp cứu − Bình luận đánh giá viết 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 vấn đề thường gặp bệnh cao huyết áp nguyên nhân, cách sinh hoạt, thuốc, … + Tìm kiếm cung cấp thông tin hướng dẫn tập thể dục sơ cấp cứu trang web + Chatbot hiểu tương đối ngôn ngữ tự nhiên − Đối với ứng dụng web: + Cung cấp chức quản lý danh mục viết nhân + Cung cấp tính bình luận đánh giá + Thống kê số lượng tương tác đánh giá vấn đề quan tâm Đối tượng sử dụng: Tất 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 người muốn nghiên cứu loại bệnh Phương pháp thực hiện: Phương pháp làm việc: Làm việc nhóm thành viên thông qua phương thức online offline hướng dẫn 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 đối tượng người dùng − Nghiên cứu tài liệu cơng nghệ liên quan Phương pháp cơng nghệ: − Tìm hiểu ngơn ngữ lập trình − Tìm hiểu 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 Xu hướng phát triển Dựa vào tình hình thực tế ta thấy thời điểm thích hợp để phát triển chatbot Hình 3.1.3.1 Thống kê lượng người dùng ứng dụng nhắn tin Với lượng người dùng đông đảo kéo theo lượng tin nhắn gửi khổng lồ không Từ ta thấy hội kinh doanh xuất xem chatbot giải pháp đơn giản mà vận dụng để tiếp cận thời đại Sự phát triển “NLP” “NLU” Trước NLP (Natural Language Processing) NLU (Natural Language Understanding) đời, 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 soi sáng đường phát triển chatbot, mà công nghệ đầu tư mạnh để phát triển sử dụng kỹ thuật công nghệ mới, làm cho thơng minh “giống người” Đồng thời tạo công cụ xây dựng chatbot ngày nhiều xác Hệ sinh thái, platform Tất top messenger có platform riêng để hỗ trợ cho việc xây dựng chatbot Từ điều trên, ta khẳng định khả phát triển chatbot mạnh mẽ, xu hướng hướng đến phần mềm nhắn tin trang web thương mại điện tử Tìm hiểu Facebook Messenger Tổng quan Facebook Messenger ứng dụng trị chuyện Facebook Nó cho phép người dùng Facebook trò chuyện với người nhiều tảng Về số lượng người dùng, theo thống kê ta có bảng đánh giá: Hình 3.2.1.1 Lượng người sử dụng Facebook Messenger theo thời gian Sơ đồ cho thấy số lượng người dùng tăng nhanh theo thời gian Có thể chatbot cịn góp phần quan trọng lĩnh vực truyền thơng Vì chat bot, trí thông minh nhân tạo tương lai, thông qua Messenger cho bạn biết thơng tin nóng mạng xã hội, nhiều người tìm chia sẻ thời điểm bạn đưa câu hỏi Đánh giá Sau đánh giá tảng phát triển Chatbot, chúng em lựa chọn Messenger làm tảng chủ yếu lý sau: - Lượng người dùng khổng lồ - Khả tùy biến cao - Giao diện hóa văn - Cho phép can thiệp trực tiếp vào trình chatbot vận hành Giới thiệu Chatbot Facebook Messenger Hình 3.2.3.1 Chatbot Facebook Messenger Về mặt kỹ thuật, hiểu đơn giản chatbot chương trình lập trình sẵn tương tác tự động với người dùng ngôn ngữ tự nhiên giao diện tin nhắn Chatbot Facebook Messenger phần mở rộng cho chức nhắn tin trang Facebook bạn Mỗi chatbot Facebook Messenger bắt buộc phải liên kết với trang Facebook tồn Vì vậy, chat với trang bạn chatbot biết, sau đánh giá trò chuyện bạn để đưa câu trả lời thích hợp Ở phạm vi Facebook Messenger, chatbot công cụ kết nối vào fanpage bạn thơng qua thiết lập webhook, chatbot lúc xem (hoặc nhiều) nhân viên, trợ lý ảo bạn Cách hoạt động Hình 3.2.4.1 Cách hoạt động chatbot liên kết với Messenger Hoạt động Bot sau: Khi có người gửi tin nhắn đến fanpage Thông tin tin nhắn truyền đến toàn webhook đăng ký trước Ví dụ webhook chatbot Chatbot server gửi xác nhận nhận kiện Sau xử lý tin nhắn gửi trả lại cần thiết thông qua API Messenger Người dùng nhận lại phản hồi Một số khái niệm Webhook Webhook công nghệ tiện dụng việc triển khai phản ứng kiện (event) website bạn Webhook cung cấp giải pháp giúp ứng dụng serverside thơng báo cho ứng dụng phía client-side có kiện phát sinh xảy máy chủ (event reaction) Cũng vậy, ứng dụng client-side không cần phải liên tục hỏi check với ứng dụng server-side Facebook Application Để tạo chatbot Messenger, bạn cần hai thứ: public Facebook page public Facebook Application kết nối tới page bạn Hosting Hosting (hay web hosting) dịch vụ online giúp bạn xuất website ứng dụng web lên Internet Khi bạn đăng ký dịch vụ hosting, tức bạn thuê chỗ đặt server chứa tất file liệu cần thiết để website bạn chạy Heroku Heroku tảng đám mây cho phép lập trình viên xây dựng, triển khai, quản lý mở rộng ứng dụng (PaaS – Platform as a service) Áp dụng công nghệ vào chatbot Facebook API Facebook API tảng Facebook cung cấp cho người dùng để giúp người dùng viết ứng dụng tạo ứng dụng cách dễ dàng Facebook gửi phương thức POST đến máy chủ Facebook API Hình 3.3.1.1 Facebook API Đánh dấu từ loại Part of Speech Tagging – POSTAG: Từ loại, bước xử lý ngôn ngữ tự nhiên Việc nhận biết từ loại có ý nghĩa to lớn việc chia cắt câu đa nghĩa, tách câu đoạn văn Ví dụ: Word Tag Cao huyết áp nêu cách khắc phục N C P C V N danh từ từ nối đại từ từ nối động từ danh từ Tách câu đa nghĩa Rule Based Sentence Boundary Detection – RBSBD phương pháp dựa vào số quy tắc tạo nên câu nói văn nói văn viết để xác định vị trí ngắt ý câu, qua tách câu dài, câu kép thành câu đơn dễ xử lý Sau phục hồi câu kép cho đảo bảo ý nghĩa câu Có nhiều quy tắc khác phạm vi chatbot này, để tránh làm phức tạp hóa vấn đề khiến thuật toán chạy chậm, áp dụng quy tắc sau: - Một câu cấu tạo nên theo công thức: Chủ ngữ + động từ + tân ngữ (nếu có) - Khi câu khơng có chủ ngữ, coi động từ + tân ngữ cụm danh từ làm chủ ngữ - Nếu câu thứ trở thiếu thành phần tạo nên câu, dùng câu liền trước để bù đắp - Khi gặp từ nối, ngắt câu Ví dụ: “Cao huyết áp nêu cách khắc phục” tách thành hai câu đơn sau: - Cao huyết áp - Nêu cách khắc phục Phân loại từ nhanh Fast Text Classifier phương pháp đơn giản nhanh chóng để đánh dấu câu thành tag training từ trước dựa phương pháp đánh giá độ quan trọng từ tag XÂY DỰNG HỆ THỐNG Xây dựng kiến trúc hệ thống Kiến trúc hệ thống website Hình 4.1.1.1 Kiến trúc hệ thống website Hệt thống bao gồm thành phần sau - Web (client): Thể giao diện nơi người dùng tương tác với hệ thống Client giao tiếp với server thông qua request/response để yêu cầu xử lý thông tin nhận kết hiển thị lên cho người dùng - Server: Nhận xử lý request từ client Có thể tương tác với database để tương tác liệu trả kết cho client thông qua response - Database: Lưu trữ toàn liệu hệ thống Kiến trúc hệ thống chatbot Hình 4.1.2.1 Kiến trúc hệ thống chatbot Hệ thống bao gồm thành phần tương giác chúng sau: - Chatbot: Người dùng chat trực tiếp với fanpage qua chatbot Facebook Messenger - Hệ thống xử lý: Xử lý hành vi chat/tương tác người dùng, để đưa mẫu câu/hành động phù hợp - Hệ thống xử lý kịch bản: Xử lý hành vi chat/tương tác người dùng để chọn xử lý kịch phù hợp - Database: Chatbot kết nối trực tiếp với liệu website - Đối với hành động phân tích cần lấy liệu từ database hệ thống xử lý phân tích liệu từ database thơng báo có liệu phù hợp cho người dùng Phân tích thiết kế hệ thống Sơ đồ use case Hình 4.2.1.1 Use case liên quan đến hệ thống tài nguyên website Hình 4.2.1.2 Use case liên quan đến hệ thống quản trị website Hình 4.2.1.3 Use case liên quan đến hệ thống người dùng website Hình 4.2.1.4 Use case liên quan đến hệ thống chatbot website Sơ đồ module Hình 4.2.2.1 Sơ đồ module website Sơ đồ liệu Hình 4.2.3.1 Sơ đồ liệu website Thiết kế giao diện trang web Sơ đồ thiết kế giao diện trang web Danh sách giao diện trang web Mô tả chi tiết giao diện trang web Thiết kế giao diện chat bot Sơ đồ kịch chatbot Kết đạt Trong trình thực đồ án, nhóm chúng em có thêm điều kiện tìm hiểu cơng nghệ mới, cách xây dựng chatbot giúp tư vấn sức khỏe với kinh nghiệm lên kế hoạch tìm hiểu, nghiên cứu phát triển đề tài viết báo cáo Đồng thời, chúng em củng cố có thêm nhiều kinh nghiệm trình xây dựng server kiến trúc hệ thống Qua trình nghiên cứu phát triển đề tài, nhóm chúng em hồn thành tính sau: - Hỗ trợ website cho phép người dùng tìm kiếm đọc viết với chủ đề cao huyết áp - Hỗ trợ UI thân thiện cho người dùng phản hồi cách nhanh chóng, thân thiện, giúp trị chuyện liên tục - Có đầy đủ chức chatbot hỏi đáp câu hỏi liên quan đến bệnh cao huyết áp KẾT LUẬN, HƯỚNG PHÁT TRIỂN Ưu điểm - Hệ thống chatbot tích hợp vào tảng messenger hỗ trợ hình thức chat văn giao diện đơn giản, dễ sử dụng - Giao diện website trực quan, dễ dàng sử dụng đầy đủ thông tin cần thiết - Hỗ trợ đầy đủ tính quản lý cho quản trị viên - Tương tác, cập nhật real-time website, server chatbot - Tìm hiểu áp dụng công nghệ vào hệ thống - Hỗ trợ chat Messenger website Nhược điểm - Code chưa chạy nhanh cần tối ưu - Dữ liệu chưa đủ nhiều để hoạt động tốt Kết đạt Về mặt nghiên cứu - Nhóm có hội tìm hiểu thêm cơng nghệ sử dụng chatbot - Hiểu áp dụng xử lí ngơn ngữ tự nhiên (NLP) - Tìm hiểu áp dụng công nghệ phát triển web phương pháp xây dựng project cách phù hợp Về mặt sản phẩm - Các yêu cầu phi chức + Giao diện trực quan đại + Chức dễ sử dụng - Các yêu cầu chức Chatbot − Có thể chào hỏi − Phản hồi thông tin liên quan tới bệnh cao huyết áp Ứng dụng web Người dùng: - Xem viết - Viết Quản lí: - Quản lí viết - Quản lí người dùng Hướng phát triển Đề tài cho phép mở rộng phát triển nhằm xây dựng ứng dụng hoàn chỉnh: - Thêm hệ thống minh họa 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 - Nghiên cứu áp dụng real-time training cho chatbot nhằm đáp ứng tương tác “lạ” - Hỗ trợ chatbot đa tảng TÀI LIỆU THAM KHẢO JavaScript Tutorial, W3School Truy cập tại: https://www.w3schools.com/js/default.asp CSS Tutorial, W3School Truy cập tại: https://www.w3schools.com/css/default.asp PHP Tutorial, W3School Truy cập tại: https://www.w3schools.com/php/default.asp HTML, CSS từ zero đến hero, F8 Truy cập tại: https://fullstack.edu.vn/ Firefox Developer Tools, MDN Web Docs Truy cập tại: https://developer.mozilla.org/en-US/docs/Tools ... 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 đề tài, đưa điểm bật ứng dụng so với ứng dụng trước Tiếp đến đề xuất giải pháp để giải vấn. .. THÔNG TIN TP HCM, ngày tháng năm 2021 NHẬN XÉT ĐỒ ÁN (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 hướng dẫn: LÊ HOÀNG PHÚ... giải vấn đề - Vấn đề sức khỏe vấn đề quan trọng Chính thế, độ xác quan trọng Với chatbot tư vấn sức khỏe yếu tố khơng thể bỏ qua Với nguyên nhân trên, chúng em định xây dựng chatbot tư vấn sức khỏe