holmes3.doc

(573 KB) Pobierz
MAREK ŚWIDZIŃSKI

MAREK ŚWIDZIŃSKI, MICHAŁ RUDOLF

Instytut Języka Polskiego

Uniwersytet Warszawski

 

Narzędzia informatyczne obsługi wielkich korpusów tekstów: wyszukiwarka Holmes

 

1. Wstęp

Niniejszy artykuł wprowadza w problematykę automatycznej analizy tekstów języka wysoce fleksyjnego. Przedstawimy w nim informację o projekcie naukowo-badawczym „Zaawansowane narzędzia komputerowe do obsługi wielkich korpusów tekstów dla potrzeb leksykograficznych”, realizowanym w Instytucie Języka Polskiego UW w latach 2001-2004. Produktem końcowym tego projektu jest program ujednoznaczniania morfologicznego – wyszukiwarka Holmes. Stanowi ona poręczne narzędzie przeszukiwania korpusu tekstów polskich, przede wszystkim dla celów leksykograficznych. Założenia teoretyczne i możliwości wyszukiwarki będą tu przedmiotem uwagi. 

 

2. Lingwistyka korpusowa

Lingwistyka XXI wieku staje w obliczu wyzwań automatycznego przetwarzania wielkich korpusów tekstowych zapisanych na nośniku elektronicznym. Wyzwanie to, rzecz znamienna, jest natury praktycznej, nie teoretycznej. Skład komputerowy, który w ciągu ostatnich dekad wyeliminował ostatecznie tradycyjne techniki wydawnicze, oraz równoległy, błyskawiczny rozwój pamięci masowych przyniósł w efekcie gigantyczne zbiory empirycznych danych językowych. Ręczny dostęp do tych zbiorów jest, wobec ich rozmiarów, absolutnie niemożliwy. Lingwistyka współczesna to zatem w znacznej mierze inżynieria korpusowa, a przetwarzanie tekstów języka naturalnego (NLP) zapewnia byt milionom informatyków na całym świecie.

Korpusy tekstowe jako źródło informacji lingwistycznej wiążą się przede wszystkim z leksykografią. Aby pozyskanie tej informacji było możliwe, potrzebne są narzędzia bilateralizacji, czyli przechodzenia od poziomu słowa, jednostki unilateralnej, do obiektów bilateralnych – form wyrazowych i leksemów. W wypadku języków wysoce fleksyjnych narzędzia te muszą się opierać na wyczerpującym opisie gramatycznym takiego języka. Ponieważ problemem kluczowym jest rozwiązywanie homonimii, moduł składniowy tego opisu jest równie istotny jak morfologiczny. Narzędzia dehomonimizacji dają jako produkt końcowy albo korpus znakowany (tagged corpus), albo wynik kwerendy – podzbiór korpusu spełniający zadane przez użytkownika warunki.

Warto tu wspomnieć, że jedno z pierwszych w świecie przedsięwzięć lingwistyki korpusowej miało miejsce w Polsce i polszczyzny dotyczyło. W latach 1967-1971 powstał w Uniwersytecie Warszawskim półmilionowy zrównoważony korpus znakowany, który posłużył za bazę empiryczną słownika frekwencyjnego języka polskiego. Znakowania dla ujednoznacznienia słów dokonywano ręcznie, ale listy frekwencyjne zostały sporządzone komputerowo. Słownik ukazał się najpierw w postaci pięciu tomów (w jedenastu woluminach) pod tytułem Słownictwo współczesnego języka polskiego. Listy frekwencyjne Idy Kurcz, Andrzeja Lewickiego, Jadwigi Sambor i Jerzego Woronczaka (S-LF 1974-1977). Tomy te wyszły potem w postaci zbiorczej pod redakcją Zygmunta Saloniego jako Słownik frekwencyjny polszczyzny współczesnej (SFPW 1990).

Oto przykładowa próbka korpusu SFPW (1990):

DR*4

nie ma znaczenia121. we66 s'nie nic41 nie ma znaczenia121.. drogiemu koledze dobrze tak mOwic', dla62 pana121 moZe5 nie miec‘ znaczenia121. ale ja jestem czLowiekiem powaZnym251, obdarzonym251 zaufaniem spoLeczen'stwa121.. to9 po64 co44 siE panu koledze w+ogOle cos'41 s'ni501.. to41 moja sprawa.. aha7, zaczynam rozumiec'.. co44 pan111 kolega zaczyna rozumiec'.. nic41, nic41.. niechZe drogi211 pan111 kolega powie55..

Jest to, według naszej wiedzy, pierwszy korpus znakowany w historii polskiej lingwistyki. Dostępny obecnie na współczesnych nośnikach informacji, zachował atrakcyjność (choć nie leksykograficzną) po dziś dzień (por. Świdziński 1996).

 

