Phương pháp so khớp biên ñộ

Một phần của tài liệu Đồ án nghiên cứu đặc trưng của tiếng việt trong nhận dạng tiếng nói (Trang 49 - 116)

Chuỗi tín hiệu tiếng nói ñưa vào máy tính có dạng hình sin. Do ñó, ta sẽ tìm hai ñiểm dao ñộng cùng pha, khoảng thời gian giữa hai ñiểm ñó chính là chu kỳ T. Từ T, ta sẽ tìm ra tần số f.

Tuy nhiên cần chú ý rằng tín hiệu tiếng nói là sự tổng hợp của nhiều tần số

(xem hình vẽ), do ñó, hai ñiểm dao ñộng cùng pha ñược xét phải là 2 ñiểm cắt zero. Bên cạnh ñó, ta cũng phải xác ñịnh ñúng 2 ñiểm cắt zero ñể tạo thành chu kỳ của F0, vì các daoñộng cộng hưởng cũng có thể gây ra ñiểm cắt zero.

Hình 2.15: hình dng tín hiu tiếng nói

1. Dò tìm ñiểm cắt zero thứ nhất theo một chiều nào ñó (ví dụ ñi lên như

trong hình vẽ), ñặt tên làX1.

2. Dò tìm 2 ñiểm cắt zero cùng chiều tiếp theo, ñặt tên là X2, X3. Với khoảng thời gian giữa X1X2X2X3 là tương ñương nhau và nằm trong khoảng ngưỡng thời gian xác ñịnh chu kỳ.

3. Lần lượt so sánh biên ñộ các ñiểm tương ứng trong hai khoảng X1X2

X2X3. Gọi tổng bình phương các ñộ sai lệch biên ñộ làS.

4. Nếu S nhỏ hơn ngưỡng ñộ lệch (tức là hai khoảng X1X2X2X3 giống nhau) thì kết luận mỗi khoảng ñó là một chu kỳ. Nếu không, thay ñổi khoảng thời gian, nghĩa là dò tìm các ñiểm cắt zero khác.

Làm trơn kết qu F0 bng b lc median

Bộ lọc Median ñược dùng khá rộng rãi trong việc khử nhiễu. Nội dung kỹ

thuật ñược thể hiện như sau:

Để có một tín hiệu ra, một cửa sổ các tín hiệu vào liền nhau ñược chọn. Sắp xếp các dữ liệu trong cửa sổ tín hiệu kể trên.

Giá trị trung tâm của dãy ñã sắp xếp ñược chọn làm median của tập hợp các mẫu trong cửa sổ.

Nói cách khác, bộ lọc median sẽ tính lại giá trị một ñiểm mẫu bằng cách lấy trung bình cộng của một sốñiểm mẫu chung quanh.

Đối với lọc median, phần mất nhiều thời gian nhất là bước thứ 2. Nếu ñộ dài của cửa sổ kể trên là tương ñối lớn thì ta nên dùng thuật toán tìm median dựa trên tư

n f( n ) Hình 2.16a: Kết qu trích pitch n f( n ) = M e d ia n {f (n )}

Chương 3. Nhn dng tiếng nói

3.1. T8ng quan m:t h# nh;n d<ng:

Nhận dạng ñối với con người là quá trình mô phỏng lại sự nhận biết các sự

vật hiện tượng xung quanh của não người. Một hệ nhận dạng trên máy tính cũng mô phỏng lại quá trìnhñó, và ñược xây dựng với các thành phần cơ bản sau:

Module thu nhận tín hiệu và trích ñặc trưng: thu nhận tín hiệu cần nhận dạng, tiền xử lý và rút ra các ñặc trưng bất biến của ñối tượng. Module học mẫu: cho máy biết ñối tượng sẽ nhận dạng và các ñặc trưng tươngứng.

Module tra cứu – so khớp: tìm mối liên hệ giữa các ñối tượng vừa mới nhận vào với các ñối tượng ñã lưu trước ñó bằng một phương pháp tra cứu – so khớp nào ñó và ñưa ra kết quả.

Sơñồ một hệ nhận dạng tổng quát thông thường như sau:

Hình 3.1: Sơñồ mt h nhn dng tng quát

3.2. T8ng quan m:t h# nh;n d<ng ti'ng nói:

Một hệ nhận dạng tiếng nói sẽ làm việc với dữ liệu vào là tiếng nói ñược số

hoá. Hiện nay, hầu hết các hê nhận dạng tiếng nói ñều ñược xây dựng dựa trên hai giả thiết cơ bản sau:

Dạng mang thông tin trực tiếp của tín hiệu tiếng nói ñược thể hiện trong các biến ñổi thời gian của phổ biên ñộ tức thời. Ngoài ra một phần thông tin ñược truyền ở khoảng thời gian giữa các tiếng nói là các dấu hiệu khác như cao ñộ, cường ñộ âm thanh…

Dựa vào kết quả nghiên cứu của Miller, tiếng nói ñược tổ chức theo thứ bậc, sao cho các ñơn nguyên ñơn giản của một bậc theo một qui tắc nhất ñịnh sẽ liên kết thành các ñơn nguyên phức tạp hơn của bậc sau. Theo quan ñiểm của lý thuyết thông tin, các cấu trúc như vậy sẽ (adsbygoogle = window.adsbygoogle || []).push({});

làm cho mã ổn ñịnh so với lỗi gây ra bởi người nói và tạp âm xung quanh.

1. Nhận dạng từ liên tục và nhận dạng từ cách biệt

Tất cả các hệ nhận dạng tiếng nói ñược chia làm 2 loại: nhận dạng từ liên tục và nhận dạng từ cách biệt. Nhận dạng từ liên tục tức là nhận biết ñược các thông tin cần truyền ñạt trong một dãy các từ ñược phát âm liên tục, như một câu nói tự

nhiên, bình thường. Các hệ thống loại này rất phức tạp vì khó tách ñược biên giới giữa các từ, các hệ nhận dạng từ liên tục gặp phải vấn ñề ñầu tiên là tách từ, hướng tiếp cận việc xử lý tốt công ñoạn tách từ ảnh hưởng nhiều ñến kết quả nhận dạng. Trái lại, ñối với mô hình nhận dạng từ tách biệt, mỗi từ cần nhận dạng ñược phát âm một cách rời rạc, có các khoảng nghỉ trước và sau khi phát âm một từ. Mô hình loại này ñơn giản hơn mô hình nhận dạng từ liên tục, ñồng thời cũng có những ứng dụng thực tiễn như trong các hệ thống ñiều khiển bằng lời nói, nhận dạng các chữ số qua

ñiện thoại …, với ñộ chính xác khá cao, tuy nhiên khó áp dụng rộng rãiñối với mô hình trên.

Nhận dạng từ liên tục khó hơn rất nhiều so với nhận dạng từ tách biệt vì những lý do sau ñây:

Khi nói liên tục, thì các âm cuối của từ phía trước gây ảnh hưởng ñến các âm ñầu của từ phía sau, và ñôi khi làm biến âm các âm vị lân cận Ngữ cảnh, tình cảm khi nói cũng làm thay ñổi nhiều ñến cách phát âm một từ.

Do ñó rất khó xác ñịnh biên giới ngăn cách giữa các từ khi phát âm liên tục. Về mặt tín hiệu, các vùng này ñôi khi không có sự thay ñổi ñáng kể về năng lượng.

2. Nhận dạng phụ thuộc người nói và ñộc lập người nói:

Một trong những trở ngại chính ảnh hưởng ñến ñộ chính xác cũng như sự

phát triển của các hệ nhận dạng tiếng nói, là sự khác biệt rất lớn giữa các người nói khác nhau. Sự khác biệt này làm cho việc thiết kế một mô hình nhận dạng tiếng nói cho tất cả mọi giọng nói rất khó khăn, và hầu như chưa thực hiện ñược tốt. Do ñó một cách giải quyết trên thực tế là giả ñộc lập người nói. Phương pháp này thực

