1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến

71 1 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 đề Thiết Kế Và Triển Khai Chatbot Thông Minh Hỗ Trợ Bán Hàng Trực Tuyến
Tác giả Đặng Minh Đạt
Người hướng dẫn TS. Nguyễn Thị Mai Trang
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Công nghệ thông tin
Thể loại đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 71
Dung lượng 4,62 MB

Nội dung

End-to-end testing với Rasa……….……….44 Trang 13 MỞ ĐẦU Trong thời đại số hóa ngày nay, khi mọi hoạt động kinh doanh đều chịu ảnh hưởng sâu rộng bởi sự phát triển của công nghệ, chatbot

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN 1 -

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Trang 2

-

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Hệ : ĐẠI HỌC CHÍNH QUY

Trang 3

LỜI CẢM ƠN

Đầu tiên, em xin em xin gửi lời cảm ơn chân thành tới các thầy cô trong Học viện Công nghệ Bưu chính Viễn thông nói chung và các thầy cô trong khoa Công nghệ thông tin nói riêng, những người đã cho em cơ hội được học tập, tích lũy kiến thức và tận tình chỉ dẫn em trong những năm vừa qua cũng như cơ hội để làm đồ án tốt nghiệp này

Đặc biệt, em xin gửi lời cảm ơn tới cô TS Nguyễn Thị Mai Trang, người đã trực tiếp hướng dẫn, chỉ bảo em thực hiện đồ án, củng cố thêm kiến thức về chuyên môn cũng như thực tế và tạo điều kiện thuận lợi nhất để em thực hiện đồ án

Cuối cùng, em xin gửi lời cảm ơn tới bố mẹ, người thân và bạn bè đã hỗ trợ và luôn

là chỗ dựa tinh thần trong quá trình học tập và làm đồ án tốt nghiệp

Dù đã cố gắng rát nhiều trong quá trình thực hiện đồ án nhưng đồ án rất khó tránh khỏi những thiếu sót, em rất mong nhận được sự góp ý, chỉ bảo của quý thầy cô

Em xin chân thành cảm ơn!

Hà Nội, tháng 12 năm 2023 Đặng Minh Đạt

Trang 4

Hệ đào tạo: Đại học chính quy

Tôi – Đặng Minh Đạt – cam kết đồ án tốt nghiệp là công trình nghiên cứu của bản thân dưới sự hướng dẫn của TS Nguyễn Thị Mai Trang Các kết quả nêu trong đồ án tốt nghiệp là trung thực, là thành quả của riêng tôi, không sao chép bất kỳ công trình nào khác Tất cả những tham khảo trong đồ án tốt nghiệp đều được ghi rõ ràng và đầy đủ nguồn gốc trong danh mục tài liệu tham khảo Tôi xin hoàn toàn chịu trách nhiệm nếu vi phạm quy chế của nhà trường

Hà Nội, tháng 12 năm 2023

Tác giả Đặng Minh Đạt

Trang 5

NHẬN XÉT (Của giảng viên phản biện)

Trang 6

NHẬN XÉT (Của giảng viên hướng dẫn)

Điểm: (bằng chữ: ) Đồng ý/Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?

……, ngày…… tháng ……năm 2023

CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN

(ký, ghi rõ họ tên)

Trang 7

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT viii

DANH MỤC CÁC BẢNG ix

DANH MỤC CÁC HÌNH VẼ x

MỞ ĐẦU 1

CHƯƠNG I TỔNG QUAN VỀ SỬ DỤNG CHATBOT HỖ TRỢ BÁN HÀNG TRỰC TUYẾN 3

1.1 Giới thiệu đề tài 3

1.2 Chatbot và lịch sử phát triển của chatbot 3

1.2.1 Chatbot 3

1.3 Phân loại chatbot 6

1.4 Các phương pháp xây dựng chatbot 7

1.5 Chatbot trong hỗ trợ bán hàng trực tuyến 8

1.6 Các nền tảng hỗ trợ xây dựng chatbot 9

1.7 Kết luận chương 10

CHƯƠNG II NỀN TẢNG PHÁT TRIỂN CHATBOT BÁN HÀNG VÀ CÁC THUẬT TOÁN TÌM KIẾM SẢN PHẨM 12

2.1 Nền tảng Rasa 12

2.1.1 Giới thiệu về nền tảng Rasa 12

2.1.2 Ưu điểm khuyết điểm của Rasa trong xây dựng chatbot 12

2.1.3 Lựa chon Rasa trong xây dựng chatbot bán hàng 14

2.3 Các thành phần của Rasa 15

2.3.1 Mô hình hiểu ngôn ngữ tự nhiêu Rasa NLU 15

2.3.2 Quản lý hội thoại Rasa Core 16

2.3.4 Các thành phần khác hệ thống Rasa 16

2.4 Phương pháp đánh giá hiệu suất của Rasa NLU, Rasa Core 17

Trang 8

2.5 Thuật toán tìm kiếm sản phẩm từ cơ sở dữ liệu dựa trên văn bản người dùng

18

2.5.1 Các thuật toán tính sự tương đồng văn bản 19

2.5.2 Lựa chọn thuật toán 21

2.6 Kết luận chương 22

CHƯƠNG III: XÂY DỰNG CHATBOT HỖ TRỢ BÁN QUẦN ÁO SỬ DỤNG NỀN TẢNG RASA 23

3.1 Mô tả hệ thống 23

3.2 Phân tích và xây dựng các chức năng 24

3.2.1 Chào hỏi cơ bản 25

3.2.2 Hỏi thông tin shop, sản phẩm 26

3.2.3 Gợi ý mua hàng 26

3.2.4 Hỗ trợ đặt hàng 26

3.2.5 Hỗ trợ hủy đơn hàng 27

3.3 Biểu đồ tuần tự 27

3.3.1 Chào hỏi cơ bản 27

3.3.2 Hỏi thông tin shop, sản phẩm 29

3.3.3 Gợi ý mua hàng 31

3.3.4 Hỗ trợ đặt hàng 32

3.3.5 Hỗ trợ hủy đơn hàng 32

3.4 Xây dựng Chương trình 33

3.4.1 Nguồn dữ liệu 33

3.4.2 Xây dựng ý định 33

3.4.3 Xây dựng thực thể 36

3.4.4 Xây dựng câu trả lời 37

3.4.5 Xây dựng kịch bản 40

3.4.6 Đào tạo chatbot 41

Trang 9

3.4.7 Kiểm tra chatbot 43

3.4.8 Kết nối chatbot với telegram 44

3.5 Kết luận chương 45

CHƯƠNG IV KẾT QUẢ THỰC NGHIỆM, ĐÁNH GIÁ CHATBOT 46

4.1 Môi trường thực nghiệm 46

4.2 Kết quả thực nghiệm 46

4.2.1 Đánh giá mô hình Rasa NLU và Rasa Core 46

4.2.2 Test trên giao diện người dùng cuối 49

4.3 Kết luận chương 55

KẾT LUẬN 56

TÀI LIỆU THAM KHẢO 57

Trang 10

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

STT Từ viết tắt Tiếng Anh Tiếng Việt/Giải thích

1 AI Artificial intelligence Trí tuệ nhân tạo

Hệ thống hiểu ngôn ngữ tự nhiên

5 API Application Programming

Trang 11

DANH MỤC CÁC BẢNG

Bảng 1 So sánh ưu nhược điểm của Rasa và một số nền tảng khác……….13

Bảng 2 Bảng phân confusion matrix……… ……… 17

Bảng 3 Xây dựng ý định………33

Bảng 4: Các Action của chatbot……….39

Bảng 5: Đánh giá trích chọn thông tin thực thể (entity)……….47

Bảng 6: Đánh giá mô hình Rasa Core………47

Bảng 7: Test trên giao diện người dùng cuối……… 48

Trang 12

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Chatbot trong Marketing và bán hàng……….………8

Hình 1.2 Nền tảng hỗ trợ xây dựng chatbot……….……….10

Hình 2.1 Mô tả quá trình xử lý thông tin qua Rasa NLU ……… 15

Hình 2.2 Các thành phần hệ thống RASA……….16

Hình 3.1 Kiến trúc chatbot……… ……… 23

Hình 3.2 Các chức năng của chatbot……….………….25

Hình 3.3 Sơ đồ tuần tự của Giới thiệu chức năng……….……….…………27

Hình 3.4 Sơ đồ tuần tự của Chào hỏi……….…………28

Hình 3.5 Sơ đồ tuần tự Trả lời một số câu hỏi khác……… 28

Hình 3.6 Sơ đồ tuần tự Hỏi thông tin shop……… ………… 29

Hình 3.7 Sơ đồ tuần tự Hỏi về các loại sản phẩm……… …………29

Hình 3.8 Sơ đồ tuần tự Hỏi theo giá cả……….…………30

Hình 3.9 Sơ đồ tuần tự Hỏi chi tiết sản phẩm theo tên………30

Hình 3.10 Sơ đồ tuần tự Hỏi chi tiết sản phẩm đã liệt kê trước đó………31

Hình 3.11 Sơ đồ tuần tự Gợi ý mua hàng……… ……….31

Hình 3.12 Sơ đồ tuần tự Hỗ trợ đặt hàng……….……… 32

Hình 3.13 Sơ đồ tuần tự Hủy đơn hàng……….………32

Hình 3.14 Đào tạo một model……….……… 41

Hình 3.15 Đào tạo cho chatbot dạng shell……….………42

Hình 3.16 Chế độ đào tạo cho chatbot bằng Interactive Learning……….42

Hình 3.17 Ví dụ về trực quan hoá cuộc hội thoại ……….………43

Hình 3.18 End-to-end testing với Rasa……….……….44

Hình 4.1 Intent Confusion matrix……… ……… 46

Trang 13

MỞ ĐẦU

Trong thời đại số hóa ngày nay, khi mọi hoạt động kinh doanh đều chịu ảnh hưởng sâu rộng bởi sự phát triển của công nghệ, chatbot đã nổi lên như một công cụ quan trọng không thể thiếu trong ngành bán hàng và tiếp thị Với khả năng tương tác tự động thông qua giao diện trò chuyện, chatbot không chỉ đơn giản là một phần mềm mà còn là một

"người trợ giúp ảo" mạnh mẽ, mang lại sự tiện lợi và tối ưu hóa trải nghiệm của khách hàng

Việc sử dụng chatbot trong bán hàng đã không còn chỉ là xu hướng mà là một nhu cầu thiết yếu Đã từ lâu, việc phục vụ và tương tác trực tiếp với khách hàng là một trong những yếu tố quan trọng nhất trong việc xây dựng mối quan hệ và tạo niềm tin Tuy nhiên, với sự gia tăng của lưu lượng thông tin và nhu cầu phục vụ ngày càng tăng, việc duy trì một đội ngũ nhân viên hỗ trợ khách hàng 24/7 đã trở nên không khả thi đối với nhiều doanh nghiệp

Chính vì lý do này, chatbot đã nổi lên như một giải pháp hoàn hảo Khả năng tự động hóa việc trả lời câu hỏi cơ bản, hỗ trợ tìm kiếm thông tin sản phẩm, xử lý đơn hàng,

và thậm chí là cung cấp dịch vụ hỗ trợ sau bán hàng, chatbot đáp ứng được nhu cầu tương tác của khách hàng một cách nhanh chóng và hiệu quả Đây cũng chính là lý do đề tài “Xây dựng chatbot bán quần áo” được lựa chọn để giúp các doanh nghiệp có thể làm hài lòng khách hàng từ đó có thể tăng doanh thu giảm chi phí một cách hiệu quả

Bên cạnh các ưu điểm của chatbot như hỗ trợ nhanh chóng, giảm chi phí vận hành, hoạt động 24/7 các chatbot được thiết kế để hiểu ngôn ngữ tự nhiên như mục đích, yêu cầu, thực thể được đề cập trong yêu cầu Các chatbot dạng này giúp hiểu thông tin khách hàng cung cấp chính xác hơn, mở rộng khả năng của chatbot và cũng nâng cao chất lượng trò chuyện Vì những ưu điểm kể trên đồ án này tập trung vào việc xây dựng một chatbot có khả năng trò chuyện với khách hàng trong phạm vi bán hàng quần áo online Chatbot này được thiết kế phù hợp với mục đích đề ra và sẽ là trợ thủ đắc lực trong việc bán hàng online hiện nay

Đồ án gồm 5 chương và mục lục với nội dung như sau:

Chương I: Trình bày tổng quan về sử dụng chatbot hỗ trợ bán hàng trực tuyến, trong

đó giới thiệu về đề tài, tìm hiểu chatbot, phân loại chatbot và các framework để xây dựng chatbot

Trang 14

phẩm, trong đó giới thiệu về nền tảng xây dựng chatbot Rasa, các thành phần của nó, đồng thời giới thiệu thuật toán có sử dụng trong việc tìm kiếm sản phẩm

Chương III: Xây dựng chatbot hỗ trợ bán quần áo sử dụng nền tảng Rasa, chương này mô tả hệ thống của chatbot, các chức năng cần phát triển, cách để xây dựng các thành phần của chatbot

Chương IV: Kết quả thực nghiệm, đánh giá chatbot, trong đó thử nhiệm chatbot và đánh giá lại dựa trên các tiêu chí của Rasa, ngoài ra sẽ thử nghiệm trên giao diện người dùng cuối

Chương V: Kết luận, chương cuối sẽ đánh giá lại đồ án, những công việc đã làm được trong đồ án và kế hoạch phát triển tiếp trong tương lai

Trang 15

CHƯƠNG I TỔNG QUAN VỀ SỬ DỤNG CHATBOT HỖ TRỢ BÁN HÀNG

TRỰC TUYẾN

Trong chương 1, đồ án sẽ giới thiệu chi tiết về đề tài, chatbot, lịch sử phát triển của chatbot, cách để phân loại chatbot, chatbot trong việc bán hang trực tuyến ngày nay như thế nào, ngoài ra sẽ giới thiệu thêm về các nền tảng để phát triển chatbot

1.1 Giới thiệu đề tài

Trong thời đại số hóa ngày nay, khi mọi hoạt động kinh doanh đều chịu ảnh hưởng sâu rộng bởi sự phát triển của công nghệ, chatbot đã nổi lên như một công cụ quan trọng không thể thiếu trong ngành bán hàng và tiếp thị Với khả năng tương tác tự động thông qua giao diện trò chuyện, chatbot không chỉ đơn giản là một phần mềm mà còn là một

"người trợ giúp ảo" mạnh mẽ, mang lại sự tiện lợi và tối ưu hóa trải nghiệm của khách hàng

Việc sử dụng chatbot trong bán hàng đã không còn chỉ là xu hướng mà là một nhu cầu thiết yếu Đã từ lâu, việc phục vụ và tương tác trực tiếp với khách hàng là một trong những yếu tố quan trọng nhất trong việc xây dựng mối quan hệ và tạo niềm tin Tuy nhiên, với sự gia tăng của lưu lượng thông tin và nhu cầu phục vụ ngày càng tăng, việc duy trì một đội ngũ nhân viên hỗ trợ khách hàng 24/7 đã trở nên không khả thi đối với nhiều doanh nghiệp

Chính vì lý do này, chatbot đã nổi lên như một giải pháp hoàn hảo Khả năng tự động hóa việc trả lời câu hỏi cơ bản, hỗ trợ tìm kiếm thông tin sản phẩm, xử lý đơn hàng,

và thậm chí là cung cấp dịch vụ hỗ trợ sau bán hàng, chatbot đáp ứng được nhu cầu tương tác của khách hàng một cách nhanh chóng và hiệu quả Đây cũng chính là lý do tôi chọn

đề tài “Xây dựng chatbot bán quần áo” để hỗ trợ trong việc bán hàng online

1.2 Chatbot và lịch sử phát triển của chatbot

1.2.1 Chatbot

Chatbot được định nghĩa là một loại phần mềm hoặc chương trình máy tính được thiết kế để tương tác với con người thông qua giao diện trò chuyện, thường là qua các ứng dụng nhắn tin hoặc trang web Chatbot có khả năng tự động phản hồi và đáp ứng các câu hỏi, yêu cầu hoặc nhu cầu của người dùng dựa trên các quy tắc cụ thể hoặc thông qua trí tuệ nhân tạo (Artificial Intelligient,AI) Mục tiêu chính của chatbot là cung cấp thông tin,

