Đồ án tốt nghiệp: Tích hợp Chatbot & Push Notification vào Website bán hàng

Đồ án tốt nghiệp chi tiết về chatbot và push notification. Hướng dẫn xây dựng và tích hợp ứng dụng vào website bán hàng thực tế bằng Laravel.

Chuyên ngành

Công Nghệ Phần Mềm

Người đăng

Ẩn danh

Thể loại

Khóa Luận Tốt Nghiệp

2015 - 2019

106
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Khái niệm và vai trò Chatbot trong website bán hàng

Chatbot là một ứng dụng trí tuệ nhân tạo được thiết kế để mô phỏng cuộc trò chuyện với con người thông qua giao diện chat. Trong lĩnh vực bán hàng online, chatbot đóng vai trò vô cùng quan trọng trong việc cải thiện trải nghiệm khách hàng. Nó có khả năng trả lời các câu hỏi thường gặp, hỗ trợ khách hàng trong quá trình mua sắm, và cung cấp thông tin sản phẩm một cách nhanh chóng. Chatbot tích hợp vào website thương mại điện tử giúp tăng tỷ lệ chuyển đổi bán hàng, giảm chi phí hỗ trợ khách hàng, và nâng cao độ hài lòng của người dùng. Với khả năng hoạt động 24/7, chatbot luôn sẵn sàng phục vụ khách hàng mà không cần can thiệp của nhân viên.

1.1. Định nghĩa và đặc điểm của Chatbot

Chatbot là chương trình phần mềm sử dụng xử lý ngôn ngữ tự nhiên (NLP) để hiểu và phản ứng với tin nhắn của người dùng. Đặc điểm nổi bật bao gồm: tự động hóa quy trình giao tiếp, học hỏi từ các cuộc tương tác trước đó, và khả năng xử lý nhiều yêu cầu đồng thời. Chatbot hiện đại có thể tích hợp với các nền tảng như Facebook Messenger, WhatsApp, và website. Nó hỗ trợ cả text và voice interaction, mang lại trải nghiệm tương tác mượt mà cho người dùng.

1.2. Lợi ích Chatbot cho e commerce

Website bán hàng sử dụng chatbot có thể mang lại nhiều lợi ích: tiếp cận khách hàng nhanh hơn, giảm thời gian chờ đợi, cân bằng tải cho đội hỗ trợ. Chatbot giúp tăng doanh thu bằng cách gợi ý sản phẩm phù hợp, xử lý đơn hàng, và xác nhận thanh toán. Ngoài ra, nó cung cấp dữ liệu quý báu về hành vi khách hàng, hỗ trợ các chiến lược tiếp thị trong tương lai.

II. Push Notification Công cụ hỗ trợ hiệu quả

Push Notification là thông báo được gửi trực tiếp đến người dùng mà không cần họ phải mở ứng dụng hoặc website. Trong bán hàng trực tuyến, đây là công cụ marketing mạnh mẽ để duy trì sự gắn bó với khách hàng. Thông báo đẩy được sử dụng để: thông báo về khuyến mãi, sản phẩm mới, tình trạng đơn hàng, và nhắc nhở giỏ hàng bị bỏ lại. Socket.IO là một thư viện JavaScript phổ biến để triển khai push notification trong thời gian thực. Khi tích hợp push notification vào website bán hàng, cần tuân thủ quy định về quyền riêng tư người dùng và tần suất gửi tin nhắn để tránh làm phiền khách hàng.

2.1. Cơ chế hoạt động Push Notification

Push notification hoạt động dựa trên công nghệ WebSocket, cho phép truyền thông hai chiều giữa máy chủ và trình duyệt. Socket.IO giúp xây dựng kênh giao tiếp real-time giữa backend và frontend. Khi có sự kiện xảy ra (khuyến mãi mới, tình trạng đơn hàng cập nhật), máy chủ sẽ gửi thông báo ngay lập tức đến tất cả hoặc một nhóm người dùng cụ thể. Notification này xuất hiện dưới dạng popup hoặc banner trên màn hình người dùng.

2.2. Ứng dụng Push Notification trong e commerce

