• Nie Znaleziono Wyników

Index of /rozprawy2/10679

N/A
N/A
Protected

Academic year: 2021

Share "Index of /rozprawy2/10679"

Copied!
151
0
0

Pełen tekst

(1)Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki i Informatyki Biomedycznej. Rozprawa doktorska. Modelowanie języka naturalnego (polskiego) dla potrzeb budowy systemu rozpoznawania mowy klasy LVCSR Natural language modeling of Polish language for purposes of construction Large Vocabulary Continuous Speech Recognition system. mgr inż. Leszek Gajecki. Promotor: prof. dr hab inż. Ryszard Tadeusiewicz. Kraków 2013.

(2) Wykaz najważniejszych akronimów i oznaczeń Wykaz oznaczeń Teoria prawdopodobieństwa C(w1 , w2 , . . . , wn ). - funkcja zliczająca; liczy liczbę wystąpień podanej krotki (w1 , w2 , . . . , wn ) słów. E[X]. - wartość oczekiwana zmiennej losowej X. H. - entropia. Ω. - przestrzeń zdarzeń losowych. P (A). - prawdopodobieństwo zdarzenia losowego A. P (A|B). - prawdopodobieństwo warunkowe zdarzenia A pod warunkiem zajścia zdarzenia B. PP. - perplexity. Gramatyki formalne A¯. - alfabet. A. - automat skończony, stosowane jest także oznaczenie: A =< S, A, f, s0 , T >. G. - gramatyka, oznaczana także jako G =< Σ, N, S, P >. L(G). - język generowany przez gramatykę G, oznaczany także jako L(Σ, N, S, P ). N. - skończony zbiór symboli nieterminalnych. 2.

(3) 3 Σ. - (oznaczane w literaturze także jako T )- skończony zbiór symboli terminalnych. P. - zbiór reguł produkcji. α→β. - reguła produkcji, zamieniająca ciąg symboli α na ciąg symboli β. obiekt → zależności - ograniczenie (reguła) HPSG, obiekt musi spełniać zależności   ATRYBUT1 typ1   ATRYBUT2 typ2 - opis obiektu TFS (ang. typed feature stucture) za .... typ. pomocą macierzy AVM (ang. attribute - value matrices). Obiekt typu typ ma atrybuty ATRYBUT1, ATRYBUT2, odpowiednio o typach typ1, typ2.. Sieci neuronowe F. - funkcja mapowania słów (lub klas słów) na wejścia sieci neuronowej. R. - funkcja oceny wyjść sieci samoorganizującej. w. - wektor wag sieci neuronowej. x. - wektor wejść sieci neuronowej. y. - wektor wyjść sieci neuronowej. Inne oznaczenia x. - skalar. x. - wektor lub macierz. x ˆ. - przybliżenie x. kxk. - długość (norma) wektora x. kAk QK. - liczba elementów (moc) zbioru A, oznaczane także jako A ak. - iloczyn wyrazów a1 , a2 , . . . aK. PK. ak. - suma wyrazów a1 , a2 , . . . aK. k=1 k=1. x∈X. - przynależność obiektu x do zbioru X. X∗. - ciąg pusty lub złożony z dowolnej liczby powtórzeń symbolu X.

(4) 4 - ciąg niepusty, złożony z dowolnej, niezerowej liczby powtórzeń symbolu X. X+. - pochodna funkcji y po x. ∂y ∂x. arg max f (x) x. - wartość argumentu x, dla którego f (x) przyjmuje wartość maksymalną. G(w). - klasa słowa w. G. - zbiór klas słów. K. - zbiór wszystkich klas słów dopuszczonych przez reguły gramatyki powierzchniowej. lim f (x). - granica funkcji f (x), przy x dążącym do a. O(.). - notacja asymptotyczna, górne ograniczenie do określenia złożoności obliczeniowej i pamięciowej. V. - słownik, leksykon. w. - słowo. Wab. - sekwencja słów (wa , . . . , wb ), gdzie wi -to i-te słowo w zdaniu. W. - korpus tekstowy jako zbiór słów. X. - wektor cech akustycznych. x→a. Wykaz akronimów AVM. - (ang. Attribute - Value Matrices) macierze opisujące struktury TFS, zawierają pary: atrybut -wartość. CYK. - algorytm Cocke-Younger-Kasami (zwany także jako CKY), służy do parsingu gramatyk bezkontekstowych. HPSG - (ang. Head-Driven Phrase Structure Grammar) - gramatyka struktur frazowych LVCSR - (ang. Large Vocabulary Continuous Speech Recognition) - rozpoznawanie mowy ciągłej z zastosowaniem dużego rozmiaru słownika SOM. - (ang. Self-Organized Memory) - sieć samoorganizująca Kohonena. TFS. - (ang. Typed Feature Structure) - typowane struktury cech, formalizm służący do opisu HPSG. WER. - (ang. Word Error Rate) - procent błędnych słów, określa jakość pracy systemu rozpoznawania mowy.

(5) Rozdział 1. Wstęp Przedmiotem tej rozprawy jest - zgodnie z jej tytułem - modelowanie języka naturalnego (polskiego) dla potrzeb budowy systemu rozpoznawania mowy klasy LVCSR. Rozpoczynając prezentację tej pracy warto podkreślić oryginalność jej tematu. Typowym modelem językowym stosowanymi w systemach rozpoznawania mowy dużego słownika (LVCSR), używanym głównie dla języka angielskiego jest model trigramowy 1 np. [46, 68, 29]. Również w systemach rozpoznawania mowy tworzonych dla innych języków dominują - jak wynika z literatury [24, str. 129-130], [59] - modele trigramowe i pochodne. Takie modele są w niektórych językach bardzo wygodne i wydajne, ale mają tę dominującą cechę, że uwzględniają sztywno ustaloną kolejność występowania wyrazów w zdaniu. Jednak w języku polskim ta kolejność jest mniej ściśle przestrzegana niż w języku angielskim. W związku z tym przy budowie systemu klasy LVCSR, przeznaczonego do rozpoznawania mowy polskiej, potrzebny jest inny model języka, oparty na odmiennej zasadzie i dostosowany do swobodnego szyku wyrazów w zadaniu. Szyku swobodnego, charakterystycznego dla języków fleksyjnych, w szczególności dla języka polskiego. Taki właśnie model, oparty na automatycznej ekstrakcji reguł lingwistycznych, zostanie zaproponowany i przebadany w prezentowanej rozprawie. Proponowany model językowy będzie pracował zgodnie z uwarunkowaniem wynikającym ze specyficznych cech języka polskiego. Jest to jego istotna zaleta, ważna z punktu widzenia wszystkich konstruktorów systemów automatycznego rozpoznawania mowy polskiej. Drugą zaletą proponowanego modelu jest fakt, że reguły językowe zostaną w nim utworzone automatycznie poprzez ich ekstrakcję z korpusu tekstowego. Pozwoli to w przyszłości na budowę modelu, który będzie mógł podlegać automatycznemu doskonaleniu w trakcie użytkowania (będzie więc systemem uczącym się), co ze względu na zmienność języka może być uznane za istotną zaletę. 1 Termin. ten będzie dalej dokładnie objaśniony.. 5.

(6) ROZDZIAŁ 1. WSTĘP. 1.1.. 6. Cele i tezy pracy. Celem badań było - jak już wspomniano - opracowanie nowego modelu językowego, który mogłyby być połączony z systemem rozpoznawania mowy klasy LVCSR (z zastosowaniem dużego słownika). Model ten jest przystosowany do specyfiki języka polskiego. Oczekiwano, że zastosowanie opracowanego modelu językowego pozwoli na uzyskanie lepszych wyników rozpoznawania mowy w porównaniu z innymi modelami językowymi. Szczegółowymi celami pracy były: 1. Wybór i porównanie klas modeli językowych innych niż modele statystyczne. 2. Utworzenie prostej gramatyki powierzchniowej, będącej punktem odniesienia dla dalszych modeli. 3. Opracowanie metod oceny sekwencji słów poprzez gramatykę powierzchniową i normalizacji wyników takich ocen. 4. Implementacja symulowanego (uproszczonego) systemu rozpoznawania mowy, niezbędnego do początkowych prac. 5. Wykonanie systemu rozpoznawania mowy na bazie oprogramowania HTK. 6. Zaproponowanie sieci neuronowej mogącej uczyć się powiązań pomiędzy klasami słów, wydzielonymi na podstawie cech gramatycznych tych słów. 7. Opracowanie metod oceny sekwencji słów poprzez model sieci neuronowej i metod normalizacji takich wyników. 8. Zaproponowanie złożonej sieci neuronowej mogącej uczyć się powiązań pomiędzy klasami słów. 9. Zaproponowanie modelu sieci neuronowej mogącej uczyć się powiązań pomiędzy słowami. 10. Implementacja systemu rozpoznawania mowy pracującego na kratach słów, współpracującego z modelami autorskimi. (Modyfikacja oprogramowania HTK i SRILM ) 11. Analiza testów rozpoznawania mowy. Tezami pracy są: 1. Jest możliwe wykonanie modelu językowego dla języka polskiego z użyciem sieci neuronowych - sieci samoorganizującej się mapy Kohonena 2. Model języka naturalnego oparty na automatycznej ekstrakcji reguł pozwala uzyskać poprawę jakości rozpoznawania mowy polskiej w systemie klasy LVCSR w stosunku do szeroko stosowanego modelu bigramowego..