hỗ trợ trong việc giải quyết vấn đề, hoặc thực hiện các nhiệm vụ cơ bản mà không cần sự can thiệp trực tiếp từ con người

Trang 16

Các chatbot có thể được lập trình để thực hiện nhiều chức năng khác nhau, từ việc cung cấp thông tin về sản phẩm và dịch vụ, hỗ trợ tư vấn mua hàng, trả lời câu hỏi tự động đến việc thực hiện các nhiệm vụ như đặt hàng, đặt lịch hẹn hoặc hỗ trợ kỹ thuật cơ bản

Được xây dựng dựa trên các thuật toán máy học và trí tuệ nhân tạo, một số chatbot tiên tiến có khả năng học hỏi từ dữ liệu và tương tác người dùng để cung cấp trải nghiệm tương tác tốt hơn và cá nhân hóa hơn Các công nghệ như xử lý ngôn ngữ tự nhiên (NLP) giúp chatbot hiểu và xử lý ngôn ngữ tự nhiên của con người để có thể tương tác một cách

tự nhiên và linh hoạt hơn

1.2.2 Lịch sử phát triển

Chatbot đầu tiên ra đời năm 1960, tên là Eliza, và là một chương trình máy tính của Joseph Weizenbaum (Viện Công nghệ Massachusetts, Mỹ) Chương trình được thiết kế theo cách bắt chước cuộc trò chuyện của con người Chatbot Eliza hoạt động bằng cách chuyển các từ mà người dùng đã nhập vào máy tính và sau đó ghép nối chúng vào danh sách các câu trả lời có kịch bản Nó sử dụng một kịch bản mô phỏng một nhà tâm lý trị liệu Kịch bản được chứng minh là một tác động đáng kể đến việc xử lý ngôn ngữ tự nhiên

và trí thông minh nhân tạo và là một trong những chương trình đầu tiên có thể vượt qua bài kiểm tra Turing

Vào năm 1972 một bác sĩ tâm thần người Mỹ Kenneth Colby đã xây dựng 1 chatbot với tên Parry Chương trình bắt chước một bệnh nhân tâm thần phân liệt Nó là một chương trình ngôn ngữ tự nhiên tương tự như suy nghĩ của một cá nhân Parry hoạt động thông qua một hệ thống phức tạp các giả định, phân bổ và “phản ứng cảm xúc” được kích hoạt bằng cách thay đổi trọng số được gán cho các đầu vào bằng lời nói Trong cùng năm đó, Parry

và Eliza đã “gặp” và “nói chuyện” với nhau tại Hội nghị Quốc tế về Truyền thông Máy tính ở Washington DC Sau đó, Parry cũng đã vượt qua một phiên bản của Turing Test

Những năm 1980 chatbot Jabberwacky được phát triển, nó được thiết kế để “mô phỏng trò chuyện của con người tự nhiên theo cách thú vị và hài hước” Mục đích ban đầu của dự án Chatbot Jabberwacky là tạo ra một trí tuệ nhân tạo có khả năng vượt qua các phép thử Turing Nó được thiết kế để bắt chước tương tác của con người và thực hiện các cuộc hội thoại với người dùng Mục đích cuối cùng của chương trình là chuyển từ một hệ thống dựa trên văn bản sang toàn bộ hoạt động bằng giọng nói Tác giả của nó tin rằng nó

có thể được kết hợp vào các vật thể xung quanh nhà như robot, các thiết bị thông minh,

…Trong khi tất cả các chatbot trước đó dựa trên cơ sở dữ liệu tĩnh để trả lời và trò chuyện, Jabberwacky thu thập cụm từ được sử dụng bởi những người tham gia trò chuyện với nó

Trang 17

Nó tự thêm những câu trả lời vào cơ sở dữ liệu và tự động phát triển nội dung của riêng mình Trong năm 2008, Jabberwacky đã phát hành một phiên bản mới và đổi tên thành Cleverbot

Đến đầu những năm 1990, Creative Labs đã tạo ra Dr SBAITSO, Dr SBAITSO “trò chuyện” với người dùng như thể nó là một nhà tâm lý học Mặc dù hầu hết các câu trả lời của nó đều là “WHY DO YOU FEEL THAT WAY?” nghĩa là “Bạn cảm thấy như thế nào?” Thay vì bất kỳ loại tương tác phức tạp, khi đối mặt với một cụm từ mà nó không thể hiểu được, nó thường trả lời là “THAT’S NOT MY PROBLEM” (Đó không phải là vấn đề của tôi)

Sau Dr SBAITSO vài năm ALICE được xây dựng trên cùng một kỹ thuật được sử dụng để tạo nên ELIZA ALICE ban đầu được sáng tạo bởi Richard Wallace, ra đời vào ngày 23 tháng 11 năm 1995 Chương trình được viết lại bằng ngôn ngữ Java vào năm 1998 ALICEBOT sử dụng một lược đồ XML có tên AIML (Artificial Intelligence Markup Language - Ngôn ngữ đánh dấu trí thông minh nhân tạo) để xác định các quy tắc trò chuyện heuristic Tuy nhiên, nó lại không thể vượt qua Các phép thử Turing

Năm 2001, SmarterChild được ra đời, SmarterChild là một Chatbot có sẵn trên mạng AOL Instant Messenger và Windows Live Messenger (trước đây là MSN Messenger) AOL Instant Messenger là một chương trình tin nhắn tức thời và hiện diện do AOL tạo ra, sử dụng giao thức nhắn tin tức thời OSCAR độc quyền và giao thức TOC để cho phép người dùng đăng ký giao tiếp trong thời gian thực SmarterChild đóng vai trò giới thiệu cho việc truy cập dữ liệu nhanh và cuộc trò chuyện được cá nhân hóa thú vị hơn Hơn nữa, khi kết hợp với các nhà mạng, chúng trở thành một kênh tiếp thị hiệu quả và miễn phí Chúng giúp người dùng giao tiếp nhanh chóng với hệ thống mạng bằng cách hiển thị các thông tin ngắn gọn với các lựa chọn trên bàn phím điện thoại

Sau đó 5 năm, IBM Watson được tạo ra với mục tiêu vượt lên và chiến thắng các thí sinh tham dự cuộc thi Jeopardy! Với khả năng chạy hàng trăm thuật toán phân tích ngôn ngữ cùng một lúc, IBM Watson sở hữu một sự thông minh ngôn ngữ đáng ngạc nhiên IBM thiết lập cho Watson có quyền truy cập vào cơ sở dữ liệu khổng lồ về thông tin Watson có thể nhanh chóng truy cập 200 triệu trang dữ liệu, làm cho nó trở thành một máy trả lời câu hỏi lý tưởng (hoặc, trong trường hợp của Jeopardy, Watson trở thành máy tạo câu hỏi lý tưởng) Rõ ràng, một hệ thống có thể nhanh chóng lấy thông tin dựa trên đầu vào đàm thoại cũng có thể cung cấp nền tảng cho việc tạo các trợ lý ảo mạnh mẽ Hiện nay, IBM Watson

Trang 18

phục vụ như là “bộ não” cho nhiều chatbots hoạt động trên nhiều ngành công nghiệp và lĩnh vực trên khắp thế giới

Từ năm 2011 đến năm 2016 là khoảng thời gian các ông lớn trong làng công nghệ cho ra hàng loạt các chatbot Siri, một trợ lý cá nhân thông minh, đã được ra mắt vào năm

2011 dưới dạng một ứng dụng iPhone và sau đó được tích hợp là một phần của iOS Năm

2012, Google ra mắt chatbot Google Now Năm 2016, Google đã giới thiệu trợ lý cá nhân thông minh mới Google Assistant, là một sự tiến hóa của Google Now Trợ lý này có thể tham gia đối thoại hai chiều với người dùng Trước đó vào năm 2014, Amazon phát hành Alexa, Microsoft giới thiệu Cortana vào 2015 Với khả năng phân tích và xử lý ngôn ngữ

tự nhiên, các trợ lý ảo này kết nối với các dịch vụ web để trả lời các câu hỏi và đáp ứng các yêu cầu của người dùng

