Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 76 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
76
Dung lượng
4 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN TẤT TIẾN NGHIÊN CỨU VÀ XÂY DỰNG CHATBOT HỖ TRỢ NGƢỜI DÙNG TRONG NGÂN HÀNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI – 2019 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN TẤT TIẾN NGHIÊN CỨU VÀ XÂY DỰNG CHATBOT HỖ TRỢ NGƢỜI DÙNG TRONG NGÂN HÀNG Ngành: Kỹ thuật phần mềm Chuyên ngành: Kỹ thuật phần mềm Mã số: 8480103.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI – 2019 LỜI CAM ĐOAN Tôi Nguyễn Tất Tiến, học viên khóa K22, ngành Kỹ thuật phần mềm, chuyên ngành Kỹ Thuật Phần Mềm Tôi xin cam đoan luận văn “Nghiên cứu xây dựng chatbot hỗ trợ người dùng ngân hàng” tơi nghiên cứu, tìm hiểu phát triển dẫn dắt TS Nguyễn Văn Vinh Luận văn chép từ tài liệu, cơng trình nghiên cứu người khác mà không ghi rõ tài liệu tham khảo Tôi xin chịu trách nhiệm lời cam đoan Hà nội, ngày tháng năm 2019 LỜI CẢM ƠN Đầu tiên xin gửi lời cảm ơn tới thầy cô trường đại học Công Nghệ, Đại học Quốc Gia Hà Nội tận tình giảng dạy truyền đạt kiến thức suốt khóa cao học vừa qua Tơi xin gửi lời cảm ơn đến thầy cô môn Kỹ Thuật Phần Mềm khoa Công Nghệ Thông Tin mang lại cho kiến thức vơ q giá bổ ích trình học tập trường Đặc biệt xin chân thành cảm ơn thầy giáo, TS Nguyễn Văn Vinh, người định hướng, giúp đỡ, trực tiếp hướng dẫn tận tình bảo tơi suốt q trình nghiên cứu, xây dựng hoàn thiện luận văn Tơi xin cảm ơn tới gia đình, người thân, đồng nghiệp bạn bè thường xuyên quan tâm, động viên, chia sẻ kinh nghiệm, cung cấp tài liệu hữu ích thời gian học tập, nghiên cứu suốt trình thực luận văn tốt nghiệp Hà Nội, ngày tháng năm 2019 MỤC LỤC LỜI CẢM ƠN MỤC LỤC DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ MỞ ĐẦU Động lực nghiên cứu Mục tiêu luận văn Cấu trúc luận văn CHƢƠNG : TỔNG QUAN HỆ THỐNG CHATBOT 1.1 Giới thiệu 1.2 Cấu trúc thành phần hệ thống chatbot 1.3 Hiểu ngôn ngữ tự nhiên (NLU) 1.4 Quản lý hội thoại (DM) 1.4.1 Mơ hình m 1.4.2 Mơ hình F 1.5 Thành phần sinh ngôn ngữ (NLG) 1.5.1 Template- 1.5.2 Plan-base 1.5.3 Class-bas CHƢƠNG : MỘT SỐ KỸ THUẬT SỬ DỤNG TRONG CHATBOT 2.1 Kiến trúc mạng nơ ron nhân tạo 2.2 Mạng nơ ron hồi quy RNN 2.3 Mạng Long short Term Memory (LSTM) 2.3.1 Vấn đề ph 2.3.2 Kiến trúc 2.3.3 Phân tích 2.4 Word embeddings 2.4.1 Word2vec 2.4.2 Glove 2.5 Ứng dụng RNN vào quản lý hội thoại 2.5.1 Mơ hình w 2.5.2 Mơ hình Globa CHƢƠNG : XÂY DỰNG CHATBOT HỖ TRỢ NGƢỜI DÙNG LĨNH VỰC NGÂN HÀNG 3.1 Bài toán 3.2 Xây dựng chatbot hỗ trợ người dùng lĩnh vực ng 3.3 Ứng dụng RASA xây dựng chatbot 3.4 Xây dựng liệu chatbot 3.4.1 Xây dựng ý địn 3.4.2 Xây dựng entity 3.4.3 Xây dựng câu t 3.4.4 Xây dựng khun 3.5 Thực nghiệm 3.6 Đánh giá KẾT LUẬN TÀI LIỆU THAM KHẢO PHỤ LỤC DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT Từ viết tắt Từ chuẩn AI Artificial Intelligence ANN Artificial Nerual Network CBOW Continuous Bag of Words CNN Convolution Neural Networ CRF Conditional Random Fields DM Dialogue Management DNN Deep Neural Networks DTS Dialogue State Tracking FSA Finite State Automata FSM Finite State Machine GLAD Global-Locally SelfAttentiv Dialogue State Tracker HMM Hiden Markov Models LSTM Long short-term memory NLG Natural Language Generatio NLP Natural Language Processin NLU Natural Language Understan ML Machine Learning POS Part Of Speech RNN Recurrent Neural Network SVM Vector Support Machine DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ Hình 1.1: Cấu trúc thành phần hệ thống chatbot [12] Hình 1.2: Mơ hình thành phần xử lý chatbot [1] Hình 1.3: Các bước xử lý pipeline NLU [1] Hình 1.4: Các bước xử lý NLU [2] Hình 1.5: Mơ hình bước xác định ý định 10 Hình 1.6: Gán nhãn từ theo mơ hình B-I-O trích xuất thơng tin 12 Hình 1.7: Mơ hình quản lý trạng thái định action hội thoại [2] 14 Hình 1.8: Quản lý hội thoại theo mơ hình máy trạng thái hữu hạn FSA 15 Hình 1.9: Frame cho chatbot hỏi thông tin khách hàng 16 Hình 1.10: Phương pháp sinh ngơn ngữ dựa tập mẫu câu trả lời [1] 17 Hình 1.11: Phương pháp sinh ngơn ngữ Plan-based [1] 17 Hình 1.12: Phương pháp sinh ngôn ngữ class-based [1] 18 Hình 2.1: Kiến trúc mạng nơ ron nhân tạo [15] 19 Hình 2.2: Q trình xử lý thơng tin mạng nơ-ron nhân tạo [15] 20 Hình 2.3: Mạng RNN [15] 23 Hình 2.4: Mạng RNN chiều [15] 24 Hình 2.5: Mạng RNN nhiều tầng [15] 24 Hình 2.6: RNN phụ thuộc short-term [17] 25 Hình 2.7: RNN phụ thuộc long-term [17] 25 Hình 2.8: Các mơ-đun lặp mạng RNN chứa layer [17] 26 Hình 2.9 : Các mơ-đun lặp mạng LSTM chứa bốn layer [17] 26 Hình 2.10 : Tế bào trạng thái LSTM giống băng truyền [17] 27 Hình 2.11 : Cổng trạng thái LSTM [17] 28 Hình 2.12 : LSTM focus f [17] 28 Hình 2.13 : LSTM focus I [17] 29 Hình 2.14 : LSTM focus c [17] 29 Hình 2.15 : LSTM focus o [17] 29 Hình 2.16 : Mơ hình từ nhúng [16] 30 Hình 2.17 : Mơ hình CBOW Skip-Ngram [16] 31 Hình 2.18 : Xác xuất từ k ngữ cảnh từ i j [16] 31 Hình 2.20 : Cơng thức tính hàm chi phí tối thiểu [16] 32 Hình 2.21 : Hàm trọng số (weighting function) [16] 32 Hình 2.22: Mơ hình word-based DST với mạng RNN [20] 33 Hình 2.23: Mơ hình Global-Locally Self-Attentive DST (GLAD) [21] 34 Hình 2.24 : Global-locally self-attentive encoder modul [21] 35 Hình 3.1: Cấu trúc chatbot cho hệ thống ebanking 37 Hình 3.2 : Cấu hình pipeline xử lý ngơn ngữ tự nhiên 39 Hình 3.3 : Các bước xây dựng chatbot 40 Hình 3.4 : Xây dựng ý định người dùng 41 Hình 3.6 : Mẫu câu trả lời bot cho ý định hỏi số dư tài khoản 41 Hình 3.7: Mẫu câu trả lời mặc định bot không nhận ý định người dùng 42 Hình 3.8: Mẫu câu trả lời cho ý định người dùng hỏi lãi suất 43 Hình 3.9: Custom action xử lý slot money 43 Hình 3.10: Khung kịch chuyển tiền thẻ 44 Hình 3.11: Học tương tác với bot 44 Hình 3.12 : Bảng mô tả số lần thử nghiệm với người dùng 45 Hình 3.13: Hình ma trận ước lượng nhầm lẫn xây dựng liệu intent 45 Hình 3.14: Hình ước lượng độ xác tập liệu trainning intent 46 Hình 3.15 : Hình ước lượng độ xác trích chọn thơng tin 46 Hình 3.16: Hình ước lượng độ nhầm lẫn việc xây dựng câu trả lời bot (action) .47 Hình 3.17 : Bảng mô tả đoạn hội thoại test với bot 52 MỞ ĐẦU “Chatbot will fundamentally revolutionize how computing is experienced by everybody” CEO Microsoft - Satya Nadella Chatbot nói riêng hay trợ lý ảo nói chung ngày thơng minh hơn, hồn thiện Nó giúp có tương tác trải nghiệm tốt phần mềm Chúng ta điểm qua số thành tựu mà chatbot đạt (thống kê infographic : the future of chatbots statistics & trends) [23] 100000 : số lượng chatbot Facebook Messenger thời điểm tháng 11/2018 80% doanh nghiệp muốn sử dụng chatbot vào năm 2020 63% người dùng xem xét tin nhắn online từ chatbot để kết nối với doanh nghiệp nhãn hiệu 59% số người sử dụng chatbot app 37.11% số chatbot tăng trưởng suốt giai đoạn 2017-2021 56% công ty đa truyền thông công nghệ chuyển qua sử dụng công nghệ chăm sóc khách hàng tự động tương lai gần, 33% có kế hoạch chuyển sang dùng robot sử dụng AI trước năm 2019 75% tỉ lệ thành công việc bot tương tác với người dùng lĩnh vực y tế ngân hàng 90% số mong đợi sau 30% số chi phí giảm áp dụng chatbot vào lĩnh vực chăm sóc khách hàng tỷ USD chi phí giảm áp dụng chatbot vào chăm sóc khách hàng đến năm 2022 so với 20 triệu USD năm 2017 Vậy đâu sở để chatbot phát triển nhanh Chúng ta điểm qua số tác nhân chính: Đầu tiên thời đại bùng nổ tin nhắn sở cho chatbot phát triển mạnh mẽ: 28,2 tỷ tin nhắn di động gửi năm 2017, gấp đôi so với năm 2012 [25] 98% tin nhắn đọc, với email tỷ lệ 22% Tỷ lệ gỡ bỏ ứng dụng nhắn tin nửa so với ứng dụng khác qua kênh khác? bạn nhầm 26 muốn hủy giao dịch 27 hướng dẫn chuyển tiền? chuyển tiền 28 ngân hàng 29 vietinbank 30 hà nội 31 8734 2345 2341 9584 tiến chuyển 32 tiền ngân hàng 33 trăm tiến test 34 chuyển tiền ngân hàng 35 danh bạ người nhận tiền 36 37 chuyển triệu cho nam chuyển cho thảo 6000000 50 38 tiến chuyển tiền 39 1234523 40 123456 chuyển giúp 41 cho tú trăm 42 tiến chuyển tiền 43 123456 44 số dư tài khoản 45 thơng tin biểu phí thơng tin lãi 46 suất 47 lãi suất vay 48 tháng 49 năm 50 năm 51 năm 52 24 tháng lãi suất tiết 53 kiệm 13 tháng 54 lãi suất tiết kiệm 55 13 tháng 56 18 tháng 57 cảm ơn 58 hủy 59 cảm ơn 60 bye Hình 51 : Bảng mô tả đoạn hội thoại test với bot 52 3.6 Đánh giá Từ kết thực nghiệm trình xây dựng bot tơi có đánh sau: Dữ liệu đào tạo bot kịch xây dựng cho bot yếu tố quan trọng xây dựng chatbot Đây yếu tố ảnh hưởng lớn tới việc bot thơng minh trả lời người dùng theo chủ đề hay không - Việc xây dựng ý định(intent) quan trọng Đối với intent nhập nhằng hay gần nghĩa khiến cho độ xác bot giảm Nên việc thiết kế intent slot vô quan trọng - Với đoạn hội thoại nằm kịch dựng sẵn bot đáp ứng tốt trả lời cho người dùng Tuy nhiên việc xây dựng kịch cho bot khó khăn đoạn hội thoại có nhiều trường hợp Vì với kịch dài khó khăn việc xây dựng kịch hỏi lại thông tin lưu trích chọn trước nên bot thường phải hỏi lại Các slot thông tin số tiền hay tháng năm kỳ hạn, tên, thẻ, số tài khoản, otp… bot trích chọn thơng tin tương đối xác Vì demo nên số giá trị trích chọn chưa validate dẫn đến việc bot khơng hỏi lại thơng tin Bot có khả trả lời ngẫu nhiên mẫu câu template khiến cho đoạn hội thoại trở nên tự nhiên Bên cạnh bot có khả điều hướng người dùng đến mẫu câu trả lời sẵn có bot người dùng hỏi câu phạm vi đào tạo cho bot Tuy nhiên việc điều hướng dựa khả trả lời ngẫu nhiên bot dẫn đến việc bot chưa thông minh việc xử lý tình Qua tốn tơi đánh giá khó việc áp dụng tốn chatbot cho nghiệp vụ ebanking ngân hàng chuyển tiền, tốn, vay tiền hay gửi tiết kiệm… có luồng nghiệp vụ phức tạp phải trải qua nhiều bước cần có độc xác giao dịch cao nên bot khó đáp ứng cho tốn này, chưa kể có nhiều trường hợp có nhiều số tài khoản để chuyển tiền chọn danh bạ chuyển tiền… Nhận thấy việc thao tác app ebanking tiện lợi Tuy nhiên ta thấy có điểm sáng bot giải trường hợp đoạn hội thoại ngắn hỏi đáp biểu phí, lãi suất hay đơn giản tìm vị trí ATM hay phịng giao dịch gần tốn chatbot cho trải nghiệm người dùng tốt 53 KẾT LUẬN Luận văn tìm hiểu số kiến thức bao gồm cấu trúc nhiệm vụ thành phần chatbot, số thuật toán áp dụng vào việc xây dựng chatbot để giải toán theo hướng tiếp cận miền đóng Dựa vào ta áp dụng xây dựng chatbot giải toán hỗ trợ người dùng nhiều lĩnh vực thực tế Đó điều mà mong muốn tới Trong trình tìm hiểu xây dựng ứng dụng chatbot hỗ trợ người dùng cho lĩnh vực ngân hàng đạt số kết định sau: Đầu tiên tơi nắm mơ hình thành phần luồng hoạt động hay bước xử lý chatbot Bên cạnh tơi nắm số thuật toán phương pháp xử lý liệu chatbot Từ kiến thức giúp tơi định xây dựng bot theo mơ hình nào, phương pháp phù hợp cho yêu cầu toán cụ thể Thứ hai trình xây dựng tập liệu đào tạo, huấn luyện cho chatbot giúp tơi có kinh nghiệm quý báu việc xử lý gán nhãn liệu với ngữ nghĩa nhập nhằng Từ xây dựng liệu huấn luyện tốt đem lại độ xác cao cho bot Thứ ba với việc áp dụng framework Rasa vào xây dựng chatbot giúp tơi tiếp cận với số phương pháp hay thuật toán cách tối ưu áp dụng cho chatbot Cuối với sản phẩm demo có làm tiền đề cho việc phát triển số bot áp dụng cho số toán thực tế lĩnh vực y tế, du lịch dịch vụ công mà hướng tới Định hướng nghiên cứu tiếp theo: Tích hợp speech to text text to speech cho bot Khi tích hợp vào phần mềm ebanking để hỗ trợ người dùng qua giọng nói song song với giao diện ebanking Xây dựng bot hỗ trợ multi intent Hay người dùng hỏi nhiều câu hỏi kép Xây dựng bot mang tính cảm xúc hay nhân cách hóa chatbot giúp chatbot trở nên giống người 54 TÀI LIỆU THAM KHẢO Yun-Nung (Vivian) Chen, Asli Celikyilmaz and Dilek Hakkani-Tur, 2018 :” Deep Learning for Dialogue Systems” Tom Bocklisch , 2018: “Conversational AI with Rasa NLU & Rasa Core” Hongshen Chen, Xiaorui Liu, Dawei Yin and Jiliang Tang, 11 Jan 2018: “A Survey on Dialogue Systems: Recent Advances and New Frontiers” Daniel Jurafsky & James H Martin, 23 September 2018: “Dialog Systems and Chatbots” Daniel Jurafsky & James H Martin, 23 September 2018: “Advanced Dialog Systems” Jason D Williams, Kavosh Asadi and Geoffrey Zweig, 24 Apr 2017 : “Hybrid Code Networks: practical and efficient end-to-end dialog control with supervised and reinforcement learning” Andrew Maas, Spring 2017 : “Dialogue System Introduction and Frame-Based Dialogue” Peng Jin, Yue Zhang, Xingyuan Chen and Yunqing Xia: “Bag-of-Embeddings for Text Classification” Ledell Wu, Adam Fisch, Sumit Chopra, Keith Adams, Antoine Bordes and Jason Weston, 21 Nov 2017: “StarSpace: Embed All The Things!” 10 Bing Liu and Ian Lane, JUN 2018: “End-to-End Learning of Task-Oriented Dialogs” 11 John A Bullinaria, 2005 : “IAI : Semantic Networks and Frames” 12 Mikhail Burtsev, Alexander Seliverstov, Rafael Airapetyan, Mikhail Arkhipov, Dilyara Baymurzina, Nickolay Bushkov, Olga Gureenkova, Taras Khakhulin, Yuri Kuratov, Denis Kuznetsov, Alexey Litinsky, Varvara Logacheva, Alexey Lymar, Valentin Malykh, Maxim Petrov, Vadim Polulyakh, Leonid Pugachev, Alexey Sorokin, Maria Vikhreva and Marat Zaynutdinov, 15 JUN 2018: “DeepPavlov: Open-Source Library for Dialogue Systems” 13 Hao Fang, 17 Apr 2018: “Dialog Management and System Evaluation” 14 Jason Weston, “Tasks and Architectures for Language Understanding and Dialogue with memory” 15 DENNY BRITZ, 2015, “Recurrent Neural Networks Tutorial” 16 SONVX, 2018, “Học biểu diễn ngôn ngữ cho máy tính” 17 Colah’s blog, August 27, 2015, “Understanding LSTM Networks” 18 Van Deemter, Krahmer, Emiel; Theune, 1999 “Plan-based vs template-based NLG” 55 19 Ondrej Plátek, Petr Belohlávek, Vojtech Hudecek, and Filip Jurcícek, 2016 “Recurrent Neural Networks for Dialogue State Tracking” 20 Matthew Henderson, Blaise Thomson and Steve Young, 2014 “Word-Based Dialog State Tracking with Recurrent Neural Networks” 21 Victor Zhong, Caiming Xiong, Richard Socher, 2018 “Global-Locally Self- Attentive Dialogue State Tracker” 22 Pei-Hao Su, Nikola Mrksic, Inigo Casanueva, Ivan Vulic, 2018 “Deep Learning for Conversational AI” 23 Jagan Jami , 2017, “INFOGRAPHIC: THE FUTURE OF CHATBOTS STATISTICS & TRENDS” 24 Larry Kim, 2018 “The Top Messenger Apps in the World” 25 Liron Hakim Bobrov, January 2019, “Mobile Messaging App Map of the World” 56 PHỤ LỤC 57 58 59 60 61 62 ... đoan luận văn ? ?Nghiên cứu xây dựng chatbot hỗ trợ người dùng ngân hàng? ?? nghiên cứu, tìm hiểu phát triển dẫn dắt TS Nguyễn Văn Vinh Luận văn chép từ tài liệu, cơng trình nghiên cứu người khác mà... tập trung xây dựng hệ thống chatbot hỗ trợ người dùng lĩnh vực ngân hàng dựa vào framework Rasa áp dụng kiến thức tìm hiểu chatbot để tùy chỉnh mã nguồn mở Đối tượng hỗ trợ người dùng chatbot cụ... chatbot hỗ trợ người dùng lĩnh vực ng 3.3 Ứng dụng RASA xây dựng chatbot 3.4 Xây dựng liệu chatbot 3.4.1 Xây dựng ý địn 3.4.2 Xây dựng entity 3.4.3 Xây dựng câu t 3.4.4 Xây dựng khun 3.5 Thực