hiện bằng cách thu mẫu một số giọng nói có ñộ cao khác nhau (giả sử chia làm 5 bậc: nữ cao, nữ trầm, trung, nam cao, nam trầm). Khi nhận dạng, ta sẽ kiểm tra ñộ

cao tiếng thu ñược, rồi lấy bộ mẫu có ñộ cao tươngứng ñể nhận dạng.

Nhận dạng ñộc lập người nói khó hơn rất nhiều so với nhận dạng phụ thuộc người nói. Vì cùng một từ ta phát âm nhiều lần vẫn khác nhau, dù có ñiều chỉnh cho giống lần phát âm trước. Đối với con người thì chúng ta có thể hiểu nhau do ngữ

cảnh. Nhưng ñối với máy tính thì rất khó xây dựng ñược một mô hình giải quyết cho tất cả các trường hợp. Điều này thường ñược giải quyết bằng cách cho máy học mẫu và lưu trữ nhiều bộ mẫu khác nhau của từng người nói. Nhưng, với một số

lượng từ lớn, ñôi khi tốn rất nhiều thời gian học mẫu và thường phải dùng ñến máy mainframe.

Khi xây dựng một hệ thống nhận dạng tiếng nói, người ta thường theo một trong ba cách tiếp cận chính sau:

Tiếp cận theo âm học và ngữ âm học. Tiếp cận theo nhận dạng mẫu thống kê. Tiếp cận theo trí tuệ nhân tạo.

Một hệ thống nhận dạng tiếng nói thường có các mô ñun sau:

Phần xử lý âm: Quá trình tríchñặc trưng của chuỗi âm thanh cho ra các vector ñặc trưng. Phần này giải quyết 2 bài toán: phát hiện chu kỳ

tiếng nói và khử nhiễu.

Phần ñịnh nhóm nhanh: Phần này giúp tăng tốc ñộ nhận dạng trên một từ ñiển lớn. Ứng với một chuỗi quan sát, quá trình ñịnh nhóm nhanh sẽñưa ra một nhóm nhỏ các mẫu gần với chuỗi quan sát ñó.

Phần ngữ pháp: Thực chất ñây là phần suy luận theo luật. Các luật ở ñây là các qui tắc ngữ pháp ứng với một ngôn ngữ cụ thể, do ñó, phần này dùng trong nhận dạng nguyên câu. Quá trình này sẽ giới hạn số từ

có khả năng xảy ra căn cứ vào các từñã nhận dạng ñược.

Phần nhận dạng chi tiết:Quá trình này sẽ xác ñịnh một hay một vài từ tương ứng với chuỗi quan sát trên một nhóm nhỏ các mẫu ñã ñược lọc ra từ các quá trình trên.

Phần giải mã: Quá trình này sẽ căn cứ vào ngữ cảnh cụ thể ñể chính xác từ cần nhận dạng. Phần này làm cho hệ nhận dạng mang tính hệ

chuyên gia.

3.3. Nh)ng thu;n l=i và khó khăn c@a nh;n d<ng ti'ng

nói:

Thuận lợi: việc nhập liệu tiếng nói thực hiện dễ dàng hơn các loại dữ liệu khác: ñơn giản, nhanh, làm ñược trong khi vẫn làm việc khác… (adsbygoogle = window.adsbygoogle || []).push({});

Khó khăn: do tính phức tạp của dữ liệu tiếng nói, việc nhận dạng tiếng nói mang ñộ phức tạp cao hơn so với các hệ thống nhận dạng khác:

Tiếng nói là loại dữ liệu phụ thuộc người nói. Cùng một tiếng, nhưng hai người khác nhau nói khác nhau.

Tiếng nói mang tính liên tục, và do ñó, mỗi từ chịu ảnh hưởng (pha trộn) của các từ kế bên trong câu. Bên cạnh ñó, sự phát âm cùng một từ cũng thay ñổi tuỳ theo ngữñiệu câu nói.