Vào ngày 12 tháng 4 năm 2016 Facebook - mạng xã hội lớn nhất thế giới giới thiệu Messenger Platform Một nền tảng thân thiện hơn và cho phép bất kỳ ai cũng có thể tạo cho mình một chatbot Ngay sau đó, các ứng dụng chat khác như LINE, WhatsApp, Telegram hay Twitter cũng đưa ra các hỗ trợ hoặc các API cho phép người dùng tạo các Chatbot trên ứng dụng nhắn tin Nhưng WeChat của Trung Quốc mới chính là tiên phong trong lĩnh vực này khi cho ra mắt Xiaoice - chatbot khá hoàn thiện từ năm 2013 Trong cuộc đua của các nhà phát triển chatbots, Facebook đang nắm giữ thị phần toàn cầu lớn nhất vì có đến hơn 1 tỷ người sử dụng ứng dụng Messenger hàng tháng Còn riêng ở thị trường Trung Quốc, WeChat lại là ứng dụng chat số 1 mà không ứng dụng chat nào có thể cạnh tranh nổi

1.3 Phân loại chatbot

Dựa vào một số các tiêu chí thì chatbot có thể phân làm nhiều loại Dưới đây là một

số phân loại phổ biến của chatbot:

Trang 19

+ Dựa trên học máy (Machine Learning-based): Chatbot sử dụng trí tuệ nhân tạo

và học máy để học từ dữ liệu, cải thiện khả năng tương tác và đáp ứng người dùng

- Theo mục đích sử dụng

+ Dịch vụ/Cung cấp (Service/Offering): Chatbot được sử dụng để cung cấp thông tin, hỗ trợ mua hàng, tư vấn sản phẩm/dịch vụ, và thực hiện các giao dịch + Hỗ trợ (Support): Chatbot chủ yếu được sử dụng để hỗ trợ khách hàng, giải quyết vấn đề kỹ thuật, cung cấp thông tin sau bán hàng, vv

1.4 Các phương pháp xây dựng chatbot

Để tạo một chatbot, có nhiều phương pháp và công nghệ khác nhau sau đây là môt

số phương pháp phổ biến:

- Sử dụng nền tảng chatbot không cần code

Nền tảng này cung cấp môi trường trực quan để tạo các bot mà không cần viết code Chatfuel, ManyChat: Chúng cho phép người dùng tạo chatbot trên Facebook Messenger bằng cách sử dụng công cụ kéo và thả

Botsify, Chatbot.com: Cung cấp các công cụ dễ sử dụng để tạo bot mà không cần code, hỗ trợ tích hợp trên nhiều nền tảng khác nhau

- Xây dựng tự chủ từ đầu

Sử dụng Ngôn ngữ Lập trình và Nền tảng AI/NLP: Sử dụng Python hoặc Node.js và thư viện như TensorFlow, PyTorch, hoặc các nền tảng AI khác để xây dựng các mô hình dựa trên học máy và xử lý ngôn ngữ tự nhiên

Tích hợp với API Trí tuệ nhân tạo: Sử dụng các API như Dialogflow (Google), LUIS (Microsoft), hoặc Wit.ai (Facebook) để tích hợp khả năng hiểu ngôn ngữ tự nhiên vào bot của bạn

- Sử dụng công cụ và framework mã nguồn mở

Rasa: Một framework mã nguồn mở mạnh mẽ cho chatbots, cung cấp khả năng xử lý ngôn ngữ tự nhiên, tương tác và học máy

Botpress: Một nền tảng chatbot mã nguồn mở với khả năng tương tác và tích hợp cao

- Sử dụng dịch vụ trí tuệ nhân tạo

Dialogflow (by Google): Cung cấp khả năng hiểu ngôn ngữ tự nhiên và tạo hội thoại dễ dàng

IBM Watson Assistant: Cho phép tạo các ứng dụng hội thoại thông minh sử dụng AI, học máy và xử lý ngôn ngữ tự nhiên

Trang 20

Amazon Lex: Dịch vụ xử lý ngôn ngữ tự nhiên từ Amazon Web Services, cung cấp khả năng xây dựng bot với việc nhận diện giọng nói và xử lý văn bản

- Xây dựng bot trên nền tảng cụ thể (Messenger hoặc Slack, …)

Nếu bạn muốn chatbot của mình hoạt động trên một nền tảng cụ thể như Facebook Messenger, Slack hoặc WhatsApp, bạn có thể sử dụng API và SDK mà nền tảng đó cung cấp

Khi xây dựng chatbot cần xác định rõ mục tiêu, chức năng của chatbot dựa vào đó

sẽ chọn công nghệ và phương pháp cho phù hợp

1.5 Chatbot trong hỗ trợ bán hàng trực tuyến

Hình 1.1 Chatbot trong Marketing và bán hàng(Nguồn tuoitre.vn)

Ngày nay, mua sắm trực tuyến đang trở thành xu hướng phổ biến với sự phát triển nhanh chóng của thương mại điện tử Do đó, cửa hàng trực tuyến ngày càng phải đối mặt với môi trường cạnh tranh gay gắt hơn bao giờ hết Trước tình hình cạnh tranh khốc liệt này, sự tích hợp của chatbot không chỉ trở nên quan trọng mà còn mang lại nhiều lợi ích to lớn

Chatbot đóng vai trò quan trọng trong việc tối ưu hóa trải nghiệm mua sắm trực tuyến Bằng cách cung cấp thông tin sản phẩm, hỗ trợ tư vấn trực tuyến, và xử lý các yêu

Trang 21

cầu mua hàng, chatbot giúp cung cấp dịch vụ mua sắm thân thiện và thuận tiện hơn cho khách hàng Ngoài ra, chatbot cũng có khả năng tạo và duy trì một mối quan hệ tiếp cận và tương tác lâu dài với khách hàng, từ đó tăng cường sự trung thành và nâng cao trải nghiệm của họ

Một ưu điểm nổi bật khác của việc tích hợp chatbot là khả năng tự động hoá một số tác vụ như hỗ trợ sau bán hàng, theo dõi đơn hàng và xử lý tình huống phàn nàn của khách hàng Điều này giúp giảm tải cho đội ngũ hỗ trợ khách hàng, giúp họ tập trung vào những vấn đề cụ thể và phức tạp hơn

Trên tất cả, việc tích hợp chatbot vào cửa hàng trực tuyến không chỉ giúp nâng cao năng lực cạnh tranh mà còn tạo ra một môi trường mua sắm trực tuyến thông minh, hiệu quả, và cá nhân hóa hơn đáng kể

1.6 Các nền tảng hỗ trợ xây dựng chatbot

Chatbot đã phát triển rầm rộ vào năm 2016, kể từ đó cũng rất nhiều nền tảng hỗ trợ

để phát triển chatbot được ra đời, đến hiện tại có một số nền tảng phổ biến như:

- Dialogflow: (trước đây gọi là Api.ai) là một nền tảng phát triển chatbot dựa trên cloud, cho phép bạn xây dựng giao diện giọng nói và văn bản có khả năng hiểu ngữ cảnh và xử lý ngôn ngữ tự nhiên

- Microsoft Bot Framework: Đây là một bộ công cụ từ Microsoft để xây dựng chatbots có thể tích hợp với nhiều dịch vụ như Skype, Teams, Slack, và hỗ trợ trí tuệ nhân tạo qua Cognitive Services

- IBM Watson Assistant: Watson Assistant là một công cụ từ IBM, tận dụng khả năng của Watson AI để tạo ra các chatbot Nó có thể được tích hợp vào nhiều nền tảng khác nhau và là lựa chọn mạnh mẽ để xử lý ngôn ngữ tự nhiên

- Amazon Lex: là dịch vụ của AWS cho phép bạn xây dựng các ứng dụng giao tiếp như chatbots hoặc voicebots, sử dụng cùng công nghệ nhận dạng giọng nói và nhận thức ngôn ngữ như là Amazon Alexa

- ManyChat và Chatfuel: Cả hai nền tảng này đều tập trung vào việc tạo chatbot cho Facebook Messenger Chúng được thiết kế để người dùng không cần kỹ năng lập trình, với giao diện kéo và thả (drag-and-drop) dành cho việc thiết lập các luồng hội thoại

- Rasa: là một khung công cụ mã nguồn mở mạnh mẽ cho phép bạn xây dựng chatbots với khả năng hiểu ngôn ngữ tự nhiên, và cung cấp một cơ sở vững chắc cho các hệ thống phức tạp