(7) ROZDZIAŁ 1. WSTĘP. 1.2.. 7. Zawartość pracy. Z podanych wyżej celów i tez rozprawy wynika jej struktura. Rozdział 2 wprowadza tematykę systemów rozpoznawania mowy ciągłej z wykorzystaniem dużego zasobu słownika (LVCSR). Zostanie przedstawiona architektura typowego systemu LVCSR z uwzględnieniem roli modelu językowego. To zastosowanie modelu językowego wprowadza wymagania na pracę tego modelu związane ze złożonością obliczeniową a także z oceną rozpatrywanej sekwencji słów. W pracy zostaną także przedstawione wymagania stawiane takiemu modelowi z uwzględnieniem specyfiki języka polskiego, jako języka o bardziej swobodnym szyku zdania niż powszechnie badany język angielski. Pierwszą opisywaną w pracy klasą modeli językowych będą modele statystyczne (rozdział 3). Są nimi: • chętnie stosowany model n-gramowy (oparty na słowach) oraz jedna z jego modyfikacji • model n-gramowy oparty na klasach. Inne ulepszenia modelu n-gramowego zostaną tylko krótko wspomniane, bo ten model nie jest głównym przedmiotem rozważań w tej pracy. Taki wybór tematyki omawianego rozdziału pozwala na przedstawienie zasad pracy modelu n-gramowego jako modelu prostego i podstawowego dla rozpoznawania mowy. Model n-gramowy oparty na klasach słów będzie przykładem wykorzystania związków pomiędzy klasami słów w modelu językowym, co jest istotne gdy celem jest budowa modelu opartego na klasach słów. W podrozdziale 3.3 będzie także przedstawione pojęcie miary perplexity, które może być użyteczne w ocenie jakości modelu językowego. Modele n-gramowe są znane i dlatego nie będą szczegółowo dyskutowane, warto jednak je przedstawić na początku rozprawy, ponieważ będą one częściowo wzorem dla rozważanych w pracy modeli autorskich. Kolejną klasą omawianych w pracy modeli językowych będą gramatyki formalne (rozdział 4). Będą one pozwalały na zapis powiązań pomiędzy słowami. Wprowadzenie do tej tematyki obejmie przywołanie hierarchii Chomskiego opisującej pewną klasę gramatyk. Spośród nich jako modele językowe w rozpoznawaniu mowy są stosowane gramatyki liniowe. Omówiony zostanie algorytm CKY pozwalający na parsing gramatyk bezkontekstowych, gdyż w dalszych rozdziałach zostanie przedstawiona próba przeniesienia tego algorytmu na model złożonej sieci neuronowej. Przedstawiony zostanie także formalizm HPSG pozwalający na szczegółowy zapis reguł gramatycznych. Formalizm ten należy do gramatyk głębokich. Zostanie także przedstawione przeciwne do gramatyk głębokich pojęcie gramatyk powierzchniowych. Celem tego rozdziału jest wskazanie znanych rozwiązań, które będą później podlegały próbom przeniesienia na modele autorskie..

