Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)Nghiên cứu hệ thống trợ lý thông minh ảo (Luận văn thạc sĩ)
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN HỮU CƯỜNG
NGHIÊN CỨU HỆ THỐNG TRỢ LÝ THÔNG MINH ẢO
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2017
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN HỮU CƯỜNG
NGHIÊN CỨU HỆ THỐNG TRỢ LÝ THÔNG MINH ẢO
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: TS Nguyễn Văn Vinh
Hà Nội - 2017
Trang 3LỜI Đ N
Tôi là Nguyễn Hữu Cườ g h iên khóa K21, ngành Công nghẹ thông tin, chuyên ngành Hẹ Thố g Th g Ti T i i ạ n va “Nghiê ứu hệ thống trợ lý thông minh ảo i ghiê ứ hi ph i i s hu ng d
TS Nguyễn Va n Vinh Luạ n va h g hải h i iẹ u, c g h ghiê ứ g ời khác mà không ghi rõ trong tài liẹ h hả T i i h h nhiẹ m v ời
Hà Nội, ngày 05 tháng 04 na m 2017
Trang 4LỜI Ả N
Đ iê i i g i ời ả n t i các th y cô Tru ờng Đại h ông nghẹ , Đại
h Q ố Gi H N i ã ạ n t h giả g ạ ạ i hứ g ố h h
h T i g i ợc g i lời ả o n n cá h g môn Hẹ thố g h g i g h khoa công nghẹ th g i ã g ại h i hữ g i hứ
g gi h g h h ạ ại ờng
Đạ c biẹ t xin ch h h ả n th y giáo, TS Nguyễn Va n Vinh, ngu ời ã h
hu ng, giúp , tr c ti p hu ng d n và tạ n t h h ả i g ố h ghiê
ứ g h hiẹ n luạ n va n này
T i g i ợ ả i gi h hữ g g ời thân, các ng nghiẹ p v ạ
è ã h ờng xuyên quan tâm, ng viê hi i h ghiẹ m, cung c i iẹ u hữ
h g hời gi h ạ p, nghiê ứ g h trong suốt quá trì h h hiẹ n luạ n va
ố ghiẹ p
Hà Nội, ngày 05 tháng 10 na m 2017
Trang 5MỤC LỤC
MỤC LỤC iii
DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT i
DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ ii
DANH MỤC BẢNG BIỂU iii
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG TRỢ LÝ ẢO 2
1.1 Gi i thiệu v hệ thống trợ lý ảo 2
1.2 C u trúc hệ thống trợ lý ảo 3
1.3 Nhận dạng gi ng nói t ộng (ASR - Automatic Speech Recognition) 3
1.4 X lý hình ảnh IMM (Image Matching) 4
1.5 Quản lý câu hỏi trả lời QA (Question-Answering) 5
1.5.1 Cấu tạo của quản lý câu hỏi 5
1.5.2 Xử lý ngôn ngữ tự nhiên trong Quản lý câu hỏi trả lời 6
1.5.3 Các mức của NLP 6
1.6 Ứng dụng NLP trong chatbot 8
1.6.1 Cấu tạo hệ thống chatbot 8
1.6.2 Cấu trúc hộp thoại chatbot 8
1.6.3 Xử lý dữ liệu trong chatbot 9
CHƯƠNG 2: MỘT SỐ KĨ THUẬT SỬ DỤNG TRONG TRỢ LÝ ẢO 11
2.1 Mạng h c sâu DNNs 11
2.1.1 Khái nghiệm mạng học sâu 11
2.1.2 Xây dựng mô hình 11
2.1.3 Vấn đề và giải pháp khắc phục 13
2.2 Quản lý hội thoại 15
2.2.1 Mô hình quản lý dựa trên khung (Frame based dialog Agents) 15
2.2.2 VoiceXML 16
2.3 Mô hình sinh hội thoại 18
2.3.1 Ý nghĩa chính của mô hình sinh hội thoại 18
2.3.2 Đặc điểm của mô hình hội thoại 18
2.4 Nhận xét 19
CHƯƠNG 3: THỰC NGHIỆ VÀ ĐÁNH GIÁ 20
3.1 Phát tri n bài toán 20
3.2 Chươ g h h c nghiệm 20
3.2.1 Cấu trúc Api.ai 21
3.2.2 Thành phần API.AI 21
3.2.3 Mô hình xây dựng 23
3.2.4 Giao diện ứng dụng 24
3.3 Dữ liệu th c nghiệm 26
3.4 Mô hình hội thoại 29
3.5 Dữ liệu phân tích 32
3.6 Dữ liệu câu hỏi 33
3.7 Nhận xét và k t quả 36
KẾT LUẬN 38
TÀI LIỆU THAM KHẢO 39
PHỤ LỤC 40
Trang 6DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT
T vi t
AI Artificial Intelligence Trí tuẹ nh ạ
SDK Support Development Kit B c g ụ h ợ h i
API Application Programming
IPA Intelligent Personal Assistants Ứng dụng H trợ Cá nhân Thông
minh ASR Automatic Speech Recognition X lý gi ng nói
SURF Speeded up robust features Nhận dạng hình ảnh
NLU Natural language understanding Hi u ngôn ngữ t nhiên
CRF Conditional Random Fields Mô hình CRF
FSA Finite State Automata Mô hình d a trên máy trạng thái
hữu hạn
FST Finite State Transducer Máy chuy n i trạng thái hữu
hạn A-FSM Acceptor Finite State Machine Máy trạng thái hữu hạn ch p nhận
WFST Weighted Finite State
Trang 7DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1.1: Sơ hệ thống trợ lý ảo 3
Hình 1.2: Sơ x lý âm thanh 4
Hình 1.3: Sơ x lý hình ảnh 5
Hình 1.4: Quản lý câu hỏi trả lời 6
Hình 1.5: M h h ơ ản c a hệ thống chatbot 8
Hình 1.6: C u trúc hộp thoại chatbot 8
Hình 2.7: Ki n trúc seq2seq 10
Hình 2.1: Bi u diễn mô hình mạng 11
Hình 2.2: Mạ g ơ i h RNN 12
Hình 2.4: Ki n trúc t ộng trạng thái hữu hạn cho hộp thoại d a trên khung 15
Hình 2.5: Ví dụ v mô hình dialogue d a trên Frame 15
Hình 2.6: Ví dụ v mô hình VoiceXML 17
Hình 3.1: Sơ phát tri n bài toán 20
Hình 3.2: Sơ hoạt ộng c a Api.ai 21
Hình 3.3: Giao diện Api.ai intents 22
Hình 3.4: Giao diện Api.ai contexts 23
Hình 3.5: Giao diện Api.ai webhook 23
Hình 3.6: Mô hình xây d ng giao diện 24
Hình 3.7: Giao diện Chatbot 25
Hình 3.8: Mô hình hội thoại 29
Hình 3.9: Dữ liệu uống 30
Hình 3.10: Dữ liệu thức ăn 30
Hình 3.11: Dữ liệu a i m 31
Hình 3.12: Dữ liệu thời ti t 31
Hình 3.13: Dữ liệu truy v n m i phiên làm việc 32
Hình 3.14: Dữ liệ h h ươ g 32
Hình 3.15: Dữ liệu intents 32
Trang 8DANH MỤC BẢNG BIỂU
Bảng 3.1: K t quả th nghiệm 33 Bảng 3.2: Dữ liệu câu hỏi 33
Trang 9MỞ ĐẦU
Ngày nay, trí tuệ nhân tạ g g g h i n mạnh mẽ Các hãng l hư Apple, Microsoft G g e ư g ghệ ươ g c ti p v i gười dùng Trí tuệ nhân tạo g g g ược nâng c p hoàn thiệ giú gười dùng dễ dàng
ươ g ễ s dụng và giảm quá trình th c hiện Trí tuệ nhân tạ g ộ ĩ h c
m i m ược s quan tâm r t l n t các hãng công nghệ h g u V i công nghệ
g g g ược áp dụ g g ời số g giú gười làm việc hiệu quả hơ i t kiệm thời gian và sức l c, trí tuệ nhân tạ hư ột hệ thố g ược xây d g phục vụ
h i
Hệ thống trợ lý ảo là một hệ thố g giú gười giao ti p v i máy th c hiện các yêu c u ý muốn c gười dùng Hiện nay trên th gi i hệ thống trợ lý ả g ược nghiên cứu và phát tri n mạnh mẽ ở các hãng công nghệ h g u th gi i V i mong muốn hi u sâu v trí tuệ nhân tạo, em quy nh ch i “Nghiê ứu hệ thống trợ lý thông minh ả tài luậ ă hạ ĩ Q tài em muốn nâng cao s hi u bi t v trí tuệ nhân tạ ng thời nghiên cứ có th áp dụng th c tiễn tại Việt Nam
Nội dung luận ă ược chia ra làm 3 ph hư :
Chương 1: Gi i thiệu t ng quan v hệ thống trợ lý ảo, c u trúc hệ thống trợ lý ảo, trình
bày v x lý ngôn ngữ t nhiên NLP và ứng dụng NLP trong chatbot
Chương 2: Nghiên cứu một số ĩ h ật ược s dụng trong chatbot, tìm hi u quản lý hội
thoại, mô hình sinh hội thoại
Chương 3: Trình bày v quá trình th c nghiệ h gi , các k t quả ược th c
nghiệm và xây d ng chatbot
Trang 10
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG TRỢ LÝ ẢO
1.1 Giới thiệu về hệ thống trợ lý ảo
Siri c a Apple [1], Google Now c a Google [2] và Cortana c a Microsoft [3] ại diện cho một l p d ch vụ web m i n i g i là các Ứng dụng H trợ Cá nhân Thông minh (Intelligent Personal Assistants - IPA) IPA là một ứng dụng s dụng các y u tố u vào
hư i ng nói, hình ảnh và thông tin theo ngữ cảnh c a người d g h trợ bằng cách trả lời các câu hỏi bằng ngôn ngữ t nhiê ư h n ngh v h h ộng Các IPA
g i lên là một trong những d ch vụ Internet phát tri n nhanh nh t vì g n h ã tri n khai trên các n n tảng n i ti ng như iOS A i Wi w Ph e h chúng ph bi n trên các thi t b di ộng trên toàn th gi i
S dụng IPAs g gi ă g h h h g i các sản phẩm m i nh t trong các công nghệ có th e hư ng h thông minh và kính thông minh S tă g ưởng th ph n này, cùng v i việc thi t k các sản phẩm e h phụ thuộc nhi u v u vào hình ảnh và gi ng nói, cho th y nhu c u s dụng d ch vụ IPA g ă g ê nhanh chóng IPA khác v i nhi u khối lượng công việc d ch vụ web hiện có trong các máy tính có quy mô
l n (WSCs) Ngược lại v i các truy v n c a các d ch vụ trung tâm duyệt web, lu ng truy
v n IPA thông qua các thành ph n ph n m m thú ẩy những ti n bộ g n g hận dạng gi ng nói, x lý ngôn ngữ t nhiên và t m nh h cung c p cho người dùng một câu hỏi d a trên câu hỏi và hệ thống trả lời Do cường ộ tính toán c a các thành ph n này và các mô hình dữ liệu d a trên mô hình mà h s dụng, các nhà cung
c p d ch vụ yêu c u tính toán trong các n n tảng trung tâm dữ liệu l n thay cho việc tính toán trên các thi t b di ộng Cách ti p cận giảm tải n ược s dụng bởi cả Siri c a Apple l n Google Now c a Google khi h g i các bản ghi nén lệnh truy v n bằng gi ng nói t i các trung tâm dữ liệu nhận dạng ti ng nói và khai thác ngữ nghĩa
S tươ g giữa thi t b thông minh v i con người không còn nằm ở việc gõ ă bản mà giờ là cả hình ảnh l n gi ng n i ứng ược nhu c u ngày càng cao c a trải nghiệm người dùng, các hãng công nghệ thông tin l n g g g u tư ạnh vào
hệ thống trợ lý thông minh ảo
Trang 111.2 Cấu trúc hệ thống trợ lý ảo
Đ hi u một hệ thống trợ lý ảo hoạ ộ g hư h nào, c n phải hi ược c u trúc
và c u tạo c a một hệ thống trợ lý ả Sơ c a một hệ thống trợ lý ảo:
Hình 1.1: Sơ hệ thống trợ lý ảo
D a trên hình 1.1 [7], có th th y c u tạo c a một hệ thống trợ lý ảo bao g m 2 khối: khối gười g ( e ) u vào là ảnh, gi g i ă ản và khối x lý dữ liệu (server) g m các khối x lý hình ảnh, h h ă ản, khối quản lý hội thoại Truy v n bắt u bằng gi ng n i ă bản, hình ảnh c a người dung thi t b thông
i h hư iện thoại, thi t b e h h g i h fi e h h ảnh, âm thanh hoặc
vă ản ược g i t i máy ch x lý
V i gi ng n i ược x lý bằng giao diện ASR (Automatic Speech Recognition) chuy n câu hỏi nói c a người dùng sang vă ản tươ g ươ g ằng mô hình thống kê
S ă ản i h h ại truy v n (Query Classifier - QC) quy t nh xem bài phát bi u có phải l h h ộng hay câu hỏi không N u h h ộng, lệnh sẽ ược
g i lại cho thi t b di ộng th c hiện N u không, thì hệ thống sẽ hi u là câu hỏi bằng
vă ản thu n tuý S dụng các kỹ thuật x lý ngôn ngữ t nhiên NLP (Natural Language Processing), d ch vụ câu hỏi trả lời QA (Question-Answering) sẽ trích xu t thông tin t u vào, tìm ki m cơ ở dữ liệu c a nó và ch n câu trả lời tốt nh t trả lại cho người dùng
N u là một hình ảnh i è i u vào gi ng nói, hệ thống sẽ s dụng kỹ thuật th
gi h cố gắng phù hợp v i hình ảnh u v ơ ở dữ liệu hình ảnh c a mình
và trả v thông tin có liên quan v i hình ảnh
1.3 Nhận dạng giọng nói tự động (ASR - Automatic Speech Recognition)
Khối nhận dạng gi ng nói t ộng là khối u vào giú gười g ươ g i trợ lý ảo bằng gi ng nói C u vào cho ASR [9] e ặc trư g ại diện cho
ạn n i ược tạo ra bời quá trình ti n x lý nhanh và trích xu t ặc tính c a bài phát
Trang 12bi u Thành ph n c a ASR d a vào s k t hợp c a mô hình Hidden Markov (HMM) và một mô hình h hợp Gaussian (GMM) hoặc một mạng nơ-ron sâu (DNN)
HMM xây d ng một cây các trạng thái cho khung lời nói hiện tại s dụng vector
t h ă g u vào GMM hoặc DNN h gi t c a s chuy n i trạng thái trong cây, và thuật to Vi e i i m con ường có nhi u khả nă g h t d a trê i m n Đường d n có xác su t cao nh t th hiện k t xu t vă ản cuối cùng
Đi m GMM h gi HMM ạng thái chuy n ti p bằng cách ánh xạ một vector ối tượng u vào vào một hệ toạ ộ hi u và lặp lại i m số c ặc tính chống lại mô
h h h h ược ạo DNN i m số s dụng xác su t t một mạng th n kinh Độ sâu c a DNN ược x nh bởi số l p ẩn mà số i m cho một chuy n ti p i ạng Trong luận vă ẽ nghiên cứu ch y u v DNN v ộ ch h hơ
Hình 1.2: Sơ đồ xử lý âm thanh
1.4 Xử lý hình ảnh IMM (Image Matching)
Khối x lý hình ảnh IMM là khối giú gười g ươ g i hệ thống trợ lý ảo thông qua hình ả h Khi gười dùng muốn hỏi trợ lý ảo v mộ h h hẳng hạn bông hoa h ng thì hệ thống trợ lý ảo sẽ x lý dữ liệu hình ả h u vào và cung c u ra
là thông tin v hình ả h T dữ liệu hình ảnh ư hệ thống sẽ cố gắng tìm ki m hình ảnh trong cơ ở dữ liệu trư c khi ch bi n và trả v thông tinh v k t hợp hình ảnh
Cơ ở dữ liệu ược s dụng trong hệ thống l ơ ở dữ liệu Mobile Visual Search Các
i m chính c a hình ảnh ược rút ra l n u tiên t hình ảnh u vào s dụng thuật toán SURF [7] T g h ă g hi t xu t (FE), hình ảnh ược l y m u và xáo lộn nhi u l n
t i m thú v ở c h h Khi gư ng ứng lư ữ c i m chính c a hình ảnh, c i m then chốt ược chuy n t i bộ phận mô tả t h ă g (FD)
ơi hú g ược ch nh một vector nh hư ng v i m ch h ược nh hư ng tươ g ược nhóm thành các bộ mô tả t h ă g Q h giảm s bi n i
Trang 13giữa các hình ảnh u v ă g ơ hội tìm ki m s k t hợp chính xác Bộ mô tả t hình ảnh u và ược ối sánh v i bộ mô tả nh ư c ại diện cho các hình ảnh cơ ở dữ liệu bằng cách s dụng tìm ki m g n nh t (ANN), hình ảnh cơ ở dữ liệu v i số lượng
l n nh t c a cơ ở ược trả lại
Hình 1.3: Sơ đồ xử lý hình ảnh 1.5 Quản lý câu hỏi trả lời QA (Question-Answering)
1.5.1 Cấu tạo của quản lý câu hỏi
Khối quản lý câu hỏi trả lời là khối x lý dữ liệ ươ g ở trong hệ thống trợ lý
ả hi gười dùng hỏi hệ thống trợ lý ảo thì nó sẽ l y dữ liệu t khối QA ư trả lời phù hợp Vă ản ược xu t ra t ASR hoặc nhập tr c ti p ược chuy n n OpenEphyra (OE) s dụng ba quy trình cốt lõi trích xu t th g i ă ản, bắt ngu n
t , k t hợp cụm t thông dụng, và gắn th theo t ng thành ph n c a vă ản [7] Hình
ư i mô tả sơ OE k t hợp thành ph n này, tạo ra các truy v n tìm ki m web và l c các
k t quả trả v Thuật to P e ( e e ) hơi gốc c a một t bằng cách k t hợp
và cắt ngắn các t thông dụng OE c ng s dụng một bộ m u bi u thức ch h ối sánh các t truy v n chung (như i g ở …) c b t kỳ ký t ặc biệt nào trong
u vào Trình phân loại ng u nhiên (CRF) l y một câu, v trí c a m i t trong câu và nhãn các t hiện tại v ư c u v ư ph n nói c a t ng
t c a một truy v n u vào M i truy v n u v ược phân tích cú pháp bằng cách s dụng các thành ph n n i ê tạo truy v n cho công cụ tìm ki m Ti p theo, các bộ l c
s dụng các kỹ thuật tươ g ược s dụng l y thông tin t các tài liệu trả v ; tài liệu
v i i m t ng th cao nh t sau khi t ng hợp số i m ược trả v là câu trả lời hay nh t
Trang 14Hình 1.4: Quản lý câu hỏi trả lời
1.5.2 Xử lý ngôn ngữ tự nhiên trong Quản lý câu hỏi trả lời
Theo Wikipedia, NLP (Natural Language Processing) là một nhánh c a trí tuệ nhân tạo tập trung vào các ứng dụng trên ngôn ngữ c gười Trong trí tuệ nhân tạo thì
x lý ngôn ngữ t nhiên là một trong những ph n khó nh iê n việc phải
hi ghĩ g gữ - công cụ hoàn hảo nh t c ư gi i p
Theo cách hi u thì có th hi u x lý ngôn ngữ t nhiên [6] là một phạm vi lý thuy t các
kỹ thuậ h phân tích và mô tả ă ản xảy ra t nhiên ở một hoặc nhi u
mứ ộ phân tích ngôn ngữ theo yêu c u c a gười mong muốn
Mục tiêu c a NLP là nhằm th hiệ ghĩ h c s nh c gười dùng khi thao tác dữ liệ Đi n hình ứng dụng NLP:
- Giải h h ă ả u vào
- D h ă ản sang một ngôn ngữ khác
- Trả lời các câu hỏi v nội dung c a mộ ă ản
- Thu thập các suy luận t ă ản
1.5.3 Các mức của NLP
- Ngữ âm h c: mức này liên quan t i việc giải thích các âm thanh nói trong và giữa các t Có ba loại quy tắ ược s udnjg trong phân tích âm v h c: quy tắc âm thanh trong t , quy tắt ngữ âm trong bi n th phát âm khi t ược nói v i nhau, quy tắt bi ộng trong ngữ iệu c a một câu Một hệ thống NLP h trợ u vào nói, song âm là phân tích và mã hóa tính hiệu thành tín hiệu số h giải thích
Trang 15các quy tắc khác nhau hoặc bằng việc so sánh v i mô hình ngôn ngữ cụ th ược
s dụng
- Hình thái h c: mứ ộ này liên quan t i bản ch t c u thành c a các t bao g m
ơ nhỏ nh t c ghĩ V ụ t preregistration có th ược phân tích
h h ư c ti n tố, gố “ egi hậu tố V ghĩ a m i hình thái v n giữ nguyên qua các t ngữ gười có th phân chia một t không rõ thành các hình thái c h h hi ghĩ Tươ g trong NLP có th nhận ra ý ghĩ ược truy ạt bởi m i hình thái có th ạ ượ ại diệ h ghĩ
Ví dụ thêm hậu tố vào mộ ộng t cho bi h h ộng c ộng t diễn ra trong quá khứ
- T v ng h : gười hay hệ thống NLP diễn giải ghĩ a t ng t
- Thuật ngữ: tập trung vào việc phân tích các t trong mộ khám phá ra ngữ pháp c u trúc c Đi u òi hỏi cả ngữ h h ộ phân tích cú pháp K t quả c a việc này ại diện c a một câu Các mối quan hệ phụ thuộc
c u trúc giữa các t có nhi u ngữ pháp khác nhau có th ược s dụ g
g m việc nh hư ng ngữ nghĩa c a các t v i nhi u giác quan, theo cách tươ g
t cách ph nh cú pháp c a các t có th hoạt ộng như nhi u ph n cảu bài phát bi u là hoàn thành các c p cú pháp Ví dụ trong các nghĩa kh “file là một danh t có th có nghĩa là một thư mục hoặc một công cụ tạo
- Đ ận: mặc dù cú pháp và ngữ ghĩ iệc v i ơ câu, mứ ộ diễn
ạt c a NLP làm việc v i ơ ă ả i hơ ộ Nghĩ h g giải h h ă ả hư gh ối, m i câu có th ược giải h h ơ
Th i iễn thuy t tập trung vào tính ch t c ă ản tập trung k t nối giữa các thành ph n câu
- Th c dụ g: iê n việc s dụng có mụ h g gữ trong các tình huống và s dụng bối cảnh trên các nội dung c ă ả hi u mụ h giải thích làm th hê ghĩ ượ ă ả Đi u òi hỏi nhi u
ki n thức bao g m s hi u v nh, k hoạch và những mục tiêu
Hệ thống NLP hiệ h h hư ng th c hiệ h h ạ ược
mứ ộ yêu c u Mứ ộ th p thì s dụ g h p, mứ ộ cao thì dùng nhi u mô
h p k t hợp
Trang 161.6 Ứng dụng NLP trong chatbot
1.6.1 Cấu tạo hệ thống chatbot
Hình 1.5: M h h ơ ản c a hệ thống chatbot
h h hi hệ hố g h h hiệ ộ hội h ại ở i ụ
h ắ hư h ă g h ại hi ú h ặ ò ệ gười i Hình 1.5 mô tả v c u trúc mô hình c a một chatbot [9] Trong mô hình chatbot
ki u truy xu t thông tin (retrieval-based), thành ph n ngôn ngữ t nhiên NLU s dụng
r t nhi u kĩ thuật x lý ngôn ngữ t nhiê NLP phân tích câu hội thoại, x nh ý
nh c a người dùng, trích xu t những thông tin c a người dung cung c p Sau hững
th g i ược chuy n t i cho thành ph n quản lý hội thoại (Dialogue manager) Thành ph n quản lý hội thoại sẽ x lý thông tin và chuy n t i cho sinh ra câu hội thoại
1.6.2 Cấu trúc hộp thoại chatbot
Hình 1.6: C u trúc hộp thoại chatbot
Trang 17Giao diện chatbot g m:
- Nội g h h gười dùng thao tác nhập liệu: ghi âm gi ng nói, nhậ ă bản, thê fi e hư h h ả h h h a ch
- Nơi hi n th : giao diệ ươ g ơi hi n th nội g gười g i ơi Chatbot trả lời
1.6.3 Xử lý dữ liệu trong chatbot
1.6.3.1 Tập văn bản (Corpus-based chatbots)
Corpus-based chatbots [8] d ê ơ ở thay vì d a trên các quy tắ ược xây
d ng bằng tay, các cuộc hội thoại giữ gười v i gười, hoặ i hi hản ứng c gười t cuộc trò chuyện Se e (2017) ã g hợ ộ ố ậ ă
ẵ hư ậ hẳ g hạ hư ộ ò h ệ ê ả g ò ệ f e wi e
h ặ g hội h ại hi ẵ i ố ượ g ã ượ h h giố g i ộ
ò h ệ hiê ả ời h hậ h ượ h g
ậ i ă ả h g hải hộ h ại
Có 2 ại h ê ậ ệ h: hệ hố g ê iệ h hậ h g i
hệ hố g ê iệ h gi ê ải h
h h h ê ơ ở hư g h h gữ ả h ối
h ại Th h i hư g ậ g iệ ạ ộ i ứ g h
h hợ i ời i ư gười ụ g hú g hườ g ượ g i hả
ứ g hệ hố g h hệ h ậ g hả h i ơ g hi ỏ gữ ả h
h ặ ụ iê h ại
1.6.3.2 Thu thập thông tin (IR Chatbot - Information retrival chatbot)
Nguyên tắ ằng sau việc thu thập thông tin d ê h [8] ứng các yêu
Trong m i ường hợp, b t kỳ chứ ă g ươ g có th ược s dụng, tính toán ph
bi n nh t hoặc qua các t hoặc trên các ph n nhúng
1.6.3.3 Trình tự liên tiếp trong chatbot (Sequence to sequence chatbots)
Mô hình seq2seq bao g m hai mạng RNN [10]: một cho bộ mã hoá, và một cho bộ giải mã Bộ mã hoá nhận một chu i (c ) u vào và x lý một ph n t (t trong câu) tại
m i bư c Mục tiêu c a nó là chuy n i một chu i các ph n t vào một vector ặc trư g h hư c cố nh mà nó ch mã hoá thông tin quan tr ng trong chu i và bỏ qua
Trang 18các thông tin không c n thi t Có th hình dung lu ng dữ liệu trong bộ giải mã hoá d c theo trục thời gian, giống như ò g hảy thông tin cục bộ t một ph n t k t thúc c a chu i sang chu i khác
M i trạng thái ẩn ảnh hưởng n trạng thái ẩn ti p theo và trạng thái ẩn cuối c g ược xem như h ỹ tóm tắt v chu i Trạng th i ược g i là bối cảnh hay vector suy diễn, v ại diện cho nh c a chu i T bối cảnh ộ giải mãi tạo ra một chu i, một ph n t tại một thời i m Ở ại m i bư c các bộ giải mã b ảnh hưởng bởi bối cảnh và các ph n t ược sinh ra trư c
Hình 2.7: Ki n trúc seq2seq Quá trình tìm hi u v c u trúc c a một mô hình hệ thống trợ lý ảo, có th th xây d ng một hệ thống trợ lý ảo c n r t nhi h h gh ại, t u vào
c n x lý dữ liệ n vào hệ thống x lý dữ liệu và cuối cùng là trả lại dữ liệu
h gười dùng Hệ thống trợ lý ảo thông minh là nhờ khâu x lý dữ liệu c c kỳ quan
tr ng và sẽ ược tìm hi hơ ở hươ g i p theo
Trang 19CHƯƠNG 2: MỘT SỐ KĨ THUẬT SỬ DỤNG TRONG TRỢ LÝ ẢO 2.1 Mạng học sâu DNNs
2.1.1 Khái nghiệm mạng học sâu
LSTM h i ộ g hữ g i e e ại ộ hời gi ượ
ộ hi h ượ g e ại iệ ụ g ộ LSTM h
h i e
LSTM hứ h i ộ h h ạ g ư i h i h ạ g i iễ Khả ă g h h g LSTM hi ữ iệ hụ h ộ hời gi i h ộ h hiê h ứ g ụ g hời gi ễ g giữ ươ g ứ g
Trang 20Mạ g ơ tái phát RNN (Recurrent Nerual Network) [10] là một mạng t ng quát các mạ g ơ h h i tu n t Là một trong những mô hình h c sâu (Deep Learning) ượ h gi hi ư i m
RNN l ưởng thi t k một mạ g ư i sao cho có khả ă g lý thông tin dạng chu i, th c hiện lặp lại các tác vụ cho m i thành ph n trong chu i K t quả u ra tại thời i m hiện tại phụ thuộc vào k t quả tính toán ở những thời i ư c
V i i h i (𝑥1, , 𝑥𝑇), là m ạ g RNN h ẩ ẽ h t chu i ả (𝑦1, , 𝑦𝑇), bằ g h ẹ t phu o ng trình sau:
h𝑡 = 𝑠𝑖𝑔𝑚 (𝑊h𝑥𝑥𝑡 + 𝑊hh
h𝑡−1) (2.10)
𝑦𝑡 =𝑊𝑦hh𝑡
Hình 2.2: Mạ g ơ i h RNN RNN có th dễ dàng lập bả trình t cho các dãy b t cứ khi nào s liên k t giữa ược bi ư c thời hạn Tuy nhiên không rõ ràng làm th
áp dụng một RNN cho những v u vào và các chu i ộ dài khác nhau
v i các mối quan hệ phức tạ h g ơ iệu Mộ h ơ giản cho việc h c chung chung là lập bả trình t u vào cho mộ e h hư c cố nh s dụng một RNN ánh xạ vector t i ã h i một RNN khác Có th hoạ ộng v nguyên tắc k t hi ược cung c p v i t t cả h g i iê hư g h tạo RNN do k t quả lâu dài phụ thuộc vào thời gian Nên s dụng LSTM sẽ thành công trong việc khắc phụ i u này
2.1.2.2 Mô hình LSTM
LSTM (Long short-term memory) [10] là một mô hình có c ú ươ g RNN,
hư g h h h ối v i các trạng thái ẩn
Ki n trúc LSTM bao g m một tập hợp các mạng con k t nối liên tụ ược bi hư khối nh Những khối nh này có th ược coi là một phiên bản khác biệt bộ nh trong một số máy tính số M i khối nh chứa một hoặc nhi u các t bào bộ nh t k t nối Mục tiêu c LSTM ư c tính xác su i u kiện 𝑝(𝑦1, ,𝑦𝑇′|𝑥1, ,𝑥𝑇) trong (𝑥1, ,𝑥𝑇) là m t chu I (𝑦1, ,𝑦𝑇′) l h i ươ g ứ g hi
Trang 21dài 𝑇′ c h h h 𝑇 Mạ g LSTM h i iẹ n n ằ g h ược hi dài ố h 𝑣 h i (𝑥1, , 𝑥𝑇) ược h ởi ạ g h i ẩ
ối g ạ g LSTM h (𝑦1, , 𝑦𝑇′) v i t c g
hứ LSTM-LM iê h ẩ ạng th i ẩ ợc thi t lạ p ại iẹ n 𝑣 (𝑥1, ,𝑥𝑇):
(2.11)
M i h hối 𝑝(𝑦1, ,𝑦𝑇′|𝑥1, ,𝑥𝑇) ợc i iễ ởi t hàm soft
ê ả g g M i hú i t ký hiẹ u ạ c biẹ t end-of-sentence
"<EOS>", cho ph h h h t ph hối h i ả d i
h , trong LSTM h ại iẹ “Xi “ h “A “<EOS>
ụ g ại iẹ n này h “V g “T i “ “A
“<EOS>
Mô hình th c t khác v i mô tả ở trên theo 3 cách quan tr ng:
- Đ u tiên s dụng 2 LSTM khác nhau: một cho trình t u vào và một cho trình
t D ă g h ố mô hình số v i chi phí tính toán không
g và làm cho nó t hiê Đ ạo LSTM trên nhi u cặp ngôn ngữ cùng một lúc
- Thứ 2: ee LSTM ượt trội hơ h w LSTM ậy tôi ch n một LSTM v i 4
l p
- Thứ 3: nó r t có giá tr ả gược thứ t c a các tùw c u vào Ví dụ
h h ạ các câu z LSTM ược yêu c u vẽ bả c,
Trang 22Q: Bạn tên là gì?
A: Vâng tôi là ABot
Giả hú g ố ạ h i h ại d i 10 ả ạ p Q/A trê ẽ
ợc chuy n i thành nhu sau:
Q: [ PAD, PAD, PAD, PAD, PAD, PAD, “? “gì “là “tên “ ạ ]
A: [ GO “V g “ i “là “ABot EOS PAD PAD PAD, PAD]
d i hỏi ả ời T ả hữ g h h hi h ố giố g
Word Embedding ược ứng dụng trong l iê ạ g: T g
e e i g ẽ h ạ t t ( h ố i e g i g) i g
m t vector d ạ c v i h hư c ã h T g h h e 2 e g ố
e e i g ược h ẹ n giố g h i h ố h h h
Trong nghiê ứ a Mikolov và c ng s 2013 [29] T giả h i i ú
g w e i g-of-Words model (CBOW), và Continuous Skip-gram model Trong i ú BOW: D hiẹ ại ê
gữ ả h tru c Skip-gram: D oán các t xung quanh khi cho bởi t hiẹ
ại Ví dụ:
Giả s có câu: Tôi muố i Tươ g ứng v i m i t trong câu này, chúng ta sẽ khởi tạo một vector random v i số chi ượ h ư c (ví dụ số chi u bằng 50) Người ta s dụng một mạ g ơ ụng mạ g ơ i u ch nh d n d n các vector c a các t sao cho chúng thỏa mãn một số i u kiệ Đ trả lời câu hỏi thì
ư c tiên chúng ta c n quan tâm t i ặ i m ngôn ngữ hững t có mối liên hệ
v i h hường sẽ xu t hiện trong những ngữ cảnh khác nhau Giả s thay t “
Trang 23bằng t “ ắ õ g h g ghĩ h g hợp lệ T ạ g ơ ẽ
i u ch nh tham số cho hợ ư u ra hợp lý
2.2 Quản lý hội thoại
2.2.1 Mô hình quản lý dựa trên khung (Frame based dialog Agents)
2.2.1.1 Kiểm soát cấu trúc hộp thoại dựa trên khung
Ki ú i u khi n c a hệ thống hộp thoại d a trên khung [8] ược thi t k xung quanh khung Mụ h i n vào các khe trong khung v i các ch ộ gười s dụng d h h c hiệ h h ộ g iê h gười dùng (trả lời một câu hỏi hoặ ặt một chuy n bay)
H u h t các hệ thống thoại d a trên khung d a trên các máy t ộng hữu hạ ược thi t
k bằng tay cho nhiệm vụ c a hộp thoại
Hình 2.3: Ki n trúc t ộng trạng thái hữu hạn cho hộp thoại d a trên khung Hình trên tri n khai một hệ thống du l ch mà công việc c a h là yêu c gười dùng s udnjg thông tin cho 4 tiêu trí: departure city, a destination city, a time, and whether the trip cho một chi u hoặc khứ h i T ư c h t hãy liên k t v i m i tiêu trí một câu hỏi yêu c u:
Hình 2.4: Ví dụ v mô hình dialogue d a trên Frame
Trang 24Hệ thống này ki m soát hoàn toàn cuộc nói truyện v i gười s dụng Nó yêu c u gười s dụng một loại các câu hỏi, bỏ qua (hoặc hi u sai) b t cứ i u gì không phải là một câu trả lời tr c ti p cho câu hỏi i p tục câu hỏi ti p theo
Giải quy t nhược i m c a FSA khi người dùng ư g ú hi u thông tin Tại m i trạng thái FSA ch nhận 1 câu trả lời cho 1 câu hỏi
- D a trê f e nh sẵn nh hư ng cuộc hội thoại
- M i Frame sẽ bao g m các thông tin c n i n và các câu hỏi tươ g ứng
- Dialogue Manager sẽ hỏi cho n khi c ược i n h t
- Trong 1 hội thoại có th có nhi u hơ 1 f e
Ví dụ: khách hàng có th v a hỏi v v n mạng chậm v a hỏi muốn i gói internet
- Dialogue manager c n bi t khi nào thì c n chuy n sang frame khác
2.2.1.2 Sự hiểu biết ngôn ngữ tự nhiên để điền vào các slot
Mục tiêu c a thành ph n hi u bi t ngôn ngữ t hiê h i u t lời nói
Ví dụ: Cho tôi xem các chuy n bay bu i sáng t Hà nội n H Chí Minh vào thứ ba Một hệ thống có th xây d ng một bi u diễ hư :
Domain: air-travel
Intent: show flight
Origin City: Hà nội
Origin Date: thứ ba
Origin Time: bu i sang
Dest City: H chí minh
Ví dụ 2: h hức tôi vào ngày mai lúc 6h
Domain: alarm clock
hệ thống công nghiệ hư vậy cung c hư iệ nh các quy tắ phát hiện
h gười dùng cụ th i diễn tả ki ú ki m soát những
h g h h ộng nào mà hệ thống nên th c hiện Thay vì tập trung vào một trong
Trang 25những hệ thố g hươ g mại này, có th l a ch n một simVoiceXML có khả ă g ươ g
t v i m i gười Ngôn ngữ Voice Extractible Markup Language d a trên ngôn ngữ thi t k hộp thoại ược s dụ g tạo các hộp thoại h g V i XML ơ giả hơ ột
hệ thố g h g hươ g ại ( h h cho phép các mô hình ngữ pháp d a trên ngữ pháp phi xác su t và các trình phân tích ngữ ghĩ h ẩn), v n còn là một cách hữ h nắm bắ ược khung hình d a trên khung thi t k hệ thống tài liệu VoiceXML chứa một tập hợp các hộp thoại, m i mộ h ơ h ặc một bi u m u M u
là mộ h g ược g i ường
Hình 2.5: Ví dụ v mô hình VoiceXML
Đ ạn mở u c a ví dụ cho th y x lý l i N gười dùng không trả lời sau khi nhắc tức là s im lặ g ượ gư ng thời gian chờ, trình thông d ch VoiceXML sẽ chạy lời nhắc <noinput> N gười g i i g h g h p v i ngữ pháp
h ườ g h h g ch sẽ phát <nomatch> nhắc VoiceXML cung c p một lệnh
<reprompt/> lặp lại nhắc nhở cho b t cứ ĩ h c nào gây ra l i
Th <fileed> cho mộ ườ g ược th c hiện bởi trình thông d h g hi ườ g ã
ượ i n bởi gười dung Ở h ă g ược s dụ g xác nhậ u vào c a gười dung
Trang 262.3 Mô hình sinh hội thoại
2.3.1 Ý nghĩa chính của mô hình sinh hội thoại
- Tận dụng các hội thoại có th t ộng sinh hội thoại Chatbot h c theo cách trả lời c a con người trong c ạn hội thoại trong quá khứ
V ụ ạ h i h ại g ữ iẹ u IT Helpdesk [Vinyals and Le 2015] [9]
Describe your problem: i am having issues accessing vpn Machine: could you please let
me know what are the operating systems you are using?
Human: i am using linux
Machine: ok it was in the ssl vpn on which you stated it was broken
Machine: please check if you are logged in to corp network Machine: what is the error that you are running please
Human: i am seeing an error related to vpn
Machine: what is the error message that you are getting when connecting to vpn using network connect?
Human: connection refused or something like that
Machine: may i know the version of network connect you connect?
- Chatbot theo m h h i h ắ h c các t ngữ trong câu h i h ại h iê
h ợ
Machine: try this
Machine: goto <URL> page and enter your name and password
Human: done
Machine: try logging in with <NAME> and check if its working fine now
Human: yes, now it works!
Machine: great (The <URL> indeed contains information about vpn access.)
2.3.2 Đặc điểm của mô hình hội thoại
- Kh g ữ iẹ u gán nhãn hoạ c c ợng dữ liẹ u gán nhãn ít ho n r t nhi u so
v i mô hình chatbot truy n thống
- M t m h h h h i ữ iẹ u h i h ại ữ iẹ u h i h ại
- Mô hình kh g h hả ả h ả h h i h ại giữ g ời v i ngu ời
- Ch ợng h i h ại i h hụ h c l ữ iẹ u h i h ại h T AI
Mi f hân biẹ h g g ời g h ẹ n
- Các bài toán NLP co ả g ách ti p cạ n truy hố g g h i h