1. Trang chủ
  2. » Giáo Dục - Đào Tạo

luận văn thạc sĩ nghiên cứu, xây dựng CHATBOT hỏi đáp thông tin khách sạn sử dụng RASA FRAMEWORK

79 107 0

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG CHU LÊ LONG NGHIÊN CỨU, XÂY DỰNG CHATBOT HỎI ĐÁP THÔNG TIN KHÁCH SẠN SỬ DỤNG RASA FRAMEWORK LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2020 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG CHU LÊ LONG NGHIÊN CỨU, XÂY DỰNG CHATBOT HỎI ĐÁP THÔNG TIN KHÁCH SẠN SỬ DỤNG RASA FRAMEWORK CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: 8.48.01.01 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS NGUYỄN MẠNH HÙNG HÀ NỘI – 2020 LỜI CAM ĐOAN Tôi Chu Lê Long, học viên lớp Cao học khóa 2019 đợt 1, chuyên ngành Khoa học máy tính trường Học viện Cơng nghệ Bưu Viễn thơng Tơi xin cam đoan luận văn tự nghiên cứu, tìm hiểu, xây dựng Nội dung luận văn có tham khảo, sử dụng thơng tin tài liệu từ nguồn sách, tạp chí, báo liệt kê danh mục tài liệu tham khảo trích dẫn hợp pháp Tác giả (Ký ghi rõ họ tên) CHU LÊ LONG LỜI CÁM ƠN Em xin gửi lời cảm ơn tới thầy cô giáo, cán Học viện Công nghệ Bưu Viễn thơng nói chung giảng dạy, truyền đạt kiến thức cho em trình học tập nghiên cứu chương trình Thạc sĩ Em xin gửi lời cảm ơn sâu sắc tới PGS.TS Nguyễn Mạnh Hùng tận tình hướng dẫn, giúp đỡ động viên em để hoàn thành luận văn “NGHIÊN CỨU, XÂY DỰNG CHATBOT HỎI ĐÁP THÔNG TIN KHÁCH SẠN SỬ DỤNG RASA FRAMEWORK” Do kiến thức kinh nghiệm thực tiễn hạn chế nên luận văn khơng tránh khỏi thiếu sót định Em xin trân trọng tiếp thu ý kiến thầy, để luận văn hồn thiện Trân trọng cám ơn Tác giả (Ký ghi rõ họ tên) CHU LÊ LONG MỤC LỤC DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT .v DANH MỤC HÌNH VẼ VÀ ĐỒ THỊ vi DANH MỤC BẢNG BIỂU vii MỞ ĐẦU CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ CHATBOT 1.1 Khái niệm 1.2 Lịch sử đời 1.3 Phân loại chatbot 1.4 Các thành phần hệ thống chatbot .8 1.4.1 NLU (Hiểu ngôn ngữ tự nhiên) 1.4.2 DM (Quản lý hội thoại) 1.4.3 NLG (Sinh ngôn ngữ tự nhiên) 10 1.5 Một số tảng phát triển chatbot 10 1.6 Một số ứng dụng chatbot .11 1.7 Giới thiệu chatbot trả lời thông tin du lịch, khách sạn 13 1.8 Kết luận chương 15 CHƯƠNG 2: GIỚI THIỆU MỘT SỐ KỸ THUẬT SỬ DỤNG TRONG CHATBOT VÀ RASA FRAMEWORK 16 2.1 Một số kỹ thuật sử dụng chatbot .16 2.1.1 Xác định ý định người dùng 16 2.1.2 Trích xuất thơng tin 20 2.1.3 Quản lý hội thoại .21 2.1.4 Mơ hình sinh hội thoại cho chatbot 24 2.2 Rasa framework 27 2.2.1 Giới thiệu .27 2.2.2 Cấu trúc chương trình Rasa 30 2.2.3 Intent 32 2.3 2.2.4 Entity 32 2.2.5 Stories 32 2.2.6 Actions 33 2.2.7 Policies 34 2.2.8 Slots .34 Kết luận chương 35 CHƯƠNG 3: XÂY DỰNG CÔNG CỤ HỎI ĐÁP THÔNG TIN KHÁCH SẠN 36 3.1 3.2 3.3 Giới thiệu toán 36 3.1.1 Mơ hình huấn luyện cho chatbot 37 3.1.2 Đánh giá hiệu chatbot .39 Xây dựng Chương trình .41 3.2.1 Nguồn liệu xây dựng .41 3.2.2 Xây dựng ý định 41 3.2.3 Xây dựng thực thể 44 3.2.4 Xây dựng câu trả lời .45 3.2.5 Xây dựng khung kịch 47 3.2.6 Đào tạo cho chatbot .49 3.2.7 Kiểm tra chatbot 52 Kết thực nghiệm 52 3.3.1 Môi trường thực nghiệm 52 3.3.2 Thiết kế 52 3.3.3 Kết thực nghiệm 53 3.4 Đánh giá 62 3.5 Kết luận chương 63 KẾT LUẬN 64 TÀI LIỆU THAM KHẢO .66 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 Application Programming API Interface CRF Conditional Random Fields DL Diễn giải Trí tuệ nhân tạo Giao diện lập trình ứng dụng Mơ hình CRF Deep learning Học sâu DM FAQ Dialog Management Frequently Asked Questions Quản lý hội thoại Các câu hỏi thường gặp ML Machine Learning Học máy NLG NLP NLU QA SDK Natural language generation Natural Languague Processing Natural language understanding Question Answering Software Development Kit Sinh ngôn ngữ tự nhiên Xử lý ngôn ngữ tự nhiên Hiểu ngôn ngữ tự nhiên Các cặp câu hỏi đáp Bộ cơng cụ hỡ trợ phát triển DANH MỤC HÌNH VẼ VÀ ĐỒ TH Hình 1.1: Phân loại Chatbot [7] Hình 1.2: Kiến trúc chung chatbot [8] Hình 2.1 Xác định ý định người dùng [4] 16 Hình 2.2: Xác định ý định dựa học máy [1] 18 Hình 2.3: Trích xuất thơng tin thực thể [4] 20 Hình 2.4: Trích xuất thơng tin thực thể dựa học máy 21 Hình 2.5: Quản lý hội thoại [4] 22 Hình 2.6: Mơ hình máy trạng thái hữu hạn (Finite-State Machines) [10] 23 Hình 2.7: Mơ hình Frame-based [10] 24 Hình 2.8: Một chatbot hướng menu 25 Hình 2.9: NLP engine trích xuất thông tin dựa kỹ thuật học máy .26 Hình 2.10: Các thành phần Rasa [4] 28 Hình 2.11: Chế độ học tương tác Rasa [4] 29 Hình 2.12: Cơng cụ Rasa X .29 Hình 2.13: Cách thức Rasa phản hồi tin nhắn .30 Hình 2.14: Cấu trúc chương trình Rasa 31 Hình 3.1: Đào tạo model .49 Hình 3.2: Đào tạo cho chatbot dạng shell 50 Hình 3.3: Chế độ đào tạo cho chatbot Interactive Learning 50 Hình 3.4: Trực quan hóa hội thoại .51 Hình 3.5: Học tương tác qua Rasa X 51 Hình 3.6: End-to-end testing với Rasa .52 Hình 3.7: Kiến trúc chung hệ thống 53 Hình 3.8: Intent Confusion matrix .55 Hình 3.9: Hỏi loại phòng khách sạn 58 Hình 3.10: Hỏi thông tin thời gian check-in, check-out khách sạn 59 Hình 3.11: Hỏi thơng tin dạng FAQ khác khách sạn 60 Hình 3.12: Đặt phịng 62 DANH MỤC BẢNG BIỂU Bảng 2.1: Ưu nhược điểm chatbot dựa quy tắc [12] 25 Bảng 2.2: Ưu nhược điểm chatbot dựa AI [12] 27 Bảng 3.1: Bảng confusion matrix 40 Bảng 3.2: Bảng ý định (intent) chabot 41 Bảng 3.3: đánh giá trích chọn thơng tin thực thể (entity) 56 Bảng 3.4: đánh giá mơ hình Rasa Core .56 vào tests/conversation_tests.md Ta kiểm tra chatbot cách chạy lệnh: $ rasa test Hình 3.22: End-to-end testing với Rasa 3.3 Kết thực nghiệm 3.3.1 Môi trường thực nghiệm Chương trình thử nghiệm thiết kế, xây dựng thực môi trường hệ điều hành Windows với tảng framework Rasa 1.10.12, dựa ngôn ngữ lập trình python 3.7 Giao điện người dùng sử dụng tảng web/ứng dụng chat Telegram 3.3.2 Thiết kế Hình minh hoạ kiến trúc chung toán Hình 3.23: Kiến trúc chung hệ thống Front-end: sử dụng giao diện web trình nhắn tin phổ biến (Facebook Messenger/Telegram…) Với mục tiêu minh họa, sử dụng giao diện web chat Telegram - Mỡi có người dùng gửi tin nhắn cho chatbot nội dung tin gửi POST request đến webhook sử dụng để lắng nghe kiện Webhoook chuyển tiếp đến NLU RASA - RASA nhận diện ý định Sau thu message người dùng sử dụng RASA để hiểu ý định người dùng thông tin thực thể - Thông tin tiếp tục chuyển đến DM Rasa, tùy theo ý định thông tin thực thể với thơng tin theo dõi trị chuyện xảy nay, để dự đoán phản ứng thích hợp, bao gồm việc gọi API để lấy thơng tin trả lời thích hợp - NLG sinh câu trả lời dựa vào liệu từ thành phần DM theo mẫu câu template xây dựng trước kết API - Gửi tin nhắn qua phản hồi trả cho người dùng 3.3.3 Kết thực nghiệm a) Kết thử nghiệm Kết đánh giá NLU model Rasa Core sau thực đào tạo chatbot kiểm tra liệu test có 814 câu liệu người dùng nhập vào: Hình 3.24: Intent Confusion matrix Bảng 3.5: đánh giá trích chọn thơng tin thực thể (entity) precision 0.85 1.00 room_type location recall 0.75 0.58 f1-score 0.79 0.74 support 17 Bảng 3.6: đánh giá mơ hình Rasa Core utter_faq_restaurant_time utter_faq_safety_box utter_faq_bank utter_rooms utter_faq_contact_number utter_faq_deposit utter_ask_type_rooms utter_faq_hospital utter_faq_baby_food utter_faq_check_out_late utter_faq_transport utter_faq_restaurant utter_faq_reception_time utter_faq_pet_policy utter_deluxe_details utter_faq_check_in_time utter_faq_massage utter_faq_healthcare utter_hotel_info utter_faq_luggage utter_faq_smoking_room book_room_form2 utter_greet utter_faq_baby_age utter_faq_nearest_airport utter_faq_meeting_room utter_faq_baby_chair utter_faq_people_rooms utter_faq_baby_play_area action_listen utter_faq_delegation_policy utter_faq_breakfast_time utter_faq_check_in_soon utter_faq_swimming_pool precision 1.00 1.00 1.00 0.80 1.00 1.00 0.86 1.00 1.00 1.00 1.00 1.00 0.70 1.00 1.00 0.71 1.00 1.00 0.92 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.89 0.98 1.00 0.78 1.00 1.00 recall 0.64 0.75 1.00 0.80 1.00 0.67 1.00 1.00 1.00 0.78 0.83 0.75 1.00 1.00 1.00 0.94 1.00 1.00 1.00 0.90 1.00 0.95 1.00 0.91 1.00 0.88 1.00 1.00 1.00 1.00 1.00 0.64 0.57 1.00 f1-score 0.78 0.86 1.00 0.80 1.00 0.80 0.92 1.00 1.00 0.88 0.91 0.86 0.82 1.00 1.00 0.81 1.00 1.00 0.96 0.95 1.00 0.97 1.00 0.95 1.00 0.93 1.00 1.00 0.94 0.99 1.00 0.70 0.73 1.00 support 11 10 9 14 14 16 13 11 10 37 11 8 401 11 14 utter_faq_cancellation_policy utter_suite_details utter_faq_baby_cot utter_family_details utter_faq_parking utter_faq_check_out_time utter_faq_parking_cost utter_faq_breakfast utter_faq_restaurant_vegetaria n Tính chung, kết test 1.00 1.00 1.00 1.00 1.00 0.62 0.73 0.89 1.00 1.00 1.00 1.00 0.50 0.80 0.59 1.00 1.00 1.00 1.00 1.00 1.00 0.67 0.89 0.61 0.85 0.94 1.00 8 10 17 11 tập liệu test end-to-end cho độ xác khoảng 89% Correct: 731 / 814 F1-Score: 0.906 Precision: 0.926 Accuracy: 0.899 b) Test giao diện người dùng cuối Thực thử nghiệm tương tác với Chatbot với số câu câu hỏi gần với kịch đào tạo cho Chatbot Hình 3.25: Hỏi loại phịng khách sạn Hình 3.26: Hỏi thông tin thời gian check-in, check-out khách sạn Hình 3.27: Hỏi thơng tin dạng FAQ khác khách sạn Hình 3.28: Đặt phịng 3.4 Đánh giá Từ kết thực nghiệm rút số đánh sau: - Xác định ý định (intent) có ý nghĩa quan trọng chatbot Đối với tốn miền đóng cần xác định rõ ràng intent, xây dựng tập liệu đủ lớn, gán nhãn tiến hành training - Xây dựng liệu đào tạo, training cho chatbot với kịch cần thiết độ xác cao chatbot - Chatbot ứng dụng AI có khả đáp ứng tốt với kịch dựng sẵn, đào tạo Đối với kịch nằm ngồi kịch dựng sẵn, tăng cường khả cho chatbot cách điều hướng người dùng câu mặc định dạng giao diện menu lựa chọn - Việc xác định phản hồi đa ý định thực việc kết hợp ý định - Qua toán thực nghiệm thấy áp dụng tốn Chatbot cho việc hỗ trợ trả lời thông tin khách sạn khả thi, có tính thực tiễn cao, hoàn toàn áp dụng thực tiễn 3.5 Kết luận chương Trong chương luận văn mô tả bước xây dựng chương trình thực nghiệm từ việc lựa chọn nguồn liệu, xây dựng ý định, thực thể kịch trả lời Kết việc huấn luyện test liệu cho kết cao tập liệu huấn luyện test Huấn luyện nhiều liệu độ xác cao KẾT LUẬN Đề tài thực nghiên cứu số kiến thức bao gồm kiến 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, cụ thể lĩnh vực khách sạn du lịch Dựa vào ta áp dụng xây dựng chatbot giải tốn hỡ trợ người dùng nhiều lĩnh vực thực tế Các vấn đề mà luận văn đạt được: - Nghiên cứu tìm hiểu, trình bày cách khái quát hệ thống chatbot, thành phần, kỹ thuật áp dụng chatbot - Tìm hiểu lựa chọn mơ hình chatbot phù hợp, từ định xây dựng bot theo mơ hình nào, phương pháp phù hợp cho yêu cầu tốn Cụ thể với tốn trả lời thơng tin khách sạn sử dụng phương pháp tiếp cận dạng chat văn (text-based), miền đóng (closed-domain), hướng mục tiêu (task-oriented), thiết kế dựa AI - Khảo sát, nghiên cứu, xây dựng chatbot thực nghiệm xử lý ngôn ngữ tự nhiên (NLP) tiếng Việt sử dụng Rasa framework Thử nghiệm đánh giá mơ hình RASA liệu xây dựng cho kết độ xác cao (khoảng 89%) Chatbot hỗ trợ tương đối nhiều ý định (hơn 50 intents) có kịch minh họa hỗ trợ đa ý định (multi-intent) - Cài đặt triển khai ứng dụng môi trường hệ điều hành Windows với tảng Rasa framework 1.10.12, ngơn ngữ lập trình python 3.7, sử dụng chat client dạng web telegram Sản phẩm demo có làm tiền đề cho việc phát triển, hoàn thiện sản phẩm thời gian tới Sản phẩm cho thấy khả xây dựng chatbot ứng dụng AI lĩnh vực khác hoàn toàn khả thi Một số hạn chế: - Chưa xây dựng đa dạng hóa câu trả lời - Chatbot hỡ trợ dạng hội thoại text, chưa hỗ trợ voice - Chưa có khả trả lời câu hỏi phức tạp - Chưa xây dựng giao diện quản trị để tự tổ chức xây dựng intent, entity, kịch bản… nhằm mục đích cung cấp cho nhiều khách sạn khác Định hướng nghiên cứu tiếp theo: - Xây dựng thêm đa dạng hóa câu trả lời ngẫu nhiên theo ý định - Tích hợp speech to text text to speech cho chatbot để hỗ trợ voice - Xây dựng bot có khả trả lời câu hỏi phức tạp - Xây dựng giao diện quản trị tự tổ chức quản lý intent, entity, kịch bản… để hỗ trợ cho khách sạn tự xây dựng chatbot riêng mà khơng cần hiểu nhiều lập trình TÀI LIỆU THAM KHẢO [1] Phạm Quang Nhật Minh (2017) Các toán xử lý ngôn ngữ tự nhiên phát triển hệ thống chatbot Viện nghiên cứu công nghệ FPT (FTRI) [2] Nguyễn Thành Thủy (2018) Ứng dụng thuật tốn học có giám sát multi-class SVM xây dựng hệ thống chatbot hỏi đáp tiếng Việt The 7th conference on information technology and its applications, 177-184 [3] Yun-Nung (Vivian) Chen, Asli Celikyilmaz and Dilek Hakkani-Tur (2018) Deep Learning for Dialogue Systems Association for Computational Linguistics [4] Tom Bocklisch (2018) Conversational AI with Rasa NLU & Rasa Core [5] Denis Rothman Artificial Intelligence By Example (2018) Develop machine intelligence from scratch using real artificial intelligence use cases Packt Publishing [6] Sumit Raj (2019) Building Chatbots with Python Using Natural Language Processing and Machine Learning, Apress [7] Hussain S., Ameri Sianaki O., Ababneh N (2019) A Survey on Conversational Agents/Chatbots Classification and Design Techniques In: Barolli L., Takizawa M., Xhafa F., Enokido T (eds) Web, Artificial Intelligence and Network Applications WAINA 2019 Advances in Intelligent Systems and Computing, vol 927 Springer, Cham https://doi.org/10.1007/978-3-03015035-8_93 [8] Adamopoulou E., Moussiades L (2020) An Overview of Chatbot Technology In: Maglogiannis I., Iliadis L., Pimenidis E (eds) Artificial Intelligence Applications and Innovations AIAI 2020 IFIP Advances in Information and Communication Technology, vol 584 Springer, Cham https://doi.org/10.1007/978-3-030-49186-4_31 [9] Galitsky B (2019) Chatbot Components and Architectures In: Developing Enterprise Chatbots Springer, Cham [10] Daniel Jurafsky, James Martin (2008) Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition [11] Liu, Jiao & Li, Yanling & Lin, Min (2019) Review of Intent Detection Methods in the Human-Machine Dialogue System Journal of Physics: Conference Series 1267 012059 10.1088/1742-6596/1267/1/012059 [12] Singh, Abhishek & Ramasubramanian, Karthik & Shivam, Shrey (2019) Building an Enterprise Chatbot: Work with Protected Enterprise Data Using Open Source Frameworks 10.1007/978-1-4842-5034-1 [13] Sunrise Central Hotel, Những câu hỏi thường gặp Truy nhập ngày 10/10/2020: https://www.sunrisecentralhotel.com/vi/ve-chung-toi/nhung-cau-hoi-thuonggap/ [14] Palm Hotel, Những câu hỏi thường gặp Truy nhập ngày 10/10/2020: https://palmhotel.vn/cau-hoi-khach-san-thuong-gap/ [15] Cambridge Dictionary, Meaning of chatbot in English Truy nhập ngày 10/10/2020: https://dictionary.cambridge.org/dictionary/english/chatbot [16] A brief history of chatbots – Timeline Truy nhập ngày 10/10/2020: https://roboticsbiz.com/a-brief-history-of-chatbots-timeline/ [17] Lịch sử hình thành phát triển chatbot Truy nhập ngày 10/10/2020: https://congdongchatbot.com/lich-su-hinh-thanh-va-phat-trien-cua-chatbot/ [18] Top Hotels in the World that Use Chatbots in Innovative Way Truy nhập ngày 10/10/2020::https://www.trilyo.com/blog/top-8-hotels-in-the-world-thatuse-chatbots-in-innovative-way/ [19] Which industries have the greatest potential for chatbot disruption? Truy nhập ngày 10/10/2020: https://www.clickz.com/which-industries-have-the-greatestpotential-for-chatbot-disruption/112840/ [20] Rasa document Truy nhập ngày 10/10/2020: https://rasa.com/docs/ [21] Underthesea (Open-source Vietnamese Natural Language Process Toolkit) Truy nhập ngày 10/10/2020: https://github.com/undertheseanlp/underthesea ... LÊ LONG NGHIÊN CỨU, XÂY DỰNG CHATBOT HỎI ĐÁP THÔNG TIN KHÁCH SẠN SỬ DỤNG RASA FRAMEWORK CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: 8.48.01.01 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI... wifi khách sạn Thông tin hỏi đưa vật nuôi vào khách sạn Thông tin bữa ăn sáng Thông tin thời gian check-in Thông tin thời gian check-out Thông tin khu vực hút thuốc khách sạn Thông tin két sắt khách. .. hiểu sâu chatbot kỹ thuật giúp chatbot trả lời câu hỏi xử lý theo ngôn ngữ tự nhiên (NLP), em định chọn đề tài ? ?Nghiên cứu, xây dựng Chatbot hỏi đáp thông tin khách sạn sử dụng Rasa Framework? ??

Ngày đăng: 20/03/2021, 06:09

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    DANH MỤC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT

    CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ CHATBOT

    1.2. Lịch sử ra đời

    1.4. Các thành phần cơ bản của hệ thống chatbot

    1.4.1. NLU (Hiểu ngôn ngữ tự nhiên)

    1.4.2. DM (Quản lý hội thoại)

    1.4.3. NLG (Sinh ngôn ngữ tự nhiên)

    1.5. Một số nền tảng phát triển chatbot

    1.6. Một số ứng dụng của chatbot

    1.7. Giới thiệu chatbot trả lời thông tin du lịch, khách sạn

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

TÀI LIỆU LIÊN QUAN

w