Tiếng nói thay ñổi theo tình trạng tâm lý, sinh lý và tình cảm người nói và thời ñiểm nói. Cùng một từ, một câu, nhưng sáng nói khác, chiều nói khác, tối nói khác; vui nói khác, buồn nói khác; nói với người này khác, nói với người kia khác; khoẻ nói khác, ñau nói khác; no nói khác, ñói nói khác… Nhiều hệ thống nhận dạng thường gặp thất bại khi chạy Demo vì người ñiều khiển quá hồi hộp, sợ sệt. Thậm chí lúc tập trung tư tưởng phát âm sẽ khác lúc thư giãn.

Thiết bị ảnh hưởng rất nhiều ñối với âm thanh ñược thu vào hoặc phát ra. Trên thị trường vẫn có các loại nhiều loại Micro, loa khác nhau, giá tiền ñôi khi chênh lệch rất nhiều. Các loại Micro không tốt sẽ ảnh hưởng ñến tín hiệu thu vào, làm mất thông tin, hay sẽ gây ra nhiễu do dòng ñiện bị dao ñộng khi ñi qua các khớp nối. Thậm chí, dây Micro dài ngắn khác nhau, cấu tạo bằng các chất dẫn khác nhau cũng sẽ ảnh hưởng ñến tín hiệu tiếng nói do sóng âm nhận ñược từ các phương tiện truyền khác nhau. Nói chung, các thiết bị phần cứng như Micro, dây dẫn, card âm thanh …, ñều có ảnh hưởng ñáng kể ñến tín hiệu âm thanh.

Môi trường thu âm cũng có ảnh hưởng ñáng kể. Thông thường, tín hiệu tiếng nói khi thu vào phải ñưa qua bước tiền xử lý ñể lọc bỏ các tần số nhiễu. Nhiễu này có thể do tiếng ồn như tiếng máy quạt, máy lạnh, tiếng xe cộ, tiếng nói như tiếng người, tiếng hát, hay thậm chí là tiếng dội lại của tiếng nói ñang thu trong phòng kín…

3.4. Nh;n d<ng ti'ng nói s1 d/ng mô hình Markov An

Mô hình Markov ẩn là mô hình dựa trên thống kê dùng ñể mô hình hoá các loại tín hiệu theo thời gian, ñược sử dụng rất thành công trong những ứng dụng về

nhận dạng. Đặc biệt HMM dùng trong nhận dạng tiếng nói ñã ñạt ñược những thành công lớn. Có 2 lý do ñể giải thích sự thành công này. Thứ nhất chính là khả năng mô hình hoá tiếng nói theo thời gian của HMM. Thứ hai là cấu trúc mô hình dựa trên những ràng buộc toán học chặt chẽ [4]. Do ñó HMM cung cấp một công cụ

nhận dạng với ñộ tin cậy cao nhờ vào những ràng buộc và suy luận toán học. Nhờ

những ñặc ñiểm trên mô hình Markovẩn cũng ñược sử dụng trong nhiều ứng dụng khác. Thực tế cho thấy ñối với nhận dạng tiếng nói, mô hình Markovẩn cho kết quả

cao hơn mạng neural.

3.4.1. Mô hình Markovẩn và các bài toán cần giải quyết:

Trong phương pháp này, mỗi từ mẫu sẽ ñược biểu diễn bằng một mạng chuyển ñổi các trạng thái. Tại một thời ñiểm bất kỳ, hệ thống sẽ ở vào trạng thái qt trong tập S = {Si} có N trạng thái. Qua các thời gian rời rạc, hệ thống sẽ chuyển qua các trạng thái khác. Ký hiệu qtlà trạng thái ở thời ñiểm t, ta có:

P[qt= Sj|qt-1= Si, qt-2= Sk,…] = P[qt= Sj| qt-1= Si]

Chúng ta chỉ xét các quá trình mà vế phải không phụ thuộc vào thời gian. Khi ñó tập xác suất chuyển trạng thái aijcó dạng:

aij= P[qt= Sj| qt-1= Si], với aij 0; aij 1.

Một mô hình Markovẩn ñược ñặc trưng bởi các tham sốsau:

1. N: s trng thái ca mô hình

2. M: s các ký hiu quan sát ñược ng vi mt trng thái 3. Tp xác sut chuyn trng thái: A = {aij}

4. Tp xác sut ký hiu Vkquan sát ñược trong mt trng thái: B = {b(k)}

5. Tp xác sut trng thái ban ñầu là trng thái i:

i= P[qt= Si], i [1,N]

Như vậy nếu cho các giá trị N, M, A, B, thì mô hình Markovẩn hoàn toàn xác ñịnh.

Ta ký hiệu một mô hình Markovẩn như sau: = (A, B, ).

Áp dụng mô hình Markov ẩn cho xử lý tiếng nói, ta phải giải quyết 3 bài toán cơ bản sau:

1. Cho chui quan sát O và mô hình , ta phi tính xác sut có ñiu kin P(O| ) ca chui quan sát.

2. Cho chui quan sát O và mô hình , ta phi tìm chui trng thái Q sao cho xác sut có ñiu kin P(O| ) là tiưu.

3. Cho chui quan sát O và mô hình , ta phi ñánh giá li các thông s ca mô hình sao cho xác sut có ñiu kin P(O| ) ca chui quan sát là ti

ưu. (adsbygoogle = window.adsbygoogle || []).push({});

3.4.1.1. Giải quyết bài toán thứ nhất:

Để giải quyết bài toán thứ nhất, chúng ta sử dụng toán tử tiến t(i)

Toán tử tiến t(i) là xác xuất của chuỗi quan sát từng phần O1O2O3…Ot và trạng thái quan sát Sitại thời ñiểm t với ñiều kiện cho mô hình Markovẩn .

t(i) = P(O1O2…Ot, Si| )

Toán tử tiến có thểñược tính theo công thức truy hồi sau: a) Khởi tạo: (i) = ibi(O1), với i [1,N] a) Qui nạp: t+1(j)= ( ) ( 1) 1 j t N i ij t i a b O , (t [1,T-1], j [1,N]) b) Kết thúc:

P(O| )= N i T i 1 ) (

3.4.1.2. Giải quyết bài toán thứ hai:

Vấn ñề thứ hai ñược giải quyết thông qua các tiêu chuẩn tốiưu. Một loại tiêu chuẩn tốiưu là chọn trạng thái q có xác xuất cực ñại trong từng thời ñiểm t.

3.4.1.3. Giải quyết bài toán thứ ba:

Đểñánh giá lại thông số của mô hình, tañịnh nghĩa thêm 3 toán tử sau:

Toán t lùi t(i)

Toán tử lùi t(i) là xác xuất của chuỗi quan sát từng phần Ot+1Ot+2…OT và trạng thái Sitại thời ñiểm t với ñiều kiện cho mô hình Markovẩn .

t(i) = P(Ot+1Ot+2…OT|qt= Si, )

t(i) có thể tính ñược theo công thức truy hồi sau: Khởi tạo: T(i) = 1, (i (1,N)) Qui nạp: t(i)= N j t t j ijb O j a 1 1 1) ( ) ( , (t [1,T-1]) Toán t t(i):

Toán tử t(i) là xác suất của hệ thống ở trạng thái i tại thời ñiểm t với ñiều kiện cho chuỗi quan sát O và mô hình .

t(i) = P(qt= S|O, ) t(i)= N i t t t t t t i i i i O P i i 1 ) ( ) ( ) ( ) ( ) | ( ) ( ) (

Toán t t(i,j):

Toán tử t(i,j) là xác suất của hệ thống ở 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 với ñiều kiện có chuỗi quan sát O và mô hình Markovẩn .

t(i,j) = P(qt= Si, qt+1= Sj|O, ) t(i,j) = ) | ( ) ( ) ( ) ( 1 1 O P j O b a i ij j t t t t(i,j) = N i N j t t j ij t t t j ij t j O b a i

Một phần của tài liệu Đồ án nghiên cứu đặc trưng của tiếng việt trong nhận dạng tiếng nói (Trang 49 - 116)