Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 39 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
39
Dung lượng
1,69 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ 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 MÔN ĐỒ ÁN Đề tài: "Xây dựng Chatbot dạng văn hỗ trợ lựa chọn máy vi tính cá nhân" Giảng viên hướng dẫn: Đỗ Thị Thanh Tuyền Nhóm sinh viên thực hiện: Nguyễn Lương Kiên 18520955 Hồng Thế Kỷ 18520964 Thành phố Hồ Chí Minh – Tháng 12/2021 ĐẠI HỌC QUỐC GIA THÀNH PHỐ 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 MÔN ĐỒ ÁN Đề tài: "Xây dựng Chatbot dạng văn hỗ trợ lựa chọn máy vi tính cá nhân" Giảng viên hướng dẫn: Đỗ Thị Thanh Tuyền Nhóm sinh viên thực hiện: Nguyễn Lương Kiên 18520955 Hồng Thế Kỷ 18520964 Thành phố Hồ Chí Minh – Tháng 12/2021 MỤC LỤC LỜI NÓI ĐẦU Chương – TỔNG QUAN 1.1 Mục đích đồ án 1.2 Công nghệ sử dụng 1.2.1 Wit.ai 1.2.2 NodeJS 1.2.3 Facebook Messenger API 1.2.4 Facebook Page 1.2.5 Glitch 1.3 Cách thức hoạt động 1.4 Usecase 1.4.1 Chào hỏi 1.4.2 Hỏi thông số 11 1.4.3 Đặt hàng 13 1.4.4 Không xác nhận 15 Chương – CÀI ĐẶT 16 2.1 Huấn luyện model Wit.ai 16 2.1.1 Các bước thực 16 2.1.2 Dataset 22 2.2 Tạo trang Facebook để người dùng tương tác 29 2.3 Tạo ứng dụng Facebook 29 2.4 Thiết lập Server glitch 30 2.5 Viết NodeJS Server glitch 35 2.5.1 Import Initialize 35 2.5.2 Webhook GET 35 2.5.3 Webhook POST 36 2.6 Database 37 NHẬN XÉT VÀ KẾT LUẬN 38 HƯỚNG PHÁT TRIỂN 39 TÀI LIỆU THAM KHẢO 39 LỜI NĨI ĐẦU Máy vi tính cá nhân công cụ hữu hiệu để học tập, làm việc giải trí bên cạnh thiết bị thơng minh khác ngày lớn mạnh với nguyên nhân lớn máy tính cá nhân mà cụ thể thành phần máy tính cá nhân thay thế, nâng cấp dễ dàng tùy theo thời gian, nhu cầu cơng việc, mục đích, sở thích túi tiền người dùng Bên cạnh đó, thị trường thành phần máy tính chịu cạnh tranh khốc liệt công nghệ giá thành công ty công nghệ hàng đầu, với nhu cầu thường xuyên thay đổi, nâng cấp khối lượng công việc ngày tăng mà đặc biệt lĩnh vực đồ họa khiến sản phẩm thành phần máy tính sản xuất mắt tăng mạnh năm gần Do đó, vấn đề đặt giải tốn cung cấp thơng tin cho bên phân phối, bán hàng tìm hiểu thơng tin cho người mua sản phầm mặt hàng cung với lựa chọn ngày rộng mở Với mong muốn nghiên cứu tìm hiểu giải pháp cho vấn đề nêu trên, nhóm nghiên cứu lựa chọn đề tài: “Xây dựng chatbot dạng văn dạng văn hỗ trợ lựa chọn máy vi tính cá nhân” Chương – TỔNG QUAN 1.1 Mục đích đồ án Cung cấp giải pháp tự động hóa cơng việc thường gặp khách hàng muốn mua sản phẩm mà cụ thể đồ án laptop chào hỏi, tra cứu thông tin đặt hàng 1.2 Cơng nghệ sử dụng Trong q trình nghiên cứu hướng dẫn giảng viên, nhóm thực định sử dụng công nghệ đây: o Wit.ai o NodeJS o Facebook Messenger API o Facebook Page o Glitch 1.2.1 Wit.ai Xử lý ngôn ngữ tự nhiên (NLP - Natural Language Processing) nhánh trí tuệ nhân tạo giúp máy tính trích xuất liệu có ý nghĩa, hữu ích từ liệu ngôn ngữ tự nhiên (natural language data) mà cụ thể phạm vi đồ án tin nhắn gửi vào Facebook Messenger từ khách hàng Wit.ai hay Wit.ai platform tảng xử lý ngôn ngữ tự nhiên (NLP platform) hồn tồn miễn phí sở hữu Facebook cho phép lập trình viên xây dựng ứng dụng hay thiết bị giao tiếp (bằng giao nói văn bản) Wit.ai cung cấp giao diện dễ dùng API dễ học sử dụng Trong đồ án, Wit.ai sử dụng để huấn luyện mơ hình chọn lọc (filter) chuyển hóa (parse) từ khóa liên quan đến việc đặt hàng cung cấp tra hỏi thông tin sản phẩm thông điệp (message) dạng văn Tìm hiểu thêm Wit.ai: https://wit.ai/docs 1.2.2 NodeJS NodeJS back-end Javascript Runtime mã nguồn mở, đa nên tảng chạy V8 engine giúp thực thi dịng lệnh viết ngơn ngữ lập trình Javasript trực tiếp máy tính mà khơng cần thơng qua trình duyệt web Bên cạnh đó, Nodejs cịn giúp lập trình viên sử dụng Javascript để thiết kế back-end cho server mục đích việc sử dụng NodeJS đồ án Tìm hiểu thêm NodeJS: https://nodejs.org/en/about/ 1.2.3 Facebook Messenger API Facebook Messenger API giúp tương tác với dịch vụ Facebook thông qua yêu cầu phản hổi HTTP Tìm hiểu thêm Facebook Messenger Platform: https://developers.facebook.com/docs/messenger-platform/getting-started 1.2.4 Facebook Page Tạo sử dụng Facebook Page để khách hàng tương tác với chatbot 1.2.5 Glitch Một công cụ host server miễn phí Trong đồ án, Glitch sử dụng để host server NodeJS Tìm hiểu thêm Glitch: https://glitch.com/about 1.3 Cách thức hoạt động Hình 1.1 Flowchart cách thức hoạt động Sử dụng Wit.ai để huấn luyện mơ hình trích xuất từ khóa liên quan đến việc chào hỏi, tra cứu thông tin đặt hàng sản phẩm Tạo Facebook page để người dùng có giao diện để tương tác với Messenger Chatbot NodeJS server tiếp nhận tin nhắn gửi đến khách hàng từ Messenger Chatbot Messenger API tiếp tục gửi tin nhắn đến server Wit.ai AI huấn luyện từ trước để trích xuất, xử lý thơng tin trả cấu trúc liệu cấu tạo thông tin NodeJS server dựa cấu trúc liệu trả từ Wit.ai để định, hình thành gửi tin nhắn cho Messenger Chatbot phía client 1.4 Usecase 1.4.1 Chào hỏi Hình 1.2 Usecase Chào hỏi Usecase ID PCCB001 Usecase Name Greeting Usecase Description Khách hàng gửi tin nhắn có dạng chào hỏi Actor Khách hàng Priority Không bắt buộc Trigger Muốn chào hỏi cửa hàng Pre-condition • Đăng nhập vào Facebook • Vào page • Mở khung chat Post-condition Không • Nhập tin nhắn Basic flow • Nhấn Enter nút gửi khung chat Alternative flow Không Exception flow Không Business flow Không Non-functional Không 25 - Thông tin chung: Hình 2.7 Từ khóa muốn hỏi thơng tin chung laptop Khi gặp từ khóa này, server trả câu trả lời bao gồm tên sản phẩm tất thông tin sản phẩm (giá, chất lượng, CPU, RAM ổ cứng) - Các từ khóa sau (thơng tin chi tiết laptop) hỏi câu hỏi, server trả câu trả lời bao gồm tên sản phẩm (tên laptop) thông tin từ khóa hỏi o Giá: o Chất lượng: o CPU: o RAM: 27 o Ổ cứng: o Thông số kĩ thuật (CPU, RAM, ổ cứng): - Đặt hàng: o Từ khóa đặt hàng: o Số lượng: (Đi kèm với từ khóa đặt hàng để lọc) Khi gặp từ khóa đặt hàng, server trả câu trả lời theo mẫu: “Đặt hàng: XYZ, số lượng x” Trong đó, “XYZ” tên sản phẩm “x” số lượng sản phẩm khách hàng muốn đặt 29 2.2 Tạo trang Facebook để người dùng tương tác 2.3 Tạo ứng dụng Facebook Website: https://developers.facebook.com/apps/ - Thiết lập API kết nối với messenger trang Facebook tạo - Tạo mã truy cập 2.4 Thiết lập Server glitch Website: https://glitch.com - Tạo project thêm module cần thiết (body-parser node-fetch) 31 - Lấy live link Server để tạo callback cho Facebook app - Tạo callback URL cho Facebook app Mã xác minh tạo : "haxayonn" 33 - Đồng mã xác minh để tạo callback cho Facebook app - Lấy API laptop_bot Wit - Thiết lập laptop_bot API Facebook app API Server Ghi chú: Facebook app API mã truy cập tạo trước ứng dụng Facebook app 35 2.5 Viết NodeJS Server glitch Link git clone server: https://github.com/centhoang/laptop-bot-server 2.5.1 Import Initialize Hình 2.8 Import Initialize 2.5.2 Webhook GET Hình 2.9 Webhook GET 2.5.3 Webhook POST Hình 2.10 Webhook POST - Wit.ai POST 37 Hình 2.11 Webhook POST - Config msg and respone 2.6 Database Khi nhận câu hỏi khách hàng truyền qua Wit ai, laptop_bot lọc từ khóa theo mục đích hỏi huấn luyện trước Server dựa vào từ khóa lọc để phân loại mục đích thơng tin muốn hỏi, từ trả lời câu hỏi khách hàng dựa vào phần liệu laptop có sẵn Server Hình 2.12 Database laptop NHẬN XÉT VÀ KẾT LUẬN Đồ án thực đầy đủ yêu cầu đề đề tài Dataset để huấn luyện AI database laptop hạn chế Demo: https://youtu.be/UibB9d1gKhU 39 HƯỚNG PHÁT TRIỂN Mở rộng qui mô chatbot cách thêm liệu laptop Thêm dạng câu hỏi để so sánh laptop với nhau, lấy danh sách laptop theo tiêu chí định TÀI LIỆU THAM KHẢO Sammychinedu2ky (2020, November 22nd) Wiki-Education Github repository: https://github.com/sammychinedu2ky/Wiki-Education Messenger Platform Website: https://developers.facebook.com/docs/messengerplatform Sunith Shetty (2018, May 21st) Facebook’s Wit.ai: Why we need yet another chatbot development framework? News: https://hub.packtpub.com/facebooks-wit-ai-why-weneed-yet-another-chatbot-development-framework/ ... với lựa chọn ngày rộng mở Với mong muốn nghiên cứu tìm hiểu giải pháp cho vấn đề nêu trên, nhóm nghiên cứu lựa chọn đề tài: ? ?Xây dựng chatbot dạng văn dạng văn hỗ trợ lựa chọn máy vi tính cá nhân? ??... PHẦN MỀM - - BÁO CÁO MÔN ĐỒ ÁN Đề tài: "Xây dựng Chatbot dạng văn hỗ trợ lựa chọn máy vi tính cá nhân" Giảng vi? ?n hướng dẫn: Đỗ Thị Thanh Tuyền Nhóm sinh vi? ?n thực hiện: Nguyễn Lương... ĐẦU Máy vi tính cá nhân cơng cụ hữu hiệu để học tập, làm vi? ??c giải trí bên cạnh thiết bị thông minh khác ngày lớn mạnh với nguyên nhân lớn máy tính cá nhân mà cụ thể thành phần máy tính cá nhân