Trong website bán hàng, push notification được dùng để: cập nhật trạng thái đơn hàng, thông báo khuyến mãi flash sale, gợi ý sản phẩm liên quan. Notification chiến lược giúp giảm tỷ lệ chuyn đơn bị bỏ, tăng tần suất mua lại, và cải thiện retention rate. Nên gửi thông báo vào thời điểm phù hợp để tối đa hóa tương tác và tránh làm giảm user experience.

III. Laravel Framework Nền tảng phát triển

Laravel là một PHP framework hiện đại, mạnh mẽ, được thiết kế để phát triển ứng dụng web một cách nhanh chóng và hiệu quả. Framework này cung cấp các công cụ và thư viện tích hợp sẵn, giúp lập trình viên tập trung vào logic ứng dụng thay vì những công việc lặp lại. Laravel framework hỗ trợ Artisan - một command-line tool mạnh mẽ để quản lý ứng dụng, migration database, và tạo models. Nó sử dụng kiến trúc MVC (Model-View-Controller) giúp code được tổ chức rõ ràng. Đối với website bán hàng, Laravel cung cấp các package như Eloquent ORM để làm việc với cơ sở dữ liệu, routing linh hoạt, middleware để xử lý xác thực, và nhiều tính năng khác.

3.1. Kiến trúc MVC trong Laravel

Model đại diện cho dữ liệu và logic nghiệp vụ, View chứa giao diện người dùng, Controller xử lý yêu cầu từ user. Kiến trúc MVC này giúp tách biệt các tầng ứng dụng, dễ bảo trì và mở rộng. Trong website bán hàng, Model lưu trữ thông tin sản phẩm, khách hàng, đơn hàng; View hiển thị giao diện trang sản phẩm, giỏ hàng; Controller xử lý logic mua sắm, thanh toán.

3.2. Các thành phần cốt lõi Laravel

Eloquent ORM là thư viện mạnh mẽ để tương tác với database, Routing cho phép định nghĩa URL routes dễ dàng, Middleware xử lý xác thực và authorization. Blade template engine giúp viết view nhanh chóng, Queue xử lý các tác vụ nền như gửi email. Để tích hợp chatbot và push notification, Laravel cung cấp event broadcasting và websocket support thông qua Laravel Horizon.

IV. Tích hợp Chatbot và Push Notification vào website

Việc tích hợp chatbotpush notification vào website bán hàng đòi hỏi một quy trình thiết kế cẩn thận. Trước tiên, cần xác định yêu cầu chức năng như: chatbot trả lời FAQ, gợi ý sản phẩm, hỗ trợ thanh toán. Tiếp theo, thiết kế cơ sở dữ liệu để lưu trữ hội thoại, thông báo, và lịch sử tương tác khách hàng. Ứng dụng tích hợp cần sử dụng BotMan framework cho chatbot và Socket.IO cho push notification real-time. Giao diện chatbot nên được đặt ở vị trí dễ nhìn thấy, widget có thể co giãn, hỗ trợ multiple languages. Push notification cần được cấu hình để gửi thông báo chính xác dựa trên hành vi người dùng, quản lý consent, và tuân thủ các quy định bảo vệ dữ liệu.

4.1. Quy trình phát triển ứng dụng tích hợp

Bước 1: Khảo sát yêu cầu chức năng và phi chức năng. Bước 2: Lập sơ đồ Use Case và ER diagram. Bước 3: Thiết kế cơ sở dữ liệu (database schema cho chatbot logs, users, notifications). Bước 4: Xây dựng backend với Laravel, tích hợp BotMan và Socket.IO. Bước 5: Phát triển frontend, thiết kế giao diện chatbot widget và UI thông báo. Bước 6: Kiểm thử toàn bộ tính năng, test case cho từng chức năng chatbot và notification delivery.

4.2. Thử nghiệm và triển khai hệ thống

Kiểm thử bao gồm: unit test cho chatbot intent recognition, integration test cho push notification delivery, user acceptance test để xác nhận chất lượng. Cần test trên nhiều trình duyệt, thiết bị khác nhau. Triển khai nên được thực hiện từng bước với monitoring liên tục. Cập nhật và cải thiện chatbot dựa trên feedback người dùng, tối ưu hóa message queing, đảm bảo push notification không gây crash hoặc lag ứng dụng.

28/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN VỀ CHATBOT 1. TỔNG QUAN VỀ CHATBOT WhatsApp, Skype, Viber, Facebook đề là những ứng dụng được sử dụng nhiều nhất hiện nay. Riêng Facebook Messenger có hơn 1,2 tỷ người dùng hàng tháng, Vì vậy kéo theo đó nhu cầu tương tác tăng cao hơn bao giờ hết. Để giải quyết vấn đề này, Chatbox đã được tạo ra để mô phỏng như con người, giúp hỗ trợ người dùng tương tác một cách nhanh chóng và tiện lợi nhất.

Tại Việt Nam, chatbot được ứng dụng chủ yếu trong các hoạt động về thu thập thông tin, chăm sóc khách hàng một cách tự động. Khái niệm chatbot Chatbox là hộp chat tự động được cài vào Website và hiện lên chào hỏi khi khách hàng truy cập vào trang. Giống như một nhân viên lễ tân, chatbox giúp đón khách và ghi nhận những thông tin của khách hàng. Phân loại chatbot phổ biến hiện nay Tùy thuộc vào những chương trình cụ thể, có thể chia chatbox làm 2 loại chính: Thực hiện công việc theo lệnh đã được thiết lập (simple chatbox), thực hiện công việc bằng cách đào tạo (Smart chatbox).

Simple Chatbot Hiểu đơn giản là simple chatbox hoạt động dựa trên từ khóa được lập trình sẵn. mỗi lệnh được nhà phát triển sử dụng những từ thông dụng. Nếu người dùng đặt câu hỏi không có chứa từ khóa, bot sẽ không thể hiểu được và chúng sẽ phản hồi bằng thông điệp như: “Xin lỗi, tôi không hiểu”. Ví dụ: Chatbot facebook.

Smart ChatBot Smart chatbox hoạt động dựa trên trí tuệ nhân tạo khi giao tiếp với người dùng. Thay vì sử dụng câu trả lời được chuẩn bị sẵn thì robot có thể phản hồi nhiều dạng câu trả lời khác nhau trên nhiều lĩnh vực, chủ đề. Ngoài ra, những gì khách hàng nói sẽ được lưu lại làm dữ liệu. Ví dụ: Siri, Cortana… Mặt khác, khi phân loại theo cách Chatbot tương tác với người dùng thì có: Chatbot Âm Thanh (Audiotory): Sử dụng hình thức giao tiếp bằng âm thanh.

Một số cái tên có thể kể tới như: Google Assistant, Siri, Cortana… 12 Chatbot Văn Bản (Textual): Tương tác với đối tượng bằng văn bản. Ví dụ như chatfuel, manychat, simsimi… 1. Cơ chế vận hành Về cơ bản, để chatbot tương tác tự nhiên nhất với người dùng thì lập trình viên cần thiết lập 3 thông số cơ bản sau: - Phiên dịch yêu cầu: Đây là phần quyết định mức độ “thông minh” của chatbot. Tùy theo thông số đầu vào chatbot là gì mà cần tới hệ thống “translate” đặc thù để máy có thể hiểu được.

Một khi hiểu đúng yêu cầu của người dùng thì các phần xử lý sau mới có thể đưa ra kết quả chính xác nhất. - Xử lý yêu cầu: Sau khi tiếp nhận yêu cầu thì chatbot sẽ xử lý dữ liệu dựa trên hệ thống thư viện của mình. Hệ thống thư viện càng chi tiết thì thông tin mang lại cho người dùng càng hữu ích. - Phản hồi tới người dùng: Bước cuối cùng của 1 quy trình Chatbot đó là hồi đáp người dùng.

Ưu điểm - Tiết kiệm thời gian và công sức: Chatbox sẽ giúp tiết kiệm thời gian, công sức bằng cách hỗ trợ người dùng một cách hoàn toàn tự động. - Chăm sóc khách hàng 24/7: khi bạn và nhân viên đi ngủ hết thì chatbox vẫn hoạt động và tư vấn khách hàng tự động. Một nhân viên luôn luôn chăm chỉ, không đòi hỏi. Là một phần thiết yếu trong chiến lược tiếp thị của mỗi doanh nghiệp, tuy nhiên để chăm sóc khách hàng tốn rất nhiều thời gian.