Trang 22

- Botpress: là một nền tảng mã nguồn mở khác, với một giao diện người dùng trực quan và một hệ sinh thái plugin, cho phép mở rộng tính năng và tích hợp dễ dàng

- Botsify: là một dịch vụ chatbot dành cho website và các nền tảng như Facebook Messenger Nó cung cấp các template hội thoại và giao diện kéo và thả, giúp việc tạo bot trở nên đơn giản hơn

- Wit.ai: là một nền tảng của Facebook cho phép người dùng tạo ra các ứng dụng có thể hiểu và xử lý ngôn ngữ tự nhiên Nó thường được dùng để tạo ra các voice interface

Hình 1.2 Nền tảng hỗ trợ xây dựng chatbot

1.7 Kết luận chương

Trong chương 1 đã giới thiệu tổng quan về chatbot hỗ trợ bán hàng trực tuyến thông qua việc trình bày về nội dung đề tài, tìm hiểu về chatbotvà lịch sử phát triển của chatbot Bên cạnh đó cũng tìm hiểu các phương pháp xây dựng chatbot, trình bày chatbot trong hỗ trợ bán hàng trực tuyến và các nền tảng để xây dựng các chatbot này Ở chương này đã làm

rõ các ưu điểm mà một chatbot mang lại đối với việc kinh doanh online và đã làm rõ tính cấp thiết của đề tài “Thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến”

Ở các chương tiếp theo sẽ trình bày về việc xây dựng chatbot phù hợp với đề tài đặt ra

Trang 23

Các chương tiếp theo cần ghi kết luận tương tự, trình bày toàn bộ các mục đã được xem xét liệt kê trong chương

Trang 24

CHƯƠNG II NỀN TẢNG PHÁT TRIỂN CHATBOT BÁN HÀNG VÀ CÁC

THUẬT TOÁN TÌM KIẾM SẢN PHẨM

Trong chương 2, đồ án giới thiệu nền tảng phát triển chatbot Rasa, so sánh Rasa và một số nền tảng phát triển chatbot phổ biến ngày nay, bên cạnh đó sẽ giới thiệu them về thuật toán để tìm kiếm sản phẩm từ cơ sở dữ liệu dựa trên văn bản người dùng

2.1 Nền tảng Rasa

2.1.1 Giới thiệu về nền tảng Rasa

"Chatbot" là một thuật ngữ quen thuộc trong lĩnh vực trí tuệ nhân tạo, đặc biệt là trong lĩnh vực xử lý ngôn ngữ tự nhiên Chatbot là một công cụ được lập trình để hiểu và trả lời những lời nói và tin nhắn của con người Để xây dựng một con chatbot từ đầu thì tốn rất nhiều công sức và có nhiều rủi ro về hiệu suất và khả năng mở rộng, vì thế đã có rất nhiều framework được phát triển để hỗ trợ việc tạo chatbot dễ dàng hơn, trong đó có Rasa

Rasa là một framework mã nguồn mở mạnh mẽ cho việc xây dựng các ứng dụng trí tuệ nhân tạo dựa trên trò chuyện (chatbot) và xử lý ngôn ngữ tự nhiên (NLP) Nó cung cấp các công cụ để xử lý việc hiểu ý định của người dùng và quản lý logic của các hệ thống trò chuyện, giúp chatbot hiểu và phản hồi một cách tự nhiên dựa trên dữ liệu đầu vào từ người dùng

Rasa bao gồm hai thành phần chính:

• Rasa NLU (Natural Language Understanding): Module này được sử dụng để hiểu ý định (intent) và trích xuất thông tin quan trọng từ văn bản hoặc giọng nói Rasa NLU giúp chatbot hiểu ý định của người dùng và trích xuất thông tin như ngày tháng, địa điểm, số lượng, …

• Rasa Core (Rasa Open Source): Module này quản lý logic của hệ thống trò chuyện, quyết định hành động nào nên được thực hiện dựa trên thông tin từ Rasa NLU và lịch sử trò chuyện

Rasa được ra mắt lần đầu vào năm 2016 dưới dạng một dự án mã nguồn mở, sau đó Rasa nhanh chóng nhận được sự quan tâm của cộng đồng lập trình viên nhờ vào tính linh hoạt và khả năng tùy chỉnh của nó

2.1.2 Ưu điểm khuyết điểm của Rasa trong xây dựng chatbot

Hiện tại các nền tảng hỗ trợ phát triển chatbot đẫ rất nhiều, tùy thuộc vào mục đích, nguồn lực và khả năng tương thích, sau đây là so sánh một số các nền tảng phổ biến hiện nay:

Trang 25

Bảng 1 So sánh ưu nhược điểm của Rasa và một số nền tảng khác

Thấp đến Trung bình, dựa vào nền tảng của Facebook

Cao, có hỗ trợ mạnh mẽ từ Azure khi cần

Cao, tích hợp tốt với các dịch

vụ cloud của Google

Tính linh hoạt

(Flexibility)

Rất cao, mã nguồn mở và có thể được tùy chỉnh rộng rãi

Cao trong việc

xử lý ngôn ngữ

tự nhiên nhờ vào Facebook

AI

Cao, có khả năng tích hợp với nhiều dịch

vụ và nguồn dữ liệu

Trung bình đến cao, cung cấp khả năng tùy chỉnh thông qua Dialogflow CX cho các trường hợp phức tạp Ngôn ngữ lập

trình

Python Không yêu cầu,

dùng giao diện Web để thiết lập

C#, JavaScript, Python, và nhiều ngôn ngữ khác thông qua SDK

Không yêu cầu, dùng giao diện Web để thiết lập

Độ phức tạp

của triển khai

Cao, đòi hỏi kỹ năng kỹ thuật

để tùy chỉnh và

mở rộng

Thấp, dễ dàng

để bắt đầu và triển khai

Trung bình đến cao tùy theo nhu cầu tùy chỉnh

Trung bình, có giao diện trực quan nhưng cũng hỗ trợ triển khai nâng cao

Tính cộng đồng

và hỗ trợ

Mạnh, cộng đồng nguồn mở lớn

Mạnh, với hỗ trợ từ Google

và cộng đồng người dùng rộng rãi

Trang 26

Tài liệu và tài

nguyên học

Rất đầy đủ và chi tiết

Thấp đến trung bình, nhưng có hướng dẫn để bắt đầu

Rất đầy đủ và chi tiết cho các mức độ kỹ năng khác nhau

Chi tiết và rất nhiều tài liệu hướng dẫn sử dụng

Khả năng tích

hợp

Cao với hệ thống có sẵn do tính mảnh mai

và mã nguồn

mở

Trung bình, dễ dàng tích hợp vào ứng dụng Facebook

Cao, đặc biệt với các sản phẩm và dịch

Microsoft

Cao, đặc biệt với Google Assistant và các dịch vụ Google khác

Giá cả Miễn phí, mã

nguồn mở (chi phí phát sinh từ phát triển và triển khai)

Miễn phí đến một ngưỡng nhất định, sau

đó theo chi phí dựa trên sử dụng

Có thể miễn phí hoặc có chi phí tùy theo dịch vụ Azure sử dụng

Có phiên bản miễn phí với hạn chế, phiên bản trả phí tùy thuộc vào sử dụng

2.1.3 Lựa chon Rasa trong xây dựng chatbot bán hàng

Hiện nay Chatbot và AI đã phát triển rất mạnh, cho nên rất nhiều framework được

ra đời để hỗ trợ việc xây dựng chatbot dễ dàng hơn ví dụ như: AgentBot, Twyla, Live Agent, wit.ai, manyChat,… Tuy nhiên Rasa vẫn có rất nhiều lý do để là 1 lựa chọn tốt cho việc xây dựng chatbot như:

Đầu tiên, Rasa là một framework mã nguồn mở, mang lại sự linh hoạt và kiểm soát cao đối với dữ liệu và mô hình, ngoài ra vì là mã nguồn mở nên không yêu cầu chi phí sử dụng ban đầu, điều này giúp giảm chi phí cho dự án phát triển

Thứ hai, Rasa cho phép tích hợp với nhiều nền tảng, API và ngôn ngữ lập trình khác nhau

