You are on page 1of 50

VIRTUAL AGENT

HLfONG DAN SLf DUNG

XJf\Y DUNG BOT CONVERSATION


THUAN VIET
MỤC LỤC

A. THÔNG TIN TÀI LIỆU 4


1. Mục đích của tài liệu, đối tượng sử dụng 4
2. Phủ nhận chung (Disclaimer) 4

B. TỔNG QUAN VỀ CONVERSATIONAL AI 4


I. Giới thiệu về Chatbot & Conversational AI 4
1. Tổng quan về Conversational AI 4
2. Phân loại chatbot & Conversational AI 4
3. Giới thiệu về hệ thống ATTVN Virtual Agent 5
II. Xây dựng Chatbot Conversation AI trên nền tảng ATTVN Virtual Agent 6
1. Conversational AI hoạt động như thế nào? 6
2. Quy trình xây dựng Conversational AI 6

C. HƯỚNG DẪN HỆ THỐNG VIRTUAL AGENT 8


I. Đăng nhập & thiết lập ban đầu 8
1. Đăng nhập 8
2. Tạo bot, bot con & xóa bot 9
2.1. Tạo bot 9
2.2. Tạo bot con 9
2.3. Xóa bot 9
II. Xử lý ngôn ngữ tự nhiên 10
1. Tổng quan khái niệm 10
2. Huấn luyện NLP 11
2.1. Chuẩn bị & tải dữ liệu huấn luyện 11
2.1.1. Câu mẫu 12
2.1.2. Thực thể 14
2.1.3. Ý định 15
2.1.4. Từ khóa 16
2.1.5. Stopwords 17
2.1.6. Teencodes 17
2.2. Huấn luyện 18
2.3. Kiểm tra NLP 18
III. Xây dựng hệ thống phản hồi, tham số, bối cảnh 21
1. Phản hồi 21
1.1. Loại phản hồi 21
1.2. Tạo phản hồi 22
1.3. Quản lý phản hồi 24
2. Quản lý tham số (Hành động & Tham số) 25
2.1. Thiết lập tham số 26
2.2. Thiết lập điều kiện tham số 27
2.3. Các phép toán tử 28
2
3. Quản lý bối cảnh 29
3.1. Tổng quan về quản lý bối cảnh 29
3.2. Thiết lập bối cảnh 30
3.3. Thêm ý định nối 32
3.4. Ghi nhận thông tin thay đổi trong bối cảnh 33
4. Nhận diện câu có nhiều thông tin 34
4.1. Thực thể tổng hợp (Composite Entity) 34
4.2. Thiết lập tham số (Danh sách) 35
5. Nhận diện câu phủ định 36
6. Webhook 36
7. Cài đặt Bot 38
7.1 Bắt đầu 38
7.2 Chào hỏi 38
7.3 Ice_Breakers 38
7.4 Persistent Menu 39
7.5 Whitelist Domains 39
8. Gửi thông báo cho Admin 40
9. Lịch sử 40
9.1 Lịch sử kiểm tra 40
9.2 Lịch sử huấn luyện 41
10. Cập nhật dữ liệu tái huấn luyện 42
IV. Tích hợp 43
V. Hybridchat & Quản lý trò chuyện 43
1. Giới thiệu 43
2. Trò chuyện kết hợp - Hybridchat 43
3. Quản lý trò chuyện 44
3.1. Tham gia cuộc trò chuyện 45
3.2. AI đề xuất 46
3.3. Thông tin khách hàng 47
3.4. Quản lý khách hàng 47
VI. Tính năng phân tích, thống kê 48
1. Giới thiệu tính năng thống kê 48
2. Phiên làm việc 48
3. Lượt truy vấn 48
4. Thống kê ý định 49
5. Hành vi người dùng 49

3
A. THÔNG TIN TÀI LIỆU
1. Mục đích của tài liệu, đối tượng sử dụng
● Tài liệu hướng đến hai mục đích chính:
○ Giới thiệu tổng quan các khái niệm về xử lý ngôn ngữ tự nhiên (NLP) giúp người đọc
tiếp cận với các kiến thức nền tảng, hỗ trợ cho việc sử dụng hiệu quả hệ thống xử lý
ngôn ngữ tiếng việt VNLP do công ty ATTVN cung cấp.
○ Giới thiệu chi tiết về hệ thống VNLP, cách thức huấn luyện, cách thức sử dụng các
chức năng của hệ thống đi kèm với các lưu ý nhằm tối ưu hiệu quả của hệ thống.
● Đối tượng sử dụng:
○ Kỹ thuật viên NLP: Huấn luyện và nâng cao mô hình nhận diện NLP.
○ Chuyên viên nắm rõ các nghiệp vụ của doanh nghiệp: Chuẩn bị và chuẩn hóa dữ liệu
để đưa vào đào tạo hệ thống.
○ Chuyên viên thiết kế hội thoại bot: Xây dựng và quản lý bot.
2. Phủ nhận chung (Disclaimer)
Thông tin trong tài liệu này được bảo mật, đặc quyền và chỉ sử dụng cho mục đích thông tin
đến người nhận. Người nhận tài liệu này không được phép sử dụng, xuất bản hoặc phân phối lại
mà không có sự đồng ý trước bằng văn bản của công ty cổ phần ATTVN.
Đối với tài liệu này, các nhà quản lý của ATTVN tuyên bố và không đưa ra bất kỳ bảo đảm nào
về các vấn đề nào liên quan đến các tài liệu này, bao gồm: không giới hạn ở tính chính xác hoặc
đầy đủ của bất kỳ thông tin, định nghĩa nào có trong văn bản này.

B. TỔNG QUAN VỀ CONVERSATIONAL AI


I. Giới thiệu về Chatbot & Conversational AI
1. Tổng quan về Conversational AI
Conversational AI là một ứng dụng phần mềm được thiết kế để giúp máy tính có thể trò
chuyện với người dùng bằng ngôn ngữ tự nhiên dưới dạng âm thanh hoặc văn bản.
Conversational AI tương tác với người dùng tương tự như hệ thống trả lời tin nhắn tự động
tương tự như chatbot nhưng thông minh & tính tùy biến cao hơn nhờ ứng dụng nhiều thành tựu
công nghệ như phân tích ngôn ngữ tự nhiên (NLP), quản lý ngữ cảnh (context management)...
Conversational AI được sử dụng để thay con người thực hiện những tác vụ cần thiết & lặp lại
thường xuyên. Nhờ đó, doanh nghiệp có thể sử dụng nhân sự một cách tối ưu để giải quyết những
công việc phức tạp, chuyên sâu hơn.
2. Phân loại chatbot & Conversational AI
Dựa trên độ phức tạp thì chatbot có thể được phân thành 3 loại:
Chatbot theo kịch bản (rule-based chatbot)
Đây là dạng chatbot cơ bản nhất. Trong hầu hết các trường hợp, các chatbot này là các hệ
thống phân cấp hình cây quyết định được trình bày cho người dùng dưới dạng các nút (buttons).
Tương tự như một menu với các lựa chọn, các chatbot này điều hướng người dùng thực hiện
một số lựa chọn để đưa ra câu trả lời cuối cùng.
Chatbot nhận diện từ khóa (keyword chatbot)
Các chatbot này dựa trên việc nhận diện từ khóa trong câu chat của người dùng để hiểu ý
nghĩa và đưa ra câu trả lời thích hợp. Những chatbot loại này sử dụng các từ khóa tùy biến và trí
tuệ nhân tạo AI để xác định làm thế nào để đưa ra câu trả lời thích hợp cho người dùng.
chatbot từ khóa có thể kết hợp với chatbot kịch bản để đưa ra các lựa chọn cho khách hàng.
Loại Chatbot nhận diện từ khóa kết hợp button đang rất phổ biến trong lĩnh vực dịch vụ như:
ship hàng, đặt phòng, …
Conversation AI – trò chuyện theo ngữ cảnh
Đây là loại chatbot sử dụng công nghệ học máy Machine Learning (ML) và trí tuệ nhân tạo (AI)
để ghi nhớ các cuộc hội thoại với khách hàng. Sử dụng những dữ liệu thu thập được để học hỏi và
thông minh hơn theo thời gian. Không giống như các chatbot nhận diện từ khóa, các
Conversational AI trò chuyện theo ngữ cảnh đủ thông minh để tự cải thiện dựa trên những gì
người dùng yêu cầu và cách họ yêu cầu.
Ví dụ với một Conversational Ai hỗ trợ đặt hàng. Bot sẽ lưu trữ dữ liệu từ mỗi cuộc hội thoại
và tìm hiểu những gì người dùng thích. Kết quả là khi người dùng trò chuyện với Conversational AI
này, nó sẽ nhớ địa chỉ giao hàng và thông tin thanh toán. Chỉ hỏi họ có muốn lặp lại đơn đặt hàng
này hay không. Thay vì phải trả lời một số câu hỏi, người dùng chỉ cần trả lời bằng ‘Có’.
Nền tảng tạo bot của ATTVN hỗ trợ xây dựng chatbot theo ngữ cảnh (Conversational AI), đây
là loại chatbot toàn diện nhất hiện nay. Conversational AI được xây dựng trên nền tảng của ATTVN
có khả năng học hỏi và thông minh hơn theo thời gian.
Nền tảng tạo lập Conversational AI của ATTVN có tên gọi là ATTVN Virtual Agent.
3. Giới thiệu về hệ thống ATTVN Virtual Agent
ATTVN cung cấp 2 nền tảng để đào tạo và quản lý Conversational AI. Trong đó:
Nền tảng tạo Conversational AI gọi là Virtual Agent để thực hiện huấn luyện NLP bao gồm
huấn luyện câu mẫu, ý định, thực thể, từ khóa, teen code giúp Conversational AI hiểu được ngôn
ngữ tự nhiên của con người. Bên cạnh đó nền tảng Virtual Agent còn cho phép thiết lập các phản
hồi theo ngữ cảnh. Nền tảng này còn hỗ trợ người thiết lập kết nối nhiều chatbot vào một chatbot
tổng.
Nền tảng trò chuyện kết hợp- Hybridchat cho phép quản trị viên theo dõi, tham gia trực tiếp
vào các cuộc hội thoại đang diễn ra giữa bot và khách hàng, kiểm tra hiệu quả hoạt động của bot
và ghi chú để đào tạo thêm cho bot thông minh hơn. Ngoài ra, nền tảng này còn hỗ trợ tính năng
Bot’s management, con cho phép người dùng phân tích hành vi của khách hàng để điều chỉnh giúp
bot hoạt động tốt hơn.
II. Xây dựng Chatbot Conversation AI trên nền tảng ATTVN Virtual Agent
1. Conversational AI hoạt động như thế nào?

Conversational AI được xây dựng trên nền tảng Virtual Agent của ATTVN có cơ chế hoạt động
như sau:
- Bước 1: Khách hàng gửi tin nhắn đến bot.
- Bước 2: Tin nhắn được tiếp nhận và gửi đến hệ thống NLP để xử lý.
- Bước 3: Dựa trên những dữ liệu NLP đã được huấn luyện bao gồm câu mẫu, ý định, loại
thực thể, bot sẽ phân tích nội dung tin nhắn của khách hàng có ý định gì kèm với độ tin cậy
bao nhiêu. Độ tin cậy sẽ quyết định đến việc bot đưa ra phản hồi.
Bot sẽ đưa ra các phản hồi được huấn luyện trước tương ứng với ý định nhận diện có độ
tin cậy cao. Và đưa ra phản hồi mặc định đối với những ý định có độ tin cậy thấp
(Ví dụ: Xin lỗi, tôi không hiểu ý định của bạn, vui lòng cung cấp thông tin).
2. Quy trình xây dựng Conversational AI
Quy trình để xây dựng bot hội thoại theo bối cảnh với công cụ Virtual Agent như sau:
1) Xác định chức năng Bot: Mỗi bot nên được xây dựng để giải quyết trường hợp sử dụng
riêng biệt. Người dùng cần xây dựng các chức năng và nhiệm vụ mà bot sẽ thực hiện.
Ví dụ:
● Conversational AI ngân hàng: Cho vay, tạo tài khoản, gửi tiết kiệm, làm thẻ tín dụng…
● Conversational AI bảo hiểm: Tư vấn sản phẩm, tra cứu thông tin hợp đồng…
● Conversational AI nhà hàng: Đặt bàn, giao hàng, tra cứu thông tin…
2) Xây dựng kịch bản:
● Xác định bối cảnh, trường hợp sử dụng của Bot để xây dựng kịch bản phản hồi phù hợp.
Kịch bản bối cảnh hướng cuộc hội thoại về một chủ đề cụ thể, đưa ra những câu mẫu và
phản hồi tương ứng liên quan đến một bối cảnh nhất định đang nói đến.
● Xây dựng luồng hội thoại theo kịch bản bối cảnh (flow diagram).

3) Data Processing: Xây dựng dữ liệu huấn luyện (câu mẫu, ý định, thực thế, từ khóa) dựa
trên kịch bản bối cảnh và dán nhãn dữ liệu. (Tham khảo tài liệu hướng dẫn sử dụng VNLP tool
huấn luyện NLP).
4) Train: Huấn luyện NLP và hiệu chỉnh đến khi mô hình nhận diện NLP đạt chuẩn. (Tham
khảo tài liệu hướng dẫn sử dụng VNLP tool huấn luyện NLP).
5) Build Bot: Sử dụng nền tảng Virtual Agent để thiết lập phản hồi theo kịch bản bối cảnh.
6) Test - Kiểm tra Bot
● Kiểm tra context (bối cảnh).
● Kiểm tra kết quả phản hồi của bot trên các nền tảng tin nhắn tích hợp với hệ thống (Web,
Messenger, Zalo).
● Điều chỉnh kết quả cho đến khi bot phản hồi theo đúng kịch bản.
7) Deploy - Triển khai Bot: Sau khi hoàn thành các bước xây dựng và kiểm tra, thực hiện triển
khai bot lên các nền tảng (messenger, zalo, website…) khách hàng để tương tác với doanh nghiệp.

C. HƯỚNG DẪN HỆ THỐNG VIRTUAL AGENT


I. Đăng nhập & thiết lập ban đầu
1. Đăng nhập
Truy cập đường dẫn: https://va-beta.vnlp.ai/#/login?returnUrl=%2Fbots và thực hiện đăng
nhập vào hệ thống tạo lập Virtual Agent với tài khoản mà công ty ATTVN đã cung cấp.
Sau khi đăng nhập Virtual Agent, người dùng có thể thực hiện 1 số thao tác đối với tài khoản
như: .
● Chỉnh sửa thông tin.
● Đổi mật khẩu.
● Đăng xuất.
● Thay đổi ngôn ngữ.

2. Tạo bot, bot con & xóa bot


2.1. Tạo bot

2.2. Tạo bot con


Trong trường hợp doanh nghiệp có nhiều dịch vụ/sản phẩm hoặc nhiều chi nhánh thì hệ thống
Virtual Agent của ATTVN cho phép người dùng tạo nhiều bot con cùng thuộc 1 bot tổng.
Ví dụ: Doanh nghiệp du lịch Vina travel cung cấp 3 dịch vụ là đặt tour, đặt phòng và đặt xe. Doanh
nghiệp này muốn tạo 3 bot con là vina tour, vina booking và vina car thuộc Bot chính Vina travel để
dễ dàng quản lý.

2.3. Xóa bot


II. Xử lý ngôn ngữ tự nhiên
1. Tổng quan khái niệm
Xử lý ngôn ngữ tự nhiên - Natural Language Processing (NLP) là công nghệ cốt lõi của nền
tảng xây dựng bot ATTVN Virtual Agent. Huấn luyện NLP là quá trình đào tạo kiến thức liên tục
giúp bot có thể hiểu được câu nói của người dùng nằm ở khả năng xác định ý định, trích xuất
thông tin và chuyển đổi thành hành động liên quan.
Một số khái niệm cơ bản về huấn luyện NLP
- Câu mẫu (Sample): Diễn tả câu nói của khách hàng về một vấn đề cụ thể. Câu mẫu gồm 3
thành phần: Ý định, Thực thể và Cảm xúc.
- Ý định (Intent): Là mong muốn mà khách hàng truyền tải trong câu nói
- Thực thể (Entity): Là những thông tin quan trọng trong câu, bổ nghĩa thêm cho ý định. Loại
thực thể cho biết ý nghĩa của thực thể.
- Cảm xúc (Sentiment): Cảm xúc được truyền đạt trong câu nói của khách hàng. Các mức độ
của cảm xúc gồm tích cực, tiêu cực và bình thường.
Ví dụ:

Câu mẫu Ý định Thực thể Cảm xúc

“Tôi khá hài lòng Nhận xét dịch vụ chăm Thực thể: “Hài lòng” (Tích cực)
về dịch vụ chăm sóc khách hàng “VN-airline”
sóc khách hàng Ý định: Loại thực thể: Cảm xúc: positive
của VN-airline” feedback_service brand_name

“Tôi muốn đặt Đặt chuyến bay “Hà Nội” Cảm xúc bình
một chuyến bay Ý định: book_flight Loại thực thể: city thường
đến Hà Nội” Cảm xúc : neutral

- Từ khóa (Keywords): Được dùng để huấn luyện cho bot nhận diện được những từ cùng loại,
từ viết tắt, từ mượn, từ đồng nghĩa… cùng nghĩa với một từ nào đó.

STT Từ khóa Loại thực thể Từ nhận diện

1 cơm food cơm huế, cơm gà, cơm lam (cùng chỉ cơm)

2 Hồ Chí Minh city hcm, sài gòn

3 nhân viên people nv, nhan vien

