Đồ án xây dựng ứng dụng đưa ra lời khuyên tâm lý dựa vào thói quen người dùng

47 2 0
Đồ án xây dựng ứng dụng đưa ra lời khuyên tâm lý dựa vào thói quen người dùng

Đ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

ĐẠ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 BÁO CÁO ĐỒ ÁN Xây dựng ứng dụng đưa lời khuyên tâm lý dựa vào thói quen người dùng Giảng viên hướng dẫn: Nguyễn Thị Thanh Trúc Lớp: SE121.N21 Sinh viên thực hiện: Trần Quốc Khánh MSSV: 20502578 LỜI CẢM ƠN Nhóm chúng em xin gửi lời cảm ơn chân thành tri ân sâu sắc đến hướng dẫn, góp ý cho em qua lần gặp mặt giúp em định hướng đề tài Từ tạo điều kiện cho em hồn thành đồ án môn Đồ án Mặc dù cố gắng hoàn thành báo cáo với tất nỗ lực song báo cáo em chắn không tránh khỏi thiếu sót, em mong nhận thơng cảm góp ý chân thành từ Em xin chân thành cảm ơn Thành phố Hồ Chí Minh, tháng năm 2023 Trần Quốc Khánh MỤC LỤC Chương TỔNG QUAN 1.1 Khảo sát trạng 1.1.1 Nhu cầu thực tế đề tài 1.1.2 Khảo sát số ứng dụng có 1.1.2.1 Headspace 1.1.2.2 Fabulous - Daily Planner & Self-Care Habit Tracker 1.1.2.3 Moodfit 1.2 Mục tiêu 1.2.1 Đối tượng sử dụng 1.2.2 Yêu cầu 1.2.2.1 Yêu cầu chức 1.2.2.2 Yêu cầu phi chức Chương CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 2.1 Mơ hình hồi quy tuyến tính 2.1.1 Tổng quan 2.1.2 Hàm mát mơ hình hồi quy tuyến tính 2.1.3 Hệ số xác định mô hình hồi quy tuyến tính 2.1.4 Ưu nhược điểm mơ hình hồi quy tuyến tính 10 2.1.5 Phương pháp tối ưu 11 2.1.5.1 Gradient Descent 11 2.1.5.2 Stochastic Gradient Descent (SGD) 11 2.1.5.3 Mini-batch Gradient Descent 12 2.2 Thuật toán 13 2.2.1 Thuật toán Bcrypt 13 2.3 Công nghệ sử dụng 14 Chương PHÂN TÍCH BÀI TỐN 16 3.1 Sơ đồ use-case 16 3.1.1 Sơ đồ use case tổng quát 16 3.1.2 Mô tả use case 16 3.1.2.1 Đăng nhập 16 3.1.2.2 Khôi phục mật 18 3.1.2.3 Xem thống kê 19 3.1.2.4 Làm khảo sát 20 3.1.2.5 Thiền 21 3.1.2.6 Xem lịch sử thiền 22 3.1.2.7 Trò chuyện với chatbot 23 3.1.2.8 Đăng ký 23 3.2 Sơ đồ activity diagram 25 3.2.1 Lược đồ hoạt động đăng nhập 25 3.2.2 Lược đồ hoạt động khôi phục mật 26 3.2.3 Lược đồ hoạt động xem thống kê 27 3.2.4 Lược đồ hoạt động làm khảo sát 28 3.2.5 Lược đồ hoạt động thiền 29 3.2.6 Lược đồ hoạt động xem lịch sử thiền 30 3.2.7 Lược đồ hoạt động trò chuyện với chatbot 30 3.2.8 Lược đồ hoạt động đăng ký tài khoản 31 Chương THIẾT KẾ VÀ TRIỂN KHAI 32 4.1 Thiết kế 32 4.1.1 Thiết kế liệu 32 4.1.1.1 Sơ đồ logic 32 4.1.1.2 Mô tả chi tiết 32 User 32 Account 33 Message 33 Meditation_Audio 34 Meditate 34 Question 35 Answer 35 Survey 36 Detail_Survey 36 4.1.2 Kiến trúc hệ thống 37 4.1.2.1 Mơ hình client-server 37 4.1.3 Thiết kế giao diện 38 4.1.3.1 Màn hình OnBoarding 38 4.1.3.2 Màn hình welcome 39 4.1.3.3 Màn hình đăng nhập 39 4.1.3.4 Màn hình đăng ký 40 4.1.3.5 Màn hình Home 40 4.1.3.6 Màn hình khảo sát 41 4.1.3.7 Màn hình danh sách audio thiền 41 4.1.3.8 Màn hình thiền 42 4.1.3.9 Màn hình trị chuyện với chatbot 42 4.1.3.10 Màn hình xem lịch sử thiền dự đoán 43 4.2 Triển khai 43 4.2.1 Cài đặt 43 4.2.2 Kiểm thử phần mềm 43 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 43 5.1 Kết luận 43 5.2 Hướng phát triển 43 TÀI LIỆU THAM KHẢO 44 ĐỒ ÁN Chương TỔNG QUAN 1.1 Khảo sát trạng 1.1.1 Nhu cầu thực tế đề tài Hiện nay, với tập trung mức vào việc học, bạn học sinh, sinh viên dễ dàng bỏ qua sức khỏe tâm lý Những thói quen khơng tốt thiếu ngủ, ăn uống không khoa học, stress, áp lực học tập tình trạng tự lập, thiếu giao lưu, gặp gỡ bạn bè gia đình gây ảnh hưởng xấu tới sức khỏe tâm lý họ Do đó, nhóm định xây dựng phần mềm đưa lời khuyên tâm lý dựa vào thói quen người dùng, nhằm giúp người dùng nâng cao nhận thức tình trạng sức khỏe tâm lý áp dụng thói quen tốt sống hàng ngày 1.1.2 Khảo sát số ứng dụng có 1.1.2.1 Headspace Tổng quan Headspace ứng dụng giúp người dùng tập trung giải vấn đề tâm lý họ Với nhiều chức luyện tập thở, thiền, tập trung vào công việc, Headspace giúp người dùng đạt trạng thái tâm lý cân bằng, tăng cường sức khỏe tâm lý giảm stress Chức Cung cấp tập hướng dẫn thiền để giảm stress, tăng cường tập trung cải thiện sức khỏe tâm lý 1.1.2.2 Fabulous - Daily Planner & Self-Care Habit Tracker Tổng quan Fabulous ứng dụng hỗ trợ việc tạo thói quen tốt cải thiện chất lượng sống người dùng Ứng dụng sử dụng phương pháp khoa học để giúp người dùng đạt mục tiêu họ, đồng thời tối ưu hóa thời gian lượng Chức Đánh giá thói quen người dùng đưa lời khuyên, kế hoạch cải thiện thói Từ đó, người dùng tự cải thiện thói quen 1.1.2.3 Moodfit Tổng quan Moodfit ứng dụng giúp người dùng đánh giá quản lý sức khỏe tâm lý Với nhiều chức đánh giá tình trạng tâm lý, luyện tập tâm lý, ghi chép cảm xúc, Moodfit giúp người dùng nâng cao nhận thức sức khỏe tâm lý đưa lời khuyên để giúp họ có sống tốt Chức Cung cấp tập tập thể dục, yoga giải pháp hỗ trợ tâm lý để giúp người dùng giảm stress, cải thiện tâm trạng sức khỏe tâm lý 1.2 Mục tiêu Mục tiêu ứng dụng giúp người dùng nhận biết tình trạng thói quen hỗ trợ họ việc xây dựng trì thói quen lành mạnh, từ giúp cải thiện sức khỏe tâm lý 1.2.1 Đối tượng sử dụng Các đối tượng sử dụng bao gồm học sinh sinh viên 1.2.2 Yêu cầu 1.2.2.1 Yêu cầu chức − Quản lý tài khoản (đăng nhập, đăng ký, khôi phục mật khẩu) − Thiền − Xem lịch sử hoạt động − Hẹn − Trò chuyện với chatbot − Làm khảo sát để lấy kết dự đoán − Xem biểu đồ thống kê kết dự đoán 1.2.2.2 Yêu cầu phi chức − Yêu cầu giao diện Giao diện trực quan, thân thiện dễ sử dụng Ngoài ra, giao diện cần thống nhất, đồng bộ, tránh gây bất ngờ cho người sử dụng − Yêu cầu tính bảo mật Dữ liệu người dùng cần bảo mật, liệu không xóa hồn tồn, phải có khả khơi phục lại − Yêu cầu tính tương thích Ứng dụng cần tương thích với hầu hết phiên phổ biến hệ điều hành Android − Yêu cầu tính hiệu Hệ thống quản lý liệu cách logic Đảm bảo độ ổn định hệ thống, tránh gây khó chịu cho người dùng − Yêu cầu khả phát triển Hệ thống thiết kế linh hoạt để dễ dàng mở rộng theo nhu cầu phát triển tương lai Các tính thêm vào ứng dụng cách dễ dàng thông qua việc cấu hình cài đặt Chương CƠ SỞ LÝ THUYẾT VÀ CƠNG NGHỆ 2.1 Mơ hình hồi quy logistic 2.1.1 Tổng quan Mơ hình hồi quy tuyến tính mơ hình thống kê phổ biến sử dụng nhiều lĩnh vực, từ kinh tế, y tế đến khoa học máy tính Mơ hình dựa phương trình tuyến tính để ước lượng giá trị biến phụ thuộc dựa giá trị nhiều biến độc lập Mơ hình hồi quy tuyến tính sử dụng phương trình tuyến tính để mô tả mối quan hệ biến độc lập biến phụ thuộc Bằng cách tính tốn hệ số phương trình tuyến tính này, dự đoán giá trị biến phụ thuộc dựa giá trị biến độc lập, giúp hiểu rõ tình hình xu hướng liệu Trong thuật tốn hồi quy tuyến tính, mơ hình xác định hàm tuyến tính có dạng: y = w1x1 + w2x2 + w3x3 + … + w0 (1) Trong đó: - y biến phụ thuộc (đầu ra) cần dự đoán - w0 hệ số chặn (bias) gọi hệ số tự - w1, w2, w3, hệ số hồi quy (hay gọi hệ số trọng số) tương ứng với biến độc lập x₁, x₂, x3, Đồ thị mơ hình logistic regression minh hoạ khả qua môn 2.1.2 Hàm mát mô hình hồi quy logistic Hàm mát Hồi quy Logistic Hàm mát hàm toán học sử dụng để đo lường sai số giá trị dự đốn giá trị thực tế Nó cung cấp cách để đánh giá chất lượng mơ hình dự đốn cách tính tốn tổng sai số dự đoán cho tất ghi tập liệu Một hàm mát phổ biến sử dụng hồi quy logistic entropy chéo nhị phân, gọi log loss Hàm mát đo lường khác biệt xác suất dự đoán giá trị nhị phân thực Giá trị hàm mát entropy chéo nhị phân không âm, với giá trị nhỏ cho thấy hiệu suất mơ hình tốt Hàm mát entropy chéo nhị phân định nghĩa sau: L = - (y * log(p) + (1 - y) * log(1 - p)) Trong đó: L giá trị hàm mát y giá trị nhị phân thực (0 1) p xác suất dự đoán Hàm mát tính tốn log-likelihood âm giá trị nhị phân thực cho xác suất dự đoán Log-likelihood đo lường mức độ khớp xác suất dự đoán với giá trị nhị phân thực Bằng cách tối thiểu hóa log-likelihood âm (tức tối thiểu hóa hàm mát entropy chéo nhị phân để tìm mơ hình hồi quy logistic phù hợp với liệu 2.1.3 Hiệu suất mơ hình Độ xác (Accuracy): Đây độ đo phổ biến sử dụng để đo lường tỷ lệ dự đốn xác tồn liệu Độ xác tính tổng số dự đốn xác chia cho tổng số lượng điểm liệu Tuy nhiên, độ xác khơng phản ánh hiệu suất mơ hình trường hợp liệu cân bằng, tỷ lệ nhãn khác khơng đồng Độ xác cân (Balanced Accuracy): Đối với toán phân loại cân bằng, độ xác cân độ đo sử dụng để đánh giá hiệu suất mô hình Độ xác cân tính tốn trung bình độ xác nhãn riêng biệt Nó tính cách lấy tổng độ xác tất nhãn chia cho số lượng nhãn Đường cong ROC (Receiver Operating Characteristic curve): Đường cong ROC đồ thị biểu diễn mối quan hệ tỷ lệ nhãn dương dự đoán (True Positive Rate - TPR) tỷ lệ nhãn âm dự đoán sai (False Positive Rate - FPR) 3.2.8 Lược đồ hoạt động đăng ký tài khoản Hình 3.17 sơ đồ activity đăng ký tài khoản Chương THIẾT KẾ VÀ TRIỂN KHAI 4.1 Thiết kế 4.1.1 Thiết kế liệu 4.1.1.1 Sơ đồ logic Hình 4.1 sơ đồ logic 4.1.1.2 Mơ tả chi tiết User STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi userId string PK Mã người dùng displayName string Tên người dùng age number Tuổi người dùng email string Email người dùng Avatar string Uri ảnh đại diện gender string Giới tính Bảng 4.1 Mơ tả chi tiết bảng User Account STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi accountId string PK Mã tài khoản userId string FK Mã người dùng email string Email người dùng password string Mật người dùng Bảng 4.2 Mô tả chi tiết bảng Account Message STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi messageId string PK Mã tin nhắn userId string FK Tên người dùng content number Nội dung tin nhắn createdAt timestamp Thời gian tạo Bảng 4.3 Mô tả chi tiết bảng Message Meditation_Audio STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi meditationId string PK Mã audio audioUri string Uri audio name string Tên audio image string Ảnh audio(Uri) duration long Độ dài audio Bảng 4.4 Mô tả chi tiết bảng Meditation_Audio Meditate STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi meditateId string PK Mã thiền meditationId string FK Mã audio userId number FK Mã người dùng createdAt timestamp Mốc thời gian tạo duration long Độ dài thời gian nghe Bảng 4.5 Mô tả chi tiết bảng Meditate Question STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi questionId string PK Mã câu hỏi content string Nội dung câu hỏi Bảng 4.6 Mô tả chi tiết bảng User Answer STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi answerId string answerValue string PK Mã câu trả lời Nội dung câu trả lời Bảng 4.7 Mô tả chi tiết bảng Answer Survey STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi surveyId string PK Mã khảo sát userId string FK Mã người dùng createdAt timestamp Mốc thời gian tạo predictedValue float Giá trị dự đốn Bảng 4.8 Mơ tả chi tiết bảng Survey Detail_Survey STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi detailSurveyId string PK Mã chi tiết khảo sát surveyId string FK Mã khảo sát questionId string FK Mã câu hỏi answerId string FK Mã câu trả lời Bảng 4.9 Mô tả chi tiết bảng Detail_Survey 4.1.2 Kiến trúc hệ thống 4.1.2.1 Mơ hình client-server Hình 4.1 Mơ hình client-server Mơ hình client-server kiến trúc phần mềm phổ biến sử dụng để thiết kế hệ thống phân tán Trong mơ hình này, phần mềm phân chia thành hai phần chính: client server Client có vai trị gửi u cầu nhận liệu từ server hiển thị chúng cho người dùng Server nơi lưu trữ liệu xử lý yêu cầu từ client Server cung cấp dịch vụ chức cho client đảm bảo yêu cầu xử lý cách trả liệu xác Mơ hình client-server có nhiều ưu điểm, bao gồm tính linh hoạt dễ dàng mở rộng, cho phép phần mềm hoạt động nhiều thiết bị khác mở rộng theo nhu cầu người dùng Nó cho phép phân tán tài nguyên tăng cường tính bảo mật Mơ hình client-server sử dụng rộng rãi ứng dụng web di động, mơ hình phát triển phần mềm phổ biến 4.1.3 Thiết kế giao diện 4.1.3.1 Màn hình OnBoarding Hình 4.1 Màn hình OnBoarding 4.1.3.2 Màn hình welcome Hình 4.2 Màn hình welcome 4.1.3.3 Màn hình đăng nhập Hình 4.3 Màn hình đăng nhập 4.1.3.4 Màn hình đăng ký Hình 4.4 Màn hình đăng ký 4.1.3.5 Màn hình Home Hình 4.5 Màn hình home 4.1.3.6 Màn hình khảo sát 4.6 Màn hình khảo sát 4.1.3.7 Màn hình danh sách audio thiền Hình 4.7 Màn hình khảo sát 4.1.3.8 Màn hình thiền Hình 4.8 Màn hình khảo sát 4.1.3.9 Màn hình trị chuyện với chatbot Hình 4.9 Màn hình khảo sát 4.1.3.10 Màn hình xem lịch sử thiền dự đốn Hình 4.9 Màn hình thống kê 4.2 Triển khai 4.2.1 Cài đặt Bước 1: Cài đặt AndroidStudio từ Download Android Studio & App Tools Android Developers Bước 2: Clone source code từ github Bước 3: Mở folder clone Android Studio 4.2.2 Kiểm thử phần mềm Nhóm có tiến hành kiểm thử phần mềm sau lần build chức năng, tăng tính đắn tốc độ sửa lỗi chương trình Manual testing: whitebox, blackbox theory API testing: Postman Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận 5.1.1 Lý thuyết Nắm quy trình phát triển ứng dụng thiết bị di động Nắm kiến thức sức khoẻ tâm lý, mối liên hệ sức khoẻ tâm lý thói quen người dùng Biết cách phân bổ thời gian công việc cách hợp lý 5.1.2 Công nghệ Nắm kiến thức thư viện sử dụng python vận dụng việc xây dựng mơ hình Machine Learning Biết cách sử dụng mơ hình Machine Learning việc xây dựng ứng dụng di động 5.1.3 Hạn chế đề tài Mặc dù đề tài "Xây dựng ứng dụng đưa lời khuyên sức khoẻ tâm lý dựa vào thói quen người dùng" mang lại nhiều lợi ích, có hạn chế: Phương pháp thu thập liệu cịn hạn chế, mơ hình chưa có độ tin cậy cao, tính cịn hạn chế Yếu tố cá nhân thói quen: Ứng dụng cung cấp thông tin hỗ trợ, thay thói quen tâm người dùng Để đạt lợi ích tối đa, người dùng cần có ý thức tâm để thực chế độ ăn uống lành mạnh Phụ thuộc vào tham gia người dùng: Hiệu ứng dụng phụ thuộc vào tham gia tương tác người dùng Nếu người dùng không sử dụng ứng dụng đầy đủ không theo dõi chế độ ăn uống lành mạnh, lợi ích ứng dụng bị giảm 5.2 Hướng phát triển Tích hợp khuyến nghị: Ứng dụng cung cấp khuyến nghị cá nhân hóa cho người dùn, hiểu phân tích hành vi thói quen người dùng để đưa gợi ý Tính tốn lượng nước cần thiết ngày để gợi ý cho người dùng Cải thiện tính trị chuyện chatbot dành cho chủ đề sức khoẻ tâm lý Cải tiến sử dụng mơ hình Machine Learning khác thích hợp với liệu người dùng giúp tăng độ xác việc dự đoán TÀI LIỆU THAM KHẢO [1]Android , “Android document”, [Online] Available: https://developer.android.com/docs [2] Logistic Regression, “StatQuest: Logistic Regression series”, [Online] Available StatQuest: Logistic Regression - YouTube [3] Firebase, “Firebase document”, [Online] Available: https://firebase.google.com/docs [4] Scikit-learn, “Scikit-learn document”, [Online] Avaiable: scikit-learn: machine learning in Python — scikit-learn 1.3.0 documentation [5] “What is logistic regression?”, [Online] Available: What is Logistic regression? | IBM [6] C.P.Văn “Logistic regression – toán Machine Learning”, [Online], Avaiable: Logistic Regression - Bài toán Machine Learning (viblo.asia)

Ngày đăng: 04/09/2023, 20:29

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan