Rzutowanie Słowosieci na pojęcia ontologii SUMO i inne zasoby semantyczne Paweł Kędzia, Maciej Piasecki, Michał Marcińczuk, Marek Maziarz, Jan Wieczorek, Marcin Oleksy Grupa Naukowa G4.19 Katedra Inteligencji Obliczeniowej Politechnika Wrocławska CLARIN-PL 27 IV 2016
Plan Słowosieć a ontologia Słowosieć a baza wiedzy System zasobów wiedzy Ontologia SUMO i związki z wordnetami Rzutowanie na SUMO Powiązania pomiędzy Słowosiecią a NELexicon 2.0 Odniesienia do Wikipedii 2 / 33
Słowosieć a ontologia Słowosieć, ani żaden wordnet nie są ontologiami ontologia: wymóg rozłącznych kategorii sieć: nakładanie się znaczeń jednostek o wspólnym hiperonimie ontologia: precyzja definiowania sieć: język potoczny a język naukowy, np. lew jako synonim lwa afrykańskiego ontologia: kompletność opisu sieć: struktura zależna od leksykalizacji ontologia: hiperonimia jako drzewo sieć: luki na poziomie pojęć ogólnych ontologia: intencjonalny opis rzeczywistości sieć: warunkowana użyciem języka 3 / 33
Słowosieć a baza wiedzy Słowosieć opisuje znaczenia leksykalne Nie zawiera opisu bytów, faktów, ogólnej wiedzy o świecie Nazwy własne z zasady nie były objęte opisem w ramach Słowosieci nazwy stanowią otwartą klasę i mocno zależną od kontekstu Wyjątki nazwy będące podstawą słowotwórczą do lematów, które są częste w korpusie Polska charakteryzowanie polski Polska Agencja Prasowa, PAP synonimia międzyparadygmatyczna dla relacyjnych papowski 4 / 33
Słowosieć jako interfejs pomiędzy tekstem a zasobami wiedzy 5 / 33
SUMO Suggested Upper Merged Ontology Darmowa, otwarta, rozszerzenia na licencji GNU GPL Formalna: 25 000 termów, 80 000 aksjomatów 6 / 33
SUMO Suggested Upper Merged Ontology Strona domowa: http://www.adampease.org/op/ Cała zrzutowana na Princeton WordNet Otwarte biomedyczne ontologie (OBO) częściowo zrzutowane na SUMO (http://www.adampease.org/op/obo.html) FarsNet (WN języka perskiego) posiada rzutowanie na SUMO Powiązana w MCR z WordNet Domains, Base Concepts, Top Ontology oraz AdimenSUMO 7 / 33
Rzutowanie na SUMO Co nam daje rzutowanie Słowosieci na SUMO? 1 Przejście na poziom pojęć ontologicznych 2 Ogólniejszy opis słów z tekstu m.in. cechy klasyfikatora (role semantyczne selekcja cech) 3 Powiązanie z innymi zasobami połączonymi z SUMO 8 / 33
Cechy stanowiące podstawę reguł przenoszenia relacji Cel: przeniesienie relacji z PWN SUMO na Słowosieć SUMO Relacje międzyjęzykowe (rzutowania) pomiędzy Słowosiecią i WordNetem: i-synonymy, i-hyponymy, i-part-of-meronymy,... Relacje rzutowania pomiędzy WordNetem i SUMO: equivalent, instance of and subsumed, Dziedziny synsetów Słowosieci i WordNetu: body, grp, food, loc,... Wielka litera w pierwszym lemacie synsetu Słowosieci Odwołałanie do konkretnych pojęć SUMO: Currency, GroupOfPeople, FieldOfStudy, Human,... 9 / 33
Proces rzutowania 10 / 33
Relacje rzutowania: PWN-SUMO oraz plwn-sumo 1 equivalent (ekwiwalencja) synset odpowiada pojęciu SUMO ze względu na znaczenie synsetu, ze szczególnym wagą przykładaną do denotacji synsetu, np. plant 2 equivalent Plant. 2 instance of (instancja) denotacja synsetu jest instancją pojęcia SUMO, np. Aristotle 1 instance of Man, lub jest elementem kolekcji denotowanej przez pojęcie SUMO, np. {Eden 2} instance of Region 3 subsumed (podklasa) denotacja synsetu zawiera się w denotacji pojęcia SUMO np. {town 1} subsumed City. 4 R inna relacja (tylko w rzutowaniu plwn SUMO) 11 / 33
Reguły rzutowania (1) Typy 1 Proste przenoszące relację oparte na relacji i-synonymy synonimii międzyjęzykowej, relacja: synset WordNetu pojęcie SUMO jest kopiowana na relację synset Słowosieci pojęcie SUMO. 2 Złożone przenoszące bądź zmieniające relację na podstawie szeregu cech jest rozpoznawany typ relacji pomiędzy Słowosiecią i SUMO relacja wynikowa może się różnić od analogicznej relacji pomiędzy WordNetem i SUMO 12 / 33
Reguły rzutowania (2) Reguła prosta zapisana w pseudokodzie Algorithm 1 Przykłady prostych reguł rzutowania. 1: if R(PLWN PWN) = I-synonymy and R(PWN SUMO) = equivalent then 2: R(PLWN SUMO) = equivalent 3: end if 4: if R(PLWN PWN) = I-synonymy and R(PWN SUMO) = instance of then 5: R(PLWN SUMO) = instance of 6: end if 7: if R(PLWN PWN) = I-synonymy and R(PWN SUMO) = subsumed then 8: R(PLWN SUMO) = subsumed 9: end if 13 / 33
Przykłady prostych reguł Efekt zastosowania prostych reguł z Algorytmu 1 Relacja subsumed: 1 {kark 1 (body)} subsumed BodyPart {kark 1 (body)} jest i-synonym {nape 1 (body)} 2 {mieczyk 1 (plant)} subsumed FloweringPlant {mieczyk 1 (plant)} jest i-synonym {genus Gladiolus 1 (plant)} Relacja instance of: 1 {geometria rzutowa 1 (cogn)} instance of FieldOfStudy {geometria rzutowa 1 (cogn)} jest i-synonym dla {projective geometry 1 (cogn)} 2 {Ateny 1 (loc)} instance of City {Ateny 1 (cogn)} jest i-synonym {Athens 1 (cogn)} Relacja equivalent: 1 {czekolada 1 (food)} equivalent Chocolate {czekolada 1 (food)} jest i-synonym {chocolate 2 (food)} 2 {wał rozrządu 1 (arte)} equivalent Camshaft {wał rozrządu 1 (arte)} jest i-synonym {camshaft 1 (arte)} 14 / 33
Reguły rzutowania (3) Reguła złożona zapisana w pseudokodzie Algorithm 2 Przykłady reguł rzutowania, które odwołują się do dziedzin synsetów Słowosieci i WordNetu 1: if R(PLWN PWN) = I-part-of-meronymy and R(PWN SUMO) = equivalent then 2: if PLWN SYNSET zaczyna się wielką literą then 3: if D(PLWN) {loc} and D(PWN) {natobj} then 4: R(PLWN SUMO) = instance of 5: end if 6: if D(PLWN) {rel} and D(PWN) {loc} then 7: R(PLWN SUMO) = instance of 8: end if 9: end if 10: end if 15 / 33
Przykłady reguł rzutowania Złożone reguły Efekty zastosowania złożonych reguł z Algorytmu 2: 1 {Europa Wschodnia 1 (loc)} instance of Europe {Europa Wschodnia 1 (loc)} I-part-of-meronymy {Europe 1 (natobj)} instance of Europe 2 {Europa Zachodnia 1 (loc)} instance of Europe {Europa Zachodnia 1 (loc)} I-part-of-meronymy {Europe 1 (natobj)} instance of Europe 3 {Europa Południowo-Wschodnia 1 (loc)} instance of Europe {Europa Południowo-Wschodnia 1 (loc)} I-part-of-meronymy {Europe 1 (natobj)} instance of Europe 4 {Amazonia 1 (loc)} instance of SouthAmerica {Amazonia 1 (loc)} I-part-of-meronymy {South America 1 (natobj)} instance of SouthAmerica 5 {Hetmańszczyzna 1 (rel)} instance of Ukraine {Hetmańszczyzna 1 (rel)} I-part-of-meronymy {Ukraine 1 (natobj)} instance of Ukraine 16 / 33
Reguły rzutowania (4) Reguła złożona zapisana w pseudokodzie Algorithm 3 Przykłady reguł wykorzystujących dziedziny synsetów Słowosieci i WordNetu oraz pojęcia SUMO 1: if R(PLWN PWN) = I-part-of-holonymy and R(PWN SUMO) = subsumed then 2: if D(PLWN) {natphen} and D(PWN) {st} then 3: if SUMO CONCEPT=DiseaseOrSyndrome then 4: R(PLWN SUMO) = subsumed 5: end if 6: end if 7: end if 17 / 33
Przykłady reguł rzutowania Złożone reguły Efekty zastosowania złożonych reguł z Algorytmu 2: 1 {dysplazja śmiertelna 1 (natphen)} subsumed DiseaseOrSyndrome {dysplazja śmiertelna 1 (natphen)} I-part-of-holonymy {birth defect 1 (st)} subsumed DiseaseOrSyndrome 2 {zespół delecji 13q 1 (natphen)} subsumed DiseaseOrSyndrome {zespół delecji 13q 1 (natphen)} I-part-of-holonymy {birth defect 1 (st)} subsumed DiseaseOrSyndrome 3 {fetopatia cukrzycowa 1 (natphen)} subsumed DiseaseOrSyndrome {fetopatia cukrzycowa 1 (natphen)} I-part-of-holonymy {birth defect 1 (st)} subsumed DiseaseOrSyndrome 4 {ślepota z Rodrigue 1 (natphen)} subsumed DiseaseOrSyndrome {ślepota z Rodrigue 1 (natphen)} I-part-of-holonymy {birth defect 1 (st)} subsumed DiseaseOrSyndrome 5 {pentalogia Cantrella 1 (natphen)} subsumed DiseaseOrSyndrome {pentalogia Cantrella 1 (natphen)} I-part-of-holonymy {birth defect 1 (st)} subsumed DiseaseOrSyndrome 18 / 33
Reguły rzutowania (5) Przykłady przypadków kiedy typ relacji nie może być rozstrzygnięty automatycznie Algorithm 4 Przykład przypadku kiedy typ relacji nie może być rozstrzygnięty automatycznie 1: if R(PLWN PWN) = I-part-of-meronymy and R(PWN SUMO) = subsumed then 2: if D(PLWN) {loc, body, arte, grp,..., class} then 3: R(PLWN SUMO) = manually 4: end if 5: end if 19 / 33
Przykłady reguł rzutowania Złożone reguły Efekty zastosowania złożonych reguł z Algorytmu 4: 1 {okno 7 (arte)} manually Region {okno 7 (arte)} I-part-of-meronymy {hotbed 2 (arte)} subsumed Region 2 {skrzydło 9 (arte)} manually Door {skrzydło 9 (arte)} I-part-of-meronymy {door 1 (arte)} subsumed Door 3 {strzelnica 2 (loc)} manually Corporation {strzelnica 2 (loc)} I-part-of-meronymy {amusement park 1 (loc)} subsumed Corporation 4 {biblioteka szkolna 1 (loc)} manually School {biblioteka szkolna 1 (loc)} I-part-of-meronymy {school 2 (arte)} subsumed School 5 {oliwka 5 (body)} manually BodyPart {oliwka 5 (body)} I-part-of-meronymy {medulla oblongata 1 (arte)} subsumed BodyPart 6 {węzina 1 (body)} manually ThyroidGland {węzina 1 (body)} I-part-of-meronymy {thyroid gland 1 (arte)} subsumed ThyroidGland 20 / 33
Uaktualnianie rzutowania - Krok 1 Redukcja relacji niedookreślonych R RReduktor redukuje niedookreślone relacje wynikające z wielu rzutowań plwn-pwn Przykład: abnegat.1(os) hiper pa slob.1 Human R abnegat.1(os) hipo pa person.1 Human subsumed agnegat.1(os) - subsumed - Human 21 / 33
Uaktualnianie rzutowania - Krok 2 Poprawa typu relacji rzutującej Bulbulator propaguje wynik prostych reguł na pozostałe rzutowania dla danej pary {znaczenie, pojęcie SUMO} Przykład: krzesło.1(wytw) syn pa chair.1(wytw) Chair equivalent krzesło.1(wytw) hipo pa fighting chair.1(wytw) Chair subsumed krzesło.1(wytw) hiper pa Eames chair.1(wytw) Chair subsumed krzesło.1(wytw) hiper pa ladder-back.1(wytw) Chair subsumed krzesło.1(wytw) hiper pa straight chair.1(wytw) Chair subsumed krzesło.1(wytw) hiper pa tablet-armed chair.1(wytw) Chair subsumed krzesło.1(wytw) - equivalent - Chair 22 / 33
Uaktualnianie rzutowania - Krok 3 Poprawa typu relacji rzutującej Oknak dla danej pary {znaczenie, pojęcie SUMO} wyszukuje różne kombinacje wystąpień relacji m.językowych i ustala typ relacji rzutującej. mero:el pa oraz hipo pa subsumed mero:cz pa oraz hipo pa subsumed mero:cz pa oraz hiper pa subsumed synmr pa oraz syncz pa subsumed synmr pa oraz hipo pa subsumed syn pa oraz hiper pa equivalent hipo pa oraz hiper pa instance of lasek.1 hipo pa forest.1 Forest subsumed lasek.1 synmr pa forest.2 Forest equivalent lasek.1 - subsumed - Forest 23 / 33
Uaktualnianie rzutowania - Krok 4 Redukcja nadmiarowych rzutowań Corec Redukuje niepotrzebne rzutowania na podstawie szczegółowości pojęć Znaczenie z 1 posiada rzutowania na pojęcia A, B, C, D Znamy strukturę SUMO wiemy, które pojęcie z którym jest połączone Jeżeli pomiędzy A, B, C, D zachodzi relacja isa: wybieramy pojęcie najbardziej szczegółowe Relacje zachowujemy takie, jakie były przy konkretnych rzutowaniach 24 / 33
Uaktualnianie rzutowania - Krok 5 Redukcja nadmiarowych rzutowań Serdel Dla zadanego znaczenia usuwa rzutowania na SubjectiveAssessmentAttribute przy założeniu, że istnieją inne dla niego Przykład: matnia.1(st) subsumed TrapOrCage matnia.1(st) subsumed SubjectiveAssessmentAttribute matnia.1(st) -- subsumed -- TrapOrCage 25 / 33
Uaktualnianie rzutowania - Krok 6 Generowanie nowych rzutowań Rubin Wykorzystując relacje międzyjęzykowe oraz strukturę hiperonimiczną WordNetów generuje nowe rzutowania Rysunek: Rzutowanie plwn - PWN - SUMO 26 / 33
Ocena wyników algorytmu Krok 1: Automatyczna ocena wyników algorytmu rzutowania: Różne relacje wygenerowane dla tej samej pary {synset Słowosieci, pojęcie SUMO} Zaobserwowany błąd: 0,06% Krok 2: Ocena ręczna przez lingwistów: Próbka 160 rezultatów rzutowania Schemat oceny: 2+1 Trzy klasy: poprawne, niepoprawne, podłączony do hiperonimu Zgodność pomiędzy anotatorami: 81% Zmierzona dokładność rzutowania: 0,831 % Co zrobić z synsetami zrzutowanymi za pomocą relacji R? 27 / 33
Statystyki rzutowania (1) Ogólne statystyki zrzutowanych i niezrzutowanych synsetów Liczba rzutowań Kwiecień 2014: 87 550 Liczba rzutowań Maj 2014: 92 810 Liczba rzutowań Luty 2016: 175 635 Liczba zrzutowanych synsetów: 175 635, tj. 89.2% wszystkich Tablica: Liczba synsetów Słowosieci zrzutowanych na SUMO i pozostawionych do decyzji (ręcznie) POS Ręcznie Zrzutowane Ręcznie [%] Maj Luty Maj Luty Maj Luty 2014 2016 2014 2016 2014 2016 Rzeczownik 4 316 5 810 84 607 147 783 4,8 3,8 Czasownik 1 25 17 498 5,5 5,0 Przymiotnik 356 955 3 691 20 564 8,8 4,4 28 / 33
Statystyki rzutowania (5) Pięć najczęstszych pojęć SUMO w rezultatach rzutowania dla każdej relacji. Relacja Znaczenie Liczba synsetów Human 405 SocialRole 274 Equivalent Position 270 Bird 198 Female 76 City 1 689 FieldOfStudy 1 262 Instance of Human 1 164 SocialRole 421 Position 339 SubjectiveAssessmentAttribute 7 779 Human 7 740 Subsumed Position 4 871 FloweringPlant 4 442 SocialRole 4 281 29 / 33
Powiązania pomiędzy Słowosiecią a NELexicon 2.0 Hierarchia kategorii nazw w NELexicon 2.0 (2,4 mln nazw własnych): 102 kategoria, 3 poziomy Ręczne rzutowanie kategorii najniższego poziomu na wybrane synsety np. nam liv plant roślina 1 w niektórych przypadkach więcej niż jeden synset np. nam eve human aniversary rocznica 2, rocznica 1 Ręczne rzutowanie na pojęcia SUMO 80 ze 102 kategorii zrzutowanych np. nam pro model car SelfPoweredRoadVehicle Automatyczne rzutowanie nazw w oparciu o miarę powiązania znaczeniowego wydobytą z korpusu, pary wydobyte przez wzorce z tekstu oraz struktury Wikipedii za pomocą WordnetWeaver 30 / 33
Odniesienia do Wikipedii Ręcznie dodane powiązania do haseł Wikipedii synset hasło Wikipedii np. Polska 1 {##L http://pl.wikipedia.org/wiki/polska} Dodawane tylko wtedy, gdy jednostka leksykalna ze Słowosieci oznacza ten sam byt (np. zwierzę/roślinę etc.), które opisane jest w haśle Wikipedii, Wszystkie elementy synsetu mają te samo powiązanie jeżeli Wikipedia omawia jakiś takson, który określony jest liczbą mnogą (np. kręgowce), to nie można takiego hasła łączyć z jednostką, która jest wyrażona w liczbie pojedynczej (np. kręgowiec) Synsety połączone bliskoznacznością opatrujemy tym samym powiązaniem Łączna liczba powiązań: około 54 tys. 31 / 33
Podsumowanie Reguły wykorzystujące wyniki ręcznego rzutowania WordNet na SUMO oraz ręcznego rzutownania międzyjęzykowego pozwoliły na zbudowania efektywnych reguł rzutowania na SUMO Słowosieć stała się interfejsem pomiędzy zasobami wiedzy a językiem Powiązania pomiędzy NELexicon a Słowosiecią wymagają pogłębienia z poziomu kategorii do indywidualnych nazw System zasobów jest dalej rozszerzony przez powiązania do struktur walencyjnych (Walenty) oraz słownika wielowyrazowych jednostek leksykalnych 32 / 33
33 / 33