intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:5

52
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: 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

  1. 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 mộ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 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. 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ừ TF- IDF (Term Frequency – Inverse Document Frequency) để xây dựng vector đặc trưng ngữ nghĩa của các câu văn bản tiếng Việt, sử dụng thuật tóa n Multi-Class SVM để huấn luyện và tiến hành phân lớp, so sánh độ chính xác với các thuật tóa n khác. Bot hiểu được ý định người dùng thông qua độ tương đồng ngữ nghĩa giữa câu hỏi đầu vào với tập không gian câu hỏi – câu trả lời được sử dụng trong 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. bản. Chatbot là một hình thức thô sơ GIỚI THIỆU của phần mềm trí tuệ nhân tạo, hoạt Chatbot là một chương trình máy tính động độc lập, có thể tự động trả lời tương tác với người dùng bằng ngôn những câu hỏi hoặc xử lý tình huống ngữ tự nhiên dưới một giao diện đơn càng thật càng tốt. Độ phức tạp của bài giản, thông qua âm thanh hoặc văn tóa n tập trung vào câu hỏi là làm sao 180
  2. 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 Bot có thể hiểu được ý định (Intents) pháp này để xây dựng thực nghiệm hệ của con người thông qua một câu hỏi thống chatbot hỗ trợ trả lời tự động các đầu vào. Sau khi hiểu được ý định của câu hỏi thường gặp của khách hàng khi con người thì hệ thống dễ dàng tương sử dụng dịch vụ của Hãng Hàng không tác và đề xuất câu trả lời phù hợp nhất. VietNam Airlines. Có hai mô hình Chatbot chính, (1) Mô Đối với miền ứng dụng đóng, chúng ta hình ứng dụng trong miền đóng (closed có thể giới hạn rằng số lượng Intent domain), trả lời theo mô hình truy xuất nằm trong một tập hữu hạn những thông tin (retrieval-based model). Intent đã được định nghĩa sẵn. Với giới Trong đó, Bot đưa ra câu trả lời đã hạn này, bài tóa n xác định ý định được chuẩn bị trước hoặc tuân theo người dùng có thể quy về bài tóa n những mô thức nhất định, thường sử phân lớp văn bản. Với đầu vào là một dụng trong các hoạt động hỗ trợ chăm câu giao tiếp của người dùng, hệ thống sóc khách hàng hoặc trợ lý mua sắm phân lớp sẽ xác định Intent tương ứng trực tuyến. (2) Mô hình ứng dụng trong trong tập các Intent đã được định miền mở (open domain), người dùng nghĩa. có thể thực hiện cuộc trò chuyện với Các kỹ thuật học máy (Machine bot ở mọi nơi, không có mục tiêu hay Learning) sẽ thay thế các kiến thức ý định rõ ràng, không giới hạn chủ đề. chuyên môn bằng một tập lớn các câu Trong nghiên cứu này, chúng tôi đề hỏi được gán nhãn (tập dữ liệu huấn xuất ứng dụng phương pháp học có luyện), sử dụng tập này, mô hình phân giám sát Multi-Class SVM phân lớp lớp sẽ được huấn luyện có giám sát. câu hỏi trong miền đóng, hỗ trợ xây Một số thuật tóa n thường được sử dựng mô phỏng chatbot hỏi-đáp. dụng như: Mạng nơ-ron, Naïve Bayes, Chúng tôi đã sử dụng mô hình túi từ Maximum Entropy, Decision Tree, BoW kết hợp với phương pháp xác Nearest-Neighbors, SNoW, SVM,... định trọng số của từ TF-IDF để xây Cách tiếp cận bằng học máy đã giải dựng vector đặc trưng ngữ nghĩa của quyết được các hạn chế trong cách tiếp các câu hỏi, sử dụng thuật tóa n Multi- cận dựa trên luật, đây là cách tiếp cận Class SVM để huấn luyện và tiến hành được sử dụng phổ biến để giải quyết phân lớp. Sau đó, ứng dụng phương bài tóa n phân lớp câu hỏi. GIAI ĐOẠN HUẤN LUYỆN Huấn luyện Tập dữ liệu mô hình Huấn luyện Tiền Trích xuất đặc xử lý trưng Câu Mô hình Câu được phân lớp phân lớp đầu vào GIAI ĐOẠN PHÂN LỚP INTENT Hình 1. Kiến trúc của 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 2 giai đoạn chính: câu hỏi cho hệ thống chatbot mà chúng Giai đoạn huấn luyện và giai đoạn tôi đang hướng đến, được xây dựng 181
  3. 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 trong miền dữ liệu đóng. Dữ liệu đầu tập dữ liệu huấn liệu, tập nhãn: vào là tập các cặp (Câu hỏi, Câu trả lời) Intent={1, 2,.., 160}. độc lập đã được gán nhãn Intent (ý Tập dữ liệu huấn luyện thu được gồm định), các Intent ở đây chính là mục 1350 cặp (Question, Intent), tiêu của người hỏi được gắn với câu trả T={(q1.k,k), (q2.k,k),…, (q20.k,k)} lời cụ thể. (k=[1..160]). Được tổ chức trong file Questions_Extend.scv, theo cú pháp: THIẾT KẾ MÔ HÌNH HUẤN |. LUYỆN HỌC MÁY Tiền xử lý văn bản tiếng Việt Xây dựng tập dữ liệu huấn luyện Làm sạch dữ liệu văn bản: chuẩn hóa Để xây dựng một mô hình phân lớp chữ tiếng Việt không dấu sang có dấu, Intent, chúng ta cần một tập dữ liệu chuẩn hóa “i” và “y”, lỗi sai chính tả, huấn luyện bao gồm các cách diễn đạt chuẩn hóa font, dấu câu, xóa các từ khác nhau cho mỗi Intent. Ví dụ, người dừng (stopwords),... dùng có thể diễn đạt theo nhiều cách Tách mỗi câu thành một danh sách các khác nhau với cùng một mục đích hỏi, từ tố (token): Mỗi câu được tách ra như sau: thành một danh sách các từ có nghĩa. - Yêu cầu tốt nghiệp đối môn học giáo Chuẩn hóa từ đồng nghĩa: đồng nhất từ dục thể chất? đồng nghĩa, từ địa phương, tiếng lóng - Chứng chỉ tương ứng B1 là những về một từ chuẩn hóa. chứng chỉ nào? Xác định từ loại (part of speech: từ - Thời gian tối đa cho một chương trình loại): Sau khi câu được tách thành học tại trường là bao lâu? danh sách các từ. Bước này sẽ xác định - Điều kiện đăng kí ngành hai? đúng từ loại (POS - như noun, verb, - Việc xét tốt nghiệp khi đăng ký ngành pronoun, adverb ...) của mỗi từ trong hai như thế nào? câu. Nguồn dữ liệu thực nghiệm, chúng tôi Ví dụ, câu: “Cho em hỏi, thời gian tối đã thu thập từ 160 bộ (Câu hỏi, Câu trả đa cho một chương trình học tại lời), là những câu hỏi thường gặp có trường là bao lâu vậy?” liên quan đến Quy chế 43, bộ dữ liệu Sau tiền xử lý: “Thời_gian tối_đa được tổ chức trên tập D={(q1,a1), nhà_trường cho_phép theo học”. (q2,a2), … (q35,a35)}. Sau khi tiền xử lý, văn bản có thể xem Tập D được tách thành hai tập con tập: như là một tập hợp các đặc trưng, đó là Câu_hỏi và Câu_trả_lời, được lưu tập hợp các từ quan trọng còn lại để trong hai file: Questions.csv và biểu diễn văn bản. Việc phân loại văn Answers.csv, theo cú pháp: bản sẽ dựa trên các đặc trưng này. |. Trong khâu tiền xử lý, chúng tôi đã sử Để làm giàu cho tập dữ liệu huấn dụng các thư viện mở để cài đặt: từ luyện, chúng tôi đã tiến hành bổ sung điển stopwords của Van-Duyet Le; thư thêm câu hỏi mới trong mỗi Intent, mỗi viện ViTokenizer, ViPosTagger của câu hỏi là một các cách diễn đạt khác Viet-Trung Tran. Ngoài ra, để rút ngắn nhau nhưng có cùng mục đích với câu số chiều không gian đặc trưng, mô hình hỏi (ban đầu) trong tập D (để cho BoW kết hợp với thuật tóa n TF.IDF có khách quan, người tham gia xây dựng thể giúp loại bỏ những từ lặp lại nhiều bộ câu hỏi đến từ nhiều vùng miền, độ lần (những từ không quan trọng) trong tuổi khác nhau). Trong đó, mỗi câu hỏi văn bản. trong tập D chính là một Intent trong Sau khi tiền xử lý, tập T gồm 1350 cặp 182
  4. 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), được lưu vào tập tinKẾT QUẢ THỰC NGHIỆM Questions_Extend1350.scv để đưa Thực nghiệm phân lớp câu hỏi vào xây dựng vector đặc trưng ở bước Để đánh giá tính hiệu quả của phương tiếp theo. pháp được đề xuất trong xây dựng hệ Trích xuất đặc trưng và vector hóa thống chatbot hỏi đáp tiếng việt, chúng văn bản tôi đã tiến hành cài đặt giải thuật Multi- Để số hóa văn bản, chúng tôi đã sử Class SVM trên Python, có sử dụng bộ dụng mô hình Bag-of-Words (BoW) thư viện scikit-learn. Thực hiện so sánh để xây dựng vector đặc trưng, kết hợp hiệu quả của mô hình Multi-Class thuật tóa n TF-IDF để xác định giá trị SVM với các mô hình khác, bao gồm: các phần tử trong vector. Naive Bayes (NBs), k-Nearest Mô hình BoW là một mô hình được sử Neighbors (kNN) và Decision Tree dụng phổ biến trong lĩnh vực phân loại (DT). văn bản. Trong đó, mỗi văn bản di Với tập dữ liệu nhỏ này, để tránh hiện trong tập ngữ liệu đang xét, tập này có tượng overfitting và underfitting khi n câu văn bản và m từ xuất hiện không xây dựng mô hình, chúng tôi đã sử lặp lại (theo từng cặp), sẽ được mô dụng kỹ thuật Leave-One-Out (một hình hóa như là một vector trọng số của trường hợp của k-Fold cross các đặc trưng: 𝑑⃗i = {wi1, wi2, …,wim}, validation) để tổ chức tập Training-set wij là trọng số của đặc trưng thứ j (1
  5. 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 Macro-average Recall 0.77427 0.77430 0.67108 0.54732 Macro-average F1-Score 0.77928 0.77740 0.67557 0.55643 Bảng 2, cho ta thấy giải thuật phân lớp KẾT LUẬN VÀ HƯỚNG PHÁT SVM có độ chính xác Accuracy và F1- TRIỂN Score nhỉnh hơn giải thuật NBs (0.05 - Nghiên cứu đã trình bày phương pháp 0.001). phân loại câu hỏi tiếng Việt trong miền Thực nghiệm hệ thống chatbot dữ liệu đóng, dựa trên thuật tóa n học Để cài đặt hệ thống chatbot, chúng tôi có giám sát Multi-Class SVM và ứng đã sử dụng framework DialogFlow, sử dụng mô hình học máy này để xây dụng PC local tại phòng lab thực hiện dựng ứng dụng chatbot hỏi-đáp. Kết code python để làm server xử lý quả thực nghiệm mô hình với tập dữ payload (webhook server), server được liệu thực cho thấy phương pháp của kết nối với DialogFlow bằng công cụ chúng tôi đề xuất là khá hiệu quả khi Dynamic DNS No-IP giúp bot có thể so sánh với các giải thuật NBs, kNN và hoạt động liên tục. DT, độ chính xác đạt đến 87.5%. Để DUBO ChatBot, sử dụng các kỹ thuật nâng cao tính hiệu quả của mô hình phân lớp đã nêu trên, được cài đặt thử trên, chúng tôi cần bổ sung thêm số câu nghiệm thành công trên Facebook, hỏi được gán nhãn trên mỗi Intent Skype, Slack, Zalo và nền web kết quả trong tập dữ liệu huấn luyện. Trong hoạt động khá ổn định. Để tăng tính tương lai, chúng tôi tiếp tục nghiên cứu hiệu quả khi xác định Intent của người mô hình học bán giám sám (Semi- dùng, chúng tôi đã kết hợp cả 3 thuật Supervised Learning), để bot tự học tóa n SVM, NBs và kNN để xác định dựa trên những câu hỏi mới được đưa Intent phù hợp nhất với ngữ cảnh dựa vào của người dùng trong quá trình vận vào predicted score trả về ở mô hình. hành hệ thống chatbot. TÀI LIỆU THAM KHẢO FPT TECH INSIGHT HOMEPAGE. Ba vấn đề NLP cơ bản khi phát triển một hệ thống chatbot và một số phương pháp giải quyết điển hình. Truy xuất https://tech.fpt.com.vn/. HÅKAN SUNDBLAD (2007). Question Classification in Question Answering Systems. Linköping. VAN DUYET LE. Truy xuất https://github.com/stopwords/vietnamese- stopwords/. VŨ THỊ TUYẾN (2016). Một số mô hình học máy trong phân loại câu hỏi. Luận văn thạc sĩ CNTT. Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội. VIET TRUNG TRAN. Truy xuất https://pypi.org/project/pyvi/. 184
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2