Tải bản đầy đủ (.pdf) (72 trang)

Luận văn thạc sĩ xây dựng ứng dụng chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu

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 (11.45 MB, 72 trang )

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

LUẬN VĂN THẠC SĨ
Xây dựng ứng dụng Chatbot tư vấn khách hàng
sử dụng các kỹ thuật học sâu

NGUYỄN ĐẮC HIẾU
Ngành Công nghệ thông tin

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

PGS.TS. Cao Tuấn Dũng

Viện:

Công nghệ thông tin và truyền thông

HÀ NỘI, 2021

n


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

LUẬN VĂN THẠC SĨ
Xây dựng ứng dụng Chatbot tư vấn khách hàng
sử dụng các kỹ thuật học sâu

NGUYỄN ĐẮC HIẾU
Ngành Công nghệ thông tin


Giảng viên hướng dẫn: PGS.TS. Cao Tuấn Dũng
Viện:

Chữ ký của GVHD

Công nghệ thông tin và truyền thông

HÀ NỘI, 2021

n


CỘNG HÒA 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 : Nguyễn Đắc Hiếu

Đề tài luận văn: Xây dựng ứng dụng Chatbot tư vấn khách hàng sử dụng
các kỹ thuật học sâu
Chuyên ngành: Công nghệ thông tin

Mã số HV: CB190157
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/10/2021 với các nội dung sau:
1. Sửa Chương 4: Kết luận thành một phần không đánh số (trang 58).
2. Giản lược nội dung Chương 2: Cơ sở lý thuyết.
3. Việt hóa các từ tiếng Anh (Mục 2.3 – trang 17-24, Mục 2.4 – trang
25-31).

4. Bổ sung khái niệm học chuyển giao (Mục 2.4.2 – trang 27)
5. Bổ sung mơ hình tổng qt quy trình hoạt động của Chatbot (Mục
3.3.2 – trang 40), thống kê kết quả (Hình 3.18-3.21 – trang 53-56)
6. Đánh số các cơng thức, sửa các lỗi về trình bày ngơn ngữ, chính tả
cho hợp lý, ví dụ sửa “đào tạo mơ hình” thành “huấn luyện mơ hình”.
Ngày
Giáo viên hướng dẫn

CHỦ TỊCH HỘI ĐỒNG

n

tháng năm 2021
Tác giả luận văn


LỜI CAM ĐOAN
Tôi xin cam đoan: Luận văn “Xây dựng ứng dụng Chatbot tư vấn khách
hàng sử dụng các kỹ thuật học sâu” là cơng trình nghiên cứu khoa học, độc lập
của tơi. Kiến thức trình bày trong luận văn là sự tổng hợp của cá nhân, thông qua
các kiến thức từ thầy hướng dẫn, các tài liệu tham khảo trên mạng internet và các
bài báo khoa học khác.
Đây là đề tài luận văn Thạc sỹ ngành Công nghệ Thông tin. Kết quả nghiên
cứu được trình bày trong luận văn này chưa từng được cơng bố dưới bất kỳ hình
thức nào.
Hà Nội, ngày tháng

năm 2021

Tác giả luận văn


Nguyễn Đắc Hiếu

n


LỜI CẢM ƠN
Trước tiên, tôi xin chân thành cảm ơn các thầy, các cô trong Viện Công nghệ
thông tin và Truyền thông - Trường Đại học Bách Khoa Hà Nội đã tận tình giảng
dạy trong suốt thời gian tơi học tập ở trường. Để hoàn thành Luận văn thạc sĩ, tôi
cũng đã nhận được nhiều sự quan tâm, giúp đỡ từ q thầy cơ, gia đình và bạn bè.
Đặc biệt tơi bày tỏ lịng biết ơn sâu sắc tới thầy PGS.TS. Cao Tuấn Dũng
đã tận tình chỉ bảo, hướng dẫn trực tiếp tơi để tìm ra hướng nghiên cứu và có thể
hồn thiện luận văn tốt nghiệp của mình.
Cuối cùng, tơi xin cảm ơn gia đình và bạn bè và tập thể lớp CNTT 2019B đã
luôn ủng hộ, giúp đỡ tôi trong thời gian học tập, nghiên cứu và thực hiện luận văn
tốt nghiệp.
Trong quá trình làm luận văn tốt nghiệp chắc chắn khơng tránh khỏi những
sai sót, tơi rất hoan nghênh và chân thành cảm ơn các ý kiến đóng góp của q
thầy cơ và bạn đọc.

