1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống nhận dạng tiếng nói sử dụng mô hình lượng tử hóa vector

58 27 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Hệ Thống Nhận Dạng Tiếng Nói Sử Dụng Mô Hình Lượng Tử Hóa Vector
Tác giả Đặng Nguyễn M
Người hướng dẫn ThS. Đặng Thái Sơn
Trường học Trường Đại Học Vinh
Chuyên ngành Điện Tử - Viễn Thông
Thể loại Đồ án
Năm xuất bản 2016
Thành phố Vinh
Định dạng
Số trang 58
Dung lượng 1,48 MB

Cấu trúc

  • LỜI I ĐẦU (6)
    • 1.1. Gi i thiệu (0)
    • 1.2. Các h ng tiếp cận trong việc t động nhận dạng tiếng nói (0)
    • 1.3. Một số ứng dụng của hệ thống nhận dạng tiếng nói (0)
    • 1.4. Những khó khăn và hạn chế của hệ thống ARS (0)
    • 2.1. Mô hình LPC (Linear Predictive Coding model) (15)
      • 2.1.1. Các biểu thức phân tích LPC (0)
      • 2.1.2. Các b c th c hiện thuật toán LPC để trích đặc tr ng của tín hiệu (0)
    • 2.2. Mô hình MFCC (Mel-Frequency Ceptrum Coefficients) (20)
      • 2.2.1. Frame Blocking (21)
      • 2.2.2. Cửa sổ hoá (Windowing) (22)
      • 2.2.3. Biến đổi Fourier nhanh (FFT) (22)
      • 2.2.4. Chuyển đối Mel-Frequency (23)
      • 2.2.5. Wrapping và biến đổi DCT (24)
    • 2.3. Vấn đề xác định điểm đầu và điểm cuối của tín hiệu (speech detection) (0)
      • 3.1.1. Chuỗi Markov (27)
      • 3.1.2. Các thành phần trong mô hình Markov (28)
      • 3.1.3. Mô hình Markov n (30)
      • 3.1.4. Các thành phần cơ bản của mô hình Markov n (30)
      • 3.1.5. Ba bài toán cơ bản của HMM (0)
      • 3.2.1. Khái niệm (43)
      • 3.2.2. Các yếu tố khi tổ chức VQ (45)
      • 3.2.3. Khoảng cách Euclid (46)
      • 3.2.4. Thuật toán tạo chùm (0)
    • 4.1. Xây d ng thuật toán nhận dạng bằng ph ơng pháp MFCC đơn nhất (0)
    • 4.2. Xây d ng hệ thống nhận dạng bằng ph ơng pháp l ợng tử hóa Vector (0)
    • 4.3. Kết quả (52)
  • TÀI LIỆU THAM KHẢO (54)

Nội dung

ĐẦU

Mô hình LPC (Linear Predictive Coding model)

Mô hình LPC đ ợc sử dụng khá rông rãi trong các hệ thống nhận dạng tiếng nói là bởi các lý do sau:

Mô hình LPC (Linear Predictive Coding) cung cấp một cách tiếp cận hiệu quả để mô phỏng tín hiệu tiếng nói, đặc biệt trong các trạng thái gần ổn định của âm thanh, cho phép xấp xỉ chính xác phổ âm thanh Mặc dù hiệu suất của LPC giảm trong các vùng ngắn và không có âm thanh, nhưng nó vẫn là một công cụ hữu ích cho nhận dạng tiếng nói.

LPC được ứng dụng hiệu quả trong phân tích tín hiệu tiếng nói, giúp phân tách hợp lý các âm nguồn âm thanh Nhờ đó, việc biểu diễn chi tiết các đặc điểm của các dải âm thanh trở nên khả thi.

Phương pháp tính toán của LPC có độ chính xác cao và đơn giản, dễ dàng cài đặt trên cả phần cứng và phần mềm Bên cạnh đó, số lượng tính toán trong xử lý LPC cũng ít hơn so với phương pháp filters-bank.

Mô hình LPC (Linear Predictive Coding) đã chứng tỏ hiệu quả vượt trội trong các ứng dụng nhận dạng, với các hệ thống sử dụng LPC thường mang lại kết quả tốt hơn so với những hệ thống dựa trên filter-bank Ý tưởng chủ chốt của mô hình LPC là mẫu tín hiệu tiếng nói tại thời điểm n, s(n), có thể được xấp xỉ thông qua một tổ hợp tuyến tính của p mẫu tín hiệu trong quá khứ.

Trong đó các hệ số a1, a2,…, ap; đ ợc coi nh không đổi trong khung thời gian phân tích Biến đổi công thức tr n th m vào đại l ợng Gu(n) ta có:

Trong đó u(n) là kích thích chu n hoá và G là hệ số của kích thích Bằng biến đổi sang miền Z ta có quan hệ:

Từ đó dẫn đến hàm truyền của mô hình:

