TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TẠI TP HỒ CHÍ MINH BỘ MÔN CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI XÂY DỰNG WEBSITE HỖ TRỢ TƯ VẤN TÂM LÝ Sinh viên thực hiện LÊ HUỲNH MINH Lớp CÔ[.]
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TẠI TP HỒ CHÍ MINH BỘ MƠN CƠNG NGHỆ THƠNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: XÂY DỰNG WEBSITE HỖ TRỢ TƯ VẤN TÂM LÝ Sinh viên thực hiện: LÊ HUỲNH MINH Lớp: CƠNG NGHỆ THƠNG TIN Khố: K59 Giảng viên hướng dẫn: Trần Thị Dung TP Hồ Chí Minh, năm 2022 TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI PHÂN HIỆU TẠI TP HỒ CHÍ MINH BỘ MƠN CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP TỐT NGHIỆP ĐỀ TÀI: XÂY DỰNG WEBSITE HỖ TRỢ TƯ VẤN TÂM LÝ Sinh viên thực hiện: LÊ HUỲNH MINH Lớp: CÔNG NGHỆ THƠNG TIN Khố: K59 Giảng viên hướng dẫn: Trần Thị Dung TP Hồ Chí Minh, năm 2022 TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM PHÂN HIỆU TẠI TP HỒ CHÍ MINH Độc lập – Tự - Hạnh phúc BỘ MÔN CÔNG NGHỆ THÔNG TIN - - NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP BỘ MÔN: CÔNG NGHỆ THÔNG TIN -*** - Mã sinh viên: 5951071059 Họ tên SV: Lê Huỳnh Minh Khóa: 59 Lớp: CQ.59.CNTT Tên đề tài: Website tư vấn sức khỏe tâm lý Mục đích, yêu cầu 2.1 Mục đích: • Rối loạn tâm lý thường điều trị nhà trị liệu tâm lý Tuy nhiên, toàn cầu thiếu nguồn nhân lực để cung cấp dịch vụ sức khỏe tâm lý Ở nước phát triển, 100.000 dân có bác sĩ tâm lý, nước phát triển, 10 triệu dân có bác sĩ tâm lý Theo WHO, khoảng 45% người dân nước phát triển 15% người dân nước phát triển tiếp cận với dịch vụ tâm lý [12] Hơn theo phân tích tổng hợp vào năm 2018 so sánh hiệu liệu pháp trực tuyến trực tiếp chứng trầm cảm số loại lo âu, chẳng hạn lo âu xã hội Nghiên cứu xem xét loại liệu pháp cụ thể gọi Liệu pháp Hành vi Nhận thức (CBT), loại liệu pháp mà bệnh nhân học cách thay đổi cảm xúc tiêu cực họ cách thay đổi cách họ nghĩ vấn đề, nỗi sợ hãi trải nghiệm kết từ 20 nghiên cứu, bao gồm 1.400 bệnh nhân điều trị Họ nhận thấy CBT trực tuyến hiệu CBT trực tiếp để điều trị lo âu trầm cảm [13] Từ có sở cho việc phát triển diễn đàn hỏi đáp vấn đề tâm lý với thành viên tham gia phản hồi chuyên gia tâm lý tình nguyện viên • Đối với nhiều bệnh nhân, nhấc điện thoại bước trình họ tham gia vào hệ thống chăm sóc sức khỏe Mỗi bệnh viện người trả tiền có trung tâm gọi độc lập để hỗ trợ bệnh nhân với câu hỏi y tế hành chính, đặt lịch hẹn, tốn Một khảo sát năm 2015 lãnh đạo trung tâm chăm sóc sức khỏe cho thấy nhiều trung tâm gọi thành lập từ lâu phần lớn (93%) quản lý nhà Hầu hết người hỏi dự đoán mức độ dịch vụ, nhân tầm quan trọng dịch vụ dựa điện thoại tăng lên năm tới [14] Vì để tiện cho việc tư vấn cho người dùng, website cần callcenter phải tốn callcenter thơng thường [18] Thay set up callcenter thật, website dùng callcenter ảo, tốn dễ set up Callcenter dùng công nghệ SIP để truyền âm qua Internet nữa, liên kết với số điện thoại thật (khi làm việc với nhà cung cấp VoIP Telco – nhà mạng) • Như nêu trên, xã hội thiếu nguồn lực tư vấn tâm lý kể tư vấn online, số lượng tư vấn viên, tình nguyện viên hay chuyên gia tâm lý bị thiếu hụt Để bù đắp cho việc đó, địi hỏi phải có chế tự động tạm thời thay tư vấn viên Điều na khiến ngành công nghiệp AI phải đối mặt với nhiều vấn đề Xây dựng hệ thống AI đàm thoại để tạo AI giống người chủ đề nghiên cứu hàng đầu Tạo AI trị liệu tâm lý ảo bước tiến gần đến giấc mơ AI giống người Chatbot mơ đối tác trị chuyện thực tế cách đưa câu trả lời thích hợp cho người dùng ngôn ngữ mà họ hiểu Chatbots chủ yếu sử dụng tiếp thị để nâng cao trải nghiệm khách hàng [12] 2.2 Yêu cầu: 2.3 Yêu cầu chức năng: ➢ Đối với người dùng: • Đăng ký, đăng nhập tài khoản • Chỉnh sửa thơng tin cá nhân • Chat với chatbot • Yêu cầu tư vấn • Tham gia vào forum (Tạo, sửa, xóa viết, bình luận viết, báo cáo viết, đánh dấu phản hồi có ích, upvote, downvote viết phản hồi) • Nhận thơng báo • Xem viết đề xuất cá nhân ➢ Đối với chatbot: • Chitchat • Ghi nhớ số thơng tin từ người dùng thông qua việc chatchit • Thực truy vấn sở liệu để phản hồi với người dùng • Tư vấn dựa dataset ➢ Đối với tình nguyện viên chuyên gia tâm lý: • Kế thừa chức người dùng • Nhận yêu cầu tư vấn • Xem danh sách người dùng tình nguyện viên khác • Thực gọi thơng qua website • Phản hồi diễn đàn highlight ➢ Đối với quản trị viên: • Kế thừa chức người dùng • Quản lý người dùng • Quản lý diễn đàn • Xem thống kê thông số trang web 2.4 Yêu cầu phi chức năng: ➢ Responsive ➢ PWA (Progressive Web App) ➢ Redux State Management ➢ Phân quyền Nội dung thực 1.1 Website ➢ Xây dựng frontend, backend sở liệu 1.2 Tổng đài gọi điện ➢ Ứng dụng công nghệ SIP vào website, thiết lập tổng đài gọi điện 1.3 AI chatbot ➢ Ứng dụng Framework Rasa, xây dựng chatbot cài đặt vào website Cơng nghệ, cơng cụ ngơn ngữ lập trình 2.1 Cơng nghệ chính: ➢ ReactJS, NodeJS, ExpressJS, MongoDB, JsSIP, Socket.io, Axios, Redux, ReactRouter, Mongoose package khác npm ➢ Rasa Chatbot Framework, Pymongo, Pygoogletrans package khác pip 2.2 Công cụ: ➢ Visual Studio Code 2.3 Ngơn ngữ lập trình: ➢ JavaScript ➢ Python Các kết dự kiến đạt ứng dụng ➢ Hoàn thành chức nêu Giảng viên cán hướng dẫn Họ tên: ThS TRẦN THỊ DUNG Đơn vị công tác: Trường Đại học Giao thông Vận tải Phân hiệu TP Hồ Chí Minh Điện thoại: Email: ttdung@utc2.edu.vn Ngày tháng năm 2022 Đã giao nhiệm vụ TKTN Trưởng BM Công nghệ Thông tin Giảng viên hướng dẫn Trần Thị Dung LỜI MỞ ĐẦU Đồ án tốt nghiệp minh chứng cho kiến thức có sau nhiều năm học tập, đích đến 16 năm đèn sách Trong q trình hồn thành đồ án tốt nghiệp, ngồi nỗ lực thân, em khơng thể hồn thành tối nhiệm vụ khơng có bảo hướng dẫn cô Trần Thị Dung Em xin gửi lời cảm ơn chân thành tới Ngồi suốt q trình học tập em quan tâm, hướng dẫn giúp đờ thầy, cô giáo Bộ môn Công nghệ Thông tin với động viên giúp đỡ bạn bè đồng nghiệp Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè chia sẻ, động viên em trình học tập hồnh thành đồ án Em xin trân trọng cảm ơn! TP.HCM, ngày … tháng … năm 2022 Sinh viên Lê Huỳnh Minh NHẬN XÉT CỦA GIẢNG VIÊN TP Hồ Chí Minh, ngày ….… tháng ….… năm ….… MỤC LỤC LỜI MỞ ĐẦU NHẬN XÉT CỦA GIẢNG VIÊN MỤC LỤC DANH MỤC HÌNH ẢNH CHƯƠNG: CƠ SỞ LÝ THUYẾT 10 1.1 Giới thiệu mơ hình MERN Stack thư viện hỗ trợ JavaScript khác 10 1.2 Giới thiệu VoIP, SIP, WebRTC, JsSIP 16 1.3 Giới thiệu Python, Natural Language Processing, Machine Learning, Rasa, thuật toán Bags of Words, Counsel Chat Dataset 17 1.4 Giới thiệu PWA 22 CHƯƠNG 2: THIẾT KẾ CHƯƠNG TRÌNH 23 2.1 Bài toán 23 2.2 Sơ đồ hệ thống 29 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH VÀ KẾT LUẬN 37 3.1 Xây dựng chương trình 37 3.2 Kết quả, Kiến nghị Kết luận 56 Tài liệu tham khảo 57 DANH MỤC HÌNH ẢNH Hình 1: Mơ tả lập trình truyền thống [10] 20 Hình 2: Mơ tả machine learning [10] 20 Hình 1: Sơ đồ cấu trúc vận hành hệ thống (đơn giản hóa) 29 Hình 2: Sơ đồ phân rã chức 31 Hình 3: Sơ đồ usecase 32 Hình 1: Giao diện trang chủ người dùng 37 Hình 2: Giao diện chat bot trình duyệt máy tính 37 Hình 3: Giao điện trang chủ diễn đàn 38 Hình 4: Giao điện trang chủ diễn đàn tìm kiếm lọc 38 Hình 5: Giao diện chi tiết viết bình luận 39 Hình 6: Giao diện tương tác với viết 39 Hình 7: Giao diện thơng báo trình duyệt máy tính 40 Hình 8: Giao diện đăng ký tư vấn 40 Hình 9: Giao diện nhận yêu cầu tư vấn 41 Hình 10: Giao diện điện thoại 41 Hình 11: Giao diện nhật ký gọi 42 Hình 12: Giao diện danh bạ 43 Hình 13: Giao diện thơng số thống kê 44 Hình 14: Giao diện thơng tin người dùng 44 Hình 15: Giao diện thơng tin người dùng 45 Hình 16: Giao diện cá nhân hóa người dùng 45 Hình 17: Giao diện thơng số người dùng 46 Hình 18: Giao diện thư viện ảnh bot gửi người dùng 46 Hình 19: Giao diện trang cá nhân điện thoại 47 Hình 20: Giao diện chat bot điện thoại 48 Hình 21: Giao diện thơng báo điện thoại 49 Hình 15: Giao diện thơng tin người dùng Hình 16: Giao diện cá nhân hóa người dùng 45 Hình 17: Giao diện thơng số người dùng Hình 18: Giao diện thư viện ảnh bot gửi người dùng 46 Hình 19: Giao diện trang cá nhân điện thoại 47 Hình 20: Giao diện chat bot điện thoại 48 Hình 21: Giao diện thơng báo điện thoại 49 Hình 22: Giao diện thông tin người dùng điện thoại 50 Hình 23: Giao diện phím điều hướng điện thoại 51 Hình 24: Giao diện diễn đàn điện thoại 52 Hình 25: Giao diện viết điện thoại 53 Hình 26: App tải điện thoại 54 Hình 27: App tải điện thoại 55 3.2 Kết quả, Kiến nghị Kết luận 3.2.1 Kết đạt được: • Hoàn thành chức nêu • Chương trình hoạt động mong đợi 3.2.2 Kiến nghị: • Cần trọng vào tốc độ xử lý, độ phức tạp chương trình cho phát triển tương lai • ChatBot cần thêm dataset nhiều hội thoại cho phát triển tương lai • Vận hành callcenter ảo độc lập lựa chọn tốt mặt kinh tế lẫn kỹ thuật cho website cỡ nhỏ thiếu chuyên môn viễn thông 3.2.3 Kết luận: • Hầu hết nghiên cứu so sánh người nhận liệu pháp trực tuyến với người không nhận liệu pháp, cách để chứng minh thân liệu pháp trực tuyến tạo khác biệt Tuy nhiên, nghiên cứu so sánh trực tiếp hiệu CBT trực tuyến với CBT trực tiếp cho thấy hai phương pháp trị liệu có hiệu việc giảm trầm cảm Những người lại trị liệu lâu có lợi ích lớn việc giảm chứng trầm cảm họ [15] Nếu có nhiều website tư vấn tâm lý mở ra, mở thêm nhiều cánh cửa cho cá nhân bị kẹt nhà bế tắc - nơi tâm trí họ trú ngụ • Website giải vấn đề đặt ban đầu: thiếu hụt chuyên gia tâm lý khó khăn việc tiếp cận trị liệu tâm lý 56 Tài liệu tham khảo [1] R Wieruch, The Road to React: Your journey to master React.js in JavaScript (2022 Edition) [2] D Flanagan, JavaScript: The Definitive Guide: Master the World's Most-Used Programming Language 7th Edition [3] G Lim, Beginning Node.js, Express & MongoDB Development [4] E Brown, Web Development with Node and Express: Leveraging the JavaScript Stack [5] B Dayley, NoSQL with MongoDB in 24 Hours, Sams Teach Yourself 1st Edition [6] V I Levenshtein, Binary codes capable of correcting deletions, insertions, and reversals [7] G Navarro, "A guided tour to approximate string matching", 2001 [8] E Matthes, Python Crash Course [9] S Vajjala, Practical Natural Language Processing: A Comprehensive Guide to Building Real-World NLP Systems [10] X Kong G Wang, Conversational AI with Rasa: Build, test, and deploy AIpowered, enterprise-grade virtual assistants and chatbots [11] Y Goldberg, Neural Network Methods in Natural Language Processing (Synthesis Lectures on Human Language Technologies, 37) [12] G WHO, World Health Organization (2000) The World Health Report 2000: Health Systems Improving Performance [13] C P, A G, C P, R H E Hedman-Lagerlöf, Internet-based vs face-to-face cognitive behavior therapy for psychiatric and somatic disorders: an updated systematic review and meta-analysis Cognitive Behaviour Therapy [14] D Fell, Healthcare call center survey results Oral presentation at: 27th Annual Conference of Healthcare Call Centers, 2015 57 [15] W J.H., O J.J., R D., E T.D., R T., B G.K., B M., R M.A., P G T M.E., Computer-assisted cognitive-behavior therapy for depression: a systematic review and meta-analysis The Journal of Clinical Psychiatry [16] “Tài liệu thức Redux,” [Trực tuyến] Available: https://redux.js.org/introduction/getting-started [17] “Tài liệu thức ReactJS,” [Trực tuyến] Available: https://reactjs.org [18] K White, “Site Selection Group,” [Trực tuyến] Available: https://info.siteselectiongroup.com/blog/callcentercost_2014 [19] “Tài liệu thức ExpressJS,” [Trực tuyến] Available: https://expressjs.com/en/4x/api.html [20] “Tài liệu thức MongoDB,” [Trực tuyến] Available: https://www.mongodb.com/docs/ [21] “Tài liệu thức Mongoose,” [Trực tuyến] Available: https://mongoosejs.com/docs/guide.html [22] “FreeCodeCamp - JavaScript,” [Trực tuyến] Available: https://www.freecodecamp.org/news/full-javascript-course-for-beginners/ [23] “Tài liệu thức Pymongo,” [Trực tuyến] Available: https://pypi.org/project/pymongo/ [24] “Tài liệu thức Socket.IO,” [Trực tuyến] Available: https://socket.io/docs/v4/ [25] “Tài liệu thức Axios,” [Trực tuyến] Available: https://axioshttp.com/docs/intro [26] “Tài liệu thức Python,” [Trực tuyến] Available: https://docs.python.org/3.8/ [27] “Tài liệu thức Rasa,” [Trực tuyến] Available: https://rasa.com/docs/ [28] “Dataset cho chatbot từ Counsel Chat,” [Trực tuyến] Available: https://counselchat.com [29] [Trực tuyến] Available: https://medium.datadriveninvestor.com/rasa-ai-chatbot-formental-health-1b3f13827ce3 58 [30] [Trực tuyến] Available: https://towardsdatascience.com/counsel-chat-bootstrappinghigh-quality-therapy-data-971b419f33da [31] [Trực tuyến] Available: https://machinelearningmastery.com/gentle-introduction-bagwords-model/ [32] “Tài liệu thức JsSIP,” [Trực tuyến] Available: https://jssip.net/documentation/ [33] [Trực tuyến] Available: https://www.goodtherapy.org/blog/faq/can-my-therapist-tellother-people-about-our-sessions [34] “3cx,” [Trực tuyến] Available: https://www.3cx.com/pbx/sip-phones/ [35] “Các package npm khác,” [Trực tuyến] Available: https://npmjs.com [36] “Các package pip khác,” [Trực tuyến] Available: https://pypi.org [37] “Tài liệu VoIP, Websockets, WebRTC, PWA,” [Trực tuyến] Available: https://developer.mozilla.org/en-US/docs [38] “Tài liệu thức NodeJS,” [Trực tuyến] Available: https://nodejs.org/en/docs/ 59