Simple pattern matching je tehnika gdje je svaka rijec prepoznata kao posebna cijelina. Na taj nacin odmah prepoznas stablo ili tablicu bez svjesnog analiziranja ili gledanja u njega. Pattern and feature analysis je tehnika gdje se svaka rijec rastavi na bitove i prepoznaje iz kljucnih znacajki kao npr. samoglasnici. Language modeling and statistical analysis je tehnika u kojoj se koristi znanje gramatike i vjerojatnosti pojave odredenje rijeci ovisno o redosljedu se koristi kako bi se poboljsala tocnost. Artificial neural networks je tehnika koristenja naucenih modela koji mogu pouzdano prepoznati uzorke zvukova kao npr. rijeci.
U praksi, svaki dan se susrecemo sa prepoznavanjem glasa kao u a tu enst napisati
Keywords: abstract; bastract; astract; retract; tractor
Prepoznavanje glasa u zvucnom zapisu je uz nas vec desetljecima. Ovih dana je precizno do 99% te postaje primarni nacin interaktiranje s racunalima. Glavni problem prepoznavanje glasa u zvucnom zapisu je da razlicite osobe razlicitom brzinom govore rijeci. Npr. netko ce reci cao dok netko drugi to mozda malo razduzi caaao. Te razlicite osobe imaju razlicit nacin govora, razlicti tonalitet.
Tehnike:
Vjerovatno ste se vec susresli sa ovim nacinom kada ste nazvali pozivni centar i onda odabirali izmedu opcija dok niste dosli do zeljene. Ovaj nacin je koristen u bankama za upite o stanju racuna, izvodima racuna, zahtjevima za cekove itd. Jednostavno nazovete broj te cekate snimljeni glas, te onda ili kazete broj ili odaberete brojeve kako bi dosli do onog sto zelite napraviti. Sve sto mozete napraviti je odabrati jednu od vise opcija iz male liste. Ovaj nacin ne prepoznaje glas nego odabire izmedu nekoliko predodredenih zvucnih uzoraka npr od 0 do 9 te onda prepoznaje prema glasu ili tonova mobilne tipkovnice.
Nije velika razlika izmedu prepoznavanja glasa i tonova mobilne tipkovnice. U svakom slucaju se usporeduje dobiveni zvuk sa slicnim spremljenim zvukovima. Postoji razlika izmedu govora te izmedu brojeva, ako ne moze odrediti koji je broj recen prebaci vas na agenta.
Simple pattern matching vecinom rade dobro jer imaju jako mali rijecnik vecinom deset rijeci koje reprezentiraju deset znamenki. Rijecnik koji sistem prepoznavanja glasa koristi zove se domena. Rani sistemi prepoznavanja glasa radili su za odredene domene npr. prepisivanje doktorskih zapisa, programerske komande, pravni zargon itd. Te je bio manji problem prepoznavanja glasa jer rijecnici su bili manji te tehnicke rijeci su bile vec objasnjene. Vecina nas ima veliko rijecnik te rijeci koje se ponavljaju puno te neke strucne rijeci koje se bas ne koriste toliko te onda sistemi zahtjevaju ponavljanje rijeci vise puta dok ne stvore novi uzorak. Problem ovog nacina je da nije dovoljno efikasan.
U praksi prepoznavanje glasa je puno kompleksnij proces nego identificiranje i usporedba sa vec spremljenim uzorcima. Postoji mnogo razloga zasto:
U ovom nacinu koristimo znanje jezika odnosno gramatiku. Kada ljudi govore nisu to samo razliciti zvukovi jer postoji i sum. Izgovor svake rijeci ovisi o izgovoru prethodne i iduce rijeci. Kompjuter moze predvidjeti da je neka rijec imenuica, glaglol itd. te ako je prepoznao npr pocetno slovo onda opet moze bolje predvidjeti i filtrirati. Svi moderni sistemi za prepoznavanje glasa su kompleksni staticki algoritmi koji pokusavaju odrediti sto je receno. Racunaju vjerojatnosti jedne rijeci za drugom, jednog slova za drugim te vjerojatnije rijeci koje se mogu pojaviti. Sistemi prave hidden Markov model (HMM) za svaki segment zvuka te onda racunalo racuna sto je najvjerojatnije da smo rekli bazirajuci se na sve stvari. Zove se Markov model ili Markov chain zbog ruskog matematicara Andrey Markov, jer je slijed razlicitih stvari(bitova, rijeci…) sto nam razlikuje jedno od drugog s nekom vjerojatnoscu. Nazvali su ga hidden jer se ne znaju tocno koje sve stvari ce se uzeti u obzir te najvise ovisi o pojedincu koji koristi to.
Da bi mogli uciti neuronske mreze trebamo znati pretvoriti zvuk u zapis kompatibilan za ucenje neuronskih mreza. Zvukovi su preneseni kao valovi. Kako valove mozemo pretvoriti u brojeve. Imaju jednu vrijednost a to je visina vala. Zapis vala mozemo pretvoriti u brojeve tako da uzmemo visinu vala u pojedinim trenutncima jednako odmaknutima. Takav nacin se zove sampling. Uzimamo ocitavanja tisucu puta u sekundi i spremamo brojcanu reprezentaciju visine vala. To je zapravo nekopresirani .wav zapis. Zbog razmaka izmedu citanja bi pomislili da gubimo podatke ali zahvaljujuci Nyquist theorem koristeci matematiku mozemo savrseno rekonstruirati originalni zvuk.Zbrajajuci koliko energije koji frekvencijski pojas daje mozemo napraviti uzorak svakog zvuka. Te onda kompleksne zvukove mozemo pretvoriti u jednostavne sa fourierovim transformacijama. Krajnji rezultat toga je dobiveni broj koliko energije daje odredeni frekvencijski pojas. Ako ponavljamo taj proces svakih 20 milisekundi dobit cemo spektagram.
Te onda neuronska mreza moze lagano naci ponajvljajuci uzorak pomocu spektograma. Za svaki mali isjecak dobit cemo vjerojatnost koje slovo taj djelic predstavlja.
Nakon sto predvimo s neuronskom mrezom dobit cemo nesto tipa HHHEE_LL_LLLOOO ali isto misli da je rekao HHHUU_LL_LLLOOO te AAAEE_LL_LLLOOO. Prvi korak je otkloniti duplikate slova te onda razmake. Mozemo vidjeti ako izgovorimo te rijeci da zvuce jako slicno. Te onda gledamo u databazu sto se vise pojavljuje te cemo smatrati taj primjer tocnim.
Mozemo zakljuciti da dobro prepoznavanje glasa je veoma slozen proces te moramo koristiti neuronske mreze kako bi mogli tocno prepoznati glas. Najtocnije prepoznavanje glasa bi bilo da koristimo neuronske mreze, vjerojatnosti te prethodno znanje gramatike. Odstranjivanje suma bi isto pripomoglo tome. Sto se tice ovih tehnika najbolja od njih bi bila neuronske mreze ali vidimo da i postoje nekakve druge tehnike koje su se prije koristile te neke koje se i danas koriste kao sto je kada zelimo doci do tehnicke podrske nekakve mreze trebamo proci kroz simple pattern matching.