Bối cảnh và vấn đề nghiên cứu

Đề tài "Tìm hiểu ChatBot & Push Notification và xây dựng ứng dụng tích hợp vào website bán hàng" được thực hiện bởi sinh viên Trần Văn Trí (MSSV: 15110341) và Phạm Văn Tới (MSSV: 15110337), dưới sự hướng dẫn của ThS. Trương Thị Ngọc Phượng, thuộc Khoa Công nghệ Thông tin - Bộ môn Công nghệ Phần mềm, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khóa học 2015 - 2019).

Lý do chọn đề tài xuất phát từ sự phát triển mạnh mẽ của Internet, các cuộc cách mạng công nghiệp và sự gia tăng vượt bậc về nhu cầu tương tác trực tuyến của người dùng. Các ứng dụng nhắn tin như WhatsApp, Skype, Viber và đặc biệt là Facebook Messenger (với hơn 1,2 tỷ người dùng hoạt động hàng tháng tại thời điểm nghiên cứu) đã thay đổi thói quen tiếp cận thông tin của người tiêu dùng. Nhằm giải quyết bài toán chăm sóc khách hàng tự động 24/7, tiết kiệm thời gian, tối ưu hóa nhân lực và nâng cao khả năng thu thập, phân tích thông tin người dùng cho doanh nghiệp, công nghệ Chatbot và Push Notification (thông báo đẩy) đã trở thành giải pháp cấp thiết. Đề tài tập trung nghiên cứu cơ chế vận hành của hai công nghệ này và hiện thực hóa bằng một hệ thống website thương mại điện tử ngành thời trang.

Mục tiêu nghiên cứu của đề tài gồm hai nội dung chính:

  • Tìm hiểu lý thuyết về Chatbot, Push Notification và Laravel Framework.
  • Xây dựng website demo bán hàng tích hợp các công nghệ đã tìm hiểu.

Theo đề cương luận văn tốt nghiệp, nhiệm vụ nghiên cứu được phân chia thành 7 nội dung cụ thể:

  1. Tìm hiểu lý thuyết về ChatBot, Push Notification, Laravel Framework.
  2. Xác định yêu cầu ChatBot, Push Notification, website bán hàng thời trang.
  3. Mô hình hóa yêu cầu, thiết kế cơ sở dữ liệu.
  4. Thiết kế giao diện.
  5. Viết code xử lý.
  6. Kiểm thử, sửa lỗi.
  7. Viết báo cáo.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các công cụ lập trình ngôn ngữ PHP, nền tảng Laravel Framework (phiên bản 5.7), thư viện BotMan, thư viện Socket.IO (chạy trên môi trường Node.js), nền tảng xử lý ngôn ngữ tự nhiên Dialogflow, cùng các công nghệ thiết kế giao diện web gồm Ajax, JavaScript, Bootstrap, HTML và CSS.
  • Phạm vi nghiên cứu: Xây dựng một website thương mại điện tử chuyên ngành bán lẻ thời trang tích hợp Chatbot tư vấn kịch bản/tự động và tính năng Push Notification cảnh báo thời gian thực; thời gian thực hiện đề tài diễn ra từ ngày 07/03/2019 đến ngày 16/07/2019.

Cơ sở lý thuyết và phương pháp

Khóa luận kết hợp nền tảng lý thuyết công nghệ thông tin chuyên ngành phần mềm và các phương pháp phát triển hệ thống thực tế:

