• Nie Znaleziono Wyników

Symulowane rozpoznawanie mowy

W dokumencie Index of /rozprawy2/10679 (Stron 101-104)

Opis systemu

7.1. Symulowane rozpoznawanie mowy

W niniejszym rozdziale opiszemy budowę i działanie programów na których do-konywano testów modelu językowego. Podczas realizacji tych badań [34, 31, 36] autor nie posiadał kompletnego systemu rozpoznawania mowy, więc pierwsze ba-dania przeprowadzono na programie symulującym system rozpoznawania mowy. Możemy wyróżnić w nim dwie główne części:

• symulator modułów systemu rozpoznawania mowy: modułu przetwarza-nia wstępnego, ekstrakcji cech akustycznych, modelu akustycznego • część badana, będąca głównie opracowanym w ramach tej pracy modelem

językowym, gotowa do podłączenia do systemu rozpoznawania mowy gdy ten także będzie skompletowany. Dla zapewnienia sprawnego funkcjonwa-nia rozważana część poza modelem językowym zawiera: silnik przeszuki-wania i leksykon

Różnicą jaka występuje przy tak zaplanowanych badaniach w stosunku do eks-perymentów korzystających z pełnego systemu rozpoznawania mowy jest jedy-nie fakt, że jedy-nie ma tu rzeczywistego wejścia głosowego i systemu dokonującego rozpoznawania sygnału dźwiękowego na płaszczyźnie akustycznej i fonetycznej. Elementy te zastępuje symulacja przeprowadzana w części pierwszej systemu. W efekcie zamiast pracować na sygnale mowy pracujemy na literach (które odpo-wiadają podziałowi sygnału na fonemy). Działanie badanego systemu obrazuje rysunek 7.1. Mając przykładowo zadane zdanie ”Teraz idziemy do parku” (rys. 7.1a) dokonujemy najpierw sklejenia wszystkich słów, co odpowiada problemowi

Teraz idziemy do parku.

(a) Zdanie poddane przetwarzaniu

t e r a z i d z i e m y d o p a r k u

(b) Zamiana na ciąg liter

t e r a z i d z i e m y d p p a r k u

(c) ”Zaszumienie” -zmiana litery

Rysunek 7.1: Proces tworzenia ciągu liter -jako wejście do symulacji rozpozna-wania oraz tworzenie hipotez

braku przerw między słowami w mowie ciągłej (rys. 7.1b). Następnie dokonu-jemy losowego zaszumienia ciągu liter (rys. 7.1c), aby odzwierciedlić występo-wanie błędów rozpoznawania. Rzeczywisty sygnał mowy jest bowiem zmienny (występują w nim cechy zależne od mówcy, zależności kontekstowe) i w typowym systemie rozpoznawania mowy jest porównywany z uśrednionymi wzorcami fo-nemów, co niekiedy powoduje błędy rozpoznawania. Zastosowane zaszumienie imituje te niedoskonałości rzeczywistego systemu rozpoznawanie mowy w spo-sób uproszczony, gdyż podczas symulacji nie uwzględniamy tego, które fonemy są sobie bliższe pod względem cech akustycznych. W rzeczywistych systemach rozpoznających mowę fonemy błędnie rozpoznane są z reguły pod względem cech fonetycznych podobne do fonemów, które rzeczywiście występowały w tek-ście, co może ułatwiać próby automatycznego korygowania błędów. Używany w badaniach symulator takiej możliwości nie daje, co powoduje, że wymagania generowane pod adresem części badanej (modelu językowego) są trudniejsze do spełnienia, czyli test jest bardziej wymagający.

