• Nie Znaleziono Wyników

Normalizacja diachroniczna tekstów języka polskiego

3.2. Przegląd komputerowych systemów normalizacji tekstu

3.2.1. Metody normalizacji tekstu

W sekcji 1.1.8 omówiono narzędzia opracowane do normalizacji tekstów pol-skich. Obecnie omówione zostaną metody stosowane w rozwiązywaniu proble-mów normalizacji dla innych języków.

5 dLibra to to pierwszy polski system do budowy bibliotek cyfrowych opracowany przez Po-znańskie Centrum Superkomputerowo-Sieciowe

Zadaniem podobnym do normalizacji tekstu jest konwersja tekstu: z jed-nego języka na inny (tłumaczenie automatyczne) lub z formy graficznej do fo-nematycznej (transkrypcja fonematyczna). Większość współczesnych metod konwersji tekstów stosuje metody uczenia maszynowego, a w szczególności re-kurencyjne sieci neuronowe. Rao i in. (2015) opisują eksperyment, w którym w zadaniu transkrypcji fonematycznej zastosowano specjalny typ sieci neuro-nowych, a mianowicie sieci Long Short-Term Memory6. Rozszerzają one moż-liwości sieci rekurencyjnych o analizę lewo- i prawo-stronnych kontekstów, co przekłada się na możliwość rozpoznawania zależności między odległymi wy-razami. W eksperymencie korpusem trenującym7 sieci neuronowe był słownik CMU Prononucing Dictionary8. Skuteczność metody została oszacowana na 21,3 punkty w mierze Word Error Rate (WER)9, co oceniono jako potwierdzenie skuteczności zastosowanych algorytmów.

Podobne eksperymenty, dla normalizacji tekstu w systemie syntezy mowy z tekstu, omówiono w pracy (Sproat, Jaitly, 2016). Tam jednak stwierdzono, że normalizacja tekstu pozostaje jednym z nielicznych zadań z dziedziny przetwarza-nia języka naturalnego, w którym lepsze wyniki osiąga się metodami opartymi na regułach stworzonych przez człowieka niż poprzez uczenie maszynowe. Autorzy podają następujące wyjaśnienia tego zjawiska:

A. Brak danych trenujących; nie istnieje motywacja ekonomiczna dla tworze-nia danych trenujących dla systemu normalizacji tekstu – w przeciwień-stwie np. do dziedziny tłumaczenia automatycznego, gdzie dane trenujące (teksty i odpowiadające im tłumaczenia) tworzone są w sposób naturalny przez tłumaczy ludzkich.

B. Niska gęstość danych przypadków interesujących, w tym wypadku wyra-zów niestandardowych, które powinny ulec konwersji – w przeciwieństwie np. do transkrypcji fonematycznej, gdzie konwersji ulegają wszystkie wy-razy; zjawisko to powoduje, że sieci neuronowe mogą popełniać niewytłu-maczalne błędy.

C. Niekorzystny sposób ewaluacji – w systemach normalizacji tekstu ewalu-acja nie premiuje przypadków trywialnych (kopiowanie wyrazów wejścio-wych) w przeciwieństwie do systemów tłumaczenia maszynowego, gdzie przypadki trywialne (tłumaczenie: wyraz-do-wyrazu) są premiowane przez standardowe miary ewaluacji.

6 Dosłowne tłumaczenie brzmi: Pamięć długo-krótko-trwała.

7 W tym przypadku elementami korpusu trenującego były pary: reprezentacja graficzna wyrazu i jego reprezentacja fonematyczna. Zadaniem wytrenowanego systemu było przewidywanie repre-zentacji fonematycznej dla podanych form graficznych wyrazów spoza zestawu trenującego.

8 http://www.speech.cs.cmu.edu/cgi-bin/cmudict

9 Wartością Word Error Rate jest iloraz liczby błędnie przetworzonych wyrazów do liczby wszystkich wyrazów poddanych przetwarzaniu.

Autorzy pracy konkludują, że jakość normalizacji tekstów metodą regułową można znacząco ulepszyć, jeśli na danych wyjściowych z sieci zastosuje się metody transduktorów skończonych. Upatrują również możliwości postępu w tej dziedzi-nie po opublikowaniu przez nich samych zestawu danych trenujących (co planują zrobić w najbliższej przyszłości).