3. Projekt naukowo-badawczy

W latach 2001-2004 realizowany był w Instytucie Języka Polskiego UW, we współpracy z Redakcją Słowników PWN i na jej zamówienie, projekt  „Zaawansowane narzędzia komputerowe do obsługi wielkich korpusów tekstów dla potrzeb leksykograficznych” (grant KBN 5 HO1D 019 20). Projektem kierował Andrzej Markowski, głównymi wykonawcami byli Marek Świdziński oraz Mirosław Bańko, który reprezentował równolegle Redakcję Słowników PWN. W pracach zespołu badawczego uczestniczyli Magdalena Derwojedowa, Dorota Kopcińska, Joanna Rabiega-Wiśniewska oraz Michał Rudolf, który odpowiadał za aspekty informatyczne projektu. Jego dziełem jest całe oprogramowanie, w szczególności – wyszukiwarka Holmes.

Zadaniem projektu było przygotowanie oprogramowania do obsługi wielkich korpusów tekstów polskich. Odbiorcami mieli być przede wszystkim leksykografowie. Dzięki udziałowi Redakcji Słowników PWN w projekcie członkowie zespołu nie musieli podejmować trudu budowy korpusu od początku, jak to się zwykle praktykuje w lingwistyce korpusowej. Redakcja umożliwiła dostęp do obszernych fragmentów własnego korpusu. Zrównoważone jego wycinki o długości od 2 do 40 mln słów służyły jako podstawa dla prac programistycznych i testerskich.

Korpus roboczy miał długość 1.9 mln słów (496 plików, 34.5 MB), korpus do testowania – ok. 40 mln słów (3468 plików, 710 MB). Korpus zamykający grant o długości ok. 7 mln słów obejmował dwa podkorpusy: podzbiór zrównoważonego Korpusu PWN o długości 3,6 mln (661 plików, 68 MB) oraz niezrównoważony korpus „Rzeczpospolita” (3,4 mln (75 plików, 63MB).

Obsługa korpusu obejmowała następujący kompleks zadań:

·         segmentacja tekstu na wypowiedzenia,

·        analiza gramatyczna słów (w tym: lematyzacja),

·         analiza gramatyczna nieznanych słów na podstawie zakończeń,.

·         ujednoznacznianie jakościowe.

Przygotowywane oprogramowanie pomyślane zostało jako narzędzie do prowadzenia zaawansowanych kwerend, a nie znakowania tekstu. Oznacza to, że nie chodzi o tagger, tylko – by posłużyć się znów etykietką angielską – disambiguator, czyli narzędzie ujednoznaczniania morfologicznego: dehomonimizacji i desynkretyzacji (Świdziński, Derwojedowa i Rudolf 2004). Wyniki poszukiwania, mające postać odpowiednich podzbiorów korpusu, są dostępne natychmiast. Monografia Michała Rudolfa Metody automatycznej analizy korpusu tekstów polskich zdaje sprawę z prac nad przetwarzaniem korpusu, rzucając relacjonowane przedsięwzięcia na szerokie tło współczesnej lingwistyki informatycznej (Rudolf 2004).

 

4. Oprogramowanie

Dla potrzeb grantu powstały między innymi następujące programy:

·        ZDANIA

·        NIEZNANE

·        SLOWOTWORCA

·        REGULY

·        FREQ

Wykorzystany też został powstały przed rozpoczęciem projektu program AMOR Joanny Rabiega-Wiśniewskiej i Michała Rudolfa; por. Rabiega-Wiśniewska i Rudolf (2003a).

Program ZDANIA służy segmentacji tekstu na wypowiedzenia, czyli wyrażenia, które otwiera wielka litera (nie poprzedzona niczym lub poprzedzona znakiem końca), a zamyka znak końca (Saloni i Świdziński (2001: 41-42)). Działanie programu sprowadza się do odgadnięcia właściwej interpretacji pewnych znaków interpunkcyjnych „typu kropki”; kropka, jak wiadomo, występuje w tekście polskim również między innymi jako składnik niektórych skrótów. Por. Rudolf (2004: 57-71).

Program AMOR jest narzędziem analizy morfologicznej. Interpretuje on wczytane słowo jako należące do określonego leksemu lub leksemów (lematyzacja lub dehomonimizacja słaba) i przypisuje mu wszystkie możliwe pakiety parametrów morfologicznych (interpretacja morfologiczna lub desynkretyzacja słaba). AMOR opiera się na morfologii głębokiej Zygmunta Saloniego, wyłożonej m.in. w podręczniku Saloniego i Świdzińskiego (2001: 84-231); por. też  Saloni 1992 i Tokarski 1993. Szczegółowy opis założeń teoretycznych programu podany jest w artykułach Rabiega-Wiśniewskiej i Rudolfa  (2003b) oraz Rabiega-Wiśniewskiej (2004) oraz w cytowanej monografii Rudolfa (2004: 29-42). Zbiór znaczników morfologicznych obejmuje 435 wartości, gdzie dany znacznik jest n-tką indeksów morfologicznych typu wykrzyknik; liczebnik, dopełniacz, rodzaj* (gdzie rodzaj* oznacza wartość dowolną); czasownik, 2, lp, rozk, ndk itp.

Programy NIEZNANE oraz SLOWOTWORCA służą interpretacji gramatycznej słów, których AMOR nie rozpoznaje, a więc takich, dla których wynik lematyzacji jest niepomyślny (odpowiednich jednostek nie ma w słowniku). Pierwszy z nich korzysta z listy zakończeń słów polskich (Tokarski 1993), stawiając hipotezy charakterystyki fleksyjnej lub odgadując czy raczej postulując leksem. Drugi program przeprowadza analizę derywacyjną – odcina afiksy lub pseudoafiksy i próbuje przekształcać „formę pochodną” na „formę podstawową”; por. Rudolf (2004: 43-55), Rabiega-Wiśniewska (w druku).

Program FREQ oblicza frekwencję jednostek tekstowych.

Program REGULY korzysta z wyników pozyskanych przez podane wyżej programy. Jest on właściwym narzędziem ujednoznacznienia. Omówię go dokładniej w następnym punkcie.

Całe to oprogramowanie wykorzystywane jest przez aplikację Sherlock, pracującą w środowiskach Linux, DOS oraz Windows. Wizualizację wyników umożliwia aplikacja Holmes w środowisku Windows. Wyniki podawane są między innymi w postaci plików HTML.

 

5. Ujednoznacznianie morfologiczne

Przez ujednoznacznienie rozumiemy tutaj desynkretyzację mocną i dehomonimizację mocną, innymi słowy – rozpoznanie właściwej formy wyrazowej i właściwego leksemu. Synkretyzm to równokształtność form wyrazowych wewnątrz jednego leksemu (dziewczyny Î dziewczyna: (1) dopełniacz liczby pojedynczej, (2) mianownik, (3) biernik lub (4) wołacz liczby mnogiej), homonimia – równokształtność form różnych leksemów (świecą Î (1) świeca lub (2) świecić).

W procesie automatycznego ujednoznaczniania danego tekstu generuje się najpierw dla wszystkich słów tego tekstu zbiór wszystkich możliwych interpretacji morfologicznych, czyli przeprowadza desynkretyzację słabą i dehomonimizację słabą. Następnie zbiór ten próbuje się ograniczyć poprzez odrzucanie interpretacji niewłaściwych. Chodzi o to, by – w ideale – dla danego wystąpienia homoformy (Awramiuk 1999) pozostawić jedną interpretację:

Znam tamte dziewczyny.                            Szukaj go ze świecą.

                                          dop,lp                                                                      świeca

                                          mian,lm                                                        świecić

                                          bier,lm

                                          woł,lm

Istnieją różne metody ujednoznaczniania mocnego. Wszystkie one, mówiąc intuicyjnie, wymagają jakichś danych dodatkowych. Zwykle przeciwstawia się sobie dwa typy takich metod: ilościowe i jakościowe. Pierwsze wykorzystują rozmaite modele statystyczne – odpowiedni program ujednoznaczniający, wytrenowany na oznakowanym ręcznie zbiorze tekstowym, ma odnajdywać najbardziej prawdopodobne interpretacje (znaczniki) dla słów analizowanego korpusu. W sprawie metod statystycznych odesłać można do studiów Łukasza Dębowskiego (2001), (2003).

Projekt referowany tutaj wykorzystuje jednak metodę drugiego typu. Metody jakościowe opierają się na zbiorze szczegółowych reguł  lingwistycznych, które stanowią zapis subtelnych obserwacji czysto dystrybucyjnych. Są one zazwyczaj kontekstowe. W artykule Świdzińskiego, Derwojedowej i Rudolfa (2004) postulowano podejście „prymitywnie składniowe” do problemu ujednoznacznienia. Nie zakłada się tam analizy składniowej (parsowania) – chodzi tylko o szukanie wykładników opozycji w najbliższym sąsiedztwie, ujmowanym czysto morfologicznie. Propagatorem metody lingwistycznej na gruncie języków słowiańskich jest Karel Oliva (por. Oliva 2003).

Oto przykłady takich reguł:

(1) reguła Dwie finitywne formy czasownika muszą być rozdzielone przecinkiem lub spójnikiem.

(2) reguła Dość blisko przed formą miejscownika występuje albo inny miejscownik, albo jeden z przyimków na, w, o, przy, po.

(3) reguła Słowo nie, jeśli nie występuje po przyimku, jest formą partykuły nie.

(4) reguła Słowo musi jest formą czasownika musieć.

(5) reguła Przymiotnik i następujący po nim rzeczownik są uzgodnione pod względem przypadka, rodzaju i liczby.

Zaproponowano 110 reguł lingwistycznych – z zadanym ręcznie stopniem niezawodności. Są wśród nich reguły ogólne – np. (1) i (2), leksykalne – przykład  (3), frekwencyjne – przykład (4) i heurystyczne – przykład (5). Reguły są stosowane od najbardziej niezawodnej do najmniej niezawodnej. Reguły heurystyczne, mniej pewne, włączane są wówczas, gdy nie poskutkowały poprzednie. U Rudolfa (2004: 103) znaleźć można kilkadziesiąt takich reguł z ilustracją empiryczną.

 

6. Jak działa Sherlock

Opisywana tu aplikacja jest narzędziem wyszukiwania jednostek tekstowych spełniających zadane warunki. Tekst do przeszukiwania musi być najpierw przetworzony za pomocą zestawu przedstawionych wcześniej programów. W wyniku działania tych programów otrzymuje się częściowo ujednoznaczniony tekst z informacjami morfologicznymi, który może być następnie przeszukiwany według różnych kryteriów.Zasady wprowadzania kwerend przedstawimy w następnym punkcie.

Przetwarzany tekst zostaje najpierw posegmentowany na wypowiedzenia (dokonuje tego program ZDANIA). Ponieważ Sherlock operuje na plikach Korpusu PWN, jest możliwość ujawniania lokalizacji pozyskiwanych wypowiedzeń.

Następuje teraz etap analizy morfologicznej. Program AMOR przypisuje poszczególnym słowom interpretacje morfologicznych. Programy NIEZNANE oraz SLOWOTWORCA próbują odgadnąć interpretacje słów, które nie zostały rozpoznane przez program AMOR. Tekst oznakowany będzie teraz obiektem przeszukiwań.

W końcu wczytywane są i sortowane reguły lingwistyczne (program REGULY). Dla każdego wypowiedzenia reguły są stosowane w kolejności ich niezawodności. Jeżeli któraś z reguł doprowadzi do usunięcia pewnej interpretacji, cała procedura rozpoczyna się od początku. Proces kończy się w momencie, gdy żadna z reguł nie pozwala na usunięcie z danego wypowiedzenia dodatkowych interpretacji.

Wyniki są zapamiętywane w postaci plików dla programów Sherlock (kwerendy) i FREQ (statystyka). Danych ilościowych użytkownik może sobie zażyczyć w programie Sherlock – oznacza to jedynie tyle, że wyniki nie będą wypisane, a jedynie zliczone.

Pokażmy teraz, jak funkcjonują podane wyżej reguły.

Poniższa reguła:

reguła Dwie finitywne formy czasownika muszą być rozdzielone przecinkiem lub spójnikiem.

pozwala wyeliminować interpretację homoformy powstanie w wypowiedzeniu Szczególnie groźne wydawało się powstanie w Tarnowskich Górach w roku 1534. [Suchodolski Bogdan „Dzieje kultury polskiej”] jako formy wyrazowej o opisie czasownik, 3, lp, rodzaj*, przyszły, ozn, dk. Poprzedzające ją słowo wydawało, które ma jednoznaczną interpretację czasownikową, nie jest w żaden sposób odseparowane od podejrzewanego o czasownikowość słowa powstanie. Dzięki tej regule możliwa jest właściwa lematyzacja jednostki powstanie: powstanie.

Kolejna reguła jest skutecznym narzędziem rozwiązywania synkretyzmów, w jakie uwikłany jest miejscownik w polszczyźnie:

reguła Dość blisko przed formą miejscownika występuje albo inny miejscownik, albo jeden z przyimków na, w, o, przy, po.

Formę szybkości o opisie rzeczownik, miejscownik znajdujemy tylko w pierwszym spośród poniższych trzech przykładów:

A w tym położeniu, przy takiej szybkości pewna śmierć. [Żukrowski Wojciech „Kamienne tablice”:118].

Określenie szybkości składowych jest zadaniem interpolatora. [various „Problemy”:110]

Pracuje nad projektem samolotu poruszającego się z szybkością bliską szybkości dźwięku, Sonic Cruiserem. [various „Rzeczpospolita”:264]

Następna reguła:

reguła Słowo nie, jeśli nie występuje po przyimku, jest formą partykuły nie.

pozwala skutecznie rozwiązywać homonimię słowa nie, którego obie interpretacje, partykułowa i zaimkowa, są tekstowo częste:

...

Zgłoś jeśli naruszono regulamin