1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật phần mềm: Xây dựng chatbot Tiếng Việt hỗ trợ du lịch

81 5 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chatbot Tiếng Việt Hỗ Trợ Du Lịch
Tác giả Nguyen Tan Phuc, Le Khac Hau Linh
Người hướng dẫn TS. Huynh Ngoc Tin
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Kỹ Thuật Phần Mềm
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 81
Dung lượng 37,11 MB

Nội dung

Các chatbots được thiết kế phức tạp dựa trên nền tảng xử lý ngônngữ tự nhiên, nhưng cũng có nhiều hệ thống khác đơn giản hơn bằng cách tìm từkhoá trong từng câu và dựa vào từ khoá dé tìm

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA CONG NGHE PHAN MEM

NGUYEN TAN PHUC

LE KHAC HAU LINH

KHOA LUAN TOT NGHIEP CHATBOT TIENG VIET HO TRO DU LICH

Building a Vietnamese chatbot to support tourism

KY SU NGANH KY THUAT PHAN MEM

Trang 2

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHAN MEM

NGUYEN TAN PHÚC - 16520954

LE KHAC HẬU LINH - 16520664

KHÓA LUẬN TÓT NGHIỆP

CHATBOT TIENG VIỆT HO TRỢ DU LICH

Building a Vietnamese chatbot to support tourism

KY SU NGANH KY THUAT PHAN MEM

GIANG VIEN HUONG DAN

TS HUYNH NGỌC TÍN

Trang 3

THONG TIN HỘI 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ố

.-ngầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

1 ~ Chủ tịch.

"» ~ Thư ký.

== ~ Ủy viên.

Á f7 ~ Ủy viên.

Trang 4

ĐHQG TP HÒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ VIỆT NAM

THÔNG TIN Độc Lập - Tự Do - Hạnh Phúc

TP HCM ngày tháng năm

NHAN XÉT KHÓA LUẬN TOT NGHIỆP

(CUA CAN BỘ HƯỚNG DAN)

Tên khóa luân:

CHATBOT TIENG VIỆT HO TRỢ DU LICH

Nhóm SV thực hiện: Cán bộ hướng dẫn:

Lê Khắc Hậu Linh 16520664 TS Huỳnh Ngọc Tín

Nguyễn Tan Phúc 16520954

Đánh giá Khóa luân

* Về cuốn báo cáo:

Số trang Số chương

Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:

Trang 6

ĐHQG TP HÒ CHÍ MINH CỘNG HÒA XÃ HOI CHỦ NGHĨA

TRƯỜNG ĐẠI HỌC CÔNG VIỆT NAM

NGHỆ THÔNG TIN Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày tháng năm

NHAN XÉT KHÓA LUẬN TOT NGHIỆP

(CỦA CÁN BỘ PHẢN BIỆN)

Tên khóa luận:

CHATBOT TIENG VIỆT HO TRỢ DU LICH

Nhóm SV thực hiện: Cán bộ phản biên:

Lê Khắc Hậu Linh 16520664 Ths Nguyễn Tan Toàn Nguyễn Tan Phúc 16520954

Đánh giá Khóa luân

+ - Vệ cuôn báo cáo:

Số trang Số chương

Số bảng số liệu Số hình vẽ

Số tài liệu tham khảo Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:

Trang 7

* _ Về nội dung nghiên cứu:

5 Vé thái độ làm việc của sinh viên:

Điểm từng sinh viên:

Lê Khắc Hậu Linh:.

Người nhận xét

(Ký tên và ghi rõ họ tên)

Trang 8

LỜI CẢM ƠN

Em xin chân thành cảm ơn quý Thay, Cô trong khoa Công nghệ phan

mêm Trường ĐH Công Nghệ Thông Tin đã trang bị cho em kiến thức nên tang

để có thể hoàn thành tốt luận văn này.

Cảm ơn các bạn trong lớp đã chia sẻ các kinh nghiệm và đã hỗ trợ trong

luc làm luận văn.

Đặc biệt em xin chân thành cảm ơn thầy giáo hướng dẫn TS Huỳnh Ngọc Tín đã hỗ trợ em trong lúc thực hiện luận văn này.

Mặc dù đã cô gắng hết khả năng nhưng không thể nào tránh khỏi những

thiếu sót Rat mong nhận được sự góp ý quý báu của quý thay cô dé dé tài có

thé hoàn chỉnh hơn

Sinh viên

NGUYEN TAN PHÚC LÊ KHÁC HẬU LINH

Trang 9

ĐHQG TP HÒ CHÍ MINH CONG HÒA XÃ HỘI CHỦ NGHĨA

TRƯỜNG ĐẠI HỌC CÔNG VIỆT NAM

NGHỆ THÔNG TIN Độc Lập - Tự Do - Hạnh Phúc

TP HCM, ngày tháng năm

DE CUONG CHI TIẾT

TEN DE TAI: CHATBOT TIENG VIET HUONG DAN DU LICH

Cán bộ hướng dẫn: TS Huynh Ngọc Tín

Thời gian thực hiện: Từ ngày 01/10 đến ngày 31/2

Sinh viên thực hiện:

Lê Khắc Hậu Linh - 16520664

Nguyễn Tan Phúc — 16520954

Nội dung đề tai:

Muc tiéu:

* _ Nghiên cứu, tìm hiểu về công nghệ chatbot.

* Tim hiểu cơ chế hoạt động của chatbot Rasa.

« Cai đặt môi trường để thử nghiệm và xây dựng, phát triển hệ thống với

chatbot Rasa.

* Tim hiểu về quy trình du lịch dé áp dung vào việc xây dựng hệ thống.

+ Nang cao kỹ năng chuyên môn về phát triển ứng dụng web va mobile, cả

Trang 10

5 Nghién cứu quy trình du lich

« Phan tích các yêu cầu đã thu thập được.

«_ Thiết kế cơ bản các yêu cau.

* _ Nghiên cứu công nghệ dé áp dụng.

« Phat triển sản phẩm qua các giai đoạn, đồng thời lấy ý kiến phản hồi

+ Kiểm thử và hoàn thiện.

Những công nghệ được sử dụng:

Kết quả dự kiến:

Kế hoạch thực hién:(M6 ta ké hoạch làm việc và phân công công việc cho từng

sinh viên tham gia)

Xác nhận của CBHD TP HCM, ngày tháng năm

(Ký tên và ghi rõ họ tên) Sinh viên

(Ky tên và ghi rõ họ tên)

Trang 11

2.1 Mục tiêu Z £ ì ccececeecee 20

2.2 Phạm vi và đối tượng : 222+222222212222E1E2222112tE2211 tre 20

2.2.1 _ Đối tượng nghiên cứu :¿+22+++t2222+++tt2Exxetrrkrrrrrrkrvee 20