Tác giả luận văn

Nguyễn Đắc Hiếu

n


MỤC LỤC
DANH MỤC CÁC HÌNH VẼ ...................................................................iii

DANH MỤC BẢNG .................................................................................... v
MỞ ĐẦU ...................................................................................................... 1
CHƯƠNG 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 .................................................................... 4
1.3 Các loại Chatbot ......................................................................................... 5
1.3.1 Rule-based Chatbot ............................................................................... 5
1.3.2 AI-based Chatbot .................................................................................. 7
1.4 Các nền tảng xây dựng Chatbot ............................................................... 8
1.5 Một số ứng dụng của Chatbot................................................................. 11

CHƯƠNG 2: 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 ..................................................................... 14
2.3 Mơ hình Transformer .............................................................................. 17
2.3.1 Tổng quan mơ hình Transformer ........................................................ 17
2.3.2 Thành phần mã hóa............................................................................. 18
2.3.3 Thành phần giải mã ............................................................................ 23
2.3.4 Ưu điểm của mơ hình Transformer so với mơ hình RNN ................... 24
2.4 Mơ hình DIET .......................................................................................... 25
2.4.1 Đặc trưng hóa câu đầu vào (Featurization) ....................................... 27
2.4.2 Học chuyển giao (Transfer Learning) ................................................ 27
2.4.3 Thành phần Transformer .................................................................... 29
2.4.4 Huấn luyện mơ hình ............................................................................ 29
2.4.5 Đánh giá mơ hình DIET ...................................................................... 31

CHƯƠNG 3: XÂY DỰNG VÀ CÀI ĐẶT ỨNG DỤNG CHATBOT .. 33
3.1 Giới thiệu Rasa Framework .................................................................... 33
3.2 Cấu trúc của Chatbot Nhất Nam ............................................................ 35
i


n


3.2.1 Thiết kế tổng quát ............................................................................... 35
3.2.2 Sơ đồ quy trình hoạt động của Chatbot Nhất Nam............................. 37
3.3 Xây dựng dữ liệu Chatbot ....................................................................... 39
3.3.1 Xây dựng ý định (intent) ..................................................................... 39
3.3.2 Xây dựng thực thể (entity)................................................................... 40
3.3.3 Xây dựng câu trả lời cho Chatbot....................................................... 41
3.3.4 Cấu hình các thành phần .................................................................... 44
3.4 Cài đặt chương trình ............................................................................... 46
3.5 Thử nghiệm và đánh giá chương trình .................................................. 51

KẾT LUẬN ................................................................................................ 58
TÀI LIỆU THAM KHẢO ........................................................................ 59

ii

n


DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Minh họa các thành phần của Chatbot [3] ............................................. 5
Hình 1.2. Chatbot hỗ trợ nút bấm để thao tác của Domino’s Pizza ....................... 6
Hình 1.3. Giao diện nền tảng Chatbot FPT.AI Conversation ................................ 9
Hình 1.4. Giao diện nền tảng Chatbot Harafunnel............................................... 10
Hình 1.5. Chatbot Messenger của trang CNN ..................................................... 12
Hình 2.1. Mạng nơ-ron hồi quy [5] ...................................................................... 14
Hình 2.2. Sơ đồ mơ hình Transformer [8] ........................................................... 18