2.1.1 Các biểu hức phân ích LPC

- D a trên mô hình liên hệ chính xác giữa s(n) và u(n):

- Ta coi tổ hợp tuyến tính của các tín hiệu quá khứ là một c l ợng của

- Sai số c l ợng e(n) đ ợc định nghĩa:

Vấn đề cốt lõi trong phân tích dự đoán tuyến tính là xác định tập hợp các hệ số {ak} để dự đoán trực tiếp từ tín hiệu tiếng nói Điều này nhằm đảm bảo rằng các đặc tính phổ của bộ lọc phù hợp với tín hiệu sóng tiếng nói trong khoảng thời gian phân tích.

Do đặc điểm phổ tần của tiếng nói thay đổi theo thời gian, các hệ số tiên đoán tại một thời điểm n cần được tính toán từ một phân đoạn ngắn của tín hiệu tiếng nói gần n Phương pháp cơ bản là tìm tập hợp các hệ số tiên đoán có sai số bình phương nhỏ nhất trên một phân đoạn ngắn của tín hiệu sóng tiếng nói Thông thường, tín hiệu tiếng nói được phân tích qua các khung liên tiếp với độ dài khoảng 10ms.

Bài toán này đ ợc giải d a tr n ph ơng pháp t t ơng quan, khi đó các hệ số ak c l ợng đc sẽ là nghiệm của ph ơng trình:

V i i  i  p Hay có thể biểu diễn d i dạng ma trận nh sau:

V i r(k) là hệ số t t ơng quan của tín hiệu dời đi k mẫu:

Hệ ph ơng trình này đ ợc giải bằng thuật toán Levinson-Durbin

Tính sai số bình ph ơng trung bình bậc nhất:

1) Tính hệ số Kp (hệ số PARCOR)

2) Tính các hệ số d báo bậc p:

3) Tính sai số bình ph ơng trung bình bậc p:

4) Quay lại b c 1, thay p bằng p+1 nếu p=< P

2.1.2 Các bước hực hiện huậ oán LPC để rích đặc rưng của ín hiệu

Sampling Lấy mẫu Tiền nhấn Chia frame Cửa sổ hóa

Hình 2.2 Các bước thực hiện thuật toán LPC

 B c 1: Lọc nhiễu, sử dụng bộ lọc thông cao:

V i tần số cắt d i 50-250 Hz để lọc nhiễu tần số thấp do microphone gây ra

 B c 2: Pre-emphasis để làm bằng phổ (spectrally flaten)

Tín hiệu s(n) đ ợc cho qua một bộ lọc thông thấp:

 B c 3: Tín hiệu đ ợc phân đoạn thành các frame, mỗi frame N mẫu, độ chồng lấp M mẫu

Chọn tần số lấy mẫu

Cửa sổ hóa các frame trong B c 4 giúp giảm thiểu sự gián đoạn của tín hiệu ở đầu và cuối mỗi frame, đồng thời làm giảm dần tín hiệu về 0 tại các khoảng bắt.

19 đầu và kết thúc của mỗi khung

Cửa sổ th ờng đ ợc dùng là cửa sổ Hamming

 B c 5: Xác định hệ số LPC dung thuật toán Levinson – Dubin cho mỗi frame

Chọn p và bỏ a(0) Ta có vecto đặc tr ng có độ dài = p cho mỗi frame

 B c 6 : Chuyển các hệ số d báo tuyến tính thành các hệ số ceptral

( 2 là hệ số G của mô hình LPC ) v i

Cepstral coefficients are the Fourier transform coefficients for the logarithm of spectral power These coefficients are considered to be more reliable than LPC coefficients.

 B c 7: Tính toán các hệ số ceptral có trọng số

Mục đích của việc này là giảm ảnh hưởng của độ dốc quang phổ tổng thể từ các hệ số ceptral bậc thấp và giảm nhiễu từ các hệ số ceptral bậc cao Cụ thể, chúng ta sử dụng một cửa sổ ceptral giảm dần ở hai đầu, với hàm w nhằm giảm trọng số xung quanh m = 1 và m = Q.

 B c 8 : Tính đạo hàm của các hệ số ceptral

Trong đó  là hằng số chu n hoá (th ờng lấy 0.375)và (2K+1) là số frame đ ợc tính

Vector đặc tr ng là vector có 2Q thành phần gồm Q hệ số ceptral có trọng số và

Q đạo hàm của hệ số ceptral

Một số tham số t ường dùng

Tham số F s = 6.67kHz F s = 8 kHz F s = 10 kHz

Bảng 2.1 Bảng tham số LPC

Mô hình MFCC (Mel-Frequency Ceptrum Coefficients)

