Thiết kế robot trợ lý giảng dạy giao tiếp bằng giọng nói

Nghiên cứu này trình bày thiết kế và kiểm nghiệm thử một Robot trợ lý giảng dạy hoạt

động như một trợ lý ảo nhưng có khả năng giao tiếp bằng giọng nói, không cần kết nối mạng

như các trợ lý ảo hiện tại và sử dụng mã nguồn mở Pocketsphinx để nhận dạng giọng nói.

Nghiên cứu cũng sử dụng khối hiệu chỉnh đặt sau Pocketsphinx để nâng cao độ chính 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 được sử dụng là mạng LSTM cho

phép đưa ra câu trả lời phù hợp mà mạng đã được huấn luyện. Chương trình được cài đặt

trên phần cứng nhúng Raspberry Pi Zero có mức tiêu tốn năng lượng thấp. Kết quả kiểm thử

và đánh giá cho thấy, nếu không sử dụng khối hiệu chỉnh robot có khả năng nhận dạng và trả

lời câu hỏi với tỷ lệ chính xác là 62.5%. Tỷ lệ nhận dạng được tăng lên đáng kể (87.2%) khi

sử dụng khối hiệu chỉnh.

Thiết kế robot trợ lý giảng dạy giao tiếp bằng giọng nói trang 1

Trang 1

Thiết kế robot trợ lý giảng dạy giao tiếp bằng giọng nói trang 2

Trang 2

Thiết kế robot trợ lý giảng dạy giao tiếp bằng giọng nói trang 3

Trang 3

Thiết kế robot trợ lý giảng dạy giao tiếp bằng giọng nói trang 4

Trang 4

Thiết kế robot trợ lý giảng dạy giao tiếp bằng giọng nói trang 5

Trang 5

Thiết kế robot trợ lý giảng dạy giao tiếp bằng giọng nói trang 6

Trang 6

Thiết kế robot trợ lý giảng dạy giao tiếp bằng giọng nói trang 7

Trang 7

pdf 7 trang duykhanh 2580
Bạn đang xem tài liệu "Thiết kế robot trợ lý giảng dạy giao tiếp bằng giọng nói", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Thiết kế robot trợ lý giảng dạy giao tiếp bằng giọng nói

Thiết kế robot trợ lý giảng dạy giao tiếp bằng giọng nói
ật toán khoảng cách Levenshtein. 
một môn học. Robot có khả năng trả lời câu Thuật toán khoảng cách Levenshtein cho 
 phép tính độ giống như giữa 2 chuỗi [14]. 
 Tạp Chí Khoa Học Giáo Dục Kỹ Thuật Số 61 (12/2020) 
 50 Trường Đại Học Sư Phạm Kỹ Thuật TP. Hồ Chí Minh 
Kết quả nhận dạng được từ Pocketsphinx là ứng dụng nhiều trong kỹ thuật xử lý ngôn 
một câu hỏi dạng chuỗi, câu hỏi này được ngữ tự nhiên [15], [16] . Nhược điểm của 
đưa sang khối hiệu chỉnh. Tại khối hiệu mạng hồi quy là các giá trị lỗi có xu hướng 
chỉnh, độ giống nhau của câu hỏi và các câu nhỏ dần khi lan truyền qua nhiều lớp mạng 
hỏi mẫu trong tập huấn luyện sẽ được tính làm cho quá trình cập nhật trọng số không 
dựa trên thuật toán khoảng cách Levenshtein hiệu quả trong quá trình huấn luyện. Mạng 
để tìm xem câu hỏi nào trong tập câu hỏi LSTM là một cải tiến để khắc phục nhược 
mẫu có độ giống nhau với câu hỏi nhận được điểm này của mạng hồi quy [15]. Một lớp 
lớn nhất. Khi xác định được độ giống nhau của mạng LSTM được thể hiện ở hình 2. 
lớn nhất, câu hỏi có độ giống nhau lớn nhất 
với câu hỏi nhận được từ Pocketsphinx sẽ 
được lựa chọn và đưa sang khối tiếp theo. 
Khối hiệu chỉnh giúp nâng cao độ chính xác 
của khối nhận dạng tiếng nói đáng kể. Bảng 
1 trình bày ví dụ hoạt động của khối hiệu 
chỉnh khi khối pocketsphinx nhận được câu 
hỏi và chuyển sang văn bản. 
 Hoạt động của khối hiệu chỉnh được ví 
dụ minh họa trong bảng 1. Khi khối 
Pocketsphinx nhận dạng được giọng nói, kết 
quả nhận dạng được chuyển sang văn bản 
(text) và chuyển sang khối hiệu chỉnh. Tại 
đây khối hiệu chỉnh sẽ tính độ giống nhau 
giữa câu hỏi và bộ câu hỏi mẫu lưu trong cơ Hình 2. 1 lớp của mạng LSTM [15] 
sở dữ liệu sử dụng thuật toán Levenshtein và 
chọn ra câu hỏi giống nhất từ trong cơ sở dữ Mạng LSTM có khả năng giữ lại hoặc 
liệu. lọc bỏ các thông tin không cần thiết thông 
 qua các cổng Gate, đó là sự kết hợp giữa một 
 Bảng 1. Hoạt động của khối hiệu chỉnh với phép nhân và tầng Sigmoid để sàng lọc thông 
 câu nhận được từ Pocketsphinx tin. Hàm sigmoid cho ra kết quả nằm trong 
 Pocketsphinx What the function be khoảng [0,1], nếu đầu ra bằng 0 thì sẽ loại bỏ 
 since thông tin đó, nếu bằng 1 thì cho tất cả thông 
 tin đi qua. Đầu tiên các thông tin sẽ được đi 
 Câu hỏi mẫu 1 What is a function in C 
 qua tầng 1 hay còn được gọi là tầng forget 
 Độ giống nhau 0.593 gate layer, tại đây thông tin sẽ giữ lại hoặc 
 với câu hỏi mẫu 1 loại bỏ đi tùy thuộc vào kết quả của tầng 
 Câu hỏi mẫu 2 What is a variable in C sigmoid. 
 [ ]
 Độ giống nhau 0.407 푡 = 휎(푊 ℎ푡−1, 푡 + ) (1) 
 với câu hỏi mẫu 2 Tiếp đó là bước kiểm tra thông tin mới, 
 Lựa chọn ngõ ra What is a function in C xem thông tin nào sẽ được lưu vào trạng thái 
 tế bào Ct-1. Ở bước này ta sử dụng một tầng 
 Khối xử lý ngôn ngữ tự nhiên sử dụng sigmoid được gọi là input layer gate kết hợp 
mạng Long Short-Term Memory, một dạng với tầng hàm tanh để cập nhật trạng thái mới. 
cải tiến của mạng hồi quy (Recurrent Neural 𝑖 = 휎(푊 [ℎ , ] + ) (2) 
Network). LSTM cho phép nhận dạng các 푡 푖 푡−1 푡 푖
đối tượng theo thứ tự thời gian, phù hợp với ̃푡 = 푡 푛ℎ(푊 [ℎ푡−1, 푡] + ) (3) 
các ứng dụng mà trong đó ngõ vào có ràng 
 Bước kế tiếp là cập nhật tế bào mới Ct, 
buộc về mặt thứ tự như chuỗi. LSTM được dựa vào sơ đồ hình 2 ta suy ra được: 
 Tạp Chí Khoa Học Giáo Dục Kỹ Thuật Số 61 (12/2020) 
 Trường Đại Học Sư Phạm Kỹ Thuật TP. Hồ Chí Minh 51 
 푡 = 푡 ∗ 푡−1 + 𝑖푡 ∗ ̃푡 (4) mỗi ô nhớ LSTM yêu cầu đầu vào là mảng 3 
 chiều, khi một LSTM xử lý một chuỗi đầu 
Bước cuối cùng là bước quyết định xem đầu 
 vào của các bước thời gian mỗi ô nhớ sẽ xuất 
ra là gì, kết quả đó sẽ là đầu vào cho các 
 một giá trị duy nhất cho toàn bộ chuỗi dưới 
hidden layer tiếp theo nên sẽ được sàn lọc 
 dạng một mảng 2 chiều. 
thông tin lần cuối cùng dựa vào hàm sigmoid 
và sau đó nhân với hàm tanh để đưa ra giá trị Mô hình LSTM được huấn luyện trên 
đầu ra mong muốn máy chủ sử dụng bộ tăng tốc đồ họa (Graphic 
 Procesisng Unit) GTX1080 để rút ngắn thời 
표 = 휎(푊 [ℎ , ] + ) (5) 
 푡 0 푡−1 푡 0 gian huấn luyện. Tập dữ liệu huấn luyện cho 
ℎ푡 = 표푡 ∗ 푡 푛ℎ ( 푡) (6) Robot được tác giả tự tạo, bao gồm các câu hỏi 
 Các tập dữ liệu được thu thập bao gồm kèm theo câu trả lời được lưu dưới dạng các 
tập câu hỏi mẫu phục vụ cho quá trình hiệu tập tin văn bản (.txt). Cấu trúc tập dữ liệu bao 
chỉnh và tập dữ liệu cho quá trình huấn luyện gồm một câu hỏi cho ngõ vào quá trình 
mạng LSTM. Cấu trúc dữ liệu huấn luyện Encoder và một câu trả lời cho quá trình 
mạng bao gồm một câu hỏi làm đầu vào cho Decoder của mạng LSTM. Các câu hỏi và câu 
quá trình mã hóa (Encoder) của mạng LSTM trả lời được biên soạn bám theo nội dung một 
và câu trả lời cho quá trình giải mã (Decoder) môn học kỹ thuật, cụ thể là môn Ngôn ngữ lập 
[8]. Mạng LSTM được thiết kế sử dụng thư trình C. Mô hình sau khi huấn luyện và 
viện Keras. Kiến trúc mạng LSTM được tóm chương trình xử lý được cài đặt xuống cho 
tắt trong hình 3. phần cứng nhúng Raspberry Pi. Để Robot có 
 thể trả lời các câu hỏi từ người dùng bằng 
 giọng nói, tác giả thiết kế khối chuyển đổi từ 
 văn bản sang giọng nói. Dữ liệu giọng nói 
 được ghi âm cho từng từ riêng lẻ và được lưu 
 dưới dạng các tệp âm thanh (.wav) trong thẻ 
 nhớ. Kết quả đưa ra từ mô hình LSTM sẽ được 
 ánh xạ sang các tệp âm thanh. Chương trình sẽ 
 gọi thực thi các tệp âm thanh tương ứng để tạo 
 Hình 3. Kiến trúc mô hình LSTM sử dụng ra câu trả lời. Chương trình được triển khai 
 thư viện Keras trên phần cứng Raspberry Pi Zero và được lắp 
 đặt vào mô hình Robot như hình 4. 
 Cấu trúc mạng trong hình 3 gồm: 2 input 
layer, 2 embedding và 2 LSTM với số nơ-ron 
lớp ẩn là 200. Số lượng nơ-ron trong lớp ẩn 
được lựa chọn tối ưu sao cho mạng được 
triển khai hiệu quả trên cấu hình phần cứng 
tương đối thấp của Raspberry Pi Zero. Với 
tập dữ liệu cụ thể cho một môn học kỹ thuật, (a) Khối điều (c) Mô hình Robot
 khiển
số lượng nơ-ron lớp ẩn là 200 đảm bảo độ Màn hình LCD
 Mạch khuếch 
 Loa
chính xác và tốc độ đáp ứng khi được triển đại
 Hệ thống nhúng
 Bộ chuyển đổi 
 Raspberry Pi 
khai trên phần cứng Raspberry Pi Zero. Dựa USB Âm thanh
 Zero
vào tập dữ liệu, có khoảng 840 từ khác nhau, Mi-crô
do đó, lựa chọn lớp đầu vào (Input layer) của 
 Nguồn cung cấp 
 (5V)
encoder_input và decoder_input với số mẫu (b ) Sơ đồ khối bộ điều khiển
(num_sample) là 840. Embedding layer là 
lớp chuyển đổi không gian vector của Hình 4. (a) Kết nối bộ điều khiển, (b) sơ đồ 
encoder_embedding và decoder_embedding khối bộ điều khiển,(c)thiết kế phần thân Robot 
với kích thước 840x200=168000. LSTM Hình 4 mô tả kết nối của khối điều 
layer nhận đầu vào từ các embedding layer, khiển, sơ đồ khối bộ điều khiển và phần thân 
 Tạp Chí Khoa Học Giáo Dục Kỹ Thuật Số 61 (12/2020) 
 52 Trường Đại Học Sư Phạm Kỹ Thuật TP. Hồ Chí Minh 
của robot. Khối điều khiển được sử dụng là bình trong 5 lần thực nghiệm với 2 mô hình; 
hệ thống nhúng Raspberry Pi Zero có kích không sử dụng khối hiệu chỉnh và sử dụng 
thước nhỏ và giá thành thấp, phù hợp với các khối hiệu chỉnh. Khi không sử dụng khối hiệu 
thiết kế robot di động. Hệ thống sử dụng một chỉnh, tỷ lệ nhận dạng và trả lời câu hỏi đúng 
Microphone có tích hợp bộ khuếch đại với hệ là 62.5%. Trong trường hợp sử dụng khối hiệu 
số tín hiệu trên nhiễu (SNR) là 62 dBA để chỉnh, độ chính xác được nâng lên 87.2%. 
tăng khoảng cách thu và loại bỏ nhiễu. Tín Sử dụng khối hiệu chỉnh cho phép tăng 
hiệu âm thanh được khuếch đại và đưa đến độ chính xác của robot khi robot hoạt động 
ngõ ra loa. Hệ thống sử dụng pin với dung ngoại tuyến (offline). Các mô đun được cài 
lượng 4200 mAh cho phép Robot có thể hoạt đặt trên phần cứng có cấu hình thấp, 
động liên tục trong thời gian hơn 2 giờ. Phần 
 Raspberry Pi Zero, giúp tiết kiệm năng lượng 
thân robot được chế tạo bằng nhựa như hình khi hoạt động. Robot có khả năng giao tiếp 
4(c). Phần mặt robot được gắn thêm một màn với người thông qua giọng nói và trả lời một 
hình cho phép hiển thị một số thông tin, hình số câu hỏi liên quan đến môn học Ngôn ngữ 
ảnh trong quá trình giao tiếp. lập trình. Thời gian hoạt động liên tục của 
3. KẾT QUẢ VÀ THẢO LUẬN Robot khoảng 2 giờ vì hệ thống nhúng 
 Sau khi hoàn thiện, Robot được vận Raspberry Pi Zero tiêu tốn ít năng lượng. 
hành và kiểm tra khả năng nhận dạng câu hỏi Thời gian đáp ứng của Robot được đo 
và khả năng trả lời. Qua thực nghiệm cho trong quá trình kiểm thử 100 câu hỏi và câu 
thấy, Robot trả lời các câu hỏi sai khi nhận trả lời. Các câu hỏi và câu trả lời có độ dài từ 
dạng sai. Trong trường hợp nhận dạng giọng 3 đến 15 từ. Trung bình thời gian cho quá 
nói đúng, Robot trả lời đúng với kịch bản trình chuyển đổi từ giọng nói sang văn bản là 
trong tập huấn luyện. Tác giả tiến hành thực 2.7s. Thời gian trung bình cho quá trình trả lời 
nghiệm bằng cách giao tiếp với robot qua từ mạng LSTM là 1.2s. Như vậy, tổng thời 
100 câu hỏi trong điều kiện phòng thí gian cho quá trình trả lời câu hỏi là 3.9s. Thời 
nghiệm, không có tiếng ồn từ môi trường. Để gian đáp ứng của hệ thống đã được tối ưu nhờ 
đánh giá hiệu quả của khối hiệu chỉnh được tắt các dịch vụ không cần thiết của hệ điều 
đề xuất, tác giả đo độ chính xác trong trường hành cho hệ thống nhúng Raspberry Pi Zero. 
hợp có khối hiệu chỉnh và không có khối 
 4. KẾT LUẬN 
hiệu chỉnh. Khoảng cách từ người nói đến vị 
trí robot là 1m. Kết quả được thể hiện trong Robot trợ lý giảng dạy được thiết kế có 
bảng 2. khả năng giao tiếp với con người bằng giọng 
 nói và có thể trả lời các câu hỏi liên quan đến 
 Bảng 2. Kiểm tra độ chính xác hoạt động các nội dung của môn học được cài đặt trước. 
 của Robot. Robot đã được thiết kế hoàn thiện về phần 
 Mô hình Độ chính xác cứng và phần mềm. Trong đó, bộ điều khiển 
 (%) robot sử dụng hệ thống nhúng Raspbery Pi 
 Zero thực thi 3 khối chức năng chính bao 
 Không sử dụng khối hiệu 62.5 
 gồm khối nhận dạng giọng nói, khối xử lý 
 chỉnh 
 ngôn ngữ tự nhiên và khối chuyển đổi từ văn 
 Sử dụng khối hiệu chỉnh 87.2 bản sang giọng nói. Kết quả thực nghiệm, 
 robot có khả năng nhận dạng giọng nói và trả 
 Kết quả thực nghiệm được đo trong điều 
 lời các câu hỏi liên quan đến nội dung môn 
kiện phòng, không có tiếng ồn. Kết quả được 
 học Ngôn ngữ lập trình C. Hơn nữa, việc sử 
thực nghiệm 5 lần và lấy giá trị trung bình. 
 dụng khối hiệu chỉnh đặt sau khối 
Trong mỗi lần thực nghiệm sử dụng một 
 Pocketsphinx đã cải thiện tỷ lệ nhận dạng và 
giọng nói khác nhau và giao tiếp với Robot 
 trả lời chính xác câu hỏi từ 62.5% lên 87.2%. 
qua 100 câu hỏi liên quan đến môn học Ngôn 
ngữ lập trình. Bảng 2 liệt kê kết quả trung LỜI CẢM ƠN 
 Tạp Chí Khoa Học Giáo Dục Kỹ Thuật Số 61 (12/2020) 
 Trường Đại Học Sư Phạm Kỹ Thuật TP. Hồ Chí Minh 53 
 Kết quả nghiên cứu và ứng dụng là sản Bộ Giáo dục và Đào tạo và chủ trì bởi 
phẩm của Đề tài Nghiên cứu Khoa học Cấp Trường Đại học Sư phạm Kỹ thuật TP.HCM.
Bộ, mã số B2019-SPK-05, được hỗ trợ bởi 
 TÀI LIỆU THAM KHẢO 
[1] B. Setiaji and F. W. Wibowo, “Chatbot Using a Knowledge in Database: Human-to-
 Machine 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. 243-246. 
[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. 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. 
[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. 
 Tạp Chí Khoa Học Giáo Dục Kỹ Thuật Số 61 (12/2020) 
 54 Trường Đại Học Sư Phạm Kỹ Thuật TP. Hồ Chí Minh 
[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. 
 11081-11085. 
[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 bài viết: 
TS. Trương Ngọc Sơn 
Trường Đại học Sư phạm Kỹ thuật TP.HCM 
Email: sontn@hcmute.edu.vn 

File đính kèm:

  • pdfthiet_ke_robot_tro_ly_giang_day_giao_tiep_bang_giong_noi.pdf