(8) ROZDZIAŁ 1. WSTĘP. 8. Przedstawiona w rozdziale 5 prosta gramatyka powierzchniowa jest autorskim modelem, który zawiera „ręcznie” wprowadzone najprostsze reguły gramatyczne. Mimo swojej prostoty będzie ona mogła być zastosowana jako model językowy i jej wyniki będą punktem odniesienia do modeli wymagających znacznie dłuższych przygotowań. Aby model językowy wymagał wyznaczenia jak najmniejszej liczby parametrów (wag, powiązań,. . . ) będzie on oparty na klasach słów. To rozwiązanie przypomina model n-gramowy oparty na klasach (rozdział (rozdział 3.4). Zostanie też przeanalizowana możliwość wykorzystania oceny sekwencji słów dawanej przez tą gramatykę, a następnie zostanie zaproponowany sposób normalizacji takich wyników. Inspiracją do zaproponowania takich rozwiązań był zwykły model n-gramowy oraz wspomniany wyżej model n-gramowy oparty na klasach słów. Mimo braku możliwości nauki takiego modelu, opisane rozwiązania będą częściową podbudową pod modele sieci neuronowych. Modele oparte o sieci neuronowe (rozdział 6) są czystym opracowaniem autora niniejszej rozprawy, będącym jednym z ważniejszych oryginlalnych wyników naukowych zawartych w tej rozprawie. Autorskie modele będą wykorzystywać sieć samoorganizującą -mapę Kohonena do znajdowania związków pomiędzy klasami słów. Po wyjaśnieniu zasad pracy takiej sieci zostanie omówione kodowanie wejścia dla sieci. W kolejnych podrozdziałach będzie przedstawiona rozbudowa sieci, pozwalająca na znajdowanie powiązań między klasami słów i ocenę sekwencji słów. Zaproponowane będzie postępowanie, jaki może być podjęte w przypadku niejednoznaczności klas słów, a także omówiony będzie sposób przekazania informacji o klasach słów znajdujących się w badanej sekwencji - do odpowiednich wejść sieci. Część z opisanych rozwiązań będzie zaczerpnięta z autorskiego modelu gramatyki powierzchniowej, przedstawionego w rozdziale 5. Opisany zostanie także model sieci złożonej a następnie model wykorzystujący sieć neuronową oparty o słowa. Rozdział zostanie zakończony analizą złożoności obliczeniowej i pamięciowej zaproponowanych modeli autorskich, ponieważ ta właśnie cecha stworzonych modeli może być decydująca dla ich potencjalnego przyszłego użytkownika. Modele językowe można sprawdzić w pełni wyłącznie po podłączeniu do systemu rozpoznawania mowy. Autor takim profesjonalnym systemem nie dysponował, dlatego zachodziła potrzeba posłużenia się symulacją. Rozdział 7 opisujący zastosowany system badawczy będzie przedstawiał budowę kolejno zaimplementowanych systemów: • systemu symulowanego rozpoznawanie mowy, • systemu zbudowanego na bazie pakietu HTK, a także • systemu rozpoznawania mowy wykorzystującego kraty słów. Przedstawiony będzie także sposób znajdowania parametrów funkcji zysku, a także przytoczony będzie opis wykonania i implementacji modeli autorskich, opisanych we wcześniejszych rozdziałach. Na końcu opisane zostaną zasoby językowe wykorzystane w badaniach..

(9) ROZDZIAŁ 1. WSTĘP. 9. Testy modeli językowych stworzonych w ramach prac, zawarte są w rozdziale 8. Będą one przedstawiały wyniki rozpoznawania mowy uzyskane w kolejnych systemach eksperymentalnych. Najszerzej będą prezentowane eksperymenty rozpoznawania mowy wykonane w systemie wykorzystującym kraty słów (druga, ulepszona wersja krat). Działanie takiego systemu można określić jako najbardziej zbliżone do pełnego systemu rozpoznawania mowy. Przedstawione będą także różne szczegóły dotyczące słownika, a także wyboru rozwiązań różniących modele językowe. Podany będzie opis parametrów uczenia i pracy badanych modeli. Prezentowane wyniki obejmą wykorzystanie dwóch wersji słownika różniących się wielkością. Będzie wyznaczona miara perplexity oraz WER (ang. procent błędnych słów) w testach rozpoznawania mowy. Obie miary będą wyznaczane w trakcie i na końcu nauki. Rozdział 9 stanowi podsumowanie badań oraz syntetycznie przedstawia te elementy pracy, które można polecać uwadze jako oryginalny wkład autora.. 1.3.. Podziękowania. W sposób szczególny pragnę podziękować mojemu promotorowi prof. Ryszardowi Tadeusiewiczowi za pomoc w przeprowadzeniu badań oraz wartościowe uwagi merytoryczne w prowadzonej pracy. Wykorzystane w badaniach kraty słów zostały wykonane w Laboratorium Technologii Mowy i Języka działającego przy Poznańskim Centrum Superkomputerowo - Sieciowym. Składam tu podziękowania Pani Prof. Grażynie Demenko -kierownikowi laboratorium, a także Markowi Lange, który wygenerował wspomniane kraty. Badania związane z tym doktoratem były finansowane w ramach Grantu promotorskiego Narodowego Centrum Nauki, nr. N516 513439, oraz poprzez stypendium programu „Podkarpacki Fundusz Stypendialny dla doktorantów”. Zakup komputera na którym wykonano część badań został sfinansowany w ramach „Małopolskiego stypendium doktoranckiego”. Pragnę także podziękować dr Leszkowi Puzio z Wyższej Szkoły Informatyki i Zarządzania za udostępnienie klastra obliczeniowego. Równie serdecznie pragnę podziękować tym, którzy w mojej historii wpłynęli na moje wykształcenie oraz Rodzinie - m.in. mojej Żonie i Rodzicom za wsparcie w trakcie prac..

(10) Rozdział 2. Systemy rozpoznawania mowy i rola modelu językowego W tym rozdziale przedstawiona zostanie architektura typowego systemu rozpoznawania mowy, co pozwoli na pokazanie zasad działania modelu językowego w takim systemie. Następnie omówione zostaną wymagania stawiane takim modelom językowym, a także wyspecyfikowane będą specyficzne wymagania, jakie związane są z językiem polskim.. 2.1.. Rozpoznawanie mowy. Zanim przedstawimy w dalszych częściach tej pracy rozwiązanie, które stanowi oryginalną propozycję autora rozprawy, opiszemy w skrócie systemy rozpoznawania mowy znane z literatury. Na początku będziemy rozważać architekturę typowego systemu ciągłego rozpoznawania mowy 1 (rys. 2.1). Jest to system wykonany z zastosowaniem dużego słownika , bazujący na Niejawnych Modelach Markowskich (HMM - based framework). Przykładami takich systemów mogą być: system rozpoznawania mowy K. U. Leuven [24, 28], HTK [80], a także systemy dla języka polskiego opisane w pracach [53, 8].Do tej samej klasy zaliczyć można system rozpoznawania języka polskiego przeznaczony dla wąskiej domeny słów opisany w pracy [42]. Schemat pracy takiego systemu jest następujący (por. rys. 2.1): 1 Zgodnie z przyjętą terminologią system przedstawiany w tej pracy należy do kategorii LVCSR - Large Vocabulary Continuous Speech Recognition, (ang.) rozpoznawanie mowy ciągłej z zastosowaniem dużego słownika.. 10.

(11) 11. ROZDZIAŁ 2. SYSTEMY ROZPOZNAWANIA MOWY Wejście sygnału audio. Przetwarzanie wstępne Sygnał znormalizowany Ekstrakcja cech akustycznych . . Model akustyczny. x1 Wektor cech akustycznych X =  x2  ... Silnik przeszukiwania Leksykon _. Wyjście informacji tekstowej Model językowy. Rysunek 2.1: Architektura typowego systemu ciągłego rozpoznawania mowy. Na początku sygnał mowy (traktowany po prostu jako sygnał akustyczny) poddajemy przetworzeniu analogowemu (wzmocnieniu, filtracji analogowej itp.), tak aby mógł on zostać przekazany do przetwornika A/C. Po przekształceniu na postać cyfrową widmo rozważanego sygnału zostaje poddane normalizacji. Znajdujący się dalej w strukturze systemu moduł ekstrakcji cech akustycznych wydobywa z sygnału cyfrowego cechy (parametry) istotne z punktu widzenia rozpoznawania mowy. W wyniku tej ekstrakcji cech otrzymujemy wektor cech akustycznych X = [x1 , x2 , . . . , xn ] rozważanego sygnału. W procesie normalizacji widma sygnału uwzględniamy także normalizację mówców polegającą na pewnej (najczęściej liniowej) transformacji widma. Transformacja ta jest tak dobrana, by istotne cechy widmowe głosu różnych mówców dawały podobny obraz dla tych samych jednostek akustycznych. Nim zostanie przeprowadzone właściwe rozpoznawanie mowy część systemu rozpoznającego określana często jako „silnik wyszukiwania” konstruuje tak zwaną kratę słów. Jest to sieć opisująca budowę słów w postaci podstawowych jednostek mowy (fonemy, sylaby, trifony). Każda podstawowa jednostka mowy jest tu reprezentowana za pomocą Niejawnych Modeli Markowa (HMM). Dodatkowo krata słów może być połączona z modelem językowym , który będzie określał możliwe słowa, które wystąpią po danym słowie. Mając zbudowaną kratę słów system może rozpocząć rozpoznawanie mowy. Moduł rozpoznający opisany na rysunku 2.1 jako „silnik wyszukiwania” działa według następującego schematu: Na jego wejście zostaje podany ciąg wektorów cech akustycznych X wydobyty z sygnału audio przez moduł ekstrakcji tych cech. Na tej podstawie moduł „silnik wyszukiwania” dokonuje poszukiwania optymalnej sekwencji słów Wopt.

(12) ROZDZIAŁ 2. SYSTEMY ROZPOZNAWANIA MOWY. 12. pośród wszystkich możliwych sekwencji słów W1K = w1 , w2 , . . . , wK , co możemy zapisać: Wopt = arg max P (W1K |X) (2.1) W1K. Najczęściej stosowane jest poszukiwanie sekwencji słów w tak otrzymanym grafie metodą Beam Search, z odrzucaniem najgorszych hipotez. Przy postępowaniu tym zakłada się, że każda hipoteza posiada „koszt” będący miarą heurystyczną jej jakości - uwzględniający: 1. Podobieństwo wektorów cech akustycznych do wzorców podstawowych jednostek mowy. Ten składnik „kosztu” podawany jest przez Model Akustyczny jako miara prawdopodobieństwa. 2. Poprawność w sensie wymowy. Ten składnik „kosztu” podawany jest przez Leksykon, który przechowuje informacje o wymowie każdego słowa.  Używany w dalszych rozważaniach współczynnik P X|W1K jest efektem współpracy Leksykonu z Modelem Akustycznym. Każda hipoteza jest budowana jako złożenie wypowiedzi słów zawartych w Leksykonie, co znacznie ogranicza przestrzeń przeszukiwania. 3. Poprawność w sensie modelu językowego. Ten składnik „kosztu” podawany jest jako prawdopodobieństwo określające możliwość wystąpienia  danej sekwencji słów, np. P W1K Koszt każdej hipotezy może być określony następująco:    f X, W1K = log P X|W1K + CA log P W1K + CC. (2.2). gdzie: CA – waga prawdopodobieństwa uzyskanego przez model językowy, CC – „kara” za rozpoczęcie nowego słowa, ze względu na interpretację jest to wartość ujemna, X. – otrzymany z analizy sygnału audio wektor cech akustycznych (obserwacja),. W1K – rozważania sekwencja słów. Zastosowanie logarytmów jest niezbędne dla obliczeń numerycznych gdyż unikamy wyników mnożenia, które są mniejsze co do wartości bezwzględnej niż precyzja obliczeń zmiennoprzecinkowych. Nawiasem mówiąc można stwierdzić, że nawet jeśli wyniki mnożenia nie są mniejsze od precyzji obliczeń zmiennoprzecinkowych, ale ich rząd wielkości będzie porównywalny z tą wartością graniczną - to sytuację taka także trzeba uznać za niekorzystną. Dalsze szczegółowe informacje o systemach rozpoznawania mowy rozważanego tu typu są opisane w [24, 80], dość obficie także w [4, 17, 55], a charakterystyka sygnału mowy podana jest także w [71]..

(13) ROZDZIAŁ 2. SYSTEMY ROZPOZNAWANIA MOWY. 13. Wspomniana koncepcja systemu rozpoznawania mowy nie jest jedyną. System ten można rozbudować np. dodając model semantyczny [27, 17], jednak ta tematyka wykracza poza zakres prezentowanej pracy doktorskiej. Na uwagę zasługuje rozwiązanie przyjęte w projekcie ACORNS [74], gdzie zrezygnowano z predefiniowanego leksykonu i pozwolono by system sam uczył się słów (lub jednostek podobnych do słów, którymi mogą być poza słowami także jednostkami składowymi słów, lub jednostkami złożonymi ze słów).. 2.2.. Wymagania stawiane modelom językowym.. W kolejnych rozdziałach omówimy modele językowe, które są stosowane w systemach rozpoznawania mowy klasy LVCSR. Główne wymagania, jakie musi spełnić dobry model językowy możemy określić następująco: • Musi on pozwalać na stwierdzenie, czy dana sekwencja słów jest elementem wykorzystywanego języka, czy nie. Dodatkowo może być wymagane stwierdzenie, czy badana sekwencja słów należy do typu języka: ogólny, potoczny, dziedzinowy itp., który ma akceptować rozważany system. Korzystną formą wymaganego stwierdzenia może być miara liczbowa określająca jak bardzo dana hipoteza jest istotna lub prawdopodobna. • Powinien on uwzględniać wszystkie możliwe konstrukcje, które występują w języku (np. szyk słów, co opiszemy dalej). • Powinien on pomóc w wyborze hipotezy nawet w przypadku, gdy model akustyczny nie daje całkowicie prawidłowego rozpoznania jednostek akustycznych. • Powinien on skutkować jak najmniejszą złożonością obliczeniową procedur poszukiwawczych., Przy braku spełnienia tego warunku otrzymujemy bardzo mocno rozgałęzione drzewo przeszukiwań (kratę słów), co praktycznie uniemożliwia pracę systemu w czasie rzeczywistym. Model który nie gwarantuje ograniczenia rozgałęzień procesu przeszukiwania jedynie na słowa możliwe w danej sytuacji będzie generował rozgałęzienia na wszystkie słowa z leksykonu, a to prowadzi do bardzo czasochłonnych obliczeń. • Model powinien mieć możliwość podejmowania decyzji w oparciu o ograniczony kontekst (na przykład ograniczony do n słów), wymagany do oceny hipotezy, że dana sekwencja słów jest elementem wykorzystywanego języka. Gdyby ocena następowała dopiero po otrzymaniu całego zdania przestrzeń przeszukiwania miałaby znaczny rozmiar. Inaczej jest w przypadku gdy model zawęża wybór możliwych słów - może nie być konieczne ograniczenie kontekstu..

(14) ROZDZIAŁ 2. SYSTEMY ROZPOZNAWANIA MOWY. 2.3.. 14. Wymagania stawiane modelom przez język polski. W następnych rozdziałach zwrócimy uwagę na to jak dany system modeluje zdania, które różnią się kolejnością słów. Takie rozważania są podstawą do opracowanych przez autorów modeli językowych przystosowanych do właściwości języka polskiego. Modele prezentowane w literaturze najczęściej stosowane są dla języka angielskiego. Jest to język, w którym (jak wiadomo) kolejność wyrazów w zdaniu ma istotne znaczenie. W odróżnieniu od niego w języku polskim szyk słów często nie jest istotny, więc zamiana kolejności słów w wielu przypadkach nie zmieni znaczenia zdania. Przykładem może być zdanie: Babcia ma kota. Można je zapisać na 5 innych sposobów. Kota ma babcia. Ma kota babcia. Ma babcia kota. Babcia kota ma. Kota babcia ma. Każde z powyższych zdań jest poprawne w języku polskim i zawiera tę samą wiadomość. Z drugiej strony istnieją także w języku polskim pewne ograniczenia zmiany szyku. Można do nich zaliczyć np.: a) wyrażenie typu przyimek - rzeczownik jest nieprzemienne, przyimek jest zawsze pierwszy. Regułę tę stosuje się także gdy rzeczownik jest określany np. przymiotnikiem. b) zdania wielokrotnie złożone także podlegają ograniczeniom. Jest tutaj ograniczona swoboda kolejności zdań składowych oraz ich podziału. Natomiast wewnątrz zdań składowych szyk jest bardziej swobodny. c) ograniczenia stwarzają także sytuacje semantyczne, gdzie zmieniony szyk może zmieniać znaczenie wypowiedzi. Rozważane zagadnienie ma duże znaczenie praktyczne z punktu widzenia prezentowanej pracy. Model językowy który potrafi uwzględnić zmiany szyku nie będzie musiał mieć osobnych reguł uwzględniających różne warianty kolejności wyrazów. Oznacza to znaczącą oszczędność czasu, zwłaszcza gdy reguły są tworzone ręcznie. W przypadku kiedy reguły są ekstrahowane automatycznie z określonego korpusu tekstów dopuszczenie w modelu możliwości zmiany szyku wyrazów spowoduje, że uzyskana reguła uwzględni wszystkie możliwości wynikające ze zmiennego szyku. Inaczej w automatycznym ekstrahowaniu reguł niekoniecznie muszą być znalezione reguły reprezentujące wszystkie poprawne językowo możliwości, ponieważ w analizowanym korpusie tekstów pewne ewentualności mogą po prostu nie występować..

(15) Rozdział 3. Modele statystyczne W niniejszym rozdziale opiszemy modele językowe, które posługują się miarą prawdopodobieństwa. Opisany zostanie kolejno podstawowy model n-gramowy, a następnie jego ulepszenia: model bazujący na klasach słów, oraz algorytm Knesser-Ney - rozwiązanie pozwalające uzyskać model oparty na klasach słów. Wspomniane modele mają związek z rozwiązaniami zaproponowanymi dalej przez autorów. Istnieją inne rozwiązania (np. modele interpolowane, modele z pamięcią podręczną, modele back-off, . . . ), jednakże nie będziemy ich opisywać ze względu na obszerność zagadnienia, a czytelników nimi zainteresowanych odsyłamy do publikacji np. [46, 51, 58].. 3.1.. Używane pojęcia. W dalszych rozważaniach używane będą następujące pojęcia (i związane z nimi oznaczenia): W - korpus tekstowy Jest to baza tekstów, która służy do automatycznego generowania modelu. Baza ta powinna być odpowiednio duża aby zawierać (reprezentować) jak najwięcej zjawisk językowych. Istotne jest pochodzenie tekstów wchodzących w skład korpusu, gdyż każdy rodzaj piśmiennictwa reprezentuje inny podzbiór języka. Przy tworzeniu modelu powinien być używany podzbiór jak najbliższy sytuacjom, w których będzie potem zastosowany model językowy wyuczony na tym korpusie. V - słownik. Jest to zbiór słów, które występują w korpusie.. 15.

