Tải bản đầy đủ - 0 (trang)
Chương 4: Áp dụng mô hình markov ẩn trong nhận dạng tiếng nói

Chương 4: Áp dụng mô hình markov ẩn trong nhận dạng tiếng nói

Tải bản đầy đủ - 0trang

Mục đích là tính xác xuất của một từ w dựa trên các từ đã xuất hiện trước đó h. ví dụ

h=”water is so transparent that” tính xác xuất từ tiếp theo là “the” :

P(the/h) = C(is water so transparent that the)/ C(is water so transparent that)



Xét N từ là w1...wn hay wn và xác xuất P(w1,w2,...,wn)

Và với 𝑤1𝑛 là chuỗi n từ xuất phát từ w1

Ta có:



Áp dụng cho từ:



Nhưng ở công thức trên chúng ta không biết cách tính:

Ta sẽ xem xét một cách tính gần đúng

Mơ hình bigram tính xác xuất của từ dựa trên từ phía trước nó:

Suy ra với mơ hình N gram ta tính xác xuất dựa trên N từ phía trước nó:



Hay



Cơng thức tính của N gram



Từ mơ hình N-gram ta có thể tính được xác xuất xuất hiện từ n theo N từ xuất hiện

trước đó, do đó ta có thể dùng mơ hình N-gram để tìm ra một chuỗi từ các tự vựng

nhận dạng được.



4.2



Quá trình nhận dạng



Với mỗi acoustic đầu vào O ta có thể biểu diễn chúng như một chuỗi các

quan sát tại các thời điểm khác nhau (mỗi 10 giây và được biểu diễn bởi các giá trị

của energy, frequency…). Mỗi chỉ số của chuỗi biểu diễn một thời điểm.

Đầu vào

O=o1,o2,…,ot

Đầu ra

21



W=w1,w2,…,wn

W là chuỗi string của các từ

Để tìm được W ta sử dụng cơng thức sau:

Áp dung cơng thức bayes suy ra:



Chúng ta có thể bỏ qua P(O).

Suy ra

Trong đó: P(W) là the prior probability được tính bởi language model

Và P(O|W) là the opservation likelihood được tính bởi acoustic model.

The Language model sử dụng mơ hình N-gram để tính P(w) (dưới là cơng thức 1gram ta xem chi tiết ở phần trên): P(W) = P(𝑤1𝑛 )



The Acoustic model được dùng để tính P(O|W)

Đơi chút về chuỗi O: là một chuỗi quan sát được lấy ra từ quá trình lấy acoustic

waveform mỗi thời điểm lấy mẫu cách nhau 10,15, 20…ms cho ta một quan sát

(mỗi quan sát là một vector đặc tính)

Minh họa Architecture for speech reconition:



Hình 13: Kiến trúc mơ hình nhận dạng

Q trình nhận dạng tiếng nói được chia thành ba giai tầng chính.



22



-



-



-



Feature exaction: acoustic waveform được lấy mẫu và trong một frame với chu

kỳ 10ms, 15 or 20ms. Tại mỗi khung trong thời điểm lấy mẫu ta biểu diễn một

vector với 39 đặc tính biểu diễn thơng tin phổ ví dụ như energy, spectral change.

Acoustic modeling *: tính likelihood từ chuỗi quan sát các vector đặc tính phổ.

đầu ra của tầng này là một chuỗi các vector xác xuất mà tại mỗi time frame,

vector tại time frame đó chưa độ tương đồng(likelihood) mà mỗi phone hoặc

subphone được tạo ra bở vector đặc trưng phổ.

Decoding: lấy đầu ra của acoustic modeling đưa vào HMM dictionary rổi tổng

hợp với mơ hình ngơn ngữ đầu ra là chuỗi string.



4.3



Áp dụng mơ hình markov ẩn



Các vector đầu vào chuyển thành một dải cố định y = y y 1,..., T nhờ một quá trình

chọn hệ thống sẽ cố gắng giải bài tốn



Khi đó độ tương đồng p(y/w) được xác định bằng mơ hình âm học

Và p(w) được xác định bằng mơ hình ngơn ngữ ( dùng N gram)

Các thành phần của mơ hình markov:

Q = q1q2...qN Tập các trạng thái

A = a11a12...an1...ann : xác xuất chuyển đổi từ trạng thái I sang j

O = o1o2...oT: chuỗi quan sát có thể được

B = bi(ot) : tập các xác xuất của mỗi quan sát ot

q0,qF: tráng thái input và output

π = π1,π2,...,πN



Xác xuất input ở trạng thái i



Ví dụ về hai mơ hình HMM từ “six” khác nhau (thường dùng mơ hình 2)



Hình 14: Ví dụ mơ hình HMM từ “six” theo phone

Hình trên minh họa một HMM cho từ six

Các thành phần của HMM khi áp dụng cho speech recognition:

Q=q1,q2,…,qn : tập các trạng thái mà mỗi trạng thái tương ứng với một subphone

A= a0,a1,…an : xác suất chuyển trạng thái (sefl loop: tự lặp) hoặc tiến tới trạng thái tiếp theo.

B=bi(ot) : xác xuất quan sát được quan sát ot trạng thái (ot nó chính một cepstral feature

vector ) khi ở trạng thái i



23



ở hình minh họa ban đầu mỗi trạng thái tương ứng với 1 phone nhưng thực tế để chính xác thì

mỗi trạng thái tương ứng một subphone và thường là 3 đến 5 subphone sẽ mơ hình một phone

các mơ hình này sẽ móc nối với nhau để mơ hình một từ.

Mơ hình từ six:



Hình 15: Ví dụ mơ hình HMM từ “six” theo subphone



Chương 5: Ứng dụng nhận dạng số một người nói

5.1



Cài đặt pocketShinx



Để cài đặt được pocketsphinx ta cần tải các khói sau:

- Pocketsphinx - một thư viện nhận dạng viết bằng ngơn ngữ C

- Sphinxbase - gói thư viện nền, hỗ trợ các thư viện cần thiết cho các

gói khác.

- CMUclmtk - bộ cơng cụ xây dựng mơ hình ngơn ngữ.

- Sphinxtrain - bộ cơng cụ huấn luyện mơ hình ngữ âm.

Download các gói ở đây: http://cmusphinx.sourceforge.net/wiki/download

Rồi sau đó giải nén tất cả trong cùng một thư mục:

Cài các gói dependency: gcc, automake, autoconf, libtool, bison, swig at least

version 2.0, python development package, pulseaudio development package

Gõ : sudo apt-get install tên_các_gói

Cài sphinxbase:

Vào thư mục sphinxbase chuột phải chọn open terminal

Sau đó gõ lần lượt các lệnh

./autogen.sh

./configure

make

sudo make install

Cài sphinxtrain:

Vào thư mục sphinxtrain chuột phải open terminal

Sau đó gõ các lệnh

./configure

make

sudo make install

Cài pocketshinx

Vào thư mục pocketshinx chuột phải open terminal

Sau đó gõ các lệnh

./configure

make

sudo make install

Enjoy!



24



5.2



Xây dựng mơ hình ngơn ngữ



5.2.1 Xây dựng bộ từ điển

Cho hầu hết các ngôn ngữ ta có thể sử dụng các toolkit grapheme to phone như là

Phonetisaurus

Cách thứ 2 dùng texteditor tạo file.dict là phonetic dictionary

Nội dung trong file này được viết theo cách như sau:

- Do sphinx chưa hỗ trợ unicode nên ta sẽ viết theo kiểu ascii các ký thự không

thuộc ascii sẽ viết theo cách gõ telex ví dụ ê = ee.



-



-



Xây dựng bảng phiên âm mức âm vị dưới dạng ascii truy vấn bảng âm vị việt

nam nên sử dụng cách ký tự gõ được trên bàm phím cho tiện lợi, các dấu thanh

điệu được ký hiệu bằng các chữ s,f,r,x,j và space

Cách tốt nhất và chính xác nhất là tra cứu bảng phiên âm tiếng việt và thay các

từ Unicode bằng cách như trên.



Bộ từ điển được tổ chức như sau:

khoong kh oo ngz

moojt m ooj tc

hai h a iz

ba b a

boosn b oos nz

nawm n aw mz

sasu s as uz

baary b aar iz

tasm t as mz

chisn ch is nz

muwowfi m uw owf iz

muwowi m uw ow iz

moost m oos tc

tuw t uw

trawm tr aw mz

linh l i ngz

nghifn ng if nz



Lưu vào file digit.dic để dùng trong mơ hình ngơn ngữ và file digit.dict

Với digit là tên mơ hình muốn tạo

5.2.2 Xây dựng mơ hình ngơn ngữ

Chuẩn bị tập tin văn bản:

Đây là tập tin dạng text ví dụ digit.txt

Do CMUCLMTK chưa hỗ trợ unicode nên ta phải gõ theo kiểu mã ascii và những ký

tự không thuộc ascii ta sẽ dùng kiểu gõ telex như sau:

moojt trawm muwowfi moojt

moojt trawm muwowfi hai

moojt trawm muwowfi ba

moojt trawm muwowfi boosn

moojt trawm muwowfi nawm

moojt trawm muwowfi sasu

moojt trawm muwowfi baary

moojt trawm muwowfi tasm

moojt trawm muwowfi chisn

Trong bài của em thì em xây dựng một tập văn bản corpus.txt nội dung là các số từ

0 đến 9999

khoong

moojt



25



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Chương 4: Áp dụng mô hình markov ẩn trong nhận dạng tiếng nói

Tải bản đầy đủ ngay(0 tr)

×