2.2.2 Phạm vi nghiên cỨu - (¿+ +k+t‡EE*EEEEkEkeEEErrkrkekekerrrek 20

2.3 Phương pháp thực hiỆNn: ¿- - + ‡EEEkEEkEkEkeEErkrkrkekerrrrree 20

2.4 Ý nghĩa thực tiễn -. 2 222222222212222111222211 21211 cEE.eccre 21

2.5 Kết quả dự kiến:

Chương 3 _ CÔNG NGHỆ CHATBOT VÀ CHATBOT RASA - 23 3.1 Tổng quan về chatbot -¿¿22E++++2222+++2EEEE22222112t222E1eeErrkecrrer 23

3.2 Hoạt động của chaftbot - - + HH re 24

3.3 Sự phát triển của chatbot 22¿-2222+c222EEEcEEEEEErrtrrrrerrrkrrrrei 25

3.4 Các lĩnh vực ứng dụng của chafbOt - - «+5 S++keervrkrrrkekererrrree 26

3.5 Phân tích và thiết kế hệ thống chatbot -2+22+zz+ccvszcz+rz 27

Trang 12

3.5.1 Cac mô hình chatbO( - ¿+25 222 S££ztzvsreterrrkrkrkererree 27

3.5.2 _ Phân loại chatbot.

3.5.2.1 Flow-oriented chatbO( ¿5c 5++c‡t+rrkrkrrkekererrrerkrke 28

3.5.2.2 _ Chatbot thông minh nhân tao (Artificially intelligent chatbot) 29 3.5.2.3 Chatbot lai (Hybrid chafbot) 5-55 Sxcc+xexsrerererree 30

3.5.2.4 Chatbot được hỗ trợ bởi con TRBƯỜI ccS+csscrserrerereee 31

3.5.3 Các phương pháp xây dựng chafbo( ¿s55 scvxsxexzvere 31

3.5.3.1 So sánh trùng khớp mẫu câu (Pattern matches) - 31

3.5.3.2 Str dung thuật toán phan lớp (Classification algorithms) 32 3.5.3.3 Mạng noron nhân tao (Artificial Neural Network - ANN) 32

3.5.3.4 Xử ly ngôn ngữ tự nhiên (Natural Language Processing - NLP)33

3.5.3.5 Hiểu ngôn ngữ tự nhiên (Natural Language Understanding

-NLU) 34

3.5.4 Các van đề cơ bản khi phát triển hệ thống chatbot - - 35

3.5.4.1 Xác định ý định người dùng «55+ s+cc+xsxseerererkree 36

3.5.4.2 Mô hình học máy cho bài toán phân lớp ý định người dung 37

3.5.4.3 Mô hình dựa trên đối sánh NOI dung ¿+ «scc+xsxsecvxsee 39

3.5.4.4 Mô hình lai -cccecererrerreererererererrree 39

Chương 4 XÂY DỰNG HE THONG CHATBOT HO TRỢ DU LỊCH 4

4.1 Dat Van đề HH 43

4.1.1 Thực trạng quy trình du lịch ở việt nam -« +-+-eseceexe 43

4.2 Hướng giải quyết -2222¿222222 2222112222111 2222111 22211 re 43

4.3 Xác định va phân tích yêu câu - - - «55+ S*S**k‡teEEEkrkrekekerrrrrkrrie 46

4.3.1 Danh sách các ACTOr s5 Set 46

Trang 13

4.3.2 — Danh sách các Se-Ca§S€ LG HS 11K 1kg kg 47

4.3.2.1 Use-case của Người quản trị hệ thống - s+cs+s+ 474.4 Thiết kế cơ sở dữ liệu -.cccccvtttttrittrrrtrtirrrtrirerirrrirriio 49

4.5 Thiết kế kiến trúc hệ thống - + ++E++E++EE2EE£EEEEEEEEEEErkerkerrree 54

4.5.1 Kiến trúc tong thỂ - + ©E+2E2E2EE2EEE2EE2E211211211 21x e2 54

4.5.2 _ Kiến trúc của ứng dung web -++cs+cx+ExeEEtEEzEzExerkerkerrees 55

4.5.3 _ Kiến trúc của ứng dụng di động - -2cs+cs+EzEcrkerxersereee 564.6 _ Thiết kế giao điện và Xử lý -¿- ¿5c tk E2E121111171211211 211111 xe 56

4.6.1 Giao diện trên ứng dụng Web Sc 12v vn ve re, 56

4.6.1.1 Danh sách các trang c + ss+ + Essikesereesereesvre 56

5.1 Kết quả dat được -c-cs St tEEEE2112111111211 21111111111 ree 78

5.2 _ Thuận lợi và khó khăn - - 2111111112223 1111111995311 1kg y 78

5.2.1 Thun lỢI: Ăn HH HH nh nh HH Hư nh nh nh 78 5.2.2 Khó khăn: ng HH HH TH HH HH nưệp 79

5.3 Hướng phát triển -2+Ee+tEtEE2E12112121712112112121 1x11 xe 79

Trang 14

DANH MỤC HÌNH

Hình 4 1: Usecase người quan trị hệ thống - 2 2 s+Sx+£E+£E+2E2EE2EEerxerxrrex 47

Hình 4 2: Usecase khách du lịch - << << E22 2111111111531 18 E555 11E£rrrrsze 49

Hình 4 3: Kiến trúc tổng thê ¿5-2 s2SE2EE2EEEEEEEE121121121111121121111 11111 1e 54Hình 4 4: Kiến trúc của ứng dụng web - -+csecx2E2E2EEEEEE121121121 11111 cxe 55Hình 4 5: Danh sách địa điểm du lịch -¿ cccc¿+ccxvttrttrttrrrrrrrrrrrrrrrrrrrrek 58Hình 4 6: Cập nhập địa điểm du lịch - 22 +¿22222x+22x+£E2EE2zxerkesrxrrrsees 59Hình 4 7: : Tạo mới địa điểm du lịch -¿:- St +E+E+EEEEEE+EeEEEE+E+EeErtzkerrrerssree 59

Hình 4 8: : Danh sách khách sạn - - + 2 E222 16122311151 EEEEEEEEEEesreerrszee 60

Hình 4 9: : Cập nhập khách sạn c2 322122112211 51151151 1115111111111 xeE 60

Hình 4 10: : Tạo mới khách sạn - - - - c2 2222 1322221131251 1 1112811151111 crrrre 61

Hình 4 11: : Danh sách địa điểm ăn uOng ceccececcesessessessesssessessessessesseesessessesseees 61Hình 4 12: : Cập nhập địa điểm ăn uống -:- 2 2 2+E££E+EE2EE2EEzEerEerxersrree 62Hình 4 13: : Tạo mới địa điểm ăn uống 2-22 2+ z+E+EE+EE+EE2EEzEEerxerxerrrrer 62Hình 4 14: Kiểm tra nhiệt độ tại Hồ Chí Minh ngày mai 2 555552 69Hình 4 15: Kiểm tra thời tiết 3-7 ngày tới -:- 2-52 + 2EEEeEEerkerkrree 70Hình 4 16: Liệt kê top dia điểm du lịch Sài Gòn - - 5:52 £EzE+EeEertzxsrers 71Hình 4 17: : Tim theo thé loại địa điểm : địa điểm vui chơi -+ 72Hình 4 18: Tìm theo thé loại địa điểm : danh lam thắng cảnh - 73

Hình 4 19: Tìm khách sạn theo quận - - - ¿c6 2 3321113211311 xre 73 Hình 4 20: Tìm khách sạn theo đánh giá: 4 SaO -.- c c S* ssrssirsrrsee 74 Hình 4 21: Tìm khách sạn theo giá : dưới 4 trăm ¿+5 sc+++cs+ssxssvrsserses 75 Hình 4 22: Tìm khách san theo giá : trên 3 triỆu - 55+ ++c<++csscrsserexs 75 Hình 4 23: Liệt kê các món ăn nØOI c2 + 3322133311133 EEEEEEEEEEErrrsvre 76

Hình 4 24: : Tìm món ăn theo quận : quận 3 - ¿+22 + +2 *+++svssexserssss 76

Hình 4 25: Chi đường (Chợ Bến Thanh) - 2-52 2+S2EE£EE£EE2E2EESEEerxerrrrer 71

Trang 15

DANH MỤC BANG

Bảng 4 1 : Danh sách các ACfOF - - +2 21131112 112 1151111111111 11 11111111 xer 46

Bảng 4 2: Usecase người quan trị hệ thống 2-2 2+2E+£E+£E2E2EE2EEerxerxrrer 48

Bang 4 3: Usecase khách du lỊCH: - - 2c 22c 1322111351113 1111151118111 re 49

Bang 4 4: Cơ sở dữ liệu Dia điểm du lịch ¿+ s+sStSt+E‡EEEEEEeEeEEkrxrrererxeerrvrs 51

Bảng 4 5: : Cơ sở dit liệu địa điểm ăn uống ¿- 2 s+cxeEEe£E2E2EEeExerxerrrrer 52

Bang 4 6: Cơ sở dit liệu khách sạn - - 5 St 2S vn HH HH kg rệt 53

Bang 4 7: Kiến trúc ứng dung Web - + 2s tk E2 12E121712121121121 11111 xe 56

Bảng 4 8: Danh sách các trang - - - +2 12111211111 11111 111118111111 11811 811g rnưện 58

Bang 4 9: Danh sách các màn hình - c2 22+ 3221131135115 Exxee 68

Trang 16

DANH MỤC TỪ VIET TAT

AI Artificial Intelligence

ML Machine Learning

NLG Natural Language Generation

NLU Natural Language Understanding

NLP Natural Language Processing

SVM Support Vector Machine

Trang 17

Nghiên cứu công nghệ chatbot, cấu trúc, các thuật toán

Nghiên cứu Rasa và các đặc điểm riêng biệt của nó Đồng thời tìm hiểu ngôn

ngữ lập trình python dé viết các custom action

Phân tích, thiết kế kiến trúc hệ thống, thiết kế cơ sở dit liệu và giao diện cho

ứng dụng web va ứng dụng di động.

Phát triển ứng dụng web và ứng dụng di động bằng cách sử dụng cácframework Reactjs, Flutter theo hướng day đủ tính năng, thân thiện, dễ sửdụng nhằm nâng cao trải nghiệm của người dùng

Trình bày kết luận và hướng phát triển cho hệ thống hỗ trợ chatbot du lịch

Trang 18

Chương 1 MỞ ĐẦU

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

Chatbot Tiếng Việt hỗ trợ du lịch Sài Gòn có tên là Du Lịch Ở Đâu là một

chatbot hỗ trợ tư vẫn thông tin du lịch tại phạm vi Sài Gòn, các thông tin được hỗ

trợ bao gồm như : địa điểm du lịch, địa điểm ăn uống, khách sạn và những câu hỏi

đáp nhanh (thời tiết, trang phục, phương tiện, )

1.2 Lý do chọn đề tài

Chatbot là một chương trình máy tính hoặc trí thông minh nhân tạo tương tác

với con người băng ngôn ngữ tự nhiên, thực hiện cuộc trò chuyện thông qua mộtgiao diện dưới dạng tin nhắn hoặc âm thanh Thuật ngữ “ChatBot” ban đầu được đặtbởi Michael Mauldin dầu tien vào năm 1994 Chatbots còn được gọi làConversational Agents hay Dialog Systems Các chatbots được thiết kế một cáchthuyết phục con người cư xử như một đối tác đàm thoại Theo cách tương tác mà

chúng tương tác với người dùng, các chatbots thường được chia thành hai loại: âm

thanh và tin nhắn Các chatbots được thiết kế phức tạp dựa trên nền tảng xử lý ngônngữ tự nhiên, nhưng cũng có nhiều hệ thống khác đơn giản hơn bằng cách tìm từkhoá trong từng câu và dựa vào từ khoá dé tìm câu trả lời phù hợp

Hiện nay phần lớn các chatbot đều thực hiện truy cập thông qua các trợ lý ảonhư trợ lý Google và Amazon Alexa, dưới ứng dụng tin nhắn như Facebook

Messenger, WeChat hoặc thông qua các ứng dụng va trang web của các tổ chức

riêng lẻ Sự phát triển của trí tuệ nhân tao tạo điều kiện dé chatbot phát triển nhanh

chóng và tạo ra một hệ sinh thái chatbot tương tự hệ sinh thái ứng dụng Chatbot

được sử dụng trong rất nhiều công việc như trong việc chăm sóc khách hàng (cungcấp thông tin sản phẩm, đưa ra các thông tin gợi ý ), quản lý hàng tồn, sắp xếp

lịch, tra cứu dữ liệu y tế, chăm sóc sức khóc Chatbot giúp tối ưu hóa năng suất,

giảm thiểu chi phí thông qua chăm sóc khách hàng, chăm sóc sức khỏe, đời sống

con người Chatbot có lợi thé dé dé dang sử dụng bat cứ ngành nghề nào

Trang 19

Du lịch là một trong những ngành kinh tế quan trọng, là một ngành kinh tếtổng hợp có tính liên ngành, liên vùng và xã hội hóa cao Du lịch không những có

khả năng tạo ra nguồn thu nhập rat lớn cho xã hội mà còn góp phan thực hiện chínhsách mở cửa, giao lưu văn hóa, thúc đây sự đổi mới và phát triển nhiều ngành kinh

tế khác, đồng thời giải quyết nhiều van đề mang tinh chất xã hội Sài Gòn, vùng đấtđược thiên nhiên ưu ái ban tặng nhiều tài nguyên quý, độc đáo được phục vụ choviệc phát triển một ngành du lịch với nhiều loại sản phẩm du lịch, hình thức du lịch

phong phú và đa dạng Mặc dù là một thành phó rất phát triển về kinh tế, bên cạnh

đó Sài Gòn còn là vùng đất giàu tiềm năng, lợi thế để phát triển du lịch, tuy nhiên

du lich Sài Gòn chưa phát triển tương xứng với tiềm năng vốn có Lam thé nào dé

du lịch Sài Gòn phát triển đi lên ngày một nhanh và mạnh mẽ, thu hút được lượng

khách du lịch đến thăm quan nhiều hon, nâng cao sức cạnh tranh, nâng cao vi thế dulịch Sài Gòn là một vấn đề quan trọng và cấp thiết cần được đặt ra hiện nay

Trang 20

Chương 2 TONG QUAN DE TÀI

2.1 Mục tiêu

Nghiên cứu, tìm hiểu về công nghệ chatbot.

Tìm hiểu cơ chế hoạt động của chatbot Rasa.

Cài đặt môi trường dé thử nghiệm và xây dựng, phát triển hệ thống với

chatbot Rasa.

Tìm hiểu về quy trình du lịch để áp dụng vào việc xây dựng hệ thống.

Nâng cao kỹ năng chuyên môn về phát triển ứng dụng web và mobile, cả

back-end và front-end.

2.2 Phạm vi và đối tượng

2.2.1 Đối tượng nghiên cứu

— Lý thuyết máy học, các thuật toán, phương pháp xây dựng ngôn ngữ tự

nhiên với ngôn ngữ Tiếng Việt.

— Mã nguồn mở Rasa và kỹ thuật xây dựng chatbot.

— Dữ liệu về du lịch Sài Gòn

2.2.2 Phạm vi nghiên cứu

— Nghiên cứu dữ liệu Tiếng Việt dùng trong du lịch và ngôn ngữ hội thoại

sử dụng cho xây dựng chatbot.

— Xây dựng và thực nghiệm hệ thống mô phỏng trợ lý ảo có trí tuệ nhân

tạo, hiểu và có thể trả lời những câu hỏi về thông tin du lịch Sài Gòn

2.3 Phương pháp thực hiện:

Thực hiện theo các bước sau:

Phân tích đề tài.

Nghiên cứu quy trình du lịch

Phân tích các yêu cầu đã thu thập được.

Thiết kế cơ bản các yêu cầu.

Trang 21

— Nghiên cứu công nghệ dé áp dụng.

— Phát triển sản phẩm qua các giai đoạn, đồng thời lấy ý kiến phản hồi

— Kiểm thử và hoàn thiện.

— Tạo được một nguồn thông tin chính thức

— Cung cấp sự nhanh chóng, tiện lợi cho người sử dụng.

— Giúp tiết kiệm thời gian trong việc tra cứu thông tin di du lịch.

— Giúp cắt giảm được nhiều chỉ phí phát sinh về mặt vật chất cũng như về mặt

Trang 22

Liệt kê top khách sạn nồi bật

Tìm khách sạn theo quận Tìm khách sạn theo đánh giá sao Tìm khách sạn giá rẻ

Tìm khách sạn dưới mức giá (vd: 200 trăm)

Tìm khách sạn trên mức giá (vd: 500 trăm)

m Địa điểm du lịch:

Liệt kê top địa điểm du lịch nồi tiếng Tim địa điểm du lịch theo thé loại

Tìm địa điểm du lịch theo quận

m Địa điêm ăn uông:

Liệt kê quán ăn ngon sài gòn Tìm quán ăn theo quận

Tìm quán ăn theo loại

© Đối với tinh thành quản lý:

m Quản lý địa điểm khách sạn

m Quản lý địa điểm du lịch

m Quản lý địa điểm ăn uống

Trang 23

Chương 3 CÔNG NGHỆ CHATBOT VÀ CHATBOT RASA

3.1 Tổng quan về chatbot

Chatbot là một chương trình máy tính có khả năng giao tiếp với con người bằng cách đưa ra câu trả lời cho các câu hỏi và thực hiện cuộc trò chuyện bằng

cách sử dụng xử lý ngôn ngữ tự nhiên Con người đưa vào lời nói hoặc văn bản

ngôn ngữ tự nhiên, trong khi chương trình chatbot sẽ đưa ra phản hồi thông minh

phù hợp nhất đưới dạng văn bản hoặc lời.

Cuộc trò chuyện có thể được bắt đầu bởi người dùng hoặc bởi chatbot Quá

trình giao tiếp bắt đầu khi người dùng nhập câu hỏi hoặc câu dưới dạng lời nói hoặc văn bản cho chương trình Sau đó, đầu vào của người dùng được phân tích

cho các từ khóa hoặc cụm từ mà nó chứa và câu trả lời được lập trình phù hợp

nhất từ cơ sở dữ liệu chatbot Quá trình kết thúc sau khi đầu ra được trình bày

cho người dùng bằng đồ họa hoặc bằng lời nói.

Chatbots còn được gọi là Conversational Agents hay Dialog Systems Các

chatbot được thiết kế một cách thuyết phục con người cư xử như một đối tác đàm

thoại Theo cách tương tác mà chúng tương tác với người dùng, các chatbot

thường được chia thành hai loại: âm thanh và tin nhắn Các chatbot được thiết kế phức tạp dựa trên nền tảng xử lý ngôn ngữ tự nhiên, nhưng cũng có nhiều hệ

thống khác đơn giản hơn bằng cách quét từ khóa trong đầu vào, sau đó trả lời với

từ khóa phù hợp nhất hoặc mẫu từ ngữ tương tự nhất trong cơ sở dữ liệu.

Trang 24

Chọn câu trả lời phù

hop nhât

Dữ liệu của chatbot

Hình 3 1: Xử lý hội thoại giữa chatbot và con người

Hiện nay phan lớn các chatbots đều thực hiện truy cập thông qua các trợ lý

ảo như trợ lý Google và Amazon Alexa, dưới ứng dụng tin nhắn như Facebook

Messenger, WeChat hoặc thông qua các ứng dụng Chatbot được sử dụng trong

rất nhiều công việc như trong việc chăm sóc khách hàng(cung cấp thông tin sản

phẩm, đưa ra những gợi ý ), quản lý hàng tồn, sắp xép lịch, tra cứu dit liệu hồ sơ

y tế, chăm sóc sức khỏe, khuyến khích người dùng tập luyện, hướng dẫn chế độ

ăn

3.2 Hoạt động của chatbot

Chatbot tương tác với con người qua âm thanh hoặc văn bản và sử dụng các

nền tảng đề giao tiếp với bot Phần mà các lập trình viên cần phát triển bao gồm:

Translator: Dịch yêu cầu của người dùng giúp máy tính hiểu được yêu cầu cần thực hiện Mục đích (intent) và các thực thể (entities) có trong yêu cầu được

trích xuất dé làm cơ sở cho việc xác định câu tra lời Các kỹ thuật xử lý ngôn ngữ

Trang 25

tự nhiên được áp dụng dé phân tích ngữ nghĩa yêu cầu của người dùng.

nếu câu trả lời cần thông tin từ database thì nó sẽ được truy xuất từ cơ sở dữ liệu

của chatbot Tùy thuộc vào kỹ thuật sử dụng sẽ cho mức độ chính xác của câu trả lời khác nhau.

Responsor: Nhận output từ Processor và trả lời lại cho người dùng.

3.3 Sự phát triển của chatbot

Ban đầu chatbot được phát triển như một ứng dụng bình thường, cũng có giao thức tầng ứng dụng, cơ sở dữ liệu và giao diện lập trình ứng dụng Giao diện người dùng của chatbot là giao diện trò chuyện Mặc dù, Chatbot cung cấp các

tính năng dễ dang cho người dùng có thé sử dụng nhưng lại tăng độ phức tap và tỉnh vi trong quá trình xây dựng, quản lý và huấn luyện.

Hầu hết các hệ thống chatbot đều có thé lưu trữ dữ liệu các cuộc đối thoại với

người dùng Các nhà phát triển chatbot sẽ sử dụng nhật ký các cuộc đối thoại dé

phân tích những gì người dùng đang có gắng hỏi và ý định của người dùng là gì?, tại sao chatbot không hiéu?, Với sự kết hợp của các mô hình và công cụ

Machine Learning, các nhà phát triển xây dựng các kịch bản mới cho từng câu

Trang 26

hỏi, ý định với các câu trả lời phù hợp nhất, đáp ứng nhu cầu của người dùng.

Chatbot sẽ ngày càng phát triển theo thời gian cũng giống như kinh nghiệm tiếp

xúc với khách hàng của 1 nhân viên bán hàng.

3.4 Các lĩnh vực ứng dung của chatbot

Dịch vụ khách hàng: Chatbot được sử dụng thay thế cho nhân viên chăm sóc khách hàng để trả lời các câu hỏi từ phía khách hàng Chatbot thông minh và xử

lý nhanh hơn con người Nó hoàn toàn tự động hóa và truyền tải thông tin đến

khách hàng ngay lập tức Các chương trình hỗ trợ khách hàng 24/7 và có thể trả lời các câu hỏi của khách hàng và cung cắp thông tin, đề xuất cho khách hàng.

Trong trường hợp trả lời không được, bot sẽ tự động gửi câu hỏi tới nhân viên

chăm sóc và lắng nghe câu trả lời Nó sẽ học cách trả lời loại câu hỏi này và có thể trả lời trong tương lai Ưu điểm nồi bật của chatbot là hệ thống thông minh hơn theo thời gian và có thể tự giải quyết được nhiều câu hỏi hơn.

Du lich lữ hành và bệnh viện: Chatbot ngày càng trở nên phổ biến và tiện

dùng hơn trong ngành công nghiệp y dược và du lịch lữ hành Vì nó có thể cung

cấp cho người ding những dich vụ tốt nhất với giá rẻ hơn Một điểm đặc biệt khi

dùng chatbot là làm tăng mức độ hài lòng cho khách cũng như duy trì lòng trung

thành của khách đối với thương hiệu thông qua hệ thống tự động.

Ngân hàng và dịch vụ tài chính: Chatbot như là người trợ lý của khách hàng,

nó có nhiệm vụ thông báo các thông tin hay cảnh báo các hoạt động bat thường

tới khách hàng Thông qua chatbot khách hàng sẽ hoàn toàn an tâm về dịch vụ sử dụng Ví dụ như khi có đăng nhập bắt thường, bot sẽ cảnh báo cho người dùng

bằng cách nhắn tin vào các tài khoản liên lạc đã cung cấp.

Chatbot như một trợ lí ảo: Một nhóm nhỏ của chatbot đã được thiết kế dé giúp thực hiện các tác vụ cụ thé Nó sẽ làm một số công việc mà đáng ra chúng ta phải mất thời gian xử lý hoặc đi thuê người khác làm Ví dụ như sắp xếp cuộc hẹn,

Trang 27

tìm hiểu một vấn đề được chủ nhân yêu cầu và trả lời vấn đề đó cho chủ nhân

heuristic có thé đơn giản như một kết hợp biểu thức dựa trên luật hoặc phức tạp hơn như một tập hợp các phân loại học máy Các hệ thống này không tạo ra bất

kỳ văn bản mới nào, họ chỉ cần chọn một phản hồi từ một tập cố định.

Các mô hình sinh (Generative models) không dựa vào các câu trả lời được xác định trước Nó tạo ra các câu trả lời một các tự động Các mô hình sinh

thường dựa trên các kỹ thuật dịch máy, nhưng thay vì dịch từ ngôn ngữ nảy sang

ngôn ngữ khác, nó dịch từ đầu vào thành đầu ra là các phản hồi.

Cả hai phương pháp đều có một số ưu và nhược điểm riêng Các phương pháp dựa trên truy xuất, do việc lưu trữ các câu trả lời đã được chuẩn bị trước

nên không có các lỗi về mặt ngữ pháp Tuy nhiên, phương pháp này không thể

xử lý cho các câu hỏi hội thoại mới chưa ton tại trong cơ sở dữ liệu Các mô hình này không thể xem xét lại thông tin thực thể theo ngữ cảnh như các tên

được đề cập trước đó trong cuộc trò chuyện Các mô hình sinh có tính thông

minh hơn so với mô hình dựa trên truy xuất Nó có thể tham khảo lại các thực thể trong đầu vào và tạo cảm giác đang nói chuyện với một con người thực sự Tuy nhiên, các mô hình này thường rất phức tạp và khó huấn luyện Các hội thoại tạo ra rat dé mắc lỗi ngữ pháp (đặc biệt là các câu dài) và thường yêu cầu

số lượng lớn dữ liệu đào tạo.

Các kỹ thuật học sâu (Deep Learning) có thể được sử dụng cho cả các mô

Trang 28

hình dựa trên truy xuất hoặc mô hình sinh Tuy nhiên hướng nghiên cứu nhận

được sự chú ý nhất hiện nay là mô hình sinh Các kiến trúc Deep Learning như

Sequence to Sequence rất phù hợp dé tạo văn bản và các nhà nghiên cứu dang

hy vọng sẽ đạt được tiến bộ nhanh chóng trong lĩnh vực nay.

Miền mở và miền đóng (Open Domain vs Closed Domain):

- Miền mở (Open Domain) trong một miền mở người dùng có thê thực

hiện cuộc trò chuyện ở bất cứ nội dung gì Không thiết phải có một mục tiêu

hoặc ý định hoàn toàn xác định Cuộc trò chuyện trên các trang mạng xã hội như

Twitter, Facebook thường là miền mở - người dùng có thể trao đổi tất cả các lĩnh vực và nhiều ý định khác nhau Số lượng chủ đề vô hạn và thực tế là cần một lượng kiến thức phong phú để tạo ra các phản hồi hợp lý Do đó chatbot trong miền mở là van đề khó hiện nay.

- Miễn đóng (closed domain) dữ liệu vào và dữ liệu ra trong miền đóng

là bị giới hạn vì hệ thống cố gắng đạt được một mục tiêu rất cụ thể Những chatbot tư vấn khách hàng mua sắm hoặc hỗ trợ kỹ thuật cho khách hàng hoặc dịch vụ chăm sóc khách hàng là những ví dụ về chatbot trong miền đóng Những

hệ thống này cần tập trung vào hoản thành nhiệm vụ cụ thể nào đó một cách

hiệu quả nhất có thể, do đó dữ liệu sẽ bị giới hạn trong một miễn cụ thể Người dùng vẫn có thé thực hiện cuộc trò chuyện ở bat cứ nội dung gì họ muốn, nhưng

hệ thống không bắt buộc phải xử lý tất cả các trường hợp này.

3.5.2 Phân loại chatbot

Có nhiều loại chatbot khác nhau và mỗi loại chatbot có những phản ứng theo những cách khác nhau Không phải tắt cả các chatbot đều thông minh giống nhau và chúng xác định một nhiệm vụ cụ thể Chatbot có thể phân thành bốn

loại như sau :

3.5.2.1 Flow-oriented chatbot

Loại chatbot này thực hiện theo các bước đã được xác định trước bởi

Trang 29

người lập trình Trong flow-oriented chatbot, người dùng sẽ trải qua một số câu

hỏi và tùy chọn Do đó, người dùng có thể đưa ra quyết định dựa trên các tùy chọn mà nhà phát triển chatbot đã cung cấp Loại bot này thường cung cấp rất nhiều nút và từ khóa mà qua đó người dùng có thể chọn một hành động cụ thể

dé thực hiện hoặc một thông tin sẽ được hiển thị Loại bot này còn được gọi là chatbot dựa vào luật (rule based chatbot), nó được xây dựng đề thực hiện một số nhiệm vụ được xác định trước dựa trên các quy tắc được cung cấp bởi một lập trình viên Các loại chatbot này có nhược điểm là không thể học để trở nên tốt hơn theo thời gian Việc tạo chatbot dạng này khá đơn giản, chỉ phí thấp và tốc

độ phát triển của loại hình chatbot này khá nhanh.

3.5.2.2 Chatbot thông minh nhân tao (Artificially intelligent chatbot)

Trong thập ky qua, trí tuệ nhân tao đã có những bước phát triển mạnh mẽ.

Nhiều thuật toán, kỹ thuật đã ra đời nhằm dé mô hình hóa những công việc mà

con người có thé thực hiện được Một trong những lĩnh vực thu hút được nhiều

sự quan tâm của các nhà khoa học là áp dụng trí tuệ nhân tạo trong xử lý ngôn

ngữ tự nhiên Ngày nay chúng ta có thể tìm thấy sự tương tác ngôn ngữ tự nhiên

khác nhau với các tác nhân đàm thoại Giao tiếp diễn ra thông qua các công nghệ kỹ thuật số chứ không phải trực tiếp Do đó, giao tiếp qua trung gian máy

tính (computer mediated communication - CMC) đã trở thành một lĩnh vực

nghiên cứu quan trọng để khám phá mô phỏng ngôn ngữ tự nhiên của con

người.

Ngày nay, một trong những dạng phổ biến nhất của CMS là nhắn tin tức thời (instant messaging - IM) Chatbot là một dạng phổ biến của CMS Các chatbot trí tuệ nhân tạo dựa vào trí thông minh nhân tạo để mang lại trải nghiệm người dùng Các ứng dụng này bắt chước tính cách, hành vi của con người, đó là

tương tác và trả lời các câu hỏi trong khi tạo ra một cuộc trò chuyện có ý nghĩa với con người Các chatbot thông minh nhân tạo cho phép người dùng tham gia

trao đổi một cách tự nhiên và có một cuộc thảo luận thực sự Người dùng có thé

Trang 30

nhập bat kỳ câu nào va bot có thé phân tích một tập hợp các tham sé dé biểu ý

định của người dùng và phản ứng lại.

< Chỉ tiết Chỉ đường c xay

Hình 3 3: Đoạn hội thoại của một chatbot trí tuệ nhân tạo

Chatbot lai (Hybrid chatbot)

Các chatbot này kết hợp các ưu điểm của Flow-oriented chatbot và

Artificially intelligent chatbot dé mang lại trải nghiệm tốt hơn cho người dùng.

Hầu hết các chatbot hiện có là chatbot lai vì công nghệ xử lý ngôn ngữ tự nhiên

vẫn còn nhiều hạn chế để hiểu được mọi câu hội thoại từ người dùng, có nghĩa

là người ding sẽ không thể luôn nhận được câu trả lời mà họ muốn Với một

chatbot lai, người dùng có thể phải thông qua một loạt các câu hỏi như xảy ra

trong các flow-oriented chatbot nhưng họ cũng có thể nhập các câu hỏi để trao

đổi trực tiếp với bot.

Trang 31

dạy chatbot đảm bảo trả lời tốt hơn cho các cuộc hội thoại trong tương lai.

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

3.5.3.1 So sánh trùng khớp mẫu câu (Pattern matches)

Các chatbot hoạt động bằng cách sử dụng phương pháp này dé tìm kiếm

các mẫu câu có trong câu hỏi của người ding và xem có khớp với các câu hỏi đã

được lưu trữ trong cơ sở dir liệu của hệ thống dé đưa ra câu trả lời phù hợp nhất.

Phương pháp Pattern matches dựa theo cấu trúc tiêu chuẩn của ngôn ngữ lập

trình Artificial Intelligence Markup Language (AIML) là một ví dụ AIML là

một dạng của XML định nghĩa các quy tắc để kết hợp các mẫu câu hỏi và xác

định câu trả lời cho nó.

Trang 32

3.5.3.2 Si dụng thuật toán phan lớp (Classification algorithms)

Giả sử trong trường hợp có rất nhiều câu hỏi riêng biệt với ý định khácnhau đến từ người dùng, mà chatbot chỉ có thé phản hôi khi tat cả câu hỏi này đã

được thiết lập, huấn luyện cho chatbot với các kịch bản đối thoại đã được lưu trữtrong cơ sở dit liệu Sự phức tạp sẽ gia tăng khi chatbot cố gắng kết nối các mẫucâu và tạo nên một cau trúc phân tang trong hệ thống Một giải pháp được sửdụng là áp dụng các thuật toán phân lớp vào chatbot dé giảm việc phân loại quánhiều các câu hỏi Các câu hỏi sẽ được phân lớp theo các điều kiện khác nhau vàtạo ra một cấu trúc dễ quản lý hơn, tăng độ chính xác cho các phản hồi được

chatbot tới cho người dùng Ví dụ: giả sử tập hợp các câu hỏi, tin nhắn tương táccủa người dùng cùng ý định, chủ đề đã được phân lớp trong các lớp cụ thê và sẽ

có nhiều lớp được tạo Nếu người đưa ra một câu mới so với cơ sở đữ liệu hiện

có, chatbot sẽ đối sánh câu này với các câu đã tập hợp trong các lớp Dựa vào

điểm số tương tự của sự so sánh, chatbot sẽ tìm ra lớp chứa câu tương tự và đưa

ra phản hồi chính xác đến người dùng dựa vào lựa chọn câu thích hợp trong lớp

đó Multinomial Naive Bayes là một thuật toán phân loại văn bản được sử dụng

phô biến trong xử lý ngôn ngữ tự nhiên dựa trên tính toán xác suất áp dụng định

ly Bayes Thuật toán này thuộc nhóm học có giám sát Các vector đặc trưng

được xây dựng dựa trên các phương pháp biêu diễn văn bản như đã đề cập trongchương 1 Với phương pháp này, điểm số chỉ thê hiện độ tin cậy và sự liên quannhất định của các câu hỏi, tin nhắn mà người dùng đưa ra đối với một lớp cụ thé

chứ không đảm bảo độ chính xác hoàn toàn.

3.5.3.3 Mạng noron nhân tạo (Artificial Neural Network - ANN)

Phương pháp Mang noron nhân tao là tính toán tỷ lệ chính xác dữ liệu

đầu ra từ dir liệu đầu vào bằng cách tính toán các trọng số cho mỗi kết nối từ cáclần lặp lại khi huấn luyện dữ liệu cho chatbot Mỗi bước trong quá trình huấn

luyện đữ liệu cho chatbot sẽ sửa đổi các trọng số để dữ liệu đầu ra có độ chính

xác cao nhất có thể Mỗi câu hội thoại sẽ được phân tách thành từng từ và mỗi

Trang 33

từ chính là dit liệu đầu vào cho các nơron của ANN Cac từ sẽ được kết nối vớinhau và khi huấn luyện dữ liệu cho chatbot, các kết nối này sẽ được đo bằng

trọng số cho hàng ngàn lần lặp lại ở các thời điểm khác nhau Mỗi lần lặp lại

trọng sé sé thay đôi va độ chính xác sẽ được cải thiện Do đó chatbot khi đượchuấn luyện trong thời gian dài sẽ tăng khả năng tự học, tự phát triển về hiểu biết

các ý định của người dùng và đạt được độ chính xác, độ tin cậy cao.

3.5.3.4 Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP)

Phương pháp NLP sử dụng các thuật toán và truy xuất cơ sở dit liệu dé

làm cơ sở nhận dạng, chuyên đổi dir liệu đầu vào của người dùng thành dé liệu

có cấu trúc và tiễn hành phân loại và đưa ra các câu tra lời tương ứng Dé giaotiếp tự nhiên với con người, thì NLP phải là một phần quan trọng của bất kỳ

công nghệ AI nào được sáng tạo ra và đưa vào sử dụng Một hệ thống NLP hiệu

quả thu thập các câu hỏi, tin nhắn của người dùng, phân tích theo từng từ, nắm

được ý định của người dùng, xác định hành động phù hợp và phản hồi lại bằng

ngôn ngữ mà người dùng sẽ hiêu.

MESSAGING PLATFORM

last 3 pictures Facebook

NATURAL LANGUAGE cocial_nedia ~ Facebook

PROCESSING

MACHINE LEARNING

ACTIONS

Trang 34

Hình 3 4: Cau trúc cơ bản của một chatbot sử dung NLP và công nghệ Machine

learning

Khi người dùng gửi tin nhắn đến chatbot thông qua nền tảng nhắn tin

(Messaging platform) như Facebook messenger thì thông tin sẽ được đưa đến hệ

thống NLP dé chatbot phân tích và hiểu được ý định người dùng (Bot Logic).Sau khi trích xuất được ý định người dùng, chatbot sẽ phân loại và gửi đến cơ sở

dữ liệu (Information Sources) dé chọn ra các câu trả lời tương ứng, chính xác va

ra lệnh (Actions) dé phản hồi lại người dùng Ngoài khả năng tự phân tích dựavào NLP, chatbot sẽ tự nhận dạng nhanh chóng các tin nhắn của người dùng và

tao khả năng tự hoc (Machine Learning) thông qua các thuật toán được nhà phát

triển áp dụng và quá trình huấn luyện lâu dài trong tương lai

3.5.3.5 Hiểu ngôn ngữ tự nhiên (Natural Language Understanding

-NLU)

NLU là phương pháp giúp cho các chatbot hiểu được các câu lệnh củangười dùng mà không phải dựa trên bất kỳ ngôn ngữ, câu thoại, cấu trúc nào

được định dạng sẵn ở trong hệ thống, giúp chatbot có thé phản hồi nhanh chóng

đến người dùng NLU là một kỹ thuật nâng cao của NLP NLU thường được sử

dụng cho các chatbot nhận diện giọng nói Các công ty, tập đoàn công nghệ

hàng đầu thế giới đã đi đầu trong việc ứng dụng NLU vào quá trình hình thành

các công nghệ AI đầu tiên, là cha đẻ của Chatbot như Alexa của Amazon, Siri

cua Apple, Google’s Assistant của Google va Cortana cua Microsoft.

Trang 35

Bot Instance / | À_- bot-express

Hình 3 5: Hệ thống chatbot sử sử dụng phương pháp NLU

NLU giúp giải quyết một trong những vấn đề mà bất kỳ công nghệ AI

nao cũng gặp phải không chỉ riêng chatbot là làm thế nào dé xử lý những dữ liệuđầu vào không có cau trúc cụ thé, không có định dạng rõ ràng, không có thuậttoán, quy tắc quản lý chặt chẽ Với phương pháp NLU, hệ thống có thể hiểuđược dữ liệu đầu vào và tương tác lại với con người một cách dé dàng NLU có

thé giúp chatbot hiểu được ý định của mỗi người dùng thậm chí không cần được

huấn luyện từ trước NLU hơn cả việc hiểu và giải thích từ ngữ thông thường,NLU có khả năng hiểu được ý nghĩa người dùng kể cả các trường hợp lỗi phô

biến như phát âm sai hoặc không đúng văn phạm, chính tả

3.5.4 Cac van dé cơ bản khi phát triển hệ thống chatbot

Đề các chatbot có thể giao tiếp với người dùng nó cần phải hiểu văn bản

trong các câu hỏi của người dùng và đưa ra những câu trả lời phù hợp Thành

phần đảm nhiệm công việc này trong hệ thống chatbot được gọi là Natural

Language Understanding (NLU) Các kĩ thuật xử lý ngôn ngữ tự nhiên sẽ được

ap dụng dé có thé hiểu được yêu cầu và trả lời yêu cầu một cách phù hợp nhất

Hiện nay, phương pháp tạo chatbot phố biến nhất là các chatbot được sử dụng

Trang 36

trong miền ứng dụng đóng (closed domain) và trả lời theo mô hình truy xuấtthông tin (retrieval-based model) Mô hình truy xuất thông tin là mô hình trong

đó, chatbot đưa ra những phản hồi được chuẩn bị trước hoặc tuân theo những

mô thức nhất định Mô hình này khác với mô hình tự động sinh câu trả lời

(generative-based model), trong đó câu trả lời của chatbot được tự động sinh ra

băng việc học từ một tập dữ liệu các đoạn hội thoại Các hệ thống chatbot đượctriển khai trong thực tế phần lớn tuân theo mô hình truy xuất thông tin và được

áp dụng trong những miền ứng dụng nhất định

Ba vấn đề xử lý ngôn ngữ tự nhiên cơ bản trong phát triển hệ thống

chatbot trong miền ứng dụng đóng và theo mô hình truy xuất thông tin :

1) Xác định ý định người dùng (intent detection).

2) Trích xuất thông tin (information extraction)

3) Quản lý hội thoại (Dialog management).

3.5.4.1 Xác định ý định người dùng

Người dùng khi sử dụng hệ thống chatbot, dựa trên các câu hỏi truy vấncủa họ hệ thống sẽ xử lý để tìm ra câu trả lời phù hợp nhất Ví dụ người dùngcủa hệ thống chatbot hỗ tro tư vấn du lịch có thé đưa ra yêu cầu cung cấp thôngtin về một địa điểm du lịch nào đó hoặc có những câu hỏi cần sự trả lời tư van

cho họ Để đưa ra hỗ trợ được chính xác, chatbot cần xác định được ý định

(intent) đó của người dùng Việc xác định ý định của người dùng là rất quantrọng, nó sẽ quyết định hội thoại tiếp theo giữa người dùng và chatbot sẽ diễn ranhư thế nao, có thỏa mãn yêu cầu của họ và quá trình trao đổi có phù hợp giữahỏi — trả lời hay không Vi thế, nếu xác định sai ý định người dùng, chatbot sẽđưa ra những phản hồi không đúng, không hợp ngữ cảnh Khi đó, người dùng cóthé sẽ dừng sử dụng và không tiếp tục sử dụng hệ thống trong tương lai Bài

toán xác định ý định người dùng vì thế đóng vai trò rất quan trọng trong hệ

thống chatbot

Trang 37

Đối với các miền ứng dụng đóng, chúng ta có thé giới han số lượng ýđịnh của người dùng nằm trong một tập hữu hạn các ý định đã được định nghĩa

sẵn Các ý định được xây dựng có liên quan đến những nội dung mà chatbot đó

có thể hỗ trợ Do đó, bài toán xác định ý định người dùng có thê quy về bài toánphân lớp văn bản Do đó xác định ý định người dùng có thé gọi là phân loại ýđịnh (intent classification) Với đầu vào là một câu giao tiếp của người dùng, hệthống phân lớp sẽ xác định ý định tương ứng với câu đồ trong tập các ý định đã

được định nghĩa Dé xây dựng một mô hình phân lớp ý định, chúng ta cần một

tập dữ liệu huấn luyện bao gồm các cách diễn đạt khác nhau cho mỗi ý định Ví

dụ, cùng một mục đích hỏi về địa điểm du lịch ở Sài Gòn, người dùng có thé

dùng những cách diễn đạt sau:

¢ - Địa chỉ du lịch

* Tim địa điểm nồi tiếng

* _ Tôi muốn tìm địa điểm nồi tiếng

* Tim địa điểm

* - Tôi muốn tim địa điểm đẹp nhất Sài gòn

¢ _ Tôi muốn tìm địa điểm nồi bật nhất Sài gon

* Tôi muốn tim địa điểm du lịch hang dau

Bước tạo dữ liệu huấn luyện cho bài toán phân lớp ý định là một trongnhững công việc quan trọng nhất khi phát triển hệ thống chatbot và ảnh hưởngrất lớn tới chất lượng của hệ thống chatbot Công việc này đòi hỏi thời gian,công sức khá lớn của nhà phát triển chatbot

3.5.4.2 M6 hình hoc máy cho bài toán phân lớp ý định người dùng

Dựa trên dữ liệu huấn luyện cho bài toán phân lớp ý định, chúng ta sẽ mô

hình bai toán thành bài toán phân lớp văn ban Bai toán phân lớp van ban là một

bài toán kinh điển trong xử lý ngôn ngữ tự nhiên và có rất nhiều thuật toán phânlớp khác nhau có thể được sử dụng Mô hình phân lớp văn bản cho bài toánphân lớp ý định có thê được phát biéu một cách hình thức như sau:

Trang 38

Cho một tập huấn luyện bao gồm các cặp (câu hội thoại, ý định), D =

f(x, yØ), , (x, y)}, trong đó x® là các câu hội thoại và y là ý định tương

ứng của câu hội thoại x Các ý định y nằm trong một tập hữu hạn K các ý

định đã được định nghĩa trước Chúng ta cần học từ tập huấn luyện này một mô