Hình 2.3 Minh họa biểu đồ nhiệt Positional Encoding ........................................ 20
Hình 2.4. Minh họa mức độ liên kết giữa các từ [10] .......................................... 21
Hình 2.5. 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 [8] ...................................................................................................... 25
Hình 2.6. Sơ đồ mơ hình DIET [13] .................................................................... 26
Hình 2.7. Minh họa so sánh sử dụng và không sử dụng học chuyển giao ........... 28
Hình 2.8. So sánh mơ hình DIET và mơ hình HERMIT [13] .............................. 32
Hình 2.9. Đánh giá các biến thể của mơ hình DIET [13] .................................... 32
Hình 3.1. Sơ đồ các thành phần trong Rasa Framework...................................... 33
Hình 3.2. Cấu trúc hệ thống Chatbot Nhất Nam .................................................. 36
Hình 3.3. Sơ đồ quy trình hoạt động của Chatbot Nhất Nam .............................. 37
Hình 3.4. Giao diện Rasa X sử dụng tạo kịch bản ............................................... 39
Hình 3.5. Khai báo intent trong file nlu.yml ........................................................ 40
Hình 3.6. Khai báo entity trong file domain.yml ................................................. 41
Hình 3.7. Khai báo intent có chứa entity trong file nlu.yml ................................ 41
Hình 3.8. Khai báo Rule policy trong file rules.yml ............................................ 42
Hình 3.9. Khai báo kịch bản trong file stories.yml .............................................. 43
Hình 3.10. Hàm xử lý sau khi hồn thành nhập Form liên hệ ............................. 44
Hình 3.11. Khai báo cấu hình trong file config.yml ............................................ 46
Hình 3.12 Giao diện hỗ trợ nút bấm để thao tác .................................................. 47
iii

n


Hình 3.13. Người dùng có thể bấm nút để trả lời (hình bên trái) hoặc nhập tin
nhắn (hình bên phải) ............................................................................................ 48
Hình 3.14 Trường hợp nhập form liên hệ............................................................ 49
Hình 3.15. Trường hợp form bị gián đoạn (hình bên trái) Trường hợp từ chối
nhập form (hình bên phải) ................................................................................... 50

Hình 3.16. Trường hợp Chatbot không hiểu ý người dùng ................................. 51
Hình 3.17. Biểu đồ thống kê mức độ tin cậy dự đốn ý định (intent) ................. 53
Hình 3.18. Biểu đồ thống kê mức độ tin cậy dự đoán thực thể (entity) .............. 53
Hình 3.19. 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 ......................................................... 54
Hình 3.20. Biểu đồ ma trận nhầm lẫn (Confusion matrix) giữa các nhãn dự đốn
và nhãn đúng trong tác vụ trích xuất thực thể...................................................... 55
Hình 3.21. Thang đo so sánh điểm intent của 3 cấu hình .................................... 56
Hình 3.22. Thang đo so sánh điểm entity của 3 cấu hình .................................... 56

iv

n


DANH MỤC BẢNG

Bảng 3.1. Thông số đo intent ............................................................................... 52
Bảng 3.2. Thông số đo entity ............................................................................... 52
Bảng 3.3. Kết quả so sánh điểm intent của 3 cấu hình ........................................ 56
Bảng 3.4. Kết quả so sánh điểm entity của 3 cấu hình ........................................ 57

v

n


n