Khung lý thuyết và công nghệ nền tảng:

  • Lý thuyết về Chatbot: Nghiên cứu định nghĩa chatbot là chương trình máy tính mô phỏng cuộc trò chuyện với con người thông qua văn bản hoặc âm thanh. Hệ thống phân loại gồm: Simple Chatbot (hoạt động theo từ khóa lập trình sẵn, dùng phản hồi fallback khi không khớp từ khóa) và Smart Chatbot (ứng dụng trí tuệ nhân tạo, xử lý ngôn ngữ tự nhiên để phản hồi đa dạng); phân loại theo hình thức tương tác gồm Chatbot Âm thanh (Google Assistant, Siri, Cortana) và Chatbot Văn bản (Chatfuel, Manychat, Simsimi). Cơ chế vận hành chuẩn hóa qua 3 bước: Phiên dịch yêu cầu, Xử lý yêu cầu, Phản hồi tới người dùng.
  • Thư viện BotMan: Framework mã nguồn mở viết bằng PHP hỗ trợ phát triển chatbot đa nền tảng (agnostic framework). Tài liệu làm rõ cơ chế định tuyến tin nhắn qua routes/botman.php, các phương thức lắng nghe hears(), phản hồi reply(), điều hướng luồng hội thoại phức tạp bằng Conversation, mô hình tạo nút lựa chọn Question/Button, và cơ chế lưu trữ phiên làm việc UserStorage (save(), find(), all(), delete()).
  • Công nghệ Push Notification và Socket.IO: Cơ chế thông báo đẩy qua trình duyệt máy tính và thiết bị di động. Sử dụng thư viện Socket.IO thiết lập kết nối hai chiều (full-duplex), thời gian thực dựa trên sự kiện giữa máy chủ Node.js (http/express) và máy khách trình duyệt (socket.io.js).
  • Laravel Framework: Khung phát triển ứng dụng web PHP theo mô hình kiến trúc MVC (Model - View - Controller) do Taylor Otwell phát triển theo giấy phép MIT. Sử dụng Blade template engine với các cú pháp binding dữ liệu an toàn ({{ }}, {!! !!}, toán tử ??), hệ thống định tuyến đa dạng (Route::get, post, put, delete, match, any, group), và tầng truy xuất dữ liệu thông qua Eloquent ORM và Query Builder kết nối hệ quản trị cơ sở dữ liệu MySQL.
  • Công cụ bổ trợ: Nền tảng Google Dialogflow dùng để huấn luyện và nhận diện ý định (Intent) cho các kịch bản đối thoại nâng cao.

Phương pháp nghiên cứu thực tế:

  • Phương pháp phân tích - tổng hợp tài liệu: Khai thác tài liệu kỹ thuật chính thức từ BotMan, Laravel, Socket.IO, Dialogflow.
  • Phương pháp khảo sát và đánh giá hiện trạng: Khảo sát thực tế cơ chế tạo chatbot trên Facebook Developers kết hợp nền tảng Botsify; khảo sát ưu - nhược điểm của chatbot trên website FAZ và NHAKHOAKIM; khảo sát luồng nghiệp vụ bán hàng trực tuyến trên 3 website thương mại điện tử lớn tại Việt Nam gồm YaMe, Tiki và Lazada.
  • Phương pháp mô hình hóa và thiết kế phần mềm: Sử dụng ngôn ngữ mô hình hóa UML để xây dựng biểu đồ ca sử dụng (Use Case Diagram), các biểu đồ tuần tự (Sequence Diagram), thiết kế cơ sở dữ liệu quan hệ và thiết kế cấu trúc giao diện người dùng.
  • Phương pháp kiểm thử phần mềm: Xây dựng bảng kịch bản kiểm thử hộp đen (Test Case) chi tiết trên từng màn hình chức năng.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo kiến trúc phân tầng kết hợp dịch vụ WebSocket độc lập nhằm đảm bảo khả năng xử lý nghiệp vụ bán hàng song song với tương tác thời gian thực:

Kiến trúc và thành phần công nghệ:

  • Máy chủ ứng dụng chính: Nền tảng PHP Laravel 5.7 (khởi tạo qua gói botman/studio ellen), chịu trách nhiệm điều hướng request, xử lý logic mua bán hàng, xác thực tài khoản và quản trị cơ sở dữ liệu MySQL.
  • Máy chủ thông báo đẩy (Real-time Notification Server): Ứng dụng Node.js kết hợp framework Express và thư viện Socket.IO, lắng nghe các sự kiện phát sinh từ hệ thống bán hàng để phát sóng (broadcast) thông báo đẩy tức thời tới client.
  • Giao diện người dùng: Tích hợp BotMan Web Widget qua mã script nhúng, kết hợp jQuery, Bootstrap, Ajax nhằm cập nhật giỏ hàng và dữ liệu không cần tải lại trang.

