Wykorzystanie narzędzi do automatycznego przetwarzania języka w badaniach onomastycznych Marcin Oleksy marcin.oleksy@pwr.edu.pl Jan Wieczorek jan.wieczorek@pwr.edu.pl Politechnika Wrocławska Katedra Inteligencji Obliczeniowej Grupa Technologii Językowych G4.19 (http://nlp.pwr.wroc.pl/)
Plan 1. Wprowadzenie teoretyczne 2. Tworzenie korpusu Deponowanie Znakowanie nazw własnych Automatyczne Ręczne 3. Analiza korpusu - liczby i słowa
Rozpoznawanie odniesień Czym są odniesienia? Odniesienia to fragmenty tekstu reprezentujące pojęcia określonych kategorii, m.in.: jednostki identyfikacyjne (np. nazwy własne) wyrażenia temporalne wyznaczniki sytuacji w przygotowaniu: relacje przestrzenne...
Czym jest jednostka identyfikacyjna? Fragment tekstu odnoszący się do pewnych obiektów lub grup obiektów określonych kategorii.
Czym jest jednostka identyfikacyjna? jednostka identyfikacyjna - fragment tekstu odnoszący się do pewnych obiektów lub grup obiektów określonych kategorii. Do zbioru jednostek identyfikacyjnych należą: nazwy własne - nazwy nadane w sposób indywidualny i wyróżniający pojedynczy obiekt, np. osobę, zwierzę, miejsce, przedmiot, przedsięwzięcie. Nazwa własna nie znaczy lecz wskazuje desygnat (znaczenie nie ma charakteru konwencjonalnego).
Chrematonimy chrematonimy - nazwy własne niektórych materialnych wytworów ręki ludzkiej, przemysłowych lub rękodzielniczych, jednostkowych lub seryjnych, takich, które nie są trwale związane z określonym krajobrazem. Zakres użycia tego terminu nie jest jeszcze w pełni ustalony. ( Kosyl Cz., Chrematonimy, [w:] Współczesny język polski, Lublin 2001) Czy chrematonim jest nazwą własną? Nie rozstrzygamy tego - dla nas jest istotne, że jest jednostką identyfikacyjną. Nie rozstrzygamy też innych kwestii spornych: czy do grupy chrematonimów zaliczane są niektóre ideonimy (np. tytuły utworów literackich, nazwy organizacji politycznych, nazwy wydarzeń artystycznych).
Jednostki identyfikacyjne Podczas prac nad narzędziem do rozpoznawania jednostek identyfikacyjnych przyjęliśmy nieco inną typologię: 1. Nazwy: 2. nazwy własne - np. Olsztyn, Warmia, Mrongowiusz nazwy ogólne - nazwy klas lub serii, np. Punto, iphone 4 Przymiotniki pochodzące od nazw własnych, np. olsztyński, europejski, dolnośląskimi, polskich. 3. Wyrażenia liczbowe - jednoznacznie identyfikujące obiekty, np. numer domu/mieszkania, kod pocztowy.
Co identyfikuje liner2? klasyczne nazwy własne (antroponimy, toponimy, etnonimy) Przykłady: Jan Kowalski, Waryński, Karol, Olsztyn, Kino Śląsk, Polskie Stronictwo Ludowe, Uniwersytet Warmińsko-Mazurski, Polska, Tajwan, Polak, Tajwańczyk, Odra, Bałtyk, Morze Śródziemne, Europa, Unia Europejska, Straż Graniczna, Most Grunwaldzki, ulica Moniuszki, ul. gen. R. Traugutta, Zalew Wiślany.
Co identyfikuje liner2? derywaty przymiotnikowe od nazw własnych Przykłady: polski, dolnośląski, olsztyński, tajwański, bałtycki, śródziemnomorski, kreteński, karaibski, czarnoleski.
Co identyfikuje liner2? chrematonimy (w szerokim rozumieniu: nazwy wydarzeń, produktów, usług): Przykłady: Fiat Punto, Taryfa Luzak, Bilet Euro-Nysa, Festiwal Nowa Muzyka, Era Nowe Horyzonty, Marlboro Light, Biały Jeleń, Dar Podlasia, Halny (nazwa pociągu IC).
Funkcjonalne rozpoznawanie jednostek Podejście funkcjonalne polega na tym, że każda jednostka tekstu jest rozpatrywana jako potencjalna jednostka identyfikacyjna na podstawie wielu przesłanek: model statystyczny uwzględniający funkcje, które pełni dany wyraz w zdaniu; sposób zapisu; słownik nazw własnych; kontekst
Funkcjonalne rozpoznawanie jednostek Podejście funkcjonalne pozwala nam identyfikować nazwy własne pisane małą literą, np. woj. dolnośląskie, pow. Olsztyński, gdańszczanin/gdańszczanka, warszawianin/warszawianka/warszawiak/warszawiaczka, mazowszanin, dolnoślązak, Ślązak/ślązak, Żyd/żyd, powstanie warszawskie/powstanie Warszawskie/Powstanie warszawskie, II wojna światowa, bitwa pod Wiedniem.
Funkcjonalne rozpoznawanie jednostek Ponieważ narzędzie wykorzystuje różne przesłanki, może ono zidentyfikować nazwę zapisaną błędnie: Belweder/belweder, Paryż/paryż, Rodan/rodan, Ministerstwo Zdrowia/ministerstwo Zdrowia. Sposób zapisu danego wyrazu jest tylko jedną z przesłanek, w związku z tym błędny zapis nie neguje możliwości rozpoznania nazwy własnej. Może to jedynie utrudnić lub obniżyć skuteczność rozpoznania. Liner potrafi również rozpoznać nazwy ludzi, miejsc, produktów fikcyjnych, np. Śródziemie, Wybrzeże Mieczy, Wyzima, Soplicowo, Geralt z Rivii, Woland, Generał Kocmołuchowicz. Dzieje się tak, ponieważ dane ze słownika nazw własnych jest również zaledwie jedną z przesłanek.
Dwie podstawowe funkcje 1. Rozpoznanie jednostki identyfikacyjnej (określenie jej granic oraz statusu) 2. Zakwalifikowanie do jednej z 9 kategorii ogólnych lub jednej z 82 kategorii szczegółowych
Kategorie ogólne Schemat definiuje ponad 100 kategorii jednostek identyfikacyjnych. Kategorie są ułożone w kilkupoziomową hierarchię. Na najwyższym poziomie znajduje się dziewięć grup: nam_eve wydarzenia organizowane lub ustalone przez ludzi, nam_fac konstrukcje (budowle, budynki, pomniki) stworzone przez ludzi. nam_liv istoty żywe (ludzie, postacie, zwierzęta), nam_loc toponimy (lokalizacje, jednostki geopolityczne i geograficzne), nam_org organizacje, instytucje, zespoły, zorganizowane grupy itd. nam_oth nazwy technologii, walut, adres e-mail, strony www, itd. nam_pro chrematonimy (wytwory ludzkie). nam_adj przymiotniki pochodzące od nazw własnych, nam_num wyrażenia liczbowe
Kategorie szczegółowe Kategorie szczegółowe dla nam_loc (toponimy): nam_loc_astronomical naturalne ciała niebieskie, nam_loc_country_region regiony geograficzne w obrębie kraju, nam_loc_gpe jednostki geopolityczne. nam_loc_gpe_admin podział administracyjny,, nam_loc_gpe_city miasta i 4 pozostałe podkategorie nam_loc_gpe_* nam_loc_hydronym naturalne obiekty wodne, nam_loc_hydronym_river rzeki, nam_loc_hydronym_lake jeziora, i 4 pozostałe podkategorie nam_loc_hydronym_* nam_loc_land ziemne obiekty geograficzne, nam_loc_land_cape przylądki. nam_loc_land_continent kontynenty. i 8 pozostałych podkategorii nam_loc_land_* Pełen wykaz kategorii: https://clarin-pl.eu/dspace/handle/11321/294
Ograniczenia nie rozpoznaje deskrypcji określonych (np. autor Pana Tadeusza, stolica Włoch, ostatni król Polski) nie jest stuprocentowo skuteczny w rozpoznawaniu jednostek identyfikacyjnych dobrze rozpoznane jednostki potrafi przypisać do złej kategorii Statystyki: Liner podejmuje trafne decyzje w stosunku do 86% kandydatów na jednostkę identyfikacyjną 59% decyzji dotyczących przypisania do konkretnej kategorii szczegółowej jest trafna (dla ogólnej - 69%)
Założenia Na potrzeby realizacji zadania zostały opracowane wytyczne określające zasady anotacji i kategoryzacji jednostek identyfikacyjnych. https://clarin-pl.eu/dspace/handle/11321/294 Podstawowe odniesienia: Kategoryzacja semantyczna Sekine's Extended Named Entity Hierarchy, wytyczne ACE Definicja nazw własnych Słownik nazw własnych J. Grzeni. Ekspertyza Zespołu Ortograficzno-Onomastycznego Własne założenia wynikające z planowanych zastosowań i docelowej reprezentacji danych.
Możliwe zastosowania Badania stylometryczne Badania statystyczne dotyczące nazw własnych (rozpoznawanie, wyliczanie frekwencji z podziałem na kategorie) Poszukiwania nowych jednostek identyfikacyjnych potencjalnych nazw własnych Tworzenie słowników nazw własnych Grupowanie tekstów, ustalanie autorstwa???
Tworzenie korpusu
Automatyczne znakowanie nazw własnych - demo 1. Wgrywanie usługi CLARIN-PL (ws.clarin-pl.eu/ner.shtml) Inforex (inforex.clarin-pl.eu) 2. Przetwarzanie tokenizacja znakowanie morfosyntaktyczne rozpoznanie jednostek identyfikacyjnych
Automatyczne znakowanie nazw własnych 1. Deponowanie DSpace (clarin-pl.eu/dspace) Nextcloud 2. Przetwarzanie tokenizacja znakowanie morfosyntaktyczne znakowanie sensami słów ze Słowosieci (plwordnet.pwr.wroc.pl) rozpoznawanie: nazw własnych wyrażeń temporalnych
Automatyczne znakowanie nazw własnych - deponowanie
Automatyczne znakowanie nazw własnych - przetwarzanie
Bootstrapping 1. Export do Inforexa (inforex.clarin-pl.eu)
Inforex - podstawowe funkcje Podstawowe funkcje: prezentowanie dokumentów korpusowych anotowanie dokumentów (ręczne lub automatyczne) analiza danych tekstowych
Bootstrapping 2. Akceptacja/korekta automatycznie rozpoznanych nazw: Wybierz korpus Przejdź do sekcji Documents Wybierz dokument Przejdź do zakładki Bootstrapping Wybierz zestaw anotacji Akceptuj/koryguj
Bootstrapping 2. Akceptacja/korekta automatycznie rozpoznanych nazw
Ręczne znakowanie nazw własnych 1. Wybór lub zdefiniowanie zestawu kategorii 2. Anotacja
Ręczne znakowanie nazw własnych 1. Wybór zestawu kategorii
Ręczne znakowanie nazw własnych 1. Wybór zestawu kategorii Przejdź do sekcji Settings Wybierz zakładkę Annotation sets Przypisz odpowiednią warstwę anotacji, klikając pole wyboru w odpowiednim wierszu tabeli
Ręczne znakowanie nazw własnych 1. Zdefiniowanie zestawu kategorii
Ręczne znakowanie nazw własnych 1. Zdefiniowanie zestawu kategorii Przejdź do sekcji Settings Wybierz zakładkę Custom annotation sets Stwórz schemat anotacji: zestaw kategorii (Annotation sets) zestaw podkategorii (Annotation subsets) kategorie (Categories)
Ręczne znakowanie nazw własnych 2. Anotacja
Analiza korpusu Statystyki i Konteksty liczby słowa
Analiza korpusu - statystyki
Analiza korpusu - konteksty
CLARIN-PL CLARIN-PL to polskie konsorcjum naukowe, część ogólnoeuropejskiej infrastruktury badawczej CLARIN. Tworzy je sześć jednostek naukowych, w których powstają elektroniczne zasoby językowe i narzędzia do pracy z dużymi zbiorami tekstów w języku polskim. http://clarin-pl.eu Webserwisy: ws.clarin-pl.eu
Dziękujemy za uwagę!