1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo Đồ Án lập trình mạng Đề tài xây dựng chương trình ai chatbot

52 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Xây Dựng Chương Trình AI Chatbot
Tác giả Phạm Minh Quang, Nguyễn Công Khanh
Người hướng dẫn Phạm Phú Thiện
Trường học Trường Đại Học Ngoại Ngữ - Tin Học Thành Phố Hồ Chí Minh
Chuyên ngành Lập Trình Mạng
Thể loại Đồ Án
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 52
Dung lượng 11,64 MB

Cấu trúc

  • 1- Mở đầu (10)
    • 1.1. Giới thiệu đề tài (10)
    • 1.2. Mục tiêu nghiên cứu (10)
    • 1.3. Phạm vi nghiên cứu (10)
  • 2. Phân tích yêu cầu (11)
    • 2.1. Yêu cầu chức năng (11)
    • 2.2. Yêu cầu phi chức năng (0)
    • 2.3. Các kịch bản sử dụng (12)
  • 3. Thiết kế hệ thống (13)
    • 3.1. Kiến trúc hệ thống (13)
    • 3.2. Thiết kế chi tiết (13)
  • 4. Mã nguồn (15)
    • 4.1. Môi trường phát triển (15)
    • 4.2. Cấu trúc mã nguồn (16)
    • 4.3. Quá trình cài đặt và triển khai (29)
    • 4.4. Các mã nguồn quan trọng và mô tả các điểm nổi bật (42)
  • 5. Đánh giá và kết luận (44)
    • 5.1. Kết quả thực hiện (44)
    • 5.2. Đánh giá hệ thống (48)
    • 5.3. Kết luận (49)
    • 5.4. Hạn chế và hướng phát triển (49)
  • Tài liệu tham khảo (0)

Nội dung

HCM , đến quý th y, cô gi ng viên khoa Công nghầ ả ệ thông tin đã đưa môn học ập trình mạng vào chương trình giảng dạy và đã luôn quan tâm, giúp đỡ Lchung em trong quá trình h c tọ ập..

Phân tích yêu cầu

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 ộ

2.2 Yêu c u phi chầ ức 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

+ 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.

+ 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

2.3 Các kịch bản sử dụng

Các kịch bản sử dụng

Thiết kế hệ thống

Kiến trúc hệ thống

1 Kiến trúc hệ thống đồ án

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

- 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:

2 Giao diện CRUD người dùng

Mã nguồn

Môi trường phát triển

- 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.

- 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.4

- 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

- 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,…

Cấu trúc mã nguồn

3.1 Tạo màn hình đăng nhập

8 3.2 Tạo màn hình đăng nhập

4.1 Tạo màn hình đăng ký

9 4.2 Tạo màn hình đăng ký

4.3 Tạo màn hình đăng ký

8 Hiện cửa sổ đăng nhập

9 Người dùng nh p tin ậ nhắn

11 Hiện tin nhắn người dùng

12.1 Hiện tin nh n cắ ủa Bot

15 12.2 Hiện tin nh n cắ ủa Bot

12.3 Hiện tin nh n cắ ủa Bot

13 Đợi tin nh n ch c a Bot ắ ờ ủ

14 X lý viử ệc gửi OTP

15.1 Tra cứu th i tiờ ết

15.2 Tra cứu th i tiờ ết

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

+ K t nế ối và đăng nhập:

⚫ Sử dụng socket để kết n i v i máy ch ố ớ ủ

⚫ Xử lý lu ng dồ ữ liệu đầu vào/đầu ra để gửi và nh n tin nhậ ắn văn bản.

⚫ Phân biệt và hiển th tin nh n cị ắ ủa người dùng và bot với định dạng khác nhau

⚫ Cung c p các chấ ức năng đăng nhập, đăng ký và đóng kết nối

⚫ Cho phép chuyển đổi giữa các chủ đề giao diện sáng và t ối.

⚫ Khi gửi yêu cầu có hiện dòng tin nhắn đợi bot đang xử lý

⚫ Gửi mã OTP qua mail

⚫ Sử dụng socket để tạo kết nối giữa server và client

⚫ Quản lý nhiều client đồng thời bằng cách s d ng lu ng (thread) ử ụ ồ

⚫ Xác thực người dùng b ng cách ki m tra ằ ể thông tin đăng nhập với cơ sở dữ liệu

⚫ Lưu trữ lịch s chat vào database ử

⚫ Thực hiện các tác vụ đa dạng d a trên yêu c u cự ầ ủa người dùng:

