Nghiên cứu và ứng dụng mạng nơ ron hồi quy trong xử lý ngôn ngữ tự nhiên Nghiên cứu và ứng dụng mạng nơ ron hồi quy trong xử lý ngôn ngữ tự nhiên Nghiên cứu và ứng dụng mạng nơ ron hồi quy trong xử lý ngôn ngữ tự nhiên Nghiên cứu và ứng dụng mạng nơ ron hồi quy trong xử lý ngôn ngữ tự nhiên Nghiên cứu và ứng dụng mạng nơ ron hồi quy trong xử lý ngôn ngữ tự nhiên
TÓM TẮT Ngay này, kỹ thuật học sâu ứng dụng thu kết vượt trội lĩnh vực thị giác máy tính xử lý ngơn ngữ tự nhiên Các hệ thống thông minh ứng dụng mạng sâu (deep neural network) hỗ trợ công việc thay cho người ngày phổ biến Đặc điểm công ngành công nghiệp 4.0 xuất robot ứng dụng trí tuệ nhân tạo Nắm bắt xu hướng đó, học viên đã nghiên cứu triển khai ứng dụng mạng nơ-ron hồi quy, dạng mạng học sâu xử lý ngôn ngữ tự nhiên Mơ hình mạng nơ-ron hồi quy sử dụng mạng LSTM thiết kế để thực mơ hình chuyển đổi chuỗi sang chuỗi xử lý ngơn ngữ tự nhiên Mơ hình thực việc nhận chuỗi trả lời lại chuỗi mà đã huấn luyện, mơ hình phổ biến áp dụng trợ lý ảo Ứng dụng mạng nơ-ron hồi quy triển khai hệ thống nhúng Raspberry Pi cho robot Robot huấn luyện với nội dung bao gồm câu hỏi câu trả lời cho môn học cụ thể Robot có khả trả lời câu hỏi liên quan đến kiến thức mà huấn luyện nhận dạng Để robot có khả giao tiếp, hệ thống thiết kế sử dụng thêm khối chuyển đổi từ giọng nói sang văn Kết thực mơ hình chạy ổn định phần cứng Raspberry Mạng nơ-ron hồi quy huấn luyện có khả trả lời câu hỏi liên quan nội dung đã huấn luyện, mơ hình đạt độ xác 87,2% Kết cho thấy mạng nơ-ron hồi quy ứng dụng hiệu kỹ thuật xử lý ngôn ngữ tự nhiên Từ khóa: Robot trợ lý giảng dạy; Xử lý ngôn ngữ tự nhiên; Mạng long short-term memory; Machine learning; Xử lý giọng nói ABSTRACT Nowadays, deep learning techniques are applied and obtained superior results in the field of computer vision and natural language processing Smart systems that use deep neural networks to support alternative jobs for people are increasingly popular The characteristic of Industry 4.0 is the appearance of robots that use xii artificial intelligence Understanding this trend, students have researched and implemented the application of regression neural network, a form of deep learning network in natural language processing The regression neural network model which uses the LSTM network is designed to implement a sequence to sequence conversion model in natural language processing Model of receiving a sequence and responding to a sequence for which it has been trained, this is a common model applied in virtual assistants Regression neural network application is deployed on Raspberry Pi embedded system for robots Robots are trained with content that includes questions and answers for a specific subject The robot is able to answer questions related to the knowledge that it is trained to identify In order for robots to be able to communicate, the system is designed to use additional blocks of conversion from voice to text The result of the model runs stably on Raspberry hardware The regression neural network is trained and able to answer the questions related to the trained content, the model reaches 87.2% accuracy The results show that the regression neural network is effectively applied in natural language processing technology Keywords: Assistant robots, Natural language processing, Long Short-Term Memory Network, Machine learning, Speech processing xiii MỤC LỤC Trang tựa TRANG Quyết định giao đề tài i Biên chấm luận văn tốt nghiệp iii Nhận xét phản biện iv Lý lịch cá nhân ix Lời cam đoan x Cảm tạ xi Tóm tắt xii Mục lục xiv Danh sách chữ viết tắt xvi Danh sách bảng xvii Danh sách hình xviii CHƯƠNG 1: GIỚI THIÊU CHUNG 21 1.1 Đặt vấn đề 21 1.2 Mục tiêu đề tài 21 CHƯƠNG 2: TỔNG QUAN 23 2.1 Định nghĩa xử lý ngôn ngữ tự nhiên 23 2.2 Một vài ứng dụng xử lý ngôn ngữ tự nhiên Tiếng việt 23 2.2.1 Ứng dụng giám sát mạng xã hội 23 2.2.2 Chatbot 24 2.2.3 Tổng đài tự động (ACC) 25 2.2.4 Một vài hướng nghiên cứu 25 CHƯƠNG 3: MẠNG NƠ-RON HỒI QUY ỨNG DỤNG TRONG XỬ LÝ NGÔN NGỮ TỰ NHIÊN 31 3.1 Lý thuyết mạng nơ-ron 31 3.1.1 Mạng nơ-ron nhân tạo ANN 31 3.1.2 Mạng nơ-ron hồi quy RNN 33 3.1.3 Mạng Long Short-Term Memory LSTM 35 3.2 Phương pháp học chuỗi Seq2seq 41 3.3 Ngôn ngữ lập trình Python 47 3.3.1 Ngôn ngữ lập trình Python 47 3.3.2 Thư viện Tensorflow 49 3.3.3 Thư viện Keras 51 CHƯƠNG 4: TRIỂN KHAI ỨNG DỤNG MẠNG NƠ-RON HỒI QUY TRÊN PHẦN CỨNG HỆ THỐNG NHÚNG 53 4.1 Sơ đồ khối, lưu đồ giải thuật 53 4.1.1 Chuyển hóa giọng nói thành văn 55 4.1.2 Tiền xử lý văn 57 xiv 4.1.3 Quá trình huấn luyện 62 4.1.4 Chuyển văn thành giọng nói 66 4.1.5 Sơ đồ khối dạng mơ hình 67 4.2 Thiết bị 68 4.2.1 Board Raspberry Pi 68 4.2.4 Màn hình HMI 70 4.3 Thiết kế thi công 71 4.3.1 Mơ hình, sơ đồ kết nối 71 4.3.2 Cài đặt USB Sound Card 72 CHƯƠNG 5: KẾT QUẢ THỰC HIỆN 79 CHƯƠNG 6: KẾT LUẬN 90 TÀI LIỆU THAM KHẢO 91 xv DANH MỤC CÁC TỪ VIẾT TẮT NLP Natural Language Processing NLU Natural Language Understanding NER Named-entity recognition VUI Voice User Interface GUI Graphic User Interface POS Part-of-speech tagging XLNNTN Xử lý ngôn ngữ tự nhiên MD Modal Verb ANN Artificial Neural Network RNN Recurrent Neural Network LSTM Long Short Term Memory PE Processing Elements CPU Central Processing Unit GPU Graphics Processing Unit RAM Random Access Memory GPIO General Purpose Input/Output HDMI High-Definition Multimedia Interface HMI Human-Machine-Interface HDH Hệ điều hành IOT Internet of Things RPI Raspberry Pi OSMC Open-Source Media Center Openelec Open Embedded Linux Entertainment Center xvi DANH MỤC CÁC BẢNG Bảng Đánh giá Model LSTM 87 xvii DANH MỤC CÁC HÌNH Hình 3.1 Kiến trúc mạng nơ-ron nhân tạo ANN 31 Hình 3.2 Q trình xử lý thơng tin nơ-ron j mạng ANN .32 Hình 3.3 Q trình xử lý thơng tin mạng RNN 34 Hình 3.4 RNN phụ thuộc short-term .36 Hình 3.5 RNN phụ thuộc long-term 37 Hình 3.6 Các module lặp mạng RNN chứa layer 38 Hình 3.7 Các mơ-đun lặp mạng LSTM chứa bốn layer 38 Hình 3.8 Cell state LSTM giống băng truyền 39 Hình 3.9 Cổng trạng thái LSTM 39 Hình 3.10 LSTM focus f 40 Hình 3.11 LSTM focus i 40 Hình 3.12 LSTM focus c .41 Hình 3.13 LSTM focus o .41 Hình 3.14 Mơ hình chuỗi liên tiếp Seq2Seq 43 Hình 3.15 Mơ hình đối thoại seq2seq 44 Hình 3.16 Bộ mã hóa giải mã seq2seq 45 Hình 3.17 Lịch sử hình thành Deep Learning từ 1940 đến 51 Hình 4.1 Sơ đồ khối tổng quát hệ thống 53 Hình 4.2 Lưu đồ giải thuật toàn hệ thống 54 Hình 4.3 Lưu đồ giải thuật chương trình Answer 55 Hình 4.4 Chuyển đổi giọng nói thành văn 55 Hình 4.5 Sơ đồ khối tiền xử lý văn 57 Hình 4.6 Đồ thị biểu diễn hàm sigmoid .63 Hình 4.7 Đồ thị biểu diễn tối ưu trọng số w1, w2 64 Hình 4.8 Đồ thị biểu diễn hàm Tanh .64 Hình 4.9 Đồ thị biểu diễn hàm ReLu 65 Hình 4.10 Đồ thị biểu diễn hàm LeakyReLU 66 Hình 4.11 Chuyển đổi văn thành giọng nói 67 Hình 4.12 Sơ đồ khối Retrieval-Based 67 xviii Hình 4.13 Sơ đồ khối Generative models 68 Hình 4.14 Sơ đồ khối Raspberry Pi .69 Hình 4.15 Board Raspberry Pi B+ 69 Hình 4.16 Mặt trước hình HMI LCD B+ .70 Hình 4.17 Sơ đồ khối thiết bị kết nối 71 Hình 4.18 Sơ đồ kết nối thiết bị 72 Hình 4.19 Hiển thị thiết bị kết nối qua USB 72 Hình 4.20 Kiểm tra card, device kết nối âm 73 Hình 4.21 Thiết lập cấu hình kết nối Sound 73 Hình 4.22 Sơ đồ bố trí linh kiện Proteus 74 Hình 4.23 Mạch điều khiển thiết bị NodeMCU ESP8266 75 Hình 4.24 Mạch điều khiển thiết bị 76 Hình 4.25 Chi tiết phần đầu 77 Hình 4.26 Chi tiết phần mặt 77 Hình 4.27 Chi tiết phần thân 78 Hình 4.28 Bản vẽ hồn chỉnh Robot 78 Hình 5.1 Thu thập dữ liệu qua Website 79 Hình 5.2 Dữ liệu lưu với định dạng JSON 80 Hình 5.3 Sơ đồ mã hóa sinh từ 80 Hình 5.4 Cấu trúc mạng LSTM thiết lập python 81 Hình 5.5 Kết train với epoch=100 81 Hình 5.6 Đồ thị accuracy với epoch=100 82 Hình 5.7 Đồ thị loss với epoch=100 82 Hình 5.8 Kết train với epoch=500 83 Hình 5.9 Đồ thị Accuracy với epoch=500 .83 Hình 5.10 Đồ thị Loss với epoch=500 84 Hình 5.11 Kết train với epoch=1500 84 Hình 5.12 Đồ thị Accuracy với epoch=1500 85 Hình 5.13 Đồ thị Loss với epoch=1500 85 Hình 5.14 Kết train với epoch=3000 86 Hình 5.15 Đồ thị Accuracy với epoch=3000 86 xix Hình 5.16 Đồ thị Loss với epoch=3000 87 Hình 5.17 Q trình mơ hình sinh từ .88 Hình 5.18 Kết mơ hình sinh từ LSTM 88 Hình 5.19 Mơ hình hồn thiện Robot 89 xx Tên đề tài: NGHIÊN CỨU VÀ ỨNG DỤNG MẠNG NƠ-RON HỒI QUY TRONG XỬ LÝ NGÔN NGỮ TỰ NHIÊN CHƯƠNG 1: GIỚI THIÊU CHUNG 1.1 Đặt vấn đề Đầu tiên cần phải nhắc đến cách mạng cơng nghiệp giới, đã trãi qua cách mạng lớn: động nước, động đốt trong, kỹ thuật số Và cách mạng công nghiệp lần đánh dấu những cơng nghệ mang tính đột phá: robotics, trí thơng minh nhân tạo, cơng nghệ nano, cơng nghệ sinh học, in 3D… Trong lĩnh vực trí tuệ nhân tạo đã ông chủ lớn như: Google, Facebook… nghiên cứu phát triển mạnh mẽ Việc sử dụng ngơn ngữ giọng nói để tìm kiếm thơng tin sử dụng ngơn ngữ nói để hỏi đáp cho thiết bị điều khiển, robot đã khơng cịn vấn đề xa lạ hãng nước lớn nay, nhược điểm phần mềm hỗ trợ cho ngơn ngữ tiếng việt, mà đã làm cho ngôn ngữ Tiếng Việt bị hạn chế phát triển so với ngôn ngữ khác, đa phần phần mềm phát triển dành cho ngơn ngữ nước ngồi chủ yếu ngôn ngữ Tiếng Anh Nội dung luận văn tập trung vào nghiên cứu mạng nơ-ron hồi quy, có khả xử lý ngơn ngữ tiếng việt Mơ hình thiết kế theo dạng chuỗi – sang – chuỗi ứng dụng cho robot trợ lý 1.2 Mục tiêu đề tài - Nghiên cứu mạng nơ-ron hồi quy, nghiên cứu mơ hình LSTM - Thiết kế ứng dụng mạng nơ-ron hồi quy xử lý ngôn ngữ tự nhiên, thực mơ hình chuỗi – chuỗi ứng dụng trợ lý ảo - Thực thi ứng dụng tảng hệ thống nhúng Raspberry Pi 21 Hình 5.19 Mơ hình hồn thiện Robot Kết thực nghiệm thử nghiệm với 100 câu hỏi, câu hỏi nhận dạng sai robot trả lời sai Nếu câu hỏi nhận dạng robot trả lời kịch đã huấn luyện Trong điều kiện phịng thí nghiệm khơng có nhiễu tiếng ồn, kết thử nghiệm lần, lần thực nghiệm 100 câu hỏi với giọng khác Kết cho thấy mơ hình đạt độ xác lên đến 87.2 % 89 CHƯƠNG 6: KẾT LUẬN Đề tài đã nghiên cứu phát triển thành cơng mơ hình robot trợ lý giảng dạy, robot hiểu xử lý câu hỏi mà người dùng đưa ra, nhờ sử dụng mạng nơron hồi quy mà cụ thể sử dụng thuật toán Long Short-Term Memory Giải thuật sử dụng phương pháp xử lý chuỗi sang chuỗi, giải vấn đề khơng có tập dữ liệu thuật tốn sinh câu trả lời tự động Thuật toán trình xử lý cài đặt bo nhúng Raspberry Pi, kết thí nghiệm cho thấy độ xác mơ hình đạt 87.2% Hạn chế nghiên cứu robot tự động sinh câu trả lời nên vài trường hợp dẫn đến lỗi sai cú pháp trình xử lý Ứng dụng xử lý cho ngôn ngữ tiếng việt, trình nhận dạng giọng nói chuyển sang văn khâu xử lý bị sai lệch thơng tin ảnh hưởng ngôn ngữ vùng miền, dẫn đến kết phán đoán sai theo Hướng phát triễn tới luận văn tạo môi trường thu thập dữ liệu bảo mật, cập nhật đa dạng nguồn dữ liệu Nâng cấp thêm tính cho robot như: cấu di chuyển, xử lý ảnh nhận dạng khuôn mặt người 90 TÀI LIỆU THAM KHẢO [1] B Setiaji and F W Wibowo, “Chatbot Using a Knowledge in Database: Human-toMachine Conversation Modeling”, in 2016 7th International Conference on Intelligent Systems, Modelling and Simulation (ISMS), 2016, pp 72–77 [2] Q Zhan, L Zhang, H Deng and X Xie, “An Improved LSTM For Language Identification”, 2018 14th IEEE International Conference on Signal Processing (ICSP), Beijing, China, 2018, pp 609-612 [3] S Zhang, S Liu and M Liu, “Natural language inference using LSTM model with sentence fusion”, 2017 36th Chinese Control Conference (CCC), Dalian, 2017, pp 1108111085 [4] G Boza-Quispe, J Montalvan-Figueroa, J Rosales-Huamaní and F Puente-Mansilla, “A friendly speech user interface based on Google cloud platform to access a tourism semantic website”, 2017 CHILEAN Conference on Electrical, Electronics Engineering, Information and Communication Technologies (CHILECON), Pucon, 2017, pp 1-4 [5] Development of collective assistant teaching for r-learning in a kindergarten [6] S J du Preez, M Lall and S Sinha, “An intelligent web-based voice chat bot”, IEEE EUROCON 2009, St.-Petersburg, 2009, pp 386-391 [7] A Mondal, M Dey, D Das, S Nagpal, and K Garda, “Chatbot: An automated conversation system for the educational domain”, in 2018 International Joint Symposium on Artificial Intelligence and Natural Language Processing (iSAI-NLP), 2018, pp 1–5 [8] M Bates, “Health Care Chatbots Are Here to Help”, IEEE Pulse, vol 10, no 3, pp 12– 14, May 2019 [9] D Madhu, C J N Jain, E Sebastain, S Shaji, and A Ajayakumar, “A novel approach for medical assistance using trained chatbot”, in 2017 International Conference on Inventive Communication and Computational Technologies (ICICCT), 2017, pp 243–246 [10] G M D’silva, S Thakare, S More, and J Kuriakose, “Real world smart chatbot for customer care using a software as a service (SaaS) architecture”, in 2017 International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC), 2017, pp 658–664 [11] B R Ranoliya, N Raghuwanshi and S Singh, “Chatbot for university related FAQs”, 2017 International Conference on Advances in Computing, Communications and Informatics (ICACCI), Udupi, 2017, pp 1525-1530 [12] J Liu and B Zhu, “An intelligent personal assistant robot: BoBi secretary”, 2017 2nd International Conference on Advanced Robotics and Mechatronics (ICARM), Hefei, 2017, pp 402-407 [13] J Han et al., “A trial English class with a teaching assistant robot in elementary school”, 2010 5th ACM/IEEE International Conference on Human-Robot Interaction (HRI), Osaka, 2010, pp 335-335 [14] S Konstantinidis, "Computing the Levenshtein distance of a regular language," IEEE Information Theory Workshop, 2005., Rotorua, 2005, pp pp.-, doi: 10.1109/ITW.2005.1531868 91 [15] T Liu, T Wu, M Wang, M Fu, J Kang and H Zhang, "Recurrent Neural Networks based on LSTM for Predicting Geomagnetic Field," 2018 IEEE International Conference on Aerospace Electronics and Remote Sensing Technology (ICARES), Bali, 2018, pp 1-5, doi: 10.1109/ICARES.2018.8547087 92 THIẾT KẾ ROBOT TRỢ LÝ GIẢNG DẠY GIAO TIẾP BẰNG GIỌNG NÓI DESIGN OF VOICE COMMUNICATION-BASED TEACHING ASSISTANT ROBOT Đồn Huỳnh Cơng Sơn, Trương Ngọc Sơn Trường Đại học Sư phạm Kỹ thuật TP.HCM TĨM TẮT Nghiên cứu trình bày thiết kế kiểm nghiệm thử Robot trợ lý giảng dạy hoạt động trợ lý ảo có khả giao tiếp giọng nói, khơng cần kết nối mạng trợ lý ảo sử dụng mã nguồn mở Pocketsphinx để nhận dạng giọng nói Nghiên cứu sử dụng khối hiệu chỉnh đặt sau Pocketsphinx để nâng cao độ xác cho khối nhận dạng giọng nói Phần lõi xử lý ngơn ngữ tự nhiên sử dụng mạng LSTM cho phép đưa câu trả lời phù hợp mà mạng đã huấn luyện Chương trình cài đặt phần cứng nhúng Raspberry Pi Zero có mức tiêu tốn lượng thấp Kết kiểm thử đánh giá cho thấy, khơng sử dụng khối hiệu chỉnh robot có khả nhận dạng trả lời câu hỏi với tỷ lệ xác 62.5% hiệu suất tăng lên đáng kể 87.2% sử dụng khối hiệu chỉnh Từ khóa: Robot trợ lý giảng dạy; Xử lý ngơn ngữ tự nhiên; Mạng Long short-term memory; Nhận dạng giọng nói ABSTRACT This study presents a design and testing of a teaching assistant robot that works as a virtual assistant being capable voice communication with human Robot can work without connecting to the network, the open source Pocketsphinx is employed for speech recognition The Pocketsphinx module is followed by a correction module to improve the accuracy The Long Short-Term Memory is utilized for natural language processing unit that produces the answers The model is deployed on the low-cost embedded board, Raspberry Pi Zero The evaluation was performed with and without using the proposed correction module The accuracy is 62.5% when using Pocketsphinx without the proposed correction module With the proposed correction module, the robot improved the identifying and answering questions capacities to 87.2% of accuracy Keywords: Assistant robots, Natural language processing, Long Short-Term Memory Network, Machine learning, Speech processing GIỚI THIỆU Trong những năm gần đây, ngành khoa học trí tuệ nhân tạo phát triển mạnh mẽ tạo nhiều ứng dụng hữu ích nhiều mặt sống Một ứng dụng khoa học trí tuệ nhân tạo trợ lý ảo Các trợ lý ảo hay biết đến với tên gọi Chatbot phần mềm dựa trí tuệ nhân tạo huấn luyện với lượng kiến thức lĩnh vực có khả đưa câu trả lời nhận câu hỏi [1] Các Chatbot ứng dụng rộng rãi lĩnh vực kinh doanh, chăm sóc sức khỏe giáo dục [2]-[6] Các Chatbot dừng lại việc nhận trả lời câu hỏi thông qua chế độ giao tiếp văn (text-based interface) Các Chatbot kết nối thêm mơ đun nhận dạng giọng nói tạo Robot có khả giao tiếp trả lời câu hỏi từ người dùng [7]-[10] Các Robot thiết kế có khả giao tiếp sử dụng hỗ trợ cho việc giảng dạy [9], [10] Phần cốt lõi robot trợ lý kỹ thuật nhận dạng giọng nói xử lý ngơn ngữ tự nhiên, nhận dạng giọng nói đóng vai trị cốt yếu đến độ xác robot Phần lớn robot trợ lý thiết bị điều khiển thiết bị giọng nói sử dụng cơng cụ nhận dạng giọng nói Google (Google Cloud Speech API) cho độ xác cao tốc độ đáp ứng nhanh [11] Tuy nhiên, sử dụng dịch vụ từ Google đòi hỏi hệ thống phải kết nối internet liên tục đường truyền phải đảm bảo mặt tốc độ Để thiết kế Robot trợ lý có khả giao tiếp giọng nói hoạt động độc lập khơng cần phải kết nối mạng, việc lựa chọn công cụ nhận dạng giọng nói cần thiết Các mơ đun nhận dạng giọng nói phát triển dựa mạng học sâu Tuy nhiên, việc huấn luyện mạng học sâu địi hỏi phải có tập dữ liệu huấn luyện lớn mạng học sâu không hiệu triển khai hệ thống nhúng Raspberry cho robot di động Pocketdphinx mô đun nhận dạng giọng nói mã nguồn mở phát triển phù hợp cho hệ thống có tài nguyên giới hạn [12] Nhận dạng giọng nói sử dụng mơ đun pocketsphinx có khả hoạt động độc lập không cần kết nối mạng internet, nhiên, độ xác thấp so với công cụ Google Để tăng độ xác, thiết kế này, tác giả kết hợp mơ đun Pocketsphinx để nhận dạng giọng nói giải thuật tìm kiếm tương quan dựa khoảng cách Levenshtein để hiệu chỉnh lỗi Phương pháp đề xuất cho phép tăng độ xác mơ đun nhận dạng giọng nói Mơ đun xử lý ngơn ngữ tự nhiên để lựa chọn câu trả lời sử dụng mạng nơ-ron hồi quy cải tiến (mạng LSTM) Robot thiết kế để hỗ trợ giảng dạy huấn luyện với kiến thức mơn học Robot có khả trả lời câu hỏi từ người học nội dung môn học mà Robot huấn luyện THIẾT KẾ ROBOT TRỢ LÝ GIẢNG DẠY Robot trợ lý giảng dạy phát triển mơ hình trợ lý ảo (chatbot) Tuy nhiên, khác với chatbot có khả giao tiếp với người dùng qua chế độ văn (text), Robot trợ lý giảng dạy giao tiếp qua ngôn ngữ Robot huấn luyện với nội dung mơn học kỹ thuật có khả trả lời câu hỏi liên quan đến môn học Để thiết kế robot trợ lý giảng dạy, tác giả chọn mơn học ngơn ngữ lập trình, môn học sở dạy nhiều trường kỹ thuật Sơ đồ khối hệ thống điều khiển robot trình bày hình Giọng nói Chuyển đổi giọng nói sang văn Pocketsphinx Khối hiệu chỉnh Mạng LSTM Chuyển đổi văn Giọng nói sang giọng nói Tập sở dữ liệu câu hỏi Hình Sơ đồ khối hệ thống điều khiển Đặc điểm quan trọng thiết kế Robot hồn tồn hoạt động độc lập mà không cần kết nối internet (offline) Mơ đun nhận dạng giọng nói sử dụng thư viện mã nguồn mở, Pocketsphinx, cho phép chuyển đổi từ giọng nói sang văn (speech to text) có khả hoạt động offline Để tăng độ xác, tác giả đề xuất thêm khối hiệu chỉnh độ xác kết nối sau ngõ Pocketsphinx, thể hình Hạn chế mơ đun Pocketsphinx cho độ xác so với công cụ hoạt động trực tuyến (online) Google Speech Recogntion API [13] Khối hiệu chỉnh lập trình ngơn ngữ Python, sử dụng thuật tốn khoảng cách Levenshtein Thuật tốn khoảng cách Levenshtein cho phép tính độ giống giữa chuỗi [14] Kết nhận dạng từ Pocketsphinx câu hỏi dạng chuỗi, câu hỏi đưa sang khối hiệu chỉnh Tại khối hiệu chỉnh, độ giống câu hỏi câu hỏi mẫu tập huấn luyện tính dựa thuật tốn khoảng cách Levenshtein để tìm xem câu hỏi tập câu hỏi mẫu có độ giống với câu hỏi nhận lớn Khi xác định độ giống lớn nhất, câu hỏi có độ giống lớn với câu hỏi nhận từ Pocketsphinx lựa chọn đưa sang khối Khối hiệu chỉnh giúp nâng cao độ xác khối nhận dạng tiếng nói đáng kể Bảng trình bày ví dụ hoạt động khối hiệu chỉnh khối pocketsphinx nhận câu hỏi chuyển sang văn Bảng 1: Hoạt động khối hiệu chỉnh với câu nhận từ Pocketsphinx Pocketsphinx What the function be since Câu hỏi mẫu What is a function in C Độ giống với câu hỏi mẫu 0.593 Câu hỏi mẫu What is a variable in C Độ giống với câu hỏi mẫu 0.407 Lựa chọn ngõ What is a function in C Hoạt động khối hiệu chỉnh ví dụ minh họa bảng Khi khối Pocketsphinx nhận dạng giọng nói, kết nhận dạng chuyển sang văn (text) chuyển sang khối hiệu chỉnh Tại khối hiệu chỉnh tính độ giống giữa câu hỏi câu hỏi mẫu lưu sở dữ liệu sử dụng thuật toán Levenshtein chọn câu hỏi giống từ sở dữ liệu Khối xử lý ngôn ngữ tự nhiên sử dụng mạng Long Short-Term Memory, dạng cải tiến mạng hồi quy (Recurrent Neural Network) LSTM cho phép nhận dạng đối tượng theo thứ tự thời gian, phù hợp với ứng dụng mà ngõ vào có ràng buộc mặt thứ tự chuỗi LSTM ứng dụng nhiều kỹ thuật xử lý ngôn ngữ tự nhiên [15], [16] Nhược điểm mạng hồi quy giá trị lỗi có xu hướng nhỏ dần lan truyền qua nhiều lớp mạng làm cho q trình cập nhật trọng số khơng hiệu trình huấn luyện Mạng LSTM cải tiến để khắc phục nhược điểm mạng hồi quy [15] Một lớp mạng LSTM thể hình Hình lớp mạng LSTM Mạng LSTM có khả giữ lại lọc bỏ thông tin không cần thiết thông qua cổng Gate, kết hợp giữa phép nhân tầng Sigmoid để sàng lọc thông tin Hàm sigmoid cho kết nằm khoảng [0,1], đầu loại bỏ thơng tin đó, cho tất thơng tin qua Đầu tiên thông tin qua tầng hay gọi tầng forget gate layer, thông tin giữ lại loại bỏ tùy thuộc vào kết tầng sigmoid 𝑓𝑡 = 𝜎(𝑊𝑓 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑓 ) (1) Tiếp bước kiểm tra thơng tin mới, xem thông tin lưu vào trạng thái tế bào Ct-1 Ở bước ta sử dụng tầng sigmoid gọi input layer gate kết hợp với tầng hàm để cập nhật trạng thái 𝑖𝑡 = 𝜎(𝑊𝑖 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑖 ) (2) 𝐶̃𝑡 = 𝑡𝑎𝑛ℎ(𝑊𝑐 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑐 ) (3) Bước cập nhật tế bào Ct, dựa vào sơ đồ hình ta suy được: 𝐶𝑡 = 𝑓𝑡 ∗ 𝐶𝑡−1 + 𝑖𝑡 ∗ 𝐶̃𝑡 (4) Bước cuối cùng bước định xem đầu gì, kết đầu vào cho hidden layer nên sàn lọc thông tin lần cuối cùng dựa vào hàm sigmoid sau nhân với hàm để đưa giá trị đầu mong muốn 𝑜𝑡 = 𝜎(𝑊0 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏0 ) (5) ℎ𝑡 = 𝑜𝑡 ∗ tanh(𝐶𝑡 ) (6) Các tập dữ liệu thu thập bao gồm tập câu hỏi mẫu phục vụ cho trình hiệu chỉnh tập dữ liệu cho trình huấn luyện mạng LSTM Cấu trúc dữ liệu huấn luyện mạng bao gồm câu hỏi làm đầu vào cho q trình mã hóa (Encoder) mạng LSTM câu trả lời cho trình giải mã (Decoder) [8] Mạng LSTM thiết kế sử dụng thư viện Keras Kiến trúc mạng LSTM tóm tắt hình Hình Kiến trúc mơ hình LSTM sử dụng thư viện Keras Cấu trúc mạng hình gồm: input layer, embedding LSTM với số nơ-ron lớp ẩn 200 Input layer lớp đầu vào encoder_input decoder_input với số mẫu num_sample=840 Embedding layer lớp chuyển đổi không gian vector encoder_embedding decoder_embedding với kích thước 840x200=168000 LSTM layer nhận đầu vào từ embedding layer, ô nhớ LSTM yêu cầu đầu vào mảng chiều, LSTM xử lý chuỗi đầu vào bước thời gian ô nhớ xuất giá trị cho toàn chuỗi dạng mảng chiều Mơ hình LSTM huấn luyện máy chủ sử dụng tăng tốc đồ họa (Graphic Procesisng Unit) GTX1080 để rút ngắn thời gian huấn luyện Mơ hình sau huấn luyện chương trình xử lý cài đặt xuống cho phần cứng nhúng Raspberry Pi Để Robot trả lời câu hỏi từ người dùng giọng nói, tác giả thiết kế khối chuyển đổi từ văn sang giọng nói Dữ liệu giọng nói ghi âm cho từ riêng lẻ lưu dạng tệp âm (.wav) thẻ nhớ Kết đưa từ mơ hình LSTM ánh xạ sang tệp âm Chương trình gọi thực thi tệp âm tương ứng để tạo câu trả lời Chương trình triển khai phần cứng Raspberry Pi Zero lắp đặt vào mơ hình Robot hình Màn hình LCD Mạch khuếch đại Loa Bộ chuyển đổi USB Âm Hệ thống nhúng Raspberry Pi Zero Mi-crô (a) Khối điều khiển (b ) Sơ đồ khối điều khiển Nguồn cung cấp (5V) (c) Mơ hình Robot Hình (a) Kết nối điều khiển, (b) sơ đồ khối điều khiển,(c)thiết kế phần thân Robot Hình mô tả kết nối khối điều khiển, sơ đồ khối điều khiển phần thân robot Khối điều khiển sử dụng hệ thống nhúng Raspberry Pi Zero có kích thước nhỏ giá thành thấp, phù hợp với thiết kế robot di động Hệ thống sử dụng Microphone có tích hợp khuếch đại với hệ số tín hiệu nhiễu (SNR) 62 dBA để tăng khoảng cách thu loại bỏ nhiễu Tín hiệu âm khuếch đại đưa đến ngõ loa Hệ thống sử dụng pin với dung lượng 4200 mAh cho phép Robot hoạt động liên tục thời gian Phần thân robot chế tạo nhựa hình 4(c) Phần mặt robot gắn thêm hình cho phép hiển thị số thơng tin, hình ảnh trình giao tiếp KẾT QUẢ VÀ THẢO LUẬN Sau hoàn thiện, Robot vận hành kiểm tra khả nhận dạng câu hỏi khả trả lời Qua thực nghiệm cho thấy, Robot trả lời câu hỏi sai nhận dạng sai Trong trường hợp nhận dạng giọng nói đúng, Robot trả lời với kịch tập huấn luyện Tác giả tiến hành thực nghiệm cách giao tiếp với robot qua 100 câu hỏi điều kiện phịng thí nghiệm, khơng có tiếng ồn từ mơi trường Để đánh giá hiệu khối hiệu chỉnh đề xuất, tác giả đo độ xác trường hợp có khối hiệu chỉnh khơng có khối hiệu chỉnh Khoảng cách từ người nói đến vị trí robot 1m Kết thể bảng Bảng 1: Kiểm tra độ xác hoạt động Robot Mơ hình Độ xác (%) Khơng sử dụng khối hiệu chỉnh 62.5 Sử dụng khối hiệu chỉnh 87.2 Kết thực nghiệm đo điều kiện phịng thí nghiệm Kết thực nghiệm lần lấy giá trị trung bình Trong lần thực nghiệm sử dụng giọng nói khác giao tiếp với Robot qua 100 câu hỏi liên quan đến môn học Ngôn ngữ lập trình Bảng liệt kê kết trung bình lần thực nghiệm với mơ hình; không sử dụng khối hiệu chỉnh sử dụng khối hiệu chỉnh Khi không sử dụng khối hiệu chỉnh, tỷ lệ nhận dạng trả lời câu hỏi 62.5% Trong trường hợp sử dụng khối hiệu chỉnh, độ xác nâng lên 87.2% Sử dụng khối hiệu chỉnh cho phép tăng độ xác robot robot hoạt động ngoại tuyến (offline) Các mô đun cài đặt phần cứng có cấu hình thấp, Raspberry Pi Zero, giúp tiết kiệm lượng hoạt động Robot có khả giao tiếp với người thơng qua giọng nói trả lời số câu hỏi liên quan đến mơn học Ngơn ngữ lập trình Thời gian hoạt động liên tục Robot khoảng hệ thống nhúng Raspberry Pi Zero tiêu tốn lượng KẾT LUẬN Robot trợ lý giảng dạy thiết kế có khả giao tiếp với người giọng nói trả lời câu hỏi liên quan đến nội dung môn học cài đặt trước Robot đã thiết kế hoàn thiện phần cứng phần mềm Trong đó, điều khiển robot sử dụng hệ thống nhúng Raspbery Pi Zero thực thi khối chức bao gồm khối nhận dạng giọng nói, khối xử lý ngơn ngữ tự nhiên khối chuyển đổi từ văn sang giọng nói Kết thực nghiệm, robot có khả nhận dạng giọng nói trả lời câu hỏi liên quan đến nội dung môn học Ngôn ngữ lập trình C Hơn nữa, việc sử dụng khối hiệu chỉnh đặt sau khối Pocketsphinx đã cải thiện tỷ lệ nhận dạng trả lời xác câu hỏi từ 62.5% lên 87.2% LỜI CẢM ƠN Kết nghiên cứu ứng dụng hỗ trợ từ Đề tài Khoa học Công Nghệ cấp Bộ Bộ Giáo Dục Đào Tạo, mã số B2019-SPK-05, năm 2019-2020 TÀI LIỆU THAM KHẢO [1] B Setiaji and F W Wibowo, “Chatbot Using a Knowledge in Database: Human-toMachine Conversation Modeling,” 2016 7th International Conference on Intelligent Systems, Modelling and Simulation (ISMS), Bangkok, 2016, pp 72-77 [2] G M D'silva, S Thakare, S More and J Kuriakose, “Real world smart chatbot for customer care using a software as a service (SaaS) architecture,” 2017 International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC), Palladam, 2017, pp 658-664 [3] M Bates, “Health Care Chatbots Are Here to Help”, IEEE Pulse, vol 10, no 3, pp 12–14, May 2019 [4] D Madhu, C J N Jain, E Sebastain, S Shaji and A Ajayakumar, “A novel approach for medical assistance using trained chatbot,” 2017 International Conference on Inventive Communication and Computational Technologies (ICICCT), Coimbatore, 2017, pp 243246 [5] A Mondal, M Dey, D Das, S Nagpal and K Garda, “Chatbot: An automated conversation system for the educational domain,” 2018 International Joint Symposium on Artificial Intelligence and Natural Language Processing (iSAI-NLP), Pattaya, Thailand, 2018, pp 1-5 [6] B R Ranoliya, N Raghuwanshi and S Singh, “Chatbot for university related FAQs,” 2017 International Conference on Advances in Computing, Communications and Informatics (ICACCI), Udupi, 2017, pp 1525-1530 [7] S J du Preez, M Lall and S Sinha, “An intelligent web-based voice chat bot,” IEEE EUROCON 2009, St.-Petersburg, 2009, pp 386-391 [8] J Liu and B Zhu, “An intelligent personal assistant robot: BoBi secretary,” 2017 2nd International Conference on Advanced Robotics and Mechatronics (ICARM), Hefei, 2017, pp 402-407 [9] J Han et al., “A trial English class with a teaching assistant robot in elementary school,” 2010 5th ACM/IEEE International Conference on Human-Robot Interaction (HRI), Osaka, 2010, pp 335-335 [10] J Han, S Ji and S Lee, “Development of collective assistant teaching for r-learning in a kindergarten”, 9th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI), Daejeon, 2012, pp 136-139 [11] G Boza-Quispe, J Montalvan-Figueroa, J Rosales-Huamaní and F PuenteMansilla, “A friendly speech user interface based on Google cloud platform to access a tourism semantic website”, 2017 CHILEAN Conference on Electrical, Electronics Engineering, Information and Communication Technologies (CHILECON), Pucon, 2017, pp 1-4 [12] D Huggins-Daines, M Kumar, A Chan, A W Black, M Ravishankar and A I Rudnicky, “Pocketsphinx: A Free, Real-Time Continuous Speech Recognition System for Hand-Held Devices”, 2006 IEEE International Conference on Acoustics Speech and Signal Processing Proceedings, Toulouse, 2006, pp I-I [13] C Patel and S Kopparapu, “Reusing automatic speech recognition platform for resource deficient languages,” 2014 8th International Conference on Signal Processing and Communication Systems (ICSPCS), Gold Coast, QLD, 2014, pp 1-5 [14] A Ene and A Ene, “An application of Levenshtein algorithm in vocabulary learning”, 2017 9th International Conference on Electronics, Computers and Artificial Intelligence (ECAI), Targoviste, 2017, pp 1-4 [15] S Zhang, S Liu and M Liu, “Natural language inference using LSTM model with sentence fusion”, 2017 36th Chinese Control Conference (CCC), Dalian, 2017, pp 1108111085 [16] Q Zhan, L Zhang, H Deng and X Xie, “An Improved LSTM For Language Identification”, 2018 14th IEEE International Conference on Signal Processing (ICSP), Beijing, China, 2018, pp 609-612 Tác giả chịu trách nhiệm viết: Họ tên: TS Trương Ngọc Sơn 10 Đơn vị: Trường Đại học Sư phạm Kỹ thuật TP.HCM Điện thoại: 0931085929 Email: sontn@hcmute.edu.vn 11 ... n? ?ron hồi quy xử lý ngôn ngữ tự nhiên? ?? 30 CHƯƠNG 3: MẠNG NƠ -RON HỒI QUY ỨNG DỤNG TRONG XỬ LÝ NGÔN NGỮ TỰ NHIÊN 3.1 Lý thuyết mạng nơ- ron 3.1.1 Mạng nơ- ron nhân tạo ANN Mạng nơ- ron nhân tạo (Artificial... – sang – chuỗi ứng dụng cho robot trợ lý 1.2 Mục tiêu đề tài - Nghiên cứu mạng nơ- ron hồi quy, nghiên cứu mơ hình LSTM - Thiết kế ứng dụng mạng nơ- ron hồi quy xử lý ngôn ngữ tự nhiên, thực mơ... Tổng đài tự động (ACC) 25 2.2.4 Một vài hướng nghiên cứu 25 CHƯƠNG 3: MẠNG NƠ -RON HỒI QUY ỨNG DỤNG TRONG XỬ LÝ NGÔN NGỮ TỰ NHIÊN 31 3.1 Lý thuyết mạng nơ- ron