Trong nghiên cứu này, Học viên tập trung thiết kế một hệ thống giá rẻ có thể chuyển đổi từ lời nói sang ngôn ngữ cử chỉ hay còn được gọi là ngôn ngữ ký hiệu, thủ ngữ ở Việt Nam với việc
Trang 1BỘ 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
NGHIÊN CỨU VÀ THIẾT KẾ ỨNG DỤNG CHUYỂN ĐỔI
TỪ GIỌNG NÓI SANG NGÔN NGỮ CỬ CHỈ
LUẬN VĂN THẠC SĨ BÙI ĐỨC VŨ
NGÀNH: KỸ THUẬT ĐIỆN TỬ
Trang 2BỘ 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
LUẬN VĂN THẠC SĨ BÙI ĐỨC VŨ
NGHIÊN CỨU VÀ THIẾT KẾ ỨNG DỤNG CHUYỂN ĐỔI
TỪ GIỌNG NÓI SANG NGÔN NGỮ CỬ CHỈ
NGÀNH: KỸ THUẬT ĐIỆN TỬ
Hướng dẫn khoa học:
PGS TS TRƯƠNG NGỌC SƠN
Thành phố Hồ Chí Minh, tháng 05 năm 2021
Trang 4BIÊN BẢN CHẤM LUẬN VĂN TỐT NGHIỆP
THẠC SĨ
Trang 5PHIẾU NHẬN XÉT LUẬN VĂN TỐT NGHIỆP
THẠC SĨ
Trang 10LÝ LỊCH KHOA HỌC
(Dùng cho nghiên cứu sinh & học viên cao học)
I LÝ LỊCH SƠ LƯỢC:
Ngày, tháng, năm sinh: 10/02/1992 Nơi sinh: Bạc Liêu
Chỗ ở riêng hoặc địa chỉ liên lạc: 1/1 Điện Biên Phủ, Khu Phố 5, Thị Trấn Trảng Bom, Huyện Trảng Bom, Tỉnh Đồng Nai
Điện thoại liên lạc: 0909147663 E-mail: bdv24h@gmail.com
II QUÁ TRÌNH ĐÀO TẠO:
1 Trung học phổ thông:
Hệ đào tạo: Chính quy Thời gian đào tạo: Từ 09/2007 đến 06/2010 Nơi học (trường, thành phố): Trường THPT Long Phước, Xã Long Phước, Huyện Long Thành, Tỉnh Đồng Nai
2 Đại học:
Hệ đào tạo: Chính quy Thời gian đào tạo từ 10/2010 đến 09/2015 Nơi học (trường, thành phố): Trường Đại học Sư phạm Kỹ thuật Thành phố
Hồ Chí Minh, Thành Phố Thủ Đức
Ngành học: Kỹ thuật Điện – Điện tử
Tên đồ án tốt nghiệp: Thiết kế ứng dụng nhận dạng danh tính người
Ngày & nơi bảo vệ Đồ Án: 12/2014, Trường Đại học Sư phạm Kỹ thuật
Trang 11Người hướng dẫn: PGS TS Trương Ngọc Sơn
III QUÁ TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC:
Từ 04/2015
tới 08/2021
Công ty TNHH Pou Sung, Khu công nghiệp Bàu Xéo, Xã Đồi 61, Huyện Trảng Bom, Tỉnh Đồng Nai
Kỹ sư cao cấp
Trang 12LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của tôi
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tp Hồ Chí Minh, ngày … tháng … năm 20…
(Ký tên và ghi rõ họ tên)
Bùi Đức Vũ
Trang 13LỜI CẢM ƠN
Học viên xin bày tỏ lòng biết ơn sâu sắc tới PGS TS Trương Ngọc Sơn, Thầy
đã trực tiếp định hướng và dẫn dắt Học viên trong suốt quá trình thực hiện từ Chuyên
Đề cho tới bài Luận Văn này Thầy luôn sẵn sàng dành thời gian để gặp, hướng dẫn
và giải đáp những thắc mắc mỗi khi Học viên gặp vấn đề với đề tài Trong quá trình thực hiện Luận Văn, mặc dù đã cố gắng hoàn thiện đề tài báo cáo thông qua việc tham khảo tài liệu, trao đổi và tiếp thu ý kiến góp ý từ một số bạn cùng lớp và Thầy Sơn, nhưng chắc chắn sẽ không tránh khỏi những sai sót Vì vậy Học viên rất biết ơn ý kiến đóng góp chỉnh sửa của Thầy và các bạn để bài Luận Văn này được hoàn thiện tốt hơn!
Học viên cũng xin gửi lời cám ơn đến gia đình và bạn bè vì đã luôn hỗ trợ, khuyến khích Học viên liên tục trong suốt những năm học tập, qua quá trình nghiên cứu và viết Luận Văn
Xin chân thành cảm ơn!
Trang 14MỤC LỤC
BIÊN BẢN CHẤM LUẬN VĂN TỐT NGHIỆP THẠC SĨ II PHIẾU NHẬN XÉT LUẬN VĂN TỐT NGHIỆP THẠC SĨ III
LÝ LỊCH KHOA HỌC VIII LỜI CAM ĐOAN X LỜI CẢM ƠN XI DANH SÁCH CÁC HÌNH XIV DANH SÁCH CÁC BẢNG XV DANH SÁCH CÁC LƯU ĐỒ XVI DANH SÁCH CÁC TỪ VIẾT TẮT XVII
CHƯƠNG 1: GIỚI THIỆU CHUNG 1
1.1 Đặt vấn đề 1
1.2 Tính cấp thiết của đề tài 1
1.3 Mục tiêu của đề tài 2
1.4 Giới hạn của đề tài 2
CHƯƠNG 2: TỔNG QUAN 3
2.1 Các nghiên cứu và ứng dụng liên quan 3
2.1.1 Các nghiên cứu và ứng dụng ngoài nước 3
2.1.2 Các nghiên cứu và ứng dụng trong nước 5
CHƯƠNG 3: CƠ SỞ LÝ THUYẾT 6
3.1 Tổng quan về kỹ thuật nhận dạng giọng nói tự động 6
3.2 Các kỹ thuật trong nhận dạng giọng nói 6
3.2.1 Chuyển đổi sóng âm thanh 6
3.2.2 Các mô hình cơ bản được sử dụng trong nhận dạng giọng nói 8
3.3 Cấu trúc chung của một hệ thống chuyển đổi lời nói sang văn bản (Speech to Text) 11
3.3.1 Mô hình Từ vựng 11
3.3.2 Mô hình Âm học 12
3.3.3 Trích xuất đặc trưng 12
3.3.4 Mô hình ngôn ngữ 13
Trang 153.3.5 Bộ giải mã 14
3.4 Sơ lược các giải thuật và mô hình xử lý ngôn ngữ tự nhiên được sử dụng trong mạng học sâu (Deep Learning) 15
3.4.1 Các kỹ thuật cơ bản 15
3.4.2 Mạng nơ ron nhân tạo (Artificial Neural Network – ANN) 16
3.4.3 Mạng nơ ron hồi quy (Recurrent Neural Network – RNN) 16
3.5 API Speech-to-Text của Google 16
3.6 Kỹ thuật Levenshtein Distance 19
3.6.1 Kỹ thuật gốc (character-based) 19
3.6.2 Phương pháp cải tiến (word-based) 22
3.7 Thủ ngữ 25
3.7.1 Khái niệm chung 25
3.7.2 Thủ ngữ ở Việt Nam 26
CHƯƠNG 4: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG CHUYỂN ĐỔI GIỌNG NÓI SANG NGÔN NGỮ CỬ CHỈ 30
4.1 Thiết kế phần cứng 30
4.2 Sơ đồ khối hệ thống 32
4.2.1 Khối chuyển đổi giọng nói sang văn bản 33
4.2.2 Khối xử lý văn bản 36
4.2.3 Khối hiển thị 37
CHƯƠNG 5: KẾT QUẢ THỰC HIỆN 39
5.1 Kết quả chạy thực tế của hệ thống 39
5.2 Phương hướng phát triển 46
CHƯƠNG 6: KẾT LUẬN 47
TÀI LIỆU THAM KHẢO 48
BÀI BÁO KHOA HỌC 55
Trang 16DANH SÁCH CÁC HÌNH
Hình 3.1: Tổng hợp Fourier của sóng vuông 7
Hình 3.2: Các cặp tín hiệu trong miền thời gian và tần số tương ứng 7
Hình 3.3: Mô hình Generative trong nhận dạng giọng nói 9
Hình 3.4: Mô hình đơn giản biểu thị trạng thái xác suất HMM 10
Hình 3.5: Sơ đồ tổng quát của một hệ thống chuyển đổi lời nói sang văn bản 11
Hình 3.6: Hình bên trái sử dụng character-based với 1 trên 5 câu đúng, hình bên phải sử dụng word-based với 4 trên 5 câu đúng 22
Hình 3.7: Tỉ lệ khớp giữa chữ hoa và chữ thường trước (0,83/1) và sau (1/1) khi chuẩn hóa 23
Hình 3.8: Hệ thống chữ cái bằng ngón tay 27
Hình 3.9: Thủ ngữ của từ “nghe” 28
Hình 4.1: Các bộ phận phần cứng chính 30
Hình 4.2: Cáp kết nối các khối chức năng và micro ghi âm 31
Hình 4.3: Hệ thống hoàn thiện 32
Hình 4.4: Sơ đồ khối của hệ thống chuyển đổi văn bản sang thủ ngữ của đề tài 32
Hình 5.1: Giao diện khi mới mở ứng dụng 39
Hình 5.2: Hiệu chỉnh nhiễu môi trường xung quanh trước khi ghi âm 39
Hình 5.3: Hiệu chỉnh nhiễu hoàn tất và bắt đầu ghi âm 40
Hình 5.4: Các câu mẫu trong cơ sở dữ liệu 41
Hình 5.5: Văn bản tương ứng với câu ghi âm và cần người nói xác nhận 41
Hình 5.6: Video thủ ngữ được xuất ra tương ứng với câu nói ở hình 5.5 sau khi người nói đã xác nhận câu nói thông qua việc nhấn nút “HIỂN THỊ” 42
Hình 5.7: Thông báo khi không nghe được tiếng nói hoặc người nói im lặng 42
Hình 5.8: Câu nói không đúng ý với người nói và họ nhấn vào nút “THỬ LẠI” 43 Hình 5.9: Cơ sở dữ liệu bao gồm 200 video thủ ngữ của Bộ giáo dục và Đào tạo 43
Trang 17DANH SÁCH CÁC BẢNG
Bảng 2.1: Tỷ lệ các lỗi so sánh giữa ngõ vào là văn bản và ngõ vào là lời nói của hệ
thống 5
Bảng 3.1: Ngõ ra dạng văn bản khi thu âm lời nói tương ứng 19
Bảng 3.2: Các bước chuyển đổi tổng quát của kỹ thuật Levenshtein Distance 20
Bảng 3.3: So sánh giữa tỷ lệ khớp giữa hai phương pháp 23
Bảng 3.4: Tốc độ thực thi của hai phương pháp 25
Bảng 5.1: Khảo sát hệ thống với 10 câu nói với cường độ nhiễu tăng dần và ít dao động về độ lớn của cường độ nhiễu 44
Bảng 5.2: Khảo sát hệ thống với 10 câu nói với cường độ nhiễu tăng dần và có sự dao động lớn về độ lớn của cường độ nhiễu 45
Trang 18DANH SÁCH CÁC LƯU ĐỒ
Lưu đồ 4.1: Các bước hoạt động của khối chuyển đổi lời nói sang văn bản 35
Lưu đồ 4.2: Các bước hoạt động của khối xử lý văn bản 36
Lưu đồ 4.3: Các bước hoạt động của khối hiển thị 37
Lưu đồ 4.4: Các bước hoạt động chung của hệ thống 38
Trang 19DANH SÁCH CÁC TỪ VIẾT TẮT
STT Từ viết tắt Tiếng Anh Tiếng Việt
1 ASR Automatic speech
recognition
Nhận dạng giọng nói tự động
2 Api Application Programming
Interface
Giao thức kết nối ứng dụng và thư viện lập trình
3 SER Sign Error Rate Tỷ lệ lỗi ký hiệu
4 BLEU Bilingual Evaluation
6 GER Gesture Error Rate Tỷ lệ lỗi cử chỉ
10 LR Logistic Regression
11 SVM Support Vector Machine Máy hỗ trợ vectơ
12 HMM Hidden Markov Model Mô hình Markov ẩn
14 GMM Gaussian Mixture Model Mô hình hỗn hợp
Trang 2018 VSM Vector Space Model Mô hình không gian
vectơ
19 CBOW Continuous Bag of Words
20 ANN Artificial Neural Network Mạng nơ ron nhân tạo
21 RNN Recurrent Neural
22 DNN Deep Neural network Mạng nơ ron nhiều lớp
23 LSTM Long Short Term
Trang 21CHƯƠNG 1: GIỚI THIỆU CHUNG
1.1 Đặt vấn đề
Người khiếm thính tạo nên một cộng đồng khá lớn với các nhu cầu cụ thể liên quan mà các nhà nghiên cứu và công nghệ chỉ mới bắt đầu nhắm đến khai thác gần đây Việc tạo ra một công cụ có thể giao tiếp với người khiếm tính sẽ tạo điều kiện thuận lợi cho việc giao tiếp trao đổi thông tin, cũng như chia sẻ, giúp đỡ qua lại một cách dễ dàng giữa người bình thường với người khiếm thính, giúp lấp đầy khoảng cách giữa các cộng đồng người khiếm thính và người bình thường
Trong nghiên cứu này, Học viên tập trung thiết kế một hệ thống giá rẻ có thể chuyển đổi từ lời nói sang ngôn ngữ cử chỉ (hay còn được gọi là ngôn ngữ ký hiệu, thủ ngữ) ở Việt Nam với việc sử dụng các thuật toán hỗ trợ trên ngôn ngữ lập trình bậc cao Python để cho ra một mô hình đơn giản, dễ sử dụng và không yêu cầu thông
số phần cứng cao, có thể áp dụng theo hướng phát triển của đề tài đã nêu Hệ thống
có thể hỗ trợ xử lý lời nói thu âm và xuất ra video thể hiện ngôn ngữ cử chỉ tương ứng hỗ trợ sử dụng ngôn ngữ Tiếng Việt với các video ngôn ngữ cử chỉ của Bộ Giáo dục và Đào tạo [1]
1.2 Tính cấp thiết của đề tài
Cộng đồng người khiếm thính ngày càng gia tăng do một số nguyên nhân: dân
số thế giới nói chung và Việt Nam nói riêng ngày càng gia tăng, các khu công nghiệp
mở ra nhiều dẫn đến lượng hóa chất vào không khí và hóa chất sử dụng trong thức ăn gia tăng, môi trường làm việc độc hại hơn, do di truyền… dẫn đến số lượng người khuyết tật gia tăng, trong đó có người khiếm thính Hiện tại có ít hoặc chưa có phần mềm miễn phí, ứng dụng, thiết bị chuyển đổi sẵn có để hỗ trợ cho việc giao tiếp với những người khiếm thính Các nghiên cứu liên quan nhận dạng giọng nói như chuyển đổi giọng nói sang văn bản, chuyển đổi văn bản sang giọng nói, tự động dịch thuật…;
ít hoặc không có nghiên cứu về đề tài chuyển đổi giọng nói sang ngôn ngữ cử chỉ (hay còn gọi là thủ ngữ) sử dụng cho người khiếm thính ở Việt Nam
Trang 221.3 Mục tiêu của đề tài
- Nghiên cứu các công nghệ chuyển đổi từ giọng nói sang văn bản (speech to text)
- Nghiên cứu nguyên lý, vận hành của ngôn ngữ cử chỉ
- Nghiên cứu ứng dụng máy học và các giải thuật so sánh, tìm kiếm, thiết kế
hệ thống nhận dạng giọng nói chuyển đổi sang ngôn ngữ cử chỉ
- Thiết kế một ứng dụng giá rẻ, gọn nhẹ có thể thực thi ổn định hệ thống chuyển đổi từ giọng nói sang ngôn ngữ cử chỉ trên board Raspberry Pi 4 với một màn hình hiển thị ngôn ngữ cử chỉ 7 inches Ứng dụng này có thể giúp ích cho các nhân viên siêu thị, nhân viên bán hàng tạp hóa, nhân viên văn phòng trong việc hỗ trợ người khiếm thính mua hàng hoặc sử dụng các loại giấy tờ tùy thân cũng như các công việc liên quan khác trong cuộc sống
1.4 Giới hạn của đề tài
Cơ sở dữ liệu về ngôn ngữ giao tiếp tương đối ít, chủ yếu tập trung khai thác khoảng 200 câu thông dụng trong cuộc sống ở Việt Nam
Trang 23CHƯƠNG 2: TỔNG QUAN
2.1 Các nghiên cứu và ứng dụng liên quan
2.1.1 Các nghiên cứu và ứng dụng ngoài nước
Trước đây, trên thế giới, để giao tiếp hoặc truyền đạt thông tin đến người câm điếc, người bình thường buộc phải học và hiểu thủ ngữ Tại Mỹ, có nhiều sách hướng dẫn sử dụng thủ ngữ Đa phần những sách này hướng dẫn về sử dụng thủ ngữ thông qua các cử chỉ tay rời rạc mà không phải một câu hoàn chỉnh [2], [3] Do đó, nhiều ứng dụng và phần mềm ra đời nhằm mục đích giúp cho người bình thường không cần học hay hiểu về thủ ngữ cũng vẫn có thể giúp cho người khiếm thính hiểu được ý họ
là gì
Việc làm chứng minh nhân dân cho những người khiếm thính ở Tây Ban Nha được hỗ trợ bởi một hệ thống chuyển đổi từ giọng nói sang ngôn ngữ cử chỉ tiếng Tây Ban Nha Hệ thống gồm bộ nhận dạng giọng nói và bộ hiển thị những cử chỉ bằng hình ảnh 3D với 31,6% SER (Sign Error Rate, tỷ lệ lỗi kí hiệu cử chỉ) và 0,5780 BLEU (Bilingual Evaluation Understudy, tỷ lệ này càng lớn thì độ khớp giữa câu mẫu và câu được quy định sẵn càng cao) [4]
Một nhóm nghiên cứu khác là Radzi Ambar, Chan Kar Fai, Mohd Helmy Abd Wahab, Muhammad Mahadi Abdul Jamil và Ahmad Alabqari Ma’radzi thuộc các trường Đại học ở Malaysia đã nghiên cứu và phát triển một thiết bị đeo tay với chức năng chuyển đổi ngôn ngữ cử chỉ sang giọng nói và văn bản Thiết bị dựa trên thiết
kế của một chiếc găng tay có thể đọc chuyển động của một cánh tay và 5 ngón tay Thiết bị này bao gồm 5 cảm biến uốn để phát hiện sự uốn cong của ngón tay và gia tốc kế để phát hiện chuyển động của cánh tay Thiết bị có thể xác định bất kỳ cử chỉ
cụ thể nào tương ứng với các từ và cụm từ trong Ngôn ngữ ký hiệu của Mỹ (ASL) và dịch nó thành lời nói qua loa và văn bản được hiển thị trên màn hình LCD [5] Tại hội nghị máy tính và truyền thông quốc tế (ICCCE'06) của IEEE tại Kuala Lumpur, Malaysia năm 2006, các nhà nghiên cứu giới thiệu một hệ thống SSLIS (Speech to Sign Language Interpreter System) Hệ thống này trình bày về việc dịch
Trang 24bài phát biểu bằng tiếng Anh thành video ngôn ngữ ký hiệu của Mỹ (ASL) ở chế độ trực tiếp Trong hệ thống này, Sphinx 3.5 được sử dụng cho việc nhận dạng lời nói
và dịch thuật CMU Sphinx, còn được gọi ngắn gọn là Sphinx, là thuật ngữ chung để
mô tả một nhóm các hệ thống nhận dạng giọng nói được phát triển tại Đại học Carnegie Mellon Chúng bao gồm một loạt các máy nhận dạng giọng nói (Sphinx 2 - 4) và một mô hình huấn luyện âm thanh (SphinxTrain) [6]
Một hệ thống khác là Voice to Sign Language Translation System (V2S) được
Oi Mean Foong, Tang Jung Low, và Wai Wan La thuộc trường Đại học Công nghệ PETRONAS ở Malaysia nghiên cứu và phát triển với chức năng phiên dịch từ giọng nói sang ngôn ngữ cử chỉ và ngược lại cho người khiếm thính ở Malaysia Hệ thống này sử dụng hai kỹ thuật đó là kỹ thuật nhận dạng lời nói và kỹ thuật xử lý ảnh, với
kỹ thuật nhận dạng template-based làm phương pháp chính Hệ thống V2S trước tiên cần được huấn luyện với các giọng nói mẫu dựa trên một số tập tham số về phổ Các tham số này sau đó sẽ được lưu trữ dưới dạng template trong cơ sở dữ liệu Hệ thống
sẽ thực hiện quy trình nhận dạng thông qua việc so khớp bộ tham số của lời nói ngõ vào với các template được lưu trữ, sau đó hiển thị ngôn ngữ ký hiệu ở định dạng video Kết quả thực nghiệm cho thấy hệ thống có tỷ lệ nhận dạng là 80,3% [7]
Hệ thống giúp chuyển đổi từ tiếng Tây Ban Nha sang thủ ngữ giúp cho người câm điếc trong việc nộp hoặc làm mới các tài liệu định danh và hộ chiếu được nghiên cứu trong [8] Hệ thống này giúp cho các cán bộ có thể giải thích cho người khiếm thính thông qua thủ ngữ Cấu trúc hệ thống này gồm một bộ nhận dạng giọng nói (chuyển đổi câu nói thành một chuỗi từ), một bộ dịch ngôn ngữ tự nhiên (chuyển các chuỗi từ thành một chuỗi các cử chỉ trong thủ ngữ) và một mô đun 3D hiển thị cử chỉ Qua các thí nghiệm thì có được các tỷ lệ GER 27,2% (tỷ lệ lỗi cử chỉ) và giá trị BLEU đạt 0,62 Hệ thống so sánh giữa việc ngõ vào là dạng văn bản và dạng lời nói thì có
tỷ lệ sai như sau:
Trang 25Bảng 2.1: Tỷ lệ các lỗi so sánh giữa ngõ vào là văn bản và ngõ vào là lời nói của hệ
thống
Các tỉ lệ sai số trên có tỉ lệ chênh lệch cao ở hai mục là tỷ lệ GER và DEL là do
hệ thống nhận dạng giọng nói chưa được tốt dẫn, đến các từ xuất hiện trong câu nói
không có trong tập câu đã quy định Do đó các cử chỉ ở ngõ ra của hệ thống sẽ không
được thể hiện
Một hệ thống khác được nghiên cứu ở [9] cũng cho việc chuyển đổi giọng nói
sang thủ ngữ ở Tây Ban Nha trong việc hướng dẫn người khiếm thính sử dụng
passport và những thông tin liên quan Kết quả của thử nghiệm trong bài báo này với
tỷ lệ SER là 32,0% thấp hơn so với [8] và BLEU là 0,71 tốt hơn so với [8]
2.1.2 Các nghiên cứu và ứng dụng trong nước
Hiện tại, do chưa có ứng dụng liên quan nào được nghiên cứu và phát triển trong
việc chuyển lời nói hay văn bản sang thủ ngữ tiếng Việt một cách trực tiếp ở Việt
Nam, nên khi muốn giao tiếp với người câm điếc buộc người nói phải hiểu và biết
cách sử dụng thủ ngữ Đối với người không hiểu về thủ ngữ, đa phần phải sử dụng
các ứng dụng chuyển đổi như đã nêu trên của nước ngoài với điều kiện phải biết ngôn
ngữ mà ứng dụng đó hỗ trợ, như tiếng Anh Mặc dù có sự tương đồng về thủ ngữ giữa
các nước, nhưng việc lạm dụng sử dụng ứng dụng của nước khác nhau sẽ không tránh
khỏi những nhầm lẫn hoặc thiếu sót không đáng có
Một cách khác không thường xuyên khác để người bình thường truyền tải thông
tin tới người khiếm thính là người bình thường phải sử dụng từ điển thủ ngữ tiếng
Việt Nhược điểm của từ điển này là chỉ biểu thị được từng từ một
Trang 26CHƯƠNG 3: CƠ SỞ LÝ THUYẾT
3.1 Tổng quan về kỹ thuật nhận dạng giọng nói tự động
Mục tiêu của nhận dạng giọng nói tự động là tạo ra chuỗi từ chính xác hoặc bảng phiên âm dựa vào một dạng sóng giọng nói đã cho Có rất nhiều hình thức để biểu đạt thông tin và cảm xúc của một cá nhân, trong đó tiếng nói là một hình thức
dễ dàng nhất giúp con người có thể truyền tải đầy đủ thông tin và cả cảm xúc của bản thân Do đó, kỹ thuật nhận diện giọng nói tự động (Automatic Speech Recognition – ASR) ra đời để phục cho các mục đích liên quan [10], [11] Kể từ khi máy móc có thể mô phỏng hành vi của con người, ASR là một trong những tác vụ quan trọng nhất với sự trợ giúp của máy tính Giao tiếp bằng tiếng nói của con người khác rất nhiều
so với các hệ thống giao tiếp nhân tạo, như sóng vô tuyến radio hoặc sự truyền dữ liệu (data transmission) Sau đó, hệ thống thiết kế kiểm soát bản chất của tín hiệu truyền và tìm cách giảm thiểu tổn thất trong quá trình truyền (băng thông quang phổ, năng lượng tín hiệu và thời lượng tín hiệu) Trong các kênh nhân tạo, bộ thiết kế có thể điều chỉnh việc truyền dẫn bằng nhiều cách để tối ưu hóa giao tiếp [12] Một số ứng dụng của phương pháp này là chuyển đổi giọng nói sang văn bản (speech to text), đặt vé, kiểm soát không lưu, bảo mật và nhận dạng sinh trắc học, chơi game, tự động hóa nhà và ô tô Ngoài ra, những tiến bộ trong lĩnh vực ASR có thể giúp ích cho người khuyết tật và người cao tuổi Các giải thuật tiên phong trong lĩnh vực ASR được kể đến là kỹ thuật hệ số Cepstral tần số Mel (Mel Frequency Cepstral Coefficients) [13], [14] và các mô hình Markov ẩn Sau đó là các phương pháp mới như biến đổi Wavelet (Wavelet-transform), mạng nơ ron nhân tạo (Artificial Neural Network), và máy hỗ trợ véc tơ (Support Vector Machine) đang dần trở nên phổ biến hơn [10]
3.2 Các kỹ thuật trong nhận dạng giọng nói
3.2.1 Chuyển đổi sóng âm thanh
Để máy tính có thể xử lý được âm thanh thì ta cần chuyển tín hiệu âm thanh thành các tín hiệu điện, sau đó là chuyển những tín hiệu điện này sang ngôn ngữ máy tính, đó là các bit Như ta đã biết, âm thanh có dạng sóng hay còn gọi là sóng âm
Trang 27thanh Như vậy để chuyển những sóng này sang tín hiệu bit cần sử dụng kỹ thuật lấy mẫu Cần áp dụng phép biến đổi Fourier để chuyển đổi thông tin miền thời gian sang miền tần số Ví dụ, một sóng vuông có thể được phân tích thành tổng của nhiều sóng sin Nói chung, để phân tích một sóng âm thanh bất kỳ thì ta cần phải biết thành phần tần số và cường độ tương ứng
Hình 3.1: Tổng hợp Fourier của sóng vuông [15]
Hình 3.2: Các cặp tín hiệu trong miền thời gian và tần số tương ứng [16]
Trang 28Các tín hiệu ở miền tần số sẽ được phân tích phổ của chúng để phục vụ cho việc tính toán, cũng như phân biệt được các tín hiệu này là tín hiệu gì thông qua biên độ, pha hay năng lượng của phổ Kết quả của việc phân tích này sẽ được lưu trữ để sử dụng cho các mục đích khác, để truyền đi xa, hoặc thiết kế các bộ giải mã
3.2.2 Các mô hình cơ bản được sử dụng trong nhận dạng giọng nói
Mô hình Discriminative
Mô hình Discriminative, còn được gọi là mô hình có điều kiện hoặc mô hình lùi (backward model), là một loại học máy có giám sát (Supervised Learning) được sử dụng trong việc phân loại hoặc tính toán hồi quy Chúng phân biệt đường biên quyết định (decision boundaries) bằng cách suy luận từ những dữ liệu quan sát được [17]
Ví dụ: ta có một nhiệm vụ đó là cần tách riêng các tấm hình heo và gà trong một đống hình có sẵn, mô hình này chỉ có thể quyết định bức ảnh đó là heo hay là gà chứ không
có chức năng phân tách ra Đó là vì mô hình này sẽ dựa vào các tập mẫu huấn luyện
và tìm ra điểm giống nhất với những gì nó đã được học
Các mô hình discriminative điển hình bao gồm hồi quy logistic (logistic regression – LR), máy hỗ trợ vectơ (support vector machines – SVM), cây quyết định (decision trees), mạng nơ ron nhân tạo và nhiều mô hình khác
Mô hình Generative
Các mô hình generative có thể tạo ra các phiên bản dữ liệu mới Các mô hình này được thiết kế trực quan để tạo các mẫu đặc trưng ngẫu nhiên với một vài loại nhãn được biết trước Mô hình này được sử dụng nhiều trong việc phân loại dữ liệu theo kiểu loại dữ liệu nào có khả năng nhất trong việc tạo ra dữ liệu đang xét đến Trong ngữ cảnh của dữ liệu tuần tự như lời nói, một mô hình generative chỉ định phân
phối xác suất chung P(ω1:M, x1:T) qua đặc trưng âm thanh và các chuỗi từ Phân phối
chung này sau đó được sử dụng để thu được phân phối có điều kiện của chuỗi nhãn
P(ω 1:M | x1:T) Áp dụng định luật Bayes [18]:
ω̂ = arg 𝑚𝑎𝑥
ω
𝑝 (ω, 𝑥1:𝑇)𝑝(𝑥1:𝑇)
=arg 𝑚𝑎𝑥
Trang 29Với 𝜔̂ là giả thuyết giải mã (decoding hypothesis) có nhiều khả năng nhất, x1:T
là chuỗi tuần tự các đặc trưng về âm học, và ω1:M là chuỗi các giả thiết ứng với ngõ
vào đã phân tích được
Một framework Generative chuẩn để nhận dạng giọng nói được minh họa trong
Hình 3.3 Mô hình này gồm năm thành phần chính: khâu xử lý Front-end, mô hình
âm học (Acoustic model), mô hình ngôn ngữ (Language model), từ vựng và bộ giải
mã
Hình 3.3: Mô hình Generative trong nhận dạng giọng nói [18]
Khâu xử lý front-end trích xuất các đặc trưng âm học từ các dạng sóng Mô hình
âm học xử lý và cho ra tất cả các nhân tố âm học có thể nhận dạng được x1:T, nên ta cũng có được rất nhiều các chuỗi giả thiết ω 1:M tương ứng dựa trên các nhân tố này được phân tích bởi mô hình ngôn ngữ và từ vựng Giả thuyết giải mã cuối cùng ở ngõ
ra (có thể là văn bản hoặc bản dịch, phiên mã) là giả thuyết có sự tương đồng với lời nói ngõ vào nhất trong số các giả thiết khác dựa trên kết quả tính toán của (3.1) (tùy vào mục đích sử dụng mà bộ giải mã sẽ giải mã ra dữ liệu tương ứng)
Mô hình markov ẩn (Hidden Markov Models – HMM)
Trước kỷ nguyên Deep Learning (DL) được ứng dụng trong việc nhận dạng giọng nói, các kỹ thuật sử dụng các mô hình Markov ẩn (Hidden Markov Models –
Giả thuyết giải
mã (Decoding Hypothesis)
Từ vựng
Bộ giải mã
Khâu xử lý front-end
Mô hình ngôn ngữ
Mô hình âm học Dạng sóng
lời nói
Trang 30HMM) [19], [20] và mô hình hỗn hợp Gaussian (Gaussian Mixture Models – GMM) [17], [21] là hai công nghệ phải học để nhận dạng giọng nói Hiện nay, có những hệ thống lai kết hợp HMM với Deep Learning và có những hệ thống không sử dụng HMM Tuy nhiên, đối với nhiều mô hình Generative, HMM vẫn đóng vai trò rất quan trọng
Mô hình Markov ẩn (HMMs) là mô hình Generative được sử dụng rộng rãi cho các mô hình âm thanh trong nhận dạng giọng nói [22] Sự căn chỉnh cho hệ thống này được mô hình hóa dưới dạng các biến không thể quan sát được gọi là trạng thái ẩn, tạo ra các vectơ đặc trưng
Hình 3.4: Mô hình đơn giản biểu thị trạng thái xác suất HMM [18]
Tại thời điểm t, trạng thái ẩn ψt (vòng tròn trắng) không quan sát được Vectơ đặc trưng x t (vòng tròn xanh) bị phụ thuộc vào trạng thái trước đó thì quan sát được
Mỗi trạng thái ψ t được liên kết với một hàm PDF p(x | ψt) để tạo ra vectơ đặc trưng, được gọi là xác suất tạo ra trạng thái (state emitting probability) Trạng thái tại thời
điểm t + 1 chỉ phụ thuộc vào trạng thái trước đó tại thời điểm t Sự chuyển đổi trạng thái được điều chỉnh bởi P(ψ t + 1 | ψ t) được gọi là xác suất chuyển trạng thái Dạng
mô hình tổng quát này đưa ra hai giả thiết [18]:
1 Trạng thái độc lập có điều kiện: xác suất tạo ra vector đặc trưng x t chỉ phụ
thuộc vào trạng thái hiện tại ψ t
2 Giả thiết Markov bậc nhất: xác suất chuyển sang trạng thái ψ t+1 chỉ phụ thuộc
vào trạng thái hiện tại ψ t
Về mặt phân phối xác suất, những giả định này có thể được biểu thị bởi công thức [18]:
Trang 31𝑃(𝜓𝑡+1 |𝜓1:𝑡, 𝜔1:𝑀) ≈ 𝑃(𝜓𝑡+1 |𝜓1:𝑡) 𝑝(𝑥𝑡 |𝑥1:𝑡−1, 𝜓1:𝑡) ≈ 𝑝(𝑥𝑡 |𝜓𝑡) Trong nhận dạng giọng nói, một mô hình Markov ẩn được sử dụng để mô hình hóa từng đơn vị âm học cơ bản Các HMM sử dụng từ vựng có thể được kết hợp với nhau để biểu thị các từ và câu
3.3 Cấu trúc chung của một hệ thống chuyển đổi lời nói sang văn bản (Speech to Text)
Công việc nhận dạng giọng nói có thể được xem như việc tìm kiếm chuỗi từ khớp nhất, sát nghĩa với câu nói dựa trên các mô hình âm học (Acoustic model), mô hình Từ vựng (Lexicon model) và mô hình Ngôn ngữ (Language model)
Hình 3.5: Sơ đồ tổng quát của một hệ thống chuyển đổi lời nói sang văn bản [23]
Phổ của sóng lời nói
Trích xuất đặc trưng
Bộ giải
mã
Mô hình Ngôn ngữ
Chuỗi từ
Trang 32nhận dạng giọng nói Mô hình Từ vựng không đầy đủ gây ra việc truyền tải thông tin hầu như bị thiếu hoặc chỉ được trình bày một cách rất nghèo nàn [24] Vai trò của mô hình Từ vựng có thể được xem xét trong hai công việc: thứ nhất, chỉ định những từ hoặc mục từ vựng nào đã được biết trong hệ thống; thứ hai, cung cấp phương tiện để xây dựng các mô hình Âm học cho mỗi ngõ vào Để nhận dạng giọng nói với lượng
từ vựng lớn, từ vựng trong mô hình Từ vựng thường được chọn để tối đa hóa phạm
vi và có một kích thước nhất định Các đơn vị cơ bản được lựa chọn thường là các
âm vị hoặc đơn vị giống như ngữ âm [25] Đối với các ngôn ngữ có nguồn tài nguyên thấp, việc tạo từ vựng ngữ âm theo cách thủ công có thể không thực tế Có một cách tiếp cận khác là xây dựng một biểu đồ từ vựng [26], [27], [28], trong đó cách phát âm của một từ được xác định bởi các chữ cái tạo thành từ đó Từ vựng graphemic cho phép xây dựng hệ thống nhận giạng giọng nói tự động mà không cung cấp thông tin ngữ âm [18]
• Kỹ thuật Filter bank
Tiếp đến, kỹ thuật Filter bank được áp dụng lên phổ Các vectơ đặc trưng sau khi phân tích Filter bank thường được thay đổi theo hàm log (·) để thay đổi phạm vi động (Dynamic Range) Đặc trưng được trích xuất bởi quá trình này được gọi là đặc tính Filter bank [18]
• Đặc trưng Cepstral
Trang 33Biểu diễn thu được từ phân tích Filter bank có thể được xử lý thêm để thu được các đặc trưng Cepstral Có hai loại đặc trưng Cepstral được sử dụng rộng rãi trong nhận dạng giọng nói, đó là Cepstral tần số Mel (mel-frequency cepstral) và hệ số dự đoán tuyến tính thuộc về tri giác (perceptual linear predictive coefficients – là một loại đặc trưng Cepstral khác) Các hệ số Cepstral tần số Mel (MFCC) sử dụng các bộ lọc cách đều nhau trên thang đo Mel để thu được độ phân giải phi tuyến [18]:
𝑀𝑒𝑙(𝑓) = 2595𝑙𝑜𝑔10(1 + 𝑓
700)
trong đó f đại diện cho tần số nhận được trước đó Sau đó, phép biến đổi cosine
rời rạc được thực hiện để mang lại hệ số cepstral [29], được gọi là các đặc trưng của MFCC
Các ngõ ra sau đó được xử lý bằng một phép biến đổi phi tuyến dựa trên định luật công suất intensity-loudness và equal-loudness Dự đoán tuyến tính được thực hiện sau cùng để thu được các hệ số cepstral, được gọi là các đặc trưng PLP [30]
• Đặc trưng động
Các tính năng âm thanh được trích xuất ở cấp độ khung hình, tập trung nhiều hơn vào thông tin tĩnh trong cửa sổ thời gian Thông thường, các đặc trưng động bậc nhất, bậc hai và bậc ba được sử dụng để nhấn mạnh mối tương quan trong các khung hình liên tiếp [31]
• Chuẩn hóa đặc trưng
Chuẩn hóa tính năng nhằm mục đích xóa thông tin không liên quan khỏi các đặc trưng Ngoài ra, kỹ thuật này còn được sử dụng để chuẩn hóa phạm vi của các đặc trưng Các đặc trưng thuộc về âm thanh có thể bao gồm một loạt các yếu tố không liên quan, chẳng hạn như giọng, giới tính, tiếng ồn môi trường và kênh Chuẩn hóa
có thể làm giảm tác động của các yếu tố không liên quan đến các đặc trưng Các kỹ thuật chuẩn hóa truyền thống bao gồm chuẩn hóa trung bình âm [32], chuẩn hóa phương sai Cepstral [33] và chuẩn hóa chiều dài đường âm [34]
3.3.4 Mô hình ngôn ngữ
(3.3)
Trang 34Một mô hình ngôn ngữ có thể hiểu đơn giản là nó học cách dự đoán xác suất của một chuỗi các từ Các đoạn âm thanh giọng nói được phân tích có thể không hoàn hảo về mặt ngữ pháp hoặc bị bỏ qua các từ, do đó cần có một mô hình để giải mã những phân tích này để cải thiện độ chính xác của ASR, đó là mô hình ngôn ngữ
Mô hình ngôn ngữ tính toán khả năng xuất hiện likelihood [35], [36] của một chuỗi các từ cho bởi công thức:
P(W) = P(“cuoc doi van dep sao”)
≈ P(“cuoc”) P(“cuoc”|“doi”) P(“doi”|“van”) P(“van”|“dep”) P(“dep”|“sao”)
3.3.5 Bộ giải mã
Sau khi mô hình Âm học và mô hình Ngôn ngữ được huấn luyện, bộ giải mã cho phép hệ thống nhận dạng giọng nói ước tính chuỗi các từ của người nói Thông tin được nhúng trong mô hình Âm học và mô hình Ngôn ngữ sẽ được tích hợp trong một biểu đồ tìm kiếm, trong đó mỗi đường dẫn (path) bắt đầu từ trạng thái ban đầu đến trạng thái cuối biểu thị cho một chuỗi từ cụ thể [37] Trong số tất cả các phương pháp có thể có, mục tiêu của bộ giải mã là tìm ra trường hợp có khả năng xảy ra nhất, tương ứng với chuỗi từ có thể xảy ra nhất
Cho một chuỗi các tính năng âm thanh x 1:T, bộ giải mã tìm kiếm chuỗi từ tối ưu nhất 𝜔̂ sử dụng các mô hình Âm học, từ vựng và mô hình Ngôn ngữ được cho bởi công thức sau [18]:
𝜔̂ =𝑎𝑟𝑔𝑚𝑎𝑥
𝜔 𝑝(𝑥1:𝑇|𝜔)𝑃(𝜔)
(3.4)
(3.5)
Trang 35𝜔 𝑃(𝜔) ∑ 𝑝(𝑥1:𝑇|𝜓1:𝑇)𝑃(𝜓1:𝑇|𝜔)
𝜓 1:𝑇Quá trình tìm kiếm này có thể được xem như là tìm ra path tốt nhất thông qua một đồ thị có hướng, được gọi là mạng giải mã xây dựng từ mô hình Âm học, mô hình ngôn Ngữ và từ Vựng
3.4 Sơ lược các giải thuật và mô hình xử lý ngôn ngữ tự nhiên được sử dụng trong mạng học sâu (Deep Learning)
3.4.1 Các kỹ thuật cơ bản
Các phương pháp xử lý ngôn ngữ tự nhiên trong Deep Learning dựa trên các mô hình Bag of Word, mô hình Vector Space of Words và các cơ sở tri thức và bản thể học được mã hóa Một trong những lĩnh vực chính để xử lý ngôn ngữ tự nhiên là phân tích cú pháp và ngữ nghĩa của ngôn ngữ Phân tích cú pháp đề cập đến cách các từ được nhóm lại và kết nối với nhau trong một câu Các nhiệm vụ chính trong phân tích
cú pháp là gắn thẻ các phần của lời nói, phát hiện các phân lớp về cú pháp (như động
từ, danh từ, cụm danh từ, …) và ráp các câu bằng cách xây dựng các cú pháp theo dạng cây Phân tích ngữ nghĩa đề cập đến các nhiệm vụ phức tạp như tìm từ đồng nghĩa, làm cho các động từ có nghĩa … [38] Các kỹ thuật này bao gồm:
• Mã hóa one-hot (One-hot Encoding – OHE): chuyển đổi các tính năng phân loại (không phải số) thành các biến số [39]
• Vector Space Model (VSM): Tìm tỷ lệ tương đồng giữa các câu dựa vào giá
trị tính được [38]
• Véc tơ biểu thị cho từ (Vector Representation of Words): Biểu thị các câu
trong văn bản dưới dạng véc tơ với các thành phần là số lượng từ có trong mỗi câu [38]
• Word embedding: chuyển đổi các từ trong văn bản thành các véc tơ số để
chúng có thể được phân tích bằng các thuật toán học máy tiêu chuẩn
• Continuous Bag of Words (CBOW): Phương pháp CBOW là phương pháp
dự đoán từ trung tâm dựa vào các từ lân cận từ đó [38]
(3.6)
Trang 36• Mô hình Skip-Gram cho Word Embedding: Các context word được dự
đoán dựa trên từ hiện tại thay vì dự đoán từ hiện tại dựa trên context word như trong phương pháp Continuous Bag of Words
3.4.2 Mạng nơ ron nhân tạo (Artificial Neural Network – ANN)
Mạng nơ ron nhân tạo là một hệ thống xử lý thông tin với hiệu suất có thể so sánh với mạng nơ ron thần kinh sinh học ở người Mạng nơ ron nhân tạo được xây dựng dựa trên sự tổng quát hóa các mô hình toán học của quá trình nhận thức sinh học hay mạng thần kinh ở người, với các các giả định [40]:
• Sự xử lý thông tin xảy ra trên các nhân tố gọi là nơ ron
• Tín hiệu được chuyển qua giữa các nơ ron qua các đường liên kết
• Mỗi đường liên kết được gắn với một trọng số, sau đó nhân trọng số này với giá trị của tín hiệu truyền
• Mỗi nơ ron kết hợp một hàm activation function (hàm tác động, và thường là hàm phi tuyến) với mạng đầu vào của nó (tổng các trọng số tín hiệu đầu vào)
để xác định tín hiệu đầu ra
3.4.3 Mạng nơ ron hồi quy (Recurrent Neural Network – RNN)
Mạng RNN được thiết kế để sử dụng và học các dạng thông tin tuần tự Kiến trúc RNN có đặc điểm là mọi phần tử của chuỗi đều thực hiện cùng một nhiệm vụ RNN được sử dụng rất nhiều trong lĩnh vực xử lý ngôn ngữ tự nhiên vì tính phụ thuộc theo một cách tuần tự của các từ trong bất kỳ ngôn ngữ nào Ví dụ trong việc dự đoán
từ tiếp theo trong câu dựa vào chuỗi từ xuất hiện trước từ đó là điều rất quan trọng [38]
3.5 API Speech-to-Text của Google
Google về cơ bản được coi là hệ thống thần kinh của Internet vào thời điểm này, thì hiển nhiên API Speech-To-Text của Google là một trong những API phổ biến và mạnh nhất dành cho các nhà phát triển Google Speech-To-Text đã được biết đến vào năm 2018 chỉ một tuần sau khi Text-To-Speech được cập nhật Theo Google thì API Speech-To-Text của họ giảm 54% lỗi từ sau khi kiểm tra Một trong những lý do đạt được độ chính xác ấn tượng của API này là khả năng lựa chọn giữa các mô hình
Trang 37Machine Learning khác nhau, tùy thuộc vào ứng dụng của người dùng được sử dụng cho mục đích gì Điều này cũng làm cho Google Speech-To-Text trở thành một giải pháp phù hợp cho các ứng dụng khác ngoài tìm kiếm trên short web (trang web được rút gọn) Nó cũng có thể cấu hình được cho âm thanh từ các cuộc gọi điện thoại hoặc video API Speech-To-Text cũng được phát hành một bản cập nhật lớn cho các tùy chọn dấu chấm câu mở rộng Điều này được thiết kế để thực hiện các phiên âm hữu ích hơn, với ít run-on sentence (lỗi khi hai mệnh đề được liên kết với nhau mà thiếu hoặc sai dấu câu) hoặc ít lỗi đặt dấu chấm câu hơn Bản cập nhật mới nhất cũng cho phép các nhà phát triển gắn thẻ âm thanh hoặc video được sao chép của họ với metadata (hay siêu dữ liệu – là dạng dữ liệu miêu tả về dữ liệu) cơ bản API Speech-To-Text của Google miễn phí khi nhận dạng giọng nói cho âm thanh dưới 60 phút Đối với bản ghi âm dài hơn, nó có giá 0,006 Đô La cho mỗi 15 giây Chi phí để quay video là 0,006 đô la cho mỗi 15 giây đối với các video có thời lượng tối đa 60 phút Với video dài hơn 60 phút sẽ có giá 0,012 đô la cho mỗi 15 giây [41]
Nhược điểm: tốn phí trong các trường hợp đã nêu trên, hạn chế trong việc tùy
ý xây dựng từ vựng, yêu cầu luôn kết nối mạng trong quá trình sử dụng
Việc nhận dạng giọng nói tự động trong API Speech to Text của Google được phát triển bằng việc sử dụng rất nhiều các mạng nơ ron nhân tạo nhiều lớp (Deep Neural Networks – DNNs), như các mạng nơ ron Hồi Quy (Recurrent Neural Network – RNNs) [38] Họ dần cải tiến độ chính xác API của mình lên bằng cách tăng cường thêm các kỹ thuật sử dụng trong các khâu tiền xử lý (loại bỏ tiếng ồn, khử tiếng vang trong tiếng nói, tách nguồn của tiếng ồn) và trích xuất đặc trưng, đồng thời kết hợp sử dụng thêm các mô hình mạng nơ ron nhân tạo LSTM và các mô hình sequence-to-sequence [42], [43] Bằng các kết hợp này, các nhiễu không liên quan đến giọng nói đã được giảm đáng kể [44], [45]
Google sử dụng 2 loại API chính cho API Speech to Text của mình: REST và gRPC:
1 REST (Representational state transfer) là một kiến trúc được sử dụng để thiết
kế các ứng dụng kết nối mạng [46]
Trang 382 gRPC (gRPC Remote Procedure Calls) là một framework hiệu suất cao mã nguồn mở HTTP/2 do Google phát triển có thể chạy trong mọi môi trường Nó bao gồm các hỗ trợ cho việc cân bằng tải, theo dõi, kiểm tra sức khỏe và xác thực, hỗ trợ nén định dạng dữ liệu nhị phân và mã hóa dây hiệu quả thông qua tuần tự hóa bộ đệm giao thức [47]
Ba phương pháp chính để thực hiện nhận dạng giọng nói trong Speech to Text của Google [48]:
1 Nhận dạng đồng bộ (REST và gRPC) gửi dữ liệu âm thanh đến API chuyển giọng nói thành văn bản, thực hiện nhận dạng trên dữ liệu đó và trả về kết quả sau khi tất cả âm thanh đã được xử lý Nhận dạng đồng bộ được giới hạn đối với dữ liệu âm thanh có thời lượng từ 1 phút trở xuống
2 Nhận dạng không đồng bộ (REST và gRPC) gửi dữ liệu âm thanh đến API chuyển lời nói thành văn bản và bắt đầu thao tác chạy dài (Long Running Operation) Sử dụng thao tác này có thể thăm dò định kỳ để biết các kết quả Nhận dạng không đồng bộ cho dữ liệu âm thanh có thời lượng lên đến 480 phút
3 Nhận dạng luồng (chỉ gRPC) thực hiện nhận dạng dữ liệu âm thanh được cung cấp trong luồng hai chiều gRPC (nhận dạng trực tuyến) Nhận dạng này được thiết kế cho mục đích nhận dạng thời gian thực, chẳng hạn như thu âm thanh trực tiếp từ micro Nhận dạng luồng cung cấp kết quả tạm thời trong khi âm thanh đang được ghi lại, cho phép kết quả xuất hiện, chẳng hạn như trong khi người dùng vẫn đang nói
Bảng 3.1 khảo sát trên 10 câu nói sử dụng API Speech to Text của Google với
lập trình Python Kết quả là 100% độ khớp về ý nghĩa giữa các văn bản trả về của API Speech to Text của Google và câu nói ngõ vào Điều kiện khảo sát là Học viên nói vào micro ghi âm một cách chậm rãi (khoảng 100 từ/phút), nói lớn và rõ từng từ một, tiếng ồn của môi trường lúc khảo sát là 60 dB và cường độ giọng nói ghi âm
Trang 39trung bình là 76 dB Tốc độ xử lý của API Speech to Text của Google còn phụ thuộc vào tốc độ mạng nhanh hay chậm
Bảng 3.1: Ngõ ra dạng văn bản khi thu âm lời nói tương ứng
Câu nói thử nghiệm API Speech to Text của Google Rất hân hạnh được phục vụ quý khách Rất hân hạnh được phục vụ quý khách Chúng ta hãy kết bạn nhé Chúng ta hãy kết bạn nhé
Con chó đuổi con mèo trong vườn Con chó đuổi con mèo trong vườn
Mình rất vui khi được gặp bạn mình rất vui khi được gặp bạn
Sao mà chán thế này sao mà chán thế này
Mình phải được chín điểm chuyên đề Mình phải được chín điểm chuyên đề Cuộc đời vẫn đẹp sao tình yêu vẫn
đẹp sao
Cuộc đời vẫn đẹp sao tình yêu vẫn đẹp sao
Yêu em tôi biết phải làm sao Yêu em tôi biết phải làm sao
Gia đình bạn có bao nhiêu thành viên Gia đình bạn có bao nhiêu thành viên
3.6 Kỹ thuật Levenshtein Distance
3.6.1 Kỹ thuật gốc (character-based)
Chỉnh sửa khoảng cách được đề xuất bởi nhà khoa học Nga Vladimir Levenshtein vào năm 1965 Kết quả của kỹ thuật này là số lượng tối thiểu các thao tác (thêm, xóa, thay thế) các ký tự để chuyển một chuỗi này thành một chuỗi khác Levenshtein Distance thường được sử dụng trong tính toán sự tương đồng về cấu trúc của các chuỗi [49]
Levenshtein Distance giữa hai chuỗi a và b với chiều dài |𝑎| và |𝑏| tương ứng
được cho bởi [49]: