Tải bản đầy đủ (.doc) (66 trang)

Nghiên cứu xây dựng chatbot trả lời tự động áp dụng kỹ thuật học máy cho ứng dụng tin nhắn văn bản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.02 MB, 66 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SĨ
Nghiên cứu xây dựng chatbot trả lời
tự động áp dụng kỹ thuật học máy
cho ứng dụng tin nhắn văn bản

PHẠM THỊ PHƯƠNG ANH
Ngành: Khoa học máy tính

Giảng viên hướng dẫn:

TS. Phạm Huy Hồng

Trường:

Cơng nghệ Thơng tin và Truyền thơng

Hà Nội, 09/2022


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SĨ
Nghiên cứu xây dựng chatbot trả lời
tự động áp dụng kỹ thuật học máy
cho ứng dụng tin nhắn văn bản

PHẠM THỊ PHƯƠNG ANH
Ngành: Khoa học máy tính


Giảng viên hướng dẫn: TS. Phạm Huy Hồng ——————
Trường:

Cơng nghệ Thơng tin và Truyền thơng

Hà Nội, 09/2022


CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT
NAM Độc lập - Tự do - Hạnh phúc
————————————

BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
Họ và tên tác giả luận văn: Phạm Thị Phương Anh
Đề tài luận văn: Nghiên cứu xây dựng chatbot trả lời tự động áp dụng kỹ
thuật học máy cho ứng dụng tin nhắn văn bản
Chuyên ngành: Khoa học máy tính
Mã số SV: CB190209
Tác giả, Người hướng dẫn khoa học và Hội đồng chấm luận văn xác nhận
tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày
30/07/2022 với các nội dung sau:
• Sửa một số ý trong luận văn chưa phù hợp, theo ý kiến của Hội
đồng.
• Cấu trúc lại bố cục của luận văn:
- Chương 1: Bổ sung thêm các so sánh về nền tảng của Chatbot. Chuyển
mục 1.6(Tổng quan về Deeplearning) sang chương 2.
- Chương 2: Bỏ mục 2.2 (Tổng quan Tensorflow framework), bổ sung thêm
một số nội dung về mạng nơ – ron hồi quy RNN, mơ hình Transformer, so sánh
ưu điểm của mơ hình Transformer và mơ hình RNN, mơ hình DIET
- Chương 3: Cấu trúc lại chương 3 theo mơ hình học máy. Bỏ mục 3.2 (Mơ

hình huấn luyện Chatbot). Bổ sung sơ đồ quy trình hoạt động của Chatbot, giới
thiệu xây dựng về bộ dữ liệu sẽ sử dụng.
• Bổ sung một số tài liệu tham khảo đã sử dụng cho đầy đủ.
• Sửa các lỗi chính tả, lỗi định dạng, bố cục văn bản.
Hà Nội, ngày 06 tháng 09 năm 2022

Giảng viên hướng dẫn

Tác giả luận văn

CHỦ TỊCH HỘI ĐỒNG


LỜI CẢM ƠN
Đầu tiên, cho tôi xin gửi lời cảm ơn chân thành đến các Thầy, Cô giáo
trong viện Công nghệ thơng tin và Truyền thơng. Trong suốt q trình học tập
cũng như thực hiện Luận văn tốt nghiệp, các Thầy, Cô đã chỉ dạy không chỉ kiến
thức, kỹ năng mà cịn truyền cho tơi những cảm hứng và nhiệt huyết để có thể
vững tâm trong suốt thời gian qua và còn cho chặng đường dài trong tương lai
sắp tới. Tơi xin bày tỏ lịng biết ơn sâu sắc tới TS. Phạm Huy Hoàng. Thầy là
người đã định hướng, chỉ bảo tận tình, là người động viên khích lệ tơi rất nhiều
để tơi có thể hồn thành được Luận văn tốt nghiệp này. Đồng thời xin gửi lời
cảm ơn đến gia đình, các anh chị, bạn bè, đồng nghiệp trong cơ quan đã ủng hộ
tôi về tinh thần trong suốt quá trình thực hiện Luận văn.
Học viên

Phạm Thị Phương Anh


Tóm tắt nội dung luận văn

Trong những năm gần đây, khoa học công nghệ đang dần tiến đến một
tầm cao mới. Mặc dù còn mới mẻ trong lĩnh vực khoa học và công nghệ nhưng
Chatbot đang được nghiên cứu và phát triển với tốc độ chóng mặt bởi các trung
tâm nghiên cứu và rất nhiều lĩnh vực được ứng dụng cơng nghệ mới này. Chatbot
là hình thức thơ sơ của phần mềm trí tuệ nhân tạo, là một chương trình được tạo
ra từ máy tính tiến hành cuộc trị chuyện thông qua các phương pháp nhập văn
bản, âm thanh, cảm ứng có thể trả lời các câu hỏi và xử lý các tình huống là một
cơng cụ có thể giao tiếp, tương tác với con người thơng qua một trí tuệ nhân tạo
đã được lập trình sẵn.
Đại dịch Covid-19 kéo dài trong hơn một năm qua đã gây nhiều ảnh
hưởng nghiêm trọng đến việc lập kế hoạch học tập của học sinh gặp nhiều khó
khăn. Nhiều học sinh chia sẻ cảm thấy bị rối vì khơng biết lựa chọn phương thức
xét tuyển nào phù hợp. Các bạn thường mắc lỗi sai khi chọn các phương thức xét
tuyển tiện nhất mà thường không quan tâm đến thế mạnh, năng lực của bản thân
dẫn đến chọn sai phương thức xét tuyển. Cũng có trường hợp học sinh lại “đặt
cược” vào một phương thức xét tuyển. Việc lựa chọn như vậy cũng làm hạ thấp
khả năng trúng tuyển. Ảnh hưởng của đại dịch làm cho công tác tư vấn tuyển
sinh chưa đạt được hiệu quả cao ảnh hưởng đến chất lượng đầu vào. Việc trực
tiếp về các trường THPT, tư vấn trực tiếp là việc khó khăn với tình hình dịch
bệnh như hiện nay nên không đáp ứng được nhu cầu cung cấp thông tin cho các
em học sinh mọi lúc mọi thời điểm.
Nhắc đến Chatbot thì khơng thể khơng kể đến những RNN, LSTM, neural network… Tuy nhiên
việc xây dựng một Chatbot hiện nay đã khơng cịn q phức tạp như vậy. Qua q trình nghiên cứu các
thuật tốn, và các framework, tôi đề xuất sử dụng RASA nhằm thực hiện tối thiểu hóa các bước để dựng
được một trợ lý ảo Chatbot. Và để trực quan hóa q trình xây dựng Chatbot áp dụng RASA framework
tôi đã dựng sản phẩm chatbot hỗ trợ tư vấn tuyển sinh đại học cụ thể là trong phòng tuyển sinh của
Trường Đại học Nội vụ Hà Nội. Với những chức năng chính như giải đáp trực tiếp về các thông tin ngành
học, phương thức xét tuyển, cách thức nộp hồ sơ, ….



MỤC LỤC
MỞ ĐẦU ............................................................................................................... 1
TỔNG QUAN VỀ CHATBOT .................................................... 3
1.1 Khái niệm Chatbot ........................................................................................... 3
1.2 Các thành phần của Chatbot ............................................................................ 3
1.3 Một số phân loại khác về Chatbot ................................................................... 5
1.3.1 Chatbot dựa trên luật (Rules Based Chatbot) ..................................... 5
1.3.2. Chatbot dựa trên trí tuệ nhân tạo và học máy (AI and Machine
learning) ............................................................................................................ 6
1.3.3. Chatbot phạm vi đóng (Close – domain) ............................................ 7
1.3.4. Chatbot phạm vi mở (Open – domain) ............................................... 7
1.4. Một số nền tảng công nghệ xây dựng Chatbot ................................................ 7
1.5. Một số ứng dụng của Chatbot........................................................................ 11
CƠ SỞ LÝ THUYẾT .................................................................. 13
2.1 Cơ bản về Deep learning ............................................................................... 13
2.2 Mạng nơ-ron hồi quy RNN (Recurrent Neural Network) ............................. 14
2.3 Mơ hình Transformer..................................................................................... 16
2.3.1. Mã hóa vị trí ....................................................................................... 17
2.3.4. Tầng chú ý đa đầu ............................................................................. 21
2.3.5. Kết nối phần dư và Lớp chuẩn hóa................................................... 21
2.3.6. Bộ giải mã ......................................................................................... 22
2.4 Ưu điểm của mơ hình Transformer so với mơ hình RNN ............................. 24
2.5 Mơ hình DIET ............................................................................................... 25
2.6 RASA Framework ......................................................................................... 27
2.6.3. Intent ................................................................................................. 31
2.6.4. Stories ............................................................................................... 31
2.6.5. Actions .............................................................................................. 31
2.6.6. Policies ............................................................................................. 32
2.6.7. Slots .................................................................................................. 32
2.6.8. Pipeline và các compoments ............................................................ 32


i


