poniedziałek, 16 listopada 2009

CORPORA - polski słownik rozpoznawania mowy

Podczas próby zorientowania się (i napisania) własnego programu rozpoznawania mowy pojawia się pewien zasadniczy problem jeżeli chcemy tego dokonać dla naszego ojczystego języka. Otóż nie ma ogólnodostępnego słownika analogicznego do angielskiego słownika BEEP (dośc powszechnie używanego przynajmniej w przykładach). Po (naprawdę) długich godzinach spędzonych w Internecie okazało się że jest prototyp takiego słownika, który jest rozwijany. Niestety, przeciętny śmiertelnik nie ma dostępu do tego słownika. Zajmuje się nim głównie pracownik naukowy przy Politechnice Poznańskiej - pan Grocholewski.

W Internecie Można znaleźć jeden z jego artykułów (po polsku nawet) odnośnie rozpoznawania mowy i słownika CORPORA. jest to jednak niejako tylko pewien wstęp teoretyczny. Udało mi się uzyskać dostęp do jeszcze dwóch artykułów tego samego autora. Poniżej chciałam napisać, co udało mi się z nich dowedzieć.

Baza danych słów dla polskich difonów

Język Polski jest jednym z nielicznych języków, który nie może się poszczycić posiadaniem takiej bazy. W chwili obecnej rozwijają się jednak dwa projekty:

  1. CORPORA
  2. COPERNICUS - Baza ta zawiera 10 cyfr, 100 liczb, 40 krótkich dialogów zawierających kilka tematycznie powiązanych zdań oraz około 35 dodatkowych zdań. Sygnał mowy jest zdigitalizowany (cyfrowy) z częstotliwością próbkowania 20 kHz i 16 bitową rozdzielczością.

W dalszej części będziemy rozważać jedynie CORPORę.

Projekt CORPORy:

materiał mowy został tak dobrany aby znajdowały się tam polskie litery, cyfry i 200 pierwszych imion wypowiedzianych w izolacji oraz aby zawrzeć minimum 900 najczęściej występujących polskich difonów.

Warunki nagrywania:

Nagrania zostały dokonane w wielu miejscach w Polsce przy tych samych warunkach środowiskowych (mam na myśli komputer i sprzęt). Sygnał został nagrany z częstotliwością próbkowania 16 kHz i 13 bitową rozdzielczością. Sygnał został znormalizowany i tylko 12 starszych bitów brano pod uwagę. Aby zminimalizować ilość błędów proces nagrywania był kontrolowany przez specjalne oprogramowanie TIMREC (jego zadaniem było np podpowiadanie że osoba za cicho mówi). Oprócz tego przedsięwzięcie było nadzorowane przez wykwalifikowanego fonetyka. Łącznie CORPORA zawiera prawie 180.000 polskich difonów.

Segmentacja i etykietowanie:

Zostało zadecydowane aby segmentacja i etykietowane nastąpiły według automatycznej fonetycznej transkrypcji, gdyż ręczny proces jest bardzo żmudny i długotrwały (choć prawdopodobnie bardziej skuteczny). Osobno było etykietowanie dla kobiet, osobno dla mężczyzn. Użyto do tego techniki dynamicznego programowania (program ten nazywał się LABELER ).
Akustyczna analiza sygnału była dokonywana co 5 ms i użyto w tym celu 15 ms okna Hamminga. Każda ramka reprezentowała 100-punktowy rejestr spektrogramu bazujący na 240-punktowym WFTA(Winograd Fourier Transform Algoithm).
Takie badanie uzyskało dość dobre wyniki.


PODSUMOWANIE:

Automatyczne przypisy stworzono na podstawie wybranych nagrań mężczyzn i kobiet a następnie ręcznie przedstawione przez profesjonalnego akustyka. Największym problemem było to, że inaczej fonetycznie brzmi słowo w całości a inaczej podzielone na sylaby. W takich wypadkach etykietowano część słowa niezależnie jak byłaby ona słyszana w całości słowa. Drugim problemem było to, że w przypadku gdy występowały pewne złożenia głosek (Spółgłoski zwarte) spółgłoska z tego złożenia była umieszczana w losowym momencie ciszy.

Brak komentarzy: