Bài viết Xây dựng hệ thống đánh thức thiết bị bằng từ khóa tiếng Việt xây dựng hệ thống KWS để kích hoạt thiết bị khi phát hiện từ khóa tiếng Việt dựa trên kiến trúc mạng nơ-ron tích chập tiên tiến - CNN.
Tuyển tập Hội nghị Khoa học thường niên năm 2019 ISBN: 978-604-82-2981-8 XÂY DỰNG HỆ THỐNG ĐÁNH THỨC THIẾT BỊ BẰNG TỪ KHÓA TIẾNG VIỆT Dương Văn Phụng1,2, Đỗ Văn Hải1 Trường Đại học Thủy lợi Trung tâm Không gian Mạng Viettel, email: haidv@tlu.edu.vn GIỚI THIỆU CHUNG Với phát triển nhanh chóng thiết bị di động thiết bị Internet of Things (IoT), hệ thống đánh thức thiết bị ngày trở nên cần thiết Hệ thống giúp người dùng kích hoạt thiết bị thơng qua tiếng nói mà khơng cần sử dụng đến nút bấm vật lý hay hình cảm ứng Cách thức gọi đánh thức thiết bị cách phát từ khóa (KWS Keyword spotting) Một ví dụ điển hình hệ thống đánh thức thiết bị là: Google triển khai hệ thống cho phép người dùng sử dụng chế độ kích hoạt nhận dạng giọng nói hồn tồn rảnh tay, biết đến với từ khóa "Ok Google" "Hey Google" [2] Hệ thống luôn lắng nghe để phát từ khóa từ kích hoạt thiết bị trước khởi động hệ thống nhận dạng tiếng nói Hệ thống Google nghiên cứu triển khai thành công ngôn ngữ tiếng Anh Tuy nhiên, chưa có nghiên cứu cho hệ thống KWS với ngơn ngữ tiếng Việt Có nhiều phương pháp để xây dựng KWS như: sử dụng mạng nơ-ron sâu (Deep Neural Network - DNN) [1], mạng nhớ ngắn-dài (Long Short Term Memory - LSTM) [4], Tuy nhiên, thời gian gần cách tiếp cận sử dụng mạng nơ-ron tích chập (Convolutional Neural Network - CNN) [3] thử nghiệm phương pháp tốt để xây dựng hệ thống KWS Trong báo này, xây dựng hệ thống KWS để kích hoạt thiết bị phát từ khóa tiếng Việt dựa kiến trúc mạng nơ-ron tích chập tiên tiến - CNN [3] PHƯƠNG PHÁP NGHIÊN CỨU Theo Hình 1, hệ thống KWS chia làm thành phần [3]: - Trích chọn đặc trưng (Feature extraction) - Mạng nơ-ron (Neural network) - Đánh giá xác suất hậu nghiệm (Posterior handling) Hình Ba thành phần hệ thống keyword spotting [3] Để xây dựng hệ thống KWS cho tiếng Việt, sử dụng kiến trúc mạng nơron tích chập (CNN) [3] Như mơ tả Hình 2, chúng tơi sử dụng mạng CNN với lớp tích chập, lớp kết nối đầy đủ lớp softmax Hình Kiến trúc mạng tích chập cho KWS tiếng Việt Để nhận dạng từ khóa, tín hiệu âm đầu vào chuyển đổi sang miền 189 Tuyển tập Hội nghị Khoa học thường niên năm 2019 ISBN: 978-604-82-2981-8 tần số Từ đó, trích chọn ma trận đặc trưng V có kích thước t×f t f kích thước ma trận đặc trưng theo thời gian tần số Chúng ta sử dụng n cửa sổ có kích thước m×r Do đó, ma trận trọng số W (m×r)×n tích hợp với đầu vào V Chia ma trận trọng số với kích thước m×r, m < t r < f Việc chia ma trận trọng số giúp mơ hình hóa mối tương quan cục tín hiệu đầu vào Ma trận trọng số có n đơn vị ẩn, nghĩa có n đồ đặc trưng (feature maps) Bộ lọc (filter) có bước chuyển s theo thời gian p theo tần số Sau hoạt động tích chập ta thu n feature maps có kích thước: t − m +1 f − r +1 × s v Sau thực tích chập, lớp maxpooling giúp loại bỏ biến đổi không gian tần số thời gian kiểu nói, biến dạng kênh, Với kích thước pooling p×q ta n feature maps có kích thước: t − m +1 f − r +1 × s p v.q phải từ khóa Do đó, đầu mạng CNN có tổng cộng đầu ứng với lớp cần nhận dạng Dữ liệu huấn luyện chuẩn bị theo cách sau đây: Dữ liệu lớp từ khóa: từ khóa ghi âm thành 250 file audio từ nhiều người nói khác thu âm môi trường làm việc thông thường Mỗi file có độ dài trung bình giây Dữ liệu lớp UNK: 100.000 file có độ dài giây thể cách nói từ khơng phải từ khóa lấy Youtube Dữ liệu lớp SIL: 18.000 file audio có độ dài giây thể âm khơng phải tiếng nói nhiễu, ồn, âm nhạc môi trường Những liệu ghi âm lấy từ Youtube Tập liệu chia theo tỉ lệ 80:10:10 tương ứng với tập huấn luyện, tập phát triển tập kiểm tra Để trích chọn đặc trưng tiếng nói, chúng tơi sử dụng khung có kích thước 25ms khoảng cách khung liên tiếp 10ms Với khung, 40 đặc trưng MFCC trích chọn 3.2 Kết Hình Mơ tả lớp tích chập lớp max-pooling Lớp kết nối đầy đủ lớp softmax thực vote để phân loại từ khóa vào lớp đào tạo KẾT QUẢ NGHIÊN CỨU 3.1 Đặt tốn Chúng tơi xây dựng hệ thống KWS dựa từ khóa: "chào bót", "hai bót", "xin chào" để đánh thức thiết bị Ngoài lớp ứng với từ khóa kể trên, chúng tơi bổ sung thêm lớp: "SIL-silence": khơng có tiếng nói, "UNK-unknown": có tiếng nói khơng Kết thử nghiệm tập liệu kiểm thử với ngưỡng khác biểu diễn Hình Trong đó: - Tỉ lệ False Alarm: báo động nhầm, tức từ từ khóa bị nhận nhầm từ khóa - Tỉ lệ Miss Detection: từ khóa bị nhận dạng khơng phải từ khóa - Ngưỡng: Là mức giới hạn, tự tin (confidence) đầu lớn mức giới hạn hệ thống đánh thức Một hệ thống KWS tốt cần tiêu chí phải nhỏ Như Hình 4, ngưỡng lựa chọn 0,89, tỷ lệ false alarm 0,00007 miss detection 0,09 tức 100.000 lần có lần bị nhận nhầm từ khóa 10 lần gọi thiết bị chưa đến lần thiết bị khơng kích hoạt 190 Tuyển tập Hội nghị Khoa học thường niên năm 2019 ISBN: 978-604-82-2981-8 3.3 Tích hợp thiết bị di động Android Chúng tơi tích hợp thành cơng hệ thống đánh thức thiết bị từ khóa tiếng Việt lên thiết bị di động chạy hệ điều hành Android Ứng dụng sử dụng từ khóa mà đào tạo phần trên: "chào bót", "hai bót", "xin chào" Ứng dụng sử dụng service chạy ngầm, hệ thống đánh thức mở ứng dụng phát từ khóa gọi Hình Biểu đồ thể False Alarm Miss Detection theo ngưỡng Ngưỡng cân yếu tố False alarm Miss detection mơ hình chúng tơi đào tạo 0,89 Chúng ta điều chỉnh ngưỡng phù hợp với yêu cầu khác cách điều chỉnh seek-bar giao diện ứng dụng Android Hình demo ứng dụng chúng tơi, hình bên trái chưa phát từ khóa Sau phát từ khóa, có giao diện hình bên phải KẾT LUẬN Trong báo này, chúng tơi trình bày mơ hình mạng nơ-ron tích chập để xây dựng hệ thống đánh thức thiết bị cho tiếng Việt Kết thử nghiệm cho thấy tỷ lệ sai số thấp Bên cạnh đó, chúng tơi áp dụng tích hợp thành công thiết bị di động Android Phù hợp với ứng dụng trợ lý ảo nói riêng ứng dụng Android nói chung sử dụng chức đánh thức giọng nói tiếng Việt Từ nghiên cứu này, hồn tồn tích hợp lên thiết bị IoT để đánh thức, kích hoạt hay chí điều khiển thiết bị nhà từ khóa mà đào tạo Có thể đào tạo từ khóa độc lập để gán cho chức điều khiển thiết bị IoT mà không cần hệ thống nhận dạng giọng nói phức tạp Ví dụ: "Bật quạt", "Tắt quạt", "Bật đèn", "Bật bình nóng lạnh" , "Mở điều hịa" TÀI LIỆU THAM KHẢO [1] G Chen C Parada, and G Heigold 2014 “Small-footprint Keyword Spotting using Deep Neural Networks,” in Proc ICASSP [2] J Schalkwyk, D Beeferman, F Beaufays, B Byrne, C Chelba, M Cohen, M Kamvar, and B Strope 2010 ““Your word is my command”: Google search by voice: A case study,” in Advances in Speech Recognition, A Neustein, Ed Springer US, pp 61–90 [3] T N Sainath, and C Parada 2015 “Convolutional Neural Networks for Smallfootprint Keyword Spotting,” in Proc INTERSPEECH, pp 1478-1482 [4] T N Sainath, O Vinyals, A Senior, and H Sak 2015 “Convolutional, Long ShortTerm Memory, Fully Connected Deep Neural Networks,” in Proc ICASSP Hình Demo ứng dụng Android tích hợp hệ thống đánh thức thiết bị từ khóa tiếng Việt 191 ... Android Chúng tơi tích hợp thành công hệ thống đánh thức thiết bị từ khóa tiếng Việt lên thiết bị di động chạy hệ điều hành Android Ứng dụng sử dụng từ khóa mà đào tạo phần trên: "chào bót",... phân loại từ khóa vào lớp đào tạo KẾT QUẢ NGHIÊN CỨU 3.1 Đặt toán Chúng xây dựng hệ thống KWS dựa từ khóa: "chào bót", "hai bót", "xin chào" để đánh thức thiết bị Ngồi lớp ứng với từ khóa kể trên,... trái chưa phát từ khóa Sau phát từ khóa, có giao diện hình bên phải KẾT LUẬN Trong báo này, trình bày mơ hình mạng nơ-ron tích chập để xây dựng hệ thống đánh thức thiết bị cho tiếng Việt Kết thử