Rozpoznawanie mowy nie jest tak skomplikowanym przykładem, jak myślisz.
Najpierw wyobraź sobie, że tworzysz łańcuch Markowa (MC), który rozpoznaje tekst. Twój program odczytuje kilka (doskonały, bez błędów) tekstów i oblicza stany (słowa) i zmiany stanu (następne słowa). Wygląda na to, że już to masz. Możesz teraz wygenerować tekst lub podać tekst przewidując następne słowo, korzystając ze stanów i prawdopodobieństw przejścia twojego MC.
Teraz wyobraź sobie, że chcesz używać swojego MC z mową. Po prostu sprawisz, że ludzie będą czytać tekst podobny do twojego MC i jesteś gotowy, prawda? No cóż ... Z wyjątkiem tego, że wymawiają słowa inaczej: tam, gdzie napisany tekst mówi „ziemniak”, w rzeczywistości usłyszysz „po-TAY-toh” i „po-TAH-toh” i „pu-TAY -to ”itd. I odwrotnie: tekst„ zjadł ”i„ osiem ”reprezentują dwa różne stany, ale (zwykle) są wymawiane tak samo.
Twój algorytm nie widzi już stanów podstawowych (słów), lecz rozkład prawdopodobieństwa wymowy dla każdego słowa. Twoje oryginalne MC jest ukryte za wymowy, a teraz twój model musi być dwuwarstwowy.
Możesz więc zachęcić wiele osób do przeczytania na głos tekstu, którego użyłeś podczas oryginalnego treningu, możesz uzyskać rozkład wymowy dla każdego słowa, a następnie połączyć swój oryginalny model z modelem wymowy i masz Ukryty model Markowa ( HMM).
Większość rzeczywistych problemów będzie wyglądać tak, ponieważ w prawdziwym świecie panuje głośność. Tak naprawdę nie będziesz wiedział, w jakim stanie jest coś. Zamiast tego otrzymasz różne wskaźniki dla każdego stanu: czasami ten sam wskaźnik dla różnych stanów („zjadł” i „osiem”), a czasem różne wskaźniki dla tego samego stanu. („pu-TAY-toe” i „pah-tah-TOE”). Dlatego HMM są bardziej odpowiednie do rozwiązywania problemów w świecie rzeczywistym.
[Dwie notatki dodatkowe: 1) faktyczne rozpoznawanie mowy działa na poziomie fonemów, a nie na poziomie słów, oraz 2) Wierzę, że HMM były królem wzgórza w rozpoznawaniu mowy, ale ostatnio zostały zdetronizowane przez głębokie sieci neuronowe.]