Bài viết đề xuất một giải pháp ứng dụng kỹ thuật học máy (machine learning), thuật toá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, mô hình học máy sẽ giúp bot hiểu và giao tiếp được với con người thông qua đàm thoại văn bản.
Giải thưởng Sinh viên nghiên cứu khoa học Euréka lần 20 năm 2018 Kỷ yếu khoa học NGHIÊN CỨU VÀ ĐỀ XUẤT GIẢI PHÁP ỨNG DỤNG CÔNG NGHỆ CHATBOT HỖ TRỢ TƯ VẤN HỌC TẬP CHO SINH VIÊN Trịnh Đình Phương*, Nguyễn Thành Thủy, Phạm Phương Loan, Nguyễn Thị Cẩm Vân, Trần Thiên Quốc Tổng Trường Đại học Kinh tế – Đại học Đà Nẵng *Tác giả liên lạc: dinhphuongdhkt@gmail.com TĨM TẮT Trong nghiên cứu này, chúng tơi đề xuất giải pháp ứng dụng kỹ thuật học máy (machine learning), thuật tóa 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, mơ hình học máy giúp bot hiểu giao tiếp với người thông qua đàm thoại văn Trong đó, chúng tơi sử dụng kỹ thuật túi từ BoW (Bag of Words) kết hợp với phương pháp túi từ TFIDF (Term Frequency – Inverse Document Frequency) để xây dựng vector đặc trưng ngữ nghĩa câu văn tiếng Việt, sử dụng thuật tóa n Multi-Class SVM để huấn luyện tiến hành phân lớp, so sánh độ xác với thuật tóa n khác Bot hiểu ý định người dùng thông qua độ tương đồng ngữ nghĩa câu hỏi đầu vào với tập không gian câu hỏi – câu trả lời sử dụng bước huấn luyện Từ khóa: Chatbot, Multi-class SVM, BoW, TF-IDF RESEARCH AND PROPOSALS FOR CHATBOT TECHNOLOGY APPLICATIONS CONSULTANCY STUDENT LEARNING Trinh Dinh Phuong*, Nguyen Thanh Thuy, Pham Phuong Loan, Nguyen Thi Cam Van, Tran Thien Quoc Tong University of Economics – The University of Danang City *Corresponding Author: dinhphuongdhkt@gmail.com ABSTRACT In this study, we propose a solution to apply machine learning, multi-class SVM mathematical algorithms to build Vietnamese chat-answering system Help bot understand and communicate with humans through text chat In that, we use the Bag of Words technique combined with TF (ID Frequency Inverse Document Frequency) TF method to construct the semantic feature vector of Vietnamese text , using the Multi-Class SVM algorithm for training and conducting classifications, comparing accuracy with other algorithms The bot understands the intent of the user through the semantic similarity between the input question and the question space set - the answer used in the training step Keywords: Chatbot, Multi-class SVM, BoW, TF-IDF GIỚI THIỆU Chatbot chương trình máy tính tương tác với người dùng ngơn ngữ tự nhiên giao diện đơn giản, thông qua âm văn Chatbot hình thức thơ sơ phần mềm trí tuệ nhân tạo, hoạt động độc lập, tự động trả lời câu hỏi xử lý tình thật tốt Độ phức tạp tóa n tập trung vào câu hỏi 180 Giải thưởng Sinh viên nghiên cứu khoa học Euréka lần 20 năm 2018 Bot hiểu ý định (Intents) người thông qua câu hỏi đầu vào Sau hiểu ý định người hệ thống dễ dàng tương tác đề xuất câu trả lời phù hợp Có hai mơ hình Chatbot chính, (1) Mơ hình ứng dụng miền đóng (closed domain), trả lời theo mơ hình truy xuất thơng tin (retrieval-based model) Trong đó, Bot đưa câu trả lời chuẩn bị trước tuân theo mô thức định, thường sử dụng hoạt động hỗ trợ chăm sóc khách hàng trợ lý mua sắm trực tuyến (2) Mơ hình ứng dụng miền mở (open domain), người dùng thực trị chuyện với bot nơi, khơng có mục tiêu hay ý định rõ ràng, không giới hạn chủ đề Trong nghiên cứu này, đề xuất ứng dụng phương pháp học có giám sát Multi-Class SVM phân lớp câu hỏi miền đóng, hỗ trợ xây dựng mơ chatbot hỏi-đáp Chúng tơi sử dụng mơ hình túi từ BoW kết hợp với phương pháp xác định trọng số từ TF-IDF để xây dựng vector đặc trưng ngữ nghĩa câu hỏi, sử dụng thuật tóa n MultiClass SVM để huấn luyện tiến hành phân lớp Sau đó, ứng dụng phương Kỷ yếu khoa học pháp để xây dựng thực nghiệm hệ thống chatbot hỗ trợ trả lời tự động câu hỏi thường gặp khách hàng sử dụng dịch vụ Hãng Hàng không VietNam Airlines Đối với miền ứng dụng đóng, giới hạn số lượng Intent nằm tập hữu hạn Intent định nghĩa sẵn Với giới hạn này, tóa n xác định ý định người dùng quy tóa n phân lớp văn Với đầu vào câu giao tiếp người dùng, hệ thống phân lớp xác định Intent tương ứng tập Intent định nghĩa Các kỹ thuật học máy (Machine Learning) thay kiến thức chuyên môn tập lớn câu hỏi gán nhãn (tập liệu huấn luyện), sử dụng tập này, mơ hình phân lớp huấn luyện có giám sát Một số thuật tóa n thường sử dụng như: Mạng nơ-ron, Naïve Bayes, Maximum Entropy, Decision Tree, Nearest-Neighbors, SNoW, SVM, Cách tiếp cận học máy giải hạn chế cách tiếp cận dựa luật, cách tiếp cận sử dụng phổ biến để giải tóa n phân lớp câu hỏi GIAI ĐOẠN HUẤN LUYỆN Tập liệu Huấn luyện Huấn luyện mơ hình Tiền xử lý Trích xuất đặc trưng Câu đầu vào Mơ hình phân lớp Câu phân lớp GIAI ĐOẠN PHÂN LỚP INTENT Hình Kiến trúc hệ thống phân lớp Intent Phân lớp câu hỏi theo kỹ thuật học có phân lớp (Hình 1) Bài tóa n phân lớp giám sát bao gồm giai đoạn chính: câu hỏi cho hệ thống chatbot mà chúng Giai đoạn huấn luyện giai đoạn hướng đến, xây dựng 181 Giải thưởng Sinh viên nghiên cứu khoa học Euréka lần 20 năm 2018 miền liệu đóng Dữ liệu đầu vào tập cặp (Câu hỏi, Câu trả lời) độc lập gán nhãn Intent (ý định), Intent mục tiêu người hỏi gắn với câu trả lời cụ thể THIẾT KẾ MƠ HÌNH HUẤN LUYỆN HỌC MÁY Xây dựng tập liệu huấn luyện Để xây dựng mơ hình phân lớp Intent, cần tập liệu huấn luyện bao gồm cách diễn đạt khác cho Intent Ví dụ, người dùng diễn đạt theo nhiều cách khác với mục đích hỏi, sau: - Yêu cầu tốt nghiệp đối môn học giáo dục thể chất? - Chứng tương ứng B1 chứng nào? - Thời gian tối đa cho chương trình học trường bao lâu? - Điều kiện đăng kí ngành hai? - Việc xét tốt nghiệp đăng ký ngành hai nào? Nguồn liệu thực nghiệm, thu thập từ 160 (Câu hỏi, Câu trả lời), câu hỏi thường gặp có liên quan đến Quy chế 43, liệu tổ chức tập D={(q1,a1), (q2,a2), … (q35,a35)} Tập D tách thành hai tập tập: Câu_hỏi Câu_trả_lời, lưu hai file: Questions.csv Answers.csv, theo cú pháp: | Để làm giàu cho tập liệu huấn luyện, tiến hành bổ sung thêm câu hỏi Intent, câu hỏi cách diễn đạt khác có mục đích với câu hỏi (ban đầu) tập D (để cho khách quan, người tham gia xây dựng câu hỏi đến từ nhiều vùng miền, độ tuổi khác nhau) Trong đó, câu hỏi tập D Intent Kỷ yếu khoa học tập liệu huấn liệu, tập nhãn: Intent={1, 2, , 160} Tập liệu huấn luyện thu gồm 1350 cặp (Question, Intent), T={(q1.k,k), (q2.k,k),…, (q20.k,k)} (k=[1 160]) Được tổ chức file Questions_Extend.scv, theo cú pháp: | Tiền xử lý văn tiếng Việt Làm liệu văn bản: chuẩn hóa chữ tiếng Việt khơng dấu sang có dấu, chuẩn hóa “i” “y”, lỗi sai tả, chuẩn hóa font, dấu câu, xóa từ dừng (stopwords), Tách câu thành danh sách từ tố (token): Mỗi câu tách thành danh sách từ có nghĩa Chuẩn hóa từ đồng nghĩa: đồng từ đồng nghĩa, từ địa phương, tiếng lóng từ chuẩn hóa Xác định từ loại (part of speech: từ loại): Sau câu tách thành danh sách từ Bước xác định từ loại (POS - noun, verb, pronoun, adverb ) từ câu Ví dụ, câu: “Cho em hỏi, thời gian tối đa cho chương trình học trường vậy?” Sau tiền xử lý: “Thời_gian tối_đa nhà_trường cho_phép theo học” Sau tiền xử lý, văn xem tập hợp đặc trưng, tập hợp từ quan trọng lại để biểu diễn văn Việc phân loại văn dựa đặc trưng Trong khâu tiền xử lý, sử dụng thư viện mở để cài đặt: từ điển stopwords Van-Duyet Le; thư viện ViTokenizer, ViPosTagger Viet-Trung Tran Ngoài ra, để rút ngắn số chiều khơng gian đặc trưng, mơ hình BoW kết hợp với thuật tóa n TF.IDF giúp loại bỏ từ lặp lại nhiều lần (những từ không quan trọng) văn Sau tiền xử lý, tập T gồm 1350 cặp 182 Giải thưởng Sinh viên nghiên cứu khoa học Euréka lần 20 năm 2018 Kỷ yếu khoa học (Question, Intent), lưu vào tập tin Questions_Extend1350.scv để đưa vào xây dựng vector đặc trưng bước Trích xuất đặc trưng vector hóa văn Để số hóa văn bản, chúng tơi sử dụng mơ hình Bag-of-Words (BoW) để xây dựng vector đặc trưng, kết hợp thuật tóa n TF-IDF để xác định giá trị phần tử vector Mơ hình BoW mơ hình sử dụng phổ biến lĩnh vực phân loại văn Trong đó, văn di tập ngữ liệu xét, tập có n câu văn m từ xuất khơng lặp lại (theo cặp), mơ hình hóa vector trọng số đặc trưng: 𝑑⃗i = {wi1, wi2, …,wim}, wij trọng số đặc trưng thứ j (1