BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG SAU ĐẠI HỌC ~~~~~~*~~~~~~ BÀI BÁO CÁO MÔN HỌC TÊN BÀI NHẬN DẠNG TIẾNG NÓI RỜI RẠC DÙNG HMM Đà Nẵng – 2022 1 Giới thiệu Học viên thực hiện NGUYỄN[.]
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
SAU ĐẠI HỌC
~~~~~~*~~~~~~
BÀI BÁO CÁO MÔN HỌC
TÊN BÀI:
NHẬN DẠNG TIẾNG NÓI RỜI
RẠC DÙNG HMM
Đà Nẵng – 2022
1 Giới thiệu
Học viên thực hiện : NGUYỄN HOÀNG ANH VŨ
LÊ HỒNG PHƯƠNG VƯƠNG NHẬT QUANG
Lớp : K43.KMT
Giảng viên hướng dẫn : TS NINH KHÁNH DUY
Trang 2Tiếng nói thường xuất hiện dưới nhiều hình thức mà ta gọi là đàm thoại, việc đàm thoại thể hiện kinh nghiệm của con người đàm thoại là một quá trình gồm nhiều người, có sự hiểu hiết chung và một nghi thức luân phiên nhau nói Những người có điều kiện thể chất và tinh thần bình thường thì rất dễ diễn đạt tiếng nói của mình, do đó tiếng nói là phương tiện giao tiếp chắnh trong lúc đàm thoại Tiếng nói có rất nhiều yếu tố khác hỗ trợ nhằm giúp người nghe hiểu được ý cần diễn đạt như biểu hiện trên gương mặt, cử chỉ, điệu bộ Vì có đặc tắnh tác động qua lại, nên tiếng nói được sử dụng trong nhu cầu giao tiếp nhanh chóng Trong khi đó, chữ viết lại có khoảng cách về không gian lẫn thời gian giữa tác giả và người đọc Sự biểu đạt của tiếng nói hỗ trợ mạnh mẽ cho việc ra đời các hệ thống máy tắnh có sử dụng tiếng nói, vắ dụ như lưu trữ tiếng nói như là một loại
dữ liệu, hay dùng tiếng nói làm phương tiện giao tiếp qua lại Nếu chúng ta có thể phân tắch quá trình giao tiếp qua nhiều lớp, thì lớp thấp nhất chắnh là âm thanh và lớp cuối cùng là tiếng nói diễn tả ý nghĩa muốn nói
2 Phân loại tiếng nói
Tiếng nói là âm thanh mang mục đắch diễn đạt thông tin, rất uyển chuyển và đặc biệt Là công cụ của tư duy và trắ tuệ, tiếng nói mang tắnh đặc trưng của loài người Nó không thể tách riêng khi nhìn vào toàn thể nhân loại, và nhờ có ngôn ngữ tiếng nói mà loài người sống và phát triển xã hội tiến bộ, có văn hóa, văn minh như ngày nay Trong quá trình giao tiếp người nói, có nhiều câu nói, mỗi câu gồm nhiều từ, mỗi từ lại có thể gồm 1 hay nhiều âm tiết Ở tiếng Việt, số âm tiết ựược sử dụng vào khoảng 6700 Khi chúng ta phát ra một tiếng thì có rất nhiều bộ phận như lưỡi, thanh môn, môi, họng, thanh quản,Ầ kết hợp với nhau
để tạo thành âm thanh Âm thanh phát ra được lan truyền trong không khắ để đến tai người nhận Vì âm thanh phát ra từ sự kết hợp của rất nhiều bộ phận, do đó
âm thanh ở mỗi lần nói khác nhau hầu như khác nhau dẫn đến khá khó khăn khi
ta muốn phân chia tiếng nói theo những ựặc tắnh riêng Người ta chỉ chia tiếng nói thành 3 loại cơ bản như sau:
Ớ Âm hữu thanh: Là âm khi phát ra thì có thanh, vắ dụ như chúng ta nói ỘiỢ,
ỘaỢ, hay ỘoỢ chẳng hạn Thực ra âm hữu thanh ựược tạo ra là do việc không khắ qua thanh môn (thanh môn tạo ra sự khép mở của dây thanh dưới sự điều khiển của hai sụn chóp) với một độ căng của dây thanh sao cho chúng tạo nên dao động
Ớ Âm vô thanh: Là âm khi tạo ra tiếng thì dây thanh không rung hoặc rung đôi
chút tạo ra giọng như giọng thở, vắ dụ ỘhỢ, ỘpỢ hay ỘthỢ
Ớ Âm bật: để phát ra âm bật, đầu tiên bộ máy phát âm phải đóng kắn, tạo nên
một áp suất, sau ựó không khắ ựược giải phóng một cách ựộđ ngột, vắ dụ ỘchỢ,
ỘtỢ
3 Mô hình Markov ẩn và ứng dụng trong việc xử lý tiếng nói
Trang 33.1 Chuỗi Markov
thái từ S i đến S j
Theo đó, ta có ma trận xác xuất chuyển tiếp trạng thái có dạng
A = {a ij} =
a11 a12 a13
a21 a22 a23
a31 a32 a33
Với tổng các xác xuất hang ngang của ma trận bằng 1
Công thức tính xác xuất tổng quá của một chuỗi trạng thái:
- Là mô hình thống kê, trong đó hệ thống được mô hình hoá gọi là một quá trình
Markov với tham số không biết trước và nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được Nó bao gồm 2 chuỗi quá trình, một quá trình quan sát được và một quá trình ẩn Quá trình quan sát được gọi là chuỗi quan sát, quá trình ẩn, không quan sát được gọi là chuỗi trạng thái
Ví dụ đây là cảm xúc của bạn Quang theo thời tiết trong ngày, theo đó trạng thái
ẩn (Hidden state) sẽ là thời tiết và trạng thái quan sát được (State Observable) Giả sử ta chỉ biết được cảm xúc của bạn Quang hằng ngày, ta có thể tính toán được xác xuất của chuỗi ngày thời tiết (Tính xác xuất chuỗi của trạng thái ẩn dựa vào chuỗi trạng thái quan xác được)
Trang 43.2 Ứng dụng HMM trong xử lý tiếng nói
Trong xử lý tiếng nói, tín hiệu tiếng nói là các chuỗi quan sát được như phổ, tần
số cơ bản f0, tần số formant F1, F2, F3, còn âm tiết và âm bị chính là chuỗi trạng thái không quan sát được
Chúng ta có quy trình nhận diện từ rời rạc cụ thể như sau:
Trang 54 Thực nghiệm
4.1 Dữ liệu đầu vào
T Mỗi thư mục có 52 file âm thanh đại diện cho 52 từ được nói từ 10 người khác nhau, vậy tập dữ liệu gồm có 520 file âm thanh
Trang 6
-4.2 Tiền xử lý dữ liệu
Mảng 52 từ gồm:
[
'chú', 'về', 'đào', 'tải', 'đầu', 'cuối', 'kế', 'trước', 'dừng', 'ngừng',
'đọc', 'tiếp', 'lui', 'tới', 'tăng', 'to', 'giảng', 'nhỏ', 'lại', 'lặp',
'nhanh', 'chậm', 'lưu', 'xoá', 'huỷ', 'chạy', 'xong', 'đúng', 'sai', 'giúp',
'giờ', 'ngày', 'tuổi', 'có', 'không', 'mục', 'bài', 'một', 'hai', 'ba',
'bốn', 'năm', 'sáu', 'bảy', 'tám', 'chín', 'a', 'e', 'i', 'o', 'u', 'thổ địa'
]
Ta tạo ra một class tiền xử lý dữ liệu, xử dụng thư viện librosa để chuyển hết
520 files đại diện có 52 từ về tín hiệu số để xử lý dữ liệu Như vậy ta thu về một
bộ data là mảng 52 X 10 X A X B trong đó 52 số lượng từ, mỗi từ có 10 files, A
X B là ma trận mà file đó được chuyển về dạng tín hiệu số
Ở trên là dữ liệu cho các file sử lý âm thanh Tiếp theo, ta mã hoá các labels, tức
là các từ Vì dữ liệu train cần được mã hoá về số liệu Ta sử dụng phương pháp đánh nhãn đơn giản, ta có 52 từ Thứ tự từ cũng chính là số mã hoá, như vậy ta thu được một ma trận 52 X 10 labels đã được mã hoá:
Trang 74.3 Huấn luyện model
tách theo tỷ lệ 6:4 (6 phần để train, 4 phần để test)
tham số đầu vào:
kết quả vào một folder Folder này chứa tất cả các file được train Các file có định dạng pkl
-4.4 Đánh giá dữ liệu test
Trang 8- Sau khi đánh giá dữ liệu test, ta có kết quả như sau:
Trang 9 hai: 0.9038461538461539
trên 88%, nhiều từ có tỷ lệ 100% Những từ có độ chính xác cao thường có đặc điểm là cả files để train và files để test chất giọng đều khá tương đồng nhau
4.5 Dự đoán từ thực tế:
- Ta sử dụng thư viện pyaudio để lấy âm thanh ghi âm được
- Sau khi lấy được file, ta đưa file âm thanh đó vào quy trình của tiền xử lý giống như khi huấn luyện dữ liệu
- Sau khi file được xử lý đó, tiến hành dùng các models của 52 từ được đã được huấn luyện để lấy tỷ lệ phần trăm của từng models Từ nào có tỷ lệ chính xác nhất sẽ là kết quả dự đoán của file record
Tài liệu tham khảo
1 Ninh Khánh Duy, Lê Ngọc Huy “Ứng dụng HTL TOOLKIT xây dựng hệ
Trang 10thống nhận dạng tiếng nói rời rạc với bộ từ vựng hữu hạn”, Luận văn thạc sĩ, 2018
2 Ankan, Ankur, and Abinash Panda Hands-on Markov models with python: Implement probabilistic models for learning complex data sequences using the Python ecosystem Packt Publishing Ltd, 2018
3 Pedregosa, Fabian, et al "Scikit-learn: Machine learning in Python." the Journal of machine Learning research 12 (2011): 2825-2830
4 Amos, D., Works, H S R., SpeechRecognition, I., & PyAudio, I (2018) The Ultimate Guide To Speech Recognition With Python Real Python
5 Van Der Walt, Stefan, S Chris Colbert, and Gael Varoquaux "The NumPy array: a structure for efficient numerical computation." Computing in science & engineering 13.2 (2011): 22-30