Mở đầu.Giới thiệu đề tài .Mục tiêu nghiên cứu .Phạm vi nghiên cứu. Phân tích yêu cầu. Yêu cầu chức năng. Yêu cầu phi chức năng.
Các kịch bản sử dụng. Thiết kế hệ thống. Kiến trúc hệ thống. Thiết kế chi tiết.
Môi trường phát triển. Cấu trúc mã nguồn. Quá trình cài đặt và triển khai. Các mã nguồn quan trọng và mô tả các điểm nổi bật.
Đánh giá và kết luận. Kết quả thực hiện. Đánh giá hệ thống. Hạn chế và hướng phát triển.
39 Bảng phân công công việc. 40 Tài liệu tham khảo. 42 0 DANH MỤC BẢNG Bảng 1. Phân công công việc.
Tài liệu tham khảo. 43 1 DANH MỤC HÌNH ẢNH Hình 1. Kiến trúc hệ thống đồ án. Giao diện CRUD người dùng.
Tạo màn hình đăng nhập. Tạo màn hình đăng nhập. Tạo màn hình đăng ký. Tạo màn hình đăng ký.
Tạo màn hình đăng ký. Cửa sổ chat. Cửa sổ chat. Cửa sổ chat.
Hiện cửa sổ đăng nhập. Người dùng nhập tin nhắn. Gửi tin nhắn. Hiện tin nhắn người dùng.1 Hiện tin nhắn của Bot .2 Hiện tin nhắn của Bot .3 Hiện tin nhắn của Bot.
Đợi tin nhắn chờ của Bot. Xử lý việc gửi OTP. Tra cứu thời tiết. Tra cứu thời tiết.
Lấy vị trí ip. Cài đặt Apache. Cài đặt Apache. Cài đặt Apache.
Cài đặt Apache. Cài đặt Apache. Cài đặt Apache. Cài đặt Apache.
Cài đặt Apache. Cài đặt Apache. Cài đặt Apache. Triển khai Apache.
Giao diện Apache. Cài đặt MySQL. Cài đặt MySQL. Cài đặt MySQL.
Cài đặt MySQL. Cài đặt MySQL. Cài đặt MySQL. Cài đặt MySQL.
Cài đặt MySQL. Cài đặt MySQL. Cài đặt MySQL. Cài đặt MySQL.
Cài đặt MySQL. Cài đặt MySQL. Cài đặt MySQL. Cài đặt MySQL.
Cài đặt MySQL. Cài đặt MySQL. Cài đặt MySQL. Cài đặt MySQL.
Giao diện ChatBot. Quên mật khẩu. Giao diện chat. Tra cứu thời tiết.
Vị trí ip. Quét port đang mở. Tìm kiếm trên Google. Xài cùng lúc nhiều client.
Giới thiệu đề tài - AI Chatbot là một ứng dụng sử dụng trí tuệ nhân tạo để giao tiếp và tương tác với người dùng thông qua các cu ộc trò chuy ện t ự động. Chương trình AI Chatbot có thể được sử dụng trong nhiều lĩnh vực như dịch vụ khách hàng, tư vấn, hỗ trợ kỹ thuật, giáo dục, và nhiều lĩnh vực khác. Việc xây dựng một Chatbot hiệu quả không chỉ giúp tiết kiệm thời gian và chi phí mà còn nâng cao tr ải nghiệm người dùng. - Lý do chọn đề tài: Ở thời đại ngày nay, AI đang ngày càng phát triển nhanh chóng và tr ở thành một trong các lĩnh vực công nghệ, việc giao tiếp và tương tác giữa doanh nghiệp và khách hàng ngày càng quan tr ọng và Chatbot là công cụ đáp ứng nhu cầu này.
Nó còn giúp tiết kiệm chi phí nhân s ự, thời gian và tài nguyên cùng v ới khả năng học hỏi t ừ dữ liệu trước đó để cung cấ p các phản hổi và nâng cao tr ải nghiệm cho người dùng thế nên tụi em nghĩ rằng mình muốn chọn đề tài này và nghiên cứu rõ hơn về nó. - Tầm quan trọng: Ứng dụng r ộng rãi trong nhiều lĩnh vực khác nhau, giúp doanh nghiệp cung cấp dịch vụ khác hàng liên t ục, giải đáp các thắc mắc nhanh chóng cùng với khả năng thu thập và phân tích d ữ liệu qua các th ắc mắc ấy để cải thiện hiệu quả hơn về nhu cầu của khách hàng. Mục tiêu nghiên cứu - Mục tiêu chính của đồ án: Giúp phát triển các kiến thức về AI và ChatBot, thiết kế và phát triển ChatBot hoạt động hiệu quả, thử nghiệm và đánh giá hiệu suất của nó sau đó đưa vào ứng dụng thực tế để ngày càng nâng cao và cải tiến ChatBot hơn. Ngoài ra có thể chia sẻ kết quả và bài học kinh nghiệm t ừ dự án đến với cộng đồng nghiên cứu và phát triển AI để tiếp thu nh ững ý kiến từ khắ p mọi nơi.
Phạm vi nghiên cứu - Giới hạ n của đề tài: + Phạm vi công nghệ: Tập trung vào việc nghiên cứu và sử dụng các kỹ thuậ t xử lý ngôn ngữ tự nhiên, học máy, học sâu cụ thể cho việc phát triển ChatBot. Sử dụng các nền t ảng và công cụ phát triển ChatBot phổ biến. 1 + Phạm vi chức năng: Thực hiện các chức năng cơ bản như trả lời câu h ỏi, cung cấp thông tin, hỗ trợ kỹ thuật và t ối ưu hóa trải nghiệm người dùng thông qua các cuộc trò chuyện tự nhiên và hiệu quả. + Phạm vi ứng dụng: Tập trung vào các lĩnh vực cụ thể như dịch vụ khách hàng, giáo dục, hỗ trợ kỹ thuậ t.
Không lấn sang các ứng dụng ph ức tạp như chăm sóc sức khỏe hay tài chính đòi hỏi bảo mật và chính xác cao hơn. + Phạm vi ngôn ngữ: Hỗ trợ ngôn ngữ tiếng Việt và bổ sung tiếng Anh tùy thuộc vào yêu cầu của dự án. - Phạ m vi của đề tài: + Nghiên cứu công nghệ và kỹ thuật như phân tích cú pháp, nhận dạ ng thực thể và tạo ngôn ngữ t ự nhiên. + Phát triển ChatBot gồm kh ả năng hiểu và phản hồi các câu h ỏi t ừ người dùng.
+ Thử nghiệm và đánh giá hiệu suất và độ chính xác trong việc xử lý các cuộc trò chuyện. + Thu th ập phả n hồi người dùng thực tế và cả i tiến ChatBot. Phân tích yêu cầu 2. Yêu cầu chức năng - Các chức năng chính của hệ thống: + Tra cứu thời tiết: gửi yêu cầ u là tên một tỉnh/thành phố hoặc địa danh (bằng tiếng Việt).
Kết quả phản hồi là thời tiết ngày hiện t ạ i và một số ngày/tuần (do SV quyết định) kế tiếp của địa điểm đó. + Xác định vị trí IP: gửi yêu cầu là 1 địa chỉ IP bất kỳ. Kết quả phản hồi là t ọa độ địa điểm tương ứng với địa chỉ IP đó. Có thể sử dụng API có sẵ n hoặc trích xu ất kết quả từ một website có công cụ này.
+ Quét port: gửi yêu cầu là một địa chỉ IP. Kết quả phản hồi là các port đang mở trong giới hạn t ừ port x đến port y (với x, y là dữ liệu người dùng nhậ p). + Các chức năng khác nếu có cài đặt sẽ có điểm cộng. Yêu cầu phi chức năng - Về hiệu năng: + Tốc độ phản hồi nhanh chóng.
+ Khả năng xử lý số lượng người dùng và câu hỏi không gặ p vấn đề. + Tối ưu hóa tài nguyên: không gây tải nặng cho hệ thống. - Về bảo mật: + Xác thực và phân quy ền: chỉ những người được sử dụng mới có thể truy cập. + Bả o vệ dữ liệu: Bảo đảm dữ liệu người dùng được bảo vệ + Ch ống bị tấn công: Bởi các lỗ hổng bảo mật.
- Về độ tin cậy: + Khả năng chịu lỗi: Hoạt động liên tục kể cả khi gặp sự cố. + Cậ p nhật và bảo trì thường xuyên. Các kịch bản sử dụng 3 3. Thiết kế hệ thống 3.
Kiến trúc hệ thống 1 Kiến trúc hệ thống đồ án 3. Thiết kế chi tiết - Về thiết kế giao diện: Xài JavaFX(là một bộ công cụ phần mềm để t ạ o giao diện đồ họa (GUI) phong phú cho các ứng dụng Java. Nó giúp cho ChatBot t ạo các cửa sổ chat, các ô nh ập liệu, nút b ấm và các thông báo ở giao diện người dùng, giúp dễ dàng tương tác với ChatBo và mang lạ i trả i nghiệm tốt hơn cho người dùng mà còn giúp phát triển và bảo trì mã nguồn dễ dàng hơn. - Về thiết kế cơ sở dữ liệu: Xài MySQL(được biết đến với hiệu suấ t cao, tính ổn định, và khả năng mở rộng t ốt, phù h ợp cho cả các ứng dụng nhỏ lẻ đến các hệ thống lớn).
Nó giúp cho ChatBot lưu trữ dữ liệu người dùng và tương tác, Quản lý dữ liệu và bảo mật. 4 - Về thiết kế các module và các luồng dữ liệu: + Ví dụ ở chức năng tra cứu th ời tiết: 1) Người dùng hỏi “Thời tiết hôm nay thế nào”. 2) UI Module: nh ậ n câu hỏi t ừ người dùng. 3) NLP Module: phân tích câu hỏi và xác định ý định là tra cứu thời tiết.
4) Dialogue Management: điều hướng yêu cầu đến module thích hợp. 5) Integration Module: Gửi yêu cầu đến API th ời tiết. 6) Integration Module: Nh ận kết quả từ API th ời tiết. 7) Dialogue Management: Xử lý và định dạng kết qu ả.
8) UI Module: Tr ả lời người dùng. + Tương tự như vậy ở chức năng tìm vị trí ip hay xem các port đang chạy, người dùng cũng sẽ gửi đến yêu cầu và các Module sẽ xử lý và gửi lại câu tr ả lời cho người dùng. - Về thiết kế ngoài yêu cầu: + Gửi OTP: Trường hợp người dùng đăng ký tài khoản có email quên mật khẩu thì sẽ gửi một mã OTP nh ằm đổi lạ i mậ t khẩu. + Chức năng thêm, sửa và xóa người dùng: 5 2 Giao diện CRUD người dùng 4.
Môi trường phát triển • Apache NetBeans IDE 22: - Là phiên bản mới nhất của môi trường phát triển tích hợp (IDE) NetBeans do Apache Software Foundation phát triển và duy trì. - Nổi tiếng với các tính năng mạnh mẽ hỗ trợ lập trình Java, nhưng cũng cung cấp các công cụ phát triển cho các ngôn ngữ lập trình khác như PHP, JavaScript, HTML5, C/C++, và nhiều ngôn ngữ khác. - Một số tính năng nổi bật: Hỗ trợ đa ngôn ngữ, trình soạn thảo mã thông minh, công cụ gỡ lỗi, tích hợp Git và các h ệ thống quả n lý phiên bản khác,… - Apache NetBeans IDE 22 tiếp tục là một công cụ phổ biến cho người lập trình mạng nhằm đảm bảo hiệu suất và tính ổn định của ứng dụng.4 Configurator: - Là một công cụ tiện ích giúp quản trị viên và nhà phát triển cơ sở dữ liệu dễ dàng cấu hình và tối ưu hóa các cài đặt cho MySQL 8. - Giúp đơn giản hóa quá trình thiết lập và điều chỉnh các tham s ố cấu hình để MySQL hoạt động hiệu quả nhất trong môi trường cụ thể của người dùng.
6 - Một s ố tính năng chính: giao diện thân thiện, hướng dẫn cấ u hình, hỗ trợ đa nền tảng, theo dõi và giám sát hiệu suất,… • Ngôn ngữ lập trình. Cấu trúc mã nguồn 3.