MỞ ĐẦU
1. Đặt vấn đề
Ngày nay cơng nghệ có mặt trên mọi lĩnh vực, việc số hóa giúp cho con người
giảm thiếu những công việc lặp đi lặp lại, giúp cơng việc được hoạt động chính
xác và năng suất hơn. Chatbot cũng là một mảng quan trọng trong công nghệ thơng
tin hiện nay, nó có mặt trong mọi lĩnh vực như kinh doanh, ngân hàng, du lịch,
giáo dục, y tế...
Do đặc thù công việc của tôi hoạt động chủ yếu về chuyên ngành kế toán,
nên mỗi ngày đội ngũ nhân viên tư vấn đều tiếp nhận hàng trăm, hàng nghìn tin
nhắn từ phía khách hàng liên quan đến hướng dẫn sử dụng, tư vấn, bán hàng và hỗ
trợ bảo trì nâng cấp sản phẩm. Để đảm bảo khách hàng luôn nhận được sự hỗ trợ
tốt nhất, doanh nghiệp cần tuyển thêm nhân viên hỗ trợ và thời gian để tập huấn
một người thông thường là 1 tháng. Với sự hỗ trợ của Chat-bot sẽ giúp trả lời được
những câu hỏi thường gặp của khách hàng, có khả năng hoạt động 24/7 và phản
hồi khách hàng ngay lập tức, đồng thời giảm tải khối lượng công việc của nhân
viên hỗ trợ và giúp doanh nghiệp tiết kiệm chi phí.
Hiểu được tầm quan trọng đó, tơi đã chọn đề tài “Xây dựng ứng dụng
Chatbot tư vấn khách hàng sử dụng các kỹ thuật học sâu” bằng những kiến thức
tìm hiểu được và với tinh thần hăng say, nghiêm túc.
2. Mục tiêu nghiên cứ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ợ khách hàng.
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 (closed
domain) 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.
Với bài tốn đối tượng nghiên cứu là đơn vị cung cấp dịch vụ phần mềm kế
tốn, luận văn sẽ tập trung xây dựng mơ hệ thống Chatbot hỗ trợ người dùng trong


1

n


nghiệp vụ tư vấn hỗ trợ sử dụng phần mềm dựa vào 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 đề tài
- Nghiên cứu các phương pháp xử lý ngôn ngữ tự nhiên phù hợp cho Chatbot
hướng tới.
- Nghiên cứu mơ hình học sâu Transformer.
- Nghiên cứu mơ hình đa tác vụ DIET.
- Thu thập và tổng hợp các câu hỏi đáp của khách hàng trước đó để 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 Website doanh nghiệp.
4. Cấu trúc luận văn
CHƯƠNG 1: TỔNG QUAN VỀ CHATBOT: Chương này sẽ giới thiệu
những kiến thức tổng quan về một 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: Chương này giới thiệu khái niệm về
mạng nơ-ron thần kinh nhân tạo, khái niệm deeplearning, nghiên cứu mơ hình học
sâu Transformer và DIET.
CHƯƠNG 3: XÂY DỰNG VÀ CÀI ĐẶT ỨNG DỤNG CHATBOT:
Chương này sẽ giới thiệu Rasa framework, mô tả sơ đồ cấu trúc của hệ thống
Chatbot Nhất Nam, mô tả các bước xây dựng bài toán trên nền tảng mã nguồn mở
Rasa và đánh giá kết quả thực nghiệm.
CHƯƠNG 4: KẾT LUẬN: Chương này đưa ra những kết luận của q trình
nghiên cứu và hồn thiện sản phẩm, đánh giá và định hướng nghiên cứu tiếp theo.

TÀI LIỆU THAM KHẢO: Liệt kê các tài liệu mà luận văn tham khảo trên
các nguồn khác nhau.

2

n


CHƯƠNG 1: 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 có khả năng tương tác với khách hàng qua tin nhắn theo thời gian
thực 24/7, do đó, khách hàng sẽ khơng phải chờ đợi lâu để nhận được sự hỗ trợ từ
doanh nghiệp. Ngày nay, con người có xu hướng tương tác với nhau qua các nền
tảng nhắn tin. Theo thống kê của Facebook Messenger đầu năm 2020, hơn 61% số
khách hàng được hỏi cho rằng, nhắn tin là cách thuận tiện giúp nhanh chóng kết
nối với các doanh nghiệp họ cần. Tại Việt Nam, Zalo là ứng dụng trị chuyện có
nhiều người sử dụng nhất với hơn 100 triệu tài khoản. Do đó, việc sở hữu
một Chatbot được tích hợp đa kênh truyền thơng là thiết yếu đối với mọi doanh
nghiệp.
Cũng bởi Chatbot hỗ trợ con người thực hiện tự động các công việc tốn nhiều
thời gian nhất, giúp các doanh nghiệp tiết kiệm được khoản chi phí lớn cho nhân
sự. Đội ngũ nhân viên được tối ưu nhiệm vụ, tập trung xử lý các cơng việc chun
sâu ở mức độ khó hơn. Ngày nay Chatbot là một chủ đề nóng và nhiều cơng ty
đang hy vọng phát triển để có những cuộc trị chuyện tự nhiên không thể phân biệt
với con người bằng các kỹ thuật NLP và Deep Learning để biến điều này thành
hiện thực.
Chatbot chia thành 2 loại [1] miền mở (open domain) và miền đóng (close

domain). Miền mở là mơ hình trả lời tự động cho phép người dùng có thể tham gia
trò chuyện với bất kỳ chủ đề nào, 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. Miền đóng thường tập trung vào một chủ đề cụ thể ví
dụ: thời tiết, du lịch, mua sắm, y tế… 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 tốn hỗ trợ khách hàng mua hàng,
tư vấn và hướng dẫn sử dụng.
3

n


1.2 Các thành phần của Chatbot
Chatbot thông thường cấu thành 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 xử lý 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 “Giá sản phẩm A03 bao nhiêu?” Chatbot sẽ cần xử
lý, bởi vì Chatbot khơng hiểu được ngơn ngữ con người cho 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
giá”, thực thể là sản phẩm “A03”.
- 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 dựng sẵn (story). Xử lý truy xuất dữ
liệu từ hệ thống khác thông qua API hoặc xử lý logic trong hội thoại 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 (pre-defined template) 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 “Giá sản phẩm A03 bao nhiêu?”, ta sẽ định nghĩa trước mẫu câu

“Chào anh chị, giá sản phẩm {ma_san_pham} giá {gia_tien} ạ”, và ở thành phần
DM hệ thống sẽ lấy được thông tin mã sản phẩm thông qua NLU và gọi đến API
của hệ thống khác để lấy giá tiền, từ đó kết quả NLG trả về sẽ là “Chào anh chị,
giá sản phẩm A03 giá 300.000đ”.

4

n


Hình 1.1. Minh họa các thành phần của Chatbot [3]

1.3 Các loại Chatbot
1.3.1 Rule-based Chatbot
Rule-based Chatbot tạm dịch là Chatbot dựa theo luật được đề ra sẵn, hay
còn được gọi là Chatbot dạng menu/button, 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 Rule-based
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.

5

n



Hình 1.2. Chatbot hỗ trợ nút bấm để thao tác của Domino’s Pizza
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 Domino’s Pizza 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ò
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
6

n


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 AI-based Chatbot

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 khuôn 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 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.

7

n


1.4 Các nền tảng xây dựng Chatbot
Chatbot đã khơng cịn là 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 vào các framework nổi tiếng như Microsoft Bot Framework, 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:
Chatfuel
Chatfuel ra đời vào mùa hè năm 2015 với mục tiêu làm cho việc xây dựng
bot trở nên dễ dàng với bất kỳ ai. Hiện Chatfuel là nền tảng hàng đầu để xây dựng
bot trên Facebook Messenger, tự động hóa giao tiếp với con người thơng qua các
ứng dụng nhắn tin. Các tính năng cơ bản của Chatfuel bao gồm: tạo Chatbot tự
động trả lời tin nhắn khách hàng, tạo quảng cáo Facebook tiếp thị lại cho những
người dùng đã tương tác với Fanpage của bạn, hỗ trợ lọc danh sách khách hàng
tiềm năng thông qua lịch sử trò chuyện với khách hàng.
Ưu điểm của Chatfuel khiến nền tảng này trở nên thu hút phải kể đến là bản
dùng thử hồn tồn miễn phí. Việc thiết lập Chatbot trên nền tảng này cũng rất
đơn giản vì khơng cần phải lập trình, mà dễ dàng tạo bot nhờ vào các thư viện
mẫu. Ngồi tích hợp trên Facebook, Chatfuel cịn tích hợp được với các ứng dụng
mạng xã hội khác như Instagram, Twitter, Youtube…
Các khách hàng của Chatfuel, bao gồm từ các doanh nghiệp vừa và nhỏ đến
các thương hiệu dễ nhận biết nhất trên thế giới. Một số khách hàng lớn nhất như
Adidas, T - Mobile, LEGO.
FPT.AI Conversation
Nền tảng tạo Chat-bot FPT.AI Conversation là sản phẩm được FPT đặc biệt
đầu tư phát triển. Là nền tảng tạo lập Chatbot ứng dụng trí tuệ nhân tạo với các
8

n


công nghệ học máy và xử lý ngôn ngữ tự nhiên tiên tiến nhất, FPT.AI Conversation
cho phép người tạo bot xây dựng các kịch bản trò chuyện khác nhau với khách
hàng và theo dõi lịch sử trò chuyện để Chatbot có thể hiểu và tương tác với khách

hàng một cách tự nhiên, thân thiết. Chatbot tích hợp trên các giao diện nhắn tin
phổ biến như Facebook Messenger, Zalo, livechat trên website hoặc bất kì ứng
dụng, giao diện trị chuyện sẵn có nào của doanh nghiệp.

Hình 1.3. Giao diện nền tảng Chatbot FPT.AI Conversation
Harafunnel
Là một sản phẩm của tập đoàn Haravan, là nền tảng công nghệ hỗ trợ người
dùng tự tạo Chatbot trên nền tảng Facebook Messenger và website của doanh
nghiệp. Chat-bot sẽ tự động trả lời theo tình huống thiết lập trước. Chatbot được
xây dựng trên nền tảng Harafunnel sẽ có thêm chức năng tạo ra phễu bán hàng tự
động, để lọc và đánh giá các khách hàng tiềm năng.
Với cơng cụ Chatbot này, doanh nghiệp có thể thu thập dữ liệu khách hàng
đa kênh, chăm sóc khách hàng tự động 24/7 và có thể thiết lập quy trình marketing
hồn tồn tự động miễn phí. Các tính năng chính của Harafunnel là gửi tin nhắn
hàng loạt cho người dùng đã gửi tin nhắn cho Fanpage hồn tồn miễn phí, tự động
khởi tạo quảng cáo Facebok để tiếp thị lại khách hàng tiềm năng đã tương tác với
Fanpage nhưng chưa mua hàng, ẩn bình luận thơng minh chống tình trạng mất
khách, tự động trả lời tin nhắn, bình luận khách hàng theo kịch bản soạn sẵn và tự
động phân loại khách hàng, quản lý bán hàng hiệu quả trên mạng xã hội.
9

n


Hình 1.4. Giao diện nền tảng Chatbot Harafunnel
Dialogflow
Dialogflow là Chatbot sử dụng AI do Google cung cấp nhằm giúp các lập
trình viên dễ dàng hơn khi lập trình các sản phẩm có giao tiếp giữa người dùng với
Chatbot thơng qua các đoạn hội thoại bằng văn bản hoặc giọng nói. Với Dialogflow
các nhà phát triển có thể tạo ra Chatbot thông minh sử dụng kỹ thuật học máy của

Google nghiên cứu và thử nghiệm trên lượng dữ liệu khổng lồ của họ, hiểu được
sắc thái của ngôn ngữ và sẽ có khả năng học hỏi, ngày càng được cải thiện theo
thời gian.
Dialogflow có thể dễ dàng khởi chạy trên nhiều kênh trò chuyện như Google
Assistant, Facebook Messenger, Telegram, Skype, Line… Điểm mạnh của
Dialogflow là cung cấp SDK cho 14 ngôn ngữ lập trình giúp nhà phát triển dễ dàng
lập trình, hỗ trợ trên 20 ngơn ngữ trên thế giới, có khả năng phân tích sắc thái của
cuộc trị chuyện và đặc biệt dễ hiểu và học đối với người mới tiếp cận.

10

n