MFCC là một phương pháp phổ biến bên cạnh LPC, dựa trên nghiên cứu về các dải thông quan trọng của tai người đối với tần số Để thu được những đặc trưng ngữ âm quan trọng, phương pháp này sử dụng các bộ lọc tuyến tính cho dải tần thấp và các bộ lọc có đặc tính loga cho dải tần số cao Cụ thể, MFCC áp dụng thang Mel tuyến tính cho các tần số dưới 1000Hz và tỉ lệ loga cho các tần số trên 1000Hz.

Tiền nhấn Cửa sổ hóa FFT

Tiền nhấn Cửa sổ hóa FFT

Hình 2.3 Các bước thực hiện thuật toán MFCC

2.2.1 Frame Blocking Đặc điểm của tín hiệu tiếng nói là tín hiệu chậm biến đổi theo thời gian, hay còn đ ợc gọi là “quasi – stationary”, Hình 2.5 thể hiện điều này Khi xem xét một khoảng thời gian đủ ngắn, khoảng từ 5 – 100ms, tính chất của nó gần nh là ổn định Tuy nhiên, trong một khoảng thời gian dài, tính chất của nó bị thay đổi, phản ánh những âm thanh khác nhau đ ợc nói (hình 2.4)

Hình 2.4 Phổ tần số tín hiệu tiếng nói trong 1s

Hình 2.5 Phổ tần số tín hiệu trong khoảng thời gian rất ngắn

Phân tích khoảng thời gian ngắn (short time spectral analysis) là phương pháp quan trọng trong việc nghiên cứu các đặc tính của tín hiệu tiếng nói Kỹ thuật này cho phép nắm bắt thông tin chi tiết về âm thanh trong từng khoảng thời gian ngắn, từ đó giúp xác định các yếu tố chính của từ ngữ.

Các tín hiệu thu được có thể dài đến 1 giây, do đó cần chia thành các frame nhỏ có độ dài khoảng 5 – 10 ms Để tránh sự thay đổi đột ngột giữa các frame, sẽ có sự lặp lại giữa các frame liên tiếp Cụ thể, mỗi frame đầu tiên có N mẫu, frame tiếp theo cũng có N mẫu, nhưng chỉ có M (với M < N) mẫu là khác biệt, trong khi phần còn lại giữ nguyên.

Mẫu đầu tiên là N - M mẫu cuối cùng của frame đầu tiên, và quá trình này tiếp tục cho các frame sau Thông thường, N được chọn là 128, 256, 512 để thuận tiện cho việc tính toán FFT sau này, trong khi M thường được chọn khoảng N/3.

Cửa sổ hóa các frame giúp giảm thiểu sự gián đoạn của tín hiệu ở đầu và cuối mỗi frame, tức là làm giảm dần tín hiệu về 0 tại các khoảng bắt đầu và kết thúc Đầu tiên, tín hiệu tiếng nói x(n) được chia thành các frame với một phần chồng phủ nhau (overlap) để tạo ra T frame x’ t (n) Quá trình cửa sổ hóa được thực hiện bằng cách nhân tín hiệu tiếng nói với một hàm cửa sổ, được gọi là w(n) (0 ≤ n ≤ N-1; N là số mẫu trong một frame tín hiệu) Sau khi cửa sổ hóa, tín hiệu sẽ trở thành X t (n).

Hàm cửa sổ th ờng đ ợc d ng là hàm cửa sổ Hamming:

Hình 2.6 Cửa sổ Hamming 2.2.3 Biến đổi Fourier nhanh (FFT)

Quá trình chuyển đổi tín hiệu thời gian sang tín hiệu tần số được thực hiện thông qua thuật toán FFT, một phương pháp nhanh chóng của phép biến đổi Fourier rời rạc (DFT).

V i K=1, 2,…, N-1 là số phức, tuy nhiên thành phần pha không quan trọng nên ta chỉ quan tâm đến thành phần th c

Nghiên cứu về hệ thống thính giác của con người cho thấy tai không cảm nhận tần số theo thang tuyến tính Các đặc trưng phổ tần số của tiếng nói được tiếp nhận qua một dãy bộ lọc, trong đó tần số trung tâm không phân bố tuyến tính Đặc biệt, tần số 1 kHz thường có nhiều bộ lọc hơn do chứa nhiều thông tin âm thanh Ở tần số thấp, bộ lọc băng hẹp giúp tăng độ phân giải tần số để nhận diện tần số cơ bản và hoạ tần ổn định, trong khi ở tần số cao, bộ lọc thông băng rộng được sử dụng để thu thập các thành phần tần số cao biến động nhanh.

Thang tần số Mel là một hệ thống được phát triển để mô tả chính xác cách mà tai người tiếp nhận tần số âm thanh Trong đó, tần số 1 KHz được quy ước là 1000 Mel Mối quan hệ giữa thang tần số vật lý và thang tần số Mel được thể hiện qua một công thức cụ thể, giúp hiểu rõ hơn về cảm nhận nghe của con người.

V i là tần số sinh lý, đơn vị Mel là tần số th c, đơn vị Hz

Hình 2.7 Quan hệ giữa tần số thang Mel và tần số thang Hz

Trên hình 2.8, ta thấy rằng với các tần số nhỏ hơn 1 kHz, mối quan hệ giữa thang Mel và tần số thực là gần tuyến tính, trong khi đối với các tần số trên 1 kHz, mối quan hệ này trở thành logarithm Do đó, thay vì xây dựng các bộ lọc trên thang tần số thực, chúng ta có thể thiết kế các bộ lọc với tần số trung tâm cách đều tuyến tính trên thang Mel Dãy các bộ lọc này được trình bày trong hình 2.9.

Tần số trung tâm của bộ lọc thứ m đ ợc xác định bởi:

Tần số trung tâm của bộ lọc thứ m được xác định dựa trên tần số trung tâm của bộ lọc thứ m-1, trong khi băng thông của bộ lọc thứ m cũng đóng vai trò quan trọng Để xác định khoảng tần số d_i 1kHz, cần chọn sao cho có khoảng 10 bộ lọc phân bố đều trong khoảng này Đối với khoảng tần số trên 1 kHz, thường được tính toán theo phương pháp cụ thể.

Hình 2.8 Dãy cửa sổ lọc Mel

2.2.5 Wrapping và biến đổi DCT Để tính đ ợc M hệ số MFCC, thang Mel đ ợc chia thành M dải, mỗi dải có độ rộng B max (f)/M D a vào các dải này ta xây d ng M bộ lọc tam giác H m Từ đó tính ra

Sau đó th c hiện phép biến đổi cosin rời rạc DCT (Discrete Cosine Transformation) ta sẽ thu đ ợc các hệ số MFCC:

- Biến đổi cosin rời rạc:

2.3 Vấn đề x c địn đ ểm đầu và đ ểm cuối của tín hiệu (speech detection)

Mục đích của việc xác định tín hiệu là tách biệt các đoạn tín hiệu tiếng nói quan trọng khỏi các phần khác như môi trường và nhiễu Điều này rất cần thiết trong nhiều lĩnh vực, đặc biệt là trong nhận dạng tiếng nói, nơi việc phát hiện tín hiệu tiếng nói giúp tạo ra các mẫu phục vụ cho quá trình nhận dạng hiệu quả.

Để xác định chính xác tín hiệu tiếng nói và cung cấp mẫu nhận dạng tốt nhất, cần lưu ý rằng trong môi trường lý tưởng, việc này không quá khó khăn Tuy nhiên, thực tế thường gặp nhiều vấn đề gây cản trở, đặc biệt là cách phát âm của người nói Những âm thanh nhân tạo như tiếng chép môi, hơi thở, hay tiếng lách tách trong miệng có thể làm phức tạp quá trình nhận diện tiếng nói.

Yếu tố thứ hai gây khó khăn trong việc xác định tiếng nói là điều kiện môi trường nơi tiếng nói được phát ra Một môi trường lý tưởng với độ nhiễu và tạp âm gần như không có là điều không thực tế Do đó, cần phải xem xét việc phát ra tiếng nói trong môi trường có nhiễu, như tiếng máy móc, quạt, hay tiếng xì xào của những người xung quanh, thậm chí cả trong những trường hợp môi trường xung quanh không ổn định, như tiếng sập cửa hay tiếng xe cộ.

Vấn đề xác định điểm đầu và điểm cuối của tín hiệu (speech detection)

CH Ơ 3 HU T TOÁN VÀ MÔ HÌNH NH N D NG GIỌNG NÓI 3.1 Mô hình Markov ẩn

Hệ thống được mô tả có N trạng thái, và tại mỗi thời điểm t, hệ thống sẽ chuyển sang trạng thái m i hoặc giữ nguyên trạng thái hiện tại Các khoảng thời gian chuyển trạng thái được ký hiệu là t=1, 2,… và trạng thái tại thời điểm t được ký hiệu là q t với các giá trị 1, 2,…, N Mỗi trạng thái tương ứng với một sự kiện nhất định, và quá trình này được gọi là quá trình Markov.

Hình 3.1 Minh họa mô hình Markov

Trong hình vẽ, a ij là xác suất chuyển từ trạng thái i sang trạng thái j, ta có các quan hệ:

Ta chỉ xét chuỗi Markov bậc nhất là những hệ thống mà trạng thái hiện tại chỉ phụ thuộc vào trạng thái ngay tr c đó, nghĩa là:

3.1.2 Các thành phần trong mô hình Markov

N trạng thái của mô hình Ký hiệu trạng thái ở thời điểm t là q t

N s kiện: E = {e 1 , e 2 , e 3 ,…, e N } Mỗi s kiện t ơng ứng v i 1 trạng thái Tại mỗi thời điểm t, trạng thái phát sinh ra s kiện t ơng ứng v i nó

A={aij} - là ma trận phân phối xác suất chuyển trạng thái, trong đó aij là xác suất chuyển từ trạng thái i ở thời điểm t sang trạng thái j ở thời điểm t+1

1 ≤ i, j ≤ N π = {πi} - ma trận phân phối trạng thái ban đầu trong đó i là xác suất của mô hình ở trạng thái i tại thời điểm ban đầu t=1

Các ví dụ minh họa

Ví dụ 1: Tung 1 đồng xu

Hình 3.2 Ví dụ minh họa Ở đây có 2 trạng thái: S 1 t ơng ứng s kiện e 1 = Sấp và S 2 t ơng ứng s kiện e 2

Ta có các phần tử của ma trận A: a 11 = 0.5 a 12 = 0.5 a 21 = 0.5 a 22 = 0.5 Các s kiện: Sấp Sấp Ngửa Ngửa Sấp Ngửa Sấp

T ơng ứng v i các trạng thái: S 1 S 1 S 2 S 2 S 1 S 2 S 1

Ví dụ 2: Thời tiết của 1 vùng v i mô hình xác suất nh sau:

Hình 3.1 Ví dụ minh họa

Xác suất của chuỗi quan sát {rain, rain, rain, clouds, sun, clouds, rain} ứng v i mô hình Markov trên là:

Xác suất của chuỗi {sun, sun, sun, rain, clouds, sun, sun) ứng v i mô hình Markov trên là:

Khác v i chuỗi Markov nh trình bày ở trên, mô hình Markov n có những đặc điểm sau:

- Từ 1 trạng thái có thể phát sinh hơn 1 s kiện (hay còn đ ợc gọi là 1 quan sát)

- Chuỗi quan sát là hàm xác suất của trạng thái

- Chúng ta có thể tính toán xác suất của các chuỗi trạng thái khác nhau từ một chuỗi quan sát

Mô hình Markov ẩn (HMM) vẫn tạo ra các quan sát, với số lượng trạng thái thường khác với số lượng quan sát Khi ở trạng thái S_i, có xác suất p(o_1) để phát sinh sự kiện 1 và xác suất p(o_2) để phát sinh sự kiện 2, và tiếp tục như vậy cho các sự kiện khác.

3.1.4 Các thành phần cơ bản của mô hình Markov ẩn

- N là số l ợng trạng thái của mô hình {1, 2,…, N} là các trạng thái Ký hiệu trạng thái ở thời điểm t là q t

M là số lượng quan sát phân biệt, tương ứng với các tín hiệu vật lý mà hệ thống mô tả Tập quan sát được ký hiệu là V={v1, v2, …, vM} Đối với tín hiệu tiếng nói, M đại diện cho kích thước codebook, trong đó vi là mã của từng vector.

- A={a ij } - là ma trận phân phối xác suất chuyển trạng thái, trong đó a ij là xác suất chuyển từ trạng thái i ở thời điểm t-1 sang trạng thái j ở thời điểm t

- B={b j (k)} - ma trận phân phối xác suất các ký hiệu quan sát, trong đó b j (k) là xác suất nhận đ ợc ký hiệu quan sát v k ở trạng thái j:

- π = {π i } - ma trận phân phối trạng thái ban đầu trong đó i là xác suất của mô hình ở trạng thái i tại thời điểm ban đầu t=1:

Nh vậy để đặc tả đầy đủ một HMM cần phải có số trạng thái N của mô hình, tập

Mô hình HMM (Hidden Markov Model) được xác định bởi bộ ký hiệu quan sát V, ma trận xác suất chuyển trạng thái A, ma trận xác suất các ký hiệu quan sát B và ma trận xác suất trạng thái ban đầu π Để đơn giản hóa, ta ký hiệu λ = (A, B, π) là tập tham số của mô hình Tập tham số này cho phép tính toán xác suất cho dãy quan sát O, được biểu diễn bằng P(O|λ).

Ta cũng để ý là HMM cũng phải tuân theo những ràng buộc về mặc thống kê:

3.1.5 Ba b i oán cơ bản của HMM

Để mô hình V i HMM được áp dụng hiệu quả trong thực tế, chúng ta cần giải quyết ba bài toán cơ bản đã được khảo sát ở phần trước.

Bài toán 1: Cho chuỗi quan sát O=(o 1 , o 2 , , o T ) và mô hình λ=(A,B,π), ta sẽ tính P(O|λ) là xác suất của chuỗi quan sát cho bởi mô hình nh thế nào?

Bài toán 2 đặt ra yêu cầu chọn một chuỗi trạng thái q=(q1, q2, , qT) tương ứng với chuỗi quan sát O=(o1, o2, , oT) và mô hình λ=(A, B, π) sao cho chuỗi trạng thái này giải thích tốt nhất cho chuỗi quan sát đã cho.