Thứ ba, Với Rasa người dùng hoàn toàn có thể kiểm soát dữ liệu của mình, không cần chia sẻ với bất kỳ bên thứ ba nào, đây là điều rất quan trọng trong việc bảo vệ thông tin người dùng

Ngoài ra Rasa có một cộng đồng người dùng lớn và nhiều tài liệu hữu ích, cung cấp

sự hỗ trợ đáng kể khi người dùng gặp vấn đề tropng quá trình phát triển

Trang 27

Cuối cùng, Rasa còn có các công cụ bổ trợ như Rasa X giúp quản lý và huấn luyện

mô hình một cách trực quan, và Rasa Enterprise dành cho doanh nghiệp với các tính năng bảo mật và quản lý mở rộng

2.3 Các thành phần của Rasa

2.3.1 Mô hình hiểu ngôn ngữ tự nhiêu Rasa NLU

Hình 2.1 Mô tả quá trình xử lý thông tin qua Rasa NLU

Đây là module đóng vai trò xử lý đầu vào câu hội thoại người dùng (tokenize, featurize), xác định ý định người dùng (Intent Classification) và trích chọn thực thể (Entity Extraction) Ngoài ra, RASA NLU còn có các tính năng khác như Regular Expression, Synonyms, Lookup Table

- Regular Expression: Trích chọn thực thể bằng Regex

VD: ngày tháng, từ khóa cụ thể

- Synonym: Từ đồng nghĩa

VD: "ub", "ubnd" và "Ủy ban nhân dân", khi gặp các từ "ub", "ubnd", hệ thống tự chuyển thành "Ủy ban nhân dân"

- Lookup Table: Định nghĩa một tập giá trị cho một biến (RASA gọi là slot)

VD: Slot Province, ta định nghĩa Lookup Table gồm 64 tên tỉnh thành: "Hà Nội", "Hải Phòng", "Hà Nam", Khi hệ thống phát hiện từ "Hải Phòng" trong câu hội thoại người

Trang 28

dùng, hệ thống sẽ tự gán giá trị "Hải Phòng" cho biến Province trong bộ nhớ, điều này giúp chatbot có thể nhận ra một số giá trị bổ trợ cho ngữ cảnh

2.3.2 Quản lý hội thoại Rasa Core

Rasa Core có vai trò kiểm soát luồng hội thoại, quyết định hành động nào được thực hiện để đáp lại câu hội thoại người dùng Rasa Core bao gồm các chính sách (Policy) để

xử lý luồng hội thoại, gồm:

- RulePolicy: Sử dụng các luật (Rule) để xác định hành động tiếp theo

- MemoizationPolicy: Sử dụng các Story để xác định hành động tiếp theo

- TEDPolicy: Sử dụng học sâu để xác định hành động tiếp theo

Các Policy này cùng nhau hợp lại thành Dialog Policies

2.3.4 Các thành phần khác hệ thống Rasa

Ngoài Rasa NLU và Rasa Core, hệ thống chatbot Rasa cần thêm các thành phần để

xử lý bộ nhớ, kết nối các thành phần lại với nhau để hoạt động hiệu quả:

Hình 2.2 Các thành phần hệ thống Rasa

định là action dạng text)

Trang 29

- Tracker Store: Module lưu trữ các slot, entity, câu hội thoại (Đây chính là module

bộ nhớ lưu trữ của chatbot)

không bị race condition

Trong các thành phần trên, chúng ta chủ yếu làm việc với NLU Pipeline, Dialog Policies, Action Server và sử dụng Tracker để xử lý dữ liệu trong Action Server

2.4 Phương pháp đánh giá hiệu suất của Rasa NLU, Rasa Core

Dưới đây là một số phương pháp đánh giá các mô hình phân loại của Rasa

• Confusion matrix:

Là một phương pháp đánh giá kết quả của những bài toán phân loại với việc xem xét cả những chỉ số về độ chính xác và độ bao quát của các dự đoán cho từng lớp Confusion matrix là một ma trận tổng quát thể hiện kết quả phân loại chính xác và quả phân loại sai được tạo ra bởi một mô hình phân loại Đây là một ma trận vuông với kích thước các chiều bằng số lượng lớp dữ liệu Giá trị tại hàng thứ i, cột thứ j là số lượng điểm lẽ ra thuộc vào class i nhưng lại được dự đoán là thuộc vào class j

• True/False Positive/Negative:

Xét một confusion matrix gồm 4 chỉ số sau đối với mỗi lớp phân loại:

Bảng 2 Bảng phân confusion matrix

Dự đoán (predicted)

Thực tế (Actual) Positive True Positive False Negative

Negative False Positive True Negative

• TP (true positive) – mẫu mang nhãn dương được phân lớp đúng vào

lớp dương

• FN (false negative) – mẫu mang nhãn dương bị phân lớp sai vào lớp

âm

• FP (false positive) – mẫu mang nhãn âm bị phân lớp sai vào lớp dương

• TN (true negative) – mẫu mang nhãn âm được phân lớp đúng vào lớp

âm

Trang 30

• Accuracy:

Cách đánh giá này đơn giản tính tỉ lệ các lớp đã phân loại đúng / tổng số dự đoán

• Precision / Recall:

• Precision là tỉ lệ số điểm Positive mô hình dự đoán đúng (TP) trên tổng

số điểm mô hình dự đoán là Positive (TP+FP), theo công thức:

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃

𝑇𝑃 + 𝐹𝑃0< Precision <=1, Precision càng lớn có nghĩa là độ chính xác của các điểm tìm được càng cao

Precision = 1, tức là tất cả số điểm mô hình dự doán là Positive đều đúng, hay không có điểm nào có nhãn là Negative mà mô hình dự đoán nhầm là Positive

• Recall là tỉ lệ số điểm Positive mô hình dự đoán đúng (TP) trên tổng

số điểm thật sự là Positive (hay tổng số điểm được gán nhãn là Positive ban đầu TP+FN), chỉ số này được tính theo công thức:

𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃

𝑇𝑃 + 𝐹𝑁Recall càng cao, tức là số điểm là positive bị bỏ sót càng ít Recall = 1, tức là tất cả

số điểm có nhãn là Positive đều được mô hình nhận ra

2.5 Thuật toán tìm kiếm sản phẩm từ cơ sở dữ liệu dựa trên văn bản người dùng

Trong khi người dùng sử dụng chatbot để tìm kiếm sản phẩm hoặc nhắc tới 1 sản phẩm nào đó thông qua tên sản phẩm, rất có khả năng người dùng ghi thiếu hoặc viết sai chính tả Vì vậy nên cần tính toán sự tương đồng giữa chuỗi người dùng nhập vào và tên sản phẩm có trong Database để dựa vào đó và dự đoán sản phẩm khách hàng muốn nhắc đến

Trang 31

2.5.1 Các thuật toán tính sự tương đồng văn bản

a, Levenshtein Distance (Edit Distance)

Thuật toán khoảng cách Levenshtein, hay còn gọi là Edit Distance, được sử dụng

để đo lường số lần các hoạt động chỉnh sửa (insertion, deletion, substitution) cần thiết để chuyển đổi một chuỗi thành chuỗi khác Python có thể thực hiện thuật toán này thông qua một cách đơn giản và hiệu quả

Các bước cơ bản để tính toán khoảng cách Levenshtein:

- Khởi tạo ma trận với các giá trị ban đầu:

+ Ô ở góc trái trên cùng (0, 0) sẽ có giá trị là 0

+ Các ô ở hàng và cột đầu tiên sẽ chứa các số từ 0 đến độ dài tương ứng của chuỗi

- Lặp qua từng ô trong ma trận, tính toán số lần biến đổi cần thiết để chuyển từ một chuỗi con của chuỗi thứ nhất thành một chuỗi con của chuỗi thứ hai Các phép biến đổi có thể

là chèn, xóa hoặc thay thế

- Tính toán giá trị của mỗi ô dựa trên các giá trị ở các ô xung quanh (trên, trái và đường chéo trên bên trái) Các bước này có thể được thực hiện như sau:

+ Nếu ký tự ở vị trí i trong chuỗi thứ nhất bằng ký tự ở vị trí j trong chuỗi thứ hai, ô tại vị trí (i, j) sẽ có giá trị bằng giá trị của ô (i-1, j-1)

+ Ngược lại, ô tại vị trí (i, j) sẽ có giá trị bằng giá trị của ô (i-1, j-1) + 1 (để thực hiện thay thế), hoặc ô (i, j-1) + 1 (để thực hiện chèn), hoặc ô (i-1, j) + 1 (để thực hiện xóa)

- Giá trị cuối cùng ở ô góc dưới cùng (m, n) sẽ là khoảng cách Levenshtein giữa hai chuỗi ban đầu

• |A ∩ B| là số lượng phần tử chung giữa tập hợp A và B

• |A ∪ B| là số lượng phần tử trong tập hợp A hoặc B hoặc cả hai

Các bước cơ bản để tính Jaccard Similarity:

• Xác định các phần tử trong hai tập hợp A và B

• Tính số lượng phần tử chung giữa A và B

• Tính tổng số phần tử trong A và B (bao gồm cả các phần tử không trùng nhau)

Trang 32

• Sử dụng công thức Jaccard Similarity để tính toán giá trị tương đồng giữa hai tập hợp

Công thức tính Cosine Similarity giữa hai vector A và B được biểu diễn như sau:

Trong đó:

• A⋅B là tích vô hướng (dot product) giữa hai vector A và B

• ∥A∥ và ∥B∥ lần lượt là độ dài (norm) của các vector A và B

Các bước cơ bản để tính toán Cosine Similarity giữa hai chuỗi văn bản:

• Biểu diễn hai chuỗi văn bản dưới dạng các vector trong không gian vector hóa từ, chẳng hạn như sử dụng word embeddings

• Tính toán tích vô hướng (dot product) giữa hai vector biểu diễn cho hai chuỗi văn bản

• Tính toán độ dài (norm) của mỗi vector

• Sử dụng công thức Cosine Similarity để tính toán giá trị tương đồng giữa hai chuỗi văn bản

d, N-gram Similarity

Thuật toán N-gram Similarity được sử dụng để đo đạc sự tương đồng giữa hai chuỗi văn bản bằng cách xem xét các phân đoạn gồm n phần tử liên tiếp (gọi là n-gram) trong mỗi chuỗi và đếm số lượng các n-gram chung giữa chúng

Trang 33

Công thức tính toán N-gram Similarity không khó, nhưng cần thực hiện một số bước cơ bản:

• Chia các chuỗi thành các n-gram: Đầu tiên, bạn cần chia các chuỗi văn bản thành các phân đoạn có kích thước n phần tử liên tiếp (n-gram)

• Đếm số lượng n-gram chung: Tiếp theo, bạn đếm số lượng các n-gram chung giữa hai chuỗi văn bản

• Tính toán N-gram Similarity: Sử dụng số lượng n-gram chung để tính toán giá trị tương đồng giữa hai chuỗi

e, Ratcliff/Obershelp Similarity

Thuật toán Ratcliff/Obershelp Similarity (RO) được sử dụng để tính toán độ tương đồng giữa hai chuỗi bằng cách tìm chuỗi con chung dài nhất (longest common subsequence

- LCS) và tính tỷ lệ giữa độ dài của chuỗi con chung và tổng độ dài của hai chuỗi

Công thức tính toán Ratcliff/Obershelp Similarity:

• Tìm chuỗi con chung dài nhất (LCS) giữa hai chuỗi văn bản

• Tính tỷ lệ giữa độ dài của chuỗi con chung và tổng độ dài của hai chuỗi

Ví dụ:

Cho hai chuỗi văn bản: "kitten" và "sitting"

• Chuỗi con chung dài nhất (LCS) là "ittn" (độ dài là 4)

• Tổng độ dài của hai chuỗi là 7 ("kitten" có độ dài là 6 và "sitting" có độ dài là 7) Ratcliff/Obershelp Similarity giữa "kitten" và "sitting" là 4/7 = 0.5714

Đây chỉ là một ví dụ đơn giản để minh họa cách tính toán RO Similarity Trong thực tế, có thể cần sử dụng các thuật toán tìm chuỗi con chung hiệu quả như thuật toán tìm kiếm LCS thông qua lập bảng quy hoạch động để giải quyết vấn đề này

2.5.2 Lựa chọn thuật toán

Bài toán ta cần sử dụng là tính sự tương đồng của tên sản phẩm và sản phẩm khách nhập vào( có thể là khách ghi nhiếu, sai sót hoặc gõ sai chính tả) nên tôi quyết định chọn thuật toán khoảng cách Levenshtein Khi khách hàng nhập tên không chính xác thì ta sẽ tính khoảng giữa tên sản phẩm và tên do khách hàng nhập, nếu sản phẩm nào có khoảng cách ngắn nhất thì đó là sản phẩm khách hàng muốn nói đến

Đến đây đã xảy ra vấn đề do độ dài tên sản phẩm khác nhau

Ví dụ:

Tên sản phẩm 1: “váy công sở dự tiệc sang trọng bigsize amyra”

Tên sản phẩm 2: “váy ren tiểu thư”

Tên khách hàng nhập: “váy công sở dự”

Trang 34

ð Khoảng cách dựa trên độ dài sp1: 29/44 = 0.65

ð Khoảng cách dựa trên độ dài sp2: 12/16 = 0.75

è Chọn sản phẩm 1

2.6 Kết luận chương

Trong chương này, đồ án đã trình bày về nền tảng phát triển chatbot Rasa, được chọn lựa bởi khả năng tùy biến cao và khả năng xử lý ngôn ngữ mạnh mẽ, phù hợp cho việc triển khai các giải pháp chatbot thông minh và an toàn Bên cạnh đó cũng giới thiệu các thuật toán hiện đại để tính toán sự tương đồng của hai chuỗi ký tự, như Levenshtein Distance, Jaccard Similarity, và Cosine Similarity, giúp chatbot hiểu rõ hơn ý định của người dùng

Trang 35

CHƯƠNG III: XÂY DỰNG CHATBOT HỖ TRỢ BÁN QUẦN ÁO SỬ DỤNG NỀN

TẢNG RASA

Trong chương 3, đồ án sẽ phân tích và thiết kế hệ thống, phân tích các chức năng

của chatbot, ngoài ra sẽ giới thiệu các bước để xây dựng chatbot dựa trên nền tảng Rasa

framework

3.1 Mô tả hệ thống

Trên hình 2 trình bày tổng quan về kiến trúc hệ thống của chatbot bán hàng bao

gồm: SQLite DB, Tracker Store, Lock Store, Filesystem, Action Server, Dialoge Policies

và NLU Pipeline

Hình 3.1 Kiến trúc chatbot