1.5 Một số ứng dụng của Chatbot
Ngày nay Chatbot có thể xuất hiện ở bất kì lĩnh vực nào, là bàn đẩy cho sự
phát triển của các doanh nghiệp. Nó giúp nâng cao trải nghiệm khách hàng bằng
cách hiện diện ở các kênh khách hàng thường xuyên tiếp xúc. Dưới đây là các lĩnh
vực nổi bật Chatbot được ứng dụng:
- Chăm sóc khách hàng: Mỗi một doanh nghiệp hay cửa hàng online đều cần
có dịch vụ chăm sóc khách hàng. Nếu sử dụng phương pháp truyền thống, hiệu
suất và khả năng chăm sóc khách hàng sẽ tốn rất nhiều chi phí nhân sự và khó đạt
được độ chính xác cao.
- Giải trí: Các Chatbot giải trí trực tuyến tốt nhất dựa trên AI có thể là
Mitsuku, Rose, Insomno Bot…người dùng có thể nói chuyện với Chatbot hàng
giờ, và Chatbot sẽ trả lời các câu hỏi theo cách nhân văn nhất và hiểu được tâm
trạng của với ngôn ngữ mà người dùng đang sử dụng.
- Thời tiết: Poncho là Chatbot được thiết kế để trở thành một chuyên gia thời
tiết, ngoài dự báo thời tiết Chatbot này còn gửi các cảnh báo khi thời tiết xấu đến
với người dùng.

- Nhà hàng và các ngành bán lẻ: Khách hàng được Chatbot chào đón và được
cung cấp các tùy chọn menu như chọn vị trí chỗ ngồi, thanh tốn và được thơng
báo khi nào họ có thể bắt đầu lấy đồ ăn của họ.
- Khách sạn và Du lịch: Chatbot có thể giúp khách sạn trong một số lĩnh vực,
bao gồm quản lý thời gian, dịch vụ khách hàng và giảm chi phí nhân lực. Chatbot
được lập trình để trị chuyện với khách bằng các ngơn ngữ khác nhau, khách hàng
có thể nói chuyện bằng ngơn ngữ địa phương của mình dễ dàng hơn.
- Y tế: Chatbot này sẽ hỏi về các triệu chứng, các thông số cơ thể và lịch sử
y tế, sau đó biên soạn một danh sách các nguyên nhân gây ra hầu hết các triệu
chứng và xếp hạng chúng theo thứ tự nghiêm trọng. Chatbot có thể hướng dẫn
bệnh nhân điều trị các bệnh có thể tự chữa khỏi mà không cần đến bác sĩ.
- Hàng không: khách hàng có thể nhận tài liệu chuyến bay của mình qua tin
nhắn, hoặc email, bao gồm xác nhận đặt vé, thông báo đăng ký, thẻ lên máy bay,
và cập nhật trạng thái chuyến bay.
11

n


- Giáo dục: người dùng có thể nhắn tin yêu cầu trực tuyến vào các website,
fanpage của nhà trường để tìm hiểu về trường, giải đáp các thắc mắc như tuyển
sinh, chương trình đào tạo, chất lượng giáo dục.
- Trợ lý cá nhân: sử dụng Chatbot như một trợ lý cá nhân ảo sẽ thay đổi cuộc
sống một cách triệt để. Chúng có thể hoạt động để hỗ trợ chúng ta như một cố vấn
tài chính, kiểm sốt chi phí, kiểm tra thông tin tài khoản ngân hàng… và hỗ trợ
chúng ta quản lý tài chính hay cuộc sống một cách cá nhân hóa và an tồn.
- Đưa ra kết quả tìm kiếm, cập nhật tin tức: Các doanh nghiệp, trang báo…
có thể thiết kế những Chatbot để cung cấp thông tin thường xuyên cho người dùng,
thông tin được cập nhật thường xun giúp người dùng khơng cần phải tìm hiểu
trên trình duyệt, đồng thời giúp doanh nghiệp đưa thơng tin mới của mình đến với

khách hàng một cách nhanh chóng và hiệu quả nhất.

Hình 1.5. Chatbot Messenger của trang CNN

12