Jako przykład sprawnie działającego systemu opartego na manualnie opra-cowanych regułach autorzy przytaczają system Kestrel, opisany w pracy (Ebden, Sproat, 2014). Dokonuje on normalizacji tekstu pod kątem syntezy mowy z tekstu w dwóch etapach. W pierwszym z nich, zwanym serializacją (ang. serialization), wyrazy niestandardowe sprowadzane są do pewnej ogólnej reprezentacji. Repre-zentacja ta określa klasę semiotyczną, do której należy wyrażenie, oraz wartości poszczególnych atrybutów. Pojęcia te zobrazuje Przykład 3-1, przytoczony za (Eb-gen, Sproat, 2014).

Przykład 3-1. Serializacja w systemie Kestrel

Załóżmy, że tekstem wejściowym do systemu Kestrel jest napis:

4:00

W etapie serializacji napis ten zostaje przekształcony do reprezentacji:

time { hours: 4 minutes: 0 }

Napis 4:00 został rozpoznany jako oznaczający godzinę i zakwalifikowany do klasy semiotycznej time. Ponadto na etapie tym ustalono, że wartość atrybutu ho-urs wynosi 4, a atrybutu minutes – 0.

Załóżmy, że tekstem wejściowym jest napis:

$50k

Wynikiem serializacji jest wówczas reprezentacja:

money { currency: „usd” amount {integer_part: „50” fractional_part: „0” } quantity: 1000 }

Napis $50k został rozpoznany jako należący do klasy semiotycznej money.

Ustalono ponadto, że wartością atrybutu currency jest usd. Atrybut amount re-prezentowany jest przez parę pod-atrybutów, oznaczających odpowiednio część całkowitą i ułamkową kwoty; w tym wypadku rozpoznano, że wartości tych pod--atrybutów wynoszą odpowiednio: 50 i 0. Atrybut quantity reprezentuje rząd wiel-kości kwoty – w tym wypadku: 1000.

Zauważmy, że od syntezatora mowy oczekuje się, że odczyta powyższą repre-zentację w kolejności innej niż kolejność występowania poszczególnych atrybutów w reprezentacji, a mianowicie: 50 thousand dollars (a nie: dollars, 50 thousand).

W tym celu wprowadzany jest drugi etap przetwarzania, zwany werbalizacją.

W tym etapie początkowo dopuszcza się wszystkie możliwe permutacje atrybutów,

a następnie, spośród wszystkich możliwości, wybiera się tylko tę, która jest zgodna ze zdefiniowaną wcześniej gramatyką.

Dzięki podziałowi przetwarzania na dwa etapy uzyskuje się jeszcze jedną ko-rzyść. W procesie serializacji różne napisy można sprowadzić do tej samej repre-zentacji, np.:

2/9/2014 09-02-2014 Feb 9, 2014 9 Feb, 2014

Wszystkie powyższe napisy są sprowadzane do tej samej reprezentacji w kla-sie semiotycznej date. W procekla-sie werbalizacji można zdecydować, np. w oparciu o wcześniej rozpoznany styl dokumentu (formalny, nieformalny, pisownia ame-rykańska lub brytyjska, itp.), jakie reguły zastosować do uzyskania formy wyma-wianej.

Obie gramatyki (służące odpowiednio do serializacji i werbalizacji) zostały stworzone manualnie i zapisane w formalizmie Thrax (Tai i in. 2011).

W systemie iayko, służącym do normalizacji diachronicznej języka polskiego (podrozdział 3.3), również stosowana jest gramatyka Thrax z regułami zdefiniowa-nymi manualnie. Dzięki uproszczeniu formalizmu (np. rezygnacji z wag) w syste-mie iayko tworzenie reguł nie wymaga znajomości skomplikowanych szczegółów technicznych zapisu gramatyki Thrax.

Oba podejścia różnią się również metodą ewaluacji wyników. Jakość systemu Kestrel szacowana jest jako część procentowa poprawnych transformacji napisów.

W sekcji 3.3.6 proponuje się nieco bardziej zaawansowaną metodę opartą na ma-cierzy Levenshteina. Metoda bierze pod uwagę fakt, że nie wszystkie typy błędów są tak samo szkodliwe z punktu widzenia użytkownika systemu.