hình phân lớp có chức năng phân lớp một câu hội thoại mới vào một trong các ý

định thuộc tập K Kiến trúc của hệ thống phân lớp ý định được minh hoạ trong

Hình 3 6: Kiến trúc của hệ thống phân lớp ý định

Trong bước tiền xử lý đữ liệu, chúng ta sẽ thực hiện các thao tác “làm

sạch” đữ liệu như: loại bỏ các thông tin dư thừa, chuẩn hóa đữ liệu như chuyên

các từ viết sai chính tả thành đúng chính tả, chuẩn hoá các từ viết tắt, Việc

tiền xử lý đữ liệu có vai trò quan trọng trong hệ thống chatbot do đặc thù của

ngôn ngữ chat, nói: viết tắt, sai chính tả, hay dùng tiếng lóng Sau khi tiền xử lý

dữ liệu và thu được đữ liệu đã được làm sạch, chúng ta sẽ trích xuất những đặc

trưng từ đữ liệu này Trong học máy, bước này được gọi là trích xuất đặc trưng

(feature extraction) Trong mô hình học máy truyền thống, bước trích xuất đặc

trưng ảnh hưởng lớn đến độ chính xác của mô hình phân lớp Đề trích xuất được

những đặc trưng tốt, chúng ta cần phân tích đữ liệu chỉ tiết và cần cả những tri