Ngày đăng: 17/03/2024, 21:02

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] "Testing Your Assistant," 14 11 2023. [Online]. Available: https://rasa.com/docs/rasa/testing-your-assistant/ Sách, tạp chí
Tiêu đề: Testing Your Assistant
[2] "Introduction to Rasa Open Source &amp; Rasa Pro," 15 10 2023. [Online]. Available: https://rasa.com/docs/rasa/ Sách, tạp chí
Tiêu đề: Introduction to Rasa Open Source & Rasa Pro
[3] B. T. Tung, "Xây dựng chatbot Messenger cập nhật thời khóa biểu cho sinh viên (Phần 1) - Phân tích thiết kế hệ thống," 20 10 2023. [Online]. Available:https://viblo.asia/p/xay-dung-chatbot-messenger-cap-nhat-thoi-khoa-bieu-cho-sinh-vien-phan-1-phan-tich-thiet-ke-he-thong-OeVKBW8QZkW Sách, tạp chí
Tiêu đề: Xây dựng chatbot Messenger cập nhật thời khóa biểu cho sinh viên (Phần 1) - Phân tích thiết kế hệ thống
[5] B. T. Tung, "Xây dựng chatbot Messenger cập nhật thời khóa biểu cho sinh viên (Phần 2) - Chatbot đơn giản và kết nối messenger," 20 10 2023. [Online]. Available:https://viblo.asia/p/xay-dung-chatbot-messenger-cap-nhat-thoi-khoa-bieu-cho-sinh-vien-phan-2-chatbot-don-gian-va-ket-noi-messenger-L4x5xL4m5BM Sách, tạp chí
Tiêu đề: Xây dựng chatbot Messenger cập nhật thời khóa biểu cho sinh viên (Phần 2) - Chatbot đơn giản và kết nối messenger
[6] B. T. Tung, "Xây dựng chatbot Messenger cập nhật thời khóa biểu cho sinh viên (Phần 3) - Xử lí logic chatbot khi được hỏi về thông tin lịch học," 21 10 2023. [Online].Available: https://viblo.asia/p/xay-dung-chatbot-messenger-cap-nhat-thoi-khoa-bieu-cho-sinh-vien-phan-3-xu-li-logic-chatbot-khi-duoc-hoi-ve-thong-tin-lich-hoc-oOVlYzoQ58W Sách, tạp chí
Tiêu đề: Xây dựng chatbot Messenger cập nhật thời khóa biểu cho sinh viên (Phần 3) - Xử lí logic chatbot khi được hỏi về thông tin lịch học
[7] "Telegram," 09 11 2023. [Online]. Available: https://rasa.com/docs/rasa/connectors/telegram/ Sách, tạp chí
Tiêu đề: Telegram
[10] M. AI, Director, [RASA series #1] Ai cũng có thể làm chatbot "siêu ngon khổng lồ". [Film]. 2019 Sách, tạp chí
Tiêu đề: siêu ngon khổng lồ
[11] N. C. Thắng, "[RASA series #1] Ai cũng có thể làm RASA chatbot “siêu ngon khổng lồ”," [Online]. Available: https://miai.vn/2019/09/03/rasa-series-1-ai-cung-co-the-lam-chatbot-sieu-ngon-khong-lo/ Sách, tạp chí
Tiêu đề: [RASA series #1] Ai cũng có thể làm RASA chatbot “siêu ngon khổng lồ”
[19] Ina, "AI-chatbot software for complex requirements," [Online]. Available: https://onlim.com/en/the-history-of-chatbots/. [Accessed 7 11 2023] Sách, tạp chí
Tiêu đề: AI-chatbot software for complex requirements
[20] Codecademy, "History of chatbots," [Online]. Available: https://www.codecademy.com/article/history-of-chatbots. [Accessed 11 2023] Sách, tạp chí
Tiêu đề: History of chatbots
[22] P. H. Quang, "Rasa chatbot: Tăng khả năng chatbot với custom component và custom tokenization(tiếng Việt + tiếng Nhật)," 3 2020. [Online]. Available:https://viblo.asia/p/rasa-chatbot-tang-kha-nang-chatbot-voi-custom-component-va-custom-tokenizationtieng-viet-tieng-nhat-Qbq5QN4mKD8. [Accessed 11 2023] Sách, tạp chí
Tiêu đề: Rasa chatbot: Tăng khả năng chatbot với custom component và custom tokenization(tiếng Việt + tiếng Nhật)
[23] "Rasa Community in Vietnam," 2018. [Online]. Available: https://forum.rasa.com/t/rasa-community-in-vietnam/2993. [Accessed 11 2023] Sách, tạp chí
Tiêu đề: Rasa Community in Vietnam
[24] heraclex12, "vietnamese-chat-with-rasa," 2019. [Online]. Available: https://github.com/heraclex12/vietnamese-chat-with-rasa. [Accessed 10 2023] Sách, tạp chí
Tiêu đề: vietnamese-chat-with-rasa
[25] N. C. Thắng, "Cài đặt RASA theo cách mới siêu nhanh, siêu gọn nhẹ," 03 2020. [Online]. Available: https://miai.vn/2020/03/19/rasa-series-4-cai-dat-rasa-theo-cach-moi-sieu-nhanh-sieu-gon-nhe/. [Accessed 10 2023] Sách, tạp chí
Tiêu đề: Cài đặt RASA theo cách mới siêu nhanh, siêu gọn nhẹ
[26] M. S. Trang Nguyen, "Enhancing Rasa NLU model for Vietnamese chatbot," 1 2021. [Online]. Available:https://www.researchgate.net/publication/348390901_Enhancing_Rasa_NLU_model_for_Vietnamese_chatbot. [Accessed 11 2023] Sách, tạp chí
Tiêu đề: Enhancing Rasa NLU model for Vietnamese chatbot
[27] "Tổng quan về Rasa," 14 5 2023. [Online]. Available: https://ailab.siu.edu.vn/article/23/tong-quan-ve-rasa. [Accessed 11 2023] Sách, tạp chí
Tiêu đề: Tổng quan về Rasa
[28] T. D. Thanh, "Cài đặt platform Trí tuệ nhân tạo Rasa trên Windows," 8 2021. [Online]. Available: https://duythanhcse.wordpress.com/2021/08/23/cai-dat-platform-tri-tue-nhan-tao-rasa-tren-windows/. [Accessed 11 2023] Sách, tạp chí
Tiêu đề: Cài đặt platform Trí tuệ nhân tạo Rasa trên Windows
[29] hunghv, "So sánh 25 framework chatbot phổ biến nhất," 05 02 2018. [Online]. Available: https://hanhtranglaptrinh.net/sanh-25-framework-chatbot-pho-bien-nhat/.[Accessed 10 2023] Sách, tạp chí
Tiêu đề: So sánh 25 framework chatbot phổ biến nhất
[30] "TOP 7 Nền Tảng Chatbot Uy Tín Trên Thị Trường," [Online]. Available: https://dinos.vn/review-chatbot/. [Accessed 11 2023] Sách, tạp chí
Tiêu đề: TOP 7 Nền Tảng Chatbot Uy Tín Trên Thị Trường
[31] Chatbot.team&lt;Linkedin&gt;, "28 Best Chatbot Platforms To Build A Chatbot In 2023 [Complete Guide]," [Online]. Available: https://www.linkedin.com/pulse/28-best-chatbot-platforms-build-2023-complete-guide-chatbot-team. [Accessed 10 2023] Sách, tạp chí
Tiêu đề: 28 Best Chatbot Platforms To Build A Chatbot In 2023 [Complete Guide]

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Chatbot trong Marketing và bán hàng(Nguồn tuoitre.vn) - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 1.1 Chatbot trong Marketing và bán hàng(Nguồn tuoitre.vn) (Trang 20)
Hình 1.2. Nền tảng hỗ trợ xây dựng chatbot - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 1.2. Nền tảng hỗ trợ xây dựng chatbot (Trang 22)
Bảng 1. So sánh ưu nhược điểm của Rasa và một số nền tảng khác - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Bảng 1. So sánh ưu nhược điểm của Rasa và một số nền tảng khác (Trang 25)
Hình 2.1. Mô tả quá trình xử lý thông tin qua Rasa NLU - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 2.1. Mô tả quá trình xử lý thông tin qua Rasa NLU (Trang 27)
Hình 2.2. Các thành phần hệ thống Rasa - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 2.2. Các thành phần hệ thống Rasa (Trang 28)
Hình 3.1. Kiến trúc chatbot - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 3.1. Kiến trúc chatbot (Trang 35)
Hình 3.2. Các chức năng của chatbot - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 3.2. Các chức năng của chatbot (Trang 37)
Hình 3.5. Sơ đồ tuần tự Trả lời một số câu hỏi khác - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 3.5. Sơ đồ tuần tự Trả lời một số câu hỏi khác (Trang 40)
Hình 3.4. Sơ đồ tuần tự của Chào hỏi - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 3.4. Sơ đồ tuần tự của Chào hỏi (Trang 40)
Hình 3.6. Sơ đồ tuần tự Hỏi thông tin shop - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 3.6. Sơ đồ tuần tự Hỏi thông tin shop (Trang 41)
Hình 3.8. Sơ đồ tuần tự Hỏi theo giá cả - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 3.8. Sơ đồ tuần tự Hỏi theo giá cả (Trang 42)
Hình 3.10. Sơ đồ tuần tự Hỏi chi tiết sản phẩm đã liệt kê trước đó - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 3.10. Sơ đồ tuần tự Hỏi chi tiết sản phẩm đã liệt kê trước đó (Trang 43)
Hình 3.11. Sơ đồ tuần tự Gợi ý mua hàng - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 3.11. Sơ đồ tuần tự Gợi ý mua hàng (Trang 43)
Hình 3.12. Sơ đồ tuần tự Hỗ trợ đặt hàng - Đồ án tốt nghiệp đại học đề tài thiết kế và triển khai chatbot thông minh hỗ trợ bán hàng trực tuyến
Hình 3.12. Sơ đồ tuần tự Hỗ trợ đặt hàng (Trang 44)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w