Teraz omówimy silnik przeszukiwania. Znajdowane są tutaj hipotezy dotyczące identyfikacji rozpoznawanych wypowiedzi. Proces przeszukiwania wyjaśniamy na rysunku 7.2. Moduł przeszukiwania dokonuje przeszukiwania po wszystkich wyrazach z leksykonu takiego ciągu wyrazów, który da ciąg najbliższy zadanemu ciągowi liter c. Szukamy takich wyrazów, które będą bliskie podciągowi p ciągu liter c. Początkowo podciąg liter p zaczyna się na początku ciągu c, a koniec przesuwamy o jedną pozycję do przodu za każdą iteracją. Rozpoznanym słowem będzie słowo o takiej długości jak podciąg p – tworzone przez podciąg liter, a w razie jego braku będzie to drugie w kolejności alfabetycznej z dwóch słów miedzy którymi się znajduje słowo reprezentowane przez podciąg liter. W przypadkach dla których podciąg liter nie może być przypisany do żadnego słowa zastosowano taki rozwiązanie, ponieważ system przeprowadzający opisaną symulację jest du-żym uproszczeniem. Warto dodać, że lepszym rozwiązaniem byłoby, gdyby ze słownika było wybrane słowo najbardziej podobne choćby według liter. Jeżeli podciąg p będzie odpowiadał słowu w ze słownika , to dla pozycji początku podciągu wykonujemy rozgałęzienie drzewa hipotez. Rozpoznane słowo w

bę-t e r a z i d z i e m y d p p a r k u (a) Ciąg znaków c na wejściu

teraz i d z i e p . . . igła idę . . . idzie Leksykon (b) Szukanie słów teraz i i d z i e i d z i e m y (c) Formowanie hipotez

Rysunek 7.2: Proces tworzenia hipotez

dzie stanowiło jedną krawędź. Kolejne krawędzie będą przeznaczone dla innych słów rozpoczynających się w tym samym miejscu (jeżeli takie słowa będą znale-zione). Jeżeli w leksykonie nie będzie słów pasujących do początku podciągu to wykonujemy kolejną iterację. Przykład tworzonych hipotez jest przedstawiony na rysunku 7.2c.

Funkcja zysku f(X, WK

1 ) jest podobna do funkcji stosowanej w systemach roz-poznawania mowy (równanie 2.2), jednakże musi zostać ona zaadaptowana do przypadku rozpoznawania ciągu liter:

f(X, WK 1 ) = CA·(−length(U))+log(Pngram(WK 1 ))+HC·log(P (WK 1 ))−CC·K (7.1) Gdzie:

CC -koszt rozpoczęcia nowego słowa, celem tego kosztu jest prze-ciwdziałanie rozbijaniu dłuższego słowa na krótsze (np. podział słowa PRZYGODA na słowa: PRZY GO DA),

CA -koszt każdej ”nierozpoznanej litery” – są to litery pozostałe po ostatnim rozpoznanym wyrazie, gdy nie można znaleźć wyrazu o

długości takiego jak pozostały do końca zdania ciag liter,

WK

1 - rozpatrywany ciąg K słów,

length(U) - długość nierozpoznanego ciągu liter na końcu zdania , są to litery nie pasujace do żadnego słowa,

Pngram(WK

1 ) - prawdopodobieństwo wyznaczone przez model językowy n-gramowy, aby nie uwzględniać wyników tego modelu należy tą wartość zastąpić 1 (co da logarytm równy 0).

P(WK

1 ) - prawdopodobieństwo wyznaczone przez model językowy inny niż n-gramowy

HC - waga modelu innego niż N-gramowy

Preferujemy hipotezy o większym zysku, więc w każdej iteracji odrzucamy naj-gorsze rozwiązania pozostawiając liczbę najlepszych hipotez regulowaną war-tością parametru BEAM_W IDT H. Ustawiamy BEAM_W IDT H = 1000 dla naszych eksperymentów symulacji rozpoznawania mowy, a w przypadku doboru parametrów CA i CC ustawiamy BEAM_W IDT H = 100. Więk-sze wartości tego parametru oznaczają bardziej szczegółowe przeszukiwanie, sprawdzenie większej liczby przypadków w stosunku do mniejszej wartości

BEAM_W IDT H, jednakże to wymaga dłuższego czasu obliczeń.

7.2. Rozpoznawanie mowy z wykorzystaniem

W dokumencie Index of /rozprawy2/10679 (Stron 101-104)