Nghiên cứu mô hình hệ thống hỗ trợ tư vấn công tác học vụ trong cơ sở giáo dục đại học
Chatbot là một hệ thống giao tiếp tương tác với con người bằng các phương pháp học máy,
thực hiện cuộc trò chuyện thông qua một giao diện dưới dạng tin nhắn hoặc âm thanh. Trong thời kì
chuyển đổi số ngày nay đã tạo điều kiện để chatbot tăng tốc nhanh chóng và tạo ra một hệ thống
nhiều loại bot tương tự hệ sinh thái ứng dụng như trong việc chăm sóc khách hàng như cung cấp
thông tin sản phẩm, đưa ra các thông tin gợi ý; quản lí hàng tồn, sắp xếp lịch, tra cứu dữ liệu y tế,
chăm sóc sức khỏe. Trong bài báo này, chúng tôi nghiên cứu xây dựng một hệ thống chatbot có khả
năng hỗ trợ tư vấn thông tin học vụ cho sinh viên bằng cách tiếp cận kết hợp các kĩ thuật gom cụm
KNN, mạng nơron, mô hình túi từ và phương pháp thống kê TF-IDF. Bằng cách kết hợp các kĩ thuật
máy học cũng như gom cụm, chúng tôi đã xây dựng được một mô hình tính toán cùng với một hệ
thống tương tự chatbot để hiểu và trả lời những câu hỏi về thông tin học vụ.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Nghiên cứu mô hình hệ thống hỗ trợ tư vấn công tác học vụ trong cơ sở giáo dục đại học
nh của nơ ron, cấu trúc và sự liên kết giữa các nơ ron. Trong nhiều trường hợp, mạng nơ-ron nhân tạo là một hệ thống thích ứng, tự thay đổi cấu trúc của mình dựa trên các thông tin bên ngoài hay bên trong chạy qua mạng trong quá trình học. Hình 3. Mạng nơron thần kinh 1152 Tạp chí Khoa học Trường ĐHSP TPHCM Phạm Nguyễn Huy Phương và tgk Kiến trúc chung của một ANN gồm 3 thành phần đó là Input Layer, Hidden Layer và Output Layer Một số cách thức thực hiện thuật toán học: Học tham số, học cấu trúc. Hai vấn đề này có thể được thực hiện đồng thời hoặc tách biệt. Nếu các mô hình, hàm chi phí và thuật toán học được lựa chọn một cách thích hợp thì mạng ANN sẽ cho kết quả có thể vô cùng mạnh mẽ và hiệu quả. Hình 4. Các thành phần của ANN Inputs (Đầu vào): Mỗi Input tương ứng với 1 đặc trưng của dữ liệu. Ví dụ như trong ứng dụng của ngân hàng xem xét có chấp nhận cho khách hàng vay tiền hay không thì mỗi input là một thuộc tính của khách hàng như thu nhập, nghề nghiệp, tuổi, số con... Output (Đầu ra): Kết quả của một ANN là một giải pháp cho một vấn đề, ví dụ như với bài toán xem xét chấp nhận cho khách hàng vay tiền hay không thì output là yes/đồng ý hoặc no/không đồng ý. Connection Weights (Trọng số liên kết): Đây là thành phần rất quan trọng của một ANN, nó thể hiện mức độ quan trọng, độ mạnh của dữ liệu đầu vào đối với quá trình xử lí thông tin chuyển đổi dữ liệu từ layer này sang layer khác. Quá trình học của ANN thực ra là quá trình điều chỉnh các trọng số Weight của các dữ liệu đầu vào để có được kết quả mong muốn. Summation Function (Hàm tổng): Tính tổng trọng số của tất cả các input được đưa vào mỗi nơ-ron. Hàm tổng của một nơ-ron đối với n input được tính theo công thức sau: 푛 푌 = ∑ 푖푊푖 푖=1 Transfer Function (Hàm chuyển đổi): Hàm tổng của một nơ-ron cho biết khả năng kích hoạt của nơ-ron đó còn gọi là kích hoạt bên trong. Các nơ-ron này có thể sinh ra một output hoặc không trong mạng ANN, nói cách khác rằng có thể output của một nơ-ron có thể được chuyển đến layer tiếp theo trong mạng nơ-ron hoặc không. Mối quan hệ giữa hàm tổng và kết quả output được thể hiện bằng hàm chuyển đổi. 2.4. Thuật toán KNN cho chatbot Một trong những phương pháp máy học thường được sử dụng để phân lớp và tìm kiếm văn bản là k láng giềng. 1153 Tạp chí Khoa học Trường ĐHSP TPHCM Tập 18, Số 6 (2021): 1146-1160 Giải thuật k-láng giềng (KNN – K Nearest Neighbors) được Fix và Hodges đề xuất từ những năm 1952. Đây là phương pháp rất đơn giản nhưng cũng cho hiệu quả cao trong khai mỏ dữ liệu. Giải thuật k láng giềng và phương pháp đánh giá hiệu quả phân lớp được mô tả chi tiết trong tài liệu. Phương pháp k-láng giềng (tên khác instance-based, lazy) rất đơn giản, dễ hiểu và thường cho kết quả tốt so với các phương pháp học khác. Giải thuật k láng giềng không có quá trình học, khi dự đoán lớp (nhãn) của phần tử dữ liệu mới đến, giải thuật đi tìm k láng giềng của nó từ tập dữ liệu học, sau đó thực hiện việc phân lớp phần tử mới đến. Quá trình phân lớp của k láng giềng mất rất nhiều thời gian. Giải thuật ứng dụng thành công trong hầu hết các lĩnh vực tìm kiếm thông tin, nhận dạng, phân tích dữ liệu, hồi quy (Do, 2017). KNN là phương pháp để phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần sắp lớp và tất cả các đối tượng trong tập dữ liệu. Do quá trình tìm kiếm k phần tử lân cận cho mỗi phần tử mới, sau đó phân loại dựa trên luật bình chọn số đông (hồi quy dựa trên giá trị trung bình), độ phức tạp của quá trình phân loại khá lớn và kết quả phụ thuộc vào việc lựa chọn khoảng cách sử dụng. Mục tiêu của các bộ máy – hệ thống tìm kiếm thông tin là trả về cho người dùng k tài liệu có độ tương đồng cao nhất so với nhu cầu thông tin của họ. Thực tế thì khi người dùng thực hiện truy vấn họ không biết được đâu là k tài liệu phù hợp với nhu cầu tìm kiếm của mình. Trong trường hợp này, hệ thống tìm kiếm sẽ cố gắng trả về k tài liệu có độ tương đồng cao nhất so với truy vấn từ người dùng. Trong bài báo này áp dụng phương pháp KNN để rút trích k tài liệu có độ tương đồng cao nhất với truy vấn của người dùng. Ví dụ sau đây minh họa cách thức hoạt động của phương pháp KNN. Hình 5. Minh họa tập dữ liệu gồm 2 lớp Thuật toán KNN áp dụng vào bài báo được mô tả như sau: • Bước 1. Để thực hiện bất kì thuật toán nào, chúng ta cần tập dữ liệu. Vì vậy, trong bước đầu tiên của KNN, chúng ta phải tải dữ liệu huấn luyện cũng như kiểm tra. • Bước 2. Tiếp theo, chúng ta cần chọn giá trị của k tức là các điểm dữ liệu gần nhất. k có thể là bất kì số nguyên nào. 1154 Tạp chí Khoa học Trường ĐHSP TPHCM Phạm Nguyễn Huy Phương và tgk • Bước 3. Đối với mỗi điểm trong dữ liệu kiểm tra, hãy làm như sau: - Tính toán khoảng cách giữa dữ liệu thử nghiệm và mỗi hàng dữ liệu huấn luyện với sự trợ giúp của bất kì phương pháp nào cụ thể là: Khoảng cách Euclidean, Manhattan hoặc Hamming. Phương pháp phổ biến nhất được sử dụng để tính khoảng cách là Euclidean. - Sắp xếp khoảng cách trên theo thứ tự tăng dần. - Chọn K hàng đầu tiên từ mảng đã sắp xếp. - Chỉ định một lớp cho điểm kiểm tra dựa trên lớp thường xuyên nhất của các hàng này. • Bước 4. Kết thúc Việc tính toán khoảng cách giữa các đối tượng cần phân lớp với tất cả đối tượng trong tập dữ liệu huấn luyện thường được sử dụng với công thức tính khoảng cách Euclidean. Cho 2 điểm P1(x1, y1) và P2(x2, y2) thì khoảng cách Euclidean distance sẽ được tính theo công thức: 2.5. Đề xuất mô hình tư vấn học vụ Hệ thống chatbot được xây dựng với mục đích ban đầu là đáp ứng nhu các yêu cầu cơ bản của một hệ thống tư vấn học vụ cho sinh viên tại Trường Đại học Công nghiệp Thực phẩm Thành phố Hồ Chí Minh hoặc các cơ sở giáo dục đại học. Dựa trên mô hình mạng neuron nhân tạo, mô hình túi từ và ứng dụng mô hình học máy này để xây dựng ứng dụng Chatbot hỏi-đáp. Kết quả thực nghiệm mô hình với tập dữ liệu thực cho thấy phương pháp của bài báo đề xuất là khá hiệu quả. Hệ thống chatbot thực nghiệm hoạt động có hiệu suất đúng như kì vọng. Hệ thống chatbot với dữ líệu huấn luyện kịch bản hội thoại có sẵn, xây dựng giúp chatbot lấy được thông tin/câu hỏi từ phía người dùng. Chatbot xác định câu trả lời giúp người dùng có thể tiếp cận trực quan hơn với những câu hỏi mình muốn tìm kiếm. Cơ chế hoạt động của Chatbot như hình 6. Hình 6. Sơ đồ cơ chế hoạt động ChatBot 1155 Tạp chí Khoa học Trường ĐHSP TPHCM Tập 18, Số 6 (2021): 1146-1160 Chú thích: (1) Người dùng có câu hỏi dạng văn bản cần trả lời (2) Người dùng nhập đoạn câu hỏi trên Chat Client (3) Chatbot gửi đoạn câu hỏi về máy học (4) Sử dụng NLP trích xuất các thông tin cần thiết của người dùng và gửi về cho Chatbot. (5) Yêu cầu dữ liệu câu trả lời từ các thông tin cần thiết đã được xử lí. (6) Dữ liệu câu trả lời được trả về cho Chatbot (7) Chatbot gửi dữ liệu câu trả lời đến Chat Client (8) Chat Client hiển thị câu trả lời cho người dùng. 3. Kết quả và thảo luận 3.1. Kết quả thực nghiệm 3.1.1. Dữ liệu thực nghiệm Giới thiệu bộ dữ liệu: Bộ dữ liệu được thu thập và biên soạn tập dữ liệu từ website sinhvien.hufi.edu.vn của trường đại học công nghiệp thực phẩm bao gồm 286 câu hỏi và 293 câu trả lời liên quan đến các vấn đề như tư vấn học vụ, tham vấn học đường, kĩ năng mềm, chương trình đào tạo, sức khỏe, giáo dục 3.1.2. Môi trường thực nghiệm Để đánh giá hiệu quả của hệ thống chatbot đề xuất, nhóm tác giả cài đặt chương trình bằng ngôn ngữ lập trình Python. Để đảm bảo tính chính xác của chương trình, chương trình được chạy thực nghiệm trên các IDE Spyder3, Pycharm, Visual Studio Code có môi trường là anaconda3. Chương trình có sử dụng thư viện NLTK để thực hiện bước tách từ và biểu diễn các câu hỏi theo mô hình túi từ. Thư viện Scikit-learn được sử dụng để tạo bộ phận lớp KNN. Chương trình huấn luyện mạng nơron nhiều tầng. Thí nghiệm được chạy trên máy tính Acer Aspire 5 với CPU Intel core i5-7200 2.5Ghz 64bit, RAM 8GB, cài đặt hệ điều hành Windows 10. - Cài đặt pycharm, spyder3, visual studio code - Môi trường Anaconda 3 3.1.3. Quá trình thực nghiệm Bước 1. Xử lí dữ liệu văn bản đầu vào Input: Thế nào là các học phần bắt buộc, tự chọn - Tách các từ trong câu thành từng từ đơn sử dụng thuật toán BoW - Sử dụng thư viện nltk để giúp đỡ trong việc xử lí - Bằng các thư viện như nltk.wordtokennize, nltk.stem - Loại bỏ các kí tự không cần thiết - Chuẩn hóa vector. Bước 2. Xử lí phần thuật toán NeuralNet - Sử dụng thư viện của NN để trainning và xác định dữ liệu đầu ra cho bài toán. 1156 Tạp chí Khoa học Trường ĐHSP TPHCM Phạm Nguyễn Huy Phương và tgk Bước 3. Xuất ra output 3.1.4. Kết quả so sánh số liệu giữa BoW và TF-IDF Để đánh giá mô hình BoW với KNN và TF-IDF với KNN, nhóm tác giả có sử dụng các chỉ số: k, Model, Distance Metric, Word Root, Accuracy để so sánh. Bảng 3. Bảng so sánh số liệu thuật toán bow và tfidf [6] K Model Distance Metric Word Root Accuracy 1 BoW Jaccard Lem 64,50% 1 TF-IDF Cosine Lem 69,50% 1 BoW Jaccard Stem 70,50% 1 TF-IDF Cosine Stem 72,00% 5 BoW Jaccard Lem 71,00% 5 TF-IDF Cosine Lem 76,00% 5 BoW Jaccard Stem 70,50% 5 TF-IDF Cosine Stem 75,00% 10 BoW Jaccard Lem 68,00% 10 TF-IDF Cosine Lem 77,50% 10 BoW Jaccard Stem 69,50% 10 TF-IDF Cosine Stem 77,00% Có thể dễ dàng nhận thấy được độ chính xác của giải thuật TF-IDF luôn cao hơn so với giải thuật BoW khi có cùng số k. Trong đó khi k bằng 10 thì giải thuật TF-IDF có độ chính xác cao nhất là 77,50% khi có word root là Lem. 3.1.5. Kết quả so sánh số liệu giữa ANN và KNN 1157 Tạp chí Khoa học Trường ĐHSP TPHCM Tập 18, Số 6 (2021): 1146-1160 Hình 7. Sơ đồ mô hình hệ thống so sánh văn bản tiếng Việt Hình 8. Sơ đồ mô hình huấn luyện phân lớp Để đánh giá mô hình cho bài toán, chúng tôi sử dụng các chỉ số: Accuracy, k với k=10, hidden layer. Bảng 4. So sánh giữa ANN và KNN Các chỉ số ANN KNN Accuracy 83,22% 76,58% Bảng 4 cho thấy thuật toán ANN hoạt động hiệu quả tốt hơn, có độ chính xác cao hơn thuật toán KNN. 3.2. Thảo luận Kết quả thực nghiệm cho chúng ta thấy độ chính xác của ANN hiệu quả hơn so với KNN nhưng vẫn còn có những tình huống mà hệ thống dùng ANN không thể trả lời câu hỏi có độ chính xác chưa cao thì hệ thống sẽ thông báo và lưu về hệ thống chờ quản trị viên cập nhật câu trả lời cho câu hỏi đó. Khi so sánh với thuật toán phân loại văn bản khác nhau như KNN, có thể thấy thuật toán ANN có độ chính xác cao hơn, kết quả thực nghiệm cũng cho kết quả tốt hơn. Kết quả vừa trình bày chưa phải là kết quả tối ưu, nhưng hi vọng rằng đây 1158 Tạp chí Khoa học Trường ĐHSP TPHCM Phạm Nguyễn Huy Phương và tgk sẽ là bước khởi đầu thuận lợi làm tiền đề nghiên cứu để thực hiện những chương trình trả lời tự động văn bản tiếng Việt tốt hơn nữa trong tương lai. 4. Kết luận Trong bài báo này, nhóm tác giả trình bày nội dung tư vấn công tác học vụ tại cơ sở giáo dục đại học bằng phương pháp xây dựng Chatbot trên website trả lời tự động cho sinh viên các câu hỏi liên quan đến học vụ, các vấn đề về kĩ năng sống, môi trường, phương pháp học tập Chatbot tư vấn học vụ được tạo dựa trên tiếp cận sử dụng máy học kết hợp với mô hình BOW và TF-IDF tạo một hệ thống hiệu quả giải quyết kịp thời nhu cầu của sinh viên và giảng viên. Hơn thế nữa, nhóm tác giả đã thu thập và biên soạn tập dữ liệu từ website của Trường Đại học Công nghiệp Thực phẩm Thành phố Hồ Chí Minh bao gồm 40 bộ dữ liệu hơn 286 câu hỏi và 293 câu trả lời khác nhau. Kết quả thực nghiệm cho thấy hệ thống đã có thể trả lời các câu hỏi mà người dùng hỏi với độ chính xác cao nhất là 83,45%. ❖ Tuyên bố về quyền lợi: Các tác giả xác nhận hoàn toàn không có xung đột về quyền lợi. ❖ Lời cảm ơn: Nhóm tác giả cảm ơn Trường Đại học Công nghiệp Thực phẩm Thành phố Hồ Chí Minh đã hỗ trợ thực hiện công trình này. TÀI LIỆU THAM KHẢO Do, T. N. (2017). Giao trình Khai mo du lieu – minh hoa bang ngon ngu R [Data Mining - Illustrated in R language (Textbook)]. Can Tho University Publishing House. Do, T. N., & Pham, N. K. (2013). Phan loai van ban: Mo hinh tui tu va tap hop mo hinh may hoc tu dong [Text classification: a bag of word model and set of automatic machine learning models]. Can Tho Univerisy Journal of Science, 28(2), 9-15. Do, T. N., & Tran, C. D. (2014). Ket hop ngu nghia voi mo hinh tui tu de cai tien thuat giai K lang gieng trong phan lop du lieu ngan [Combining semantic method with bag of word model to improve the K-neighbor algorithm in classifying short data]. Can Tho Univerisy Journal of Science, 32(1), 66-73. Do, T. N., & Hoang, T. (2019). Chatbot cho sinh vien cong nghe thong tin [Chatbot for information technology students]. Proceedings of conference on Fundamental and Applied IT research, Publishing House for Science and Technology. doi: 10.15625/vap.2019.00012. Nguyen, T. N., & Truong, Q. D. (2015). He thong ho tro tuyen sinh dai hoc [A consultancy support system for university entrance test]. Can Tho Univerisy Journal of Science, CNTT (2015), 152-159. Pham, C. V. (2012). Ung dung khai pha du lieu de tu van hoc tap tai truong cao dang kinh te – ki thuat quang nam [Apply data mining to support academic consulting at Quang Nam College Economics and Technology]. Master’s Thesis in Computer Science of The University of Danang, 1-25. 1159 Tạp chí Khoa học Trường ĐHSP TPHCM Tập 18, Số 6 (2021): 1146-1160 A MODEL OF A CONSULTING ASSISTANCE SYSTEM FOR ACADEMIC SERVICE IN HIGHER EDUCATION Pham Nguyen Huy Phuong*, Vu Thanh Nguyen, Nguyen Thi Dieu Hien, Bui Cong Danh Ho Chi Minh City University of Food Industry, Vietnam *Corresponding author: Bui Cong Danh – Email: danhbc@hufi.edu.vn Received: March 15, 2021; Revised: May 17, 2021; Accepted: June 14, 2021 ABSTRACT A chatbot is a computer program or an artificial intelligence software that can interact with users in natural language, automatically simulate a conversation via an interface in the form of a message or sound. In the era of digital transformation, it has created conditions for chatbots to accelerate quickly and create a system of many types of bots similar to the ecosystem in customer care such as providing product information, offering suggestions, inventory management, scheduling, and medical data lookup and healthcare. In this article, we built a chatbot system capable of supporting academic counsulting for students by combining clustering method KNN, neural networks, bag-of-words model, and statistical measure TF-IDF. By combining machine learning and clustering techniques, we built a computational model with a chatbot system to understand and respond to questions related to academic affairs. Keywords: chatbot; KNN; Natural Language; Neural Networks 1160
File đính kèm:
- nghien_cuu_mo_hinh_he_thong_ho_tro_tu_van_cong_tac_hoc_vu_tr.pdf