Bài toán 3: Làm thế nào để điều chỉnh tham số mô hình λ=(A,B,π) để c c đại hóa P(O|λ)?

Bài toán 1 liên quan đến việc đánh giá xác suất mà một chuỗi quan sát được tạo ra từ một mô hình cho sẵn Điều này có thể được hiểu như việc xác định mức độ phù hợp giữa mô hình và chuỗi quan sát Khi cần chọn mô hình tốt nhất cho chuỗi quan sát, giải pháp của bài toán 1 sẽ rất hữu ích để trả lời câu hỏi này.

Bài toán 2 yêu cầu chúng ta làm rõ phần n của mô hình, cụ thể là xác định chuỗi trạng thái chính xác Tuy nhiên, việc này thường không khả thi trong mọi trường hợp, vì vậy trong thực tế, chúng ta áp dụng một tiêu chuẩn tối ưu để giải quyết bài toán này một cách hiệu quả nhất.

Bài toán 3 yêu cầu tối ưu hóa các tham số mô hình để mô tả chính xác sự xuất hiện của chuỗi quan sát, được gọi là chuỗi huấn luyện Việc huấn luyện mô hình là thiết yếu cho hầu hết ứng dụng của HMM, giúp điều chỉnh tham số tối ưu với dữ liệu thực tế Để minh họa việc áp dụng HMM trong nhận dạng tiếng nói, ta xem xét một bộ nhận dạng từ gồm w từ, trong đó tín hiệu tiếng được biểu diễn dưới dạng chuỗi thời gian của các vector phổ mã hóa Mỗi chuỗi quan sát tương ứng với chỉ số các vector phổ gần nhất với tín hiệu gốc Đối với mỗi từ trong bộ từ vựng, ta xây dựng mô hình riêng biệt bằng cách giải bài toán thứ 3 để tối ưu hóa tham số cho từng từ Cuối cùng, khi đã thiết kế và tối ưu hóa w HMM, việc nhận dạng từ chưa biết sẽ thực hiện bằng cách giải bài toán 1 để tính điểm cho từng mô hình dựa trên chuỗi quan sát thử nghiệm và chọn mô hình có điểm số cao nhất.

Để tính xác suất nhận được chuỗi quan sát O = (o1, o2, , oT) trong mô hình, chúng ta cần tính P(O|λ) Cách đơn giản nhất là khảo sát tất cả các chuỗi trạng thái khả dĩ và tính xác suất nhận được O cho từng chuỗi Cụ thể, với một chuỗi trạng thái q bất kỳ: q = (q1, q2,…, qT), xác suất nhận được chuỗi O tương ứng với q sẽ được xác định.

Giả sử các ký hiệu quan sát xuất hiện độc lập v i nhau, ta có:

Xác suất nhận đ ợc chuỗi q là:

Xác suất O và q xuất hiện đồng thời:

Theo công thức trên, ta cần có 2T.N T phép tính Nếu N=5, T0, cần khoảng

10 72 phép tính Đây là con số không thể th c hiện đ ợc

Một cách khác để giải bài toán 1 là dùng thủ tục tiến hoặc thủ tục lùi

Hình 3.4 Minh họa thủ tục tiến

Nghĩa là xác suất nhận đ ợc chuỗi quan sát o1o 2 …ot đến thời điểm t và trạng thái ở t là i, v i mô hình cho tr c

Theo thủ tục trên, số phép tính cần thiết khoảng N 2 T, nhỏ hơn rất nhiều so v i 2TN T s1 s2 sN s 1 t t+1 sj a(t+1) at aNj

Hình 3.5 Minh họa bước quy nạp trong thủ tục Forward

Ví dụ thuật toán Forward:

Hình 3.6 Ví dụ minh họa cho thuật toán Forward

Cho mô hình HMM nh hình vẽ trên, ở đây có 3 trạng thái: H, M, L Và có 2 quan sát: rain và sun

Ta tính xác suất của chuỗi quan sát: s r r s r (s=sun, r=rain) bằng cách tính giá trị của tại thời điểm 5:

Hình 3.7 Minh họa thủ tục lùi

Thủ tục lùi th c hiện nh sau:

Hình 3.8 Minh họa thủ tục Backward Bài toán 2

Để giải quyết bài toán 2, thuật toán Viterbi được áp dụng nhằm tìm chuỗi trạng thái đơn tốt nhất q = (q1, q2, …, q) tương ứng với chuỗi quan sát O = (o1, o2, …, oT) đã cho.

Chúng ta định nghĩa đại l ợng:

Là có điểm tốt nhất (xác suất l n nhất) tr n con đ ờng đơn tại thời điểm t ứng v i quan sát đã cho và kết thúc ở trạng thái i Quy nạp, ta có:

Để xác định chuỗi trạng thái, chúng ta sử dụng mảng t(j) để lưu lại các đối số của phương trình (5.17) tại từng thời điểm t và trạng thái i Thuật toán tìm chuỗi trạng thái tối ưu được mô tả như sau:

 Lần ng ợc lại đ ờng đi (chuỗi trạng thái)

Thuật toán Viterbi cũng t ơng t thuật toán Baul-Welch (ngoại trừ b c lần ng ợc)

Phép toán c c đại hóa ở ph ơng trình (5.20) thay cho phép tổng ở (5.14)

Ví dụ về thuật toán Viterbi:

Cho mô hình HMM nh trong ví dụ phần thủ tục Forward

Tính xác suất chuỗi quan sát: s r r s r (s = sun, r = rain) bằng thuật toán Viterbi?

Ta tính đ ờng đi Viterbi đến t=5:

 Đệ quy: δ 2 (M) = max[0.25*0.3; 0.15*0.4; 0.075*0.4] ã 0.5 = 0.0375 δ2(H) = max[0.25*0.4; 0.15*0.5; 0.075*0.1] ã 0.25 = 0.0250 δ 2 (L) = max[0.25*0.3; 0.15*0.1; 0.075*0.5] ã 0.75 = 0.0563 ψ 2 (1) = 1 ψ 2 (2) = 1 ψ 2 (3) = 1 δ 3 (M) = max[0.0375*0.3; 0.0250*0.4; 0.0563*0.4] ã 0.5 = 0.0113 δ 3 (H) = max[0.0375*0.4; 0.0250*0.5; 0.0563*0.1] ã 0.25 = 0.0038 δ3(L) = max[0.0375*0.3; 0.0250*0.1; 0.0563*0.5] ã 0.75 = 0.0211 ψ 3 (1) = 3 ψ 3 (2) = 1 ψ 3 (3) = 3 δ 4 (M) = max[0.0113*0.3 ; 0.0038*0.4 ; 0.0211*0.4] ã 0.5 = 0.0042 δ4(H) = max[0.0113*0.4 ; 0.0038*0.5 ; 0.0211*0.1] ã 0.75 = 0.0034 δ 4 (L) = max[0.0113*0.3 ; 0.0038*0.1 ; 0.0211*0.5] ã 0.25 = 0.0026 ψ 4 (1) = 3 ψ 4 (2) = 1 ψ 4 (3) = 3 δ5(M) = max[0.0042*0.3 ; 0.0034*0.4 ; 0.0026*0.4] ã 0.5 = 0.0007 δ 5 (H) = max[0.0042*0.4 ; 0.003*0.5 ; 0.0026*0.1] ã 0.25 = 0.0004 δ 5 (L) = max[0.0042*0.3 + 0.0034*0.1 + 0.0026*0.5] ã 0.75 = 0.0010 ψ5(1) = 2 ψ5(2) = 2 ψ5(3) = 3

 Lần ng ợc con đ ờng: q t * = ψ t+1 (q t+1 * ) q 5 = 3 q 4 = ψ 5 (3) = 3 q 3 = ψ 4 (3) = 3 q 2 = ψ 3 (3) = 3 q 1 = ψ 2 (3) = 1 Các trạng thái lần l ợt là: 13333

Hình 3.10 Các trạng thái lần lượt tương ứng Bài toán 3

Hình 3.11 Minh họa ước lượng Baum-Welch

Bài toán 3 là bài toán tìm ra ph ơng pháp điều chỉnh tham số của mô hình (A,

B, π), để thoả mãn một tiêu chu n tối u nào đó Đây là bài toán khó khăn nhất Không có cách phân tích nào có thể điều chỉnh đ ợc tham số của mô hình sao cho đạt đ ợc xác suất l n nhất ứng v i quan sát đ cho Tuy nhi n, chúng ta có thể chọn λ = (A, B, π) sao cho xác suất P(O|λ) là c c đại địa ph ơng theo ph ơng pháp của Baum-Welch

Phương pháp kỳ vọng cực đại (Expectation Maximization - EM) được sử dụng để ước lượng các tham số của mô hình Để hiểu rõ hơn về phương pháp này, chúng ta cần định nghĩa biến xác suất hậu nghiệm, đại diện cho xác suất ở trạng thái i tại thời điểm t, liên quan đến chuỗi O và mô hình λ.

Ta biểu diễn γ t (i) theo α t (i) và β t (i):

Vì P(O,q t =i |λ) = αt(i)βt(i) nên ta có thể viết lại:

Ta thấy rằng α_t(i) đại diện cho miền quan sát o_1, o_2, , o_t và trạng thái i tại thời điểm t Trong khi đó, β_t(i) tương ứng với miền quan sát o_{t+1}, o_{t+2}, , o_T và trạng thái j cho q_t = i tại thời điểm t Định nghĩa ξ_t(i,j) là xác suất ở trạng thái i tại thời điểm t và trạng thái j tại thời điểm t+1, được xác định bởi chuỗi O và mô hình λ.