(16) ROZDZIAŁ 3. MODELE STATYSTYCZNE. 3.2.. 16. Model n-gramowy. Model n–gramowy wyznacza prawdopodobieństwo wystąpienia sekwencji słów W1K = (w1 , w2 , . . . , wK ), w ∈ V co może być wyrażone zgodnie z regułami rachunku prawdopodobieństwa jako iloczyn prawdopodobieństw warunkowych [46]: K  Y  P W1K = P wk |W1k−1. (3.1). k=1.  Rozważane są prawdopodobieństwa warunkowe P wk |W1k−1 ze względu na znany fakt, że prawdopodobieństwo wystąpienia nowego słowa wk zależy od tego jakie były poprzednie słowa. Zjawisko to określane jest w literaturze jako „historia słów” . Autor książki [46, str. 59] rozszerza to pojęcie również na wystąpienie nowego słowa w obecnym stanie gramatyki. Podejście to może być odniesione również do gramatyki opartej na automatach skończonych, która jednak udzieli tylko binarnej informacji postaci decyzji „tak” / „nie” zamiast numerycznie wyznaczonego prawdopodobieństwa. W modelu n-gramowym kontekst (czyli zakres historii słów) jest ograniczony do ostatnich N − 1 wyrazów:. P. W1K. . =. K Y.  k−1 P wk |Wk−n , 1<n≤N. (3.2). k=1. Prawdopodobieństwo wystąpienia nowego słowa pod warunkiem wystąpienia N poprzedzających je słów może zostać wyliczone za pomocą funkcji zliczającej C(.), określonej zgodnie z definicją maksymalnego prawdopodobieństwa (maximum likelihood): K−1 P (wk |WK−N )=. C (wK , wK−1 , . . . , wK−N ) C (wK−1 , wK−2 , . . . , wK−N ). (3.3). Głównym problemem przy stosowaniu wyżej podanych reguł jest rzadkość danych. Zakładając N = 3 (czyli model trigramowy, którego odmiany są chętnie stosowane w rozpoznawaniu mowy), oraz słownik o liczebności W = 60000, otrzymujemy teoretyczną liczbę wszystkich możliwych trójek: Wn = 216 · 1012 . W praktyce, ze względu na właściwości języka, ta liczba jest znacznie mniejsza, ale nadal bardzo duża. W wyniku tego w wielu przypadkach korpusu tekstowego, dla którego będziemy liczyć prawdopodobieństwa, liczebność wielu znalezionych trójek będzie równa 0 lub 1, co nieprawidłowo modeluje prawdopodobieństwa ich wystąpień oraz prawdopodobieństwa warunkowe. Dlatego potrzebujemy technik pracy z trójkami (krotkami), które nie występują w zadanym korpusie, lub występują rzadko. Będą to techniki wygładzania oraz obniżania.

(17) 17. ROZDZIAŁ 3. MODELE STATYSTYCZNE. (normalizacji) prawdopodobieństw. Jeżeli nie posiadamy w używanym korpusie żądanej krotki słów, to możemy wyliczyć to prawdopodobieństwo za pomocą prawdopodobieństw niższego rzędu poprzez interpolację modeli językowych. Innym sposobem jest znalezienie klas równoważności, które będą określały grupy słów zachowujących się podobnie, a więc mających podobny kontekst - co będzie dawało możliwość modelowania prawdopodobieństw ich występowania w zadanym kontekście (rozdział 3.4). Modelowanie języka naturalnego dobrze opisuje pozycja literatury [78], a także pozycje [58], [80], oraz krótki przewodnik [2]. W szczególności zagadnienie modelu N-gramowego przedstawia w swoich pracach Frederick Jelinek, np. [45] - i do tych prac odsyłamy bardziej dociekliwego Czytelnika.. 3.3.. Miara jakości modelu językowego. Typowo stosowaną miarą jakości statystycznych modeli językowych jest parametr określany angielskim terminem perplexity. Próbując tłumaczyć ten termin na język polski znajdujemy frazę: „zakłopotanie” albo „rozterka”. Dość dobrym odpowiednikiem byłby także staropolski rzeczownik „ambaras”. Mimo obfitości możliwych tłumaczeń pozostawimy w tej pracy termin perplexity w jego oryginalnym anglojęzycznym brzemieniu, żeby poprawnie dowiązać prezentowane tu rozważania do doniesień literaturowych, w których używana jest właśnie miara określana jako perplexity. Dotyczy ona samego modelu językowego i jest liczona dla zadanego korpusu tekstowego, co oznacza, że modele językowe możemy porównać obliczając ją dla tego samego korpusu. Jednak w systemie rozpoznawania mowy miara jakości modelu językowego jest brana pod uwagę wraz z miarą jakości modelu akustycznego. Dopiero test rozpoznawania mowy obejmujący zarówno część akustyczną, jak i część językową - daje pełną informację o skuteczności modelu językowego. Tak też twierdzi autor pracy [58], więc niżej przytoczymy też jego uwagi na temat perplexity. Miara perplexity jest obliczana jako znormalizowane prawdopodobieństwo w odniesieniu do jednego słowa. Odwołując się do równania (3.1) zauważamy, że skoro prawdopodobieństwo dla sekwencji tekstu W1m = (w1 , w2 , . . . , wK ), w ∈ V jest iloczynem m prawdopodobieństw warunkowych, to poprawną normalizacją będzie pierwiastek m–tego stopnia P P = P (W1m )− m 1. (3.4). Podstawiając prawdopodobieństwo dla tekstu W1m z równania (3.1), obliczamy logarytm z perplexity. Logarytm jest tu ułatwieniem obliczeniowym przy iloczynie prawdopodobieństw, ponieważ pozwala zastosować wygodniejszą w użyciu.

(18) ROZDZIAŁ 3. MODELE STATYSTYCZNE. 18. sumę, jak to powiedzieliśmy w rozdziale 2.1 log P P = −.  1 X log P wk |W1k−1 m m. (3.5). k=1. Tak wyznaczone (na korpusie) perplexity jest nazywane perplexity bazujące na korpusie. Wielu autorów np. [80, 10] wyprowadza ten sam wzór od obliczenia entropii:   H ≡ H(P ) = lim −E log2 P (wm |W1m−1 ) (3.6) m→∞. gdzie E[.] jest wartością oczekiwaną zmiennej losowej. Możemy to wyrazić też w następujący sposób: H = lim − m→∞. 1 E [log2 P (W1m )] m. (3.7). Jeżeli proces jest ergodyczny (a to zwykle zakładamy o języku badając wypowiedzi jako realizacje procesu stochastycznego) to zgodnie z teorią ShannonaMcMillana-Breimana możemy napisać: H = lim − m→∞. 1 log2 P (W1m ) m. (3.8). Ponieważ korpus ma skończoną liczbę słów wzór ten przyjmuje postać: ˆ = − 1 log2 P (W1m ) H m. (3.9). Rozważając model językowy jako źródło informacji możemy stwierdzić, że model, który korzysta z wszystkich możliwych cech języka aby przewidzieć kolejne słowo będzie wprowadzał entropię H. Na tej podstawie perplexity definiujemy jako: P P = 2H ˆ. (3.10). Podana wyżej miara jest zgodna z tym, co daje równanie (3.4). Różnica perplexity liczonego w wyżej podany sposób w stosunku do perplexity bazującego na korpusie polega głównie na sformułowaniu, że miara ta jest definiowana nie na korpusie ale na znanym rozkładzie prawdopodobieństwa. Jednak miary prawdopodobieństwa są także szacowanie na podstawie korpusu, więc ostatecznie obie definicje perplexity wymagają obliczenia jej na korpusie. Odchodząc od wzorów formalnych w kierunku miar dających się zinterpretować merytorycznie stwierdzamy, że perplexity może być zinterpretowane jako średnia liczba najbardziej prawdopodobnych słów (z założeniem ich równych prawdopodobieństw) które mogą występować po zadanych słowach (stąd m.in. znak minus w potędze). W przypadku rozpoznawania mowy model o niższym perplexity powinien być lepszy, bo pozwala na uwzględnianie mniejszej liczby rozgałęzień w.

(19) ROZDZIAŁ 3. MODELE STATYSTYCZNE. 19. drzewie przeszukiwań. Możemy powiedzieć, że model wtedy lepiej odwzorowuje język. Jednakże nie jest to jeszcze gwarancją poprawy rozpoznawania mowy, ponieważ jak powiedzieliśmy, perplexity nie uwzględnia powiązań modelu językowego z modelem akustycznym. To ogranicza praktyczną przydatność wyżej przedstawionych rozważań. Z drugiej strony perplexity może jednak być w pewnym sensie miarą mówiącą o tym, jak trudny jest test rozpoznawania mowy, dla którego tekstowej wersji ta miara została wyliczona. Podobnie jak porównanie modeli językowych wykonywane na tym samym korpusie, używając tego samego modelu językowego możemy także porównać stopień trudności prezentowany na dwóch różnych korpusach. Problemem w obliczaniu perplexity są słowa, którym model językowy przyporządkowuje wartość zero, gdyż daje to wartość perplexity równą nieskończoności. Pewnym rozwiązaniem tego problemu może być ich pominięcie w sumowaniu, ale to z kolei wprowadza dodatkowe odstępstwo od teoretycznego modelu. Definicja miary jakości jaką jest perplexity jest związana z pojęciem pokrycia. Dotyczy to pokrycia tekstu przez n-gramy (jeżeli stosujemy model n-gramowy i pochodne), a ogólnie mówiąc perplexity mierzy to, jak dokładnie model języka pokrywa zadany tekst. Inne zagadnienia związane są z tym, że miara perplexity jest wyznaczana dla konkretnych słów z leksykonu V , jako pozycji w tym zbiorze. Stąd więc leksykon dla rozpatrywanego korpusu musi być zamknięty (czyli w wypowiedzi nie może być słów niezawierających się w leksykonie). Miara ta nie dotyczy także morfologii słów, więc nie zawiera informacji o podobieństwie słów. Na przykład nie można utożsamiać słów przez wspólny temat, rdzeń itp. Ponieważ model ngramowy nie zawiera wiedzy fonetycznej, nie może też stwierdzać podobieństwa słów w sensie akustycznym, jeśli mają one inny zapis graficzny (np. kod-kot, ale też wyrazy nieco bardziej się różniące w wymowie). Takie stwierdzenie dotyczy tez innych modeli językowych opisywanych przez w tej pracy. Zgodnie z wyjaśnieniem pojęcia modelu językowego, które wprowadziliśmy w rozdziale 2, cechy akustyczne słów nie są uwzględniane przez ten model. Powyższe konsekwencje przyjętej definicji perplexity jako miary jakości modelu językowego opisuje [58], przy czym podaje możliwości rozszerzenia tej definicji na perplexity bazujące na literach lub fonemach, które jednak nie są często stosowane.. 3.4.. Model n-gramowy oparty na klasach. Szczegółowe informacje dotyczące modelu opartego na klasach opisuje [9]. W rozdziale obecnym i następnym skorzystamy z wyprowadzeń opisanych w [80]. Na początku określimy klasy równoważności w modelu n–gramowym. Klasy równoważności określają podział zbioru na podzbiory, których elementy są równoważne względem zadanej relacji. Klasy równoważności pozwolą na znalezienie.

(20) 20. ROZDZIAŁ 3. MODELE STATYSTYCZNE. prawdopodobieństw n–gramom, które nie wystąpiły w zbiorze treningowym, ale mają podobne cechy językowe do równoważnych im n–gramom mającym wystarczającą ilość wystąpień. W modelu n–gramowym krotki o takim samym kontekście będą równoważne, a więc otrzymają takie same prawdopodobieństwo. Załóżmy, że relacja E (wg. [80])będzie określała równoważność historii słów: E (x) = E (y) ⇒ ∀w P (w|x) = P (w|y). (3.11). Dla n-gramów kontekst jest ograniczony: ∀w P (w|w1 , w2 , . . . , wk ) = P (w|wk−n , . . . , wk ). (3.12). Stąd wnioskujemy, że klasy równoważności historii słów są określone wyłącznie poprzez kontekst, czyli historię n − 1 słów: En−gram (w1 , w2 , . . . , wk ) = E (wk−n , . . . , wk ). (3.13). Jednym ze sposobów redukcji klas równoważności dla modeli n–gramowych jest przyporządkowanie każdego słowa w do jednej klasy g ∈ G , gdzie oznaczamy przyporządkowanie słowa w do klasy g jako: G(w) = g przy czym jedna klasa będzie obejmować wiele słów. Najczęściej taka funkcja klasyfikująca jest jednoargumentowa G : w ∈ W → g ∈ G więc klasy równoważności: En−gramklas (w1 , w2 , . . . , wk ) = E (G(wk−n ), . . . , G(wk )). (3.14). Rozpatrując przypadek bigramu (N = 2) możemy zapisać: Pbigramklas (wk |wk−1 ) =P (wk |G(wk ), G(wk−1 ), wk−1 ) × P (G(wk )|G(wk−1 ), wk−1 ). (3.15). Ponieważ G jest funkcją jednoargumentową, to zakładamy niezależność prawdopodobieństwa: P (wk |G(wk ), G(wk−1 ), wk−1 ) od G(wk−1 ) oraz wk−1 a także prawdopodobieństwa P (G(wk )|G(wk−1 ), wk−1 ) od wk−1 , co upraszcza zapis (3.15) bez utraty ogólności rozwiązania: Pbigramklas (wk |wk−1 ) = P (wk |G(wk )) × P (G(wk )|G(wk−1 )). (3.16). Oznacza to,że prawdopodobieństwo warunkowe wystąpienia dwóch kolejnych słów zależy tylko od prawdopodobieństwa wystąpienia słowa wk pośród słów należących do tej samej klasy G(wk ) oraz od prawdopodobieństwa warunkowego wystąpienia słów należących do klas które tu wystąpiły, tj. kolejno do klas G(wk ) i G(wk−1 ). Klasy typowo znajdowane są poprzez grupowanie (klastrowanie) słów. Jednym z przykładów takiego algorytmu jest opisany algorytm w rozdziale następnym ..

(21) 21. ROZDZIAŁ 3. MODELE STATYSTYCZNE. 3.5.. Znajdowanie klas, Model Knesser-Ney.. Do opisania algorytmu wymiany słów metodą Knesser-Ney [50, 58], potrzebujemy wyznaczyć prawdopodobieństwo wystąpienia słów w sekwencji W , wykorzystując równanie (3.2). Istotne dla nas będą bigramy jakie tu wystąpią: (x, y) – tj. obecnym słowem jest x, poprzednim y. Ponieważ mówimy tu o iloczynie prawdopodobieństw, więc prawdopodobieństwa każdego bigramu należy podnieść do potęgi będącej liczbą wystąpień takiego bigramu C(x, y) Y Pbigramklas (W ) = Pbigramklas (x|y)C(x,y) (3.17) x,y∈V. Ponieważ iloczyn prawdopodobieństw będzie dawał bardzo małe wartości, dla wygody obliczeń obliczmy logarytm prawdopodobieństwa: X log Pbigramklas (W ) = C(x, y) × log Pbigramklas (x|y) (3.18) x,y∈V. Prawdopodobieństwo dla bigramu klas wyznaczymy z równania (3.16), gdzie występujące tam prawdopodobieństwa są wyliczone zgodnie z używaną już wyżej estymacją maximum likelihood: C(wi ) C (G(wi )) C (G(wi ), G(wi−1 )) P (G(wk )|G(wk−1 )) = C (G(wi − 1)) P (wk |G(wk )) =. (3.19). Przy czym C (G(w)) oznacza ilość wystąpień słów klasy G(w). Powyższe prawdopodobieństwa podstawione do (3.16): Pbigramklas (wi |wi−1 ) =. C(wi ) C (G(wi ), G(wi−1 )) × C (G(wi )) C (G(wi − 1)). (3.20). Klasami słów bigramu (x, y) będą g = G(x), h = G(y). Podstawiając równanie (3.20) do (3.18) otrzymujemy:   X C(x) C (G(x), G(y)) log Pbigramklas (W ) = C(x, y) log × C (G(x)) C (G(y)) x,y∈V     X X C(x) C (G(x), G(y)) = C(x, y) log + C(x, y) log C (G(x)) C (G(y)) x,y∈V x,y∈V X X = C(x, y) log (C(x)) − C(x, y) log (C (G(x))) x,y∈V. x,y∈V.  C (G(x), G(y)) + C(x, y) log C (G(y)) x,y∈V   X X C(g, h) = C(x) log (C(x)) + C(g, h) log C(g)C(h) X. x∈V. . g,h∈G. (3.21).

(22) ROZDZIAŁ 3. MODELE STATYSTYCZNE. 22. Podobnie do powyższego otrzymujemy wg. [58, str. 119] prawdopodobieństwo logarytmiczne dla przypadku trigramu (x, y, z), (gdzie x jest obecnym słowem, a y,z poprzednimi, oraz klasą słowa z jest l = G(z)):   X X C(g, h, l) log Ptrigramklas (W ) = C(x) log (C(x)) + C(g, h, l) log C(g)C(h, l) x∈V. g,h,l∈G. (3.22). Warto dodać, że we wspomnianej publikacji do obu powyższych równań (3.21) i (3.22) jest zastosowana inna konwencja oznaczeń. Na użytek tej pracy oznaczenia ujednolicono. Algorytm wymiany słów (algorytm 3.1) będzie dążył do maksymalizacji wartości prawdopodobieństwa logarytmicznego dla zadanego korpusu treningowego słów W . Będzie to tutaj wykonywane poprzez przesuniecie słowa do takiego klastra, dla którego otrzymamy największą wartość wspomnianego prawdopodobieństwa. Jego przebieg przedstawia algorytm 3.1 Algorytm 3.1 Algorytm wymiany słów. Rozpocznij z pewnym początkowym mapowaniem G : w ∈ W → G(w) (może być losowe). Następnie realizuj algorytm: repeat for all w ∈ W do {Powtarzaj po wszystkich słowach} for all g 0 ∈ G do {Powtarzaj po wszystkich klastrach g 0 } Oblicz prawdopodobieństwo logarytmiczne gdy słowo w jest przeniesione z klastra g = G(w) do g 0 end for Przenieś słowo w do klastra z największym prawdopodobieństwem. end for until kryteria zbieżności spełnione. Kryteria zbieżności w tym przypadku związane są ze zmniejszaniem perplexity (3.4). Algorytm przeprowadza przeszukiwanie gradientowe, więc może utknąć w lokalnym maksimum. Jego zaletą jest to,że dla niezbyt dużej wielkości korpusu treningowego może obniżyć wartość perplexity, czyli w istocie polepszyć jakość modelu.. 3.6.. Zastosowanie modeli statystycznych dla języka polskiego. Model n-gramowy i jego ulepszenia, o których wspomnieliśmy, mają podstawową wadę: gorzej modelują języki o dość swobodnym szyku zdania (jak np. język polski). Aby prawidłowo modelować te same słowa w przestawionym szyku potrzebne byłyby znalezienie tych wyrazów ustawionych we wszystkich możliwych.

(23) ROZDZIAŁ 3. MODELE STATYSTYCZNE. 23. ustawieniach. Dotyczy to także ulepszeń takiego modelu. Model n-gramowy oparty na klasach potrzebowałyby odpowiednio większego zbioru danych aby wyrazy tej samej klasy wystąpiły we wszystkich wynikłych kontekstach klas. Model back-off [51], dający dość dobre wyniki, modeluje wystąpienia wyrazów w dłuższym kontekście za pomocą danych o wystąpieniach z niektórymi wyrazami tego kontekstu. W przypadku tego rozwiązania również potrzebny byłby większy zbiór treningowy aby uwzględnić szyk swobodny. We wspomnianej wcześniej pracy [27] zastosowano jako modelu językowy model WFST (ang. Weighted Finite-State Transducer). Jest on połączeniem automatu skończonego (o którym powiemy później) oraz modelu n-gramowego. Wady modelu są w pewnym sensie połączeniem wspomnianych wad modelu n-gramowego oraz trudności w wykonaniu odpowiednio dużej liczby reguł produkcji automatu skończonego. Wobec niedoskonałości modeli statystycznych zostanie przedstawiona rozdziale 4 inna klasa modeli językowych. Jednakże wiadomości dotyczące przedstawionych jak dotąd modeli posłużą do zaproponowania nowych rozwiązań..