thức chuyên gia trong từng miền ứng dụng cụ thể

Ở bước huân luyện, đâu vào là các đặc trưng đã được trích xuât và áp

dụng các thuật toán học máy dé sinh ra một mô hình phân lớp Các mô hình

Trang 39

phân lớp có thé là các luật phân lớp (nếu sử dung decision tree) hoặc là cácvector trọng số tương ứng với các đặc trưng được trích xuất (như trong các mô

hình logistic regression, SVM, hay mang Neural) Chúng ta có thé sử dụng mô

hình phân lớp đã được sinh ra dé phân lớp một câu hội thoại mới Với mỗi câuhội thoại đều phải thực hiện các bước tiền xử lý và trích xuất đặc trưng, sau đó

mô hình phân lớp mới được áp dụng trên dit liệu đã tiền xử lý dé xác định “điểm

số” cho từng ý định trong tập các ý định và đưa ra ý định có điểm số cao nhất

3.5.4.3 M6 hình dựa trên đối sánh nội dung

Mô hình phân lớp ý định dựa trên học máy thống kê yêu cầu dữ liệu huấnluyện bao gồm các cách diễn đạt khác nhau cho mỗi ý định Dữ liệu huấn luyệnnày thông thường được chuẩn bị một cách thủ công Bước chuẩn bị dữ liệu này

mắt rất nhiều thời gian và công sức, đặc biệt là trong các ứng dụng mà số lượng

ý định lớn Một cách tiếp cận khác có thê giảm chi phí chuẩn bị dir liệu huấnluyện là sử dụng mô hình đối sánh thông tin dựa vào nội dung của hội thoại Vớiphương pháp này, tập dit liệu chuẩn bị trước là các cặp câu hỏi - trả lời Với một

câu hội thoại, thuật toán đối sánh thông tin sẽ được áp dụng dé đối sánh với từng

câu hỏi trong tập dữ liệu Câu trả lời cho câu hỏi có nội dung gần giống nhất vớicâu đầu vào sẽ được lựa chọn Các phương pháp tính tương đồng văn bản sẽđược áp dung dé tìm ra giá trị tương đồng trong mỗi so sánh Một trong nhữngthách thức của mô hình đối sánh nội dung là việc xử lý những cách diễn đạt

khác nhau cho cùng một câu hỏi yêu cầu Vì số lượng mẫu cho mỗi ý định

không nhiều, mô hình đối sánh sẽ phải sử dụng các luật hoặc tài nguyên ngữnghĩa dé xử lý những biến thể khác nhau khi diễn đạt một từ, một cụm từ, hay

một ý trong câu.

3.5.4.4 Mô hình lai

Mô hình lai (hybrid model) là mô hình có thé kết hợp nhiều mô hình khácnhau như mô hình học máy, mô hình đối sánh nội dung và đặc biệt là các kỹthuật tiễn bộ trong AI Mô hình lai sẽ khắc phục được nhược điểm của tính đa

Trang 40

nghĩa và phong phú trong diễn đạt của ngôn ngữ tự nhiên của phương pháp đốisánh nội dung, giảm chi phí cho chuẩn bị dữ liệu huấn luyện của học máy.

Trích xuất thông tin

Bên cạnh việc xác định ý định trong câu hội thoại của người dùng, chúng

ta cần trích xuất các thông tin cần thiết trong đó Các thông tin cần trích xuấttrong câu hội thoại thường là các thực thể, ví dụ như thời gian, địa chỉ, Thànhphần NLU của các hệ thống chatbot thường được tích hợp thành phần nhận dạngthực thê giúp phát hiện ra các thực thể có trong mỗi hội thoại Dữ liệu vào củamột module trích xuất thông tin là một câu hội thoại Module trích xuất thôngtin sẽ xác định vị trí của các thực thê trong câu (vi tri bắt đầu và kết thúc củathực thé), loại thực thé,

Cách tiếp cận phố biến cho bài toán trích xuất thông tin là mô hình hoábài toán thành bài toán gan nhãn chuỗi (sequence labeling) Đầu vào của bàitoán gán nhãn chuỗi là một dãy các từ và đầu ra là một dãy các nhãn tương ứng

với các từ đầu vào Các mô hình học máy sẽ được sử dụng để học một mô hình

gan nhãn từ một tập dữ liệu đầu vào bao gồm các cặp (x1 Xn, y1 ya), trong đó

X1 Xn là day các từ và yi ya là day các nhãn Thuật toán nhận dang thực thé

được sử dụng phố biến là mô hình CRF (Conditional Random Fields) Với dữ

liệu văn bản, mô hình CRF thường cho kết quả tốt hơn mô hình Hidden MarkovModels Có khá nhiều công cụ mã nguồn mở cai đặt mô hình CRF cho bài toángan nhãn chuỗi như CRF++, CRF Suite, Trong thời gian gần đây, các môhình mạng neural hồi quy (Recurrent Neural Networks) được áp dụng nhiều chobài toán gán nhãn chuỗi Mô hình mạng neural hồi quy đã chứng minh tính hiệuquả với đữ liệu dạng chuỗi vì nó mô hình mối quan hệ phụ thuộc giữa các từ

trong câu Ví dụ, mạng neural hồi quy được áp dụng cho bài toán gán nhãn từ

loại (POS Tagging), bài toán xác định thực thê có tên

Quản lý hội thoại

Trong quá trình trao đổi giữa người sử dụng và chatbot, chatbot sẽ cần

Ngày đăng: 02/10/2024, 03:15

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w