1. WSTĘP
Systemy automatycznego rozpoznawania mowy (ARM) stają się z roku na rok coraz bardziej popularne. Dzieję się tak za sprawą licznych potencjalnych zastosowań dla tego typu systemów: od prostych sterowników włączających i wyłączających światło na komendę [1][2], poprzez zaawansowane programy notujące, czy też wspomagające urządzenia dla osób niepełnosprawnych [3]. Ponadto mowa jest naturalnym sposobem komunikacji dla człowieka, stąd wielka atrakcyjność tego typu systemów dla potencjalnych użytkowników.
Dostępność gotowych narzędzi wspomagających pisanie programów do automatycznego rozpoznawania mowy, takich jak HTK czy Sphinx [6][7] sprawia, że tworzenie tego typu systemów jest znacznie prostsze niż jeszcze kilka lat temu. Ponadto dzięki temu autorzy nie muszą dokładnie zgłębiać wszystkich, częstokroć niezwykle skomplikowanych modeli matematycznych stojących u podstaw ARM. Niestety takie podejście ma również wady, gdyż nieznajomość modeli powoduje, że trudno jest w sposób świadomy dobierać parametry, czy choćby wybierać te z nich, które mogą mieć istotny wpływ na działanie systemu.
W artykule przedstawiono w sposób ogólny zastosowanie ukrytych modeli Markowa (hidden Markov models, HMM), jako narzędzia do budowy algorytmów rozpoznawania mowy.
W pracy zawarto praktyczne informacje adresowane nie tylko do twórców programów do automatycznego rozpoznawania mowy, ale także dotyczące innych systemów bazujących na ukrytych modelach Markowa.
2. UKRYTE MODELE MARKOWA
Ukryte modele Markowa to zaawansowane modele statystyczne. Rozważany system może w dyskretnej chwili czasowej t przyjmować jeden z N stanów, zależnie od stanu w chwili poprzedniej (jest on łańcuchem Markowa rzędu pierwszego, tzn. jego stan zależy tylko od jednego stanu poprzedzającego) [4]. Wówczas można posłużyć się rysunkiem 1 do zobrazowania przejść pomiędzy stanami.
Przejścia opisuje się za pomocą kwadratowej macierzy prawdopodobieństw A=[aij]. Element aij jest to prawdopodobieństwo przejścia systemu ze stanu i do stanu j w kolejnej chwili czasowej [5]:
Do opisu systemu nie wystarczy sama macierz A. Konieczna jest również znajomość macierzy Π, która zawiera prawdopodobieństwa wystąpienia i-tego stanu na początku sekwencji stanów.
Znając obie macierze: A oraz Π, możliwe jest obliczenie prawdopodobieństwa wygenerowania przez system sekwencji stanów q=(q0, q1, …, qT):
W przypadku rozpoznawania mowy rozważa się jednak nieco odmienną sytuację, gdy łańcuch q uznawany jest za niejawny (ukryty). Znana jest natomiast sekwencja obserwacji O. W przypadku mowy, obserwacja jest to wektor cech wyekstrahowanych z pojedynczej ramki nagrania.
Dla każdego ze stanów systemu istnieje pewne prawdopodobieństwo b, że w trakcie przebywania systemu w tym stanie wygenerowana zostanie obserwacja Ot:
Ponieważ nie da się przewidzieć liczby różnych obserwacji, które mogą wystąpić (może być ich nieskończenie wiele), do opisu prawdopodobieństwa pojawienia się obserwacji Ot w czasie, gdy system znajduje się w i-tym stanie należy posłużyć się ciągłą funkcją gęstości prawdopodobieństwa. Najczęściej używa się kombinacji liniowej M rozkładów Gaussa:
Gdzie cim oznacza współczynnik wagowy, a N(µ,Σ) jest to rozkład normalny charakteryzowany przez wektor wartości średnich µ oraz macierz kowariancji Σ.
Ukryte modele Markowa oznacza się często jako λ [5]:
Posiadając wszystkie te informacje, możliwe jest obliczenie prawdopodobieństwa wygenerowania sekwencji obserwacji O przez system λ:
LITERATURA
1. Haleem M.S.: Voice controlled automation system. Multitopic Conference IEEE International, Karachi 2008, s. 508-512
2. Kubik T., Sugisaka M.: Use of a cellular phone in mobile robot voice control. SICE Proceedings of the 40th SICE Annual Conference, Nagoya 2001, s. 106-111
3. Simpson R.C., Levine S.P.: Voice Control of a Powered Wheelchair. Neural systems and rehabilitation engineering, 10, 2, 2002, s. 122-125
4. Elliott R.J., Aggoun L., Moore J.B.: Hidden Markov Models: estimation and control. Springer, New York, 1995, s. 3-19, ISBN 03-87943-64-1
5. Juang B.H., Rabiner L.R.: Hidden Markov Models for Speech Recognition. Technometrics, 33, 3, 1991, s. 251-272
6. Ma G., Zhou W., Zheng J., You X., Ye W.: A Comparison between HTK and SPHINX on Chinese Mandarin. Artificial Intelligence, China 2009, s. 394-397
7. Young S.J, Woodland P.C., Byrne W.J.: Spontaneous speech recognition for the credit card corpus using the HTK toolkit. Speech and Audio Processing, IEEE Transactions on, 2, 4, 1994, s. 615-621
8. Openshaw J.P., Sun Z.P., Mason J.S.: A comparison of composite features under degraded speech in speaker recognition. Acoustic, Speech and Signal Processing, 2, 2, Minneapolis 1993, s. 371-374
9. Tolba H., O’Shaughnessy D.: Automatic speech recognition based on cepstral coefficients and a mel-based discrete energy operator. Acoustic, Speech and Signal Processing, 2, 2, Seattle 1998, s. 973-976
