Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 109 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
109
Dung lượng
11,16 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP NGÀNH KỸ THUẬT DỮ LIỆU XÂY DỰNG HỆ THỐNG CHATBOTCHO TƯ VẤN TUYỂN SINH TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH GVHD: ThS QUÁCH ĐÌNH HỒNG SVTH: NGUYỄN ĐĂNG KHOA NGUYỄN QUANG HÙNG SKL009604 Tp.Hồ Chí Minh, năm 2022 h TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN ĐĂNG KHOA – 18133022 NGUYỄN QUANG HÙNG – 18133016 Đề Tài: XÂY DỰNG HỆ THỐNG CHATBOT CHO TƯ VẤN TUYỂN SINH TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP NGÀNH KỸ THUẬT DỮ LIỆU GIÁO VIÊN HƯỚNG DẪN ThS QCH ĐÌNH HỒNG KHĨA 2018-2022 h TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN ĐĂNG KHOA – 18133022 NGUYỄN QUANG HÙNG – 18133016 Đề Tài: XÂY DỰNG HỆ THỐNG CHATBOT CHO TƯ VẤN TUYỂN SINH TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP NGÀNH KỸ THUẬT DỮ LIỆU GIÁO VIÊN HƯỚNG DẪN ThS QCH ĐÌNH HỒNG KHĨA 2018-2022 h ĐH SƯ PHẠM KỸ THUẬT TP.HCM XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CNTT Độc lập – Tự – Hạnh Phúc ******* ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên Sinh viên 1: Nguyễn Đăng Khoa MSSV 1: 18133022 Họ tên Sinh viên 2: Nguyễn Quang Hùng MSSV 2: 18133016 Ngành: Kỹ thuật liệu Tên đề tài: Xây dựng hệ thống chatbot cho tư vấn tuyển sinh trường Đại học Sư phạm Kỹ thuật TP Hồ Chí Minh Họ tên Giáo viên hướng dẫn: ThS Qch Đình Hồng NHẬN XÉT: Về nội dung đề tài khối lượng thực hiện: ….……………………………………………………………………………………… ……………… ……………………………………………………………………… ………………………………………………………………………………………… Ưu điểm: ….……………………………………………………………………………………… ……………… ……………………………………………………………………… ………………………………………………………………………………………… Khuyết điểm: ….……………………………………………………………………………………… ……………… ……………………………………………………………………… ………………………………………………………………………………………… Đề nghị cho bảo vệ hay khơng? Đánh giá loại: Điểm: Tp Hồ Chí Minh, ngày tháng Giáo viên hướng dẫn (Ký & ghi rõ họ tên) h năm 2022 ĐH SƯ PHẠM KỸ THUẬT TP.HCM XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CNTT Độc lập – Tự – Hạnh Phúc ******* ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên 1: Nguyễn Đăng Khoa MSSV 1: 18133022 Họ tên Sinh viên 2: Nguyễn Quang Hùng MSSV 2: 18133016 Ngành: Kỹ thuật liệu Tên đề tài: Xây dựng hệ thống chatbot cho tư vấn tuyển sinh trường Đại học Sư phạm Kỹ thuật TP Hồ Chí Minh Họ tên Giáo viên phản biện: TS Nguyễn Thành Sơn NHẬN XÉT: Về nội dung đề tài khối lượng thực hiện: ….……………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Ưu điểm: ….……………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Khuyết điểm: ….……………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: Tp Hồ Chí Minh, ngày tháng Giáo viên phản biện (Ký & ghi rõ họ tên) h năm 2022 LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn sâu sắc đến Ban giám hiệu trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh tạo điều kiện, môi trường học tập chất lượng, hiệu để chúng tơi phát huy cách tốt việc nghiên cứu đề tài Đồng thời, xin gửi lời cảm ơn đến Ban chủ nhiệm khoa Công nghệ Thông tin Thầy Cô khoa Công nghệ Thông tin - trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh tạo môi trường học tập làm việc chuyên nghiệp, nhiệt tình giảng dạy để chúng tơi thực tốt đề tài nói riêng sinh viên khoa Cơng nghệ Thơng tin nói chung q trình học tập làm việc trường Đặc biệt, nhóm chúng tơi xin gửi lời cảm ơn chân thành đến Thầy Qch Đình Hồng – giáo viên hướng dẫn khóa luận tốt nghiệp – Khoa Công nghệ Thông tin – trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, hướng dẫn, quan tâm, góp ý ln đồng hành chúng tơi giai đoạn khó khăn đề tài Tuy nhiên hạn chế mặt thời gian, nên đề tài khó tránh khỏi sai sót hạn chế định Kính mong nhận phản hồi, đóng góp ý kiến bảo thêm từ Quý Thầy Cô, để đạt kiến thức hữu ích, nâng cao trình độ để phục vụ cho nghiệp sau Xin chân thành cảm ơn ! h TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA CÔNG NGHỆ THƠNG TIN ĐỀ CƯƠNG KHĨA LUẬN TỐT NGHIỆP Họ tên sinh viên 1: Nguyễn Đăng Khoa MSSV 1: 18133022 Họ tên sinh viên 2: Nguyễn Quang Hùng MSSV 2: 18133016 Thời gian làm luận văn từ 11/03/2022 đến 12/07/2022 Chuyên ngành: Kỹ thuật liệu Tên luận văn: Xây dựng hệ thống chatbot cho tư vấn tuyển sinh trường Đại học Sư phạm Kỹ thuật TP Hồ Chí Minh Họ tên Giáo viên hướng dẫn: ThS Quách Đình Hồng Nhiệm vụ thực hiện: Tìm hiểu mơ hình thuật tốn xử lý chuỗi, xử lý ngơn ngữ tự nhiên Tìm hiểu sở lý thuyết Rasa framework xây dựng ứng dụng tư vấn tuyển sinh trường Đại học Sư phạm Kỹ thuật TP HCM Đề cương viết luận văn: MỤC LỤC PHẦN MỞ ĐẦU Tính cấp thiết đề tài Mục tiêu nhiệm vụ nghiên cứu Cách tiếp cận phương pháp nghiên cứu Kết dự kiến đạt Bố cục khóa luận PHẦN NỘI DUNG Chương 1: Tổng quan machine learning 1.1 Machine learning gì? 1.2 Phân loại Chương 2: Lý thuyết liên quan đến xây dựng chatbot 2.1 Tổng quan mạng neural nhân tạo 2.2 Deep learning gì? h 2.3 Mơ hình ngơn ngữ (language model) 2.4 Recurrent neural network (RNN) 2.5 Word embedding 2.6 Mô hình DIET (Dual Intent and Entity Transformer) Chương 3: Tổng quan hệ thống chatbot 3.1 Tổng quan xử lý ngôn ngữ tự nhiên (NLP) 3.2 Tổng quan chatbot 3.3 Rasa chatbot gì? 3.4 Cấu trúc Rasa chatbot 3.5 Hiểu ngôn ngữ tự nhiên (Natural Language Understanding) 3.6 Quản lý hội thoại (DM) 3.7 Thành phần sinh ngôn ngữ (NLG) 3.8 Nhận dạng giọng nói (STT) 3.9 Chuyển văn thành giọng nói (TTS) 3.10 Cài đặt Rasa chatbot Chương 4: Xây dựng chatbot hỗ trợ tư vấn tuyển sinh 4.1 Bài toán đặt giải pháp 4.2 Các công nghệ sử dụng 4.3 Lập danh sách yêu cầu 4.4 Lập lược đồ user case 4.5 Đặc tả user case 4.6 Xây dựng liệu cho chatbot 4.7 Huấn luyện mơ hình 4.8 Xây dựng giao diện tính 4.9 Kiểm tra đánh giá PHẦN KẾT LUẬN h KẾ HOẠCH THỰC HIỆN Tuần 1+2 Thời gian 11/03-24/03 Nhiệm vụ Sản phẩm dự kiến Tìm hiểu đề tài chatbot công Định hướng kiến thức nghệ xây dựng cơng cụ cần có để xây dựng chatbot 25/03-31/03 Thu thập liệu để huấn luyện Lấy liệu từ phịng tuyển sinh cơng tác sinh viên 4+5 01/04-14/04 15/04-21/04 Lập danh sách yêu cầu Lập bảng nêu rõ yêu cầu chức cần có trang đối tượng Liệt kê web chi tiết user case Thiết kế sở liệu Lập lược đồ sở liệu hoàn chỉnh 22/04-28/04 Thiết kế giao diện Hoàn thành phần giao diện dành cho người dùng cho admin 8+9 29/04-12/05 Hoàn thành ứng dụng chatbot Xây dựng, huấn luyện đưa chatbot lên web 10+11+12 13/05-02/06 Viết báo cáo Tiến hành viết báo cáo 13+14 03/06-16/06 Kiểm tra hệ thống Hoàn thiện sửa lỗi chỉnh sửa hệ thống 15 16 17/06-23/06 24/06-30/06 Chuẩn bị slide thuyết trình Hoàn thiện báo cáo phần hoàn thiện báo cáo thuyết trình Trao đổi với thầy hướng dẫn Có báo cáo sản nội dung cần trình bày buổi phẩm tốt sau bảo vệ khóa luận tốt nghiệp giảng viên hướng dẫn góp ý h Ý kiến giảng viên hướng dẫn Ngày tháng năm 2022 Người viết đề cương (Ký ghi rõ họ tên) ThS QCH ĐÌNH HỒNG NGUYỄN ĐĂNG KHOA NGUYỄN QUANG HÙNG h Hình 58: mơ tả cảnh báo tài khoản không hợp lệ Tiếp theo, đến phần đăng nhập Giao diện phần đăng nhập thể hình 59 sau đây: Hình 59: Giao diện trang đăng nhập Trong hình 59, cần nhập xác tài khoản mật đăng nhập vào trang web Nếu người dùng đăng nhập sai, hệ thống trả thơng báo “Đăng nhập thất bại! vui lịng đăng nhập lại!” Tiếp theo giao diện tùy chọn liên hệ hỗ trợ, thể hình 60 sau đây: 92 h Hình 60: Mơ tả tùy chọn liên hệ hỗ trợ Hình 60 thể cách liên lạc khác để người dùng nắm bắt thơng tin tuyển sinh cách thống kịp thời, để tránh trường hợp khơng có kết ứng tuyển tốt thiếu thông tin tiếp cận Tiếp theo, tìm hiểu đến tùy chọn phương thức xét tuyển Nó mơ tả hình 61 sau đây: 93 h 94 h Hình 61: Mơ tả phương thức xét tuyển Hình 61 mơ tả thơng tin phương thức xét tuyển, hình thức xét tuyển điều kiện xét tuyển thẳng vào trường, q phụ huynh học sinh có thơng tin chi tiết lựa chọn phương thức xét tuyển hợp lý để có kết ứng tuyển mong đợi Tiếp theo, bạn bận việc mà khơng tiện nhập tin nhắn cho chatbot, bạn dùng tùy chọn nhận dạng giọng nói website, giao diện hình 62 sau đây: Hình 62: Giao diện tính hỗ trợ giọng nói Như hình 62 trên, cần nhấn vào nút giọng nói nói thắc mắc thân bot tự nhận diện trả lời sau vài giây Ngồi ra, có dịng thơng báo “User:” Thể nội dung mà bot nhận để chúng tơi kiểm tra xem bot có hiểu ý không “Bot:” Là nội dung mà bot trả lời, giúp chúng xem lại câu trả lời bot trường hợp khơng nghe rõ bot nói Tiếp theo, tìm hiểu mục tùy chọn thống kê Giao diện thể hình 63 sau đây: 95 h 96 h Hình 63: Giao diện mục tùy chọn thống kê Hình 64 thể biểu đồ cột, thể ngành học quan tâm nhiều kênh chat Ngoài ra, tài khoản tài khoản admin giao diện có thêm biểu đồ trịn hình 61 sau đây: Hình 64: Biểu đồ hình trịn thể tương quan câu hỏi bot trả lời khơng trả lời Hình 64 thể biểu đồ hình trịn tương quan câu hỏi bot trả lời không trả lời Từ đó, giúp admin có nhìn tổng quan độ thơng minh bot có chiến lược cải thiện sau Và cuối cùng, giao diện phần khung chat thể hình 65 sau đây: 97 h Hình 65: Mơ tả giao diện phần khung chat Trong hình 65, khung chat bao gồm tên trường “HCMUTE” tên chatbot phía bên Mỗi câu hỏi trả lời khung chat kèm theo thời gian câu hỏi gửi lên khung chat 4.9 KIỂM TRA VÀ ĐÁNH GIÁ 4.9.1 Kiểm tra Rasa framework có hỗ trợ cho kiểm tra chatbot hoạt động với mong muốn hay chưa thông qua lệnh: rasa test Khi chạy lệnh này, báo cáo (intent_report.json), ma trận nhầm lẫn (intent_confusion_matrix.png) biểu đồ độ tin cậy (intent_histogram.png) cho mơ hình phân loại ý định vẽ 98 h Hình 66: Confusion matrix Hình 66 confusion matrix minh họa tần suất mơ hình thực phân loại xác Trên trục hồnh, có intent mà mơ hình dự đốn Trên trục tung, có intent thực tế Khi hai kết nối theo đường chéo xuống lưới, có số lượng dương tính thực phân loại xác Theo ma trận bên trên, ta thấy tỉ lệ dự đốn entity mơ hình cao so với trường hợp dự đoán sai Tuy nhiên lượng liệu lớn, nên confusion matrix khó quan sát Để dễ dàng quan sát xem confusion matrix đơn giản hình 64 99 h Hình 67: Confusion matrix đơn giản Hình 67 confusion matrix đơn giản theo đó, khơng dự đốn sai lần Tuy nhiên, tiến hành test với số lần nhiều hơn, bot có khả dự đốn sai 4.9.2 Đánh giá Để xây dựng nên chatbot thông minh theo yếu tố sau quan trọng: - Thu thập liệu: Một tập liệu đủ nhiều quan trọng q trình huấn luyện chatbot Nó định độ xác câu trả lời mà chatbot đưa độ tin cậy thông tin câu trả lời 100 h - Xây dựng kịch hoại thoại dùng bot: Điều định bot trả lời nhận câu trả lời từ người dùng Mặc dù thu thập liệu tốt, q trình xây dựng kịch diễn khơng thực chu đáo chỉnh chu độ xác câu trả lời chatbot bị ảnh hưởng nghiêm trọng - Ngồi ra, q trình việc xây dựng intent quan trọng, giúp bot tránh sai xót tiếp nhận từ ngữ có nghĩa gần tương tự 101 h Phần KẾT LUẬN 102 h Đóng góp luận văn Về lý thuyết, nhóm tìm hiểu kiến trúc, thành phần chức thành phần chatbot Nhóm tìm hiểu lý thuyết liên quan đến chatbot mơ hình ngơn ngữ, glove, RNN, kỹ thuật Transformer phần mô hình BERT Về ứng dụng, nhóm xây dựng Rasa chatbot kết hợp với trang web tuyển sinh có thêm tính nhận dạng giọng nói, đăng tin, bình luận trả lời bình luận Hạn chế luận văn Về lý thuyết, nhóm chưa hồn tồn nắm rõ hồn tồn mơ hình BERT DIET mà Rasa chatbot sử dụng Về ứng dụng, giao diện hỗ trợ giọng nói chưa thân thiện với người dùng nhóm kỳ vọng Hướng phát triển tương lai Về lý thuyết, nhóm tìm hiểu thêm kiến trúc cách hoạt động mơ hình BERT DIET Rasa Về ứng dụng, nhóm cải thiện ứng dụng tư vấn, tiếp nhận giọng nói cho chatbot cải thiện mức độ thân thiện với người dùng 103 h TÀI LIỆU THAM KHẢO [1] “Machine learning gì?”, TopDev, 30-Sep-2021 [Online] Available: https://topdev.vn/blog/machine-learning-la-gi [Accessed: 08-Jan-2022] [2] “Mạng thần kinh nhân tạo”, Wikipedia tiếng Việt [Online] Available: https://vi.wikipedia.org/wiki/Mạng_thần_kinh_nhân_tạo [Accessed: 08-Jan-2022] [3] “Artificial neural network”, Wikipedia, 08-Jan-2022 [Online] Available: https://en.wikipedia.org/wiki/Artificial_neural_network [Accessed: 08-Jan-2022] [4] “Học sâu”, Wikipedia, 15-May-2021 [Online] Available: https://vi.wikipedia.org/wiki/Học_sâu [Accessed: 08-Jan-2022] [5] IBM Cloud Education, “What is Deep Learning?”, IBM [Online] Available: https://www.ibm.com/cloud/learn/deep-learning [Accessed: 08-Jan-2022] [6] “Language model”, Wikipedia, 11-Dec-2021 [Online] Available: https://en.wikipedia.org/wiki/Language_model [Accessed: 08-Jan-2022] [7] Đoàn Võ Duy Thanh, Nguyễn Văn Quang, Lê Khắc Hồng Phúc, Phạm Hồng Vinh, Phạm Minh Đức Nguyễn Văn Cường, “Mạng nơ-ron Hồi tiếp”, Đắm vào Học Sâu [Online] Available: https://d2l.aivivn.com/chapter_recurrent-neural-networks/rnn_vn.html [Accessed: 08-Jan-2022] [8] Đỗ Minh Hải, “[RNN] RNN gì?”, Hai's Blog [Online] Available: https://dominhhai.github.io/vi/2017/10/what-is-rnn/ [Accessed: 08-Jan-2022] [9] “Mạng neural hồi quy cheatsheet Star”, Stanford [Online] Available: https://stanford.edu/~shervine/l/vi/teaching/cs-230/cheatsheet-recurrent-neural-networks [Accessed: 08-Jan-2022] [10] “Understanding LSTM Networks”, colah's blog [Online] Available: https://colah.github.io/posts/2015-08-Understanding-LSTMs/ [Accessed: 08-Jan-2022] [11] J Pennington, “GloVe: Global Vectors for Word Representation” [Online] Available: https://nlp.stanford.edu/projects/glove/ [Accessed: 08-Jan-2022] [12] Phạm Đình Khánh, “Khoa học liệu”, Khanh's blog [Online] Available: https://phamdinhkhanh.github.io/2020/05/23/BERTModel.html#141-tiếp-cận-nông-shallow-approach [Accessed: 08-Jan-2022] [13] R Ong, “Day 101 of #NLP365: In-Depth Study Of RASA's DIET Architecture”, Medium, 13Apr-2020 [Online] Available: https://towardsdatascience.com/day-101-of-nlp365-in-depth-study-ofRasas-diet-architecture-3cdc10601599 [Accessed: 08-Jan-2022] [14] “Xử lý ngơn ngữ tự nhiên: Cơng nghệ giúp máy tính hiểu giao tiếp với người”, FPT Digital, 03-Dec-2021 [Online] Available: https://digital.fpt.com.vn/nghien-cuu-noi-bat/xu-ly-ngonngu-tu-nhien.html [Accessed: 08-Jan-2022] 104 h [15] Mắt Bão, “Chatbot gì? Ứng dụng thực tế Chatbot kinh doanh”, MATBAO.NET, 27Dec-2021 [Online] Available: https://wiki.matbao.net/chatbot-la-gi-ung-dung-thuc-te-cua-chatbottrong-kinh-doanh/#chatbot-la-gi [Accessed: 08-Jan-2022] [16] Big Mr, “Có thể phân loại Chatbot nào?”, Cộng Đồng Chat Bot [Online] Available: https://congdongchatbot.com/co-the-phan-loai-chatbot-nhu-the-nao/ [Accessed: 08-Jan-2022] [17] B T N Mai, “Tổng quan Rasa Chatbot”, Mentor of developer, 23-Aug-2021 [Online] Available: https://mentorofdev.com/2021/08/19/tong-quan-ve-Rasa-chatbot [Accessed: 08-Jan-2022] [18] M Pethani, “Making of Chatbot using Rasa NLU & Rasa Core-Part 1”, Medium, 13-Nov-2019 [Online] Available: https://chatbotslife.com/making-of-chatbot-using-Rasa-nlu-Rasa-core-part-17138c438581f [Accessed: 08-Jan-2022] [19] B T Tung, “Rasa core - Khi Nào Thì Cần Thiết???”, Viblo, 10-Jul-2022 [Online] Available: https://viblo.asia/p/rasa-core-khi-nao-thi-can-thiet-bWrZn7Qmlxw [Accessed: 11-Jul-2022] [20] Jay Selig, “Natural Language Understanding: What is it and How is it Different from NLP?”, Expert.ai, 24-Nov-2021 [Online] Available: expert.ai/blog/natural-language-understandingdifferent-nlp/ [Accessed: 08-Jan-2022] [21] C S Dasagrandhi, “Chatbot Development: Designing Dialog Management”, V-soft consulting [Online] Available: https://blog.vsoftconsulting.com/blog/chatbot-development-designing-dialogmanagement [Accessed: 08-Jan-2022] [22] “Natural language generation,” Wikipedia, 12-Dec-2021 [Online] Available: https://en.wikipedia.org/wiki/Natural_language_generation#Stages [Accessed: 08-Jan-2022] [23] B Lutkevich and K Kiwak, “What is speech recognition?”, SearchCustomerExperience, 13-Sep2021 [Online] Available: https://www.techtarget.com/searchcustomerexperience/definition/speechrecognition [Accessed: 10-Jul-2022] [24] D Subramanian, “Easy text-to-speech with python,” KDnuggets [Online] Available: https://www.kdnuggets.com/2020/05/easy-text-speech-python.html [Accessed: 10-Jul-2022] [25] “Installation,” RASA, 07-Jan-2022 [Online] Available: https://rasa.com/docs/rasa/installation/ [Accessed: 08-Jan-2022] [26] “Actions”, RASA, 23-Jun-2022 [Online] Available: https://rasa.com/docs/action-server/sdkactions/ [Accessed: 11-Jul-2022] 105 h S h K L 0