Để cải thiện tình trạng đó, Chatbot có thể giúp đỡ người mua từ khi họ bắt đầu đặt chân vào web cho đến khi họ nhận được đơn hàng của mình. - Thu thập và phân tích dữ liệu: Ý thức bảo mật thông tin cá nhân ngày càng cao. Chính vì vậy để mà lấy được thông tin của khách hàng là điều khó khăn. Chẳng hạn như để khách hàng điền thông tin vào phiếu khảo sát cần rất nhiều thúc đẩy về marketing, khuyến mại, tặng phiếu giảm giá mua hàng,… Tuy nhiên, với chatbox thì có thể thu thập ý kiến khách hàng bằng cách đặt ra hàng loạt những câu hỏi trong hội thoại hết sức tự nhiên để lấy thông tin.

Chatbox sẽ tự động phân tích và đánh giá toàn bộ thông tin thu thập được giúp có cái nhìn bao quát nhất về thức khách hàng mong muốn. Từ đó có thể xây dựng được chiến lược tiếp thị tốt nhất. 13 - Tăng khả năng tương tác: Chatbox độc đáo và khác những ứng dụng nhắn tin khác là chúng có khả năng tương tác với khách hàng, lại có thể chủ động kéo dài cuộc hội thoại. Điều đó có nghĩa khách hàng thấy được kết nối lâu hơn so với việc sử dụng những hình thức tiếp thị khác.

Bởi vì chatbox với khả năng học hỏi trong quá trình tương tác, chúng có thể phát hiện những đặc tính nổi bật của người dùng liên quan đến thương hiệu và sản phẩm, dịch vụ mà khách hàng quan tâm. - Chủ động tương tác với khách hàng: Để tránh tình trạng thụ động xử lý tương tác khách hàng. Chatbox trong marketing được lập trình để có thể tự động gửi thông báo chào mừng ngay khi có người đặt chân vào website, fanpage của bạn. Sau khi tìm hiểu chatbox là gì và những lý do nên ứng dụng chatbox vào kinh doanh, Có thể nói ứng dụng nhắn tin đã trở thành điểm đến hàng đầu cho mọi thương hiệu nhằm tiếp cận người tiêu dùng, bởi vậy không có gì đáng ngạc nhiên khi Chatbot ngày càng trở nên phổ biến.

Bằng việc triển khai Chatbox cho chiến lược tiếp thị, chắc chắn sẽ dễ dàng hơn trong quá trình tìm hiểu đối tượng mục tiêu, điều chỉnh nỗ lực tiếp thị đồng thời tiếp cận người tiêu dùng mới và kiếm tiền từ các kênh bán hàng của bạn. TÌM HIỂU VỀ BOTMAN ĐỂ TẠO CHATBOT 1. BotMan là gì? BotMan là 1 framework agnostic của PHP Chatbot và được thiết kế để đơn giản hóa việc phát triển các chatbot trên nhiều nền tảng messaging khác nhau như Slack, Telegram,. Agnostic là 1 thuật ngữ dùng để đề cập đến 1 cái gì đó có thể tương tác giữa nhiều hệ thống khác nhau.

BotMan web wedget BotMan Web Widget là giao diện chatbot. Có thể sử dụng url online như sau: <scrip tsrc='https://cdn.net/npm/botman-web- widget@0/build/js/widget.js'></script> Hoặc có thể tải về, sau đó nhúng thư viện này vào trang khung của website và đặt bên dưới thư viện Jquery như sau: Hình 1. Script code BotMan wedget. Các khái niệm cơ bản 1.

Lắng nghe các tin nhắn Mặc định cấu hình Routes trong framework Laravel ở file routes/web.php sẽ quản lý các đường dẫn của website. Trong Botman, bộ quản lý việc lắng nghe thông báo nằm trong file routes/botman. Bằng cách này botman có thể phân biệt được khác biệt giữa patterns của URL và messages mà khách hàng gửi cho chatbot. Admin có thể chỉ định đoạn text (kiểu string) cho chatbot lắng nghe và xử lý.

Botman lắng nghe đoạn văn bản người dùng nhập, thực hiện việc kiểm tra đoạn văn bản đó trùng khớp dữ liệu trong file botman. Nếu trùng khớp, đoạn code thực hiện cấu trúc lệnh: $bot->reply(“Answer goes here”); Nếu đoạn text không trùng khớp với bất cứ đoạn khối mã lắng nghe nào, botman thực hiện fallback: Botman trả lời cho đoạn text người dùng nhập ngoài xử lý: Hình 2. Ví dụ BotMan không hiểu câu hỏi. 15 Ví dụ sau, chatbot lắng nghe đoạn tin nhắn “Xin chào” và trả lời “Chào bạn!”: Hình 3.

