Graf pokrewieństw słów języka naturalnego — ku automatycznemu

Transkrypt

Graf pokrewieństw słów języka naturalnego — ku automatycznemu
Stefan Sokołowski
Instytut Informatyki Stosowanej PWSZ w Elblągu
[email protected]
Graf pokrewieństw słów języka naturalnego
— ku automatycznemu generowaniu ,,ontologii”
Streszczenie:
Przez ontologię rozumie się drzewiastą lub drzewopodobną hierarchię słów języka naturalnego pogrupowaną tematycznie. Takie ontologie potrzebne są na przykład do wyszukiwania tematycznego w dużej bazie wiedzy. Ontologie dla jakiejś dziedziny wiedzy są na ogół tworzone ręcznie przez specjalistów od tej dziedziny. Jest to praca żmudna i podatna na błędy oraz na subiektywizm.
Efektem działania algorytmu tu omawianego jest skierowany acykliczny graf pokrewieństw słów wygenerowany z analizy zbioru próbek tekstów w języku naturalnym. Konstrukcja grafu pokrewieństw opiera się na założeniu, że słowa wspólnie występujące w tych samych próbkach są ze sobą powiązane znaczeniowo.
Ten graf pełni funkcje ontologii.
1. O ONTOLOGIACH NIEFORMALNIE
Przez ontologię (patrz np. [1]) rozumie się drzewiastą lub drzewopodobną hierarchię słów języka naturalnego (ew. fragmentu języka naturalnego) pogrupowaną tematycznie. Takie ontologie potrzebne są na przykład do wyszukiwania tematycznego w dużej bazie wiedzy.
Wiodącym przykładem zastosowania ontologii, jaki należy mieć przed oczami czytając tą pracę, jest wyszukiwanie artykułów (prasowych, encyklopedycznych, witryn sieci i in.) zawartych w jakiejś dużej bazie (na przykład w całym Internecie) przez nieprzygotowanego informatycznie użytkownika, nieznającego szczegółów realizacyjnych tej bazy. Chodzi przy tym o wyszukiwanie ,,inteligentniejsze” niż szukanie za pomocą słów kluczowych dostarczające często tysięcy bezużytecznych trafień. Metody wyszukiwania powinny ,,rozumieć” pytanie i wykazywać ,,dobrą wolę” znalezienia tego, o co mogło użytkownikowi chodzić, zamiast innych artykułów przypadkowo używających podobnych słów w zupełnie innym sensie.
Klasyczna metoda ontologii wymaga wstępnego opracowania słownika terminów, które klient mógłby chcieć umieścić w zapytaniu, w najgorszym wypadku praktycznie wszystkich wyrazów i fraz języka naturalnego. Taki słownik powinien przypisywać słowom ich kategorie znaczeniowe. Przeszukiwanie bazy artykułów odbywa się nie wprost ze względu na użyte słowa tylko ze względu na kategorie znaczeniowe, do których te słowa nawiązują.
System kategorii znaczeniowych, czyli właśnie ontologia, ma postać drzewa prowadzącego od terminów ogólnych (w korzeniu) do coraz bardziej szczegółowych 1
(w liściach). Każde słowo języka zaopatrzone jest w spis dotyczących go kategorii znaczeniowych. Ontologia przypomina więc organizacyjnie tezaurusy. Rys. 1 przedstawia fragment jednego z nich, tezaurusa Rogeta (patrz [2]). Kategorie znaczeniowe zostały opracowane przez Rogeta i kilka przykładowych zostało dosłownie (w języku oryginału) przedstawione na rysunku. Uzupełnieniem drzewa jest w tezaurusie alfabetyczny indeks słów z odsyłaczami do odpowiednich kategorii znaczeniowych. Na przykład słowo square ma oznaczoną przynależność do kategorii 95.1 oraz 244.2.
Klasyczny tezaurus jest drzewem bardzo płytkim (6 poziomów, jak widać z Rys. 1) i szerokim. Tak postanowił Roget dla uproszczenia wyszukiwania w papierowej książce. W przypadku realizacji komputerowej można oczywiście budować ontologie dowolnie głębokie, co pozwala na piętrowe grupowanie pojęć. Na przykład komputerowy tezaurus, czyli ontologia, mógłby zawierać dłuższą ścieżkę drzewa przechodzącą przez kategorie:
. . .  figura  figura płaska  czworokąt  trapez  równoległobok  . . .
a słowa ,,romb” i ,,prostokąt” mogłyby wśród swoich kategorii znaczeniowych zawierać pojęcie ,,równoległobok”. Wobec tego artykuły o rombie byłyby uważane za dotyczące w pewnym stopniu również prostokąta.
Głównym problemem takich ontologii jest konieczność ich ręcznego tworzenia. Klasyfikacja wszystkich pojęć całego języka jest zadaniem na dziesiątki lat, po czym otrzymuje się produkt całkiem już przestarzały1. Przy tym jest to praca żmudna i podatna na błędy oraz na subiektywizm.
Efektem działania algorytmu prezentowanego w tej pracy jest graf pokrewieństw słów wygenerowany z analizy zbioru próbek tekstów (artykułów) w języku naturalnym. Jest on funkcjonalnie podobny do klasycznych ontologii, chociaż spełnia swoją rolę nieco gorzej od nich. Jednak wielką jego zaletą jest możliwość automatycznego wygenerowania.
Konstrukcja grafu pokrewieństw opiera się na założeniu, że słowa wspólnie występujące w tych samych próbkach są ze sobą powiązane znaczeniowo. Jest to skierowany graf acykliczny — struktura bardziej złożona niż zwykłe drzewo. To dlatego, że większość dziedzin wiedzy nie daje się sklasyfikować w prosty drzewiasty sposób. W dodatku czysto drzewiasta organizacja wiedzy wymagałaby od użytkownika prawidłowej odpowiedzi na każde pytanie z menu i prowadziłaby na manowce w przypadku udzielenia choćby jednej nieprawidłowej odpowiedzi.
Ten raport opisuje badania w toku — dodatkowe informacje o tych poszukiwaniach można znaleźć w raporcie [3] (a badania na temat pokrewny w [4]). Zostały już wykonane testy algorytmu na próbkach słów2, ale jeszcze nie wiadomo, jak przedstawiona metoda będzie się spisywać na naprawdę dużym materiale. Jednak z poznawczego punktu widzenia jest ciekawe już samo to, jak metody pochodzące z teorii grafów stosują się do badań nad semantyką języka naturalnego.
1
Pierwszy tezaurus Rogeta ukazał się w r. 1852, następna wersja rok później, kolejna w kolejnym roku... Słownik ten jest właściwie ciągle na nowo bez przerwy pisany przez różnych autorów.
2
Autorami tej metody są Stefan Sokołowski i Bogusław Jackowski. Eksperyment na sporym zbiorze danych przeprowadzili pod naszym kierunkiem studenci Uniwersytetu Gdańskiego, Piotr Chomiuk i Karol Kosk. Więcej o wnioskach z tego eksperymentu — patrz rozdz. 6.
2
Rys. 1. Fragment Tezaurusa Rogeta.
2. PROPOZYCJA ANTYMETRYCZNA
Celem tego raportu jest zaproponowanie sposobu tworzenia takiej drzewiastej (grafowej) ontologii nie przez żmudną głęboką analizę znaczeń poszczególnych słów tylko według automatycznej zasady.
Jako punkt wyjścia niech posłuży obserwacja, że kategorie znaczeniowe nie muszą się w żaden sposób nazywać. Na przykład kategoria TWO.III.2.244 na rys. 1 nie musi nazywać się Angularity — wystarczy, że wiemy, jakie ma podkategorie i jakim słowom 3
języka te kategorie są przypisane. Zresztą w tezaurusie Rogeta kategorie poziomu SUBHEAD nie mają już nazw i nie wynika z tego faktu nic złego. Kategorie znaczeniowe mogą być identyfikowane przez ścieżki od korzenia drzewa lub, alternatywnie, przez zbiory słów stojących w liściach w poddrzewie zaczynającym się od danej kategorii. Taki właśnie punkt widzenia będziemy odtąd przyjmować: kategorie znaczeniowe są zbiorami słów.
Zbiory te będziemy tak wybierać, żeby zminimalizować ,,odległości semantyczne” lub zmaksymalizować ,,stopień pokrewieństwa” między słowami w danym zbiorze. Wyobraźmy sobie pełny zasób słów języka jako przestrzeń zaopatrzoną w metrykę3 odzwierciedlającą bliskość znaczeniową słów — im bardziej słowa są swoimi synonimami, tym ich odległość wyznaczona metryką jest mniejsza. W takiej przestrzeni metrycznej identyfikujemy jako kategorie znaczeniowe zagęszczenia słów, czyli takie ich zbiory, wewnątrz których odległości semantyczne są niewielkie.
Z powodów czysto technicznych używać będziemy nie metryki, czyli odległości semantycznej, tylko raczej antymetryki, czyli stopnia pokrewieństwa semantycznego między słowami. Kategorie znaczeniowe będą zbiorami słów, wewnątrz których pokrewieństwo będzie wysokie.
Załóżmy, że mamy bazę złożoną z n artykułów; każdy z nich składa się ze słów pewnego języka L; przy tym każde słowo języka L występuje przynajmniej w jednym artykule. Analizując te artykuły, zapamiętujemy następujące liczby:
l
dla każdego słowa w należącego do języka L, liczbę A(w) artykułów, w których występuje słowo w; wiele wystąpień danego słowa w tym samym artykule liczymy za 1, bo interesuje nas ogólna liczba artykułów a nie wewnętrzna organizacja każdego z nich;
l
dla każdej pary (w, v) słów z języka L, liczbę C(w,v) artykułów, w których występuje zarówno w jak v.
Następnie usuwamy z rozważań wszystkie słowa występujące w zbyt wielu artykułach. Takie słowa to prawdopodobnie spójniki, przyimki albo inne nieposiadające własnego znaczenia ,,wypełniacze” zdań. Usuwamy też słowa występujące w zbyt małej liczbie artykułów, których konteksty znaczeniowe nie są wystarczająco sprecyzowane przez posiadane próbki. Odtąd będziemy więc zajmować się tylko słowami spełniającymi warunek
0 < Amin  A(w)  Amax < n (2.1)
dla pewnych stałych Amin i Amax, które należy dobrać eksperymentalnie.
Jest jasne, że C(w,v)  A(w) i C(w,v)  A(v). Wobec tego, ze względu na (2.1),
A(w) + A(v) – C(w,v) > 0 (2.2)
To pozwala sformułować następującą definicję:
3
Metryka to abstrakcyjny matematyczny odpowiednik odległości. Przestrzeniami zaopatrzonymi w metryki zajmuje się topologia metryczna.
4
Definicja 2.1:
Przez pokrewieństwo słów rozumieć będziemy wielkość
R  w,v  ≝
C  w,v 
(2.3)
A  w  +A  v  −C  w,v 
A więc pokrewieństwo dwóch słów wyrażone jest przez stosunek liczby próbek, w których oba słowa występują wspólnie, do liczby wszystkich próbek, w których któreś z nich występuje.
Lemat 2.2:
Niech W [odpowiednio: V] będzie zdarzeniem polegającym na znalezieniu artykułu zawierającego słowo w [odpowiednio: v]. Wtedy
R  w,v  =
P  W ∩V 
P  W ∪V 
gdzie P(W∩V) oznacza prawdopodobieństwo zajścia obu zdarzeń naraz a P(W∪V) oznacza prawdopodobieństwo zajścia któregoś ze zdarzeń.
Lemat 2.3:
Dla dowolnych słów w i v,
1. 0  R(w,v)  1,
2. jeśli w = v, to R(w,v) = 1.
Lemat 2.2 jest alternatywną definicją pokrewieństwa słów. Należy go stosować do badania własności tego pojęcia, jednak do dokonywania obliczeń na konkretnych liczbach lepiej nadaje się sama Def. 2.1.
Na podstawie Lematu 2.2 (lub bezpośrednio z Def. 2.1) pokrewieństwo dwóch słów nie występujących wspólnie w żadnym artykule wynosi 0. Natomiast z implikacji 2 w Lemacie 2.3 wynika, że każde słowo jest ze sobą samym spokrewnione w maksymalnym stopniu 1. Tej implikacji nie da się jednak odwrócić, ponieważ mogą istnieć pary różnych słów występujących dokładnie w tych samych artykułach z bazy.
3. SPÓJNOŚĆ ZNACZENIOWA ORAZ ZBIORY MAKSYMALNE
Wprowadźmy następującą miarę na zbiorach słów:
Definicja 3.1:
Niech X ⊆ L będzie pewnym zbiorem słów języka spełniających warunek (2.1). Przez spójność znaczeniową zbioru X rozumiemy wielkość:
(X) ≝ infw,v∈X R(w,v)
Spójność znaczeniowa zbioru X jest więc najniższym możliwym pokrewieństwem słów 5
z tego zbioru.
Lemat 3.2:
Niech X,Y ⊆ L będą jakimiś zbiorami słów. Wtedy:
1. jeśli X jest zbiorem jednoelementowym (czyli złożonym z pojedynczego słowa), to (X) = 1,
2. jeśli X ⊆ Y, to (X)(Y).
Punkt 2 Lematu 3.2 to zasada antymonotoniczności: dodawanie nowych słów do zbioru zmniejsza jego spójność znaczeniową. Jednak żadna z implikacji w Lemacie 3.2 nie daje się odwrócić. W szczególności dodanie nowego słowa do zbioru może w pewnych sytuacjach pozostawić jego spójność znaczeniową bez zmiany.
Szczególnie interesują nas zbiory maksymalne w sensie spójności znaczeniowej; czyli takie, których spójność znaczeniowa zmniejsza się w wyniku dodania dowolnego nowego słowa:
Definicja 3.3:
Niepusty zbiór X ⊆ L słów spełniających warunek (2.1) nazwiemy maksymalnym znaczeniowo jeśli (X∪{w}) < (X) dla dowolnego w∉X. Przez zbiór r­maksymalny znaczeniowo rozumiemy taki zbiór maksymalny X ⊆ L, że (X) = r .
Oczywiście każdy zbiór maksymalny jest r­maksymalny dla pewnego r ∈ [0 . . 1].
Lemat 3.4:
l Pełny zbiór L jest 0­maksymalny znaczeniowo.
l O ile język L jest skończony (czyli zawsze w praktycznych zastosowaniach), to istnieje taka ,,atomowa” wielkość rzeczywista  > 0, że spójności znaczeniowe zawierających się zbiorów maksymalnych muszą się różnić co najmniej o :
jeśli X ⊆ Y są zbiorami maksymalnymi znaczeniowo, to
albo X = Y,
albo (X)­(Y) >  .
W dalszej części pracy będziemy się zajmować głównie zbiorami maksymalnymi znaczeniowo. Załóżmy w szczególności, że zbiory X ⊆ L oraz Y ⊆ L takie są. Wtedy:
Definicja 3.5:
Zbiór X nazywamy następnikiem znaczeniowym zbioru Y, jeśli
l X ⊆ Y , oraz
l nie istnieje maksymalny znaczeniowo zbiór Z taki, że X ⊆ Z ⊆ Y .
Zbiory maksymalne zostaną użyte niżej do konstrukcji grafu pokrewieństwa, pełniącego w przedstawianej propozycji rolę ontologii.
6
4. GRAF POKREWIEŃSTW CZYLI ONTOLOGIA
Definicja 4.1:
Graf pokrewieństw słów to skierowany graf, w którym:
l
l
wierzchołkami są maksymalne znaczeniowo zbiory słów języka L spełniających warunek (2.1);
dla dowolnych wierzchołków X i Y, prowadzimy krawędź skierowaną (strzałkę) z X do Y wtedy i tylko wtedy gdy zbiór Y jest następnikiem znaczeniowym zbioru X.
Dla lepszego zrozumienia konstrukcji grafu pokrewieństw przypatrzmy się następującemu bardzo uproszczonemu przykładowi. Załóżmy, że n = 5, to znaczy nasza baza składa się z pięciu artykułów, zawierających następujące słowa z języka L:
l
l
l
l
l
art. o geometrii: trójkąt, równoboczny, koło;
art. o rodzinie: trójkąt, małżeński, żona, przyjaciółka;
art. dla dzieci: lisek, koło, drogi;
art. dla zakochanych: drogi, kochany;
art. o komunikacji: drogi, szosy.
Proszę zwrócić uwagę na homonimy, czyli słowa brzmiące tak samo ale mające inne znaczenie, takie jak ,,drogi” w artykule dla zakochanych i ,,drogi” w artykule o komunikacji. Chcielibyśmy, żeby algorytm zakwalifikował je do różnych kategorii znaczeniowych mimo, że nie poinformujemy go zawczasu o znaczeniach słów z języka L.
drogi
kochany
koło
lisek
małżeński
przyjaciółka
równoboczny
szosy
A(w) w trójkąt
v
żona
Dla wymienionych wyżej artykułów wartości funkcji pokrewieństwa R są jak w poniższej tabelce (por. (2.3)):
3
drogi
0
0 1/3 0
0
0 1/3 1/4 1/3 1
1
kochany
0
0
0
0
2
koło
0 1/3 0 1/2 0
0 1/2 1
1
lisek
0
1
0
0
0
0
0
małżeński
1 1/2 0
0
1
1
1
przyjaciółka
1 1/2 0
0
1
1
równoboczny 0 1/2 0
1
1
szosy
2
trójkąt
1
żona
0
0
0
0
1
1/2 1
R(w,v)
1
7
0
1
0
1
Stąd wynika poniższy spis wszystkich maksymalnych znaczeniowo zbiorów słów uporządkowany według ich spójności znaczeniowej:
l (X) = 1 : 8 zbiorów słów:
{małżeński, przyjaciółka, żona}, {trójkąt}, {równoboczny},
{koło}, {lisek}, {kochany}, {drogi}, {szosy}.
l
(X) = 1/2 : 4 zbiory słów:
{małżeński, przyjaciółka, trójkąt, żona}, {równoboczny, trójkąt},
{koło, równoboczny}, {koło, lisek}.
l
(X) = 1/3 : 4 zbiory słów:
{koło, równoboczny, trójkąt}, {drogi, lisek},
{drogi, kochany}, {drogi, szosy}.
l
(X) = 1/4 : 1 zbiór słów:
{drogi, koło, lisek}.
l
(X) = 0 : 1 zbiór słów:
cały L (por. Lemat 3.4).
Wynikający stąd graf pokrewieństw przedstawiony jest na rys. 2. Czytelnik zechce zwrócić uwagę, że kontekst (przedstawione pięć artykułów) jest zbyt mały, żeby algorytm był w stanie rozróżnić między słowami ,,małżeński”, ,,przyjaciółka” i ,,żona”. Skoro występują one w dokładnie tych samych artykułach, są z punktu widzenia algorytmu synonimami. Jednak algorytm prawidłowo przypisał po dwie różne kategorie znaczeniowe słowom ,,trójkąt” (sprawy rodzinne i geometria) oraz ,,koło” (geometria i teksty dla dzieci). Artefaktem metody jest pojawienie się dwóch kategorii geometrycznych: {trójkąt, równoboczny}, oraz {koło, równoboczny}.
Należy mieć nadzieję, że w wyniku analizy większej liczby próbek graf pokrewieństw będzie lepiej klasyfikował zakresy znaczeniowe słów. Oczywiście nie bierze on pod uwagę żadnej ,,głębokiej semantyki” tych słów a tylko konteksty, w których się one pojawiają, ale... czy my, ludzie, poznajemy język ojczysty w inny sposób?
5. SZYBKIE WYZNACZANIE ZBIORÓW MAKSYMALNYCH
W jaki sposób wyznaczyć wszystkie zbiory maksymalne znaczeniowo?
Naiwne rozwiązanie, polegające na przejrzeniu wszystkich zbiorów słów języka L i sprawdzeniu, które z nich są maksymalne, jest oczywiście niewykonalne dla problemów choćby trochę większych niż całkiem zabawkowe. Wyliczenie spójności znaczeniowej zbioru słów o p elementach sprowadza się do p2­krotnego policzenia funkcji pokrewieństwa R (por. rozdz. 2). Jeśli k jest liczbą słów w języku L, to należy przejrzeć 2k­1 podzbiorów L i dla każdego z nich sprawdzić, czy dołączenie któregoś z k słów języka nie zmniejsza spójności znaczeniowej. Wymaga to więc wyliczenia spójności znaczeniowej około k×2k zbiorów słów, czyli liczba operacji do wykonania jest co najmniej rzędu k3×2k. To jest zdecydowanie zbyt dużo do wszelkich praktycznych celów.
Poniżej przedstawiona jest oszczędniejsza metoda wyliczenia wszystkich maksymalnych zbiorów słów. Opiera się ona na szybkim algorytmie liczenia klik
8
Rys. 2. Graf pokrewieństw słów dla przykładowego zbioru artykułów.
maksymalnych w grafach nieskierowanych (patrz np. [5] – jednak poniżej stosowana terminologia trochę się różni od [5]).
Definicja 5.1:
Przez klikę w grafie nieskierowanym rozumie się taki zbiór wierzchołków tego grafu, w którym każdy połączony jest krawędzią z każdym innym. Przez klikę maksymalną rozumie się taką klikę, która nie jest właściwym podzbiorem żadnej kliki.
W [5] podany jest algorytm wyszukujący wszystkie kliki maksymalne w danym grafie nieskierowanym. Okazuje się, że ten algorytm daje się zastosować do znalezienia wszystkich zbiorów r­maksymalnych, dla dowolnego r ∈ [0 . . 1].
Definicja 5.2:
Dla dowolnego r ∈ [0 . . 1] niech Gr będzie grafem nieskierowanym, w którym
l
l
wierzchołkami są wszystkie słowa języka L;
dwa słowa w i v są połączone krawędzią wtedy i tylko wtedy gdy R(w,v)  r.
Tak określony graf Gr nazywamy grafem r­warstwy.
Lemat 5.3:
Dla dowolnego r takiego, że r­warstwa jest niepusta, maksymalne kliki w grafie Gr to są dokładnie r­maksymalne zbiory słów.
Wobec tego w celu skonstruowania grafu pokrewieństw (ontologii) należy:
l
l
dla wszystkich takich r ∈ [0 . . 1], że istnieją r­maksymalne zbiory słów, skonstruować grafy Gr,
w każdym z nich znaleźć wszystkie maksymalne kliki i zrobić z nich wierzchołki 9
l
grafu pokrewieństw,
dla dowolnej kliki X grafu Gr i dowolnej kliki Y grafu Gs , gdzie r < s, poprowadzić strzałkę od X do Y, jeśli Y jest następnikiem X.
Ustalenie skończonego zbioru takich wartości r, dla których istnieją zbiory r­
maksymalne, nie stanowi problemu. Pesymistyczna złożoność czasowa algorytmu wyznaczającego maksymalne kliki jest wprawdzie wykładnicza względem rozmiaru grafu, a średnia złożoność czasowa jest trudna do oszacowania, jednak testy przeprowadzone na dosyć przypadkowych danych (patrz rozdz. 6 niżej) wykazały jego praktyczną stosowalność. Bierze się to stąd, że najgorszy teoretycznie możliwy przypadek zdarza się rzadko.
6. DOŚWIADCZENIA, WNIOSKI I PERSPEKTYWY
Metoda opisana w tym raporcie została sprawdzona na dosyć dużym zbiorze artykułów — na kilku rocznikach czasopisma politycznego. Algorytm zaprogramowany bez przesadnej troski o mikrooptymalizacje prawidłowo utworzył graf pokrewieństw w kilkanaście godzin pracy komputera domowego. Otrzymana w ten sposób ontologia mogłaby służyć np. do wyszukiwania słów bliskoznacznych. W grafie takim jak na rys. 2 możemy sprawdzić, dla danej pary słów (w, v), na jakim poziomie ścieżka od korzenia do liścia zawierającego słowo w spotyka się ze ścieżką od korzenia do liścia zawierającego słowo v. Im bliżej liści to się dzieje, tym bliżej tematycznie związane ze sobą są te słowa.
Jednak wyszły na jaw pewne problemy, z których nie zdawaliśmy sobie sprawy przed przystąpieniem do eksperymentów. Najtrudniejszym było mnożenie się zbiorów r­
maksymalnych dla małych r, a więc blisko korzenia grafu (czyli blisko kategorii znaczeniowej ,,WSZYSTKO”). To był artefakt metody, biorący się stąd, że w dużym grafie nieskierowanym może istnieć wiele klik maksymalnych różniących się tylko jednym wierzchołkiem. Taki przykład przedstawia schematycznie Rys. 3: abc0, abc1, abc2, ... ,abcm są maksymalnymi klikami. W terminach ,,ontologicznych” odpowiadało to sztucznemu mnożeniu się kategorii znaczeniowych prawie się od siebie nieróżniących.
Radą okazało się ręczne poprawienie algorytmu tak, żeby nie wyznaczał zbiorów r­
maksymalnych dla bardzo małych r; graniczną wartość r, dla jakiej jeszcze warto wyznaczać zbiory maksymalne, ustaliliśmy eksperymentalnie i niestety zależy ona każdorazowo od posiadanych danych.
Pewną trudność stanowi fleksja. W naszym badaniu posiłkowaliśmy się programem sprowadzającym słowa języka polskiego do form podstawowych (dla rzeczowników — mianownik liczby pojedynczej; dla czasowników — bezokolicznik; itp.). Ale ten program jest własnością spółki komercyjnej4 i nie może być szerzej udostępniany za darmo.
Jeśli pozostawić słowa tak, jak wystąpiły w tekście, bez sprowadzenia do formy podstawowej, to może się zdarzyć, że ontologia przypisze różne znaczenia różnym 4
TiP Sp. z o.o., Katowice.
10
przypadkom gramatycznym. Na przykład słowo ,,czara” będzie znaczeniowo blisko
Rys. 3. Wiele klik maksymalnych z dużą częścią wspólną ab.
słowa ,,miska”; a jego dopełniacz liczby mnogiej ,,czar” będzie blisko słowa ,,urok”.
Z drugiej strony sprowadzanie do form podstawowych bezpowrotnie gubi informację. Na przykład zdanie ,,nie śmiałem podnieść śmiecia” zostanie sprowadzone do ,,nie śmieć podnieść śmieć” i różnica znaczeniowa między dwoma ,,śmieciami” stanie się już nie do odtworzenia.
Można przypuszczać, że prezentowane podejście będzie lepiej klasyfikowało słowa w oparciu o pewne zestawy artykułów a gorzej w oparciu o inne. Jednak dotąd nie wiadomo, jak dobierać ,,dobre” zestawy.
Podana definicja spójności znaczeniowej  zbioru słów (por. Def. 3.1), opierająca się na funkcji pokrewieństwa R, nie jest idealna. Sprawdzaliśmy inną podobną definicję i jej własności klasyfikacyjne wyglądały na lepsze (jednak nie zostały starannie przebadane). Ale do niej nie dał się zastosować algorytm szybkiego wyszukiwania maksymalnych klik, dlatego czas działania opartego na nim programu był nieakceptowalnie wysoki.
Bez wątpienia pomysł tu przedstawiony będzie jeszcze wymagał wielu badań, zanim stanie się technologią.
LITERATURA
1. Noy N.F., McGuiness D.L. What is an ontology and why we need it. Ontology Development 1: A guide to Creating Your First Ontology.
http://www.ksl.stanford.edu/people/dlm/papers/ontology101/ontology101­noy­mcguiness.html
2. Kirkpatrick B. (ed.) Roget's Thesaurus of English Words and Phrases. Penguin Books, London, England 1987.
3. Sokołowski S., Jackowski B., Janota E., Fuglewicz P. Towards statistically­based semantics of linguistic resources. Workshop on International Proofing Tools & Language Technologies 2004. Patras, Greece, 1­2 July 2004.
ftp://ftp.ipipan.gda.pl/stefan/reports/75­ontol­metr.ps.gz
11
4. Sokołowski S., Jackowski B., Fuglewicz P. Automatic creation of ontology from UDC library index cards. Unpublished, October 2005.
ftp://ftp.ipipan.gda.pl/stefan/reports/80­UDC­ontology.ps.gz
5. Rheingold E.M., Nievergelt J., Deo N. Algorytmy kombinatoryczne. Państwowe Wydawnictwo Naukowe, Warszawa 1985.
Kinship graph for words from a natural language
— towards an automatic generation of an “ontology”
Abstract:
By ontology is meant a tree­like hierarchy of words coming from a natural language, grouped by the words' meaning. Such ontologies are needed, for instance, for semantic searches in large knowledge bases. Ontologies for particular fields of knowledge are usually created by hand by experts in these fields. This is a tedious work, susceptible to errors and to partiality.
The algorithm discussed in this report generates a directed acyclic word kinship graph directly from an analysis of a set of natural language text samples. The construction of the graph is based on the premise that the words co­occurring in same samples are semantically related.
The constructed graph plays the rôle of ontology.
12