- Stopwords: Là những từ xuất hiện nhiều trong ngôn ngữ tự nhiên, tuy nhiên lại không mang
nhiều ý nghĩa. Ví dụ: à, á, a, nhen,…
- Teencodes: Là những ký tự viết tắt tiếng Việt của giới trẻ tại. Ví dụ: ko (không), bjk(biết),...
Tùy theo ngành/lĩnh vực, người huấn luyện cần xây dựng từ điển riêng cho teencodes và
stopwords để huấn luyện hệ thống NLP nhận diện được nghĩa của chúng.
2. Huấn luyện NLP
2.1. Chuẩn bị & tải dữ liệu huấn luyện
Dữ liệu huấn luyện NLP bao gồm số lượng lớn các câu mẫu thể hiện câu nói của khách hàng
được thu thập từ nhiều nguồn khác nhau. Trước khi xây dựng bộ dữ liệu huấn luyện cần hiểu và
xác định mục tiêu và vấn đề doanh nghiệp cần giải quyết là gì để thu thập dữ liệu phù hợp với mô
hình kinh doanh của doanh nghiệp.
Có nhiều phương án khác nhau để xây dựng bộ dữ liệu huấn luyện:
- Dữ liệu thực tế của doanh nghiệp: Là những dữ liệu câu mẫu sẵn có trong hệ thống thông
tin hoặc được thu thập từ các nguồn tương tác khác nhau giữa khách hàng với doanh nghiệp (Ví
dụ: hybridchat, Các đoạn Chat, Email, Mạng xã hội, Diễn đàn,...). Những dữ liệu này mang tính
thực tế và có sự chính xác cao về mong muốn và nhu cầu của khách hàng.
- Chuyên gia trong ngành: Để đảm bảo tính thực tế và tính ứng dụng, việc tạo và huấn luyện
bot sẽ cần đến sự tham gia của nhân sự là những người có chuyên môn nghiệp vụ hoặc những
người đã làm việc trong ngành/lĩnh vực liên quan.
- Pre-built Dataset/ Dữ liệu dựng sẵn: là những bộ dữ liệu do các chuyên viên thuộc nhiều
lĩnh vực khác nhau của ATTVN xây dựng giúp khách hàng đẩy nhanh quá trình đào tạo, giảm bớt
thời gian chuẩn bị dữ liệu.

Một số lưu ý khi chuẩn bị dữ liệu huấn luyện

- Mỗi câu mẫu đều thể hiện một ý định cụ thể của khách hàng. Không nên dùng
những câu mẫu không rõ nghĩa, gây nhiễu cho hệ thống nhận diện.
- Câu mẫu đóng vai trò quan trọng trong huấn luyện kiến thức cho bot. Càng
nhiều dữ liệu câu mẫu được huấn luyện, kết quả nhận diện NLP càng chính xác.
- Dữ liệu câu mẫu được thu thập cần qua xử lý trước (Loại bỏ ký tự đặc biệt,
Câu mẫu emoji, từ ngoại ngữ,...) trước khi nhập liệu lên hệ thống để huấn luyện NLP.

- Gọi tên ý định cần chọn nghĩa chính xác nhất phù hợp với bối cảnh của câu
mẫu. Thường là sự kết hợp của một động từ và một danh từ.
Ví dụ:
+ Câu mẫu: “Công ty có làm việc vào ngày thứ 7 không?”
+ Ý định: hỏi giờ làm việc
- Có nhiều cách nói khác nhau để thể hiện ý định, vì vậy cần chuẩn bị nhiều câu
mẫu khác nhau cho mỗi ý định.
Ví dụ:
+ Ý định: hỏi giờ làm việc
+ Câu mẫu:
1) Công ty có làm việc vào ngày thứ 7 không?
2) Thứ 7 này công ty có làm việc không?
3) Thứ 7 có mở cửa không?
4) Có mở cửa văn phòng thứ 7 này không?
Ý định 5) Công ty thứ 7 này có mở cửa không?
- Thực thể đại diện cho danh từ trong câu (đối tượng hoặc bối cảnh cho hành động
đó).
Ví dụ: ngày giờ, địa điểm, tên thương hiệu, tên riêng, thành phố,...
1) Câu mẫu: “Thứ 7 này công ty có làm việc không?”
+ Thực thể: Thứ 7
+ Loại thực thể: ngày
2) Câu mẫu: “Chi nhánh điện biên phủ thứ 7 có làm việc không?”
+ Thực thể: chi nhánh điện biên phủ
Thực thể + Loại thực thể: tên chi nhánh

2.1.1. Câu mẫu


Có 2 cách để nhập câu mẫu, ý định và thực thể lên hệ thống
Cách 1: Nhập thủ công
- Bước 1: Tại mục Conversation, chọn tab Câu mẫu(1) sau đó nhấn chọn nút Tạo mới(2).
- Bước 2: Tại giao diện hiển thị, chọn Ý định(3) tại danh sách đã được tạo trước (Xem cách
tạo Ý định tạo mục C).

- Bước 3: Nhập câu mẫu tương ứng với ý định đã chọn tại ô Nội dung.
- Bước 4: Bôi đen từ muốn nhập loại thực thể trong câu mẫu. Lựa chọn loại thực thể tương
ứng từ danh sách có sẵn trong hệ thống hoặc nhập loại thực thể mới (4).
- Bước 5: Chọn Lưu (5) để hoàn tất nhập câu mẫu, ý định và thực thể.
Cách 2: Tải lên câu mẫu
- Bước 1: Tại mục Conversation, chọn tab Câu mẫu (1).
- Bước 2: Nhấn chọn Tải lên câu mẫu (2), sau đó chọn click để tải xuống file ví dụ (3) để tải
xuống file mẫu nhập liệu để tải lên hệ thống.

- Bước 3: Nhập liệu vào file ví dụ dữ liệu câu mẫu, ý định và thực thể tương ứng.

Lưu ý nhập liệu