BotMan trả lời câu hỏi. Đoạn code được sử dụng cho việc chatbot lắng nghe đoạn text và phản hồi về người dùng cuối: Các đoạn dữ liệu người dùng nhập vào có thể phân tách nhau bằng ký tự “|”, ký tự này giúp botman lọc dữ liệu chỉ cần trùng 1 trong số các dữ liệu phân tách đó, botman đều có thể xử lý. Ngoài ra, admin có thể tùy chỉnh cho việc Chatbot trả lời bằng đoạn text hoặc xử lý thông qua lập trình hàm. Việc sử dụng hàm sẽ giúp admin quản lý việc trả lời câu hỏi của khách hàng một cách thông minh và tiện lợi hơn: Hình 4.

Sử dụng hàm để quản lý trong BotMan Tuy nhiên, việc trả lời câu hỏi của khách hàng thông qua đoạn văn bản vẫn chưa đáp ứng được yêu cầu vì đôi khi khách hàng còn cung cấp cả thông tin mà hệ thống cần xử lý theo thông tin đó. Ví dụ, khi khách hàng nhập tên, tuổi, số điện thoại, email cho một chiến dịch marketing nào đó. Hệ thống phải đảm bảo được yêu cầu sẽ lấy được 16 thông tin mà khách hàng nhập và thực hiện việc lưu dữ liệu vào các bảng trong cơ sở dữ liệu. Việc lấy thông tin khách hàng nhập, người dùng cuối sẽ có thể nhập một hoặc nhiều biến thông qua cặp dấu “{” và “}”.

Code Lấy thông tin khách hàng thông qua ChatBot Kết quả xử lý đoạn văn bản người dùng nhập: Hình 6. Hiển thị thông tin khách hàng sau khi lấy thông tin Tuy nhiên, nếu người dùng nhập nội dung khác với cấu trúc lắng nghe của Botman, điều này làm cho botman trả về hàm fallback. Để tránh việc gây khó khăn cho người dùng cuối sử dụng chatbox, người thực hiện đã thực hiện kiểm tra đoạn text đó trùng khớp 1 phần với hàm lắng nghe của botman. Việc lọc các từ dư thừa được thể hiện qua các ký tự: “.

Đoạn mã minh họa: Hình 7. Lọc từ khóa 1. Phản hồi tin nhắn Bot gửi phản hồi message để truyền đạt thông tin dựa trên thông tin nhận vào. Botman có thể phản hồi messages thông qua nhiều cách khác nhau: Đối với message đơn thuần có thể sử dụng hàm: $bot->reply(“Messages do here”); 17 Khi bot nhận được tin nhắn thông qua hàm hears(), bot sử dụng hàm reply() để đưa ra thông tin phản hồi.

Có thể gửi nhiều tin nhắn trả lời trong 1 phương thức: Hình 8. Đoạn code lắng nghe sự kiện và trả lời lại. Đối với việc trả lời nhiều tin nhắn, đặc biệt là những câu hỏi được botman đưa ra để người dùng cuối tiếp tục phản hồi, sử dũng hàm: $bot->startConversation(); Cách thức sử dụng Conversation sẽ được người thực hiện chi tiết hóa trong phần tiếp theo. Ngoài ra, bot cũng có thể gửi các thông điệp phản hồi người dùng thông qua các Conversation sử dụng hàm: $bot->say(“Messages go here”); Việc tương tác tốt hơn với người dùng cũng là 1 vấn đề rất được quan tâm.

Để người dùng cảm nhận được rằng họ đang chat với người thật, botman cung cấp phương thức typesAndWaits(second). Phương thức này xử lý việc in ra hành động “typing. “ trước khi thực hiện khối lệnh xử lý tin nhắn mà người dùng gửi đến. Nhắn tin hội thoại Ở phần này, người thực hiện sẽ giải quyết vấn đề: Yêu cầu người dùng trả lời 1 loạt các câu hỏi được dựng sẵn.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