(24) Rozdział 4. Gramatyki formalne Aby mówić o gramatykach jako o zasadach rządzących językiem naturalnym - najpierw wprowadzimy pojęcie języka. Pojęcie definicji języka naturalnego może być wprowadzone na wiele różnych sposobów. Dla potrzeby naszych rozważań przyjmijmy za publikacją [62], że język to zbiór wszystkich ciągów znaków zaczynających się od wielkiej litery i rozciągniętych aż do znaku interpunkcyjnego kończącego zdanie - uznanych przez daną społeczność (zwykle naród) za poprawne zdania. Pojawia się tu jednak pewien problem: każda gramatyka opisująca język jest skończonym zbiorem reguł, podczas gdy język zdefiniowany w wyżej podany sposób jest zbiorem nieskończonym. Mimo swoich ograniczeń gramatyka powinna dla każdego ciągu znaków odpowiadać na pytanie, czy dane zdanie (wypowiedź) należy, czy nie należy do języka. Jeżeli zasób lingwistyczny będący odpowiednio długim zbiorem wypowiedzi należących do danego języka jest akceptowany przez gramatykę, to możemy stwierdzić, że rozważana gramatyka dobrze opisuje ten język. Taki zbiór zwany korpusem testowym poza wymogiem wielkości musi spełniać szereg warunków, dotyczących między innymi właściwego reprezentowania w korpusie całej różnorodności rozważanego języka. Zagadnień tych tutaj szerzej nie przypomnimy ze względu na odmienny cel i zakres tej pracy, niemniej przedstawiona wzmianka wydawała się potrzebna. Warto natomiast tutaj przytoczyć stwierdzenie (prawdopodobnie autorstwa Edwarda Sapira [66, str. 39]) all grammars leak: (ang. - wszystkie gramatyki są dziurawe). Rzeczywiście, mimo dziesięcioleci prac lingwistów nad językiem angielskim i innymi językami, nie została do tej pory wypracowana gramatyka dokładnie opisująca choćby jeden ze znanych języków naturalnych. Wszystkie istniejące opisy są w jakimś stopniu przybliżone, chociaż jakość tego przybliżenia systematycznie się polepsza. Warto również przypomnieć, że pojęcie gramatyka jest wieloznaczne.. 24.

(25) ROZDZIAŁ 4. GRAMATYKI FORMALNE. 25. Gramatyka opisowa przedstawia reguły języka w sposób opisowy. Ponieważ jest ona zapisana w języku naturalnym może być niejednoznaczna, a więc może zostać zinterpretowana na wiele sposobów, co powoduje charakterystyczny dla tej gramatyki brak rozstrzygalności. Dwaj użytkownicy języka mogą mieć odmienne zdania na temat poprawności danego wypowiedzenia wypowiedzi i gramatyka opisowa nie jest w stanie dostarczyć wiążących argumentów pozwalających ustalić, który z nich ma rację, a który się myli. Gramatyka formalna nie ma powyższej wady, ponieważ jest określona w sposób jasny i jednoznaczny. Wynika to z faktu, że jest ona wyrażona w wybranym języku formalnym (np. w logice predykatów) i może stanowić podstawę do tworzenia niezaprzeczalnych i całkowicie ścisłych dowodów słuszności pewnych tez oraz falsyfikacji innych. W niniejszym rozdziale będziemy omawiali tylko takie gramatyki formalne, które są stosowane w systemach rozpoznawania mowy, a także takie, które są punktem wyjścia do naszych badań.. 4.1.. Hierarchia Chomskiego. W niniejszym rozdziale przytoczymy teorię zapoczątkowaną przez Noama Chomsky’ ego, która jest związana z pierwszym formalnym opisem gramatyk i leży u podstaw lingwistyki komputerowej. Dalsze informacje na ten temat opisane są np. w [14, 16] i nie będą w tej pracy wykorzystywane, poprzestaniemy więc wyłącznie na przytoczeniu podstaw.. 4.1.1. Wprowadzenie. W teorii Chomskiego wykorzystywane są następujące pojęcia: A¯ - alfabet - uporządkowana para złożona z dwóch rozłącznych zbiorów: A¯ =< N, Σ >, N ∩ Σ = ∅. (4.1). N - skończony zbiór symboli nieterminalnych. Żaden z nich nie może być elementem wyrażenia otrzymanego ostatecznie przez rozważaną gramatykę (definicja tej gramatyki będzie podana niżej) ale służą one do zapisania ogólnych reguł, zgodnie z którymi gramatyka może działać. W zbiorze N wyróżniamy symbol początkowy S, jego rola będzie dalej wyjaśniona. Σ - (oznaczane także w literaturze jako T )- skończony zbiór symboli terminalnych. Zbiór Σ oznacza wszystkie słowa które realnie występują w zdaniach, a natomiast N ma rolę pomocniczą w procesie formowania lub sprawdzania poprawności wypowiedzi..

(26) ROZDZIAŁ 4. GRAMATYKI FORMALNE. 26. P - zbiór reguł produkcji. Reguła produkcji może być zapisana formalnie w następujący sposób: < α, β >∈ (Σ ∪ N ) + ×(Σ ∪ N )∗. (4.2). Zatem relacja < α, β > jest to relacja binarna w zbiorze (Σ ∪ N )∗ , z czego α jest niepuste. Regułę produkcji oznaczamy: α→β gdzie:. (4.3). α ∈ (Σ ∪ N ) ∗ N (Σ ∪ N )∗ β ∈ (Σ ∪ N )∗. Zakłada się, że α jest ciągiem niepustym (zawiera przynajmniej 1 symbol nieterminalny). Ciąg β może być pusty. Jeżeli β jest ciągiem pustym, to oznaczamy ten fakt symbolem  . Reguły, które mają taką samą lewą stronę: α→β α→γ. (4.4). zapisujemy dla wygody w jednym wierszu: α → β, γ. 4.1.2. (4.5). Wykonanie reguły produkcji. Wprowadźmy relację ⇒ związaną z wykonaniem reguły produkcji: x ⇒ y jeżeli ∃α,β,δ,γ∈(Σ∪N ) (< α, β >∈ P ) ∧ (x = δαγ) ∧ (y = δβγ). (4.6). Odcinkiem A wyrażenia W nazywamy dowolny podciąg ciągu W , złożony z kolejnych elementów W : A = (wi , wi+1 , wi+2 , . . . , wj ). (4.7). gdzie W = (w1 , w2 , w3 , . . . , wn ), 1 ≤ i = j ≤ n, i, j, n ∈ N . Jeżeli α jest odcinkiem W , oraz < α, β >∈ P (czyli α → β jest regułą produkcji) , to wykonanie tej reguły produkcji polega na zastąpieniu ciągu α ciągiem β. Czwórka uporządkowana G =< Σ, N, S, P > jest nazywana gramatyką formalną. Relację ⇒ nazywamy derywacją wykonywaną przez gramatykę G w jednym kroku. Zwrotno-przechodnie domknięcie relacji R, zapisujemy jako R∗. Relacja R∗ oznacza relację spełniającą następujące warunki: • jest najmniejszą relację zawierającą R,.

(27) ROZDZIAŁ 4. GRAMATYKI FORMALNE. 27. • jest relacją która jest zwrotna i przechodnia. Taka relacja R∗ intuicyjnie polega na dodaniu do siebie relacji uwzględniających wykonanie n ∈ N kroków relacji R. Inaczej mówiąc, relacja R∗ oznacza wykonanie n ∈ N kroków relacji R. Relacja ⇒ ∗ jest zwrotno-przechodnim domknięciem relacji ⇒. Język L(G) (oznaczany także jako L(Σ, N, S, P )), generowany przez reguły produkcji P nad alfabetem A¯ jest to zbiór wszystkich wyrażeń Σ∗, które można otrzymać poprzez iterację reguł produkcji P i rozpoczynając wywód od symbolu początkowego S. Możemy to opisać wyrażeniem: L(G) = w ∈ Σ∗ : S ⇒ ∗ w. (4.8). Powiemy wtedy, że język L(G) jest generowany przez gramatykę G.. 4.1.3. Hierarchia gramatyk. Poniższe typu gramatyk zawierają się następującej kolejności: typ3 ∈ typ2 ∈ typ1 ∈ typ0. (4.9). Niżej przyjmijmy oznaczenia: A, B, C ∈ N, t ∈ Σ∗, x, y ∈ (Σ ∪ N )∗, v ∈ (Σ ∪ N )+. (4.10). Typ 3 - Języki regularne, posiadają reguły produkcji postaci: A → Bt A→t. (4.11). Gramatyki zawierające takie reguły produkcji są gramatykami liniowymi, a szczególny podzbiór takich gramatyk to wzorce, jak podaje [77]. Nie da się za ich pomocą opisać wielu zjawisk występujących w językach naturalnych. Ich zaletą jest łatwość obliczeniowa, dzięki której można łatwo stosować automaty skończone celem sprawdzenia czy dane wyrażenie spełnia daną gramatykę. Typ 2 - Gramatyki bezkontekstowe, posiadają reguły produkcji postaci: A→x. (4.12). Przykładem jest postać normalna Chomskiego, która nie zmniejsza ogólności tej klasy: A → BC A→t. (4.13).

(28) ROZDZIAŁ 4. GRAMATYKI FORMALNE. 28. Operacje sprawdzenia takiej gramatyki mogą być wykonane na automacie ze stosem. Gramatyki bezkontekstowe wystarczą do opisu prawie wszystkich zjawisk językowych. Według [77] jedynym znanym wyjątkiem jest dialekt niemiecko szwajcarski z okolic Zurychu, gdzie stosowane są konstrukcje: N P1 N P2 N P3 . . . N Pn V P1 V P2 V P3 . . . V Pn. (4.14). W powyższym zapisie N Pi oznacza i-tą frazę rzeczownikową (głównym jej elementem jest rzeczownik), Podobnie V Pi oznacza frazę czasownikową, której głównym elementem jest czasownik. Frazy N Pi oraz V Pi są ze sobą połączone. Autorzy publikacji [39] twierdzą ,że jest możliwe modelowanie zjawisk polegających na odległych zależnościach. Jednakże [77] dodaje, że nie zawsze zapis w gramatykach bezkontekstowych jest łatwy, naturalny. Typ 1 - Gramatyki kontekstowe posiadają reguły postaci xAy → xvy. (4.15). v→. (4.16). lub. Gramatyka taka może zostać rozpoznana wykonana na maszynie Turinga lub automacie ograniczonym liniowo [30]. Typ 0 - Gramatyki ogólne - zawierają reguły produkcji dowolnej postaci, zgodne z wcześniejszą definicją reguł. Ze względu na bardzo dużą złożoność obliczeniową nie mają praktycznego zastosowania w lingwistyce komputerowej. Wyżej podane informacje o hierarchii Chomsky’ego są szerzej omówione np. w [77].. 4.2.. Zastosowania gramatyk liniowych - automaty skończone. Sprawdzenie czy dane wyrażenie W jest akceptowane przez gramatykę G możemy wykonać za pomocą automatu skończonego. Automatem skończonym A nazywamy piątkę < S, A, f, s0 , T > , gdzie: S. - skończony zbiór stanów. A. - alfabet. f : S × A → S - funkcja przejść s0 ∈ S. - stan początkowy. T ∈S. - stany końcowe.