+ Tên ý định: ask_working_hour (phân cách các từ bằng dấu gạch ngang dưới).
+ Thực thể: thứ 7|sys.date (phân cách giữa thực thể và loại thực thể bằng dấu gạch đứng). Trong câu có nhiề
+ Không sử dụng các ký tự đặc biệt để đặt tên ý định, thực thể (Ví dụ: (!@#$%^&*.).
+ Có thể sử dụng tiếng Anh hoặc tiếng Việt không dấu để đặt tên ý định, thực thể.
- Bước 4: Sau khi nhập liệu, nhấn chọn Tải lên câu mẫu (5) tại giao diện quản lý Câu mẫu, sau
đó nhấn chọn file(6) tải lên câu mẫu cần huấn luyện.
- Bước 5: Nhấn chọn Xử lý(7) để tải tệp dữ liệu huấn luyện lên hệ thống hoặc chọn Thay thế
để xóa toàn bộ dữ liệu cũ và thay bằng dữ liệu mới.
- Bước 6: Sau khi xác nhận tải lên, hệ thống tiến hành xử lý file huấn luyện. Kết quả trả về
gồm chi tiết câu lỗi (nếu có) và dòng dữ liệu lỗi. Người dùng thực hiện chỉnh sửa dữ liệu cần thiết.

2.1.2. Thực thể


Tạo mới thực
thể
Người huấn luyện có thể thêm dữ liệu loại thực thể tại tab Thực thể như sau:
- Bước 1: Tại tab Loại thực thể (1), nhấn chọn Tạo mới (2). Tại giao diện hiển thị, nhập nội
dung loại thực thể, mô tả (ô Nội dung) và lựa chọn Loại thực thể tương ứng (3).

Tại ô Loại thực thể, có các tùy chọn tương ứng sau:

+ Normal: Loại thực thể thông thường.


+ Composite: Dùng để trích xuất nhiều thông tin cùng xuất hiện trong câu.
Ví dụ: Câu mẫu “7h ngày mai chi nhánh điện biên phủ có mở cửa không”. Câu mẫu na có ý định là
hỏi giờ làm việc (ask_working_hou: date) với hai thông tin thực thể cùng xuất hiện trong câu cần
được trích xuất gồm: thứ 7 (loại thực thể: date) và chi nhánh điện biên phủ (loại thực thể:
branch_name).
- Bước 2: Nhấn chọn Lưu (4) loại thực thể vừa tạo.
- Bước 3: Sau khi tạo mới thực thể, người huấn luyện chọn nút “Huấn luyện” tại thanh công
cụ để đào tạo kiến thức mới cho Bot.
Thực thể hệ thống
Thực thể hệ thống là loại thực thể được xây dựng sẵn trên nền tảng ATTVN.
Thực thể hệ thống có thể giúp nhận diện được những thông tin cơ bản như:
ngày (sys.date), thành phố (sys.city), số lượng (sys.amount), khoảng thời
gian (sys.duration), email (sys.email)...Khi người huấn luyện gán thông tin có
trong câu nói của khách hàng với loại thực thể hệ thống tương ứng, Bot có
thể nhận diện và trích xuất được những thông tin đó mà không cần huấn
luyện qua nhiều câu mẫu.

2.1.3. Ý định
Người huấn luyện có thể thêm ý định mới tại tab Ý định như sau:
- Bước 1: Tại mục Conversation, chọn tab Bối cảnh (1) sau đó nhấn chọn nút Tạo mới.
- Bước 2: Nhập tên ý định tại tab Ý định và thêm những mô tả cần thiết cho tên ý định (2).
- Bước 3: Nhấn chọn Lưu(3) ý định mới

Tại giao diện này, người huấn luyện có thể thêm câu mẫu tương ứng với ý định như sau:
-Bước 1: Tại tab Samples, nhấn chọn nút Tạo mới(1). Tại hộp thoại hiển thị, nhập nội dung
câu mẫu tương ứng với ý định (2) và thực thể có trong câu mẫu (3)
-Bước 2: Chọn nút Tạo mới(4) để hoàn thành bước tạo câu mẫu.
2.1.4. Từ khóa
Có 2 cách nhập liệu từ khóa
Cách 1: Nhập thủ công
- Bước 1: Nhấn chọn tab Từ khóa(1), sau đó nhấn chọn Tạo mới(2)
- Bước 2: Tại giao diện hiển thị, nhập nội dung từ khóa chính vào ô Từ khóa, nhập từ viết tắt,
từ đồng nghĩa,… tương ứng của từ khóa chính vào ô Từ đồng nghĩa (3). Chọn loại thực thể cần
được nhận diện cho từ khóa từ danh sách Loại thực thể(4) sẵn có.
- Bước 3: Nhấn chọn Lưu(5) để lưu từ khóa mới

Cách 2: Tải lên từ khóa


- Bước 1: Tại tab Từ khóa(1) chọn Tải lên từ khóa(2). Nhấn để tải xuống từ khóa mẫu(3)

- Bước 2: Người huấn luyện nhập từ khóa vào file dữ liệu mẫu theo định dạng như sau.
Trong đó:
+ Keyword: Từ khóa chính cần hệ thống nhận diện
+ Synonym: Từ đồng nghĩa/Từ viết tắt/Từ mượn/… có
nghĩa tương đương với từ khóa chính.
+ Entity Type: Loại thực thể của từ khóa đó

- Bước 3: Nhấn Chọn File(4) sau đó chọn file từ khóa đã nhập liệu. Nhấn chọn Xử lý (5) để hệ
thống bắt đầu tải từ khóa lên hệ thống. Kết quả trả về báo số câu lỗi/không lỗi sau khi tải lên.

2.1.5. Stopwords
Stopwords là những từ có trong từ điển tiếng Việt nhưng không ảnh hưởng đến nghĩa. Huấn
luyện Stopwords giúp hệ thống nhận diện được những từ này để xử lý loại bỏ nếu xuất hiện trong
câu. Chọn tab Stopwords(1), tại giao diện hiển thị sau đó nhập danh sách từ stopwords(2) cần xử lý
vào ô Nội dung.

2.1.6. Teencodes
Huấn luyện Teencodes giúp hệ thống nhận diện được nghĩa của những từ viết tắt này. Để
huấn luyện nhận diện Teencodes, thực hiện theo những bước sau:
- Bước 1: Tại mục Conversation, chọn tab Teencodes.
- Bước 2: Nhập nghĩa cần nhận diện cho teencodes tại ô “Nhập giá trị” (2) và teencodes tại ô
“Codes” (3). Người huấn luyện có thể thêm nhiều giá trị teencodes tương ứng, sau đó nhấn Enter.
- Bước 3: Nhấn Thêm(4) để lưu Teencodes.
2.2. Huấn luyện
Sau khi tải lên hệ thống dữ liệu huấn luyện và thực hiện cập nhật những dữ liệu cần thiết,
người dùng bắt đầu quá trình huấn luyện NLP theo hướng dẫn sau.
- Bước 1: Nhấn nút Huấn luyện (1) tại thanh công cụ truy xuất nhanh để đào tạo kiến thức cho
Bot.
- Bước 2: Sau đó chọn Xử lý(2) để bắt đầu quá trình huấn luyện. Thời gian huấn luyện phụ
thuộc vào độ lớn của dữ liệu câu mẫu.

2.3. Kiểm tra NLP


Thực hiện kiểm tra kết quả nhận diện NLP sau khi huấn luyện. Có 2 cách để kiểm tra:
Cách 1: Kiểm tra từng câu
Kiểm tra NLP cho thấy kết quả nhận diện của mô hình sau khi được huấn luyện.
- Bước 1: Người dùng nhấn chọn Kiểm tra NLP (1) tại thanh công cụ truy xuất nhanh.
- Bước 2: Tại giao diện hiển thị, nhập vào nội dung câu mẫu cần kiểm tra (2) sau đó nhấn Xử
lý (3) để hệ thống tiến hành kiểm tra.
- Bước 3: Kết quả trả về chỉ số Confidence cho biết độ tin cậy về kết quả nhận diện. Người
dùng nhận định kết quả nhận diện Ý định, Loại thực thể và chỉ số cảm xúc của câu mẫu kiểm tra và
tiến hành những chỉnh sửa cần thiết nếu kết quả nhận diện chưa chuẩn xác.
Cách 2: Kiểm tra hàng loạt
Người huấn luyện tải lên hệ thống tệp câu mẫu để kiểm tra hàng loạt theo hướng dẫn sau:
- Bước 1: Tại thanh công cụ truy xuất nhanh, người dùng nhấn chọn biểu tượng Kiểm tra
hàng loạt(1) sau đó nhấn chọn Tải lên(2)
- Bước 2: Chọn (Nhấn vào đây để tải file mẫu) (3) tải xuống tệp câu mẫu kiểm tra NLP.

- Bước 3: Nhập vào file tải xuống dữ liệu câu mẫu, ý định và thực thể tương ứng cần kiểm tra
kết quả nhận diện của hệ thống.

TESTING_DATASET

- Bước 4: Sau khi nhập liệu, Chọn file(4) để tải lên tệp câu mẫu kiểm tra đã nhập dữ liệu.
- Bước 5: Chọn Xử lý(5) sau đó nhấn chọn Chạy(6) để hệ thống tiến hành kiểm tra hàng loạt.

Kết quả kiểm tra hàng loạt trả về ở dạng biểu đồ cho biết các chỉ số:
Chỉ số Cách tính

Tỷ lệ đạt theo ý định Số câu có kết quả nhận diện ý định chính xác trên tổng số câu
được kiểm tra.

Tỷ lệ đạt theo thực thể Số câu có kết quả nhận diện thực thể chính xác trên tổng số câu
được kiểm tra.

Tỷ lệ đạt Số câu đạt cả hai tiêu chí trên tổng số câu được kiểm tra.

* Lưu ý: Chỉ số “Confident” cho biết độ tin cậy về kết quả nhận diện ý định. Người dùng có
thể kiểm tra những câu có chỉ số confident trung bình hoặc thấp tại trang chủ Tổng quan, để đưa
ra những chỉnh sửa cần thiết nhằm cải thiện
kết quả.
- Mức độ trung bình: Nằm trong
khoảng từ 50-79 (trên thang đo 100).
- Mức độ khẩn cấp: Nằm trong
khoảng thấp từ 0-49 (trên thang đo 100).
III. Xây dựng hệ thống phản hồi, tham số, bối cảnh
1. Phản hồi
1.1. Loại phản hồi

Loại phản Giới thiệu Minh họa


hồi

Văn bản Thiết lập tin nhắn chỉ văn


bản và gửi cho khách hàng

Hình ảnh Cho phép sử dụng liên


kết URL hình ảnh để gửi
một hình ảnh gửi cho
khách hàng.

Nút Phù hợp cho mục đích


điều hướng đơn giản như
mở webview, gọi điện
thoại, xem thông tin chi
tiết..

Thẻ Hiển thị danh sách các


button (Tối đa 3). Thẻ này
phù hợp để hiển thị danh
mục sản phẩm hoặc dịch
vụ. Có thể tạo 1 hoặc
nhiều thẻ.

Phản hồi Cho phép tạo câu trả lời


nhanh nhanh với sự kết hợp của
văn bản và nút tương tác.
1.2. Tạo phản hồi
Sau khi huấn luyện NLP cho Bot, người huấn luyện tiến hành xây dựng kịch bản phản hồi và
luồng hội thoại cho Bot.
Xét ví dụ kịch bản cho ý định “hỏi giờ làm việc” (ask_working_hour) của khách hàng như sau:

Đối tượng Nội dung Ghi chú

Khách hàng Công ty có làm việc vào ngày thứ 7 không? + Ý định: ask_working_hour
+ Thực thể: thứ 7 (sys.date)

Bot Giờ mở cửa của Evymode từ 8:00-21:00. Mở Loại phản hồi: văn bản
cửa tất cả các ngày trong tuần bạn nhé!

Để tạo phản hồi theo kịch bản trên, người huấn luyện thực hiện theo các bước sau:
- Bước 1: Chọn tab Bối cảnh, sau đó chọn Ý định cần xây dựng luồng hội thoại(1)

- Bước 2: Tại giao diện hiển thị, chọn tab Phản hồi sau đó nhấn chọn Tạo phản hồi(2).

- Bước 3 Thực hiện tạo mới phản hồi theo hướng dẫn sau:
+ Đặt tên cho phản hồi để dễ quản lý theo chức năng.
Ví dụ: phản hồi_giờ làm việc, phản hồi_tư vấn sản phẩm, phản hồi_địa chỉ,...
+ Chọn loại phản hồi trong danh sách hiển thị (2) (Xem chi tiết tại mục Loại phản hồi)
+ Nhập nội dung câu trả lời. Nhấn chọn Thêm để thêm vào box tin nhắn (3)
+ Nhấn chọn Lưu (4) để hoàn thành bước thêm phản hồi mới.
- Bước 4: Sau khi tạo phản hồi, Thêm phản hồi vào luồng hội thoại của ý định cần tạo.

+ Tại danh sách phản hồi đã được tạo, nhấn vào biểu tượng để thêm phản hồi vào luồng
hội thoại của ý định (5).
+ Phản hồi được lựa chọn sẽ hiển thị trong danh sách luồng hội thoại của ý định (6).

Sau khi tạo phản hồi cho Bot, người huấn luyện cần nhấn chọn Huấn luyện (1) để đào tạo và
thực hiện các bước kiểm tra phản hồi tại công cụ mô phỏng (2)
1.3. Quản lý phản hồi
Quản lý phản hồi cho phép người huấn luyện tìm kiếm, tạo mới hoặc chỉnh sửa phản hồi.
- Tại mục Conversation, chọn tab Phản hồi để vào giao diện quản lý phản hồi (1).
- Chọn nút Tạo mới(2) để tạo một phản hồi bất kỳ.
- Tìm kiếm phản hồi theo bộ lọc “Loại phản hồi” (3)
- Ý định (4) cho biết phản hồi đang sử dụng cho ý định nào hỗ trợ người huấn luyện dễ quản
lý và chỉnh sửa kịch bản phù hợp với ý định.

- Để chỉnh sửa phản hồi, nhấn chọn dòng phản hồi cần chỉnh sửa (6). Giao diện chỉnh sửa
phản hồi sẽ được hiển thị.
2. Quản lý tham số (Hành động & Tham số)
Tham số được sử dụng để thu thập và quản lý thông tin từ khách hàng giúp Bot đưa ra các
kịch bản phản hồi phù hợp hơn.
Mỗi giá trị của tham số gắn liền với một loại thực thể.
Người huấn luyện khi xây dựng kịch bản phản hồi cần xác định các thông tin quan trọng cần
thu thập từ khách hàng để huấn luyện Bot đưa ra phản hồi chính xác.
Ví dụ:
- Kịch bản tư vấn mua sắm quần áo: Cần xác định được các tham số về cân nặng, chiều cao
để tư vấn size phù hợp. Đối với kịch bản tư vấn cho vay: Cần xác định các tham số về loại vay, thời
gian vay, mục đích vay và số tiền cần vay để tư vấn phương án vay.
Người huấn luyện sử dụng tính năng Điều kiện cho tham số để thiết lập kịch bản phản hồi.
Xét ví dụ về 1 kịch bản phản hồi khách hàng về điều kiện vay của một ngân hàng:
Nội dung Ý định Tham số
dieu_kien_
Khách hàng Cho hỏi điều kiện vay tại ngân hàng là gì?
vay
Hiện banking bot hỗ trợ 2 hình thức vay là vay
Bot thế chấp và vay tín chấp, bạn muốn vay theo loai_vay
hình thức nào?
loai_vay = “vay
Khách hàng Vay tín chấp ạ
tín chấp”
Điều kiện cho vay tín chấp tại ngân hàng là:
Bot
● Là công dân Việt Nam
● Độ tuổi: từ 18 đến 55 tuổi và
● Sinh sống và làm việc thường xuyên: Tại
tỉnh/thành phố Chi nhánh ngân hàng cho vay
● Có thu nhập ổn định đủ khả năng trả nợ
trong suốt quá trình vay vốn.
● Không có nợ xấu tại ngân hàng hay tổ
chức tín dụng nào

Theo kịch bản trên,để tư vấn phương án vay Bot cần xác định được:
● Ý định: dieu_kien_vay (Hỏi điều kiện vay của ngân hàng)
● Tham số (Parameter): loai_vay
2.1. Thiết lập tham số
Để thiết lập tham số, người huấn luyện cần làm theo các bước sau:
- Bước 1: Chọn Ý định cần thiết lập kịch bản phản hồi tại tab Bối cảnh (1)
- Bước 2: Tại tab Hành động & Tham số, nhấn chọn Tạo mới (2)

- Bước 3: Có giao diện thiết lập tham số như sau


+ Tên: Mô tả tham số cần lấy thông tin
(Dùng tên tiếng Việt không dấu/ tiếng Anh.
Dùng dấu gạch dưới ngăn cách giữa các từ)
+ Thực thể: Chọn loại thực thể tương ứng
với tham số.
+ Tùy chọn tham số:
● Bắt buộc: Thiết lập ràng buộc cho tham
số. Khách hàng bắt buộc phải cung cấp giá trị
của tham số theo điều kiện đã thiết lập.
● Danh sách: Thiết lập được dùng để
nhóm các thực thể cùng loại vào tham số
+ Prompt: Phản hồi của Bot khi khách hàng chưa cung cấp thông tin đúng với điều kiện tham số.
+ Life_span: Số lần lặp lại phản hồi ở phần prompt
+ Default_responses: Là phản hồi sau khi số lần phản hồi prompt của Bot lớn hơn chỉ số life_span,
nhưng khách hàng vẫn chưa cung cấp thông tin đúng với điều kiện của tham số.
* Lưu ý:
Đối với loại thực thể sys.amount và sys.duration cần thiết lập đơn vị cho giá trị tham số

Thiết lập

+ Thiết lập đơn vị cho tham số so_tien_vay, thuộc loại thực thể sys.amount:

=> Nếu khách hàng nhập số tiền vay là 1 (<1000). Theo thiết lập, Bot sẽ nhận diện giá trị
{so_tien_vay} bằng 1 tỷ.

+ Xem thiết lập đơn vị cho tham số thoi_gian_vay, thuộc loại thực thể sys.duration dưới đây:

=> Thiết lập duration_unit cho tham số thoi_gian_vay là “year”. Khi khách hàng nhập giá trị
tham số là 5. Bot sẽ nhận diện thời gian vay là 5 năm ({thoi_gian_vay} bằng 5 năm).

2.2. Thiết lập điều kiện tham số


Sau khi tạo tham số, người huấn luyện tiến hành thiết lập kịch bản phản hồi cho Bot theo điều
kiện tham số như sau:
- Bước 1: Tại tab Phản hồi, chọn Điều kiện(1) để thiết lập phép so sánh cho tham số.
- Bước 2: Sau đó, chọn trong danh sách câu phản hồi đã tạo trước đúng với điều kiện.
Theo kịch bản ví dụ, người huấn luyện sẽ thiết lập như sau:

Sau khi thiết lập kịch bản phản hồi theo điều kiện tham số, người huấn luyện nhấn chọn nút

Huấn luyện tại thanh công cụ truy xuất nhanh và kiểm tra kết quả phản hồi tại công cụ mô

phỏng hội thoại


2.3. Các phép toán tử
Toán tử Giải thích

= So sánh tham số chính xác với giá trị nào đó

!= So sánh tham số khác với giá trị nào đó

> So sánh tham số nhỏ hơn giá trị số nào đó

< So sánh tham số lớn hơn giá trị số nào đó

>= So sánh tham số lớn hơn hoặc bằng giá trị số nào đó

<= So sánh tham số nhỏ hơn hoặc bằng giá trị số nào đó

contains Kiểm tra trong chuỗi văn bản có xuất hiện của giá trị so sánh

not contains Kiểm tra trong chuỗi văn bản không có xuất hiện của giá trị so sánh

in Kiểm tra sự tồn tại của giá trị so sánh trong chuỗi văn bản
3. Quản lý bối cảnh
3.1. Tổng quan về quản lý bối cảnh
Quản lý bối cảnh giúp kiểm soát luồng hội thoại của Bot. Sử dụng bối cảnh để thiết lập kịch
bản phản hồi giúp Bot có thể quản lý được những thông tin xuất hiện trong bối cảnh. Kể cả khi
khách hàng thay đổi thông tin, Bot vẫn có thể nhận diện và trích xuất thông tin quan trọng.
Người dùng quản lý bối cảnh bằng cách thiết lập bối cảnh đầu vào và đầu ra cho ý định.
● Bối cảnh đầu ra: Kiểm soát các bối cảnh hoạt động. Khi một ý định được tạo thành, mọi bối
cảnh đầu ra được gắn cho ý định này sẽ được kích hoạt.
● Bối cảnh đầu vào: Một ý định sẽ được nhận diện trong luồng hội thoại nếu tất cả các bối
cảnh đầu vào mà nó được chỉ định hiện đang hoạt động. Khi đưa ra hai ý định với các câu mẫu
được đào tạo giống hệt nhau, ý định có bối cảnh đầu vào hiện đang hoạt động sẽ được nhận diện.
Xem ví dụ sau về quản lý bối cảnh cho một kịch bản “Tư vấn sản phẩm tiền gửi tiết kiệm”

Câu mẫu “Lãi suất hiện tại của ngân hàng là bao nhiêu?” có bối cảnh đầu vào là
“hoi_gui_tiet_kiem_context” giúp Bot xác định được bối cảnh hiện tại là khách hàng đang hỏi về
sản phẩm gửi tiết kiệm từ đó tiếp tục luồng hội thoại phản hồi cho kịch bản tư vấn gửi tiết kiệm.
Trong khi đó, cùng một câu mẫu “Lãi suất hiện tại của ngân hàng là bao nhiêu?” nhưng bối
cảnh đầu vào là hoi_vay_context giúp Bot xác định bối cảnh hiện tại là khách hàng đang hỏi về sản
phẩm vay từ đó có những phản hồi tư vấn cho vay, khác với trường hợp trên.
● Lifespan (Thời gian tồn tại bối cảnh)
Giá trị Lifespan được cài đặt cho bối cảnh đầu ra. Nó cho biết bối cảnh có thể tồn tại qua bao
nhiêu lần hỏi của khách hàng. Khi một bối cảnh kết thúc, bot sẽ tiếp tục phản hồi bối cảnh còn
đang hoạt động. Người dùng thiết lập thông số này để duy trì bối cảnh hội thoại tùy theo kịch bản.
Ví dụ: Xét kịch bản tư vấn sản phẩm “Tiết kiệm điện tử” dưới đây.
● Bối cảnh đầu ra: hoi_gui_tiet_kiem_context thiết lập thông số lifespan là 5.
● Bối cảnh đầu ra: hoi_tiet_kiem_dien_tu_context thiết lập thông số lifespan là 2.
3.2. Thiết lập bối cảnh
Để thiết lập Bối cảnh sẽ đi theo các bước sau:
- Bước 1: Chọn tab Bối cảnh và chọn ý định cần thiết lập bối cảnh.
- Bước 2: Tại tab bối cảnh, nhập trường bối cảnh đầu vào/bối cảnh đầu ra tương ứng.
- Bước 3: Đối với bối cảnh đầu ra, nhấp chọn phần để thiết lập thông số “Life-span”.
- Bước 4: Nhấn Enter để hoàn thành(Có thể thêm nhiều bối cảnh tùy mục đích sử dụng)
- Bước 5: Nhấn chọn “Lưu”.
Một số lưu ý khi đặt tên bối cảnh

Quy định Ví dụ

Sử dụng ký tự chữ cái hoặc chữ số context1

Sử dụng - hoặc _ thay vì khoảng trống. context-1

Sử dụng ký tự viết hoa hoặc viết thường tùy ý context hay Context đều đúng

Nên đặt tên context gắn với tên ý định để dễ - Tên ý định: check_account
phân biệt - Tên context: check_account_context

Ví dụ: Xét kịch bản tư vấn Gửi tiết kiệm của một Banking Bot như sau:

Theo kịch bản trên, khách hàng bắt đầu với câu nói “Tôi muốn gửi tiết kiệm” mở ra ý định
hoi_gui_tiet_kiem với bối cảnh đầu ra tương ứng hoi_gui_tiet_kiem_context.
Kích vào biểu tượng được khoanh tròn và thay đổi thông số “Life-
span” (hệ thống mặc định là 5, người dùng có thể thay đổi).

Câu tiếp theo “lãi suất hiện tại của ngân hàng bao nhiêu” với ý định hoi_lai_suat_tiet_kiem,
thiết lập bối cảnh đầu vào cho ý định này là hoi_gui_tiet_kiem_context. Đồng nghĩa với việc ý định
hỏi lãi suất tiết kiệm chỉ được nhận diện khi bối cảnh hoi_gui_tiet_kiem còn tồn tại.
3.3. Thêm ý định nối
Người huấn luyện có thể sử dụng ý định nối để tự động cài đặt bối cảnh cho các cặp ý định. Ý
định được thêm vào ý định chính được gọi là ý định nối. Khi lựa chọn thêm ý định nối, bối cảnh
đầu ra sẽ tự động được thêm vào ý định chính và bối cảnh đầu vào cùng tên được thêm vào ý định
nối. Ý định nối chỉ được nhận diện khi ý định chính được kích hoạt trong cuộc trò chuyện bởi
khách hàng. Người huấn luyện cũng có thể tạo nhiều cấp độ ý định nối.
* Bối cảnh đầu ra của ý định hoi_gui_tiet_kiem được tự động thêm vào là bối cảnh đầu vào
của ý định hoi_lai_suat_tiet_kiem

3.4. Ghi nhận thông tin thay đổi trong bối cảnh
Khi khách hàng thay đổi một thông tin bất kỳ trong bối cảnh đang diễn ra, người huấn luyện
cần huấn luyện cho Bot lưu trữ và trích xuất được thông tin mới nhất để sử dụng cho các phản hồi
tiếp theo mà không cần hỏi lại khách hàng những thông tin khác.
Ví dụ: Kịch bản tư vấn vay thế chấp dưới đây, khi khách hàng cung cấp số tiền vay (1 tỷ) và
thời gian vay (5 năm). Khi Bot xác nhận lại, khách hàng đổi thông tin số tiền vay (2 tỷ). Bot đã ghi
nhận giá trị số tiền vay mới nhất.
Để huấn luyện Bot phản hồi được những trường hợp khách hàng thay đổi thông tin trong bối
cảnh. Người huấn luyện sử dụng tính năng Hành động & Tham số để thiết lập kịch bản phản hồi.

- Bước 1: Chọn Ý định cần thiết lập phản hồi tại tab Bối cảnh
- Bước 2: Chọn Tạo mới (1) tại tab Hành động & tham số sau đó tạo tham số và loại thực thể
tương ứng cho tham số đó (2)
- Bước 3: Chọn trường Bắt buộc (3) cho tham số để cài đặt ràng buộc thu thập giá trị cho tham
số này để thực hiện các bước phản hồi tiếp theo.
- Bước 4: Thiết lập phản hồi để lấy giá trị cho tham số (4) tại mục Prompt. Sau đó chọn Lưu để
hoàn tất thêm tham số.
Tiếp tục thêm tham số cho các thông tin khác trong câu mẫu theo các bước trên.
4. Nhận diện câu có nhiều thông tin
Thông thường khách hàng có thói quen cung cấp nhiều thông tin trong một câu nói. Đồng
nghĩa câu mẫu chứa nhiều thông tin thực thể. Nhiệm vụ của Bot là trích xuất chính xác những
thông tin này và nhận diện đúng loại thực thể của chúng.
4.1. Thực thể tổng hợp (Composite Entity)
Những thông tin xuất hiện trong câu, thuộc những loại thực thể khác nhau người huấn luyện
sử dụng tính năng huấn luyện Composite Entity theo hướng dẫn như sau:
- Bước 1: Chọn tab Loại thực thể (1) sau đó nhấn chọn Tạo mới (2) để thêm thực thể mới
- Bước 2: Tại giao diện hiển thị, chọn loại Composite(3) tại mục Loại thực thể.
- Bước 3: Đặt tên loại thực thể compostite (4) và nhấn chọn Add_Pattern(5) để thêm cụm
thực thể cần nhận diện. Cấu trúc bao gồm nhiều thực thể con.

* Lưu ý: Hệ thống sẽ kiểm tra tất cả các giá trị pattern theo thứ tự ưu tiên từ trên xuống.
Ví dụ Xét câu mẫu “Tôi muốn đặt 5 ly trà sữa size M”, hệ thống
sẽ kiểm tra với các tùy chọn pattern theo thứ tự ưu tiên từ trên xuống
dưới của danh sách. Theo đó, hệ thống sẽ trích xuất được thông tin
theo thứ tự: #sys.number #drink #drink_size
Ở ví dụ này:
- 5 : sys.number
- trà sữa: drink
- size M: drink_size
Sau khi tạo loại thực thể Composite Entity, thực hiện huấn luyện cho câu mẫu như sau:
- Bước 1: Tại Tab Câu Mẫu, chọn Tạo mới câu mẫu.
- Bước 2: Tại giao diện hiển thị, chọn Ý định muốn tạo câu mẫu (1), nhập câu mẫu vào ô nội
dung (2). Bôi đen cụm thông tin cần huấn luyện loại thực thể composite entity (3).
- Bước 3: Nhấn chọn Lưu(4) để hoàn tất thêm câu mẫu.

Sau mỗi bước thêm mới dữ liệu, thực hiện nhấn chọn biểu tượng Huấn luyện tại thanh
công cụ truy xuất nhanh để đào tạo kiến thức mới cho Bot.

4.2. Thiết lập tham số (Danh sách)


Thiết lập tham số dạng danh sách cho phép hệ thống nhận diện được câu có nhiều thông tin
cùng thuộc một loại thực thể.
Ví dụ: Xét câu mẫu “Tôi muốn đặt 5 ly trà sữa, 4 ly trà đào” với thông tin trà sữa và trà đào đều
thuộc loại thực thể “drink”. Người huấn luyện thiết lập tham số như sau:

Câu mẫu Ý định Thực thể Tham số

“Tôi muốn đặt 5 ly trà sữa, 4 ly trà đào” dat_mon trà sữa (drink) do_uong
(Đặt món) trà đào (drink)

=> Cài đặt tham số do_uong giúp Bot có thể nhận diện và trích xuất những thông tin thuộc loại
thực thể drink có trong câu mẫu
5. Nhận diện câu phủ định
Câu phủ định dễ khiến Bot nhầm lẫn trong việc nhận diện ý định câu phủ định dẫn đến đưa
ra các phản hồi chưa chính xác. Để Bot nhận diện được câu phủ định, người dùng chỉ cần sử dụng
tính năng huấn luyện ý định phủ định.
Ví dụ: Xét câu mẫu: “Tôi không muốn vay tiền”. Để huấn luyện Bot nhận diện câu này không
bị nhầm lẫn với ý định của câu “Tôi muốn vay tiền” (ý định: vay_tien), cần huấn luyện để Bot biết
câu này có ý định phủ định với ý định vay_tien
Cách tạo ý định phủ định:
- Bước 1: Tạo ý định khong_vay_tien cho câu “Tôi không muốn vay tiền”
- Bước 2: Tại ô Ý định phủ nhận, chọn trong danh sách ý định phủ định. Ở đây là ý định
“vay_tien”
- Bước 3: Chọn Lưu lại ý định phủ định

6. Webhook
Webhook cho phép hệ thống truy cập API từ một ứng dụng/hệ thống khác trong thời gian
thực, hỗ trợ xây dựng các công thức tính toán từ dữ liệu thông tin mà khách hàng cung cấp.
Ví dụ:- Tính số tiền phải trả hằng tháng dựa trên số tiền vay và thời gian vay
* Response Mapping: Thiết lập ánh xạ giá trị trả về từ API sang biến sau khi xử lý. Sử dụng
biến này trong thiết lập phản hồi cho bot.
Ví dụ: Xét kịch bản tư vấn phương án vay của một ngân hàng. Khách hàng cung cấp giá trị các
tham số: số tiền vay (so_tien_vay), thời gian vay (thoi_gian_vay) và loại vay (loai_vay).
Sau khi API trả về số liệu của phương án vay, ánh xạ đến biến phuong_an_vay và được thiết
lập cài đặt phản hồi như sau:

Đối
Nội dung Thiết lập
tượng
Khách
Tôi muốn vay tiền
hàng
Hiện banking bot hỗ trợ 2 hình thức
Bot vay là vay thế chấp và vay tín chấp,
bạn muốn vay theo hình thức nào?
Khách
Vay thế chấp loai_vay = “vay thế chấp”
hàng
Banking Bot hiện có nhiều sản phẩm
đa dạng và hấp dẫn theo nhu cầu
Bot của bạn. Bạn có thể cho Banking Bot
biết mục đích bạn vay vốn để làm gì
không
ạ?
Khách
Vay mua nhà muc_dich_vay = “vay mua nhà”
hàng
Khách
Bạn muốn vay bao nhiêu tiền?
hàng
Bot 1 tỷ so_tien_vay = “1.000.000.000”
Banking bot hiện có thể hỗ trợ vay
lên đến 15 năm với mục đích vay
Bot
mua nhà. Bạn dự định vay trong
vòng bao
lâu??
Khách
Khoảng 10 năm thoi_gian_vay = “10 năm”
hàng
Với số tiền vay 1 tỷ trong vòng 10 Với số tiền vay {so_tien_vay} trong vòng
năm, số tiền phải trả hàng tháng là {thoi_gian_vay}, số tiền phải trả hàng
18.334.000 đồng. Bạn có thể click tháng là {phuong_an_vay} đồng. Bạn có
Bot vào nút bên dưới để xem thông tin thể click vào nút bên dưới để xem
chi tiết của phương án vay hoặc tùy thông tin chi tiết của phương án vay
chỉnh phương án vay khác theo nhu hoặc tùy chỉnh phương án vay khác
cầu của theo nhu cầu
bạn. của bạn.
7. Cài đặt Bot
7.1 Bắt đầu
- Để tạo màn hình Bắt đầu cho Bot, người huấn luyện truy cập vào tab Cài đặt Bot sau đó chọn
Bắt đầu (1).
- Chọn ý định từ danh sách (2), lựa chọn ý định Welcome để thiết lập lời chào khi khách hàng
nhấn “Bắt đầu”.
- Nhấn Lưu (3) để hoàn thành cài đặt

7.2 Chào hỏi


- Chọn tab Chào hỏi (1) tại mục Cài đặt Bot
- Nhấn chọn nút Tạo mới (2). Tại giao diện hiển thị chọn ngôn ngữ Tiếng Anh/Tiếng Việt (3)
- Nhập nội dung lời chào vào ô Nội dung (4)

7.3 Ice_Breakers
- Chọn tab Ice_Breakers tại mục Cài đặt Bot (1)
- Nhân chọn Tạo mới (2), tại giao diện hiển thị nhập nội dung câu hỏi (3) và ý định tương ứng
(4) để Bot đưa ra các phản hồi phù hợp
- Nhấn chọn Tạo mới để hoàn thành bước tạo Ice_breakers đầu tiên
7.4 Persistent Menu
- Để tạo menu cố định, chọn tab Persistent Menu (1) tại mục Cài đặt Bot.
- Sau đó nhận chọn Tạo mới (2).
- Nhập các nội dung tương ứng tại giao diện hiển thị (3) , trong đó:
+ Option: Đặt tên cho tùy chọn của menu.
+ Loại: Lựa chọn điều hướng khi khách hàng nhấp vào tùy chọn của menu. Chọn
Redirect_to_intent để điều hướng đến phản hồi của một ý định bất kì trong danh sách Ý
định. Chọn Webview khi muốn điều hướng về một đường dẫn trang web bất kỳ.
- Chọn Tạo mới (4) để hoàn tất tạo tùy chọn cho menu. Tiếp tục thực hiện tương tự với những
tùy chọn khách.

7.5 Whitelist Domains


Để Facebook cho phép hiển thị các đường dẫn không thuộc danh mục cho phép của Facebook,
sử dụng tính năng Whitelist domains để Facebook xét duyệt những đường dẫn này.
Người huấn luyện thực hiện theo những bước sau
- Bước 1: Chọn tab Cài đặt bot, sau đó nhấn chọn Whitelist Domains (1)
- Bước 2: Tại ô nội dung, nhập vào những đường dẫn cần Facebook xét duyệt (2). Người huấn
luyện có thể thêm danh sách nhiều đường dẫn khác nhau. Nhấn Enter để hoàn tất nhập.
8. Gửi thông báo cho Admin
Thiết lập triggers giúp kích hoạt chức năng thông báo gửi về email hoặc tin nhắn khi khách hàng
thực hiện hành động nào đó đáp ứng với điều kiện do người dùng thiết lập.
Ví dụ: Thiết lập thông báo khi có khách hàng thực hiện hành động đặt hàng, thông báo cho
nhân viên khi Bot không hiểu ý khách hàng…
- Bước 1: Chon nền tảng để gửi thông báo (Email/Trình trò chuyện kết hợp- hybridchat). Sau
đó kích hoạt tính năng Trigger (1)
- Bước 2: Thiết lập điều kiện (2) để kích hoạt thông báo. (Ví dụ: Kích hoạt thông báo khi khách
hàng để lại email, số điện thoại tư vấn,...)
- Bước 3: Chọn Message (3) để ghi chú thông tin chi tiết cho thông báo.

9. Lịch sử
9.1 Lịch sử kiểm tra
Nhấn chọn tab “Lịch sử kiểm tra” tại thanh công cụ bên trái trong phần conversation để chuyển
hướng đến giao diện lịch sử kiểm tra.
Giao diện này hiển thị kết quả nhận diện NLP của tất cả câu mẫu được nhập hoặc tải lên hệ thống.
Các câu mẫu này có thể nằm trong hoặc ngoài bộ dữ liệu mẫu dùng để huấn luyện NLP.
9.2 Lịch sử huấn luyện
Nhấn chọn tab “Lịch sử huấn luyện” tại thanh công cụ bên trái trong phần conversation để
chuyển hướng đến giao diện lịch sử huấn luyện.
Sau khi hệ thống hoàn thành quá trình huấn luyện dữ liệu câu mẫu, kết quả sẽ được cập nhật
tại giao diện tab “Lịch sử huấn luyện”. Hệ thống sẽ cập nhật kết quả của tất cả các đợt huấn luyện.
Người dùng có thể xem kết quả chi tiết của mỗi đợt huấn luyện bằng cách nhấn chọn biểu
tượng “xem chi tiết” tại cột chi tiết.

● Confusion Matrix (Ma trận hỗn loạn) Ma trận hỗn loạn được dùng để đo lường độ chính
xác của quá trình huấn luyện NLP. Ma trận cho biết trong mỗi ý định có bao nhiêu câu mẫu được
nhận diện đúng, bao nhiêu câu mẫu được nhận diện sai và nhận diện sai với ý định nào. Ý định nào
được nhận diện đúng nhiều nhất và ý định nào thường bị phân loại nhầm vào ý định khác. Ma trận
hỗn loạn liệt kê toàn bộ ý định được huấn luyện trong hệ thống theo chiều ngang và chiều dọc.
o Lấy chiều dọc làm chuẩn để xem kết quả và chiều ngang là chiều để tham chiếu.
o Tại mỗi cột của ma trận tương ứng với 1 ý định, người dùng cần chú ý đến các ô màu xanh
và màu đỏ cùng với chữ số tại mỗi ô.
o Ô màu xanh sẽ nằm trên hàng chứa ý định đang được tham chiếu. Chữ số trong ô màu
xanh là số câu mẫu mà hệ thống nhận diện đúng ý định.
o Ô màu đỏ sẽ nằm trên hàng chứa ý định bị nhận diện sai. Chữ số trong ô màu đỏ là
số câu mẫu mà hệ thống nhận diện sai ý định.
o Tổng số của 2 ô màu sẽ bằng với tổng số câu mẫu được huấn luyện của một ý định.
● Ma trận hình bên dưới cho thấy kết quả huấn luyện của hệ thống đối với ý định
ask_phone_number_credit_loan là như sau:
o Có tổng cộng 12 câu mẫu tương ứng với ý định ask_phone_number_credit_loan
được huấn luyện trên hệ thống. Trong đó có 5 câu hệ thống nhận diện đúng ý định
là ask_phone_number_credit_loan, và 7 câu hệ thống nhận diện sai ý định.
o Ý định bị nhầm lẫn là ask_phone_number_cash_loan.
o Độ chính xác của quá trình huấn luyện là 94.9%.Kiểm tra NLP.

10. Cập nhật dữ liệu tái huấn luyện


Nhấn chọn tab “Dữ liệu tái huấn luyện” tại thanh công cụ bên trái trong phần conversation để
chuyển hướng đến giao diện dữ liệu tái huấn luyện.
Giao diện này hiển thị tất cả các câu mẫu (tin nhắn của khách hàng tại các kênh chat) mà
Admin trang hybridchat đã đề xuất chỉnh sửa ý định đang được bot nhận diện sai. (Tham khảo tại
phần trò chuyện kết hợp- AI đề xuất). Người dùng có thể xem các đề xuất chỉnh sửa, điều chỉnh và
quyết định có tái huấn luyện các dữ liệu này hay không.

Khi người dùng chọn “Thêm câu mẫu” thì những câu mẫu đó sẽ được thêm vào tại tab “Câu
mẫu”. Người dùng có thể vào tab câu mẫu và thực hiện huấn luyện lại các câu mẫu được thêm
này.
IV. Tích hợp
Nền tảng Conversational AI ATTVN có thể tích hợp Bot trên các nền tảng: Facebook Messenger,

Web và Zalo. Người huấn luyện nhấn chọn biểu tượng kích hoạt trên nền tảng cần tích hợp.
Sau đó, thực hiện theo hướng dẫn trên ô thông báo popup.

V. Hybridchat & Quản lý trò chuyện


1. Giới thiệu
Như đã đề cập ở trên, nền tảng thứ 2 mà ATTVN cung cấp là Hybridchat cho phép quản trị viên
theo dõi, tham gia trực tiếp vào các cuộc hội thoại đang diễn ra giữa bot và khách hàng, kiểm tra
hiệu quả hoạt động của bot và ghi chú để đào tạo thêm trong quá trình sử dụng
2. Trò chuyện kết hợp - Hybridchat
Truy cập đường dẫn https://livechat-beta.vnlp.ai/#/login?returnUrl=%2Fbots và thực hiện
đăng nhập vào hệ thống trò chuyện kết hợp- hybridchat với tài khoản mà công ty ATTVN đã cung
cấp.
*Lưu ý: Giao diện hybridchat hiển thị tất cả các bot được tạo ra trong trình tạo bot Virtual
Agent, bao gồm cả bot tổng và bot con. Trong trường hợp doanh nghiệp có nhiều bot thì người
dùng (Admin) nhấn để chọn bot cần hỗ trợ trực tuyến.
Sau khi đăng nhập hybridchat, người dùng có thể thực hiện 1 số thao tác đối với tài khoản như:
● Đổi mật khẩu.
● Đăng Xuất.
● Thay đổi ngôn ngữ.

Bên cạnh đó người dùng (Admin) có thể xem thông báo và tham gia cuộc trò chuyện giữa
Conversational AI và khách hàng.
Thông báo gồm có 2 loại (Tham khảo thêm tại phần “Gửi thông báo cho nhân viên” của nền tảng
Virtual Agent):
● Tham gia phòng: Admin nhấn vào thông báo này sẽ tham gia vào cuộc trò chuyện.
● Thông báo thông thường: Admin nhấn vào thông báo để xem cuộc trò chuyện.

3. Quản lý trò chuyện


Tại nền tảng hybridchat, nhấn chọn tab “Quản lý trò chuyện” tại thanh chức năng bên trái để đi
đến giao diện quản lý trò chuyện.
Giao diện quản lý trò chuyện hiển thị tất cả cuộc trò chuyện có trên bot của tất cả các kênh
được tích hợp (Website, Zalo, Messenger). Trong đó:
- Tab Assigned: Quản lý tất cả các cuộc trong chuyện đã có admin tham gia.
- Tab Unassigned: Quản lý tất cả các cuộc trò chuyện chưa có admin tham gia,chỉ có bot
đang tương tác với khách hàng.
3.1. Tham gia cuộc trò chuyện
Admin chỉ có thể tham gia vào cuộc trò chuyện chưa có admin nào tham gia (tab UnAssigned).
Admin tham gia cuộc trò chuyện bằng cách:
- Bước 1: Chọn Tab Unassigned
- Bước 2: Nhấn vào biểu tượng chat.
- Bước 3: Nhấn xác nhận tham gia phòng.

Khi tham gia vào cuộc trò chuyện, admin có thể theo dõi cuộc trò chuyện đang giữa bot và
khách hàng. Nếu bot đang phản hồi chưa chính xác, admin có thể ngừng bot để trực tiếp trò
chuyện với khách hàng.
3.2. AI đề xuất
Khi Admin tham gia cuộc trò chuyện, phía góc phải sẽ hiển thị phần AI đề xuất với các ý định
và phản hồi sắp gửi đi của bot khi bot nhận diện được câu chat của khách hàng.
- Trường hợp bot nhận diện ý định chính xác với câu chat của khách hàng thì Admin có thể
để cho bot tự động phản hồi hoặc nhấn nút “Gửi phản hồi” để gửi ngay tin nhắn.
- Trường hợp bot nhận diện ý định chưa chính xác với câu chat của khách hàng hoặc câu
phản hồi chưa phù hợp thì Admin sẽ dừng bot và chat trực tiếp với khách hàng. Bên cạnh
đó, Admin có thể đề xuất thay đổi ý định bot nhận diện cho chính xác hơn bằng cách nhấn
vào nút “Ý định mới” và chọn ý định muốn thay thế trong list ý định được gợi ý sẵn
*Lưu ý: Ý định mà Admin đề xuất thay đổi sẽ được gửi về hệ thống Virtual Agent trong phần
“Lịch sử tái huấn luyện”. Nhân viên huấn luyện bot sẽ là người xem xét và quyết định việc huấn
luyện lại hay không.
3.3. Thông tin khách hàng
Phần thông tin khách hàng hiển thị ngay bên dưới phần AI đề xuất khi Admin tham gia cuộc
trò chuyện. Phần này cho phép Admin ghi chú các thông tin của khách hàng như: tên, email, địa
chỉ, số điện thoại và gắn nhãn khách hàng như: khách Vip, mua nhiều …
Việc ghi chú này giúp cho Admin dễ dàng quản lý danh sách khách hàng tiềm năng để có
những chiến dịch chăm sóc riêng.

3.4. Quản lý khách hàng


Tại nền tảng hybridchat, nhấn chọn tab “Quản lý người dùng” tại thanh chức năng bên trái để
đi đến giao diện quản lý người dùng (khách hàng).
Giao diện quản lý người dùng sẽ hiển thị tất cả tài khoản khách hàng đã tương tác với bot trên
các kênh được tích hợp (Website, Zalo, Messenger) kèm với các thông tin được Admin ghi chú.
Admin có thể tìm kiếm khách hàng theo nhãn dán và theo tên.
VI. Tính năng phân tích, thống kê
1. Giới thiệu tính năng thống kê
Tại nền tảng hybridchat, nhấn chọn tab “Phân tích” tại thanh chức năng bên trái để đi đến giao
diện phân tích, thống kê.
Giao diện phân tích sẽ hiển thị số phiên làm việc của Conversational AI, số lượt tin nhắn của
khách hàng, thống kê ý định và hành vi khách hàng dưới dạng biểu đồ trực quan.
Admin có thể chọn thời gian để xem báo cáo.

2. Phiên làm việc


Khoảng thời gian từ lúc khách hàng bắt đầu chat đến lúc ngừng chat kéo dài từ 15 phút trở lên
để bắt đầu phiên chat tiếp theo được gọi là “phiên làm việc”.
Giao diện tab phân tích sẽ thống kê phiên làm việc theo ngày. Admin di chuyển chuột đến các
điểm trên biểu đồ để xem chi tiết.

3. Lượt truy vấn


Lượt truy vấn là tổng số lượng tin nhắn của khách hàng trong tất cả các phiên làm việc.
Giao diện tab phân tích sẽ thống kê lượt truy vấn theo ngày. Admin di chuyển chuột đến các
điểm trên biểu đồ để xem chi tiết.
4. Thống kê ý định
Giao diện tab phân tích sẽ thống kê tất cả phiên làm việc, số lượng tin nhắn và lượt thoát theo
từng ý định mà bot nhận diện được.
Việc thống kê này sẽ giúp Admin biết được khách hàng đang quan tâm nhiều đến vấn đề gì. Tỉ
lệ thoát của khách hàng đối với ý định nào nhiều nhất, từ đó điều chỉnh model để chabot hoạt
động hiệu quả hơn.

5. Hành vi người dùng


Tab phân tích cũng hiển thị sơ đồ phân tích hành vi của khách hàng từ lúc bắt đầu chat đến lúc
kết thúc phiên chat.
Sơ đồ phân tích này sẽ cho Admin biết, từ lúc bắt đầu phiên chat có bao nhiêu % khách hàng
sẽ đi vào những ý định nào. Các nhánh này sẽ đi tới đâu và kết thúc ở đâu. Từ đó phân tích được
hành vi của khách hàng, đánh giá hiệu quả hoạt động của model để điều chỉnh giúp Conversational
AI hoạt động tốt hơn.

- hết -

You might also like