Fonemų atpažinimas

  1. Tiesinė prognozė
  2. Fonemų atpažinimas
  3. Praktinis darbas

Praktinis darbas

Realizuokite fonemų atpažinimo algoritmą Java kalba.
Jūsų atpažinimo algoritmas bus vertinamas pagal pateiktų algoritmui nežinomų fonemų atpažinimo kokybę.

Reikalingą algoritmui fonemų sąrašą ir duomenis rasite čia. Failuose su .raw galūne įrašytos vienos fonemos egzempliorių klasteris. Informacija apie klasterio atskiros fonemos ilgį pateikta to paties vardo .dat galūnės faile. Šiame faile surašytos iš eilės einančių fonemų fonogramų ilgiai (imčių kiekis). Failo pavadinimas yra vienos fonemos vardas. Šis fonemų sąrašas paimtas iš Pijaus Kasparaičio lietuvių kalbos sintezavimo sistemos. Čia mes laikome, kad skirtingai kirčiuotos fonemos skiriasi. Šiame sąraše yra 92 skirtingos fonemos.

.raw faile surašytos iš eilės einančios imtys. Imčių diskretizavimo dažnis FS=22050. Vienai imčiai skirti du baitai, pirma eina vyresnysis baitas.

Kuriant atpažinimo algoritmą jums reikės apskaičiuoti tiesinės prognozės koeficientus. Jų skaičiavimui galite panaudoti LPC.zip, 22 k Java LPC klasę ir jos kodą.

Derinant atpažinimo algoritmą susidursite su testinių duomenų problema. Tuo tikslu galite pasinaudoti tokia tradicine metodika. Išsirinkite iš pateikto fonemų duomenų banko pirmosios fonemos pirmąjį egzempliorių X ir išmeskite šį egzempliorių iš fonemų duomenų banko, bei pritaikykite fonemai X savo atpažinimo algoritmą. Kartokite šią procedūrą vietoje X imdami pirmosios fonemos antrąjį, trečiąjį ir t.t. egzempliorius. Po to kartokite tą pačią procedūrą su antrąja, trečiąja, ..., 92-ąja fonema. Tokiu būdu jūs sukaupsite statistiką apie "nežinomų" fonemų atpažinimo kokybę (procentą teisingai atpažintų fonemų) ir galėsite parinkti laisvus algoritmo parametrus maksimizuodami teisingai atpažįstamų fonemų procentą.


algirdas.bastys@maf.vu.lt

2004 m. spalio 4 d.