Mô Hình Markov Ẩn và Ứng Dụng Trong Nhận Dạng Tiếng Nói

Chuyên khảo kỹ thuật phân tích Mô hình markov ẩn và ứng dụng xây dựng hệ thống nhận dạng tiếng nói, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo.

Trường đại học

Đại học Thái Nguyên

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2018

61
4
0

Phí lưu trữ

30 Point

Tóm tắt

I. Mô Hình Markov Ẩn HMM trong Nhận Dạng Tiếng Nói ASR

Nhận dạng tiếng nói, hay Nhận dạng giọng nói tự động (ASR), là một quá trình nhận dạng mẫu. Mục tiêu là phân loại tín hiệu tiếng nói đầu vào thành một chuỗi các mẫu đã được học và lưu trữ. Các mẫu này có thể là từ hoặc âm vị. Tiếng nói biến thiên theo thời gian và khác biệt giữa những người khác nhau. Tốc độ nói, ngữ cảnh và môi trường âm học cũng tác động. Ngay cả tiếng nói của cùng một người cũng không giống nhau tùy thuộc vào thể trạng. Đây là khó khăn cơ bản nhất của nhận dạng tiếng nói. Việc xác định thông tin biến thiên nào là hữu ích và thông tin nào là vô ích cho nhận dạng là rất quan trọng. Các nghiên cứu hiện nay dựa trên việc biểu diễn tiếng nói bằng các giá trị phổ trong thời gian ngắn, coi nội dung tiếng nói là một dãy ký hiệu ngữ âm và nhận dạng là một quá trình nhận thức.

1.1. Ứng dụng HMM trong ASR Tổng quan về mô hình

Mô hình Markov ẩn (Hidden Markov Model (HMM)) là một mô hình thống kê được sử dụng rộng rãi trong nhận dạng tiếng nói. HMM phù hợp với bản chất biến đổi theo thời gian của tín hiệu tiếng nói. Trong mô hình này, trạng thái ẩn đại diện cho các đơn vị âm học (ví dụ: âm vị hoặc các bộ phận của âm vị). Quá trình phát âm được mô tả như một chuỗi các trạng thái ẩn này, với mỗi trạng thái phát ra một quan sát (ví dụ: vector đặc trưng âm thanh). Ưu điểm của HMM là khả năng mô hình hóa sự biến đổi và không chắc chắn vốn có trong tín hiệu tiếng nói. Ví dụ, một từ có thể được mô hình hóa bằng một HMM, trong đó mỗi trạng thái đại diện cho một phần của từ đó.

1.2. Lịch sử phát triển của HMM trong lĩnh vực ASR

HMM đã trở thành một công cụ quan trọng trong xử lý ngôn ngữ tự nhiên (NLP) và đặc biệt là trong ASR từ những năm 1980. Trước đó, các phương pháp dựa trên so sánh mẫu trực tiếp được sử dụng, nhưng chúng tỏ ra kém hiệu quả trong việc xử lý sự biến đổi của tiếng nói. HMM cung cấp một khuôn khổ thống kê mạnh mẽ để xử lý những biến đổi này. Sự phát triển của các thuật toán Baum-WelchViterbi đã đóng vai trò quan trọng trong việc ứng dụng HMM vào ASR.

II. Giải Mã Tiếng Nói Thuật Toán Viterbi và Baum Welch trong HMM

Để sử dụng HMM trong Nhận dạng giọng nói tự động (ASR), cần giải quyết ba bài toán cơ bản: đánh giá, giải mã và huấn luyện. Bài toán đánh giá (Evaluation) tính xác suất quan sát một chuỗi các đặc trưng âm thanh cho trước một mô hình HMM. Bài toán giải mã (Decoding) tìm ra chuỗi trạng thái ẩn có khả năng nhất tạo ra chuỗi quan sát. Bài toán huấn luyện (Learning) điều chỉnh các tham số của HMM để tối đa hóa xác suất quan sát dữ liệu huấn luyện. Các thuật toán forward, backwardViterbi đóng vai trò quan trọng trong việc giải quyết những bài toán này.

2.1. Ứng Dụng Thuật Toán Viterbi để Giải Mã Âm Thanh Hiệu Quả

Thuật toán Viterbi là một thuật toán lập trình động được sử dụng để tìm đường đi trạng thái ẩn có khả năng nhất trong HMM cho một chuỗi quan sát cho trước. Thuật toán này duyệt qua tất cả các đường đi trạng thái có thể, nhưng loại bỏ các đường đi không thể xảy ra dựa trên xác suất. Thuật toán Viterbi đảm bảo tìm ra đường đi tối ưu và có hiệu quả tính toán cao hơn so với việc duyệt qua tất cả các đường đi.

2.2. Thuật Toán Baum Welch Huấn Luyện Mô Hình Markov Ẩn HMM

Ví dụ, trong một hệ thống nhận dạng tiếng nói, Baum-Welch có thể được sử dụng để huấn luyện mô hình HMM cho từng âm vị dựa trên một tập dữ liệu lớn các mẫu tiếng nói.

III. MFCC và Mô Hình Âm Học Xây Dựng Hệ Thống ASR Mạnh Mẽ

Để xây dựng một hệ thống Nhận dạng giọng nói tự động (ASR) hiệu quả, việc trích xuất các đặc trưng âm thanh phù hợp từ tín hiệu tiếng nói là rất quan trọng. MFCC (Mel-Frequency Cepstral Coefficients) là một trong những đặc trưng phổ biến nhất được sử dụng trong ASR. MFCC mô tả hình dạng của phổ công suất của tín hiệu tiếng nói và có khả năng phân biệt tốt giữa các âm vị khác nhau. Mô hình âm học sử dụng các MFCC này để xây dựng các mô hình thống kê cho từng đơn vị âm thanh.

3.1. Tối Ưu Đặc Trưng Âm Thanh Giải Mã MFCC trong ASR

MFCC là một tập hợp các hệ số mô tả hình dạng của phổ công suất của tín hiệu tiếng nói. Quá trình tính toán MFCC bao gồm các bước sau: chia tín hiệu tiếng nói thành các khung ngắn; áp dụng cửa sổ Hamming; tính toán biến đổi Fourier rời rạc (DFT) của mỗi khung; tính toán công suất phổ; áp dụng bộ lọc Mel; tính toán logarit của công suất phổ Mel; và tính toán biến đổi cosine rời rạc (DCT) của logarit công suất phổ Mel.

3.2. Kết Hợp GMM HMM Phương Pháp Phổ Biến trong ASR

Một phương pháp phổ biến trong nhận dạng tiếng nói là kết hợp HMM với Mô hình Gaussian Mixture (GMM). Trong mô hình GMM-HMM, mỗi trạng thái của HMM được mô hình hóa bằng một GMM. GMM mô tả sự phân bố xác suất của các MFCC trong mỗi trạng thái. Mô hình GMM-HMM có khả năng mô hình hóa sự biến đổi của các đặc trưng âm thanh và cung cấp hiệu suất nhận dạng tốt.

IV. Deep Learning Cải Tiến Nhận Dạng Tiếng Nói với Mạng Nơ ron

Trong những năm gần đây, Deep Learning trong nhận dạng tiếng nói đã đạt được những tiến bộ đáng kể nhờ vào sự phát triển của mạng nơ-ron (Neural Networks) sâu. Mạng nơ-ron sâu có khả năng học các biểu diễn phức tạp của dữ liệu và đã chứng minh hiệu suất vượt trội so với các phương pháp truyền thống trong nhiều tác vụ nhận dạng tiếng nói. Các kiến trúc mạng nơ-ron phổ biến được sử dụng trong ASR bao gồm mạng nơ-ron tích chập (CNN), mạng nơ-ron hồi quy (RNN) và mạng nơ-ron biến áp (Transformer).

4.1. Ứng Dụng TensorFlow và PyTorch trong Xây Dựng Hệ Thống ASR

Các thư viện Python cho nhận dạng tiếng nói như TensorFlow cho nhận dạng tiếng nóiPyTorch cho nhận dạng tiếng nói cung cấp các công cụ và API mạnh mẽ để xây dựng và huấn luyện các mô hình deep learning cho ASR. Các thư viện này giúp đơn giản hóa quá trình phát triển và cho phép các nhà nghiên cứu và kỹ sư tập trung vào việc thiết kế các kiến trúc mạng nơ-ron mới và cải thiện hiệu suất nhận dạng.

4.2. So Sánh Ưu và Nhược Điểm của HMM so với Deep Learning

Mặc dù deep learning đã đạt được những tiến bộ đáng kể, HMM vẫn có những ưu điểm nhất định. HMM dễ huấn luyện hơn và yêu cầu ít dữ liệu hơn so với mạng nơ-ron sâu. HMM cũng có khả năng giải thích tốt hơn so với mạng nơ-ron sâu, vì các trạng thái ẩn có thể được liên kết với các đơn vị âm thanh. Tuy nhiên, mạng nơ-ron sâu có khả năng học các biểu diễn phức tạp hơn và thường đạt được hiệu suất cao hơn trong các tác vụ ASR lớn.

V. Ứng Dụng Thực Tế Hệ Thống Nhận Dạng Tiếng Nói Tiếng Việt

Việc xây dựng một hệ thống nhận dạng tiếng nói cho tiếng Việt đối mặt với nhiều thách thức do đặc điểm của ngôn ngữ này. Tiếng Việt là một ngôn ngữ có thanh điệu, có nghĩa là sự thay đổi cao độ của giọng nói có thể thay đổi nghĩa của từ. Hệ thống cần phải phân biệt các thanh điệu khác nhau để đạt được độ chính xác cao. Đề tài này tập trung nghiên cứu xây dựng hệ thống nhận dạng tiếng Việt liên tục với hướng tiếp cận mẫu thống kê dựa vào mô hình Hidden Markov Model (HMM).

5.1. Xây dựng hệ thống nhận dạng chữ số Tiếng Việt

Để xây dựng hệ thống nhận dạng tiếng nói tiếng Việt cần xây dựng cơ sở dữ liệu chữ số tiếng Việt. Các mẫu chữ số tiếng Việt được thu thập từ nhiều người nói khác nhau để đảm bảo tính tổng quát của mô hình. Dữ liệu được tiền xử lý để loại bỏ nhiễu và chuẩn hóa âm lượng. Sau đó, các đặc trưng âm thanh được trích xuất từ dữ liệu đã được xử lý. Các đặc trưng âm thanh được sử dụng để huấn luyện mô hình HMM cho từng chữ số.

5.2. Các kết quả thực nghiệm

Các kết quả thực nghiệm cho thấy hệ thống nhận dạng chữ số tiếng Việt đạt được độ chính xác cao. Độ chính xác của hệ thống phụ thuộc vào chất lượng của dữ liệu huấn luyện, kiến trúc của mô hình HMM và các tham số huấn luyện. Kết quả thử nghiệm hệ thống nhận dạng với bộ từ điển có chèn sp và không chèn sp.

25/05/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1 MỘT SỐ KIẾN THỨC CƠ BẢN VỀ NHẬN DẠNG TIẾNG NÓI 1. Khái niệm chung 1. Khái niệm nhận dạng tiếng nói Nhận dạng tiếng nói nhìn chung cũng là một quá trình nhận dạng mẫu, với mục đích là phân lớp tín hiệu tiếng nói (đầu vào) thành một dãy tuần tự các mẫu đã được học và lưu trữ trong bộ nhớ. Các mẫu có thể là các từ hay các âm vị.

Với đặc thù tiếng nói là một dạng tín hiệu biến thiên theo thời gian và có sự khác biệt giữa tiếng nói của những người khác nhau, tốc độ nói khác nhau hay ngữ cảnh và môi trường âm học khác nhau. Thậm chí tiếng nói của cùng một người cũng không giống nhau: khi người đó khỏe thì tiếng nói của họ khác khi bị ốm. Đó chính là khó khăn cơ bản nhất của nhận dạng tiếng nói. Việc xác định những thông tin biến thiên nào là hữu ích và những thông tin nào là vô ích cho nhận dạng tiếng nói là rất quan trọng.

Đây là một nhiệm vụ rất khó khăn mà ngay cả những kỹ thuật xác suất thống kê mạnh cũng không thể tổng quát hóa từ các mẫu tiếng nói những biến thiên nào là quan trọng và cần thiết cho nhận dạng tiếng nói. Nhìn chung hiện nay các nghiên cứu về nhận dạng tiếng nói dựa trên ba nguyên tắc cơ bản:  Tín hiệu tiếng nói được biểu diễn chính xác bởi các giá trị phổ trong miền thời gian ngắn (short-term amplitude spectrum). Nhờ yếu tố này ta có thể cắt khung tiếng nói trong một khoảng thời gian nhất định để trích rút ra các đặc trưng làm dữ liệu để nhận dạng tiếng nói.  Nội dung của tiếng nói ở dạng văn bản là một dãy các kí hiệu ngữ âm.

Do đó ý nghĩa của một phát âm được bảo toàn khi ta phiên âm phát âm thành dãy các ký hiệu ngữ âm.  Nhận dạng tiếng nói là một quá trình nhận thức. Thông tin về ngữ nghĩa và suy đoán có giá trị trong quá trình nhận dạng tiếng nói nhất là khi thông tin về âm học không rõ ràng. 4 Ngành khoa học nhận dạng tiếng nói là một trong những ngành có lĩnh vực nghiên cứu khá rộng.

Lĩnh vực nghiên cứu của nhận dạng tiếng nói có liên quan tới nhiều ngành khác nhau như:  Ngôn ngữ học (linguistics): Như đã nói ở trên khi chúng ta phiên âm phát âm thành các ký hiệu ngữ âm thì ý nghĩa của một phát âm không thay đổi. Vậy sự hiểu biết về cấu trúc của ngôn ngữ, đặc biệt là ngữ âm và vai trò của chúng trong việc tạo ra tiếng nói là rất quan trọng khi chúng ta xây dựng hệ thống nhận dạng tiếng nói.  Sinh lý học (physiology) và tâm lý học ứng dụng (applied psychology): Kiến thức về cấu tạo bộ máy phát âm của con người, về quá trình sản sinh tiếng nói cũng như phân tích âm học và ngôn ngữ tại bộ não để con người hiểu được tiếng nói.  Xử lý tín hiệu số (digital signal processing): Các kỹ thuật xử lý tín hiệu số dùng phân tích tín hiệu tiếng nói nhằm trích rút ra đặc trưng của tiếng nói cho quá trình nhận dạng.

 Âm học (acoustic): Nghiên cứu mối quan hệ giữa tín hiệu tiếng nói và cơ chế sinh lý học của bộ máy phát âm của con người.  Lý thuyết nhận dạng: Các thuật toán dùng để phân loại dữ liệu thành các tập mẫu dựa trên sơ sở tính toán khoảng cách giữa các đặc điểm của mẫu.  Lý thuyết thông tin và khoa học máy tính (information and computer theory): Các thuật toán dùng để tính toán mô hình tham số của các mô hình thống kê, các thuật toán mã hóa và giải mã (lập trình động, thuật toán giải mã Viterbi) để quá trình nhận dạng tốt nhất. Phân loại nhận dạng tiếng nói Nếu xét về độ dài các câu từ cần nhận dạng ta có thể phân thành nhận dạng từ liên tục và nhận dạng từ rời rạc.

Ngoài ra ta còn có thể phân loại theo sự phụ thuộc hay độc lập người nói. Nhận dạng từ liên tục và nhận dạng từ rời rạc Nhận dạng từ liên tục là nhận dạng tiếng nói được phát liên tục trong một chuỗi tín hiệu, như một câu nói hay một đoạn văn được đọc bởi người dùng. Các hệ thống nhận dạng loại này rất phức tạp, nó phức tạp bởi lẽ quá trình xử lý tiếng nói liên tục là khó khăn hơn nhiều so với từng từ riêng lẻ. Quá trình xử lý tiếng nói liên tục còn phụ thuộc vào việc người dùng nói nhanh hay chậm.

Nếu người dùng nói không có khoảng nghỉ thì việc tách từ là khó khăn. Và chính kết quả của quá trình tách từ này có ảnh hưởng rất lớn tới các bước tiếp theo trong quá trình nhận dạng. Trái lại, trong nhận dạng từ rời rạc thì các phát âm được nhận dạng chỉ bao gồm một từ, hay một nhóm nhỏ các từ mà ở đó có các khoảng nghỉ trước và sau khi phát âm mỗi từ. Nhận dạng tiếng nói với các từ rời rạc thường được ứng dụng trong các chương trình dạng câu lệnh- điều khiển.

Quá trình nhận dạng tiếng nói với các từ rời rạc là dễ hơn nhiều so với quá trình nhận dạng tiếng nói liên tục. Nhận dạng phụ thuộc người nói và độc lập người nói Một hệ thống nhận dạng tiếng nói phụ thuộc người nói là một hệ thống dường như chỉ phục vụ cho một người, nó sẽ không hiểu người khác nói gì nếu như không có quá trình huấn luyện lại từ đầu. Do đó nên hệ thống nhận dạng tiếng nói phụ thuộc người nói khó được chấp nhận rộng rãi bởi lẽ là quá tốn kém nếu bỏ ra kinh phí lớn chỉ để xây dựng hệ thống phục vụ cho một cá nhân, hay không phải ai cũng có đủ khả năng kiến thức và sự kiên nhẫn để ngồi huấn luyện lại hệ thống. Rõ ràng rằng hệ thống nhận dạng tiếng nói loại này khó được áp dụng vào thực tế nhất là nơi công cộng.

Để khắc phục những nhược điểm trên thì hệ thống nhận dạng tiếng nói độc lập người nói là ưu việt hơn nhiều. Hệ thống nhận dạng tiếng nói độc lập người nói là lý tưởng hơn, có ứng dụng rộng rãi hơn và đáp ứng được hầu hết các yêu cầu đề ra với một hệ thống nhận dạng tiếng nói. Tuy nhiên, việc xây dựng một hệ thống nhận dạng độc lập người nói có độ chính xác cao cũng gặp không ít khó khăn. Trong thực tế mỗi vùng miền có một giọng nói khác nhau, mỗi người có một giọng nói khác nhau, thậm chí cùng một người giọng nói cũng khác nhau ở những 6 thời điểm khác nhau (Hình 1.

Đó là yếu tố ảnh hưởng rất lớn đến mức độ chính xác trong nhận dạng tiếng nói. Để khắc phục nhược điểm này, hệ thống nhận dạng độc lập người nói cần được thiết kế phức tạp hơn với lượng dữ liệu huấn luyện lớn và đa dạng hơn nhiều lần. Nhưng làm được yêu cầu trên là khó và độ chính xác trong nhận dạng cũng chưa phải là tối ưu. Do đó, trong thực tế để giải quyết chất lượng nhận dạng người ta thường kết hợp cả hai phương pháp trên và xây dựng hệ thống nhận dạng bán độc lập người nói.

Phương pháp này được thực hiện bằng cách thu một số lượng lớn các mẫu khác nhau để huấn luyện. Khi sử dụng hệ thống sẽ điều chỉnh cho phù hợp với người nói bằng cách để người dùng trải qua một quá trình ngắn để huấn luyện hệ thống (ví dụ như phần mềm nhận dạng tiếng nói được tích hợp trong Office của Microsoft).1: Quá trình phát âm sẽ khác nhau tùy theo người nói Hình 1.2: Mô hình nhận dạng tiếng nói bán độc lập người nói 7 1. Hệ thống nhận dạng tiếng nói tự động Hệ thống nhận dạng tiếng nói tự động (Automatic Speech Recognition – ASR) là hệ thống tự động chuyển đổi tiếng nói thành chữ viết hay thành một trong các chức năng của thiết bị. Các thành phần của một hệ thống nhận dạng tiếng nói bao gồm:  Rút trích đặc trưng tiếng nói: Biến đổi tiếng nói (tín hiệu âm thanh) thành chuỗi các vector đặc trưng cho quá trình nhận dạng đồng thời thực hiện quá trình dò tìm điểm đầu cuối của tiếng nói và lọc nhiễu.

 Phân lớp và nhận dạng: Đây thực chất là quá trình dựa vào mô hình âm thanh, từ điển phát âm và mô hình ngôn ngữ của hệ thống để nhận dạng.  Giải mã: Quá trình giải mã có thể đơn giản là quá trình xuất ra chuỗi văn bản cần nhận dạng từ tín hiệu âm thanh vào hoặc đó là một quá trình phân tích chuỗi nhận được ứng với việc thực hiện tác vụ nào đó.3: Cấu trúc cơ bản của hệ thống ASR Hiện nay ASR có một số ứng dụng trong các lĩnh vực như: Điều khiển bằng tiếng nói (quay số điện thoại…), trong điện tử viễn thông (tổng đài điện thoại…). Các nghiên cứu hiện thời về nhận dạng tiếng nói 1. Các nghiên cứu về nhận dạng tiếng nói ở nước ngoài Nghiên cứu nhận dạng tiếng nói đã được bắt đầu từ cuối thập niên 40 của thế kỉ 20, công nghệ nhận dạng tiếng nói đã có bước đi khá dài và cũng đã đạt một số thành tựu đáng kể.

Một số phần mềm nhận dạng tiếng nói đã có mặt trên thị trường như các phần mềm nhận dạng tiếng nói đọc chính tả của IBM, phần mềm nhận dạng nói thật hay nói dối, …Và đặc biệt là với ngôn ngữ tiếng Anh hiện nay đã tạo được bộ cơ sở dữ liệu quý là: là bộ từ điển Beep và CSLU. Trong lĩnh vực nghiên cứu các ứng dụng nhận dạng tiếng nói trong viễn thông thì Speech Works là hãng phần mềm khá nổi tiếng. Hiện nay trên thế giới đã có nhiều trung tâm nghiên cứu về nhận dạng tiếng nói như: CSLU, Bell Labs, IBM Research Center, Microsoft Research… Nhìn chung môi trường thu âm tiếng nói có ảnh hưởng rất lớn đến độ chính xác của quá trình nhận dạng. Ở Mỹ hệ thống nhận dạng các số của thẻ tín dụng ngân hàng được đọc bởi người bán hàng tại các hệ thống cửa hàng bán lẻ có độ chính xác là 98% trong khi cùng hệ thống này trong môi trường phòng thí nghiệm thì độ chính xác lên tới 99,7%.

Theo một đánh giá của Barbara s. (2001), high- Performance Automatic Speech Recognition via Enhanced Front-end Analysis and Acoustic Modeling [1] ta có bảng so sánh tỷ lệ lỗi nhận dạng của các hệ thống nhận dạng tiếng Anh so với khả năng nhận dạng của con người như sau (bảng 1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu có tiêu đề "Ứng Dụng Mô Hình Markov Ẩn Trong Nhận Dạng Tiếng Nói" khám phá cách mà mô hình Markov ẩn (HMM) có thể được áp dụng trong lĩnh vực nhận dạng tiếng nói. Tài liệu này cung cấp cái nhìn sâu sắc về cách thức hoạt động của HMM, từ việc phân tích tín hiệu âm thanh đến việc nhận diện các đặc trưng ngữ âm. Một trong những lợi ích chính mà tài liệu mang lại cho độc giả là khả năng hiểu rõ hơn về các phương pháp hiện đại trong nhận dạng tiếng nói, cũng như cách mà các mô hình thống kê có thể cải thiện độ chính xác trong việc nhận diện.

Nếu bạn muốn mở rộng kiến thức của mình về nhận dạng tiếng nói, bạn có thể tham khảo thêm tài liệu "Luận văn thạc sĩ hcmute nhận dạng tiếng nói dùng giải thuật trích đặc trưng mfcc và lượng tử vector trên kit dsktms320c6713 của ti", nơi trình bày về các phương pháp trích xuất đặc trưng âm thanh. Bên cạnh đó, tài liệu "Luận văn thạc sĩ hcmute nhận dạng tiếng nói dùng mạng neural" sẽ giúp bạn hiểu thêm về việc ứng dụng mạng nơ-ron trong nhận dạng tiếng nói. Cuối cùng, tài liệu "Nhận dạng tiếng nói tiếng việt liên tụ" cung cấp cái nhìn tổng quan về hệ thống nhận dạng tiếng nói tiếng Việt, mở rộng thêm kiến thức về ngôn ngữ và công nghệ. Những tài liệu này sẽ là cơ hội tuyệt vời để bạn khám phá sâu hơn về lĩnh vực này.