XÂY DỰNG CÔNG CỤ HỎI ĐÁP THÔNG TIN TƯ VẤN
TUYỂN SINH ĐẠI HỌC................................................................................... 34
3.1 Giới thiệu bài toán.......................................................................................... 34
3.2 Sơ đồ quy trình hoạt động của Chatbot Tư vấn tuyển sinh Đại học Nội vụ HN36
3.3 Xây dựng dữ liệu Chatbot.............................................................................. 38
3.3.1. Xây dựng ý định (intent)................................................................... 38
3.3.2. Xây dựng câu trả lời cho Chatbot..................................................... 42
3.3.3. Đào tạo cho chatbot........................................................................... 44
3.4 Cài đặt chương trình....................................................................................... 44
3.4.1. Kịch bản hỏi về phương thức tuyển sinh.......................................... 45
3.4.2. Kịch bản không hiểu câu hỏi của người dùng...................................46
3.4.3. Kịch bản người dùng hỏi theo stories được xây dựng sẵn................47
3.5 Thử nghiệm và đánh giá chương trình........................................................... 48
3.6 Đánh giá......................................................................................................... 51
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN........................................................ 52
TÀI LIỆU THAM KHẢO................................................................................. 53

ii


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

Từ viết

Từ ch̉n


Diễn giải

tắt
AI

Artificial Intelligence

Trí tuệ nhân tạo

API

Application Programming

Giao diện lập trình ứng dụng

Interface
CRF

Conditional Random Fields

Mơ hình CRF

DL

Deep learning

Học sâu

DM


Dialog Management

Quản lý hội thoại

FAQ

Frequently Asked Questions

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

NLG

Natural language generation

Sinh ngôn ngữ tự nhiên

NLP

Natural Languague Processing

Xử lý ngôn ngữ tự nhiên

NLU

Natural language understanding

Hiểu ngôn ngữ tự nhiên

iii



DANH MỤC HÌNH VẼ BẢNG
Hình 1-1: Kiến trúc chung của chatbot................................................................... 4
Hình 1-2: Chatbot hỗ trợ nút bấm để thao tác của Pizza Hut.................................5
Hình 1-3:Chatbot Messenger của trang Pizzahut................................................. 12
Hình 2-1: Mạng nơ-ron hồi quy [4]...................................................................... 14
Hình 2-2: Kiến trúc mơ hình Transformer........................................................... 16
Hình 2-3:Kiến trúc lớp của bộ mã hóa và bộ giải mã trong Transformer............18
Hình 2-4: Kiến trúc chi tiết một lớp của bộ mã hóa trong Transformer..............19
Hình 2-5: Mơ tả kiến trúc Multi-Head Attention................................................. 21
Hình 2-6: Kiến trúc của một lớp trong khối giải mã............................................ 22
Hình 2-7: Tổng quan quá trình biến đổi vectơ đầu ra của các lớp giải mã thành từ
vựng tương ứng.................................................................................................... 23
Hình 2-8: So sánh Transformer với các mơ hình khác dựa trên kết quả đánh giá
của bài báo............................................................................................................ 24
Hình 2-9: Các thành phần của Rasa [8]................................................................ 28
Hình 2-10: Chế độ học tương tác của Rasa [8].................................................... 29
Hình 2-11: Cách thức Rasa phản hồi một tin nhắn.............................................. 29
Hình 2-12:Cấu trúc của một chương trình Rasa................................................... 30
Hình 3-1: Cấu trúc hệ thống Chatbot Tư vấn tuyển sinh Đại học Nội vụ Hà Nội35

Hình 3-2: Sơ đồ quy trình hoạt động của Chatbot................................................ 36
Hình 3-3: Đào tạo một model............................................................................... 44
Hình 3-4: Giao diện hỗ trợ nút bấm để thao tác................................................... 45
Hình 3-5: Trường hợp Chatbot khơng hiểu ý người dùng................................... 46
Hình 3-6: Kịch bản người dùng hỏi theo stories.................................................. 47
Hình 3-7: Biểu đồ thống kê mức độ tin cậy dự đốn ý định (intent)..................49
Hình 3-8: Biểu đồ ma trận nhầm lẫn (Confusion matrix) giữa các nhãn dự đoán
và nhãn đúng trong tác vụ phân loại ý định......................................................... 50


iv


DANH MỤC BẢNG
Bảng 1. 1: So sánh cơ bản 03 nền tảng: Chatbot Chatfuel, Dialogflow và Rasa. . .9
Bảng 3. 1: Bảng các ý định (intent) của chabot.................................................... 40
Bảng 3. 2: Thông số đo intent.............................................................................. 48

v



MỞ ĐẦU
1. Đặt vấn đề
Ngày nay, cùng với sự phát triển của khoa học kỹ thuật, Chatbot đang
được ứng dụng phổ biến và mạnh mẽ trong nhiều lĩnh vực, tạo nên một cơn sốt
cơng nghệ khi có nhiều hãng cơng nghệ nổi tiếng thế giới tham gia như Google,
Facebook, Microsoft, IBM...Theo Grand View Research, thị trường Chatbot dự
kiến sẽ đạt khoảng 1,25 tỷ đơ la trên tồn cầu vào năm 2025. Hơn nữa, các
chuyên gia dự đoán rằng thị trường này sẽ tăng trưởng với tốc độ tăng trưởng gộp
hàng năm hơn 24%. Đặc biệt là xu hướng phát triển AI chatbot có khả năng hội
thoại, xử lý những tương tác phức tạp hơn với khách hàng. Ở Việt Nam, Chatbot
đã bắt đầu được áp dụng ở trong một số lĩnh vực như chăm sóc khách hàng, mua
sắm trực tuyến, trả lời thông tin ngân hàng, y tế, giáo dục… Đối với lĩnh vực giáo
dục hiện nay, tư vấn giáo dục Chatbot chưa được sử dụng nhiều dù rằng đây là
lĩnh vực rất phù hợp cho các ứng dụng Chatbot. Chatbot có thể thay thế con người
trong việc trả lời các câu hỏi có tính lặp đi lặp lại, hỗ trợ người dùng 24/7, quảng
bá và phủ hình hình ảnh…
Cùng với mong muốn hiểu sâu hơn về Chatbot và các kỹ thuật giúp
Chatbot trả lời câu hỏi xử lý theo ngôn ngữ tự nhiên (NLP), tôi quyết định chọn

đề tài “Nghiên cứu xây dựng Chatbot trả lời tự động áp dụng kỹ thuật học máy
cho ứng dụng tin nhắn văn bản” làm đề tài luận văn thạc sĩ. Qua đề tài tôi muốn
nâng cao sự hiểu biết về AI Chatbot, NLP và nghiên cứu khả năng áp dụng thực
tiễn tại doanh nghiệp ở Việt Nam.
2. Mục tiêu của luận văn
Mục tiêu của luận văn là tìm hiểu, nghiên cứu các kỹ thuật học sâu vào xử
lý ngôn ngữ tự nhiên NLU, NLP như phân loại ý định người dùng, trích chọn
thông tin và quản lý hội thoại, …trong ứng dụng cụ thể là Chatbot hỗ trợ tư vấn
tuyển sinh.
Nghiên cứu chun sâu mơ hình Transformer và DIET, luận văn tập trung
đưa ra giải pháp và xây dựng mơ hình Chatbot ứng dụng trong miền đóng có khả
năng trả lời có khả năng trả lời phù hợp với những câu hỏi tương ứng từ phía
người dùng.
1


Với bài toán đối tượng nghiên cứu là đơn vị tư vấn tuyển sinh đại học, luận
văn sẽ tập trung xây hệ thống Chatbot hỗ trợ người dùng trong quá trình tư vấn
tuyển sinh trên nền tảng Rasa và áp dụng những kiến thức nền tảng để có thể làm
chủ và tùy chỉnh trên mã nguồn mở này.
3. Phạm vi nghiên cứu đề tài
- Nghiên cứu các phương pháp xử lý ngôn ngữ tự nhiên phù hợp với
Chatbot hướng tới.
- Nghiên cứu mơ hình học sâu Transformer và DIET.
- Thu thập và tổng hợp các câu hỏi đáp của phòng tuyển sinh
trước đó đồng thời tham khảo đề án tuyển sinh của nhà trường để tạo bộ dữ liệu
huấn luyện.
- Xây dụng thành phần xử lý ngôn ngữ tự nhiên của Chatbot bằng công cụ
Rasa.
- Xây dựng Chatbot thành service tích hợp với Messenger của Fanpage Tư

vấn Tuyển sinh Đại học Nội vụ Hà Nội.
4. Nội dung luận văn được chia làm 3 phần như sau:
Chương 1: Giới thiệu tổng quan về hệ thống Chatbot : Chương này sẽ giới
thiệu những kiến thức tổng quan về hệ thống Chatbot, các thành phần của
Chatbot và phân biệt các loại Chatbot.
Chương 2: Cơ sở lý thuyết: Tìm hiểu về Deep learning, mạng nơ ron hồi
quy RNN, mơ hình học sâu Transformer, DIET và Rasa Framework.
Chương 3: Trình bày về quá trình xây dựng Chatbot trả lời thông tin về
tuyển sinh đại học, thực nghiệm và đánh giá các kết quả.

