• Nie Znaleziono Wyników

Algorytm: znakowanie fraz w oparciu o uczenie na pamięć

Rozdział 4. Znakowanie fraz

4.6. Algorytm: znakowanie fraz w oparciu o uczenie na pamięć

te-stować będziemy na danych z korpusów języka polskiego. Sam w sobie algorytm nie jest nowy — został on bezpośrednio zainspirowany pracą (Veenstra i van den Bosch, 2000), natomiast elementem nowym jest użycie bogatego zbioru cech, uwzględniającego specyfikę języków słowiańskich oraz pozycyjny charakter tagsetu NKJP.

Algorytm sprowadza się do znakowania kolejnych segmentów za pomocą znaczników IOB2 (por. str. 84) w oparciu o decyzje klasyfikatora pamięciowego. Zadaniem rozpa-trywanym przez nas jest znakowanie fraz kilku typów. Jak wspomnieliśmy na stronie 84, istnieją dwa podejścia: znakowanie każdej frazy w izolacji lub znakowanie wszystkich fraz jednocześnie przy użyciu rozszerzonego zestawu znaczników. Prezentowany tutaj algorytm zakłada rozwiązanie pierwsze. Podejście takie wydaje się prostsze. Co więcej, w korpusie KPWr mamy do czynienia z nakładającymi się na siebie frazami (np. frazy AgP mogą pokrywać się z frazami NP), a zatem i tak konieczne byłoby wydzielenie przynajmniej dwóch podzbiorów fraz, które rozpatrywane byłyby jako osobne problemy

8 W rzeczywistych danych pojawiają się jeszcze bardziej szczegółowe rozróżnienia w obrębie NG, PrepNG, NumG itp.. Przykładowo, grupy rzeczownikowe opisujące adresy nazywają się NGadres. Dla czytelności, wszystkie takie podtypy nazywamy tutaj w skrócie NG (PrepNG, NumG, . . . ), choć w rzeczywistości chodzi o grupy, których nazwa zaczyna się od NG (PrepNG, NumG, . . . ).

znakowania fraz. Dalszy opis algorytmu zakładać będzie więc, że znakowana jest fraza jednego typu. Tam, gdzie będzie mowa o wynikach znakowania kilku typów fraz, ozna-czać to będzie, że dla każdej frazy przeprowadzono z osobno uczenie i znakowanie wyuczonym modelem.

Algorytm przedstawiany w tym punkcie jest podobny do algorytmu ujednoznacz-niania morfosyntaktycznego w oparciu o uczenie na pamięć (punkt 2.7). Różnice są następujące:

1. algorytm ujednoznaczniania dostosowany jest do tagsetów pozycyjnych, podczas gdy przedstawiany tutaj algorytm znakowania fraz opiera się na reprezentacji IOB2, składającej się jedynie z trzech atomowych znaczników (I, O i B),

2. nie stosujemy tutaj żadnego odpowiednika analizy morfosyntaktycznej, a zadaniem klasyfikatora nie jest wykreślanie znaczników, lecz ostateczny ich wybór (wybie-ramy zawsze spośród trzech możliwości),

3. z oczywistych przyczyn nie stosujemy tutaj znakowania warstwowego.

Ze względu na użyty klasyfikator pamięciowy, algorytm tutaj opisywany będziemy odtąd skrótowo nazywać algorytmem znakowania fraz MBL.

4.6.1. Uczenie

Algorytm uczony jest na tekście oznakowanym morfosyntaktycznie, gdzie segmen-tom przypisano dodatkowo znaczniki IOB2 określające wzorcowe oznakowanie frazą rozpatrywanego typu. Wynikiem uczenia jest lista najczęstszych form wyrazowych za-wierająca F pozycji oraz baza przypadków uczących. Procedurę uczenia opisujemy poniżej jako algorytm 5. Algorytm rozpoczyna się od zebrania listy F najczęstszych form wyrazowych z korpusu uczącego.

Główna pętla algorytmu polega na generowaniu przypadków uczących na podstawie kolejnych segmentów. Każdy przypadek uczący to para (wektor cech, decyzja), gdzie wektor cech to ciąg wartości otrzymanych wskutek aplikacji kolejnych cech do otoczenia danego segmentu, a decyzja to znacznik IOB2 pobrany z wzorcowego oznakowania składniowego.

Algorytm 5 Uczenie algorytmu znakowania fraz MBL

Dane: korpus uczący korp oznakowany morfosyntaktycznie i znacznikami IOB2 zbiór cech cechy