n


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Cơ bản về Deep learning
Deep learning [4] hay gọi là học sâu là tập hợp con của Machine Learning
được lấy cảm hứng từ cấu trúc và chức năng của bộ não con người. Nó có tác dụng
hỗ trợ cho máy tính tự huấn luyện chính nó để có thể thực hiện các tác vụ tương
tự như con người. Điều này chính là giúp máy tính bắt chước con người cách học
hỏi và suy nghĩ.
Các hệ thống của Deep learning có khả năng cải thiện hiệu suất của chúng
sau nhiều lần huấn luyện (training) hoặc cung cấp dữ liệu đủ lớn. Thơng thường,
những máy móc đã được huấn luyện đủ sự tin cậy thì sẽ được mang đi phục vụ
cho những công việc như: lái xe, phát hiện cỏ dại,…
Ứng dụng của Deep learning hỗ trợ cho việc dịch ngơn ngữ, phân loại các
hình ảnh, nhận dạng giọng nói. Chính vì thế, nó có thể được ứng dụng để giải quyết
mọi nhu cầu cần nhận dạng mẫu mà không cần đến sự can thiệp của con người.
Deep learning có thể xử lý dữ liệu theo cách tương tự như một bộ não con
người, điểm khác biệt chính ở đây là con người sẽ khơng phải dạy một chương
trình Deep learning biết một con mèo trơng như thế nào, mà chỉ cần cung cấp cho
nó đủ hình ảnh cần thiết về lồi mèo, và nó sẽ tự mình hình dung, tự học. Các bước
cần làm như sau:
- Cung cấp cho máy nhiều bộ dữ liệu ảnh về mèo và các con vật khác.
- Thuật toán sẽ kiểm tra ảnh để xem các đặc điểm, chi tiết chung giữa các

bức ảnh.
- Mỗi bức ảnh sẽ được giải mã chi tiết dưới nhiều cấp độ, từ các hình dạng
lớn, cho đến các ô nhỏ và nhỏ hơn nữa. Nếu một hình dạng hoặc các đường được
lặp lại nhiều lần, thuật tốn sẽ gắn nhãn nó như là một đặc tính quan trọng.
- Sau khi phân tích đủ hình ảnh cần thiết, thuật toán giờ đây sẽ biết được các
mẫu nào cung cấp bằng chứng rõ ràng nhất về mèo và tất cả những gì con người
phải làm chỉ là cung cấp các dữ liệu thô.
13

n


Nói một cách tóm tắt Deep learning là một loại Machine learning mà trong
đó máy tự đào tạo chính nó. Deep learning đòi hỏi rất nhiều dữ liệu đầu vào và sức
mạnh tính tốn hơn là Machine learning, nhưng nó đã bắt đầu được triển khai bởi
các công ty công nghệ lớn như Facebook, Amazon, Google. Trong đó, một trong
những ứng dụng nổi tiếng nhất là AlphaGo, một máy tính có thể chơi cờ vây với
chính bản thân nó cho đến khi nó có thể dự đốn những đường đi nước bước chính
xác nhất đủ để đánh bại nhiều nhà vô địch trên thế giới.

2.2 Mạng nơ-ron hồi quy RNN
Mạng nơ-ron hồi quy (RNN) là một mơ hình học sâu xử lý dữ liệu tuần tự
được sử dụng phổ biến trong các tác vụ xử lý ngôn ngữ tự nhiên (NLU) như dịch
máy, tóm tắt văn bản, nhận diện giọng nói. Giống với con người khi tiếp nhận ngơn
ngữ, chúng ta sẽ xử lý chúng một cách tuần tự, từ phía sau sẽ phụ thuộc vào các từ
trước đó, ý tưởng tạo ra RNN là thiết kế một mạng lưới thần kinh có khả năng xử
lý thơng tin một cách tuần tự. Cụ thể, đầu ra ở thời điểm hiện tại phụ thuộc vào kết
quả tính tốn của các thành phần ở thời điểm trước. Nói cách khác, RNN là một
mơ hình có bộ nhớ, có thể nhớ thơng tin được tính tốn trước đó, khơng giống như
các mạng thần kinh truyền thống là thơng tin đầu vào hồn tồn độc lập với thơng

tin đầu ra.

Hình 2.1. Mạng nơ-ron hồi quy [5]

14

n


×