(29) 29. ROZDZIAŁ 4. GRAMATYKI FORMALNE a s1 b. a start. b. s0. a s2 b. s3 Rysunek 4.1: Automat skończony realizujący podaną w tekście, przykładową gramatykę Automat działa w ten sposób, że początkowo znajduje się w stanie s0 , następnie na wejście są podawane kolejne elementy wyrażenia W , dla każdego elementu wykonuje zmianę stanu bieżącego zgodnie z funkcja przejść. Aby wyrażenie W zostało zaakceptowane, automat musi się znaleźć po podaniu całego wyrażenia w dowolnym ze stanów końcowych. Dla dobrze zaprojektowanego automatu nie powinna nastąpić sytuacja, w której dla zadanego elementu wyrażenia W i dla bieżącego stanu automatu funkcja przejść nie będzie określona. Jeżeli nastąpi sytuacja, w której dla zadanego elementu wyrażenia W i dla bieżącego stanu automatu funkcja przejść nie będzie określona, to wyrażenie nie zostanie zaakceptowane. Przykład Dana jest gramatyka o symbolach terminalnych Σ = {a, b} oraz nieterminalnych N = {A, B, C, S}, opisana regułami produkcji: S → aA, bB A → aA, b, bB B → aA, b. (4.17). Automat skończony akceptujący powyższą gramatykę ma stan początkowy s0 , stany końcowe T = {s2 , s3 } i ma postać przedstawioną na rysunku 4.1. Działanie podanego automatu skończonego przeanalizujmy dla wyrażenia aababb. Rozpoczynamy analizę od stanu początkowego s0 . Na wejście zostaje podany symbol a, więc następuje przejście do stanu s1 . Dla kolejnego symbolu a, automat pozostanie w stanie s1 . Następnie podany symbol b powoduje przejście do stanu s2 . Kolejnym symbolem jest b, co powoduje przejście do stanu s3 . Stan s3 jest stanem końcowym. Będąc w takim stanie przy braku dalszych symboli automat kończy pracę i akceptuje podane wyrażenie..

(30) ROZDZIAŁ 4. GRAMATYKI FORMALNE. 30. W rozpoznawaniu mowy możemy rozpatrywać rozpoznawane bieżącego słowa jako jednego spośród całego słownika. Wówczas musimy sprawdzić wszystkie słowa ze słownika porównując ich modele z sygnałem mowy. Oznacza to rozgałęzienie drzewa przeszukiwania na wszystkie wyrazy w drzewie w którym opisujemy hipotezy mowy. To powodowałoby ogromy wzrost liczby hipotez (i złożoność obliczeniową) uniemożliwiając ich ocenę w rozsądnym czasie. W rozpoznawaniu mowy stosowane są automaty skończone dla których elementami alfabetu A są słowa. Taki automat jest wygodnym elementem obliczeniowym, ponieważ gdy znajduje się on w zadanym stanie, który został określony przez poprzednie słowa, możemy łatwo wyznaczyć na postawie funkcji przejść zbiór słów które mogą być przez niego zaakceptowane w kolejnym kroku. Najczęściej taki zbiór słów w danym momencie jest najczęściej niewielki (np. zbiór cyfr lub słów określających liczby). Niewielki zbiór proponowanych słów oznacza również mniejszy stopień rozgałęziania drzewa przeszukiwania. Dając mniejszą niż poprzednio liczbę hipotez przyspiesza proces rozpoznawania mowy. Dodatkowo możemy stwierdzić, że mając do wyboru mniejszy niż poprzednio zbiór słów do rozpoznania zwiększy się statystycznie precyzja rozpoznawania. Rozważanie modele słów powstały z połączenia informacji z leksykonu i modelu akustycznego. Modele słów możemy potraktować jako wzorce. Mniejsza liczba wzorców przeznaczonych do rozpoznania oznacza statystycznie większe prawdopodobieństwo wyboru zadanego wzorca. W szczególności korzystając z niewielkiego zbioru słów -ograniczonego przez model językowy (tu automat skończony) eliminujemy wybór słowa którego wystąpienia tutaj nie przewidujemy. W nieco inny sposób ograniczenie stopnia rozgałęzienia drzewa przeszukiwania wprowadzają statystyczne modele językowe. W zbiorze proponowanych do sprawdzenia słów nie wprowadzają one podziału na „zaakceptowane” / „odrzucone”, ale stopniują akceptację za pomocą miary prawdopodobieństwa. Miara perplexity może być określona, jako wspomnieliśmy w rozdziale 3.3, jako średnia liczba najbardziej prawdopodobnych słów (z założeniem równych ich prawdopodobieństw) które to słowa mogą występować po zadanych słowach . Niżej podamy przykład prostej gramatyki opartej na automacie skończonym. Chętnie stosowanym opisem gramatyki jest np. notacja BNF (ang. Backus Naur Form - postać Backusa-Naura1 ) oraz różne rozszerzenia BNF. Przykład. Dana jest gramatyka w notacji BNF. Podać przykładowe zdania akceptowane przez tą gramatykę. <ZDANIE>::= <FRAZA1> <NAPÓJ> <INNE> <FRAZA1>::="Proszę"|"Chciałem kupić" <NAPÓJ>::="herbatę"|"kawę"|"wodę"|"colę" <INNE>::="z cukrem"|"mrożoną"|"" 1 John Backus był projektantem języka programowania w IBM, natomiast Peter Naur naukowcem w dziedzinie informatyki. Są twórcami m.in. notacji BNF, za pomocą której zdefiniowali język programowania ALGOL 60..

(31) ROZDZIAŁ 4. GRAMATYKI FORMALNE. 31. Symbol | oznacza alternatywę, nawiasy trójkątne < > służą do oznaczenia kategorii, ::= to znak służący do wprowadzenia definicji, cudzysłów “00 oznacza wartość stałą. Gramatyka ta opisuje przykładowe zdania: Proszę herbatę z cukrem. Chciałem kupić colę. Proszę kawę mrożoną. Proszę wodę. Jak wcześniej wspomnieliśmy opisywane w tym rozdziale gramatyki są typu 3 i nie mogą opisywać wielu zjawisk językowych. Ponadto utworzenie automatu skończonego jest wykonalne tylko dla niezbyt skomplikowanych gramatyk, co uniemożliwia zastosowanie go do zadania dyktowania dowolnego tekstu. Z tego powodu w dalszej części tego rozdziału rozważać będziemy inne formalizmy służące do zapisu gramatyk, które są wolne od wspomnianych ograniczeń.. 4.3.. Algorytm CKY. W celu parsowania gramatyk bezkontekstowych stosuje się algorytm CKY (Cocke-Young-Kasami 2 , zwany także CYK) [18, 48, 81]. Pojęcia, do których będziemy się odwoływać pochodzą z rozdziału 4.1.1. Opis algorytmu oparliśmy na [43]. Warto zwrócić uwagę na stosowane w literaturze różne sposoby przedstawienia algorytmu, w tym dwa sposoby indeksowania tablicy T . Mamy zadaną gramatykę G =< Σ, N, S, P >. Zakładamy, że reguły produkcji P są postaci normalnej Chomskiego. Niech wyrażenie w ∈ Σ∗ będzie postaci w = a1 a2 . . . an . Będziemy sprawdzać, czy wyrażenie w złożone z symboli terminalnych Σ należy do języka L(G) generowanego przez tą gramatykę. Opisywany algorytm jest algorytmem wstępującym (ang. bottom-up). Oznacza to, że drzewo przeszukiwania budowane jest od liści drzewa rozbioru. W liściach zapisane są symbole z których złożone jest wyrażenie w. Wierzchołkiem będzie symbol początkowy S. Budujemy tablicę trójkątną T , o wymiarach n × n, w taki sposób, że w komórce T [i, j] zapisujemy symbole nieterminalne określone regułą: T [i, j] = {X ∈ N : X → ∗ ai ai+1 . . . ai+j−1 ∈ P }. (4.18). Powyższa komórka jest zbiorem symboli nieterminalnych odpowiadających następującym kolejno po sobie elementom wyrażenia w o indeksach od i do i+j−1. Takie elementy nazwaliśmy w rozdziale 4.1.1 odcinkiem. Indeks j oznacza długość rozpatrywanego podciągu. Początek podciągu oznaczany będzie przez i. Każdy symbol nieterminalny X poprzez wielokrotne zastosowanie odpowiednich reguł produkcji P daje omawiany odcinek ai ai+1 . . . ai+j−1 . Mówimy wtedy, że symbol X wyprowadza odcinek ai ai+1 . . . ai+j−1 . Warto zauważyć, że wspomniana komórka może opisywać węzły drzewa parsowania (rozbioru), przy czym 2 John Cocke był naukowcem, uważany za ojca architektury RISC, znany jest z wkładu w architekturę komputerów i optymalizację kompilatorów. Tadao Kasami był naukowcem znanym z wkładu w kody korekcji błędów Daniel H. Younger przeprowadził analizę złożoności obliczeniowej algorytmu CKY.

(32) ROZDZIAŁ 4. GRAMATYKI FORMALNE. 32. do zapisu tablicy należy dołączyć reguły produkcji. Jeżeli będzie w niej zapisany więcej niż jeden symbol nieterminalny, to będzie ona przedstawiała alternatywne poddrzewa rozbioru. Algorytm 4.1 Algorytm CKY. 1: Dane jest wyrażenie w = a1 a2 . . . an 2: Utwórz tablicę T [i, j] dla 1 ≤ i ≤ n , 1 ≤ j ≤ n + 1 − i 3: for i = 1 to n do {dla każdego symbolu wyrażenia w} 4: {Jeżeli istnieje reguła X → ai , zapisz X dające w jednym kroku ai } 5: T [i, 1] ← {X ∈ N : X → ai ∈ P } 6: end for 7: for j = 2 to n do {dla każdej długosci} 8: for i = 1 to n − j + 1 do {dla każdego początku} 9: for k = j to j − i do {dla każdego podziału} 10: {Dla wszystkich par X × Y z wskazanych komórek, dla których istnieją reguły produkcji Z → XY dopisz wszystkie możliwe Z do komórki T [i, j] } 11: T [i, j] ← T [i, j] ∪ {Z ∈ N : Z → XY ∈ P, 12: X ∈ T [i, k], Y ∈ T [i + k, j − k]} 13: end for 14: end for 15: end for 16: if S ∈ T [1, n] then 17: return prawda {Wyrażenie w ∈ L(G)} 18: else 19: return fałsz {Wyrażenie w ∈ / L(G)} 20: end if Wyrażenie w należy do języka L(G) wtedy i tylko wtedy gdy symbol początkowy S ∈ T [1, n], co oznacza ,że odpowiada on całemu wyrażeniu. Możemy ten proces uporządkować algorytmem 4.1. Dla kolejnych indeksów i sprawdzamy jakie symbole X dadzą symbol terminalny ai . Zapisujemy je do komórki T [i, 1]. Następnie stosujemy indukcję po j. Dla każdego j przeprowadzamy iteracje po odpowiednich indeksach i,k. Indeks k będzie oznaczał podział odcinka ai ai+1 . . . ai+j−1 na dwa odcinki ai ai+1 . . . ai+k−1 oraz ai+k ai+k+1 . . . aj−1 . Jeżeli w tablicy są niepuste komórki T [i, k] oraz T [i + k, j − k] to oznacza to, że istnieją symbole X, Y , z których X ∈ T [i, k] odpowiada pierwszemu odcinkowi wyodrębnionemu przez podział k. Natomiast Y ∈ T [i + k, j − k] odpowiada drugiemu odcinkowi. Możemy powiedzieć, że symbol X wyprowadza pierwszy odcinek, a Y wyprowadza drugi odcinek. Jeżeli w takim przypadku wśród reguł produkcji znajduje się reguła Z → XY to do komórki T [i, j] dodajemy symbol Z. Będzie to oznaczało, że wtedy Z wyprowadza cały odcinek ai ai+1 . . . ai+j−1 . Jak wcześniej powiedzieliśmy, jeżeli symbol początkowy S ∈ T [1, n], to wyrażenie w należy do języka L(G)..

(33) 33. ROZDZIAŁ 4. GRAMATYKI FORMALNE. S. S,S 1,4. FCz FCz. 1,3. FRz. 2,3. FCz 1,2. 2,2. Rz 1,1. ma. 3,2. Cz 2,1. Babcia. Babcia. FRz. kota. S Prz. 3,1. ma. biał‚ego. Rz. FCz. 4,1. białego. kota. (a) Tablica algorytmu CKY. Babcia. FRz ma. białego. kota. (b) Dwa alternatywne drzewa parsingu zdania. Rysunek 4.2: Przebieg algorytmu CKY przy sprawdzeniu czy zdanie „Babcia ma małego kota” spełnia gramatykę o regułach produkcji (4.19) Algorytm ten jest złożoności O(n). Czytelników zainteresowanych innymi algorytmami parsingu odsyłamy do [47]. Dla podanych reguł produkcji (4.19) i zdania „Babcia ma małego kota”, wypełnioną tablicę T przedstawia rysunek (4.2a). Rz ← Babcia, kota Cz ← ma P rz ← białego F Rz ← P rz Rz F Cz ← Rz F Cz, Cz F Rz S ← F Cz F Rz, Rz F Cz. (4.19). Po wypełnieniu tablicy T możemy zbudować drzewa rozbioru zdania przedstawione na rysunku (4.2b). Jak możemy zauważyć dwa symbole S są zapisane w komórce T [1, 4] , więc otrzymamy dwa alternatywne drzewa rozbioru. Uwzględniając reguły produkcji możemy przechodzić do niepustych komórek T [i, k] oraz T [i + k, j − k] tworząc poddrzewa rozbioru, a po dojściu do wiersza 1, otrzymujemy drzewa rozbioru..

(34) ROZDZIAŁ 4. GRAMATYKI FORMALNE. 4.4.. 34. Gramatyka struktur frazowych - HPSG. HPSG (ang. Head-Driven Phrase Structure Grammar [60], opisana także w pracy [62]) jest językiem formalnym a także teorią lingwistyczną wyrażoną w języku formalnym. Opisuje ona na przykład, jakie typy obiektów lingwistycznych występują w językach naturalnych. Formalizm HPSG korzysta z mechanizmów takich jak wielodziedziczenie, hierarchia typów, wielopoziomowe struktury danych. Użycie takich konstrukcji pozwala na opis modularny języka, gdyż opisywane za pomocą niego podteorie lingwistyczne są w znacznym stopniu niezależne od siebie. HPSG bazuje na różnych teoriach językowych (m.in. na teorii generatywnej, o której powiemy dalej). Daje również możliwość opisu języka na wielu poziomach (składni, semantyki, fonologii i czasem pragmatyki). HPSG jest teorią generatywną w znaczeniu teorii ścisłej, precyzyjnej. W innym znaczeniu nazywane tak są podejścia, które traktują język jako zjawisko psychologiczne (i mogą go traktować także jako wrodzoną predyspozycję człowieka), a nie jako byt zewnętrzny. Podejście takie popierał Noam Chomsky, Przełomowa była tu recenzja pracy [67] zamieszczona w [15], gdzie Chomsky skrytykował popularne w latach 50 behawioralne podejście do języka. Innym znaczeniem teorii generatywnej są teorie rozwijane lub popierane przez Chomsky’ego (opisane np. w [14, 16]). HPSG należy do grupy formalizmów opartych na ograniczeniach. Ograniczenia oznaczają tutaj reguły gramatyczne zapisywane w postaci formuł logicznych, które opisują obiekty językowe. Dana wypowiedź jest gramatyczna jeżeli spełnia wszystkie ograniczenia, które są na nie nakładane przez gramatykę. Jest to zasadnicza różnica w stosunku do teorii transformacyjnych (np. popieranych przez Chomsky’ ego). Według [62] teorie oparte na ograniczeniach są ogólniejsze niż teorie transformacyjne. Obie klasy teorii polegają na ograniczeniach. Z drugiej strony formalizmy oparte na ograniczeniach nie wspominają o istnieniu transformacji dających wypowiedź. W HPSG poza niewielką liczbą ogólnych ograniczeń (np.100) mamy także zapisane w słowniku (który zawiera znaczną liczbę pozycji) ograniczenia specyficzne dla poszczególnych słów. Celem niniejszego rozdziału jest przedstawienie podstaw gramatyki struktur frazowych - HPSG tak by można było odnieść się do tej metody opisu języka z punktu widzenia prowadzonej tu dyskusji proponowanych rozwiązań i badań. Nie jest to pełny opis teorii HPSG ze względu na ograniczone zastosowanie w naszych badaniach. W celu poznania szczegółów odsyłamy do literatury niżej cytowanej (([62, 60]).

(35) 35. ROZDZIAŁ 4. GRAMATYKI FORMALNE. 4.4.1. Podstawowy opis HPSG. Niniejszy opis bazuje na logice RSRL [64] (ang. Relational Speciate Re-entrant Language - próbą tłumaczenia może być: Relacyjny, wielobieżny język specjacji). Spośród innych logik stosowanych do opisu HPSG wybraliśmy tą logikę w ślad za publikacją [62]. Autorzy [62] uzasadniają, że RSRL pozwala na najbardziej bezpośrednią formalizację reguł gramatycznych formułowanych w HPSG. Formalna teoria HPSG składa się z sygnatury i teorii właściwej. Sygnatura definiuje dla danej teorii lingwistycznej typy obiektów lingwistycznych (np. rzeczowniki, czasowniki, osoby, przypadki) i ich atrybuty (cechy). Definiuje także nazwy relacji i liczbę ich argumentów. Teoria właściwa zawiera głównie ograniczenia. Obiekty HPSG określone są strukturami TFS (ang. typed feature stucturetypowane struktury cech). Struktury takie są określone na skończonym zbiorze cech oraz na hierarchii typów. Szczegółowe wyjaśnienie pojęcia struktur TFS jest przedstawione w [20]. Typy zapisywane są w postaci macierzy AVM (attribute - value matrices), postaci:  ATRYBUT1  ATRYBUT2 ....  typ1  typ2. (4.20). typ. Tutaj obiekt typu typ ma atrybuty ATRYBUT1, ATRYBUT2, odpowiednio o typach typ1, typ2. Opis typów na użytek języka polskiego zaczerpnięty jest z wspominanej pozycji [62], w wielu przypadkach wybrane zostały wersje zmodyfikowane, jako że gramatyka w trakcie wyprowadzania była modyfikowana w trakcie pisania książki przez autora. Opisując interesujące z naszego punktu widzenia elementy tej gramatyki nie zamieszczamy tu ich uzasadnień, odsyłając bardziej wymagającego Czytelnika do tej właśnie pozycji literatury. Hierarchia najważniejszych typów HPSG przedstawiona jest na rysunku 4.3. Nie jest ona pełna (np. nie ma opisu typu category) bo prezentacja ta ma charakter przeglądowy. Najogólniejszym typem jest object jako nadtyp wszystkich typów (pośredni lub bezpośredni). Wszystkie wyrazy, frazy i zdania w HPSG są reprezentowane przez obiekty typu sign oraz posiadają atrybuty PHON (pełna nazwa PHONOLOGY - cechy fonologiczne) i SYNSEM (SYNTAX-SEMANTICS - cechy składniowo-semantyczne). Wszystkie wyrażenia lingwistyczne posiadają dwie powyższe cechy. Podtypami sign są: word -opisujący słowa oraz phrase - opisujący frazy i zdania jako szczególny przypadek frazy. Dodatkowym atrybutem typu word jest VALENCE zawierający wymagania na argumenty danego wyrazu, z którymi musi się on łączyć dając frazę. Zakładamy, że każda fraza ma element główny posiadający najważniejsze cechy frazy ( np. czasownik we frazie czasownikowej), więc typ.

Cytaty

Powiązane dokumenty

Przyjęta w doktrynie zasada wzmocnienia władzy rządowej w terenowej administracji publicznej była konsekwencją realnej oceny możliwości wyko- nywania zadań publicznych przez

Omawiane tu procesy odbywały się na tle potęgowania się ruchów narodowych zarówno polskiego, jak i różnych orientacji ruskiego odrodzenia w Galicji (ukraińska, „staroruska&#34;,

On February 12, 2008, Directive 2008/8/EC was adopted; it changed the place of supply services and implemented two new general rules, one for taxable persons based on the destination

Intencje takie przyświecały też — jak się wydaje — twórcy neutralistycznej konce­ pcji ewolucji. Można jednak odnieść wrażenie, że W. Kunicki-Goldfinger przeprowa­

Podczas sympozjum zaprezentowano referaty będące próbą opisu bogatego życia i działalności Josepfiny Napoleonne. Jako pierwszy zabrał głos moderator sympozjum prof. Tiden före

Importantly, additional support for the assumption of a decreased emotional reactivity when processing emotionally-laden materials in the foreign language has been provided by

Zarówno prace teoretyczne rozwa»aj¡ce istnienie ªadunków magnetycznych, jak równie» eksperymenty poszukuj¡ce ich istnienia, przyczyniªy si¦ do rozwoju kwantowej teorii pola,

w 1946 roku choroba Piotra bardzo się nasi- liła, że musiał jechać do szpitala w Poznaniu, tam też zmarł i został pochowany. dowód rejestracji w referacie Pracy