Từ định nghĩa biến tiến và biến lùi ta có thể viết lại ph ơng trình tr n:

Từ định nghĩa và suy ra:

Kết quả

nh 4 3 iao diện và kết quả

Kết quả kiểm nghiệm thực tế cho thấy, việc nhận dạng giọng nói qua việc ghi âm huấn luyện và nhận diện các từ như "đóng", "mở", "tắt", "bật" đạt độ chính xác 92% trong môi trường không quá ồn ào.

Khi th c hiện ghi âm huấn luyện và nhận dạng bằng cách 6 ng ời cùng nói một từ bất kì thì cho kết quả nhận dạng đạt 90

Hệ thống này có khả năng điều khiển các thiết bị trong nhà như đèn, điều hòa và cổng ra vào, đồng thời cũng đảm bảo an ninh cho gia đình và cá nhân với chất lượng cao.

Hệ thống sử dụng ph ơng pháp MFCC đơn nhất cho kết quả nhận dạng đạt 80%

So sánh giữa hai hệ thống cho thấy rằng hệ thống sử dụng VQ có khả năng nhận dạng tốt hơn và hiệu quả hơn so với hệ thống chỉ áp dụng phương pháp MFCC.

Mục tiêu của bài viết là phát triển một hệ thống nhận dạng tiếng nói thông qua việc phân tích các đặc trưng âm thanh và áp dụng mô hình lượng tử hóa Vector Quá trình trích xuất Vector đặc trưng được thực hiện bằng phương pháp MFCC, với dữ liệu được huấn luyện và lưu trữ trong cơ sở dữ liệu Cuối cùng, hệ thống sẽ so sánh các đặc trưng này với tín hiệu cần nhận dạng.

Sau khi hoàn thành xây d ng một hệ thống nhận dạng tiếng nói bằng mô hình

VQ và đ a ra thử nghiệm cho kết quả nhận dạng đạt 90 trong tr ờng hợp việc nhận dạng đ ợc th c hiện trong phòng y n tĩnh

Mô hình VQ cho kết quả nhận dạng tốt hơn và hiệu quả hơn so với mô hình MFCC Cụ thể, mô hình MFCC chỉ đạt tỉ lệ nhận dạng 75%, và hiệu suất của nó phụ thuộc nhiều vào tín hiệu đầu vào.

Đề tài này có nhược điểm là chưa được áp dụng vào phần cứng và chưa được kiểm chứng trong môi trường thực tế Hệ thống chỉ có khả năng nhận dạng một lượng từ khá hạn chế, dưới 20 từ.

Hướng phát triển cho đề tài này là áp dụng các mô hình hiệu quả hơn như mô hình Markov ẩn (HMM) và mạng nơ-ron, đồng thời tích hợp với phần cứng để đánh giá khả năng thực tế của hệ thống.

Ngày đăng: 01/08/2021, 10:40

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lawrence Rabiner – Fundamentals of speech recognition – Prentice Hall 1993 [2] Lawrence Rabiner - A turial on Hidden Markov Model and selected applicationsin speech recognition – IEEE - 1989 Sách, tạp chí
Tiêu đề: Fundamentals of speech recognition" – Prentice Hall 1993 [2] Lawrence Rabiner - "A turial on Hidden Markov Model and selected applications "in speech recognition
[3] Daniel Jurafsky &amp; James H. Martin - Chapter 9: Automatic Speech Recognition – Speech and Language Processing: An Introduction to natural processing, computational linguistics and speech recognition – 2007 Sách, tạp chí
Tiêu đề: Chapter 9: Automatic Speech Recognition – Speech and Language Processing: An Introduction to natural processing, computational linguistics and speech recognition
[5] Joe Tebelskis - Speech Recognition using Neural Network –1995 Sách, tạp chí
Tiêu đề: Speech Recognition using Neural Network
[7] Rulph Chassaing – Digital Signal Processing and Applications with the C6713 and C6416 DSK –Wiley 2004 Sách, tạp chí
Tiêu đề: Digital Signal Processing and Applications with the C6713 and C6416 DSK
[8] Paul M. Embree – C Algorithms For Real-Time DSP –Prentice Hall 1995 Sách, tạp chí
Tiêu đề: C Algorithms For Real-Time DSP
[9] Nguyễn Hoàng Hải, Nguyễn Việt Anh – Lập trình Matlab và ứng dụng –NXB Khoa học kĩ thuật HN 2005 Sách, tạp chí
Tiêu đề: Lập trình Matlab và ứng dụng
Nhà XB: NXB Khoa học kĩ thuật HN 2005
[4] Hoàng Đình Chiến - Nhận dạng tiếng Việt dùng mạng Neuron và trích đặc trưng dùng LPC và AMDF Khác
[6] Bài giảng môn nhận dạng của thầy Trần Hoài Linh, ĐHBK Hà Nội, 2007 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN