Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
5,65 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM - - ĐỒ ÁN Đề tài: XÂY DỰNG ỨNG DỤNG CHATBOT TƯ VẤN CHỌN KHÓA HỌC TRỰC TUYẾN Giảng viên hướng dẫn: ThS Trần Anh Dũng ThS Phan Trung Hiếu Sinh viên thực hiện: 18521481 Bùi Minh Tiến TPHCM, tháng năm 2021 ĐẠ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 ……… ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG CHATBOT TƯ VẤN CHỌN KHÓA HỌC TRỰC TUYẾN TÊN ĐỀ TÀI (TIẾNG ANH): BUILDING A CONSULTING CHATBOT APPLICATION FOR CHOOSING ONLINE COURSES CÁN BỘ HƯỚNG DẪN: ThS Trần Anh Dũng Thời gian thực hiện: Từ ngày 29/3/2021 đến ngày 30/06/2021 Sinh viên thực hiện: Bùi Minh Tiến – 18521481 Nội dung đề tài: (Lý chọn đề tài,các vấn đề số ứng dụng nay, mô tả chi tiết mục tiêu, phạm vi, đối tượng sử dụng, điểm bật ứng dụng, phương pháp thực hiện, tảng công nghệ, tiêu chí khác) Lý chọn đề tài: - Với phát triển mạng Internet thời đại 4.0, việc học hỏi kiến thức trở thành nhu cầu thiết yếu người sống để bắt kịp với cải tiến Cùng với phát triển đó, người khơng cịn bị thụ động việc học kiến thức khơng gói gọn sách Các khóa học online giảng thu sẵn xếp theo quy trình định chúng xuất nhằm tiết kiệm thời gian cho người dùng kiến thức mạng Internat vơ tận chưa hệ thống Tuy nhiên việc tìm kiếm khóa học hợp lý, chất lượng có giá hợp lý thường khó khăn Vì em chọn đề tài nhằm giúp cho người dùng tìm kiếm khóa học tư vấn hỗ trợ cho người dùng chọn khóa học phù hợp với nhu cầu - Khách hàng cần với thao tác đơn giản tìm khóa học phù hợp với mong muốn Các vấn đề số ứng dụng nay: - Các ứng dụng có chức tổng hợp, tìm kiếm, gợi ý khóa học online có - Các platform cung cấp khóa học online kyna.vn, unica.com.vn, … có chat chat với nhân viên tư vấn trực tuyến Vì em muốn tạo ứng dụng tổng hợp khóa học từ platform thông dụng giúp cho người dùng tìm kiếm chọn khóa học dễ dàng Phần mềm xây dựng cộng đồng đánh giá để đưa gợi ý đáng tin có sở Mục tiêu: - Xây dựng ứng dụng hỗ trợ, tư vấn cho người dùng nhằm tìm khóa học cách nhanh chóng phù hợp từ thông tin mà khách hàng cung cấp - Ứng dụng sử dụng công nghệ mới, phù hợp đáp ứng khả mở rộng tương tác cao - Ứng dụng có giao diện trực quan, dễ sử dụng, phù hợp với nhu cầu đối tượng người dùng - Phát triển ứng dụng có tính thực tiễn cao, có khả triển khai ứng dụng vào thực tế Phạm vi: Phạm vi chức năng: - Tìm kiếm thơng tin liên quan đến khóa học online - Trang thơng tin khóa học, nội dung khóa học - Tích hợp tính đăng nhập, đăng kí, yêu thích chia sẻ thơng tin khóa học - Hỗ trợ tư vấn cho người dùng tìm kiếm khóa học dựa vào từ khóa, lựa chọn danh mục người dùng Đối tượng sử dụng: Khách hàng có nhu cầu tìm kiếm khóa học online Điểm bật ứng dụng: - Ứng dụng có thêm chatbot tự động trả lời cho người dùng ứng dụng bật khơng có chatbot có chat mà người trực tiếp nói chuyện với người dùng - Ứng dụng tổng hợp khóa học từ platform cung cấp khóa học online để người dùng dễ tìm kiếm chọn lựa - Ứng dụng giúp lưu lại danh sách khóa học u thích người dùng quan tâm Phương pháp thực hiện: - Lên kế hoạch thực cách trao đổi trực tiếp gián tiếp nhờ tư vấn giáo viên hướng dẫn - Sử dụng phương pháp nghiên cứu như: Tự nghiên cứu tài liệu chuyên ngành Tìm hiểu, phân tích ứng dụng có - Về mặt cơng nghệ nhóm xây dựng Restful API Nodejs để làm việc với liệu Còn phần giao diện nhóm sử dụng Nextjs giúp người dùng xem tương tác trực tiếp - Xây dựng chatbot tư vấn, hỗ trợ người sử dụng tìm kiếm chọn lựa khóa học online - Tìm hiểu tốn xử lí ngơn ngữ tự nhiên (Natural Language Processing) Nền tảng công nghệ: - Front-end: Reactjs, Nextjs - Back-end: Nodejs - Database: MongoDB - Cào liệu: Puppeteer - Cơng cụ tìm kiếm: Elasticsearch - Chatbot Facebook Messenger - IDE: Visual Studio Code Các tiêu chí khác: Tính thẩm mỹ - Ứng dụng có giao diện đẹp, dễ sử dụng tâm lý thoải mái hút khách hàng sử dụng Tính logic - Đối với nhà quản trị cập nhật, thêm xóa sửa đổi thơng tin liên quan đến khóa học vấn đề khác Nhận trả lời ý kiến phản hồi phía khách hàng - Ứng liên kết logic hình để khách hàng chuyển hình cách nhanh thuận tiện nhất, Kế hoạch thực hiện: Với thời gian thực từ 29/03/2021 tới 30/06/2021, nhóm chia thành sprint: Sprint 1: Khảo sát, nghiên cứu Sprint 2: Phân tích thiết kế hệ thống, thiết kế chức sở liệu ứng dụng Sprint 3: Xây dựng API, xây dụng giao diện phát triển ứng dụng để thực chức Sprint Sprint 4: Tìm hiểu hệ thống gợi ý khóa học, chatbot ứng dụng Sprint 5: Kiểm thử chức Sprint 6: Hoàn thành báo cáo Sprint (29/03/2021 – 4/4/2021) Công việc - Khảo sát ứng dụng, website tương tự - Tìm hiểu công nghệ cần dùng: NodeJS, NextJS, ReactJS (5/4/2021 – 18/4/2021) - Phân tích, xác định chức - Đặc tả chức - Vẽ sơ đồ lớp, use-case - Xây dựng sở liệu (19/4/2021 – 16/5/2021) - Xây dựng API - Xây dựng giao diện ứng dụng - Hiện thực chức phân tích (17/5/2021 – 13/06/2021) - Nghiên cứu toán xử lý ngôn ngữ tự nhiên (14/6/2021 – 23/06/2021) - Kiểm thử chức ứng dụng (24/06/2021 – 30/06/2021) - Hoàn thành báo cáo cho đồ án - Nghiên cứu, xây dựng chatbot - Xử lý lỗi phát sinh Xác nhận CBHD (Ký tên ghi rõ họ tên) TP HCM, ngày … tháng … năm 2021 Mục lục CHƯƠNG THÔNG TIN CHUNG .10 1.1 Lý chọn đề tài: .10 1.2 Mục tiêu: 10 1.3 Phạm vi: 10 CHƯƠNG CƠ SỞ LÝ THUYẾT .12 2.1 Tổng quan Nodejs 12 2.1.1 Giới thiệu 12 2.1.2 Tạo chọn Nodejs để phát triển server 12 2.1.3 Áp dụng vào đề tài .12 2.2 ReactJS .12 2.2.1 Giới thiệu 12 2.2.2 Ưu nhược điểm Reactjs .12 2.3 NextJs .13 CHƯƠNG MƠ HÌNH USE CASE 14 5.1 Sơ đồ usecase 14 5.2 Danh sách actor 15 5.3 Danh sách usecase 16 5.4 Đặc tả use-case 17 5.4.1 Đặc tả use-case “Đăng kí” 17 5.4.2 Đặc tả use-case “Đăng nhập” .17 5.4.3 Đặc tả usecase “Quản lý người dùng” 18 5.4.4 Đặc tả usecase “Quản lý khóa học” 19 5.4.5 Đặc tả usecase “Quản lý Danh mục khóa học” 20 5.4.6 Đặc tả usecase “Quản lý Bình luận Khóa học” 20 5.4.7 Đặc tả usecase “Xóa khóa học yêu thích” 21 5.4.8 Đặc tả usecase “Xem thông tin cá nhân” 22 5.4.9 Đặc tả usecase “Chỉnh sửa thông tin cá nhân” 23 5.4.10 Đặc tả usecase “Tìm kiếm khóa học” .23 5.4.11 Đặc tả usecase “Xem thơng tin khóa học” 24 5.4.12 Đặc tả usecase “Bình luận khóa học” .24 5.4.13 u thích khóa học 25 5.4.14 Nhắn tin với hệ thống thông qua Chatbot .25 Chương 4: PHÂN TÍCH 27 6.1 Sơ đồ lớp (mức phân tích) 27 6.1.1 Sơ đồ lớp (mức phân tích) 27 6.1.2 Danh sách lớp đối tượng quan hệ 27 Chương 5: Thiết kế liệu .29 7.1 Sơ đồ logic 29 7.2 Mô tả chi tiết kiểu liệu sơ đồ logic .29 7.2.1 Bảng “User” .29 7.2.2 Bảng “Comment” .30 7.2.3 Bảng “Courses” 31 7.2.4 Bảng “ContactMessage” 32 7.2.5 Bảng “Category” 32 7.2.6 Bảng “Page” .32 7.2.7 Bảng “Instructor” .33 Chương 6: Thiết kế kiến trúc 34 8.1 Xây dựng kiến trúc hệ thống 34 Chương 7: Thiết kế giao diện 35 9.1 Danh sách hình 35 9.2 Mơ tả chi tiết hình 36 9.2.1 Đăng nhập 36 9.2.2 Đăng kí .37 9.2.3 Trang chủ 38 9.2.4 Tìm kiếm khóa học 39 9.2.5 Thơng tin khóa học 40 9.2.6 Danh sách đánh giá 41 9.2.7 Danh sách khóa học yêu thích 42 9.2.8 Thay đổi mật 43 9.2.9 Chỉnh sửa thông tin cá nhân .44 9.2.10 Thông tin giảng viên 45 9.2.11 Danh sách người dùng 46 9.2.12 Danh sách khóa học .47 9.2.13 Danh sách trang khóa học .48 9.2.14 Danh sách giảng viên .49 9.2.15 Danh sách danh mục .50 9.2.16 Tạo/Chỉnh sửa danh mục 51 9.2.17 Tạo/Chỉnh sửa giảng viên .52 9.2.18 Tạo/Chỉnh sửa khóa học 53 Chương 8: Kết luận 54 10.1 Môi trường phát triển môi trường triển khai .54 10.1.1 Môi trường phát triền ứng dụng 54 10.1.2 Môi trường triển khai ứng dụng 54 10.2 Kết đạt 54 10.3 Hướng phát triển 54 9.2.5 Thơng tin khóa học STT Tên thành phần Loại thành phần Mô tả thành phần Video khóa học iframe Nhúng video giới thiệu khóa học vào trang Thơng tin chung Text Card Hiển thơng tin, đánh giá, giá tiền khóa học Đi đến trang khóa học Button Chuyển đến trang chủ khóa học Thêm vào danh sách yêu thích Button Thêm khóa học vào danh sách u thích Bạn học Text Card Hiển thị nội dung khóa học Mơ tả khóa học Text Card Hiển thị mơ tả khóa học Trang cung cấp Text Card Hiển thị thông tin trang cung cấp 9.2.6 Danh sách đánh giá STT Tên thành phần Loại thành phần Mô tả thành phần Avatar img Hiển thị ảnh đại diện Tên tài khoản Text Hiển thị tên tài khoản Danh sách u thích Button Chuyển đến hình Danh sách u thích Đánh giá Button Chuyển đến hình Đánh giá Chỉnh sửa thông tin Button Chuyển đến hình Chỉnh sửa thơng tin Thay đổi mật Button Chuyển đến hình Thay đổi mật Item khóa học Text Card Hiển thị tên khóa học đánh giá người dùng Xóa Button Xóa đánh giá 9.2.7 Danh sách khóa học u thích STT Tên thành phần Loại thành phần Mô tả thành phần Avatar img Hiển thị ảnh đại diện Tên tài khoản Text Hiển thị tên tài khoản Danh sách u thích Button Chuyển đến hình Danh sách u thích Đánh giá Button Chuyển đến hình Đánh giá Chỉnh sửa thông tin Button Chuyển đến hình Chỉnh sửa thơng tin Thay đổi mật Button Chuyển đến hình Thay đổi mật Item khóa học Text Card Hiển thị tên khóa học có danh sách Xóa Button Xóa khóa học khỏi danh sách 9.2.8 Thay đổi mật STT Tên thành phần Loại thành phần Mô tả thành phần Avatar img Hiển thị ảnh đại diện Tên tài khoản Text Hiển thị tên tài khoản Danh sách u thích Button Chuyển đến hình Danh sách u thích Đánh giá Button Chuyển đến hình Đánh giá Chỉnh sửa thông tin Button Chuyển đến hình Chỉnh sửa thơng tin Thay đổi mật Button Chuyển đến hình Thay đổi mật Mật Input Nhập mật Mật Input Nhập mật Xác nhận Input Xác nhận lại mật 10 9.2.9 Submit Button Tiến hành đổi mật Chỉnh sửa thông tin cá nhân STT Tên thành phần Loại thành phần Mô tả thành phần Avatar img Hiển thị ảnh đại diện Thay đổi ảnh đại diện Button Tiến hành đổi ảnh đại diện Tên tài khoản Text Hiển thị tên tài khoản Giới tính Radio button Chọn giới tính Chữ kí Input Nhập chữ kí tài khoản Lưu Button Tiến hành lưu thông tin chỉnh sửa 9.2.10 Thông tin giảng viên STT Tên thành phần Loại thành phần Mô tả thành phần Avatar img Hiển thị ảnh đại diện Tên giảng viên Text Hiển thị tên giảng viên Giới thiệu Text Card Hiển thị thông tin giảng viên Item khóa học Text + image + button Hiển thị thơng tin khóa học giảng viên cho phép chuyển đến trang khóa học previous Button Trở trang trước next Button Chuyển đến trang sau Số trang Button Chuyển đến trang chọn 9.2.11 Danh sách người dùng STT Tên thành phần Loại thành phần Mô tả thành phần Avatar img Hiển thị ảnh đại diện Tên Text Hiển thị tên tài khoản Người dùng Button Chuyển đến giao diện danh sách người dùng Khóa học Button Chuyển đến giao diện danh sách khóa học Trang khóa học Button Chuyển đến giao diện danh sách trang khóa học Giảng viên Button Chuyển đến giao diện danh sách giảng viên Danh mục Button Chuyển đến giao diện danh sách danh mục Danh sách người dùng Table Hiển thị danh sách thông tin người dùng 9.2.12 Danh sách khóa học STT Tên thành phần Loại thành phần Mơ tả thành phần Avatar img Hiển thị ảnh đại diện Tên Text Hiển thị tên tài khoản Người dùng Button Chuyển đến giao diện danh sách người dùng Khóa học Button Chuyển đến giao diện danh sách khóa học Trang khóa học Button Chuyển đến giao diện danh sách trang khóa học Giảng viên Button Chuyển đến giao diện danh sách giảng viên Danh mục Button Chuyển đến giao diện danh sách danh mục Danh sách khóa học Table Hiển thị bảng danh sách khóa học Search Input Nhập từ khóa muốn tìm kiếm 10 Open Button Chuyển đến giao diện thơng tin khóa học 11 Edit Button Chuyển đến giao diện chỉnh sửa khóa học 12 Delete Button Thực xóa khóa học 9.2.13 Danh sách trang khóa học STT Tên thành phần Loại thành phần Mô tả thành phần Avatar img Hiển thị ảnh đại diện Tên Text Hiển thị tên tài khoản Người dùng Button Chuyển đến giao diện danh sách người dùng Khóa học Button Chuyển đến giao diện danh sách khóa học Trang khóa học Button Chuyển đến giao diện danh sách trang khóa học Giảng viên Button Chuyển đến giao diện danh sách giảng viên Danh mục Button Chuyển đến giao diện danh sách danh mục Danh sách người dùng Table Hiển thị danh sách thông tin người dùng Search Input Nhập từ khóa muốn tìm kiếm 10 Open Button Chuyển đến giao diện thông tin trang khóa học 11 Edit Button Chuyển đến giao diện chỉnh sửa trang khóa học 12 Delete Button Thực xóa trang khóa học 9.2.14 Danh sách giảng viên STT Tên thành phần Loại thành phần Mô tả thành phần Avatar img Hiển thị ảnh đại diện Tên Text Hiển thị tên tài khoản Người dùng Button Chuyển đến giao diện danh sách người dùng Khóa học Button Chuyển đến giao diện danh sách khóa học Trang khóa học Button Chuyển đến giao diện danh sách trang khóa học Giảng viên Button Chuyển đến giao diện danh sách giảng viên Danh mục Button Chuyển đến giao diện danh sách danh mục Danh sách giảng viên Table Hiển thị danh sách thông tin giảng viên Search Input Nhập từ khóa muốn tìm kiếm 10 Open Button Chuyển đến giao diện thông tin giảng viên 11 Edit Button Chuyển đến giao diện chỉnh sửa giảng viên 12 Delete Button Thực xóa giảng viên 9.2.15 Danh sách danh mục STT Tên thành phần Loại thành phần Mô tả thành phần Avatar img Hiển thị ảnh đại diện Tên Text Hiển thị tên tài khoản Người dùng Button Chuyển đến giao diện danh sách người dùng Khóa học Button Chuyển đến giao diện danh sách khóa học Trang khóa học Button Chuyển đến giao diện danh sách trang khóa học Giảng viên Button Chuyển đến giao diện danh sách giảng viên Danh mục Button Chuyển đến giao diện danh sách danh mục Danh sách danh mục Table Hiển thị danh sách thông tin danh mục Search Input Nhập từ khóa muốn tìm kiếm 11 Edit Button Chuyển đến giao diện chỉnh sửa danh mục 12 Delete Button Thực xóa danh mục 9.2.16 Tạo/Chỉnh sửa danh mục STT Tên thành phần Loại thành phần Mô tả thành phần Tên danh mục input Nhập tên danh mục Đường dẫn Input Nhập đường dẫn danh mục Lưu Button Tiến hành lưu danh mục Hủy Button Quay lại trang trước 9.2.17 Tạo/Chỉnh sửa giảng viên STT Tên thành phần Loại thành phần Mô tả thành phần Tên giảng viên input Nhập tên giảng viên Mô tả Input Nhập mô tả giảng viên Đường dẫn Input Nhập đường dẫn Trang khóa học Select Chọn trang khóa học Hình ảnh Select Chọn upload hình ảnh hay nhập link Chọn hình ảnh Button Chọn hình ảnh để upload Lưu Button Tiến hành lưu thơng tin 9.2.18 Tạo/Chỉnh sửa khóa học STT Tên thành phần Loại thành phần Mô tả thành phần Tên khóa học input Nhập tên khóa học Mơ tả Input Nhập mơ tả khóa học Đường dẫn Input Nhập đường dẫn Trang khóa học Select Chọn trang khóa học Hình ảnh Select Chọn upload hình ảnh hay nhập link Giá Input Nhập giá khóa học Chọn hình ảnh Button Chọn hình ảnh để upload Lưu Button Tiến hành lưu thông tin Chương 8: Kết luận Môi trường phát triển môi trường triển khai 10.1 10.1.1 Môi trường phát triền ứng dụng Hệ điều hành: Microsoft Windows 10 Hệ quản trị CSDL: MongoDB Công cụ xây dựng ứng dụng: Visual Studio Code, Docker Các thư viện sử dụng: Bootstrap, ExpressJS, Puppeteer 10.1.2 Môi trường triển khai ứng dụng Hệ điều hành: Linux Cần cài đặt Docker 10.2 Kết đạt Sau thời gian thực đề tài nhóm đạt số kết sau: Hiểu nắm kiến thức kiến trúc client server, cách sử dụng Docker Hiểu nắm cách xây dựng ứng dụng web ReactJS Nắm rõ React, HTML, CSS, SCSS, JavaScript, Bootstrap Web Design 10.3 Hướng phát triển Huấn luyện model AI tốt để mở rộng, cải tiến khả trả lời chatbot Tăng phạm vi trả lời cho chatbot Áp dụng thuật tốn gợi ý để tài để đưa kết tốt ... chat chat với nhân viên tư vấn trực tuyến Vì em muốn tạo ứng dụng tổng hợp khóa học từ platform thông dụng giúp cho người dùng tìm kiếm chọn khóa học dễ dàng Phần mềm xây dựng cộng đồng đánh giá... - Xây dựng ứng dụng hỗ trợ, tư vấn cho người dùng nhằm tìm khóa học cách nhanh chóng phù hợp từ thông tin mà khách hàng cung cấp - Ứng dụng sử dụng công nghệ mới, phù hợp đáp ứng khả mở rộng tư? ?ng... vào từ khóa, lựa chọn danh mục người dùng Đối tư? ??ng sử dụng: Khách hàng có nhu cầu tìm kiếm khóa học online Điểm bật ứng dụng: - Ứng dụng có thêm chatbot tự động trả lời cho người dùng ứng dụng