Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
1,64 MB
Nội dung
ĐẠ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Ệ PHẦN MỀM NGUYỄN TẤN PHÚC LÊ KHẮC HẬU LINH KHÓA LUẬN TỐT NGHIỆP CHATBOT TIẾNG VIỆT HỖ TRỢ DU LỊCH Building a Vietnamese chatbot to support tourism KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM TP HỒ CHÍ MINH, 2021 ĐẠ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Ệ PHẦN MỀM NGUYỄN TẤN PHÚC – 16520954 LÊ KHẮC HẬU LINH – 16520664 KHÓA LUẬN TỐT NGHIỆP CHATBOT TIẾNG VIỆT HỖ TRỢ DU LỊCH Building a Vietnamese chatbot to support tourism KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN TS.HUỲNH NGỌC TÍN TP HỒ CHÍ MINH, 2021 THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT 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 ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin LỜI CẢM ƠN Em xin chân thành cảm ơn quý Thầy, Cô khoa Công nghệ phần mềm Trường ĐH Công Nghệ Thông Tin trang bị cho em kiến thực tảng để hồn thành tốt luận văn Cảm ơn bạn lớp chia sẻ kinh nghiệm hỗ trợ lúc 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 lúc thực luận văn Mặc dù cố gắng hết khả khơng thể tránh khỏi thiếu sót Rất mong nhận góp ý quý báu quý thầy để đề tài hồn chỉnh Sinh viên NGUYỄN TẤN PHÚC LÊ KHẮC HẬU LINH MỤC LỤC Chương MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục tiêu nhiệm vụ nghiên cứu 1.2.1 Mục tiêu 1.2.2 Nhiệm vụ nghiên cứu 1.3 Đối tượng phạm vi nghiên cứu 1.3.1 1.3.2 Đối tượng nghiên cứu Phạm vi nghiên cứu 4 Phương pháp nghiên cứu 1.4.1 Nghiên cứu lý thuyết 1.4.2 Nghiên cứu thực nghiệm 1.4 1.5 Ý nghĩa khoa học thực tiễn đề tài 1.5.1 Về mặt lý thuyết 1.5.2 Về mặt thực tiễn 1.6 Bố cục luận văn: Chương 2.1 NỘI DUNG Tổng quan máy học xử lý ngôn ngữ tự nhiên 7 2.1.1 2.1.2 Phương pháp máy học Xử lý ngôn ngữ tự nhiên 14 2.1.3 2.1.4 Các phương pháp biểu diễn văn Tính độ tương đồng 17 27 2.1.5 2.1.6 Các phương pháp phân loại văn Chatbot 29 31 Phân tích thiết kế hệ thống chatbot 34 2.2 2.2.1 Các mơ hình chatbot 34 2.2.2 Phân loại chatbot 35 2.2.3 2.2.4 Các phương pháp xây dựng chatbot Các vấn đề phát triển hệ thống chatbot 38 42 2.3 Cài đặt thực nghiệm hệ thống chatbot hỗ trợ tư vấn du lịch sài gòn 48 2.3.1 Bài toán tư vấn du lịch 48 2.3.2 2.3.3 Phân tích nhu cầu tư vấn du lịch Dữ liệu thực nghiệm 50 52 2.3.4 2.3.5 Mơ hình hệ thống Cài đặt thực nghiệm 54 56 2.3.6 2.3.7 Kết thực nghiệm Phân tích đánh giá 60 61 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 3.1 Kết luận 63 63 3.2 Hướng phát triển 64 DANH MỤC HÌNH 11 Hình 2.1: Bộ liệu chữ viết tay 18 Hình 2.2: Mơ hình vector biểu diễn văn Hình 2.3: Ví dụ mơ hình đồ thị khái niệm 21 22 Hình 2.4: Ví dụ mơ hình đồ thị hình 23 Hình 2.5: Ví dụ mơ hình đồ thị có hướng, khơng gán nhãn Hình 2.6: Ví dụ mơ hình đồ thị n khoảng cách đơn giản 23 Hình 2.7: Mơ hình Cbow Skip-gram 24 25 Hình 2.8: Mơ hình túi từ phân tán vectơ đoạn Hình 2.9: Mơ hình nhớ phân tán 26 26 Hình 2.10: Mơ hình nhớ phân tán cho việc học vector đoạn 31 Hình 2.11: Xử lý hội thoại chatbot người Hình 2.12: Hoạt động chatbot 32 36 Hình 2.13: Đoạn hội thoại chatbot trí tuệ nhân tạo Hình 2.14: Cấu trúc chatbot sử dụng NLP công nghệ Machine 39 Hình 2.15: Hệ thống chatbot sử sử dụng phương pháp NLU 40 43 Hình 2.16: Kiến trúc hệ thống phân lớp ý định Hình 2.17: Minh hoạ quản lý hội thoại theo mơ hình máy trạng thái hữu hạn FSA 46 Hình 2.18: Phần mềm chatbot 49 Hình 2.19: Chatbot hỗ trợ tư vấn du lịch 51 54 Hình 2.20: Mơ hình hệ thống chatbot Hình 2.21: Các bước thực giải thuật 56 60 Hình 2.22: Kết thực nghiệm DANH MỤC BẢNG Bảng 2.1 Biểu diễn văn mơ hình logic 17 DANH MỤC TỪ VIẾT TẮT AI Artificial Intelligence ML Machine Learning NLG Natural Language Generation NLU Natural Language Understanding NLP Natural Language Processing SVM Support Vector Machine TÓM TẮT KHÓA LUẬN - - Tìm hiểu sở lý thuyết học máy Tìm hiểu xử lý ngơn ngữ tự nhiên Tìm hiểu phương pháp tạo chatbot Xây dựng hệ thống chat bot hỗ trợ hệ thống tư vấn du lịch gồm: - Tìm kiếm khách sạn: - Khách sạn gần - Khách sạn giá rẻ - Khách sạn tốt - Đường đến khách sạn - Khách sạn có bãi gửi xe - Tìm kiếm địa điểm du lịch: - Các trung tâm thương mại - Các viện bảo tàng - Các khu chợ - Khu vui chơi - Bảo tàng chuyên ngành - Tìm kiếm địa điểm ăn uống: - Địa điểm ăn uống gần - Địa điểm ăn uống ngon - Món ăn ngon - Món ăn phổ biến - Món ăn chay - Câu hỏi thường gặp: - Diện tích Sài Gịn - Văn hóa Sài Gịn - Phương tiện lại Q trình xây dựng gồm bước sau: - Thu nhập liệu - Xác định ngôn ngữ sử dụng - Xây dựng tập liệu huấn luyện - Kịch hội thoại - Xây dựng Action Chương 1.1 MỞ ĐẦU Lý chọn đề tài Chatbot chương trình máy tính trí thơng minh nhân tạo tương tác với người ngôn ngừ tự nhiên, thực trị chuyện thơng qua giao diện dạng tin nhắn âm Thuật ngừ “ChatterBot” ban đầu đặt bới Michacl Mauldin dầu ticn vào năm 1994 Chatbots dược gọi Conversational Agcnts hay Dialog Systems Các chatbots thiết kế cách thuyết phục người cư xử đố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, chatbots thường chia thành hai loại: âm tin nhắn Các chatbots dược thiết kế phức tạp dựa trcn tảng xừ lý ngôn ngữ tự nhicn, có nhiều hộ thống khác dơn giản cách quct từ khỏa đầu vào, sau dó trá lời với từ khóa phủ họp mầu từ ngừ tương tự sờ liệu Hiện phần lớn chatbot thực truy cập thông qua trợ lý ảo trợ lý Google Amazon Alexa, ứng dụng tin nhắn Facebook Messenger, WeChat thông qua ứng dụng trang vveb cùa tồ chức riêng lẻ Sự phát triển trí tuệ nhân tạo tạo điều kiện để chatbot phát triển nhanh chóng tạo hộ sinh thái chatbot tương tự hệ sinh thải ứng dụng Chatbot sừ dụng nhiều công việc việc chăm sóc khách hàng (cung cấp thơng tin sàn phẩm, đưa thông tin gợi ý ), quàn lý hàng tồn, 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 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, dời sống người Chatbot có lợi thố dổ dễ dàng sử dụng ngành nghề Du lịch nhùng ngành kinh tế quan trọng, ngành kinh tế tổng hợp có tính liên ngành, liên vùng xã hội hóa cao Du lịch khơng có khả tạo nguồn thu nhập lớn cho xă hội mà cịn góp phần thực sách mờ cửa, giao lưu văn hóa, thúc đầy đồi phát triển nhiều ngành kinh tế khác, dồng thời giải nhiều vấn đề mang tính chất xã hội Sài Gòn, vùng đất thiên nhiên ưu ban tặng nhiều tài nguycn quý, dộc dáo dc phục vụ cho việc phát triển 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ú da dạng Sài Gòn xác định “Du lịch ngành kinh tế mùi nhọn tình” Sài Gịn vùng dất giàu tiềm năng, lợi để phát triển du lịch, nhiên du lịch Sài Gòn chưa phát triển tương xứng với tiềm vốn có Làm để du lịch Sài Gòn phát triển lên ngày nhanh mạnh mẽ, thu hút lượng khách du lịch đến thăm quan nhiều hơn, nâng cao sức cạnh tranh, nâng cao vị du lịch Sài Gòn vấn đề quan trọng cấp thiết cần đặt 1.2 Mục tiêu nhiệm vụ nghiên cứu 1.2.1 Mục tiêu - Tìm hiểu máy học, thuật tốn xử lý ngơn ngữ tự nhiên áp dụng xây dựng chatbot nhằm nâng cao hiệu quả, độ xác chatbot - Xây dựng ngữ cảnh chatbot du lịch Sài Gòn dựa đặc trưng liệu du lịch Sài Gòn - Ứng dụng ngữ cảnh mã nguồn mở Rasa để xây dựng thử nghiệm hệ thống chatbothoox trợ tư vấn cho khách du lịch Sài Gịn 1.2.2 Nhiệm vụ nghiên cứu - Tìm hiểu lý thuyết máy học thuật toán liên quan đến chatbot - Tìm hiểu phương pháp xử lý ngôn ngữ tự nhiên với ngôn ngữ Tiếng Việt - Tìm hiểu phương pháp tính tốn độ tương tự văn - Tìm hiểu cơng nghệ kỹ thuật thiết kế chatbot Rõ ràng có nhu cầu cần có hệ thống tư vấn thông tin du lịch Hệ thống hỗ trợ cho người dùng lựa chọn dịch vụ du lịch phù hợp theo yêu cầu cá nhân du khách Đồng thời, hệ thống cịn phải có khả đưa trả lời tương ứng với yêu cầu, đề nghị du khách Hệ thống tư vấn du lịch xem tương tự nhà chuyên gia du lịch, hiểu rõ vấn đề chuyên môn để tư vấn cho du khách chọn lựa dịch vụ phù hợp Đối với điểm đến du lịch, hệ thống tư vấn tốt lôi kéo nhiều khách hàng đến, lại tăng số lượng dịch vụ bán Hình 2.19: Chatbot hỗ trợ tư vấn du lịch Nghiên cứu, phát triển ứng dụng để hỗ trợ yêu cầu người trở thành xu hướng tất yếu nghiên cứu ngành khoa học Sài Gòn năm qua có bước phát triển vượt bậc, đặc biệt ngành du lịch thu hút nhiều du khách đến tham quan, nghỉ dưỡng chưa xứng tầm với tiềm Chưa có nhiều dịch vụ quảng bá, tư vấn du lịch Cùng với thực trạng bỏ ngỏ vấn đề tư vấn hay tư vấn chưa rõ ràng website du lịch Việt Nam nói chung Sài Gịn nói riêng hệ thống tư vấn du lịch trở thành chủ đề cần nghiên cứu, có tính ứng dụng thực tế cao góp phần hỗ trợ phát triển du lịch dịch vụ địa phương Xuất phát từ thực 53 tế này, luận văn mạnh dạn thực đề tài nghiên cứu xây dựng chatbot hỗ trợ tư vấn du lịch Sài Gòn 2.3.3 Dữ liệu thực nghiệm Dữ liệu thực nghiệm cho hệ thống chatbot hỗ trợ tư vấn du lịch Sài Gịn xây dựng cách tập hợp thông tin nhiều nguồn tin khác internet lĩnh vực du lịch báo điện tử, trang web du lịch, diễn đàn, từ trung tâm lữ hành, hướng dẫn viên du lịch có nhiều kinh nghiệm hoạt động hướng dẫn du lịch Thành phố Hồ Chí Minh Các liệu thu thập có dạng sau: đánh giá, nhận xét địa điểm du lịch đó; kinh nghiệm du lịch địa điểm du lịch; thông tin hỗ trợ du lịch thông tin giá vé, phương tiện, mở cửa, thông tin khách sạn, nhà hàng, dịch vụ,… Dữ liệu thu thập biên tập thành hệ thống: liệu câu hỏi liệu câu trả lời tương ứng theo chủ đề liên quan đến nhu cầu cần thiết khách du lịch ăn, ở, lại, thông tin địa danh, Một vấn đề quan trọng xây dựng liệu cho chatbot liệu hỏi-đáp phải có tính logic có phản hồi phải có tính ngữ cảnh Các câu hỏi trả lời biên tập ngắn gọn, súc tích giống hội thoại thực tế người Trong nghiên cứu này, tiến hành thực nghiệm hệ thống với chủ đề khách sạn dịch vụ ăn uống để đánh giá hoạt động hệ thống chatbot xây dựng Các liệu cho hai chủ đề phân tích, trích lọc xây dựng tập huấn luyện, kịch hội thoại Dữ liệu thu thập thông qua website, công cụ gợi ý nhu cầu tìm kiếm Google, tương tác bình luận nhằm xác định nhu cầu Phần tiếp theo, luận văn tiến hành vấn sâu số khách hàng nội địa nhu cầu tìm kiếm khách hàng ghi nhận mẫu hội thoại mà du khách sử dụng Thơng qua câu hỏi gợi mở, trị chuyện với khách hàng chúng tơi tiến hành phân tích đưa mẫu hội thoại Ví dụ: ● Chào em 54 ● Em cho anh hỏi gần có qn hải sản khơng? ● Dạ, anh rẻ phải khoảng 500m có quán ● Cám ơn em Dựa liệu du lịch Sài Gòn, tác giả tiến hành phân tích, trích lọc xây dựng tập huấn luyện, kịch hội thoại Đây phần tốn thời gian để xác định nhóm câu hỏi giống để phân loại câu trả lời cần thống kê lại theo nhóm nhằm xây dựng sở liệu hỗ trợ chatbot truy vấn tìm thông tin Tuy nhiên số liệu lấy từ trang điện tử cần kiểm chứng thực tính khách quan Một số câu hỏi câu trả lời lấy từ hướng dẫn du lịch dài số lượng từ Thông tin từ dịch vụ giá tham quan địa danh có thay đổi theo mùa chương trình khuyến Dựa vào liệu thu thập, tác giả tiến hành xây dựng intent, entity xếp từ (cụm từ, câu) vào intent Intent gồm từ, cụm từ tương tự gom thành nhóm intent với tên xác định, intent có tên booking bên gồm câu dùng để nói u cầu cần tìm đặt phòng khách sạn Như vậy, intent xác định cụ thể chi tiết làm cho chatbot xử lý nhiều ý định du khách Ý định đặt phòng khách sạn - intent:booking ● Chào! Tơi muốn đặt trước phịng khách sạn ● Có thể cung cấp cho tơi phịng khách sạn ● Xin vui lịng cung cấp thơng tin phịng khách sạn ● Có thể lấy thơng tin phịng khách sạn ● Thơng tin khách sạn ● Đặt phòng 55 Entities đ ược xác định location date, thực thể cần xác định xây dựng tập huấn luyện để chatbot tự động lấy liệu thực thể: Ví trí ngày người dùng nhập văn Đối với kịch đặt phòng, thực thể cần lấy thơng tin cịn nhiều thực thể như: giá, số người, loại phịng 2.3.4 Mơ hình hệ thống Tương tự hệ thống chatbot chung, hệ thống chatbot tư vấn thông tin du lịch bao gồm bước bản: Xử lý văn thô, phân loại thực thể, phân loại ý định trả lời nội dung tin nhắn Tuy nhiên, đặc trưng riêng hệ thống tư vấn du lịch lại đến từ đặc trưng liệu yêu cầu người dùng Thực tế, yêu cầu sản phẩm du lịch phụ thuộc vào cảm nhận trải nghiệm thực tế riêng người “tiêu thụ” sản phẩm Cùng sản phẩm điểm du lịch hay dịch vụ buồng phòng, cảm nhận (bao gồm yếu tố tâm lý tiêu thụ sản phẩm) khác hàng khác khác Như trường hợp, du khách cần tìm nhà hàng giá vừa phải (tính mờ u cầu, đánh giá) Ngồi ra, tính thưa thớt liệu huấn luyện nên hệ thống chatbot tư vấn du lịch thông thường phải cần thêm chức hỗ trợ người tư vấn thật cho du khách thu thập thông tin hội thoại tương ứng Một mơ hình tư vấn thơng tin du lịch mơ tả hình sau: Hình 2.20: Mơ hình hệ thống chatbot Trong mơ hình trên: 56 NLU - Natural Language Understanding: Phần hiểu ngơn ngữ tự nhiên, NLU sử dụng thuật tốn để chuyển văn người dùng thành thể học có cấu trúc Sau đó, thuật tốn phát thứ thời gian, vị trí, Với NLU mơ hình, xem NLU công cụ xử lý ngôn ngữ tự nhiên dùng để phân loại ý định trích xuất thực thể Dialogue Management (DM): M ột hệ thống phức tạp thường phân tách thành lớp trừu tượng khác Mỗi lớp sử dụng kết lớp trước kết sử dụng cho lớp Sau hiểu ý người dùng, chatbot cần chọn câu trả lời Câu trả lời dựa nói kiến thức mà chatbot có Tùy thuộc vào phức tạp trò chuyện Việc quản lý thực gọi quản lý hộp thoại (DM) NLG - Natural Language Generation: Là phận sinh ngơn ngữ tự nhiên nhằm mục đích giảm khoảng cách giao tiếp máy móc người Cơng nghệ, thường chấp nhận đầu vào định dạng phi ngôn ngữ biến thành định dạng dễ hiểu người báo cáo, tài liệu, tin nhắn văn Database: Là sở liệu dùng để lưu trữ thông tin hỗ trợ chatbot trả lời người dùng Trong toán tư vấn du lịch, DB lưu trữ thông tin du lịch điểm đến khách sạn, nhà hàng, 2.3.5 Cài đặt thực nghiệm 2.3.5.1 Một số yêu cầu hệ thống 2.3.5.2 Ngôn ngữ sử dụng Đây bước yêu cầu bắt buộc phải có để chatbot hiểu ngơn ngữ tự nhiên Ngơn ngữ xác định sử dụng cho hệ thống chatbot ngơn ngữ đa ngơn ngữ Trong luận văn, ngôn ngữ tiếng Việt ngôn ngữ sử dụng chatbot Khi chọn ngôn ngữ tiếng Việt làm ngơn ngữ sử dụng chatbot gặp khó khăn xử lý tiếng Việt Các từ tiếng Việt không giống từ tiếng Anh, từ tiếng Việt từ ghép (về mặt hình thức, từ ghép gồm nhiều từ đơn phân cách với khoảng trống) Do đó, việc trích xuất từ khóa tiếng Việt phải xem xét trích từ có ý nghĩa (cần nhận đâu từ ghép, đâu từ đơn) thay sử dụng khoảng trống để tách từ tiếng Anh Công việc phân tách từ tiếng Việt gọi phân đoạn từ, thực 57 cách đảm bảo từ khóa trích xuất có ý nghĩa Ví dụ, văn đầu vào sau: “Khách sạn cơng trình kiến trúc kiên cố, có nhiều tầng, nhiều phịng ngủ trang bị thiết bị, tiện nghi, đồ đạc chuyên dùng nhằm mục đích kinh doanh dịch vụ lưu trú, phục vụ ăn uống dịch vụ bổ sung khác.” Phải tách thành: “Khách_sạn cơng_trình kiến_trúc kiên_cố, có nhiều tầng, nhiều phịng_ngủ trang_bị thiết_bị, tiện_nghi, đồ_đạc chuyên dùng nhằm mục_đích kinh_doanh dịch_vụ lưu_trú, phục_vụ ăn_uống dịch_vụ bổ_sung khác.” Trong đó, Khách_sạn, cơng_trình,… từ ghép Tách từ tiếng Việt trở thành vấn đề cần giải trích xuất từ khóa tiếng Việt Có thể khái quát hóa bước để trích xuất từ khố tiếng Việt theo trình tự: Hình 2.21: Các bước thực giải thuật Trong nghiên cứu này, xử lý tiếng Việt trungtv sử dụng cho spaCy Rasa hỗ trợ tập liệu chuyển đổi Word2vec theo spaCy Vivi_spacy chứa mơ hình tiếng Việt cho spaCy, đào tạo word2vec kết hợp wikipedia văn tin tức, kích thước vector = 128 Để sử dụng Vivi_spacy, lệnh sau cần thực ngôn ngữ Python: pip3 install spacy==2.2.3 pip3 install pyvi pip3 install https://github.com/trungtv/vi_spacy/raw/master/packages/vi_spacy_model-0.2.1/di st/vi_spacy_model-0.2.1.tar.gz 58 2.3.5.3 Xây dựng tập liệu huấn luyện kịch hội thoại Xây dựng tập liệu huấn luyện bước quan trọng định đến chatbot “thông minh” hay không Trong Rasa, cấu trúc lưu trữ tập huấn luyện chia thành file: /data/nlu/nlu.yml; /data/storirs/stories.yml domain.yml Bắt đầu từ phiên 2.0 RASA thay đổi định dạng training từ markdown(.md) sang YAML(.yml) - intent: placeTravel - tơi tìm khu vui chơi - cho biết thời tiết [quận 7](location) Dữ liệu huấn luyện Rasa cấu trúc thành phần khác nhau: - Ví dụ chung - Từ đồng nghĩa - Tính regex - Bảng tra cứu Thông qua liệu thu thập phần liệu thực nghiệm, tác giả kết hợp cấu trúc lưu trữ Rasa để xây dựng tập huấn luyện cho chatbot hoạt động tốt Đây công việc thời gian cẩn thận để xác định intent, entities, stories loại bỏ liệu không phù hợp, trùng lặp Sau phần file liệu huấn luyện cấu trúc chatbot Rasa, phân chia file: nlu.yml stories.yml Dữ liệu xây dựng phụ thuộc vào liệu thu thập theo chủ đề địa điểm du lịch, khách sạn ẩm thực phần có thay đổi để phù hợp với định dạng Rasa Vì theo định dạng Rasa, liệu phát sinh thêm tên intent, tên entity từ (cụm từ, câu) cần đặt dòng Nội dung file nlu.yml theo dạng sau : version: "2.0" nlu: - intent: weather 59 examples: | - thời tiết - nói cho tơi biết thời tiết - muốn biết thời tiết - thời tiết hôm - thời tiết - Tôi muốn biết nhiệt độ Nội dung file stories.yml version: "2.0" stories: - story: ask weather happy path steps: - intent: weather - action: utter_ask_location - intent: city entities: - location: Quận - slot_was_set: - location: Quận - action: action_get_weather - slot_was_set: - location: null Luận văn thu thập tổng hợp 2.3.5.4 Xây dựng Action Trong phần này, tùy theo tính chất mẫu hội thoại để xác định người dùng cần lấy thơng tin từ sở liệu hay phải kết nối đến hệ thống khác Vì vậy, xây dựng Action quan trọng giúp chatbot trả lời linh hoạt, hiểu yêu cầu người dùng có khả tự động tìm kiếm thơng tin để cung cấp cho người dùng Trong bước này, chuyển kết nối hệ thống đặt trước cung cấp đường link cho người dùng vào xác minh bước đặt trước dịch vụ Tôi xây dựng action sau: class ActionGetWeather(Action): 60 """ Return today's weather forecast""" def name(self): return "action_get_weather" def run(self, dispatcher, tracker, domain): city = tracker.get_slot('location') api_token = "417d2d3d5443b9068b0580a5e3414961" url = "https://api.openweathermap.org/data/2.5/weather" payload = {"q": city, "appid": api_token, "units": "metric", "lang": "vi"} response = requests.get(url, params=payload) if response.ok: description = response.json()["weather"][0]["description"] temp = round(response.json()["main"]["temp"]) cityGR = response.json()["name"] msg = f"Nhiệt độ {city} {temp} độ C {description}" else: msg= "Lỗi!" dispatcher.utter_message(msg) return [SlotSet("location", None)] 2.3.6 Kết thực nghiệm Chương trình chạy thử nghiệm với số thông tin đầu vào đa dạng, kết đảm bảo tiến trình hội thoại thơng suốt phù hợp với ngữ cảnh, đáp ứng khả trợ giúp chatbot Nhưng số lỗi xảy ra, lỗi xảy từ nguyên nhân chủ yếu sau: giới hạn sở tri thức cho chatbot Hệ thống chatbot với liệu huấn luyện kịch hội thoại, xây dựng slot thực thể giúp chatbot lấy thông tin từ phía người dùng Chatbot xác định ý định người dùng để thơng qua action lập trình để thực hành động dựa vào location người dùng cung cấp đưa nhiệt độ khí hậu địa điểm tìm kiếm thơng tin sở liệu website cung cấp thơng tin khác Như hình bên dưới, tác giả chạy thử nghiệm kịch hỏi đáp thời tiết, chatbot lấy thông tin vị trí từ phát triển thêm thông 61 tin khác Tác giả thử nghiệm cài đặt action để kiểm tra cách thực chatbot Tuy nhiên, thời gian hạn chế, tác giả lập trình action trả thơng tin thời tiết để kiểm thử Hình 2.22: Kết thực nghiệm 2.3.7 Phân tích đánh giá Hệ thống chatbot xây dựng với mục đích ban đầu đáp ứng yêu cầu hệ thống tư vấn thông tin du lịch Thành phố Hồ Chí Minh, tập trung vào số mảng du lịch địa điểm du lịch, khách sạn ẩm thực Giao diện chatbot tích hợp với Facebook Messenger Ngữ cảnh hội thoại 62 gần gũi, phù hợp Nhưng sở tri thức thu thập cịn hạn chế, dẫn đến q trình hội thoại chưa thơng suốt, chí cịn câu trả lời ngớ ngẫn bế tắc Quá trình hội thoại thực tiếng Việt có dấu khơng dấu Để có chatbot thực thơng minh, thay người thực trị chuyện để tư vấn thơng tin du lịch cần có sở tri thức phong phú, cho hội thoại tiếp diễn theo chủ đề mà hai bên quan tâm Và tiêu chí thơng minh máy móc đặt sở để xây dựng phát triển chatbot Mặc dầu, bước đầu xây dựng hệ thống chatbot sơ khai, luận văn phần đóng góp vào q trình ứng dụng lĩnh vực trí tuệ nhân tạo vào thực tiễn đời sống, đưa giải pháp triển khai cụ thể ứng dụng trí tuệ nhân tạo vào lĩnh vực cụ thể đời sống ngày Bước đầu tạo “người máy” tư vấn thông tin du lịch hiệu cho du khách du lịch đến Thành phố Hồ Chí Minh Hiện xu hướng xây dựng hệ thống chatbot phát triển mạnh nhiều nước giới, năm giới cịn có thi xây dựng chatbot giải Loebner, hay thi thách thức đa ngơn ngữ Ở nước ta lĩnh vực chưa có nghiên cứu tương tự Đây khó khăn cho thân tơi q trình xây dựng chatbot Mong rằng, năm ứng dụng chatbot triển khai rộng rãi có ứng dụng thiết thực lĩnh vực khác Lĩnh vực chatbot có thành tựu đáng kể năm qua, hàng năm thi thách thức đa ngơn ngữ hay Loebner có người giành chiến thắng với chủ đề hội thoại thực cách thơng minh Vì vậy, hy vọng tương lai gần nỗ lực xây dựng chatbot tư vấn thông tin du lịch thật thơng minh hữu ích với cộng đồng lớn mạnh mã nguồn mở chatbot theo chủ đề Dựa phân tích chatbot phần trên, luận văn lựa chọn giải pháp kết hợp mã nguồn mở: sử dụng thư viện mã nguồn mở trí tuệ nhận tạo, học sâu nhằm hỗ trợ lập trình giải vấn đề: phân loại ý định người dùng, trích xuất thơng tin, tính độ tương tự Ứng dụng DLOD giải vấn đề quan trọng hiểu ngơn ngữ tiếng Việt, trích xuất thực thể văn nhập vào người dùng Bằng cách sử dụng đoạn hội thoại giao diện đơn giản, ứng dụng 63 tạo giao tiếp với người dùng cách dễ dàng tiện lợi Với tình hội thoại dùng để kiểm thử chatbot, chúng tối đánh giá chatbot giúp người dùng đặt câu hỏi, hiểu ngôn ngữ người dùng Tuy nhiên, ứng dụng số vấn đề như: - Do kết hợp nhiều phương pháp nên ứng dụng hạn chế mặt xử lý lúc nhiều yêu cầu - Về liệu huấn luyện nên chưa tạo linh hoạt chatbot - Những từ địa phương, từ lóng chatbot khơng nhận ra, khơng có tri thức, khơng thực Tiếng Việt khơng dấu cịn số trường hợp không kết mong muốn Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 3.1 Kết luận Kết đạt Q trình phân tích tốn cụ thể, chi tiết Vận dụng học máy vào trình huấn luyện chatbot Đặc biệt, chương tác giả phân tích giải pháp sử dụng mã nguồn mở Rasa để giải vấn đề xây dựng chatbot, phân tích vấn đề xử lý ngơn ngữ tiếng Việt mã nguồn Rasa khơng có sẵn Hệ thống chatbot đáp ứng yêu cầu đặt ban đầu với chức hỗ trợ tư vấn Ưu điểm Trong trình nghiên cứu xây dựng chatbot hỗ trợ tư vấn du lịch Sài Gòn, luận văn đạt số nội dung sau: - Luận văn tìm hiểu phương pháp học máy, tính độ tương đồng văn bản, phương pháp biểu diễn, phân loại văn - Tìm hiểu tảng phát triển chatbot, thật tốn xây dựng chatbot - Đề xuất mơ hình hệ thống chatbot ứng với toán - Giới thiệu mã nguồn mở RASA, cài đặt chạy thực nghiệm thành công liệu cụ thể du lịch 64 Có thể thay đổi bổ sung chủ đề hội thoại, mẫu hội thoại kết phù hợp nhất, thể thông minh gần gũi với người Nhược điểm - Do kết hợp nhiều mã nguồn mở phương pháp nên ứng dụng hạn chế mặt xử lý lúc nhiều yêu cầu - Về liệu huấn luyện cịn Các kịch chatbot chưa đủ lớn - Dữ liệu thu thập tập trung địa điểm du lịch, khách sạn ẩm thực, chưa thu thập hết liệu du lịch Sài Gòn Cài đặt thực nghiệm chưa phong phú Phạm vi ứng dụng Hệ thống chatbot hỗ trợ tư vấn xây dựng để ứng dụng việc hỗ trợ tư vấn du lịch Sài Gòn 3.2 Hướng phát triển Mở rộng khả hỗ trợ tư vấn du lịch phạm vi Việt Nam Nâng cấp hệ trợ giúp không tư vấn trợ giúp văn mà cịn giọng nói với mơ hình tượng trưng sinh động Mở rộng ứng dụng hệ thống điện thoại di động Xây dựng cộng đồng mã nguồn mở Rasa chủ đề trợ giúp hỗ trợ tư vấn, từ có sở tri thức phong phú cho chatbot 65 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Nguyễn Hạnh Phúc, Lê Thế Anh, “Nghiên cứu xây dựng mạng Neural cho kỹ thuật nhận dạng văn Tiếng Việt”, Đề tài nghiên cứu khoa học cứu cấp trường; Hải phòng, tháng 5/2015 [2] Nguyễn Kim Anh, Trịnh Thị Ngọc Hương, “Nghiên cứu kĩ thuật đánh giá độ tương đồng văn ứng dụng so sánh văn tiếng Việt”, Thuyết minh đề tài nghiên cứu khoa học cấp trường; Hải phòng, tháng 5/2016 [3] Nguyễn Văn Quý, “Nghiên cứu phương pháp chuẩn hóa chữ viết tắt văn tiếng Việt”, Tóm tắt luận văn thạc sĩ; Đà Nẵng, 2017 [4] Nông Văn Tùng, “Nghiên cứu xây dựng chatbot hỗ trợ tư vấn du lịch tỉnh Quảng Bình” năm 2019 Tài liệu tiếng Anh [5] Andrew J Frei, Integrating a chatbot with a GIS-MCDM system, Master Thesis, University of Salzburg, June 30th 2018 [6] Edmondo Candela, Consumers’ perception and attitude towards chatbots’ adoption A focus on the Italian market Master Thesis, Aalborg University, Denmark, 2018 [7] Eui-Hong Han, Text Categorization Using Weight Adjusted k-Nearest Neighbor Classification PhD thesis, University of Minnesota, October 1999 [8] Hill, J., Randolph Ford, W & Farreras, I G., 2015 Real conversations with artificial intelligence: A comparison between human–human online conversations and human–chatbot conversations Computers in human behavior, Volume 49, p 245–250 [9] Paul Jaccard, “Etude comparative de la distribution orale dans une portion des Alpes et des Jura” In Bulletin del la Socit Vaudoise des Sciences Naturelles, volume 37, pages 547-579 [10] T Joachims, Text categorization with Support Vector Machines: Learning with many relevant features In Machine Learning: ECML-98, Tenth European Conference on Machine Learning, pp 137-142 [11] Winkler, W E., “String Comparator Metrics and Enhanced Decision Rules in the Fellegi-Sunter Model of Record Linkage”, 1990 66 67 ... MỀM NGUYỄN TẤN PHÚC – 16520954 LÊ KHẮC HẬU LINH – 16520664 KHÓA LUẬN TỐT NGHIỆP CHATBOT TIẾNG VIỆT HỖ TRỢ DU LỊCH Building a Vietnamese chatbot to support tourism KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM... 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ú da dạng Sài Gòn xác định ? ?Du lịch ngành kinh tế mùi nhọn tình” Sài Gịn vùng dất giàu tiềm năng, lợi để phát triển du lịch, ... 38 42 2.3 Cài đặt thực nghiệm hệ thống chatbot hỗ trợ tư vấn du lịch sài gòn 48 2.3.1 Bài toán tư vấn du lịch 48 2.3.2 2.3.3 Phân tích nhu cầu tư vấn du lịch Dữ liệu thực nghiệm 50 52 2.3.4 2.3.5