Đề tài lần này của nhóm tác giả chủ yếu tìm hiểu về một dịch vụ do Googlecung cấp đó là Dialogflow và nghiên cứu xây dựng một ứng dụng Chatbot demo trênngôn ngữ Javascript thông qua Dial
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA HE THONG THONG TIN
HOANG THUY TRINH
LE THI TRUC HOA
KHOA LUAN TOT NGHIEP TIM HIEU GOOGLE CLOUD DIALOGFLOW &
XÂY DUNG UNG DUNG CHATBOT MINH HỌA
Researching Google Cloud Dialogflow &
Build an illustrated chatbot application
KY SU NGANH HE THONG THONG TIN
TP HO CHÍ MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA HE THONG THONG TIN
HOANG THUY TRINH - 17521162
LÊ THỊ TRÚC HÒA - 17520491
KHÓA LUẬN TÓT NGHIỆP
TÌM HIỂU GOOGLE CLOUD DIALOGFLOW & XÂY DỰNG ỨNG DỤNG CHATBOT MINH HỌA
Researching Google Cloud Dialogflow &
Build an illustrated chatbot application
KY SU NGANH HE THONG THONG TIN
GIANG VIEN HUONG DAN
THS VU MINH SANG
TP HO CHÍ MINH, 2021
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
T8ầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4LOI CAM ON
Lời đầu tiên nhóm tác giả xin gửi lời cảm on sâu sắc đến thay giáo — ThS
Vũ Minh Sang, giảng viên khoa Hệ thống Thông tin trường Đại học Công nghệ
Thông tin — Đại học Quốc gia thành phố Hồ Chí Minh, người đã trực tiếp hướng
dẫn và tạo mọi điều kiện thuận lợi nhất cho nhóm trong quá trình nghiên cứu và hoàn thành khóa luận tốt nghiệp.
Nhóm xin được bày tỏ lòng biết ơn đến các giảng viên trường Đại học
Công nghệ Thông tin, đặc biệt là các thầy cô khoa Hệ thống Thông tin đã chia sẻ những kinh nghiệm quý báu và giảng dạy nhiều kiến thức bổ ích trong suốt thời
gian theo học tại trường.
Cuối cùng, cảm ơn gia đình và bạn bè đã luôn ủng hộ, động viên và hỗ trợ
cho chúng em trong quá trình làm khóa luận.
Mặc dù nhóm đã có gắng hoàn thành khóa luận nhưng chắc chắn sẽ không tránh khỏi
những sai sót, nhóm tác giả kính mong nhận được sự thông cảm, chỉ bảo của quý thầy
cô và các bạn.
Xin trân trọng cảm ơn!
Nhóm thực hiện khóa luận
Trang 52.1.1 Khái niệm _ 22 08 tna 6
2.1.2 Cấu tạo của chatbot -22222+2222+2+t2EEEEertEEEErrrrrrrreerrrei 6
2.1.3 Phân loại Chatbot 6-ccccscsrstekererrrrrrererrrrkerree 7
2.1.4 Hoạt động của Cha(bOL 55252 2*2t+c‡zterrkrkerrrrrkrkrrerrree 8
2.1.5 Một số nền tảng hỗ trợ Chatbots -c-: -©22c5scccccccccccxx 9
2.1.6 So Sanh các nền tảng hỗ trợ Chatbots .: z5 0 2.1.7 Các nền tảng Chatbot hiện nay được ưu chuộng: - 1 2.1.8 Một số ứng dụng Chatbot -:-52222vcccrrtrrrrkrrrerrrrrrer 2
2.1.9 Xu Hướng phát triển -cccc¿++2222vvvrrrrrrtrrrrtrrrrrrrrrer 3
2.1.10 Lợi ích của việc sử dụng chatbotS - - 55+ csxsv+xsrererzxe 4
2.2 Google Cloud Dialogflow - óc cv ngư 6
Trang 62.2.2 Các đối tượng trong Dialogflow -cc:c52csvcceccvsrrcsrr 21
2.2.2.1 Agents
2.2.2.2 Ín(€n(S cát HH HH 21 2.2.2.3.
2.2.2.4 COntex(s co HH re 24
2.2.2.5 Actions and Parameters
Chương 3 PHAN TÍCH THIET KE cccccsssssessssssecssssssesessssecsssssseeesssseressssseeesessees 27
3.1 Thiét kế hệ thong
3.1.1 Thiết kế sơ đồ khối hệ thống -:¿-©2z22v+c++ccvsvccrr 27 3.1.2 Mô tả luồng đi của sơ đồ -222ccccccvvcrrecrrvrrerrrrrrcrrr 27 3.2 Chức năng các khối của hệ thống -c:¿¿¿22cvvv++ettrcrvrrrrerrrrrrrr 28 3.2.1 _ Truyền dữ liệu, thông tỉn -vcc+++2cvvvvverrrrrrrr 28
3.2.2 Xử lý dữ liệu, thông tin thông qua Dialogflow - 30
3.2.3 Thực hiện truy vấn trên Webhook -ccccsrsecrrseerrserrreccerv2 Ï
Chương 4 XÂY DUNG UNG DỤNG CHATBOT MINH HỌA 33
4.1 Quy trình xây dựng chatbot cơ bản trên Dialogflow -‹ - 33
4.1.1 Ta0 t&c Man 01 33
4.1.2 Tao MUC GiCh 1177 ad Ả 34
4.1.3 Thêm phản hồi -222222 2222222222111 222111 2221 ccrrkev 35
4.1.4 Chạy thử Hee 36 4.1.5 Thực hiện cơ bản trên Weblhook ¿5:55 s+c+xczesezezvsere 36
4.2 Xây dựng ứng dụng chatbot minh họa ¿- - - ¿55 5255+++c+s+£scxcxe 37
4.2.1 Sơ đồ mô phỏng hướng đi của ứng dụng -: 55+ 37
4.2.2 _ Quá trình xây dựng - «ST ưn 38
Trang 7Chương 5 THUC NGHIỆM 5-5222 SE 2E‡EtEEEEeEtErrtererrrrkerrrrrksre 47
5.1 Tổng quan kết quả đạt được :-¿-©¿++++++2x++£x++Extzxxerxesrxrrrxees 47
5.2 Thurc na 47
5.2.1 — Kịch bản Ì 22c 22Sc 22 EEEEerrrrerrerrerrree 47 5.2.2 Kich Dam 2occecccccccsssssssssesssesssecssesssesssscssecsssessseessecssscessecsseesseeesseessecess 52 5.2.3 Kich Dam 3 cceccccsscsssssssessssesssecssscsssesssecssscsssssssecssecsssessseessecsseeesseessecess 53 5.2.4 Kich Dat 4occcccccscscssscsssesssssssessesssecssessessssssussssessesssecsusesecssecsseeseseseeasecs 54
Chương 6 KET LUẬN, HAN CHE VA HƯỚNG PHAT TRIÊN 56
6.1 KGtUane.cccsccccccccccsssssssessssssesssscssscsssssscssscssessssssssssssssssseasecssecsusssecssecsuseseeasecs 566.2 Hạn ché c sscssestiilllllaeetest0s-scsnectsastillenedlbccsssssssssessessssssesssessssssesssessees 576.3 Hướng phat triGt ec c.cecccccccscccsccscssessessessessesssscsessessessessessessesscstesessessessessesees 58TAI LIEU THAM KHAO ccccccsssccsescsececscsesscsesesecscsvsucacanssacsesueasatsususatsnesasavaeacars 60
Trang 8DANH MỤC HÌNH
Hình 1.1.1 Cách thức hoạt động của Chatbot - - 5 5c S3 skrrereerrssrrsree 3
Hình 2.1.2 Mô tả hướng di của ChafbOI - - c3 1123111 1211111 E.Errkrrrree 9
Hình 2.2.2 Biéu tượng Google Cloud DialogflOww -¿- 2 2+ +xezx+£xezzzszse2 17Hình 2.2.3 Mô tả VỀ A genI ¿25-252 22S222122112211221121122112711211 211211121121 cre 21
Hình 2.2.4 Input Context và Output Context - s5 3+ sssikssksekrske 24
Hình 2.2.5 Tham số trong DialogfÏOwW - 2-5252 E£SE£2E+2EE2EEEEEtEEzExerkerrrrex 25
Hình 3.1 Sơ đồ hệ thống chatbots tự độngÏ?l 2-2 s+2£2+E£+£E+£E+zE+zEzrxerxezex 27
Hình 3.2 Sơ đồ của khối truyền dif liệu, thông tin - 2-2 2 x+2£z+£z+zxsrxcrez 29Hình 3.3 Sơ đồ của khối xử lý dữ liệu, thông tin thông qua Dialogflow 30Hình 3.4 Sơ đồ khối truy vấn -¿- ¿2 +222E192E+2E221221521711211221 7121121121 re 31
Hình 4.1 Giao diện DIalOgBÍÏOW SG 1E TH TH trên 33
Hình 4.2 Giao diện mô tả bước tạo ý định - - - c1 31213 ESEssirrsereresrs 33
Hình 4.3 Giao diện mô tả xác định các tham SỐ, ý định .- se cscsesseres 34
Hình 4.4 Giao diện tạo Entity Q1 112111 ng HH ng 35
Hình 4.5 Giao diện mô tả them phản hồi 2-2 2 s2 +2 22 £+E£zEe£Ee£xezxezszs+2 35
Hình 4.6 Giao diện chatbot mỚI test c5 c2 1333222 E‡+222EE++22EEE++zerxsss 36
Hình 4.7 Hình anh mô tả sơ đồ hướng đi của ứng dụng .: ¿-5z 5+ 37
Hình 4.8 Hình anh mô tả bước tạo trang fanpage© - - + + ssstrseereerererrrs 38 Hình 4.9 Giao diện chọn mục đích của fanpage .- - - c Sc St sieirerrree 39
Hình 4.10 Giao diện hiển thị khi đăng kí tài khoản trên Facebook Developer 39
Hình 4.11 Hinh ảnh hiền thị thông tin token 2-2 s2 s2 22 £+E£+Ee£xe£x+rxezszx+2 40Hình 4.12 Hiên thị thông tin URL ở webhiook ¿- 5 2 2 2+s£+xe£xe£xe£zzszse2 40
Hình 4.13 Giao diện tao agent chính thức cho ứng dụng - «<< <+<<+ 41
Hình 4.14 Giao diện bên Google Cloud PÏatform 55s s + +++sexsseesesees 42
Hình 4.15 Mô tả dòng lệnh S13 211119 1191 H1 HH HH HH HH hiệp 42
Hình 4.16 Hình anh hién thị thông tin kết nối giữa server, Dialogflow, Facebook 42
Hình 4.17 Hiển thi data dưới dang file ©XC€Ì c3 1S re 43
Hình 4.18 Giao diện database trên Mongo DB Cloud -«-+-«<++<ss++<s++ 43
Trang 9Hình 4.19 Hiền thị thông tin kết nối với data thành công - -: :-=5+ 44
Hình 4.20 Khai báo các trường tương ứng với cơ sở dữ liệu -«- 44
Hình 4.21 Hình ảnh hiền thị các intent đã được tạo - - :-cc5x+xcxexsxerxskerxerera 45Hình 4.22 Giao diện các phan hiển thị các tham số, ý định -.: -:-s+ 45
Hình 5.1 Hình anh mô tả về kịch bản gợi ý món ăn 2 255 ++£s+£+2 +2 48
Hình 5.2 Hình ảnh chỉ tiết thẻ được trả ra - ¿St x+E‡EvEE+E+EEEEEEeEeErkererersrree 48
Hình 5.3 Hình anh mô tả kịch bản l -2-5¿©22 E+SE+2E£2E£+EE+EEtzEezEesrxerxrrex 49 Hình 5.4 Hình anh mô tả kịch bản 1 - 2-2 2£ ©5£2S£+EE+EE£EE£EE+EEeExerxrrerred 50
Hình 5.5 Hình anh mô tả kịch bản gợi ý món ăn gần tôi 5 s52 s2 51
Hình 5.6 Hình ảnh hiền thị rõ các buổi được gợi ý - -¿-s¿5cs>szec++ 51
Hình 5.7 Hình anh mô tả kịch bản gợi ý món ăn theo buổi -. -5- 552552 52
Hình 5.8 Hình ảnh mô tả kịch bản 2 - - - - -c5 5 22131313221 EEE+++zeeeeeeeezze 53 Hình 5.9 Hình ảnh mô tả kịch bản 3 - 2 22222113321 E3222EE+2++xeexeses 54 Hình 5.10 Hình ảnh mô tả kịch bản 4 2 2 E+2E£2E£+EE+EE£EE£EzEEerxerxerrerred 55
Hình 6.1 Hình ảnh dẫn chứng - ¿2-52 5c S1£S2SE‡EE2E£EEEEEEEEEEEEEEErkerkrrerkrrees 58
Trang 10DANH MỤC BANG
Bang 2.1 Bảng so sánh nền tảng hỗ trợ, 2-2252 SE+SE‡2E2EE2EEvEEeEEErEkerkerkrex
Bảng 4.1 Bang mô tả các hàm sử dung trong S€TV€T 55 cv sssesesers
Trang 11TÓM TẮT KHÓA LUẬN
Trong thời đại 4.0, khoa học công nghệ phát triển không ngừng, dan tiến đến
một tầm cao mới thì không thể nhắc tới Chatbot Một công nghệ đ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, các trường đạihọc, học viện, và rất nhiều lĩnh vực khác được ứng dụng công nghệ mới này.Chatbot là một hình thức thô sơ của phần mềm trí tuệ nhân tạo, một chương trìnhđược tao 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ý tình huống 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 Có rất nhiều công cụ cũng như thư viện hỗ trợ cho Chatbots như
Dialogflow, RASA, Amazon Lex,
Đề tài lần này của nhóm tác giả chủ yếu tìm hiểu về một dịch vụ do Googlecung cấp đó là Dialogflow và nghiên cứu xây dựng một ứng dụng Chatbot demo trênngôn ngữ Javascript thông qua Dialogflow đề nhận thông tin, trả lời tự động và thựchiện các yêu cầu từ user ở Facebook messeger phục vụ cho việc gợi ý các quán ăn
trong phạm vi giới han.
Trang 12Chương 1 TONG QUAN ĐÈ TÀI
Chương nay sẽ trình bày nội dung sơ lược của toàn bộ dé tài vê mục tiêu của đê tài là
gì, các nội dung cân phải tìm hiêu, khoanh vùng phạm vi tìm hiệu van dé và dé xuât phương pháp tìm hiêu hợp lí Trong chương này cũng trình bày câu trúc của khóa
luận.
1.1 Đặt van đề
Trong những năm gần đầy, mặc dù còn mới mẻ trong lĩnh vực khoa học và côngnghệ nhưng Chatbots đang được nghiên cứu và phát triển với tốc độ nhanh chóng bởicác trung tâm lĩnh nghiên cứu, trường đại học, các học viện, Với rất nhiều ứngdụng trên các lĩnh vực khác nhau như : giải trí, y tế, thương mai, tự động hóa , Kê
từ khi chatbots được phát trién mạnh mẽ vào năm 2016, nó đã nhanh chóng trở thànhmột trong những xu hướng công nghệ được quan tâm nhất trong giai đoạn đó cho đến
nay.
Chatbots phát triển dựa trên sự kết hợp của các kịch bản có trước và tự học trong quátrình tương tác Ta sẽ tương tác với chatbots qua nén tang tin nhắn Với các câu hỏiđặt ra, Chatbots sử dụng các hệ thông xử lý ngôn ngữ tự nhiên (Natural LanguageProcessing) để phân tích dữ liệu Chatbots sử dụng nhiều hệ thống quét các từ khóabên trong đầu vào, sau đó bot khởi động một hành động, kéo một câu trả lời với các
từ khóa phù hợp nhất và trả lời thông tin từ một cơ sở đữ liệu/API, hoặc bàn giao cho
con người.
Trang 13Hình 2.2.1.1.1.1 Cách thức hoạt động của Chatbot
Hiện nay công nghệ này được ứng dụng nhiều trong các lĩnh vực đời sống con người,các trang mang xã hội đang rất phô biến trong cuộc sông nên việc mang con ngườitiếp cận đến Chatbot là một điều dé dang Và van đề suy nghĩ phải ăn gì vào mỗi buồiđều là chuyện đau đầu không chỉ riêng mỗi cá nhân Việc giúp ích người dùng không
bị mất quá nhiều thời gian trong việc tìm thông tin quán ăn Với mong muốn tạo ra
ứng dung demo của ChatBot có khả năng hỗ trợ việc gợi ý quán ăn trong pham vi gần
đối với người dùng, nhóm tác giả đã tiến hành tìm hiểu, nghiên cứu và thực hiện đề
tai:” Tìm hiểu Google Cloud Dialogflow - và xây dựng ứng dụng chatbot minh
thông qua Facebook Messenger Platform và server Heroku.
Trang 141.2.2 Phạm vi
Phạm vi nghiên cứu như sau:
s* Tìm hiểu về Chatbots, Diglogflow, Intents, Entities, Contexts, Actions and
Parameters, Training Phrase, Fulfillment.
s% Vẽ sơ đồ khối của Chatbots, vẽ lưu đồ của Diglogflow
s* Xây dựng một Chatbots có khả năng phân tích ngôn ngữ và gợi ý địa điểm ăn
uống cho người dùng với các chức năng chính:
e Crawler để thu thập dữ liệu địa điểm, món ăn trên Foody.vn hoặc
Now.vn
e Server chatbot để kết nối với fanpage Facebook, server này dùng
Dialogflow dé phân tích ngôn ngữ rồi query dit liệu
1.2.3 Cấu trúc khóa luận
Cấu trúc khóa luận được chia thành các chương như sau:
s* Chương 1: Tổng quan
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nộidung, nghiên cứu, giới han và bố cục đồ án
+ >* Chương 2: Cơ sở lý thuyết
Giới thiệu về Chatbots, Dialogflow, Intents, Entities, Contexts, Action and
Parameters, Training Phrase, Fulfillment.
** Chương 3: Phân tích thiết kế>
Xây dung sơ đô khôi, lưu đô , sơ đô ERD của dữ liệu được lưu trữ trên server
và mô tả các bảng của dữ liệu (nêu có).
+ > »® Chương 4: Xây dựng ứng dụng Chatbot minh hoa
Thiết kế Chatbots trên Dialogflow, dung server dựa trên framework củaNodejs, server này dùng Dialogflow dé phân tích ngôn ngữ rồi query dữ liệu
*
> » Chương 5: Thực nghiệm
Các kết quả đạt được khi thực hiện chương trình, phân tích, nhận xét, đánh giákết quả thu được
Trang 15“+ Chương 6: Kết luận va hướng phát triển
Tóm tắt những kết quả đạt được, những hạn chế và nêu lên các hướng pháttriển trong tương lai
Trang 16Chương 2 CƠ SỞ LÝ THUYET
Nội dung chính của chương này sẽ giới thiệu tập trung đi sâu vào nội dung chính đó
là Chatbots!!!, Dialogflow!l, Intents, Entities, Contexts, Action and Parameters,
Training Phrase, Fulfillment
2.1 ChatBots
2.1.1 Khai niém
Chatbot - đôi khi được gọi là chatterbot - là chương trình mô phỏng cuộc trò chuyện
hoặc "trò chuyện" của một con người thông qua các tương tác băng văn bản hoặc
giọng nói Trợ lý ảo Chatbot đang ngày càng được sử dung dé xử lý các tác vụ đơn
giản, tra cứu trong cả môi trường doanh nghiệp với người tiêu dùng ( B2C ) và doanh
nghiệp với doanh nghiệp ( B2B ) Việc bồ sung trợ lý chatbot không chỉ làm giảm chiphí chung bằng cách tận dụng thời gian của nhân viên hỗ trợ tốt hơn, nó còn cho phépcác công ty cung cấp dịch vụ khách hàng ở mức độ cao trong những giờ không có đại
lý trực tiếp |"),
2.1.2 Cấu tạo của chatbot
Cấu tao cơ bản của Chatbot gồm có ba phan bao gồm: cơ sở dữ liệu, lớp ứng dung,quyên truy cập vào các API và giao diện đồ họa người dùng Nhờ những thành phan
cơ bản đó mà nó có thể hoạt động được
e Cơ sở dữ liệu: Co sở dữ liệu lưu trữ các thông tin, dữ liệu và nội dung.
e Tầng ứng dung: Các giao thức của tang ứng dụng thường được dùng dé trao
đổi dữ liệu giữa các chương trình chạy trên máy nguồn và máy đích Tang nàyđóng vai trò như cửa sô dành cho hoạt động xử lý các trình ứng dụng, nó biểu
diễn những dịch vụ hỗ trợ trực tiếp các ứng dụng người dùng, chắng hạn nhưphần mềm chuyền tin, truy nhập cơ sở dữ liệu và email, v.v
e Giao diện lập trình ứng dung (API): là một giao diện mà một hệ thống máy
tính hay ứng dụng cung cấp để cho phép các yêu cầu dịch vụ có thể được tạo
Trang 17ra từ các chương trình máy tính khác, hoặc cho phép dit liệu có thé được trao
đổi qua lại giữa chúng
2.1.3 Phân loại Chatbot
Chatbots vẫn còn là một công nghệ tương đôi mới, nên có nhiêu tranh luận xung
quanh số lượng và phân loại của các loại có sẵn Tuy nhiên, một sô loại chatbot phố
biên bao gôm:
Chatbots có kịch bản hoặc trả lời nhanh - Đây là những chatbots cơ bản
nhất; chúng hoạt động như một cây quyết định phân cấp Các bot này tương
tác với người dùng thông qua một tập hợp các câu hỏi được xác định trước sẽ
tiến triển cho đến khi chatbot trả lời câu hỏi của người dùng Tương tự như
chatbot này là chatbot dựa trên menu yêu cầu người dùng thực hiện các lựachọn từ danh sách hoặc menu được xác định trước đề cung cấp cho bot hiểusâu hơn về những gì khách hàng đang tìm kiếm
Chatbots dựa trên nhận dạng từ khóa - Những chatbot này phức tạp hơn
một chút; họ cô gang lắng nghe những gì người dùng nhập và phản hồi tương
ứng băng cách sử dụng các từ khóa chọn được từ phản hồi của khách hàng
Các từ khóa có thé tùy chỉnh và AI được kết hợp trong bot nay để cung cấpphản hồi thích hợp cho người dùng Thật không may, những chatbot này phảivật lộn khi phải đối mặt với việc sử dụng từ khóa lặp đi lặp lại hoặc các câu
hỏi thừa.
Chatbots kết hợp - Những chatbot này kết hợp các yếu tố của bot dựa trên
menu và nhận dạng từ khóa Người dùng có thé chọn dé câu hỏi của họ được
trả lời trực tiếp, nhưng cũng có thể truy cập menu của chatbot dé thực hiện lựa
chọn nếu quá trình nhận dạng từ khóa tạo ra kết quả không hiệu quả.
Chatbots theo ngữ cảnh - Những chatbot này phức tạp hơn những chatbot
được liệt kê ở trên và yêu cầu tập trung vào dữ liệu Họ sử dụng ML và AI dé
ghi nhớ các cuộc trò chuyện và tương tác với người dùng, sau đó su dung
những ký ức này để phát triển và cải thiện theo thời gian Thay vì dựa vào từ
Trang 18khóa, những bot này sử dụng những gi khách hàng yêu cau và cách họ yêu cầu
đề đưa ra câu trả lời và tự cải thiện
> > * Chatbot hỗ trợ giọng nói - Loại chatbot này là tương lai của công nghệ
chatbot Các chatbot hỗ trợ giọng nói sử dung cuộc đối thoại bang giọng nói
từ người dùng làm đầu vào nhắc nhở phản hồi hoặc tác vụ sáng tạo Chúng cóthể được tạo bằng cách sử dụng văn bản thành giọng nói ( TTS ) và giao diện
chương trình ứng dụng nhận dạng giọng nói ( API ) Các ví dụ hiện tại bao
gồm Amazon Alexa và Siri của Apple
2.1.4 Hoạt động của Chatbot
Chatbot là sự kết hợp của các kịch bản có trước và tự học trong quá trình tương tác
Ta sẽ tương tác với Chatbot qua nền tảng tin nhắn Với các câu hỏi được đặt ra,Chatbot sử dụng các hệ thống xử lý ngôn ngữ tự nhiên (Natural Language Processing)
dé phân tích dữ liệu sau đó chung lựa chon các thuật toán học máy dé đưa ra các loạiphan hồi khác nhau, chúng sẽ dự đoán và phản hồi chính xác nhất có thé Chatbot sử
dụng nhiều hệ thống quét các từ khoá bên trong đầu vào, sau đó bot khởi động một
hành động, kéo một câu trả lời với các từ khóa phù hợp nhất và trả lời thông tin từmột cơ sở dit liệu / API, hoặc ban giao cho con người Nếu tình huống đó chưa xảy
ra (không có trong dữ liệu), Chatbot sẽ bỏ qua nhưng sẽ đồng thời tự học dé áp dụng
cho các cuộc trò chuyện về sau.
Một trong các yếu tố làm nên sức mạnh của Chatbot là khả năng tự học hỏi.Càng được sử dụng, tương tác với người dùng nhiều, nền tảng Chatbot càng “thông
minh” Chatbot thông minh có khả năng tự học hỏi dựa trên các dữ liệu đưa vào mà
không cần phải được lập trình cụ thể (đó được gọi là phương pháp máy học - Machine
Learning) Chính điều này làm cho các nhà phát triển dé dang tạo các chương trìnhtrò chuyện và tự động hoá các cuộc trò chuyện với người dùng Đề biết thêm chỉ tiết
về các ý tưởng và khái niệm đăng sau Chatbot ta xem sơ đô quá trình sau:
Trang 19Hình 2.2.1.1.1.2 Mô tả hướng di của Chatbot
Nguyên tắc hoạt động của chatbot dựa trên một quy trình”! sau:
s* Translator: Thông tin/yéu cầu của người dùng (user) sẽ được dịch lại bang
ngôn ngữ lập trình Máy tinh sau đó có thé hiểu được các công việc cần thực
hiện.
s* Processor: Công nghệ AI tiến hành xử lý yêu cầu của người dùng
s* Respondent: Máy tính nhận output từ AI và gửi trả cho người dùng kết qua
tương ứng trên platform messenger.
Trang 202.1.6 So Sánh các nền tảng hỗ trợ Chatbots
La một công cụ hầu như hoàn chỉnh dé
tạo một chatbot Hau hết hoàn thành có
nghĩa là nó thực hiện hầu hết mọi thứ
bạn cần cho hầu hết các chatbot
Đề có được mức độ tương tự như
Dialogflow, bạn phải sử dụng cả Rasa
NLU và Rasa Core Rasa NLU xử lý các
dự an/y định/thực thể trong khi RasaCore xử lý đối thoại và thực hiện
Có thể xử lý phân loại ý định và thực thê
Sử dụng những gì gọi là bối cảnh dé xử
lý đối thoại Cho phép liên kết website
dé thực hiện
Rasa không cung cấp GUI nguồn mở
hoàn chỉnh dé lại hầu hết các tương tác
của bạn với NLU trong JSON hoặc
markdown Và Rasa Core yêu cầu pháttriển python trực tiếp để tùy chỉnh bot
của bạn.
Không có một số hình thức quản lý
người dùng
Cũng không trực tiếp cung cấp bất kỳ
loại quản lý thông tin người dùng.
Có một API mạnh mẽ, cho phép xác
định các thực thé/y định/vv thông qua
API hoặc với giao diện dựa trên web của
chúng.
Nhóm Rasa không cung cap dịch vụ lưu
trữ (it nhất là bên ngoài các dịch vụ
doanh nghiệp của họ) và bạn sẽ chịu
trách nhiệm lưu trữ và do đó quyền sở
Dữ liệu được lưu trữ trên đám mây và
mọi tương tác với API.ai đêu yêu câu
liên quan đên đám mây.
Bảng 2.1 Bảng so sánh nền tảng hỗ trợ
10
Trang 21s Dialogflow là một sản phâm nguồn đóng hoàn chỉnh với giao diện web đồ họa
và API đầy đủ chức năng Rasa (NLU + Core) là các thư viện python mã nguồn
mở yêu cầu phát triển mức độ thấp hơn một chút Cả hai đều cố gắng trừu
tượng hóa một số khó khăn khi làm việc với Machine Learning để xây dựng
một chatbot.
s + »_ Dé dễ tiếp cận và mọi người ai cũng có thé tạo ra 1 con bot đơn giản dé thực
hiện ý muốn của mình thì việc lựa chọn xây dựng chatbot trên Diglogflow là
lựa chọn ưu tiên Nền tảng dễ sử dụng, dễ tiếp cận, có hỗ trợ tiếng việt khá tốt.2.1.7 Các nền tảng Chatbot hiện nay được ưu chuộng
Chatfuel e Quan lý tệp khách hang
« Live chat trực tiếp
¢ Gui tin nhắn hàng loạt ngay lập tức hoặc thời
gian chỉ tiết nào đó
¢ _ Kết nối với website và với nhiều nền tảng đa
dạng khác.
Harafunnel e Quan lý data khách hang
e Tu động ib khi khách hang comment post.
¢ Két n6i với website với nút chat
¢ Gửi tin nhăn hàng loạt ngay lap tức hoặc theo 1thời gian cụ thê
« _ Chỉnh sửa vả bật/tắt tin nhắn mặc định
e Tw khóa, kịch bản chăm sóc khách hàng
e Phan loại khách hàng
Manychat e Quan lý tệp khách hang
« Live chat trực tiếp
« Gui tin nhắn hàng loạt ngay lập tức hoặc thời
gian chi tiệt nao đó
11
Trang 22Két nôi với website và với nhiêu nên tang da dạng khác.
Tích hợp thêm realtime, hỗ trợ rất tốt cho các
shop online.
Ahachat Kết nối với website
Nhúng button vào website
Link ref: Có thé lay link kịch bản chia sẻ ở baiviết website, email và khi khách hàng click vào
thì kịch bản sẽ chạy trên Messenger.
2.1.8 Một số ứng dụng Chatbot
>
>
Rose, Insomno Bot người dùng có thé nói chuyện tương tác với chúng hang
giờ, nó trả lời câu hỏi của bạn theo cách nhân văn nhat và hiêu được tâm trạng
* 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,
của bạn với ngôn ngữ bạn đang sử dụng.
>
+
tiết, ngoài dự báo thời tiết chúng còn gửi cảnh báo khi thời tiết xu với sự chấp
thuận của người dùng.
+
>
Ethiopia (dưới 50% dân số được sử dung nước sạch), tổ chức từ thiện: Nướchợp tác với Lokal dé tạo ra Yeshi Yeshi là một ChatBot đại diện các cô gáitrẻ ở Ethiopia, người phải đi bộ 2,5 giờ mỗi ngày dé tìm nước sạch Khi ai đóbắt đầu trò chuyện với bot, Yeshi sẽ gửi hình ảnh, video, clip âm thanh và bản
đô đê tạo ra trải nghiệm cảm xúc sâu sắc giúp người dùng khám phá ra thực tê
* Thời tiết: Poncho là ChatBot được thiết kế dé trở thành một chuyên gia thời
» Tu thiện: Dé nâng cao nhận thức của con người về cuộc khủng hoảng nước ở
khắc nghiệt của người Ethiopia như Yeshi
*
>
cung cap các tùy chọn menu như: chon vi trí chô ngôi, thanh toán va được
~ Nha hàng và các ngành bán lẻ: Khách hàng được Chatbot chào đón và được
thông báo khi nào họ có thể bắt đầu lấy thức ăn của họ
12
Trang 23>
>
>
Khách san và Du lich: 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
Chúng có thé giúp khách hàng với các câu hỏi cơ bản và yêu cầu Chúng có
thé được lập trình dé trò chuyện với khách bằng các ngôn ngữ khác nhau, làmcho các khách hàng 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ố co 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 hang chúng theo thứ tự nghiêm trọng Chatbot có thé hướng danbệnh nhân điều trị các bệnh có thể được chữa khỏi mà không cần đến bác sĩHàng không: bạn có thé nhận tài liệu chuyến bay của mình qua Messenger,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.
Nông nghiệp: Chatbots giúp ích cho việc tự động hóa các quy trình chiếu sáng
(đóng mở đèn tự động), tưới tiêu, quản lý thời gian, cây trong
2.1.9 Xu Hướng phát triển
Chatbot sẽ bùng nô và sẽ là một hiện tượng mới trong tương lai gần Việc tiếpthị, quảng bá sản pham của doanh nghiệp dựa trên chatbot sẽ dé dang hơn và tự nhiên
hơn rât nhiêu Bên cạnh đó, người dùng cũng cảm thây thú vị hơn, không còn cảm
giác như đó là một phương thức quảng cáo nữa.
Mặc dù chatbot không thê mang lại khả năng trải nghiệm toàn bộ ứng dụng
nhưng nó có thể tạo ra cách tiếp cận mới hơn, linh hoạt hơn, thuận tiện hơn và đápứng yêu cầu nhanh hơn cho người dùng, đặc biệt là người dùng di động Ví dụ, thay
vì phải tải về và đăng ký một ứng dụng chuyên dụng nào đó, bạn chỉ cần gửi một
đoạn văn bản dén "bot" và yêu câu chúng hành động như mua vé xem phim, gọi
taxi hay đơn giản là đọc tin tức mới nhất thời điểm đó
Nhu vậy, trong tương lai gần, các dịch vụ định hướng và chatbot có thé hòa
hợp với nhau nhăm nâng cao trải nghiệm người dùng Và nó sẽ không “gây nên sự sợ
13
Trang 24hãi cho loai người” như các chuyên gia đã cảnh báo vê môi de dọa của trí tuệ nhân
tạo (AD.
Sự kết hợp giữa Chatbot với trí tuệ nhân tạo (AI) và các công nghệ tiên tiến
khác sẽ là một xu hướng phát triên mạnh mẽ cho Chatbot trong tương lai như có théphát triển chúng thành một nền tảng riêng như hệ điều hành
Trong đa số các trường hợp thì chatbot được sử dụng qua ứng dụng nhắn tin
dé nói chuyện với con người Nó có khả năng trả lời những câu hỏi mà người dùng
dé ra, thông thường lúc ban đầu thì nó sẽ dựa vào những từ khóa trong câu hỏi củangười dùng dé trả lời và dân dần nó sẽ học hỏi được thêm từ trải nghiệm người dùng
và làm những cuộc trò chuyện tiếp xúc với con người trở nên cá nhân hơn, giống thật
hơn.
Ví dụ 1: Nếu như bạn muốn nhắn tin dé tìm kiếm thông tin một sản pham của
một cửa hàng hoặc công ty đã tạo Chatbot, bạn chỉ việc nhập vào từ khoá, chúng sẽ
lập tức tìm và hiện kết quả thông tin sản phẩm cho bạn Đôi khi thuật ngữ “Chatbot”
được sử dụng dé chi các trợ lý ảo nói chung hoặc cụ thé là chỉ chương trình máy tinhtrả lời tự động trên nền tảng tin nhắn (Messaging Platform)
Ví dụ 2: Nếu như bạn đã hỏi “trợ lý ảo” Siri của Apple hay Cortana củaMicrosoft một vấn đề gì đó như: “Thời tiết hôm nay như thế nào?”, là bạn đã làm
việc với một ChatBot.
2.1.10 Lợi ich của việc sử dung chatbots
> ** Hiệu quả về chi phí - Chatbots là khoản đầu tu một lần nhanh hon và rẻ hơn
SO VỚI Việc tạo một ứng dụng chuyên dụng, đa nên tảng hoặc thuê thêm nhânviên Ngoài việc giảm chỉ phí cho nhân viên, chatbots cũng sẽ giảm các vấn
đề tốn kém do lỗi của con người gây ra Hơn nữa, chỉ phí chuyên đổi ngườidùng cũng giảm vì chatbot có sẵn dé dàng, ngay lập tức và phản hồi trong vòng
vai giay.
> *» Tiết kiệm thời gian - Chatbots có thể tự động hóa các tác vụ phải thực hiện
thường xuyên và vào những thời diém cu thê Điêu này cung cap cho nhân
14
Trang 25>
>
>
viên của con người nhiều thời gian hơn dé tập trung vào các nhiệm vụ quan
trọng khác Hơn nữa, khả năng cung cấp câu trả lời nhanh của chatbots giúpkhách hàng không phải chờ đợi để nhận được câu trả lời
Tương tác với khách hàng chủ động - Trước đây, các công ty dựa vào sự
tương tác với khách hàng thụ động và đợi người mua liên hệ với họ trước.
Chatbots cung cấp cho các tô chức khả năng chủ động với các tương tác của
họ bằng cách bắt đầu các cuộc trò chuyện và theo dõi cách khách hàng sử dụng
các trang web va trang đích của họ Thông tin thu thập được từ các hoạt động
quan sát của khách hàng sau đó có thé được sử dụng dé đưa ra các ưu đãi dànhriêng cho người mua, giúp người dùng điều hướng trang web và trả lời các câu
hoi trong tương lai.
Theo dõi và phân tích dữ liệu người tiêu dùng - Chatbots thu thập phản hồi
từ mỗi lần tương tác có thê giúp doanh nghiệp cải thiện dịch vụ và sản phẩmhoặc tối ưu hóa trang web của họ Họ cũng có thể theo dõi hành vi của người
tiêu dùng và mô hình mua hàng băng cách ghi lại dữ liệu người dùng Thôngtin này có thể cung cấp cho các công ty cái nhìn sâu sắc hơn về cách tiếp thịsản phẩm và dich vụ của họ tốt hon, cũng như những trở ngại phổ biến màkhách hàng phải đối mặt trong quá trình mua hàng
Cải thiện mức độ tương tác của khách hàng - Hầu hết các công ty đã thuhút khách hàng của họ thông qua phương tiện truyền thông xã hội Chatbots
có thê được sử dụng đề làm cho sự tương tác này trở nên tương tác hơn Hơnnữa, người mua hiếm khi nói chuyện với những người trong doanh nghiệp.Chatbots mở ra một kênh giao tiếp nơi khách hàng có thé tương tác mà khôngcần phải căng thắng khi tương tác với người khác
Tăng khả năng mở rộng sang các thị trường toàn cầu - Chatbots có thê giải
quyết các mối quan tâm và truy vấn của khách hàng bằng nhiều ngôn ngữ
Hơn nữa, quyền truy cập 24/7 của chúng cho phép chúng được sử dụng bat kế
múi giờ của khách hàng.
15
Trang 26% M6 rộng cơ sé khách hàng - Chatbots có thé cải thiện việc tạo, trình độ và
nuôi dưỡng khách hàng tiềm năng Trong suốt hành trình của người mua, họ
có thê đặt câu hỏi và cung cấp thông tin có thể thuyết phục người dùng và tạo
ra khách hàng tiềm năng Chatbots sau đó sẽ cung cấp thông tin khách hàngtiềm năng cho nhóm bán hàng có thé sử dụng thông tin này dé tương tác vớikhách hàng tiềm năng Sau đó, các bot có thé cải thiện tỷ lệ chuyền đổi bằng
cách đảm bảo hành trình của khách hàng tiềm năng đi đúng hướng - hướng tớimua hàng Cuối cùng, chatbot có thé giúp các nhóm bán hàng xác định xem
khách hàng tiềm năng có đủ tiêu chuẩn hay không bằng cách sử dụng các chỉ
số hiệu suất chính ( KPI ) đã xác định , chang hạn như ngân sách, dòng thờigian và nguồn lực Điều này sẽ ngăn các công ty lãng phí thời gian cho nhữngkhách hàng tiềm năng không đủ tiêu chuẩn và mat thời gian
2.2 Google Cloud Dialogflow
2.2.1 Dialogflow
2.2.1.1 Khái niệm
s* Dialogflow (trước đây là Api.ai, Speaktoit) là một nền tang UX đàm thoại cho
phép tương tác độc đáo của Google về công nghệ!, Dialogflow tương tác giữacon người và máy tính dựa trên các cuộc trò chuyện bằng ngôn ngữ tự nhiên
Nói cách khác, Dialogflow là một framework cung cấp các dịch vụ NLP/NLU
(Natural Language Processing / Natural Language Understanding) - xử lý
ngôn ngữ tự nhiên Hơn thế nữa, Dialogflow cung cấp tích hợp một cú nhấpchuột với hầu hết các nền tảng nhắn tin pho biến như Facebook, Telegram,Twitter, Viber, Kik, và hỗ trợ trợ lý thoại như Trợ lý Google và Amazon
Alexa
16
Trang 27& Dialogfiow
\2
s%*
“We
Hình 2.2.2.1.1.1 Biểu tượng Google Cloud Dialogflow
Dialogflow cho phép bạn tạo ra một giao diện ngôn ngữ tự nhiên bằng cáchcung cap dữ liệu có thé hành động dựa trên đầu vào đã cho Nền tảng này baogồm nhận dạng giọng nói, hiểu ngôn ngữ tự nhiên, học tập cơ bản cũng nhưkhả năng chuyên văn bản thành giọng nói Nền tảng hoạt động trên cơ sở các
ý định và thực thể được nhận ra từ lời nói của người dùng thay vì chỉ dựa trênphản hồi của người dùng Có một số giao diện cho người dùng dựa trên web
dé xác định thực thé, ý định và phản hồi cho chatbot hoặc cho giao diện ngônngữ tự nhiên khác Nhật ký của hệ thống sẽ phát triển dựa trên các ý định đượcxác định đại điện cho ý định của người dùng cuối Luéng của hộp thoại có thé
được xác định bằng cách định dạng cấu hình ngữ cảnh, ưu tiên ý định, điềnvào khe, và thực hiện bang cách sử dung các webhook
Trang 28"_ Mỗi khách hàng mới sẽ nhận được một khoản tín dụng $ 600 để dùng
thử miễn phí Dialogflow CX Khoản tín dụng này được tự động kích
hoạt khi sử dụng Dialogflow CX lần đầu tiên và sẽ hết hạn sau 12 tháng
Đây là phần mở rộng dành riêng cho Dialogflow của ban dùng thử miễn
phí Google Cloud
CX Agent (2021-09) CX Agent (2020-09) ES Agent
Feature CX Edition
Text $20 per 100 chat sessions
Audio input/output $45 per 100 voice sessions
(speech recognition, speech-to-text, STT,
speech synthesis, text-to-speech, TTS,
telephony)
Design-time requests Free
For example, calls to build or update an
agent This also includes text and audio
runtime requests sent by the Dialogflow
Console simulator.
Other session requests Free
For example, setting the session entities
CX Agent (2021-09) CX Agent (2020-09) ES Agent
Feature CX Edition
Text $0.007 per request
Audio input/output $0.06 per minute *
(speech recognition, speech-to-text, STT,
speech synthesis, text-to-speech, TTS,
telephony)
Design-time requests Free
For example, calls to build or update an
agent This also includes text and audio
runtime requests sent by the Dialogflow
Console simulator.
Other session requests Free
For example, setting the session entities.
Each request is charged $0.001 per second of audio, with a minimum of one minute For example, a 15 second and a 59 second audio request are charged $0.06
each, while a 61 second audio request is charged $0.061 The total audio used for a request is the sum of both TTS and STT used by the request and response.
Hình 2.2.1.2.1 Hình anh mô tả chi phí của ban miễn phí
18
Trang 29e Enterprise: Cần trả một ít tiền.
CX Agent (2021-09) CX Agent (2020-09) ES Agent
Feature Trial Edition Essentials Edition
Text Free* 4 $0.002 per request 4
Audio input Free * $0.0065 per 15 seconds of audio t
(also known as speech recognition,
speech-to-text, STT)
Audio output Free * Standard voices:
(also known as speech synthesis, text- $4 per 1 million characters
to-speech, TTS)
WaveNet voices:
$16 per 1 million characters
Knowledge connectors (Beta) Free * Free
Sentiment analysis Not available 0-1 million requests:
Dialogflow phone gateway (Beta) Tolled number: Tolled number:
Includes audio input and output ee * $0.05 per minute of phone call processed +
Toll-free number: Toll-free number:
Not available $0.06 per minute of phone call processed ‡
Mega agent Free * <=2k intents:
$0.002 per request §
>2k intents:
$0.006 per request §
Design-time requests Free Free
For example, calls to build or update an
agent This also includes text and audio
runtime requests sent by the Dialogflow
Console simulator.
Other session requests Free Free
For example, setting the session entities
or updating/querying context.
Agent Assist conversation other Not available Free
operations
Includes all requests that manage
Conversations and Participants.
Agent Assist analyze text/audio Not available Charged according to underlying Dialogflow operations described above
operations
Hình 2.2.1.2.2 Hình ảnh mô tả chi phi của ban trả tiền
19
Trang 302.2.1.3 Cách hoạt động của Diglogflow
s* Dialogflow trước đây (Speaktoit hay API.AI) được biết đến nhiều nhất khi tạo
Tro ly (Assistant), một người bạn ảo cho điện thoại thông minh Android, iOS
và Windows Phone thực hiện các tác vụ và trả lời câu hỏi của người dùng bằng
ngôn ngữ tự nhiên Dialogflow cũng đã tạo ra một công cụ xử lý ngôn ngữ tự
nhiên kết hợp ngữ cảnh trò chuyện như lịch sử đối thoại, vị trí và sở thích của
người dùng Nó được Google đổi tên chính thức vào ngày 10 tháng 10 năm
2017 dưới dạng Dialogflow.
* > ~ Phân mêm bao gôm việc nhận dạng giọng nói, hiéu ngôn ngữ tự nhiên va
chuyên văn bản thành giọng nói Dialogflow cung cấp một giao diện web déxây dựng và kiểm tra các kịch bản hội thoại Nền tảng này dựa trên công cụ
xử lý ngôn ngữ tự nhiên cho phép các nhà phát triển Internet of Things có giao
diện thoại ngôn ngữ tự nhiên trong các sản pham của họ.
*
> ~ Dialogflow tích hợp nhận dạng giọng nói dựa trên AI va hoc máy cùng
Google Cloud Từ đó, các ứng dụng khác trong nền tảng có thé tan dụng
Dialogflow dé hỗ trợ dé dang hơn các tương tác dựa trên giọng nói , điều nàyđược thực hiện thông qua các điều sau:
e Các hệ thông máy học của Google bao gồm các mẫu dựng sẵn có nghĩa là
nhận dạng các mẫu giọng nói cho các trường hợp sử dụng cụ thé hoặc cho
phép các nhóm xây dựng trên các công cụ hiểu ngôn ngữ hiện có để tạocác tác nhân kỹ thuật số của riêng họ
e Tích hợp dữ liệu từ các hệ thống doanh nghiệp có thể cung cấp thông tin
và kiến thức liên quan đến một tác nhân ảo, cho phép trợ lý AI đáp ứng tốthơn các yêu cầu của khách hàng
e_ Hỗ trợ nhiều ngôn ngữ và khả năng đáp ứng dé xử lý người dùng đa ngôn
ngữ.
* >* Các giao diện thoại và đàm thoại được tao bằng Dialogflow hoạt động với
nhiều loại thiết bi bao gồm điện thoại, thiết bi đeo được, 6 tô, loa và các thiết
20
Trang 31bị thông minh khác Nó hỗ trợ 14 ngôn ngữ bao gồm tiếng Bồ Đào Nha, tiếngTrung, tiếng Anh, tiếng Hà Lan, tiếng Pháp, tiếng Đức, tiếng Ý, tiếng Nhật,
tiếng Hàn, tiếng Bồ Đào Nha, tiếng Nga, tiếng Tây Ban Nha và tiếng Ukraina.2.2.2 Các đối tượng trong Dialogflow
2.2.2.1 Agents
Thực ra Agents là 1 project, có thể hiểu đơn giản là 1 con chatbot Trong Dialogflow
có thé tao ra nhiều chatbot khác nhau Và các Agent trong cùng một Dialogflow chưa
thể giao tiếp với nhau
@ Create new agent
View all agents
Hình 2.2.2.2.1.1 Mô tả về Agent
2.2.2.2 Intents
a Khái niệm
Intent là đại điện cho một ánh xạ giữa những truy van mà người dùng đưa vào và
hành động sẽ được thực hiện tương ứng từ hệ thông Nói nôm na Intent là đại diện
cho một mục đích, một ý định hay một yêu cầu cụ thể nào đó của người dùng
b Các thành phần chính của 1 intent cơ bản
* Training phrases: là những câu thoại người dùng có thê nói, được lên sẵn dé
kích hoạt intent đó Khi người dùng nói một câu truy vấn giống với một trong
21
Trang 32những câu thoại sẵn này thì Dialogflow sẽ kích hoạt Intent này Tuy nhiên
chúng ta không cần phải định nghĩa ra mọi câu thoại có thé xuất hiện bởi vi
Dialogflow được xây dựng dựa trên máy học nên có khả năng tự mở rộng danh
sách các câu thoại tương tự.
*
+ * Action: là những hành động ta định nghĩa ra cho mỗi Intent, khi Dialogflow
tìm được intent phù hợp nó sẽ cung cấp hành động tương ứng tới hệ thống và
ta có thé sử dụng hành động này dé kích hoạt các tính năng của hệ thống
>
>* Parameters: đây là một danh sách các tham số được dùng dé trích xuất thông
tin cần thiết từ lời yêu cầu của người dùng dé xử lý ở fulfillment hoặc cũng cóthé dùng dé phản hồi về cho người dùng dưới dạng tham biến Nó không giốngnhư dữ liệu đầu vào của người dùng, các parameters là dit liệu có cấu trúc mà
có thể dễ dàng được sử dụng dé biểu diễn các logic hoặc tạo ra các phản hồi
> >*+ Responses: là những phan hồi được định nghĩa san dé tra lại cho người dùng,
nó có thé là một câu trả lời cho một yêu cầu của người dùng hoặc có thé là lời
yêu cầu người dùng cung cấp thêm thông tin hoặc một phản hồi kết thúc cuộchội thoại Cũng giống như Training pharases chúng ta cũng không cần phảiđịnh nghĩa đầy đủ các câu trả lời cho yêu cầu của người dùng, Dialogflow sử
dụng máy học có khả năng tạo ra các câu trả lời phù hợp với từng ngữ cảnh khác nhau.
c Phân loại
+ Y định ngẫu nhiên - Casual Intents
Đây là những ý định mở đầu hoặc kết thúc một cuộc hội thoại Ví dụ lời chào như:
hi, hello, hallo, ciao, hay bye là những câu lệnh mở đầu hoặc kết thúc một cuộc hộithoại Những ý định này hướng con bot của người dùng phản hồi băng một câu trả
lời gợi ý như: “Xin chào, tôi có thé giúp được gì cho bạn?” hay “Tam biệt, cảm on
đã trò chuyện cùng với tôi”.
Các ý định ngẫu nhiên cũng bao gồm các ý định Khang định - Affirmative và Phủ
định - Negative cho các câu nói như: “Ok”, “vâng”, “Không, không phải cái
này.”Bằng các ý định chung chung, Casual Intents của bot có thé xử lý tat cả các
22
Trang 33tương tác với người dùng thay vì phải đưa câu chuyện vào một cuộc trò chuyện với
bot.
“+ Ý định nghiệp vụ - Business Intents
Đây là các ý định được kết nói trực tiếp với ý đồ ban đầu của các con bot khi được
xây dựng, nghĩa là bot cần phải hỗ trợ và xử lý được các ý định này của người dùng
cuối khi họ truy cập vào website Nó tập trung vào việc xử lý các van đề chuyên sâuhơn và cần có thời gian xử ly cũng như thực hiện một yêu cầu cụ thể nào đó Ví dụ,khi người dùng bắt đầu bằng câu: “Khi nào Avengers 4 được phát hành?”, bot sẽ
xác định ý định của người dùng lúc này là cần biết thông tin của một đối tượng, mà
cụ thể ở đây là một bộ phim Đây chính là một ý định nghiệp vu (Business Intents),bot lúc này sẽ phải tìm ra năm phát hành của bộ phim và đồng thời sẽ gắn nhãn câuhỏi đó theo một cái tên có thé hiểu được, giống như:“GetReleaseYearByTile” dé
sau đó tiễn hành xử lý thông tin và tiếp tục tương tác với người dùng
2.2.2.3 Entities
a Khai niém
Entity là một cơ chế của Dialogflow giúp xác định và trích xuất các dữ liệu cần thiết
từ yêu cầu của người dùng Trong khi Intent giúp Agent có thê hiểu mục đích, ý định
của người dùng thì Entity có thé giúp Agent trích xuất ra những thông tin chỉ tiết va
cụ thê nhất của câu truy vấn
Ta có thể định nghĩa nhiều phần tử Entity khác nhau trong cùng một Entity
b Thành phần của Enities
* Loại Entity: định nghĩa ra loại thông tin mà ta muốn trích xuất từ câu truy van
của người dùng.
* Phần tử Entity: mỗi loại Entity sẽ có nhiều phan tử, mỗi phan tử cung cấp một
tập các từ hoặc cụm từ được coi là tương đương
s* Các từ đồng nghĩa và giá trị tham chiếu với Entity: một vài phan tử Entity có
nhiều từ hoặc cụm từ mà có nghĩa tương đương nhau, với những Entity này ta
cân cung câp một giá trị tham chiêu và một hoặc nhiêu từ, cụm từ đồng nghĩa.
23
Trang 34c Phân loại Entities
s* Có 3 loại Entities (thực thé):
e Hệ thống (được xác định bởi Dialogflow)
e Nhà phát triển (được xác định bởi nhà phát triển)
e Người dùng (được xây dựng cho từng cá nhân người dùng cuối trong moi
yêu cầu) thực thê.
s* Mỗi trong sỐ này có thể được phân loại là ánh xạ (có giá trị tham chiếu), enum
(không có giá trị tham chiếu) hoặc hỗn hợp (chứa các thực thể khác có tên gọi
đặc trưng và giá tri kiểu đối tượng trả về)
2.2.2.4 Contexts
Contexts có nghĩa là bối cảnh, ngữ cảnh, phạm vi Lấy ví dụ trong Chatbot, người
dùng vừa hỏi “Thời tiết ở Hà Nội” và đã nhận được câu trả lời, họ đặt tiếp thêm mộtcâu hỏi nữa “Vậy ở Đà Nẵng thì thế nào?”, trường hợp nếu không có context Chatbotkhông thé nào hiểu được người dùng đang hỏi van dé gì liên quan đến Da Nang, còntrường hợp có context Chatbot sẽ biết ngay người dùng đang hỏi tiếp về thời tiết của
Trang 35Input context có nhiệm vụ giúp Dialogflow xác định Intent này chỉ được thực hiện khi dang có các context tương ứng.
Mặc định, một context của Dialogflow sé hết hạn sau 5 lần requests hoặc 10 phút kê
từ khi nó được tạo ra Như trong hình, số 2 ở context weather có nghĩa là context này
sẽ hết hạn sau 2 lần requests (hoặc sau 10 phút)
2.2.2.5 Actions and Parameters
Action
| address øsys.location Saddres:
+ New parameter
Hình 2.2.2.2.5.1 Tham số trong Dialogflow
Mỗi tham số là giá trị được trích xuất từ văn ban của người dùng thông qua việc sử
dụng các entities tương ứng, vi du:
“+ Tham số address, kiểu @sys.location, khi đó, trong văn bản của người dùng
có Hà Nội, hay Đà Nẵng, Tokyo, New York, Paris, thì sẽ được Dialogflow
xử lý để gán vào cho tham số address
s* Tham số date-time, kiểu @sys.date-time, khi đó, trong văn bản của người dùng
mà có Ngày mai, Thứ 6 nay, Tuần tới, thì sẽ được Dialogflow xử lý dé gan
vào cho tham số date-time
`.
s* Khi định nghĩa các tham sô, có các thông tin mà chúng ta cân quan tâm.
25