Wyniki: baza przypadków uczących B

zbierz F najczęstszych form z korpusu uczącego korp for zdanie ∈ korp do

for seg ∈ zdanie do

wek_cech ← [f (seg, zdanie) for f ∈ cechy]

decyzja ← prawidłowy znacznik IOB2 przypisany segmentowi seg

dodaj do bazy B przykład uczący (wek_cech, decyzja) end for

4.6.2. Znakowanie

Znakowanie za pomocą wyuczonego modelu zostało przedstawione jako algorytm 6. Wejściem algorytmu jest tekst oznakowany morfosyntaktycznie. Wynikiem działania jest przypisanie każdemu segmentowi znacznika IOB2 odpowiadającemu problemowi znakowania fraz danego typu. Procedura klasyfikuj sprowadza się do aplikacji klasy-fikatora pamięciowego do podanego wektora cech.

Algorytm 6 Znakowanie pojedynczego zdania za pomocą algorytmu MBL Dane: zdanie oznakowane morfosyntaktycznie

zbiór cech cechy

baza przypadków uczących B

Wyniki: zdanie oznakowane morfosyntaktycznie z przypisanymi znacznikami IOB2 for seg ∈ zdanie do

wek_cech ← [f (seg, zdanie) for f ∈ cechy(a)] decyzja ← klasyfikuj (B, wek_cech)

przypisz znacznik IOB2 decyzja segmentowi seg end for

4.6.3. Parametry i cechy

Algorytm MBL parametryzowalny jest zarówno parametrami samego klasyfikatora pamięciowego, jak i zestawem cech. Wartości parametrów oraz zestaw cech są prak-tycznie identyczne z tymi zaproponowanymi na potrzeby ujednoznaczniania morfosyn-taktycznego w oparciu o uczenie na pamięć (algorytm ze strony 44). Używane przez nas parametry klasyfikatora pamięciowego są następujące:

— liczba najbliższych sąsiadów k = 9,

— miara podobieństwa Scotta–Salzberga — Modified Value Difference, — schemat głosowania Dudaniego — Inverse Linear.

Podobnie jak w przypadku tagera pamięciowego, używamy implementacji klasyfi-katora pamięciowego z pakietu TiMBL (Daelemans i inni, 2010a). Powyższe parametry można włączyć w tymże pakiecie za pomocą opcji -mM -k9 -dIL.

Zestaw cech zawiera następujące pozycje:

1. Wartość klasy gramatycznej dla każdego segmentu z okna (−3, −2, −1, 0, +1, +2) oraz wartości trzech atrybutów: przypadka, rodzaju i liczby dla segmentów z tego samego okna. Jako że tekst wejściowy jest ujednoznaczniony morfosyntaktycznie, wartościami tych cech będą zawsze pojedyncze symbole (w przypadku algorytmu WMBT pojawiały się zbiory kilkuelementowe).

2. Cechy leksykalne: formy wyrazowe wszystkich segmentów z okna (−3, . . . , 2) spro-wadzone do małych liter. Formy wyrazowe filtrowane są do F najczęstszych, pobra-nych z listy tworzonej podczas uczenia; formy niewystępujące na liście zamieniane są na symbol reprezentujący formę rzadką. Przyjmujemy wartość F = 500. 3. Cechy o wartościach prawda/fałsz sprawdzające uzgodnienie wartości liczby,

ro-dzaju i przypadka. Testy te mają za zadanie ułatwić rozpoznanie fraz uzgodnio-nych. Użyto następujących cech:

a) test na uzgodnienie między pozycjami −1 i 0: agrpp(-1,0,{nmb,gnd,cas}), b) test na uzgodnienie między pozycjami 0 i +1,

c) test na słabe uzgodnienie przedziałowe (wagr; por. punkt 2.6) między segmen-tami z okna (−2, −1, 0),

d) j.w., okno (−1, 0, +1), e) j.w., okno (0, +1, +2).

4. Dwa testy na graficzną postać formy wyrazowej na pozycji 0: czy zaczyna się małą literą oraz czy zaczyna się wielką literą.

Wszystkie te cechy zostały zapisane w postaci wyrażeń funkcyjnych w formalizmie WCCL. Wyrażenia te zamieszczono w punkcie C.2 dodatku C. Dla wszystkich typów fraz używamy dokładnie tego samego zestawu cech i wartości parametrów.

4.7. Algorytm: znakowanie fraz w oparciu o drzewa decyzyjne