Mô hình triển khai mã nguồn tiêu biểu:

  • Cấu hình lắng nghe và phản hồi tin nhắn trong routes/botman.php:
$botman->hears('Xin chào', function ($bot) {
    $bot->reply('Chào bạn!');
});
  • Khởi tạo cuộc trò chuyện hội thoại có cấu trúc bằng lớp dẫn xuất từ abstract class Conversation:
class OnboardingConversation extends Conversation {
    public function askSomething() {
        $this->ask('How are you?', function (Answer $response) {
            $this->say('You said ' . $response->getText());
        });
    }
    public function run() {
        $this->askSomething();
    }
}
  • Thiết lập máy chủ thời gian thực với Node.js và Socket.IO:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(3000);
io.on('connection', function (socket) {
    socket.emit('news', { hello: 'world' });
});

Nội dung chính theo từng chương

Chương 1: Tổng quan về chatbot

Chương này giới thiệu khái niệm chatbot như một nhân viên lễ tân số hỗ trợ thu thập thông tin và đón tiếp khách hàng tự động trên website. Phân loại chatbot thành hai nhóm: Simple Chatbot (xử lý dựa trên từ khóa khớp cứng, trả về thông điệp lỗi khi không nhận diện được từ khóa) và Smart Chatbot (hoạt động trên nền tảng trí tuệ nhân tạo, có khả năng học hỏi và ghi nhận dữ liệu hội thoại). Theo hình thức tương tác, văn bản phân chia thành chatbot âm thanh (Google Assistant, Siri, Cortana) và chatbot văn bản (Chatfuel, Manychat, Simsimi).

Quy trình vận hành chuẩn gồm 3 bước: phiên dịch yêu cầu, xử lý yêu cầu và phản hồi tới người dùng. Các ưu điểm nổi bật được chỉ rõ: tiết kiệm thời gian/công sức, chăm sóc khách hàng 24/7, hỗ trợ thu thập và phân tích dữ liệu thị trường tự nhiên, tăng cường tương tác chủ động. Đi sâu vào giải pháp kỹ thuật, tác giả trình bày cách nhúng BotMan Web Widget qua thẻ <script>, phân biệt tuyến đường URL (routes/web.php) và tin nhắn chatbot (routes/botman.php), kỹ thuật lọc ký tự phân tách |, bắt tham số người dùng qua cặp dấu ngoặc nhọn {param}, thiết lập hiệu ứng đang nhập tin nhắn typesAndWaits(), xây dựng câu hỏi tương tác bằng Question và Button, kiểm soát tiến trình hội thoại bằng skipsConversation(), stopsConversation(), cùng các thao tác đọc/ghi dữ liệu người dùng qua UserStorage.

Chương 2: Push notification

Nội dung chương định nghĩa Push Notification là dạng thông báo trượt hiển thị ở góc màn hình máy tính hoặc giao diện thiết bị di động gửi từ web. Tác giả trình bày chi tiết cách thiết lập máy chủ thông báo thời gian thực bằng thư viện Socket.IO trên nền tảng Node.js. Các bước thực hiện bao gồm: cài đặt các gói phụ thuộc qua npm (npm install --save socket.io express), khởi tạo Socket Server liên kết với máy chủ HTTP hoặc Express, và cách tích hợp thư viện JavaScript máy khách (socket.io.js) trên trình duyệt để lắng nghe và phát tín hiệu sự kiện (socket.on, socket.emit).

Chương 3: Laravel Framework

Trình bày lịch sử phát triển của Laravel do Taylor Otwell sáng lập theo giấy phép MIT nhằm thay thế CodeIgniter với các tính năng vượt trội về xác thực và phân quyền. Phân tích chi tiết mô hình kiến trúc MVC:

  • Controller tiếp nhận request từ Route, phối hợp với Model và trả kết quả về View.
  • Model tương tác cơ sở dữ liệu thông qua Eloquent ORM hoặc Query Builder, hỗ trợ MySQL, Postgres, SQLite và SQL Server.
  • View sử dụng Blade engine, phân tách logic giao diện, lưu tại resources/views, cơ chế biên dịch thành mã PHP thuần và lưu bộ nhớ đệm (cache). Tác giả trình bày các cú pháp hiển thị an toàn {{ }}, xuất mã thô {!! !!}, chống xung đột với các framework JavaScript bằng cú pháp @{{ }}, và toán tử gán mặc định ??.
  • Hệ thống định tuyến Route: các hàm phương thức HTTP (Route::get, post, put, delete), hàm kết hợp Route::match, Route::any, gom nhóm Route::group, và gọi Controller.
  • Hướng dẫn cài đặt dự án Laravel phiên bản 5.7 tích hợp sẵn BotMan Studio bằng Composer: composer create-project --prefer-dist botman/studio ellen.

Chương 4: Khảo sát hiện trạng

Tác giả trình bày quy trình thử nghiệm tạo chatbot Facebook Messenger qua giao diện Facebook Developers kết hợp nền tảng Botsify, cấu hình Webhooks, thiết lập kịch bản User Says, Bot Says, tin nhắn mở đầu (Greeting message, Get started button) và thông báo mặc định (Default message).

Tiếp đó, chương tiến hành khảo sát và đối sánh các ứng dụng thực tế:

Đối tượng khảo sát Ưu điểm ghi nhận Nhược điểm ghi nhận
Chatbot FAZ Dễ sử dụng, thân thiện; cho phép luân phiên giữa chat tự động và chat trực tuyến Tốc độ phản hồi chậm; giao diện chưa cuốn hút
Chatbot NHAKHOAKIM Dễ sử dụng; luân phiên chat tự động/trực tuyến; hỗ trợ gửi tệp đính kèm; có nút đánh giá Like/Dislike Tốc độ trả lời chậm; không có phản hồi khi thiếu từ khóa; giao diện chưa hấp dẫn
Website YaMe Không bắt buộc đăng nhập khi mua sắm; giao diện đẹp, thân thiện; có khung chat trực tiếp giữa khách và người bán Thiếu tính năng đánh giá sau mua; tốc độ tải trang chậm
Website Tiki Giao diện đẹp, thân thiện; có chức năng theo dõi đơn hàng; hỗ trợ đánh giá, bình luận; nhiều phương thức thanh toán Bắt buộc đăng nhập mới được mua hàng; không tích hợp khung chat trực tuyến
Website Lazada Có đánh giá, bình luận sản phẩm; đa dạng hình thức thanh toán; tích hợp chat trực tuyến Bắt buộc đăng nhập mới được đặt hàng; cỡ chữ hiển thị nhỏ gây khó đọc; bố cục giao diện tương đối rối

Chương 5: Tiếp nhận yêu cầu

Xác định danh mục yêu cầu chức năng theo 3 nhóm tác nhân chính:

  • Guest (Khách vãng lai): Sử dụng chatbot, đăng nhập, đăng ký, quên mật khẩu, xem danh mục/chi tiết sản phẩm, nhận thông báo sản phẩm mới, bình luận sản phẩm qua Facebook plugin, tìm kiếm sản phẩm thông thường và tìm kiếm sản phẩm ngay trên khung chat.
  • Khách hàng: Sử dụng chatbot, mua hàng, quản lý giỏ hàng, nhận email xác nhận đơn hàng, nhận thông báo khuyến mãi mới, kiểm tra trạng thái đơn hàng, đổi mật khẩu, đăng xuất.
  • Admin (Quản trị viên): Quản lý nhóm danh mục, danh mục, sản phẩm, size sản phẩm, khuyến mãi, tài khoản khách hàng, hóa đơn; quản lý ngân hàng câu hỏi/từ điển của chatbot; tính năng Import/Export ngân hàng câu hỏi qua file Excel; đổi mật khẩu, đăng xuất.

Yêu cầu phi chức năng được chuẩn hóa trong văn bản theo bảng sau:

STT Nội dung Tiêu chuẩn Mô tả chi tiết
1 Tốc độ tìm kiếm sản phẩm nhanh Hiệu quả Thời gian tìm kiếm tối đa không quá 3 giây.
2 Giao diện thân thiện, dễ sử dụng Tiện dụng Giao diện rõ ràng, dễ dùng, không cần hướng dẫn chi tiết; phù hợp cho người dùng ở mọi lứa tuổi.
3 Khả năng mở rộng hệ thống Tiến hóa Dễ dàng nâng cấp và phát triển thêm chức năng trong tương lai.
4 Thao tác thuận tiện Tiện dụng Thao tác nhập, xuất, chỉnh sửa dữ liệu đơn giản, gần gũi với người dùng và quản trị viên.

Chương 6: Mô hình hóa yêu cầu và thiết kế CSDL

Chương này tập trung mô hình hóa hệ thống bằng biểu đồ UML:

  • Xây dựng biểu đồ ca sử dụng tổng thể (Use Case Diagram): Phân rã quyền hạn chi tiết giữa Admin, Guest và Khách hàng (User). Admin thực hiện các ca sử dụng mở rộng (<<extend>>) về xem danh sách, thêm mới, chỉnh sửa, xóa trên các phân hệ quản lý nhóm danh mục, danh mục, sản phẩm, size, khuyến mãi, tài khoản, hóa đơn, và từ điển câu hỏi chatbot (kèm Import/Export Excel).
  • Xây dựng hệ thống biểu đồ tuần tự (Sequence Diagram): Chi tiết hóa trình tự tương tác giữa Tác nhân (Actor), Giao diện (Boundary), Bộ điều khiển (Controller) và Cơ sở dữ liệu (Database) cho các nghiệp vụ: Chatbot, Quản lý ngân hàng câu hỏi, Đăng ký, Đăng nhập, Đăng nhập qua Google, Đăng xuất, Thêm sản phẩm vào giỏ hàng, Xem giỏ hàng, Xem danh mục sản phẩm, Xem chi tiết sản phẩm, Mua hàng, Quên mật khẩu Admin, Tìm kiếm, Quản lý nhóm danh mục, Quản lý danh mục, Quản lý khuyến mãi, Quản lý size, Quản lý sản phẩm, Quản lý tài khoản khách hàng, và Quản lý hóa đơn.
  • Thiết kế cơ sở dữ liệu quan hệ hoàn chỉnh phục vụ lưu trữ thông tin sản phẩm, danh mục, nhóm danh mục, tài khoản, lịch sử hóa đơn, khuyến mãi và ngân hàng dữ liệu câu hỏi - đáp cho bot.

Chương 7: Thiết kế giao diện và xử lý

Hiện thực hóa thiết kế giao diện theo các bảng đặc tả xử lý giao diện từ Bảng 3 đến Bảng 48 trong tài liệu. Hệ thống giao diện bao gồm:

  • Khu vực khách hàng: Giao diện ChatBot widget, giao diện trang chủ, trang hiển thị sản phẩm theo nhóm danh mục, trang chi tiết sản phẩm, hệ thống bình luận Facebook, phần mô tả thông tin sản phẩm, màn hình đăng nhập thông thường, màn hình đăng nhập bằng tài khoản Google, màn hình đăng ký tài khoản mới, màn hình giỏ hàng và modal giỏ hàng hiển thị nhanh.
  • Phân hệ quản trị (Admin): Hệ thống giao diện quản lý danh sách, màn hình thêm mới và màn hình chỉnh sửa cho 7 module quản trị gồm: Nhóm danh mục, Danh mục sản phẩm, Khuyến mãi, Size sản phẩm, Sản phẩm, Tài khoản khách hàng và Quản lý/sửa thông tin Hóa đơn.

Chương 8: Ứng dụng chatbot và push notification vào website

Hiện thực hóa việc tích hợp công nghệ vào luồng nghiệp vụ thực tế của website:

  • Tích hợp Chatbot kịch bản đơn giản: Xử lý các mẫu câu chào hỏi, hỏi đáp thông tin cơ bản và điều hướng xem sản phẩm dựa trên từ khóa khớp trực tiếp của BotMan.
  • Tích hợp kịch bản Dialogflow: Kết nối với Google Dialogflow nhằm nhận diện các câu hỏi phức tạp thông qua các Intent được định nghĩa sẵn, phân tích ngữ nghĩa câu hỏi người dùng và trả lời linh hoạt.
  • Tự động hóa gửi email: Thiết lập hệ thống tự động gửi email xác nhận chi tiết đơn hàng tới địa chỉ thư điện tử của khách hàng ngay sau khi hoàn tất đặt hàng.
  • Tích hợp Push Notification thời gian thực: Sử dụng Socket.IO truyền phát thông báo lập tức tới giao diện quản trị viên khi có khách hàng đặt đơn hàng mới (không cần tải lại trang quản trị); đồng thời gửi thông báo đẩy tới người dùng khi cửa hàng cập nhật chương trình khuyến mãi mới.

Chương 9: Kiểm thử phần mềm test case

Chương này tài liệu hóa các ca kiểm thử chức năng (functional test cases) nhằm đánh giá độ ổn định của hệ thống trước khi vận hành. Các bộ test case tập trung vào 6 màn hình và quy trình trọng yếu:

  • Test case cho màn hình Chatbot (kiểm tra nhận diện câu hỏi đúng kịch bản, câu hỏi ngoài từ khóa, fallback, thu thập dữ liệu).
  • Test case cho màn hình Đăng nhập (kiểm tra dữ liệu rỗng, sai định dạng email, sai mật khẩu, đăng nhập thành công).
  • Test case cho màn hình Mua sản phẩm (kiểm tra luồng chọn size, thêm giỏ hàng, cập nhật số lượng, kiểm tra thông tin giao hàng).
  • Test case cho màn hình Gửi mail xác nhận đặt hàng (kiểm tra sự kiện kích hoạt gửi mail, nội dung thông tin đơn hàng gửi qua email).
  • Test case cho màn hình Thông báo cho quản trị khi có người đặt hàng (kiểm tra kết nối Socket.IO, độ trễ và nội dung thông báo đẩy trên giao diện quản trị).
  • Test case cho màn hình Thông báo khuyến mãi mới (kiểm tra việc phát thông báo đẩy tới các client đang kết nối khi admin tạo khuyến mãi).

Kết quả và đóng góp

Kết quả chính của khóa luận:

  • Xây dựng hoàn chỉnh website bán hàng thời trang trực tuyến trên nền tảng PHP Laravel 5.7, đáp ứng đầy đủ chu trình mua bán từ duyệt sản phẩm, phân loại danh mục, kích cỡ, quản lý giỏ hàng đến đặt hàng và xác thực đơn hàng.
  • Tích hợp thành công hộp thoại Chatbot trên website với hai cơ chế vận hành song song: phản hồi từ khóa theo kịch bản qua BotMan Studio và nhận diện ý định ngôn ngữ tự nhiên thông qua kết nối API Dialogflow.
  • Triển khai thành công hệ thống Push Notification thời gian thực sử dụng Socket.IO và Node.js, cho phép thông báo tức thời cho quản trị viên khi có đơn hàng mới và gửi thông báo khuyến mãi tới người truy cập.
  • Xây dựng đầy đủ hệ thống quản trị (Admin Dashboard) với các chức năng CRUD danh mục, sản phẩm, size, khuyến mãi, tài khoản, đơn hàng và module quản lý từ điển câu hỏi chatbot hỗ trợ Import/Export dữ liệu qua tệp Excel.
  • Thiết lập cơ chế gửi email thông báo xác nhận đơn hàng tự động cho khách hàng.

Giải pháp và kiến nghị của tác giả:

  • Đề xuất mô hình kết hợp giữa nền tảng web truyền thống (PHP Laravel) với dịch vụ WebSocket hướng sự kiện (Node.js/Socket.IO) nhằm bổ sung khả năng tương tác thời gian thực mà không làm gián đoạn kiến trúc MVC sẵn có.
  • Khuyến nghị ứng dụng chatbot tự động vào khâu tiếp đón khách hàng ban đầu để giảm tải cho nhân sự trực page, đồng thời tận dụng khung chat làm công cụ tìm kiếm và tư vấn sản phẩm trực quan.

Đóng góp tự đánh giá trong văn bản:

  • Cung cấp giải pháp kỹ thuật cụ thể về việc nhúng và tùy biến BotMan Web Widget trên nền tảng web PHP tại Việt Nam.
  • Tự động hóa quá trình chăm sóc khách hàng 24/7 và cảnh báo nghiệp vụ thời gian thực cho nhà quản lý trong phạm vi một đồ án tốt nghiệp kỹ sư công nghệ thông tin.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế và nhược điểm được tác giả tự ghi nhận:

  • Quá trình nghiên cứu gặp nhiều khó khăn do thời gian thực hiện có hạn (từ tháng 3/2019 đến tháng 7/2019) trong khi phải tiếp cận đồng thời nhiều công nghệ mới (BotMan, Socket.IO, Dialogflow, Laravel).
  • Khả năng hiểu ngôn ngữ của Chatbot vẫn còn phụ thuộc lớn vào việc lập trình từ khóa và độ phong phú của ngân hàng Intent trong Dialogflow; đối với các mẫu câu hỏi quá phức tạp hoặc diễn đạt không theo quy chuẩn, bot vẫn phải sử dụng thông điệp fallback.
  • Giao diện và các chức năng của website bán hàng mới dừng lại ở mức độ thử nghiệm (demo), chưa tích hợp đa dạng các cổng thanh toán điện tử trực tuyến.

Hướng phát triển:

  • Mở rộng và huấn luyện sâu hơn cho cơ sở tri thức, ngân hàng câu hỏi của Chatbot thông qua các mô hình AI/NLP nâng cao để nâng cao độ chính xác khi trò chuyện.
  • Mở rộng phạm vi tương tác đa kênh của Chatbot, kết nối đồng bộ với Facebook Messenger, Zalo và các mạng xã hội khác.
  • Phát triển thêm ứng dụng trên thiết bị di động (Mobile App) và tích hợp các cổng thanh toán trực tuyến chính thức phục vụ hoạt động kinh doanh thực tế.

Giá trị tham khảo

Báo cáo khóa luận có giá trị tham khảo cụ thể cho các nhóm độc giả sau:

  • Sinh viên chuyên ngành Công nghệ thông tin, Công nghệ phần mềm: Là tài liệu mẫu hữu ích về quy trình thực hiện một đồ án tốt nghiệp kỹ sư, từ lập kế hoạch tiến độ, khảo sát thực tế, phân tích đặc tả yêu cầu, thiết kế UML (Usecase, Sequence Diagram) đến thiết kế cơ sở dữ liệu và viết kịch bản kiểm thử (test cases).
  • Lập trình viên phát triển web PHP / Laravel: Cung cấp tài liệu thực hành chi tiết về việc cài đặt dự án Laravel 5.7 qua Composer, sử dụng Blade engine, cấu hình hệ thống routing, và đặc biệt là kỹ thuật nhúng BotMan Studio và BotMan Web Widget vào mã nguồn web.
  • Người nghiên cứu về ứng dụng thời gian thực: Cung cấp cấu trúc mã nguồn mẫu về cách thiết lập máy chủ Node.js chạy song song với ứng dụng web PHP để xử lý cơ chế phát tín hiệu Socket.IO (Push Notification).

Câu hỏi thường gặp

1. Nhóm tác giả đã sử dụng phiên bản Laravel và các thư viện chính nào để xây dựng hệ thống?

Nhóm tác giả sử dụng framework Laravel phiên bản 5.7 được khởi tạo thông qua gói lệnh Composer botman/studio ellen. Các thư viện và công nghệ cốt lõi bao gồm: thư viện BotMan và BotMan Web Widget để phát triển chatbot, Socket.IO chạy trên nền tảng máy chủ Node.js (kết hợp framework Express) để xử lý Push Notification, nền tảng Google Dialogflow hỗ trợ nhận diện Intent, cùng các công nghệ giao diện HTML, CSS, JavaScript, Bootstrap và Ajax.

2. Chatbot trong đồ án xử lý yêu cầu của người dùng theo những cơ chế nào?

Hệ thống kết hợp hai cơ chế xử lý:

  • Cơ chế kịch bản từ khóa đơn giản: Định nghĩa trong file routes/botman.php sử dụng các hàm lắng nghe hears(), phản hồi reply(), lọc ký tự |, trích xuất biến qua {param} và dẫn hướng hội thoại nhiều bước qua lớp kế thừa Conversation. Khi người dùng nhập nội dung ngoài bộ từ khóa, bot sẽ trả lời qua hàm fallback mặc định.
  • Cơ chế AI nâng cao: Tích hợp với Google Dialogflow để phân tích ngữ nghĩa và kích hoạt các Intent chuyên biệt cho các câu hỏi phức tạp.

3. Hệ thống Push Notification thực hiện những chức năng thông báo cụ thể nào?

Hệ thống sử dụng Socket.IO để phát sóng thông báo hai chiều theo thời gian thực cho hai kịch bản nghiệp vụ:

  • Gửi thông báo đẩy lập tức đến màn hình quản trị viên khi có khách hàng hoàn tất đặt đơn hàng mới, giúp admin nắm bắt thông tin giao dịch tức thời mà không cần tải lại trang.
  • Gửi thông báo đẩy đến trình duyệt của người dùng/khách hàng khi quản trị viên tạo mới một chương trình khuyến mãi trên hệ thống.

4. Đồ án đã khảo sát những chatbot và website bán lẻ nào trước khi xây dựng yêu cầu hệ thống?

Tác giả đã khảo sát thực tế hai hệ thống chatbot đang vận hành gồm Chatbot của website FAZ và Chatbot của website NHAKHOAKIM. Đồng thời, nhóm tác giả tiến hành khảo sát, phân tích ưu - nhược điểm về giao diện, tính năng mua hàng, đánh giá sản phẩm và phương thức thanh toán trên 3 trang thương mại điện tử thời trang thực tế tại Việt Nam gồm YaMe, Tiki và Lazada.


Kết luận

Đồ án tốt nghiệp "Tìm hiểu ChatBot & Push Notification và xây dựng ứng dụng tích hợp vào website bán hàng" của sinh viên Trần Văn Trí và Phạm Văn Tới đã hoàn thành đầy đủ các mục tiêu đề ra về mặt lý thuyết lẫn thực nghiệm phần mềm. Đề tài đã làm rõ cơ chế vận hành của BotMan, Socket.IO và kiến trúc MVC của Laravel 5.7, đồng thời hiện thực hóa thành công một website bán hàng thời trang tích hợp chatbot tư vấn tự động và hệ thống thông báo đẩy thời gian thực. Mặc dù hệ thống còn hạn chế về mặt huấn luyện ngôn ngữ phức tạp và chưa tích hợp cổng thanh toán thực tế, công trình là tài liệu tham khảo có giá trị kỹ thuật rõ ràng cho sinh viên và lập trình viên trong việc tích hợp các dịch vụ tương tác hiện đại vào ứng dụng web thương mại điện tử.