✓ Lấy thông tin th i tiờ ết

✓ Xác định vị trí IP

✓ Quét port kiểm tra các port đang mở

✓ Trò chuy n vệ ới người dùng b ng Simsimi API ằ

✓ Tìm kiếm t khóa trên Google ừ

⚫ Mã nguồn đượ ổ chức t c rõ ràng, dễ hiểu và d bảo trì.ễ

Đánh giá và kết luận

Kết quả thực hiện

Đánh giá hệ thống

- Về hiệu năng: vẫn có thể xài ChatBot được dù b t liên tiậ ếp nhiều client cùng 1 lúc

31 Xài cùng lúc nhiều client

Kết luận

- D án "Xây dự ựng chương trình AI Chatbot" đã hoàn thành với thành công và đáp ứng được các mục tiêu ban đầu đã đề ra Chương trình được phát tri n trên nể ền tảng Apache NetBeans IDE, s d ng ngôn ngử ụ ữ lập trình Java và các công ngh liên quan ệ Dưới đây là những điểm chính c a d án: ủ ự

+ M c tiêu và t m quan tr ng: ch n lụ ầ ọ ọ ựa để nghiên c u và phát triứ ển một chương trình

AI Chatbot nhằm giúp người dùng tương tác và nhận thông tin m t cách hiộ ệu quả thông qua công ngh AI ệ

+ M c tiêu nghiên cụ ứu: Xác định và phân tích nhu c u cầ ủa người dùng để xây dựng một Chatbot có khả năng phản h i tồ ự động và linh hoạt

+ Ph m vi nghiên cạ ứu: T p trung vào các chậ ức năng chính như tra cứu th i tiờ ết, xác định v trí IP, và quét port ị

+ Môi trường phát tri n ph n m m: S d ng Apache Netbeans IDE 22 và ể ầ ề ử ụ MySQL 8.4 Configurator một cách hiệu quả để xây dựng nên một chương trình ChatBot đúng như đề tài yêu cầu

- Tóm lại: Dự án đã đạt được nh ng kữ ết quả đáng kể, cung c p m t giấ ộ ải pháp Chatbot đáp ứng được nhu cầu thực tế và đem lại giá tr ị cho người dùng, những thành quả này là kết qu cả ủa sự n lỗ ực nghiên cứu, phát triển và ki m thể ử chặt chẽ t ừ đầu đến cuối quá trình.

Hạn chế và hướng phát triển

- H n chạ ế: Bị giớ ại h n trong m t s ộ ốchủ đề c ụthể và không đáp ứng được t t c nhu ấ ả cầu của người s dử ụng cũng như không hiểu được cảm xúc, b i cố ảnh của người dùng dẫn đến các ph n h i không phù hả ồ ợp

- Hướng phát triển: M r ng thêm nhiở ộ ều dịch v và chụ ức năng khác, việc xây d ng ự và triển khai chương trình ChatBot mang lại nhiều l i ích thiợ ết th c cho viự ệc kết nối và giao tiếp với người dùng Đề tài này không ch giúp c i thiỉ ả ện hiệu suất và độ tin c y cậ ủa ChatBot mà còn tăng cường khả năng phả ứng nhanh chóng trướn c những nhu cầu mà người dùng cần, đảm b o hoả ạt động liên t c và hiụ ệu qu ả

Thành viên Phân công Đánh giá

⚫ Xác định vị trí IP

⚫ Gửi tin nhắn, xóa lịch sử chat

⚫ Chủ đề giao diện sáng-tối

⚫ Cơ sở dữ liệu(MySQL)

⚫ Đổi mật khẩu - Gửi mã OTP qua mail

⚫ Đánh giá và kết luận

Bảng 1 Phân công công vi c ệ

Ngày đăng: 18/10/2024, 16:27

HÌNH ẢNH LIÊN QUAN

BẢNG CHỮ KÝ - Báo cáo Đồ Án lập trình mạng Đề tài xây dựng chương trình ai chatbot
BẢNG CHỮ KÝ (Trang 4)
Bảng 1. Phân công công vi c  ệ - Báo cáo Đồ Án lập trình mạng Đề tài xây dựng chương trình ai chatbot
Bảng 1. Phân công công vi c ệ (Trang 50)
Bảng 2. Tài liệu tham kh o  ả - Báo cáo Đồ Án lập trình mạng Đề tài xây dựng chương trình ai chatbot
Bảng 2. Tài liệu tham kh o ả (Trang 52)
w