2


TỔNG QUAN VỀ CHATBOT
1.1 Khái niệm Chatbot
Chatbot là một phần mềm trí tuệ nhân tạo(AI) giả lập cuộc hội thoại của
con người bằng văn bản hoặc giọng nói, giúp trả lời tự động tin nhắn của con
người thông qua các ứng dụng tin nhắn trên website hoặc trên điện thoại di động.
Chatbot thường trao đổi với người dùng qua hình thức văn bản hoặc âm
thanh. Do được thiết kế để mơ phỏng cách trị chuyện với con người, các hệ thống
Chatbot thường phải điều chỉnh và thử nghiệm liên tục.
Chatbot thường được sử dụng trong các hệ thống hội thoại cho các mục
đích khác nhau bao gồm dịch vụ khách hàng, định tuyến yêu cầu hoặc để thu thập
thông tin. Mặc dù một số ứng dụng Chatbot sử dụng các phương pháp phân loại
từ (word- classification), xử lý ngôn ngữ tự nhiên (NLP) và trí tuệ nhân tạo (AI),
một số ứng dụng khác chỉ cần quét các từ khóa chung và tạo phản hồi bằng các
cụm từ phổ biến thu được từ thư viện hoặc cơ sở dữ liệu liên quan.
Ngày nay, hầu hết các Chatbot được truy cập trực tuyến thông qua cửa sổ
popup của các trang web hoặc thông qua các trợ lý ảo như Google Assistant,
Amazon Alexa hoặc các ứng dụng nhắn tin như Facebook Messenger, Telegram,

WeChat, Zalo…
Chatbot chia thành 2 loại [1] miền mở (open domain) và miền đóng (close
domain). Ứng dụng chatbot mền mở là mơ hình trả lời tự động trên khơng giới
hạn lĩnh vực, cho phép người dùng có thể tham gia trị chuyện với một chủ đề bất
kỳ, không nhất thiết phải có một mục tiêu rõ ràng hay một ý định cụ thể nào. Ứng
dụng chatbot miền đóng thường tập trung vào trả lời các câu hỏi đối thoại liên
quan đến một lĩnh vực cụ thể, ví dụ như: y tế, giáo dục, du lịch, mua sắm…
Trong luận văn này tôi sẽ tập trung vào xây dựng Chatbot thuộc loại miền
đóng, cụ thể là bài toán hỗ trợ người dùng hiểu rõ về chương trình tuyển sinh của
Trường Đại học Nội vụ Hà Nội.
1.2 Các thành phần của Chatbot
Bước đầu tiên trong việc thiết kế bất kỳ hệ thống nào là chia nó thành các
bộ phận cấu thành theo một tiêu chuẩn để có thể tuân theo cách tiếp cận phát
triển mơ đun. Trong hình dưới giới thiệu một kiến trúc chung của Chatbot.
3


Hình 1-1: Kiến trúc chung của chatbot
Ứng dụng chatbot được xây dựng từ 3 thành phần chính [2]: thành phần
hiểu ngôn ngữ tự nhiên (NLU), thành phần quản lý hội thoại (DM) và thành
phần sinh ngôn ngữ (NLG). Mỗi thành phần có một tác vụ riêng biệt:
- NLU: Là quá trình xử lý để hiểu ngơn ngữ tự nhiên, thành phần giúp
Chatbot hiểu được ý định người dùng (intent) và trích xuất các thực thể (entity)
trong câu. Khi người dùng nhập câu hỏi “Học phí ngành luật là bao nhiêu?”
Chatbot sẽ cần xử lý, bởi vì Chatbot khơng hiểu được ngơn ngữ của con người do
đó NLU sẽ chuyển nó thành dữ liệu có cấu trúc, từ đó có thể phân tích câu hỏi
trên với ý định là “hỏi học phí”, thực thể sản phẩm “ngành luật”
- DM: Quản lý hội thoại có nhiệm vụ xác định được hành động (action)
tiếp theo dựa vào trạng thái hành động trước đó hoặc ngữ cảnh của hội thoại. Các
ngữ cảnh của hội thoại sẽ được học qua kịch bản xây dựng sẵn (story). Xử lý truy

xuất dữ liệu từ hệ thống khác thông qua các API/Data sources cũng sẽ được thực
hiện trong thành phần này.
- NLG: Là thành phần bao gồm nhiều mẫu câu trả lời đã được định nghĩa
trước và phụ thuộc vào hành động được dự đoán ở DM kết hợp với chính sách
(policy) của hệ thống để đưa ra câu trả lời cho người dùng. Ví dụ ở câu hỏi “Học phí
ngành luật là bao nhiêu?” ta sẽ định nghĩa trước mẫu câu “Chào bạn, học phí hiện tại
ngành{ma_nganh} là {gia_hoc_phi} nhé”, và ở thành phần DM hệ thống sẽ lấy
được thông tin mã ngành thông qua NLU và gọi đến API của hệ thống khác

để lấy thông tin học phí, từ đó kết quả NLG trả về sẽ là “Chào bạn, học phí hiện
tại ngành luật là 387.000 đồng/1 tín chỉ.”
4


1.3 Một số phân loại khác về Chatbot
1.3.1 Chatbot dựa trên luật (Rules Based Chatbot)
Rule-based Chatbot [2] (Chatbot dạng menu/button) là Chatbot dựa theo
luật được đề ra sẵn, người dùng không được phép tùy ý phản hồi mà phải lựa
chọn các phản hồi do lập trình viên đã tạo ra, là một dạng Chatbot trở nên nổi
tiếng sau khi Facebook cho ra mắt nền tảng Messenger cho phép cá nhân hoặc
doanh nghiệp tạo ra bot hỗ trợ khách hàng tự động. Xây dựng Chatbot theo Rulebased là việc định nghĩa các luật hoặc đưa ra các mẫu có trước mà Chatbot muốn
hướng đến, để thao tác với Chatbot ứng dụng sẽ sử dụng cả nút bấm, thanh menu
hoặc hệ thống điều hướng để người dùng lựa chọn. Giống với việc gọi điện đến
tổng đài hỗ trợ khách hàng ta cần chọn ngơn ngữ, chọn phịng ban phụ trách sau
đó mới được chuyển hướng đến hỗ trợ viên thích hợp, Rule-based Chatbot cũng
hoạt động như vậy chỉ khác là sẽ hiển thị các nút bấm hoặc menu trên cửa sổ
chat.

Hình 1-2: Chatbot hỗ trợ nút bấm để thao tác của Pizza Hut
Hình phía trên là ví dụ của Chatbot dạng menu/button, đây là ảnh của

Chatbot hệ thống cửa hàng Pizza Hut trên ứng dụng Messenger Facebook, người
dùng có thể sử dụng để đặt hàng, theo dõi đơn hàng hoặc liên hệ hỗ trợ thơng qua
điều hướng menu. Ví dụ nếu người dùng ấn nút “Customer support” cuộc trò
5


chuyện sẽ được chuyển hướng đến hỗ trợ viên trực tiếp. Lợi thế của Rule-based
Chatbot so với các loại Chatbot khác là hiển thị được tất cả các lựa chọn, giúp
người dùng đưa ra quyết định chính xác mà khơng cần suy nghĩ sẽ hỏi như thế
nào và câu hỏi đó Chatbot có hiểu được khơng. Rule-based Chatbot được sử
dụng khi người dùng muốn thực hiện một hành động cụ thể, ví dụ đặt vé máy
bay, đặt vé xem phim.
Rule-based Chatbot cũng sẽ dễ dàng cập nhật hơn, thay vì việc phải huấn
luyện lại Chatbot mỗi khi có dữ liệu mới, ta chỉ cần thêm nút hoặc menu và câu
phản hồi cho chủ đề mới đó, Chatbot cũng khơng cần phải training. Chatbot cũng
sẽ không gặp trường hợp không hiểu ý định của khách hàng, với việc thiết kế
thêm nút chọn “Liên hệ trực tiếp” sẽ dẫn khách hàng đến nhân viên hỗ trợ trong
trường hợp khơng tìm thấy lựa chọn phù hợp ở giao diện chat. Một số nền tảng
giúp xây dựng Rule-based Chatbot như Manychat, Chatfuel, Botsify…
Bên cạnh những ưu điểm nêu trên, Rule-based Chatbot cũng gặp phải hạn
chế, một trong những hạn chế là không thể trả lời câu hỏi khách hàng mà Chatbot
không được định nghĩa trước. Khách hàng cần đi qua nhiều bước mới đến được
câu trả lời phù hợp, do vậy trong vài trường hợp sẽ ảnh hưởng đến trải nghiệm
người dùng.
1.3.2. Chatbot dựa trên trí tuệ nhân tạo và học máy (AI and Machine
learning)
Khác với Rule-based Chatbot, AI-based Chatbot không sử dụng các
menu/button để điều hướng người dùng, thay vào đó sử dụng trí tuệ nhân tạo AI
để xử lý tin nhắn và phản hồi đến người dùng. Khoảng 5 năm trở lại đây, trí tuệ
nhân tạo phát triển mạnh mẽ, Chatbot cũng được trang bị thêm cơng nghệ trí tuệ

nhân tạo và cơng nghệ học máy giúp Chatbot có khả năng tự học từ những cuộc
trò chuyện thực tế với người dùng để trở nên thông minh hơn theo thời gian.
Công nghệ xử lý ngôn ngữ tự nhiên NLP giúp Chatbot AI hiểu ý định trong câu
nói của người dùng và đưa ra những phản hồi chính xác. Người dùng khơng phải
nhập những câu rập khn máy móc để giao tiếp với Chatbot mà hồn tồn có
thể diễn tả ý định theo cách của riêng mình. Nhờ xác định các từ khóa, các biến
trong câu nói của người dùng mà Chatbot thơng minh hiểu và đối đáp linh hoạt
6


với người dùng. Bên cạnh đó, Chatbot AI có khả năng tích hợp nhiều tính năng
tiện ích bổ sung, nhằm giải quyết đa dạng các bài toán của doanh nghiệp. Chatbot
khơng những có thể tư vấn, cung cấp thơng tin về các sản phẩm dịch vụ của
doanh nghiệp, mà Chatbot cịn có thể thực hiện nhiều tác vụ như thu thập thông
tin khách hàng, đặt hàng, đặt lịch hẹn.
1.3.3. Chatbot phạm vi đóng (Close – domain)
Phạm vi của Chatbot chỉ giải quyết một số vấn đề trong phạm vi nhất định.
Ví dụ: Khách hàng mua ơ tơ, tư vấn khách hàng mua bảo hiểm nhân thọ, dự báo
thời tiết… Chatbot này phổ biến, dữ liệu huấn luyện trong phạm vi nhỏ nên dễ
huấn luyện, độ chính xác cao.
1.3.4. Chatbot phạm vi mở (Open – domain)
Chatbot phạm vi mở là mục tiêu của trí tuệ nhân tạo. Một Chatbot biết mọi
thứ và có thể trả lời mọi vấn đề. Rất nhiều Chatbot thông minh được tạo ra. Tuy
nhiên trả lời mọi vấn đề và vượt qua được Turing test thì vẫn chưa thể đạt tới.
1.4.

Một số nền tảng công nghệ xây dựng Chatbot
Chatbot đã khơng cịn khái niệm xa lạ với người dùng Internet nói chung

và các doanh nghiệp nói riêng. Hiện nay nhiều nền tảng xây dựng Chatbot được

ra đời, hỗ trợ người dùng giao diện trực quan và khả năng đưa ra câu trả lời phù
hợp với câu hỏi của người dùng một cách chính xác như Chatfuel, FPT.AI
Conversation, Harafunnel…Hoặc doanh nghiệp có thể tự xây dựng hệ thống
Chatbot dựa trên các framework nổi tiếng như Rasa, Dialogflow…Sau đây là một
số nền tảng Chatbot nổi tiếng trên thế giới mà bất kỳ cá nhân hoặc doanh nghiệp
nào cũng có thể tiếp cận:

a. Một số nền tảng trả phí
- FPT.AI Conversation [11]: là nền tảng trí tuệ nhân tạo được Bộ Thông
tin và Truyền thông trao Giải thưởng Sản phẩm công nghệ số Made in Vietnam
năm 2020. FPT.AI Conversation cung cấp nền tảng tạo và quản lý Chatbot với
giao diện người dùng. Được trang bị Machine Learning và NLP, Chatbot của
FPT.AI có thể hiểu được ý định và yêu cầu của khách hàng. Người quản lý các
ứng dụng phần mềm tự động hóa trên mạng (Bot) có thể theo dõi tất cả các cuộc
trò chuyện trong lịch sử và nhanh chóng đào tạo Bot với thơng tin mới để cung 7


cấp cho khách hàng lời khuyên chính xác nhất. Phân hệ quản lý hội thoại cho
phép Chatbot theo dõi nhiều chủ đề trò chuyện cùng lúc, theo dõi từng bước đi
của khách hàng, từ đó có thể hiểu và tương tác với khách hàng một cách thân
thiện, tự nhiên.
- AimeFluent [12]: là nền tảng tự động chăm sóc khách hàng, Chatbot, tự
động sinh hội thoại trong hệ sinh thái phần mềm trí tuệ nhân tạo đa thể thức
Aimenicorn. AimeFluent được ứng dụng trong nhiều lĩnh vực: Tư vấn, tài chính ngân hàng, giáo dục, du lịch, thương mại điện tử, pháp luật... AimeFluent sử
dụng kết hợp nhiều công nghệ khác nhau để sinh ra câu trả lời hợp lý: Công nghệ
dựa trên luật (rule-based), cơng nghệ tìm kiếm câu tương tự, phân tích ý định
người nói.

b. Một số nền tảng miễn phí
- Chatfuel [13]: là một trong những nền tảng được thành lập từ năm 2015

tại Mỹ dành cho ứng dụng Messenger của Facebook. Là một trong những nền
tảng có giao diện “sạch sẽ” và trình tạo luồng trực quan để xây dựng và tùy chỉnh
theo mong muốn và có một số chức năng cơ bản như: Trả lời inbox tự động theo
kịch bản, chat trực tuyến với khách hàng, gửi inbox hàng loạt, tự động trả lời
comment, quản lý và chăm sóc khách hàng. Giao diện của Chatfuel gồm trình tạo
khối và trình tạo luồng trực quan. Tính đến tháng 6/2018 đã có hơn 200.000
Chatbot được tạo ra bằng cách sử dụng Chatfuel và phục vụ hơn 145 triệu người
dùng trên toàn cầu.
- DialogFlow [14]: là một dịch vụ của Google hoạt động trên nền tảng
đám mây của Google. DialogFlow là một công cụ trực quan và thân thiện với
người dùng, bao gồm một số sản phẩm của Google như Google Cloud Speech-toText và kiến thức chuyên môn về học máy của Google. Nó chủ yếu được sử dụng
để xây dựng các hành động cho hầu hết các thiết bị có trợ lý Google. DialogFlow
được định nghĩa là một nền tảng NLP (xử lý ngôn ngữ tự nhiên), được sử dụng
để phát triển một ứng dụng liên quan đến các cuộc trò chuyện và trải nghiệm cho
khách hàng của công ty bằng các ngôn ngữ khác nhau trên nhiều nền tảng.
- Rasa [15]: là một framework học máy mở để tự động trả lời bằng văn bản hoặc
giọng nói dựa trên cuộc hội thoại. Rasa là một mã nguồn mở nên được hỗ trợ rất
nhiều từ các thành viên trên thế giới thông qua diễn đàn của họ và luôn 8


ln cập nhật các phiên bản mới nhanh chóng. Rasa cung cấp trí tuệ nhân tạo
đàm thoại linh hoạt để tạo văn bản và trợ lý dựa trên giọng nói; được sử dụng bởi
các nhà phát triển, nhóm trị chuyện và doanh nghiệp.
Để lựa chọn một nền tảng Chatbot phù hợp với chắc hẳn mỗi doanh
nghiệp, cơ quan, tổ chức sẽ có những tiêu chí riêng như xem xét mức độ dễ dùng,
chi phí sử dụng, mức độ bảo mật hoặc thậm chí là cả khả năng tùy chỉnh và bảo
trì. Dưới đây là bảng so sánh 03 bền tảng của Chatbot:
Bảng 1. 1: So sánh cơ bản 03 nền tảng: Chatbot Chatfuel, Dialogflow và Rasa

Tiêu chí


Chatfuel

DialogFlow

Cài đặt

Khơng cần cài đặt, chỉ cần đăng ký và sử
dụng trực tiếp trên nền tảng trên web

Rasa
Cài đặt khá phức tạp,
đòi hỏi phải có kiến
thức về cơng nghệ
thơng tin

Lưu trữ
dữ liệu

Trên máy chủ của
Chatfuel

Trên máy chủ của
Google

Có thể lưu tại máy chủ
của doanh nghiệp

Triển
khai đa


Website, Facebook,
Instagram

Website, Facebook,

Khả năng tích hợp khó
với các nền tảng khác

kênh

nhau

Mức độ
thơng

Chỉ có thể nhận ra
các từ khóa và dựa

Mơ hình NLU nhưng
cũng chủ yếu dựa trên

minh

trên những từ khóa

các từ khóa

đó đưa ra một phản
hồi nhất định

Mức độ
thân

Giao diện trực quan,
dễ sử dụng cho đối

Giao diện phức tạp, Cần kiến thức lập trình
nhưng cũng khơng cần

thiện với

tượng người dùng

lập trình

người

phổ thơng

dùng
Chi phí
sử dụng

Gói miễn phí được
sử dụng với dưới 50

Được định giá hàng
tháng dựa trên phiên

Vì là mã nguồn mở

nên chúng ta có thể tùy
9



×