rozdział 2 modele pamięci semantycznej

42
Uniwersytet Mikolaja Kopernika Wydzial Matematyki i Informatyki Michal Gawarkiewicz Nr albumu: 201182 Praca magisterska na kierunku informatyka Tworzenie pamięci semantycznej w wąskich dziedzinach na podstawie dostępnej elektronicznie informacji Opiekun pracy dyplomowej prof. dr hab. Wlodzislaw Duch Katedra Informatyki Stosowanej Toruń 2010 Pracę przyjmuję i akceptuję ...................... data i podpis opiekuna pracy Potwierdzam zlożenie pracy dyplomowej ..................................... data i podpis pracownika dziekanatu

Upload: dinhdien

Post on 11-Jan-2017

223 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Rozdział 2 Modele pamięci semantycznej

Uniwersytet Mikołaja KopernikaWydział Matematyki i Informatyki

Michał GawarkiewiczNr albumu: 201182

Praca magisterskana kierunku informatyka

Tworzenie pamięci semantycznej w wąskichdziedzinach na podstawie dostępnej

elektronicznie informacji

Opiekun pracy dyplomowejprof. dr hab. Włodzisław DuchKatedra Informatyki Stosowanej

Toruń 2010

Pracę przyjmuję i akceptuję

. . . . . . . . . . . . . . . . . . . . . .data i podpis opiekuna pracy

Potwierdzam złożenie pracy dyplomowej

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .data i podpis pracownika dziekanatu

Page 2: Rozdział 2 Modele pamięci semantycznej

Spis treści

1 Systemy gromadzenia informacji 31.1 Reprezentacja logiczna . . . . . . . . . . . . . . . . . . . . . . 31.2 Ontologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Pamięć semantyczna . . . . . . . . . . . . . . . . . . . . . . . 5

2 Modele pamięci semantycznej 72.1 Modele sieciowe . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Modele oparte o cechy . . . . . . . . . . . . . . . . . . . . . . 82.3 Modele skojarzeniowe . . . . . . . . . . . . . . . . . . . . . . . 92.4 Modele statystyczne . . . . . . . . . . . . . . . . . . . . . . . 10

3 Wydobywanie informacji 123.1 Przetwarzanie otwartego tekstu . . . . . . . . . . . . . . . . . 12

3.1.1 Korpusy . . . . . . . . . . . . . . . . . . . . . . . . . . 133.1.2 Podział tekstu na słowa i zdania . . . . . . . . . . . . . 133.1.3 Korekta literówek . . . . . . . . . . . . . . . . . . . . . 153.1.4 Oznaczanie części mowy . . . . . . . . . . . . . . . . . 163.1.5 Ekstrakcja rdzeni . . . . . . . . . . . . . . . . . . . . . 243.1.6 Aktywne szukanie . . . . . . . . . . . . . . . . . . . . . 24

3.2 Ustrukturalizowane zasoby językowe . . . . . . . . . . . . . . . 263.2.1 WordNet . . . . . . . . . . . . . . . . . . . . . . . . . . 263.2.2 MindNet . . . . . . . . . . . . . . . . . . . . . . . . . . 283.2.3 ConceptNet . . . . . . . . . . . . . . . . . . . . . . . . 28

4 Wykonane doświadczenia 314.1 Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1 Wykorzystanie słownika WordNet . . . . . . . . . . . . 354.1.2 Wyniki . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2 Modele pamięci . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Page 3: Rozdział 2 Modele pamięci semantycznej

Wstęp

Celem niniejszej pracy jest nakreślenie możliwych metod tworzenia pa-mięci semantycznej. Pierwszy rozdział zawiera przedstawienie kilku wybra-nych form reprezentacji wiedzy wraz z ich omówieniem, w tym pamięci se-mantycznej. Drugi rozdział bardziej szczegółowo omawia teoretyczne aspektygłównych modeli pamięci semantycznej. W trzecim rozdziale przedstawionezostają metody automatycznego pozyskiwania danych, którymi później moż-na wypełnić pamięć semantyczną. Nacisk zostaje położony na pozyskiwaniewiedzy z zasobów tekstowych, co wydaje się być niezbędne przy tworzeniuobszernej bazy wiedzy jaką jest pamięć semantyczna. W dalszej części przed-stawione są dodatkowe zasoby leksykalno-semantyczne mogące być stosunko-wo niewielkim kosztem wykorzystane do uzupełnienia pamięci semantycznej.Ostatni rozdział zawiera informacje dotyczące praktycznej budowy parserajęzyka naturalnego zrealizowanego jako część pracy magisterskiej oraz po-równanie niektórych modeli pamięci semantycznej stworzone na podstawiewłasnych doświadczeń.

Page 4: Rozdział 2 Modele pamięci semantycznej

Rozdział 1

Systemy gromadzenia iwyszukiwania informacji

1.1 Reprezentacja logiczna

Logika matematyczna, jako dziedzina matematyki, wyodrębniła się naprzełomie XIX i XX wieku, jednak jej elementy znane były już w staro-żytności. Notacja logiczna może służyć także do reprezentacji wiedzy orazwnioskowania. Zdania zapisuje się przy pomocy operatorów:

• ¬ - negacja

• ∨ - alternatywa

• ∧ - koniunkcja

• ⇒ - implikacja,

które stosuje się do zdań oraz pojedynczych termów, oraz kwantyfikatorówstosowanych do zdań:

• ∀ - dla każdego

• ∃ - istnieje

Przy pomocy reprezentacji logicznej można wnioskować na kilka sposobów.Wiedzę zapisuje się za pomocą predykatów, których argumentami są opisy-wane obiekty (zwierzęta, przedmioty, ludzie), na przykład szczeka(jamnik),większy od(x,y), is a(rottweiler, pies obronny) (jest rodzajem, członkiem lubpodklasą). Predykaty można łączyć kwantyfikatorami oraz operatorami lo-gicznymi, na przykład: ∃x potrafi-pływać(x) ⇒ ptak(x), co można odczytać

Page 5: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 1. SYSTEMY GROMADZENIA INFORMACJI 4

jako istnieje ptak, który potrafi pływać. Wnioskowanie odbywa się poprzezodkrywanie nowych faktów z już istniejących, na przykład (∀x pingwin(x)⇒ ptak(x)) ∧ (∀x pingwin(x)⇒ potrafi-pływać(x))⇒ (∃x potrafi-pływać(x)⇒ ptak(x)). Reguły wnioskowania nie zależą od konkretnej wiedzy, z praw-dziwych zdań można wnioskować jedynie prawdziwe fakty. Wszystkie faktyw reprezentacji logicznej są stwierdzeniami logicznymi, część epistemologicz-na jest odseparowana od części dedukcyjnej. Wadami takiej reprezentacji sązłożoność kombinatoryczna (dla n zmiennych istnieje 2n kombinacji), dosyćmała efektywność wnioskowania oraz problem z przedstawieniem niektórychfaktów za pomocą takiej reprezentacji.

1.2 Ontologie

Pojęcie ontologii wywodzi się z gałęzi filozofii zwanej metafizyką, któ-ra zajmuje się opisywaniem rzeczywistości takiej jaka ona jest, na różnychpoziomach atomizacji. W celu zapewnienia dokładności opisu wiedzy stosujesię hierarchizację oraz kategoryzację pojęć. Hierarchizacja jest usytuowaniempojęcia w pewnej strukturze, co umożliwia dziedziczenie cech po pojęciachnadrzędnych, zapewniając również ekonomię kognitywną. Kategoryzacja jestprzypisaniem pojęcia do grupy pojęć podobnych, mających cechy wspólne,wyróżniające klasę pojęć spośród innych.

W informatyce ontologia oznacza formalny sposób reprezentacji wiedzypoprzez zdefiniowanie pojęć w pewnej dziedzinie, ich właściwości oraz rela-cji pomiędzy nimi [11], [29]. Zajmuje się opisywaniem pewnego fragmenturzeczywistości. W założeniu ontologia powinna możliwie dokładnie określaćdefiniowaną dziedzinę. Ontologie wykorzystywane są w sztucznej inteligencji,gdzie uważane są za klucz do budowania potężnych systemów, mogą równieżstanowić pewien dobrze określony punkt odniesienia dla stron przekazu, bę-dąc swego rodzaju metajęzykiem.

Praktyczna realizacja ontologii polega na zapisaniu wiedzy w postaci drze-wa, gdzie w wierzchołkach zapisuje się pojęcia, a krawędzie opisują typ relacji.W korzeniu drzewa zapisuje się pojęcie najbardziej ogólne, właściwe dla opi-sywanej dziedziny wiedzy, a schodząc stopniowo w dół zapisuje się pojęciao większym poziomie szczegółowości, przy zachowaniu zasady, że wierzcho-łek nadrzędny zawsze jest uogólnieniem podczepionych do niego wierzchoł-ków podrzędnych. W niektórych realizacjach dopuszcza się również możliwośćposiadania dwóch lub więcej wierzchołków nadrzędnych (na przykład zegarmoże być jednocześnie zabytkiem oraz przedmiotem odmierzającym czas),co zamiast drzew wymusza wykorzystanie do zapisu struktury wiedzy gra-fów skierowanych bez cykli. Wyszukiwanie informacji w ontologii odbywa się

Page 6: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 1. SYSTEMY GROMADZENIA INFORMACJI 5

poprzez zbieranie cech z wierzchołków począwszy od pojęcia wyjściowego,poprzez pojęcia bardziej ogólne aż do wierzchołka drzewa.

1.3 Pamięć semantyczna

Pojęcie pamięci semantycznej określa system pozwalający zapamiętywaćznaczenia pojęć, odczytywać je oraz dzięki temu prowadzić pewnego rodzajurozumowanie. Pamięć semantyczna poprzez proces ciągłej nauki cały czas sięzmienia rozbudowując się o nowe pojęcia oraz doświadczenia, uzupełniającposiadany obraz zmieniającego się świata. Wiedza zgromadzona w pamięcisemantycznej jest niezależna od miejsca czy czasu, w którym została zdobyta.

Do budowania pamięci semantycznej w postaci systemu komputerowe-go z powodzeniem wykorzystywane są ontologie, wspomagane słownikami,encyklopediami oraz nieustrukturyzowanymi zasobami tekstowymi [30].

U człowieka pamięć semantyczna wraz z pamięcią epizodyczną wchodząw skład pamięci deklaratywnej, która jest jednym z dwóch głównych rodza-jów pamięci. Pamięcią przeciwną deklaratywnej jest pamięć proceduralna [33].Pamięć semantyczna odnosi się do ogólnych faktów i znaczeń, które są jed-nakowe u wszystkich ludzi, podczas gdy pamięć epizodyczna odnosi się dokonkretnych osobistych doświadczeń.

W kognitywistyce istnieją dwie główne teorie dotyczące rozmieszczeniapamięci semantycznej w mózgu. Pierwsza z nich zakłada, że pamięć seman-tyczna ulokowana jest w tych samych częściach mózgu, które odpowiadająza pamięć epizodyczną, tj. w przyśrodkowych płatach skroniowych i w hi-pokampie, który miałby odpowiadać za kodowanie wspomnień. Inny warianttej teorii do procesu kodowania, oprócz hipokampa wprowadza także koręśródwęchową oraz korę przynosową. Ludzie z amnezją, mający uszkodzonyhipokamp, ale ciągle częściowo sprawne kory współdziałające z hipokampem,mają w pewnym stopniu nienaruszoną pamięć semantyczną przy całkowitymbraku pamięci epizodycznej. To wyraźnie sugeruje, że kodowanie pamięcisemantycznej nie odbywa się w hipokampie [35]. Druga teoria głosi, że hi-pokamp odpowiedzialny jest jedynie za kodowanie pamięci epizodycznej ipostrzeganie przestrzenne. Pamięć semantyczna ulokowana jest w korze mó-zgowej albo na obszarze całego mózgu, co oznaczałoby na przykład, że zarozpoznanie obiektu po odgłosach odpowiadałaby kora słuchowa, a za wzro-kową percepcję kora wzrokowa.

Wyszukiwanie i przetwarzanie informacji w pamięciach semantycznychodbywa się z reguły poprzez aktywację jednego lub wielu pojęć z uwzględ-nieniem kontekstu, w którym występują, a następnie rozprzestrzenianiu akty-wacji na następne, powiązane pojęcia. Rozprzestrzenianie aktywacji odbywa

Page 7: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 1. SYSTEMY GROMADZENIA INFORMACJI 6

się w sposób podobny do rozprzestrzeniania pobudzenia w sieciach neuro-nowych. Dokładne omówienie poszczególnych modeli pamięci semantycznejzawarte jest w rozdziale 2.

Page 8: Rozdział 2 Modele pamięci semantycznej

Rozdział 2

Modele pamięci semantycznej

Pamięć semantyczna, w odróżnieniu od pamięci epizodycznej, nie prze-chowuje informacji gdzie oraz w jakich okolicznościach zostało nabyte danedoświadczenie. Kompletna teoria modelu pamięci semantycznej powinna de-finiować nie tylko samą strukturę reprezentacji wiedzy, ale również metodęjej uzupełniania oraz ekstrakcji nowych faktów z doświadczeń.

2.1 Modele sieciowe

Jedną z grup modeli pamięci semantycznej są modele oparte o sieci po-wiązań między konceptami, słowami oraz cechami. Te sieci reprezentuje sięprzy pomocy grafów, w których wierzchołki określają obiekty oraz cechy jeopisujące, a krawędzie, skierowane bądź nieskierowane - zależnie od modelusieci, definiują relację między dwoma wierzchołkami. Krawędzie dodatkowomogą mieć przypisaną wagę określającą stopień istotności danej relacji.

Jednym z modeli sieciowej reprezentacji pamięci semantycznej jest Te-achable Language Comprehender (TLC) [7]. W modelu tym wierzchołkiemgrafu było słowo reprezentujące pojęcie, do którego dowiązane były cechyje określające, zarówno pozytywne (jest, może, potrafi) jak i negatywne (niejest, nie może, nie potrafi). Pojęcie mogło być również połączone z innymipojęciami - hiponimami1 oraz hiperonimami2.

TLC, poprzez określanie relacji nadrzędności oraz podrzędności pojęć,wprowadza hierarchiczną organizację wiedzy. Dzięki temu możliwe jest zapi-sywanie właściwości opisywanych obiektów przy zachowaniu ekonomii kogni-

1hiponim - pojęcie bardziej szczegółowe pod względem semantycznym; przykłademhiponimu dla pojęcia ptak jest pingwin2hiperonim - pojęcie o znaczeniu ogólnym, nadrzędnym w stosunku do innych; przy-

kładem hiperonimu dla pojęcia pingwin jest ptak

Page 9: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 2. MODELE PAMIĘCI SEMANTYCZNEJ 8

tywnej. Objawia się to tym, że cechy występujące w wielu pojęciach szcze-gółowych mogą być zapisywane wyżej w hierarchii, na przykład cecha potrafilatać występująca u kanarka, orła, gołębia i wielu innych ptaków może byćzapisana przy pojęciu dla nich nadrzędnym, tzn. przy pojęciu ptak. W wypad-ku, kiedy do sieci trafia informacja, że istnieje pojęcie posiadające sprzecznecechy ze swoim hiperonimem (na przykład pingwin, który nie potrafi latać)to albo cecha potrafi latać zostaje przeniesiona do każdego z elementów znaj-dujących się w hierarchii pod pojęciem ptak, albo do pojęcia ptak może zostaćdowiązane pojęcie pingwin z explicite przypisaną mu cechą nie potrafi latać.

Wnioskowanie w TLC jest rodzajem rozprzestrzeniającej się aktywacji[6], tzn. jeśli jakieś pojęcie zostanie pobudzone, to aktywacja rozprzestrzeniasię do pojęć z nim połączonych tak długo aż wygaśnie w wyniku zbyt du-żej odległości od początkowego pojęcia, albo gdy natrafi na pojęcie będąceodpowiedzią na zadane pytanie.

Model ten potrafi szybko odnaleźć odpowiedź na proste pytania, na przy-kład czy kanarek potrafi latać?, ale nie wyjaśnia w jaki sposób człowiek potrafiszybko odpowiedzieć na proste pytanie, dla którego odpowiedź jest przecząca,na przykład czy kanarek jest rakietą?, gdyż w tym modelu pojęcia kanarek irakieta są daleko od siebie, co wyklucza odpowiedź na to pytanie w krótkimczasie [7].

2.2 Modele oparte o cechy

Kolejna idea reprezentacji pamięci semantycznych polega na opisywaniuklas oraz należących do nich pojęć poprzez zbiory cech. Każde pojęcie możebyć opisane poprzez inny zbiór cech, zarówno specyficznych tylko dla danegopojęcia, jak i odnoszących się również do całej klasy lub innych, podobnychpojęć. W związku z tym relacje pomiędzy dwoma pojęciami nie mogą byćwprost odczytane, ale w miarę potrzeby możliwe jest ich policzenie przywykorzystaniu na przykład miary cosinusowej.

Miara cosinusowa pozwala określać stopień podobieństwa dwóch wekto-rów cech A i B określających stopnie ważności cech porównywanych obiek-tów:

(2.1) stopień podobieństwa = cos(θ) =A ·B‖A‖ ‖B‖

Wynik równy −1 sygnalizuje, że pojęcia zadane przez A i B mają przeciwneznaczenia, wartość 1 wskazuje na identyczność pojęć, zaś wartość równa 0zwykle oznacza brak zależności obu pojęć. Wartości pośrednie między 0 i 1oznaczają częściowe podobieństwo, a pomiędzy 0 i −1 częściową sprzeczność.

Page 10: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 2. MODELE PAMIĘCI SEMANTYCZNEJ 9

Klasy w takim modelu pamięci semantycznej można wyróżnić poprzez li-niowe kombinacje typowych dla nich cech. Przynależność do konkretnej klasywyznacza się poprzez zbiór reguł logicznych dla kombinacji cech. Dopuszczasię także istnienie rozmytych klas [23], dla których prawdopodobieństwo przy-należności określa się poprzez oszacowanie podobieństwa obiektu z zestawemcech typowych dla danej klasy [24].

2.3 Modele skojarzeniowe

Skojarzenie, czyli relacja pomiędzy dwoma pojęciami, jest jednym z pod-stawowych pojęć w psychologii, a skojarzenie pomiędzy pojęciami na różnychpoziomach szczegółowości oraz sposób ich reprezentacji są istotne dla teoriimodeli pamięci. Zbiór skojarzeń wewnątrz grupy pojęć jest równoznacznypowiązaniom między pojęciami w sieci, w związku z czym modele skojarze-niowe mogą być traktowane jako podklasa modeli sieciowych (rozdział 2.1),jednak Raaijmakers i Schiffrin wyraźnie wydzielili tę klasę w [27]. Skojarze-nia N pojęć reprezentuje się w postaci macierzy N × N , która jest odpo-wiednikiem reprezentacji sieci (grafu) w postaci macierzy sąsiedztwa. Każdyelement macierzy określa stopień powiązania pojęć określonych przez wierszoraz kolumnę.

Uczenie w takim modelu oparte jest na regule Hebba, tzn. kiedy dwa poję-cia są jednocześnie aktywne to wartość określająca stopień powiązania tychpojęć rośnie, co zwiększa prawdopodobieństwo aktywowania w przyszłościjednego pojęcia, jeśli drugie będzie aktywne.

Przykładem realizacji modelu opartego na skojarzeniach jest Search ofAssociative Memory (SAM) [27]. Początkowo ta realizacja miała modelowaćpamięć epizodyczną, ale okazało się, że metody w niej wykorzystane są wy-starczające również do modelowania pewnych cech pamięci semantycznej.Podczas jednoczesnej aktywacji dwóch pojęć stopień powiązania między ni-mi rośnie, co powoduje powstawanie silnych skojarzeń pomiędzy pojęciamiwystępującymi często w tym samym kontekście. Dodatkowo w SAM każdepojęcie jest powiązane z konkretnym kontekstem. Siła tego powiązania zale-ży od częstości pojawiania się pojęcia w danym kontekście. Takie podejścieodpowiada powiązaniu wiedzy ze wspomnieniami u człowieka, sytuacją kie-dy zapamiętuje się gdzie i kiedy danej rzeczy się nauczyliśmy albo się z niązetknęliśmy.

Page 11: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 2. MODELE PAMIĘCI SEMANTYCZNEJ 10

2.4 Modele statystyczne

Ta klasa modeli pamięci semantycznej organizuje wiedzę w postaci relacjimiędzy pojęciem a kontekstami, w których występuje. Relacje te są zadanepoprzez prostą miarę opartą na statystycznej analizie występowania pojęciaw danym kontekście. W praktyce relacje te zapisuje się w macierzy M ×N ,gdzie N to ilość pojęć, a M to ilość kontekstów. Relacje semantyczne sąwydobywane w wyniku przeprowadzania analiz statystycznych macierzy.

Ze względu na prostotę podejścia statystycznego, tego typu modele sąbardzo często z powodzeniem stosowane w dużych projektach, takich jak naprzykład wyszukiwarka internetowa Google3 [10], jednak ze względu na kon-kurencję nie są dostępne publikacje opisujące dokładne mechanizmy stojąceza tym systemem.

Przykładem modelu wykorzystującego informacje statystyczne jest La-tent Semantic Analysis (LSA) [16]. Rolę pojęcia pełnią tu słowa w korpusie,a kontekstami są dokumenty, w których występują słowa. Relacje zapisywanesą w macierzy M o wymiarach S×D, gdzie S to ilość słów, a D to ilość doku-mentów. Początkowo każdy element Ms,d macierzy zawiera liczbę wystąpieńsłowa s w dokumencie d, a następnie każdy element macierzy przekształcasię według wzoru:

(2.2) M′

s,d =ln(1 +Ms,d)

−∑Di=1 P (i|s) lnP (i|s)

gdzie P (i|s) oznacza prawdopodobieństwo, że kontekst i jest aktywny pod-czas gdy wystąpiło słowo s, czyli prawdopodobieństwo że słowo s wystąpiłow dokumencie i. Prawdopodobieństwo to liczy się jako:

(2.3) P (i|s) =Ms,i∑Dj=1Ms,j

Ta transformacja zapewnia większe zróżnicowanie pomiędzy słowami przy-pisując im wagi bardziej odpowiadające prawdopodobieństwu wystąpieniasłowa w danym kontekście, tj. słowa pojawiające się często w różnych kon-tekstach, jak na przykład the oraz and będą otrzymywały mniejsze wagi, cooznacza brak niesionej przez nie informacji semantycznej. Stopień podobień-stwa semantycznego określa się przy użyciu miary cosinusowej (wzór 2.1).

Niewątpliwą zaletą modeli wykorzystujących statystyczne analizy rela-cji wyrazów w tekstach jest brak konieczności stosowania skomplikowanychmetod przetwarzania języka naturalnego. Nie jest tutaj konieczne ustala-nie sensu poszczególnych słów, gdyż przy zastosowaniu odpowiednio dużego3http://google.com

Page 12: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 2. MODELE PAMIĘCI SEMANTYCZNEJ 11

zestawu danych treningowych model zdolny jest nawet do odnajdywania po-wiązań pomiędzy słowami pojawiającymi się rzadko, lub nawet nigdy, w tychsamych tekstach. Natomiast wadą tych modeli jest konieczność stosowaniadużych zbiorów danych treningowych. Dla niewielkich ilości tekstów niemoż-liwe jest uzyskanie bliskich rzeczywistości powiązań pomiędzy pojęciami.

Bardzo dobrą realizacją modelu wykorzystującego informacje statystycz-ne jest gra w 20 pytań4. Gracz (człowiek) na początku gry wybiera jakieśpojęcie, a rolą systemu 20q jest możliwie szybkie odgadnięcie, poprzez zada-wanie pytań, o czym pomyślał gracz. Na początku zabawy gracz jest pytany opodstawowe informacje demograficzne (płeć, wiek, narodowość), gdyż infor-macje te są pomocne przy unikaniu pewnych specyficznych skojarzeń wyni-kających z różnic pomiędzy różnymi grupami demograficznymi [4]. Następniezadawana jest seria pytań, nie zawsze logicznych z punktu widzenia gracza,dla których możliwe są odpowiedzi tak, nie, nie wiem, nieistotne oraz pośred-nich: zazwyczaj, czasami. Pytania przeważnie nie są zadawane wprost o cechyprzedmiotu gry, lecz o relacje z innymi pojęciami, co dodatkowo uatrakcyjniazabawę czyniąc ją bardziej nieprzewidywalną. Przykładowo, system zamiastzapytać wprost o rozmiar albo kształt przedmiotu, potrafi zadać pytania Isit bigger than a sofa? albo Is it shaped like a hot dog?. Informacje demo-graficzne podawane na początku mogą być prawdopodobnie wykorzystane wpołączeniu na przykład z pytaniem Do you know any songs about it?. 20q jestoparte o sztuczną sieć neuronową [4], której elementem jest macierz opisują-ca relacje pomiędzy pojęciami a kontekstami (pytaniami zadawanymi przezsystem). Uczenie następuje poprzez odbywane gry, jest więc to rodzaj naukiz nauczycielem.

4http://20q.net

Page 13: Rozdział 2 Modele pamięci semantycznej

Rozdział 3

Wydobywanie informacji zdostępnych elektroniczniezasobów

Zasoby wiedzy zgromadzone w formie elektronicznej i udostępnionej pu-blicznie, głównie w internecie, są ogromne, a stosowane obecnie metody niepozwalają ich w pełni wykorzystać [20].

3.1 Przetwarzanie otwartego tekstu

Ogrom informacji, obecnie wykorzystywanej w bardzo niewielkim stop-niu, kryje się w tekstach pisanych językiem naturalnym, np. artykułach czyblogach w internecie. Najpopularniejszym i obecnie najlepszym narzędziempozwalającym wydobyć coś z tych zasobów jest wyszukiwarka Google1, jed-nak daleko jej do ideału. Dla zapytania kto zabił prezydenta Kennedy’ego zo-staje odnalezionych około 10800 wyników, podczas gdy od idealnego systemumożna by oczekiwać wyniku Lee Harvey Oswald (z ewentualnym dopiskiemo teoriach spiskowych podważających ten fakt).

Stworzenie parsera, czyli systemu pozwalającego przetwarzać zasoby tek-stowe oraz wydobywać zawarte w nich informacje, nie jest prostym zadaniem,nie istnieją systemy zdolne wydobywać informacje z tekstu bez popełnianiaprzy tym błędów. Problemy pojawiają się już na samym początku, kiedyprzetwarzany dokument trzeba podzielić na mniejsze części (zdania i wyra-zy). W dalszej części przedstawiony zostanie podstawowy zestaw zagadnień(problemów koniecznych do przezwyciężenia, oraz zasobów wartych użycia),

1http://www.google.com/

Page 14: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 13

które należy wziąć pod uwagę aby stworzyć stosunkowo prosty, lecz działa-jący parser języka naturalnego.

3.1.1 Korpusy

Korpus jest zbiorem tekstów służącym w badaniach lingwistycznych, po-zwalającym wydobyć relacje statystyczne występujące pomiędzy wyrazami,konstrukcje gramatyczne występujące w języku oraz specyficzne dla konkret-nej dziedziny, której tekst dotyczy, a także kontekstów występowania poszcze-gólnych wyrazów. Ze względu na te cechy korpusy są szeroko wykorzystywanew problemach związanych z przetwarzaniem języka naturalnego.

Korpusy pokrywające ogół języka, tzn. nieskupiające się na jednej szcze-gólnej dziedzinie, posiadają proporcje pomiędzy różnymi stylami języka od-powiadające rzeczywistym proporcjom, tj. mogą składać się w przeważającejczęści z artykułów oraz fragmentów książek, w mniejszych częściach z treścipojawiających się na blogach2 czy różnego rodzaju postach pojawiających sięw internecie, a w najmniejszym stopniu zawierającym teksty prawnicze orazpoezję. Udostępniane korpusy przeważnie są wstępnie przetworzone, tzn. do-konany jest w nich podział na zdania i słowa, a niekiedy także pooznaczanesą części mowy.

Niektóre korpusy są korpusami wielojęzycznymi, tzn. dwa (lub więcej)korpusy zawierają te same teksty przetłumaczone na różne języki. Takie kor-pusy są bardzo przydatne w problemie tłumaczenia maszynowego [20]. Dziękinim możliwe jest np. ustalenie kontekstu występowania słowa w tekście źró-dłowym i odnalezienie odpowiadającego słowa występującego w tym samymkontekście w tekście w języku docelowym. Niestety korpusów wielojęzycznychjest niewiele, ze względu na trudność przygotowania takiego zasobu, wiążące-go się z koniecznością ręcznego tłumaczenia dużych ilości tekstów. Jednym zwiększych zasobów wielojęzycznych, niebędącym jednak korpusem, jest stwo-rzony przez Microsoft system MindNet (więcej o nim w rozdziale 3.2.2) dlajęzyków angielskiego i japońskiego.

3.1.2 Podział tekstu na słowa i zdania

Pierwszym nietrywialnym problemem pojawiającym się podczas przetwa-rzania tekstów jest podział otwartego tekstu na zdania, słowa, liczby i zna-ki interpunkcyjne. Znaków interpunkcyjnych nie można pomijać, gdyż onerównież grają bardzo ważną rolę w definiowaniu sensu wypowiedzi. Problem

2blog - rodzaj strony internetowej zawierającej określoną liczbę odrębnych, samodziel-nych, uporządkowanych chronologicznie wpisów, których twórcą jest właściciel bloga

Page 15: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 14

podziału tekstu na słowa jest szczególnie trudny w językach chińskim, ja-pońskim oraz tajskim, gdyż nie posiadają one określonych granic wyrazóww języku pisanym, a także w języku niemieckim, gdzie rzeczowniki złożoneczasami zapisuje się łącznie, np.: Lebensversicherungsgesellschaftsangesrellter(pracownik firmy oferującej ubezpieczenia na życie).

Jako słowo nie można traktować czegoś, co znajduje się pomiędzy dwomaznakami interpunkcyjnymi, bo np. $22.50, Micro$oft, .net czy też ;-) powinnybyć słowami. Dobrym pomysłem jest, aby w języku angielskim za słowo trak-tować to, co jest pomiędzy dwoma białymi znakami3, jednak ciągle trzebapamiętać o kilku sytuacjach:

• Problem kropki.Słowa nie zawsze są otoczone białymi znakami, np.: ostatni wyraz wzdaniu po prawej stronie sąsiaduje z kropką. Wszystkich kropek niemożna usuwać, bo nie zawsze oznaczają one koniec zdania. Kropki po-jawiające się po skrótach (np.: etc.) powinny zostać. Kolejnym pro-blemem jest skrót, który występuje na końcu zdania. Wówczas kropkapełni podwójną rolę.

• Pojedynczy apostrof, np. w I’ll lub isn’t. Człowiek domyśla się, że przy-toczone przykłady są dwoma słowami, odpowiednio I will oraz is not.W niektórych korpusach takie rzeczy są rozbite na dwa słowa, w nie-których są traktowane jako jedno słowo, tak więc nie ma na to reguły.Trzeba jednak uważać, aby po niepoprawnym podziale nie pozostałysłowa w stylu ’s lub n’t.

• Dwa słowa oddzielone myślnikiem czasami należy traktować jako jed-no słowo, a czasem jako dwa. Są także różne rodzaje myślników, np.:myślnik łączący dwa wyrazy oraz myślnik pojawiający się na końcuwiersza, gdy część wyrazu jest zapisana na końcu wiersza, a druga częśćna początku kolejnego wiersza. Wydawać by się mogło, że problem nieistnieje ponieważ wystarczy po prostu usunąć myślnik występujący nakońcu wiersza, jednak sytuacja się komplikuje gdy łamany wyraz jestpołączeniem dwóch wyrazów za pomocą myślnika - wówczas taki myśl-nik pełni podwójną rolę i nie może być usunięty. Myślniki występującepomiędzy wyrazami także pełnią różne funkcje, w zależności od któ-rych powinny pozostać tworząc jeden wyraz (np.: e-mail, co-operate,pro-Arab) albo zostać usunięte tworząc dwa oddzielne wyrazy (np.: thealuminum-export ban, a text-based medium, the 90-cent-an-hour raise,

3biały znak - spacja (pojedynczy odstęp), tabulator (długi odstęp) lub znak nowej linii(złamanie wiersza)

Page 16: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 15

the 26-year-old). Problemem jest także nietrzymanie się jednej wersjiprzy zapisie poszczególnych słów. Nawet Manning w książce poświęco-nej analizie języka naturalnego [20] pisze markup, mark-up albo markup używając tego sformułowania w tym samym kontekście. Należy rów-nież mieć na uwadze, że w tym samym języku, ale w różnych regionachświata, te same rzeczy mogą być różnie zapisywane, np.: w WielkiejBrytanii pisze się mark - up (ze spacjami przed i po myślniku) a wUSA zapisuje się bez spacji (mark-up).

• Spacja nie zawsze powinna być traktowana jako rozdzielenie dwóch wy-razów. Jeśli database traktuje się jako jedno słowo, to data base równieżpowinno być jednym słowem. Numerów telefonów zapisywanych jako123 456 789 również nie powinno się traktować jako trzy osobne sło-wa. Tak samo jest z nazwami miast, np.: New York oraz San Francisco.Szczególnie trudny problem jest z odpowiednim podzieleniem na słowasformułowań typu the New York-New Haven railroad. Dobrze by byłotraktować phrasal verbs (np.: make up, work out) jako pojedyncze sło-wa, jednak w zdaniu mogą być one oddzielone innymi słowami, np.: Icouldn’t work the answer out.

• Informacje o tym samym typie semantycznym są zapisywane w różnychpostaciach, np.: numery telefonów czasami zapisuje się łącznie, czasamize spacjami, czasami przedziela się je myślnikami, numer kierunkowyczasami zapisuje się w nawiasie - wszystko to rodzi kolejne problemypodczas późniejszej ekstrakcji danych z tekstu.

• Transkrypcje rozmów często zawierają dodatkowo wypełnienia w po-staci er, um, yyy, itp.

3.1.3 Korekta literówek

Kolejnym problemem występującym we wszelkiego rodzaju tekstach pi-sanych przez człowieka są literówki, czyli błędy dotyczące pojedynczych wy-razów, polegające na:

• zamianie miejscami liter w słowie, np.: skrapetka zamiast skarpetka

• zmianie pojedynczej litery, np.: pietnik zamiast piernik

• pojawieniu się w słowie dodatkowej litery, np.: pieds zamiast pies

• braku litery, np.: sklanka zamiast szklanka

Page 17: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 16

Błędy te są często popełniane poprzez szybkie pisanie na klawiaturze przybraku jednoczesnej kontroli wzrokowej tego, co się wpisuje. Są one takżeefektem błędów programów OCR4 podczas skanowania starych dokumentówpapierowych do postaci cyfrowej.

Podczas korekty literówek poprawiane są także błędy ortograficzne, tj.ch w miejscu gdzie powinno być h albo h zamiast ch zostanie potraktowanejako odpowiednio pojawienie się dodatkowej litery albo brak jednej litery.Wystąpienie u zamiast ó (i na odwrót) zostanie potraktowane jako zamianapojedynczej litery, natomiast rz w miejscu ż to zestawienie obu tych błędów.

Literówki w wyrazach można poprawiać poprzez badanie odległości edy-cyjnej5, np.: algorytmem Levenshteina [17], pomiędzy każdym wyrazem wy-stępującym w tekście oraz zbiorem prawidłowych wyrazów, otrzymanym np.ze słownika. Jeśli dla wyrazu nie zostanie odnaleziony odpowiednik w słowni-ku o odległości edycyjnej równej 0 (tzn. tego wyrazu nie ma w słowniku), topowinno się go zamienić na wyraz ze słownika o minimalnej do poprawianegowyrazu odległości edycyjnej. Należy mieć na uwadze, że taką metodę możnastosować tylko jeśli posiada się słownik zawierający wszystkie możliwe słowawystępujące w tekście, z uwzględnieniem różnych form fleksyjnych słowa.

3.1.4 Oznaczanie części mowy

W wyniku tagowania (oznaczania części mowy) każdemu słowu w tekścieprzypisana zostanie „etykietka” oznaczająca część mowy, w roli której wystę-puje w zdaniu. Pod uwagę brana jest zarówno definicja słowa jak i kontekst, wktórym występuje. W najprostszym przypadku wystarczy każdemu wyrazowiprzypisać jedno z oznaczeń: rzeczownik, czasownik, przymiotnik, przysłówek,jednak w praktyce prawie zawsze stosuje się znacznie więcej oznaczeń.

Tagowanie to dużo więcej niż odczytywanie dla słowa części mowy zesłownika, gdyż wiele słów w zależności od kontekstu może występować wroli różnych części mowy. Na przykład słowo dogs, które każdemu kojarzy sięz rzeczownikiem w liczbie mnogiej, może także pełnić rolę czasownika: Thesailor dogs the hatch. Analogicznie na poziomie zdania także czasami istniejewięcej niż jedno poprawne oznaczenie:

• The-AT representative-NN put-VBD chairs-NNS on-IN the-AT table-NN.

4Optical Character Recognition (OCR) - technika umożliwiająca rozpoznawanie zna-ków i całych tekstów w pliku graficznym5odległość edycyjna - najmniejsza liczba koniecznych do wykonania zmian w ciągu

prowadząca do otrzymania drugiego, gdzie zmianą może być wstawienie, usunięcie lubzmiana pojedynczego znaku

Page 18: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 17

tag część mowyAT przedimekNN rzeczownik w liczbie pojedynczejVBD czasownik w czasie przeszłymNNS rzeczownik w liczbie mnogiejIN przyimekJJ przymiotnikVBZ czasownik w czasie teraźniejszym,

w trzeciej osobie liczby pojedynczej

Tabela 3.1: Wybrane oznaczenia stosowane w korpusie Browna

oraz – biorąc pod uwagę inny sens słowa put :

• The-AT representative-JJ put-NN chairs-VBZ on-IN the-AT table-NN.

Źródła informacji w tagowaniu

Są dwie ogólne metody ustalania, jaką częścią mowy jest dane słowo:

• Na podstawie kontekstu - wiedząc np., że sekwencja AT JJ NN wystę-puje często, podczas gdy AT JJ VBP prawie wcale, łatwo stwierdzićże play w a new play powinno zostać oznaczone jako NN. Skutecznośćtakiego podejścia to około 77% poprawnie otagowanych słów.

• Na podstawie definicji słownikowej. Jedno słowo może się pojawiać wjęzyku w roli wielu różnych części mowy, jednak jedno z użyć jest zreguły zdecydowanie dominujące. Proste tagowanie przypisujące słowujego najczęściej występującą rolę skutkuje blisko 90% dokładnością.

Tagowanie oparte o Modele Markova

• Model probabilistyczny

Ciąg tagów w tekście traktuje się jako łańcuch Markova. Własność Li-mited Horizon (równanie 3.1) eliminuje długodystansowe zależności wzdaniach, co było głównym zarzutem Chomskiego przeciwko ModelomMarkova [5].

(3.1) P (Xt+1 = sk|X1, . . . , Xt) = P (Xt+1 = sk|Xt)

Page 19: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 18

oznaczenie opiswi słowo na pozycji i w korpusieti tag odpowiadający słowu wiwi,i+m słowa na pozycjach od i do i+mti,i+m tagi odpowiadające słowom wi,i+mwi i− te słowo w słownikuti i− ty tag w zbiorze tagówC(wi) liczba wystąpień wi w zbiorze treningowymC(ti) liczba wystąpień ti w zbiorze treningowymC(ti, tj) liczba wystąpień ti poprzedzających tj

C(wi|tj) liczba wystąpień wi oznaczonych jako tj

T moc zbioru tagówW moc zbioru słówn długość zdania

Tabela 3.2: Konwencje oznaczeń dla tagowania

MM6 trenuje się przy użyciu zbioru treningowego – ręcznie otagowanegotekstu.

Prawdopodobieństwo wystąpienia tagu tk po tj określa się jako:

P (tk|tj) =C(tj, tk)C(tj)

W przykładzie a new play prawdopodobieństwo P (NN |JJ) = 0.45,podczas gdy P (V BP |JJ) = 0.0005. Prawdopodobieństwo, że słowopowstało z określonego stanu definiuje się jako:

P (wl|tj) =C(wl, tj)C(tj)

Najlepsze otagowanie t1,n zdania w1,n liczy się następująco:

arg maxt1,n

P (t1,n|w1,n) = arg maxt1,n

P (w1,n|t1,n)P (t1,n)P (w1,n)

= arg maxt1,n

P (w1,n|t1,n)P (t1,n)

6MM - Model Markova

Page 20: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 19

P (w1,n|t1,n)P (t1,n) =n∏i=1

P (wi|t1,n)

×P (tn|t1,n−1)× P (tn−1|t1,n−2)× · · · × P (t2|t1)

=n∏i=1

P (wi|ti)

×P (tn|tn−1)× P (tn−1|tn−2)× · · · × P (t2|t1)

=n∏i=1

(P (wi|ti)× P (ti|ti−1))

t1,n = arg maxt1,n

P (t1,n|w1,n) =n∏i=1

P (wi|ti)P (ti|ti−1)

• Algorytm Viterbiego

Mając wytrenowany tagger oparty o Model Markova można oznaczaćczęści mowy wykorzystując do tego algorytm dynamiczny zwany Algo-rytmem Viterbiego [32]. Oznaczmy:

δj(t) = maxX1,...,Xt−1

P (X1, . . . , Xt−1, o1, . . . , ot−1, Xt = j|µ)

Ta zmienna w każdym kroku przechowuje maksymalne prawdopodo-bieństwo prowadzące do danego węzła. Odpowiadająca zmienna Ψj(t)zachowuje informację o węźle prowadzącym do najbardziej prawdopo-dobnej ścieżki. Poprzez µ = (A,B, π) oznaczmy model, gdzie A ={aij; 1 ¬ i, j ¬ N}, aij to prawdopodobieństwo przejścia ze stanu si dosj, B = {bijk; 1 ¬ i, j ¬ N}, bijk to prawdopodobieństwo wyemitowa-nia symbolu k = ot ∈ O, gdzie O to sekwencja obserwowanych sym-boli, π = {π1, . . . , πN}, πi to prawdopodobieństwo wystąpienia stanui. X = {X1, . . . , XN} to sekwencja stanów. N określa ilość możliwychstanów, T to długość łańcucha. W szczególnym przypadku X należyrozumieć jako sekwencję tagów, a O jako tagowany tekst.

Algorytm można zapisać jako następującą listę kroków:

1. Inicjalizacjaδj(1) = πj

2. Indukcyjnieδj(t+ 1) = max1¬i¬N δi(t)aijbijot , 1 ¬ j ¬ Nzachowując ścieżkę powrotną:Ψj(t+ 1) = arg max1¬i¬N δi(t)aijbijot , 1 ¬ j ¬ N

Page 21: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 20

3. Zakończenie i odczytanie ścieżkiXT+1 = arg max1¬i¬N δi(T + 1)Xt = ΨXT+1(t+ 1)

P (X) = max1¬i¬N δi(T + 1)

Złożoność takiego algorytmu szacuje się przez O(T ∗N2) podczas gdynaiwne generowanie wszystkich możliwych oznaczeń części mowy skut-kowałoby złożonością wykładniczą.

Problem pojawia się, gdy wytrenowany model napotyka nieznane sło-wo. W tej sytuacji dobre okazuje się podejście biorące pod uwagę na-stępujące 3 czynniki:

– jak bardzo prawdopodobne jest, że dany tag stosuje się do tegonieznanego słowa

– jakie jest prawdopodobieństwo wygenerowania przez dany tag sło-wa zaczynającego się wielką/małą literą

– prawdopodobieństwo wygenerowania słowa z myślnikiem lub okre-ślonym sufiksem

Podejście to można zapisać w postaci następującego wzoru:

P (wl|tj) =1Z× P (nieznane słowo|tj)

× P (pisane wielkimi/małymi literami|tj)× P (myślnik/sufiks|tj)

gdzie Z to stała normalizująca.

Zwykły tagger oparty o MM to bigram tagger – rozważa zawsze tyl-ko dwa tagi – obecny oraz poprzedni. Ulepszeniem może być trigramtagger, który do ustalania bieżącego tagu bierze dwa poprzednie tagi(a nie jeden). Taki mechanizm eliminuje niektóre niejednoznaczności.Niekiedy trigramy dają gorsze wyniki od biogramów czy nawet unigra-mów, gdyż informacje o poprzedzających tagach mogą być niepożądane– na przykład bezpośrednio po kropce nie ważne jest, co stało przedkropką. Rozwiązaniem tego problemu może być wykorzystanie VariableMemory Markov Model (VMMM), które operują na stanach o różnychdługościach — od unigramów do fourgramów.

Hidden Markov Model Taggers

Modele Markova dobrze sobie radzą, gdy dostępny jest duży otagowanyzbiór testowy. Trudniej jest, gdy takiego zbioru nie ma. Inicjalizacja para-

Page 22: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 21

metrów modelu danymi losowymi to zły pomysł. Są dwie główne metodywykorzystywane do szacowania parametrów modelu.

Pierwszą zaproponował Jelinek [13]. Bazuje ona na słowniku. Jeśli danesłowo nie występuje w roli jakiejś części mowy, to prawdopodobieństwo emisjisłowa przez ten tag jest równe 0. Prawdopodobieństwa opisuje się następu-jącym wzorem:

bj,l =b∗j,lC(wl)∑wm b

∗j,mC(wm)

,

gdzie:

b∗j,l ={

0 jeżeli tj nie jest dopuszczalną częścią mowy dla wl1|T | w przeciwnym wypadku

oraz bj,l to prawdopodobieństwo, że słowo wl (albo klasa słów) może powstaćz tagu tj, a C(wj) to liczba dopuszczalnych tagów dla wj. Sumowanie od-bywa się po wszystkich słowach wm ze słownika. Metoda Jelinka zakłada,że prawdopodobieństwo wystąpienia słowa w roli każdej z części mowy jesttakie samo.

Druga metoda została wymyślona przez Kupca [15]. W tej metodzie gru-puje się słowa w klasy (uL), gdzie w danej klasie znajdują się te słowa, któremają ten sam zbiór dopuszczalnych tagów.

uL ={wl|j ∈ L⇔ tjjest dopuszczalnym tagiem dla wl

}∀L⊆{1,...,T}

Jeżeli na przykład NN = t5 oraz JJ = t8 to u{5,8} będzie zawierał wszystkiesłowa, które według słownika mają dopuszczalne dokładnie tylko tagi numer5 i 8. Następnie postępuje się analogicznie jak w metodzie Jelinka:

bj,L =b∗j,LC(uL)∑uL b

∗j,LC(uL)

,

gdzie:

b∗j,L ={

0 jeżeli j /∈ L1|L| w przeciwnym wypadku

Przewagą metody Kupca jest większa wydajność. Parametry wylicza się jed-nocześnie dla wszystkich słów należących do jednej klasy. Na koniec w celupoprawy wyników stosuje się algorytm szukający maksimum lokalnego. Niepowinno się jednak wprost szukać maksimum lokalnego, a jedynie w pewiensposób do tego maksimum się zbliżyć, gdyż wraz ze zbliżaniem się do mak-simum zwiększa się szansa przetrenowania modelu. Najprostszą zasadą jestprzerwać trening, kiedy wartość logarytmu z prawdopodobieństwa nie zwięk-sza się istotnie. Ta zasada w niektórych przypadkach także prowadzi do prze-trenowania, dlatego sugeruje się sprawdzać poprawę prawdopodobieństwa pokażdej iteracji algorytmu maksymalizującego.

Page 23: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 22

Oznaczanie części mowy poprzez transformacje

Modele Markova nie są idealne. Teoretycznie można by poprawić ich wyni-ki tworząc bardziej skomplikowane modele, używając na przykład trigramów,fourgramów czy nawet taggerów n–gramowych wyższych rzędów, jednak ta-kie rozwiązania wymagałyby estymowania zbyt dużej ilości parametrów.

Trenowanie poprzez wykonywanie transformacji (transformation-basedtraining) to inne podejście do oznaczania części mowy. Jedną z mocnychstron tego podejścia jest wykorzystywanie większego wachlarza reguł lek-sykalnych oraz syntaktycznych. W szczególności tagi mogą być zależne odszerszego kontekstu. Transformation-based tagging koduje złożone zależnościpomiędzy słowami i tagami poprzez sekwencje transformacji zamieniającychpoczątkowe otagowanie w inne, mające mniej błędów. Ten rodzaj tagowaniawymaga o rząd wielkości mniej obliczeń niż MM.

Transformation-based tagging składa się z dwóch części:

• określenia, które transformacje należy przyjąć

• algorytmu uczącego

Jako dane wejściowe potrzebny jest otagowany korpus i słownik.W pierwszym kroku każde słowo korpusu treningowego oznacza się jego

najczęściej występującym tagiem. Robi się to na podstawie słownika. Następ-nie algorytm uczący tworzy listę rankingową transformacji przekształcają-cych początkowe otagowanie w poprawne. Taka lista może być wykorzystanado otagowania nowego tekstu — najpierw słowom przypisuje się najczęściejwystępujące tagi, następnie przeprowadza się transformacje z listy.

Bardziej szczegółowo:

• Transformacje składają się z 2 części: warunków wykonania i regułyprzepisania. Reguła przepisania to t1 −→ t2, co znaczy „zamień tagt1 na t2”. Warunki wykonania opisują sytuację, w której może zajśćtransformacja. Tabela 3.3 zawiera przykładowe opisy transformacji. Wwarunkach można powoływać się albo na występowanie określonychtagów, słów albo nawet, aby oznaczyć nieznane słowa, na morfologię(na przykład: „zamień NN na NNS jeżeli końcówką nieznanego słowajest –s”).

• Algorytm uczący:

1. C0 := korpus, w którym każde słowo zostało oznaczone najczęściejwystępującym dla niego tagiem

2. for k := 0 . . .∞ do

Page 24: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 23

Tag źródłowy Tag docelowy Warunki wykonania

NN VB poprzedni tag to TOVBP VB wśród trzech poprzednich tagów jest MDJJR RBR następnym tagiem jest JJVBP VB wśród poprzednich dwóch słów jest n’t

Tabela 3.3: Przykładowe transformacje wyuczone w transformation-basedtaggerze. Źródło: [20]

– v := transformacja ui minimalizująca E(ul(Ck))– jeśli E(Ck)− E(v(Ck)) < ε to przerwij– Ck+1 := v(Ck)– Tk+1 := v

end

3. Sekwencja wyjściowa: T1, . . . , Tk

Interesujący jest fakt, że w tej metodzie, w odróżnieniu od HMM, niewystępuje przetrenowanie [20].

Można dostrzec pewne podobieństwo pomiędzy transformation-based le-arning oraz drzewami decyzyjnymi. Brill [2] wykazał, że transformation-basedlearning jest potężniejszym narzędziem niż drzewa decyzyjne.

W metodzie oznaczania części mowy poprzez transformacje, mając jużnauczony model, samą operację tagowania można zapisać w postaci automatuskończonego [28], co znacznie przyspiesza tagowanie w stosunku do metodynaiwnej.

Transformation-based tagging jest prostsze i bardziej intuicyjne od innychmetod, w dodatku transformation-based learning znalazło zastosowanie takżew innych dziedzinach: parsowaniu [1], łączeniu wyrażeń przyimkowych [3]oraz ujednoznacznianiu sensu słów [9].

Inne metody, inne języki

Do oznaczania części mowy próbuje się stosować także metody inne niżwcześniej wymienione, m.in. sieci neuronowe [19], drzewa decyzyjne [21], po-dejścia biorące pod uwagę najbliższych sąsiadów (memory-based learning lubk nearest neighbor) [22] oraz modele oparte o maksymalną entropię [12].

Szacuje się, że zaprezentowane metody tagowania sprawdzają się równiedobrze w większości języków. Badania nad językami europejskimi dowiodły,że rzeczywiście tak jest [8], [14].

Page 25: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 24

Dokładność oraz wykorzystanie taggerów

Obecnie osiągane wyniki wahają się w granicach 95% — 97%. Wyniki wdużej mierze zależą od:

• rozmiaru danych treningowych

• zbioru tagów

• różnicy pomiędzy danymi treningowymi, a tymi na których się późniejoperuje

• nieznanych słów

Oznaczanie części mowy przeważnie jest krokiem bezpośrednio poprze-dzającym właściwe parsowanie tekstu.

3.1.5 Ekstrakcja rdzeni

Ekstrakcja rdzeni (stemming) jest operacją, której celem jest zreduko-wanie słowa do postaci samego rdzenia, co jest formą normalizacji tekstu iumożliwia przetwarzanie słowa już bez konieczności zwracania uwagi na jegoformę fleksyjną [18]. Dobrze skonstruowany stemmer7 powinien jako rdzeńsłowa lying wskazać lie a nie ly - co mogłoby powstać w wyniku najprost-szego obcinania regularnych sufiksów wyrazów. Rdzeń słowa nie zawsze musibyć poprawnym słowem.

Lemmatization

Proces określany z angielskiego jako lemmatization jest rodzajem stem-mingu, z tym że słowo zamieniane jest rdzeniem tylko wówczas, kiedy rdzeńjest poprawnym słowem występującym w języku [18]. W tym celu dokonujesię dodatkowego sprawdzenia w słowniku, co czyni proces istotnie wolniej-szym od stemmingu.

3.1.6 Aktywne szukanie

Wydobywanie wiedzy z tekstu nie jest zadaniem łatwym. Wymagane jestposiadanie pewnej wiedzy o budowie języka, która następnie zostanie użytado analizy tekstu. Pozyskiwanie ustrukturalizowanej wiedzy z tekstu umoż-liwia algorytm aktywnego szukania zaproponowany w [31]. Otrzymana wten sposób wiedza jest trójką (obiekt - predykat - cecha) wraz z wartością

7stemmer - moduł odpowiedzialny za ustalanie rdzeni słów

Page 26: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 25

w ∈ [−1, 1] uzyskaną z funkcji kryterialnej, określającą stopień jej prawdzi-wości (−1 oznacza, że cecha nie stosuje się do obiektu, 1 że się stosuje, 0- nie można rozstrzygnąć, a wartości pośrednie opisują pośrednie wartości(czasami, często, raczej nie, itp.)).

Funkcja oceniająca na podstawie dostarczonej definicji określa, czy da-ny obiekt posiada, bądź nie posiada powiązania określonym predykatem zewskazaną cechą, jak również ma możliwość wskazania sytuacji, gdy nie moż-na dokonać klasyfikacji. Reguły funkcji kryterialnej podzielone są na dwiefazy.

W pierwszej fazie analizowane są końcówki cechy:

1. W zadanym tekście, będącym definicją analizowanego obiektu poszu-kiwana jest zadana cecha.

2. Dla odnalezionej cechy wykonywany jest stemming (więcej w rozdziale3.1.5), tak by otrzymać formę podstawową poszukiwanej cechy.

3. Dla utworzonej formy podstawowej ustalona zostaje końcówka (wystę-pująca w tekście), tworząca odnalezioną cechę.

Jeśli powiodło się dopasowanie końcówki do zbioru zdefiniowanych dla pre-dykatu sufiksów można na tej podstawie dokonać klasyfikacji i w zależnościod przypisanej do końcówki decyzji ustalić, czy zadana cecha stosuje się doobiektu, czy nie.Dla predykatu have końcówka -ed wskazywać będzie na posiadanie cechy,np.: horned, natomiast końcówka -less będzie wskazywać na negatywne po-wiązanie obiektu z cechą, np.: hornless. Jeśli algorytm nie dokona klasyfikacji,następuje przejście do drugiej fazy.

W drugiej fazie analizowane jest otoczenie predykatu:

1. Na podstawie zadanego predykatu utworzone zostają dwa zbiory: syno-nimów8 i antonimów9. Dla predykatu have zbiór synonimów zawierałsłowa with, has, have, posses, having, natomiast w zbiorze antonimówbyły słowa have not, without, lack. Do oceny częściowej przynależno-ści zdefiniowane zostały analogiczne dwa zbiory określające powiązaniatypu pośredniego: czasami (usual, frequently, often) i rzadko (seldom,raely, uniquely).

2. W otoczeniu znalezionej w definicji cechy wyszukany zostaje najbliższy(w sensie odległości miedzy wyrazami) predykat z powyższych zbiorów.

8synonimy - wyrazy o podobnym znaczeniu9antonimy - wyrazy o przeciwnych znaczeniach

Page 27: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 26

3. Jeśli jakikolwiek predykat zostanie odnaleziony i żaden inny czasowniknie wystąpił bliżej szukanego słowa (cechy), następuje klasyfikacja. Dlasynonimów have określone zostaje, że cecha się stosuje, a jeśli wystąpiłantonim – cecha się nie stosuje. Analogiczna klasyfikacja zachodzi dlapowiązań pośrednich.

Zaproponowany w [31] algorytm aktywnego szukania zdolny jest do otrzy-mania relacji dla predykatu have, a także umożliwia budowanie nowych funk-cji ocen dla innych predykatów, co zostało zrealizowane i opisane w rozdziale4.1. Istotnym ograniczeniem zaproponowanej metody jest fakt, iż przetwa-rzany tekst musi dotyczyć pojedynczego obiektu, tj. zakłada się, że wszystkiecechy występujące w tekście definiują jeden konkretny obiekt.

3.2 Ustrukturalizowane zasoby językowe

Poza zasobami zgromadzonymi w postaci otwartego tekstu istnieją rów-nież zasoby językowe zapisane w ustrukturalizowanej formie. Należą do nichustrukturalizowane słowniki maszynowe, leksykalne bazy danych czy też de-dykowane rozwiązania powstałe podczas prac nad projektami językowymi.

Ustrukturalizowane zasoby ogólnego przeznaczenia zawierają dużo infor-macji nadmiarowej, jak również często brak jest w nich informacji oczywi-stych dla człowieka. Dodatkowym kłopotem są również istniejące w nich błę-dy. Istniejące słowniki maszynowe dla dedykowanych zastosowań są przeważ-nie albo bardzo specjalistyczne, albo zawierają wiedzę, której sposób repre-zentacji praktycznie ogranicza je do jednego zastosowania [31].

3.2.1 WordNet10

Jednym z najpopularniejszych zasobów językowych jest rozwijany na uni-wersytecie Princeton od 1985 roku projekt WordNet [25]. WordNet jest lek-sykalną bazą danych języka angielskiego, tworzoną ręcznie, w której słowa sągrupowane w zbiory synonimów zwanych synsetami, które dodatkowo zawie-rają krótkie, ogólne definicje, przykłady użycia oraz różnego rodzaju relacjesemantyczne z innymi synsetami. Kontekst synsetu definiowany jest przezzbiór zawartych w nim synonimów. Dzięki temu w WordNecie można odna-leźć np.: osiem różnych znaczeń słowa dog :

• dog, domestic dog, Canis familiaris (a member of the genus Canis (pro-bably descended from the common wolf) that has been domesticated

10http://wordnet.princeton.edu/wordnet/

Page 28: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 27

by man since prehistoric times; occurs in many breeds) ”the dog barkedall night”

• frump, dog (a dull unattractive unpleasant girl or woman) ”she got areputation as a frump”; ”she’s a real dog”

• dog (informal term for a man) ”you lucky dog”

• cad, bounder, blackguard, dog, hound, heel (someone who is morallyreprehensible) ”you dirty dog”

• frank, frankfurter, hotdog, hot dog, dog, wiener, wienerwurst, weenie(a smooth-textured sausage of minced beef or pork usually smoked;often served on a bread roll)

• pawl, detent, click, dog (a hinged catch that fits into a notch of aratchet to move a wheel forward or prevent it from moving backward)

• andiron, firedog, dog, dog-iron (metal supports for logs in a fireplace)”the andirons were too hot to touch”

• chase, chase after, trail, tail, tag, give chase, dog, go after, track (goafter with the intent to catch) ”The policeman chased the mugger downthe alley”; ”the dog chased the rabbit”

Głównymi relacjami semantycznymi występującymi w WordNecie są:

• hiperonim – pojęcie o znaczeniu ogólnym, nadrzędnym w stosunku doinnych (psowate jest hiperonimem słowa pies)

• hiponim – pojęcie bardziej szczegółowe pod względem semantycznym(pies jest hiponimem słowa psowate)

• holonim – obiekt zawierający inny obiekt (pies jest holonimem słowaogon)

• meronim – obiekt będący częścią innego (ogon jest meronimem słowapies)

• troponim – czynność będąca szczególnym rodzajem innej (seplenić jesttroponimem słowa mówić)

• wynikanie czynności (spanie wynika z faktu chrapania)

• antonim – wyrazy o przeciwnych znaczeniach (suchy jest antonimemsłowa mokry)

Page 29: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 28

WordNet może być wykorzystywany jako słownik, narzędzie wspomaga-jące analizę tekstów oraz tłumaczenie maszynowe, dzięki powstawaniu odpo-wiedników WordNetu w innych językach. WordNet jest opisem języka, a niewiedzy.

3.2.2 MindNet11

MindNet jest zbiorem automatycznie wygenerowanych baz danych za-wierających relacje semantyczne. Stworzony został przez grupę z Microsoftu.Metody powstałe podczas prac nad projektem zostały wykorzystane w pro-gramie Microsoft Word (moduł poprawiający błędy gramatyczne), encyklo-pedii Microsoft Encarta (moduł odnajdujący hasła dla pytań formułowanychw języku naturalnym), wyszukiwarce Bing12 oraz projektach skupiających sięna tłumaczeniu maszynowym pomiędzy językami angielskim oraz japońskim,gdyż MindNet jest tworzony właśnie dla tych dwóch języków.

Baza danych w MindNet tworzona jest, w przeciwieństwie do WordNetu,w sposób automatyczny. Dzięki temu możliwe jest stworzenie bazy zawie-rającej znacznie więcej asocjacji, jednakże kosztem gorszej jakości danych[34]. Dzięki parserowi dane uzyskiwane są ze słowników, encyklopedii orazotwartego tekstu.

Microsoft nie udostępnia publicznie ani bazy danych MindNet, ani szcze-gółowych informacji oraz narzędzi stojących za projektem.

3.2.3 ConceptNet13

ConceptNet jest projektem realizowanym od 1999 roku przez Massachu-setts Institute of Technology (MIT), którego celem jest stworzenie bazy wie-dzy wspólnej dla większości ludzi (tzw. common sense knowledge).

ConceptNet jest stworzoną automatycznie siecią semantyczną bazującąna danych pochodzących ze stowarzyszonego projektu Open Mind CommonSense14, którego celem jest stworzenie korpusu zawierającego common senseknowledge. Sieć ta reprezentowana jest jako graf skierowany, w którym kon-cepty są wierzchołkami, a krawędziami asercje dotyczące konceptów. ProjektConceptNet jest projektem open source, wokół którego powstały kolejne pro-jekty oferujące dodatkowe funkcjonalności, m.in. biblioteka Divisi15 umożli-

11http://research.microsoft.com/en-us/projects/mindnet/12http://www.bing.com/13http://csc.media.mit.edu/conceptnet14http://openmind.media.mit.edu/15http://csc.media.mit.edu/divisi

Page 30: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 29

wiająca wnioskowanie w oparciu o sieć ConceptNet, a także API16 do popu-larnych języków programowania, umożliwiające wykorzystanie ConceptNetuw nowych projektach.

Graf ilustrujący fragment sieci ConceptNet przedstawiony został na ry-sunku 3.1.

16API - Application Programming Interface

Page 31: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 3. WYDOBYWANIE INFORMACJI 30

Rysunek 3.1: Graf ilustrujący fragment sieci ConceptNet. Źródło:http://csc.media.mit.edu/conceptnet

Page 32: Rozdział 2 Modele pamięci semantycznej

Rozdział 4

Wykonane doświadczenia

Podczas prac nad zagadnieniami niniejszej pracy magisterskiej powstałokilka programów oraz spostrzeżeń wartych wspomnienia.

4.1 Parser

Parser języka naturalnego został napisany w języku Python1 w wersji 2.6przy wykorzystaniu biblioteki NLTK2 wspomagającej przetwarzanie językanaturalnego. Ze względu na ilość dostępnych elektronicznie zasobów, parserzostał napisany z myślą o przetwarzaniu tekstów w języku angielskim, jed-nak przy spełnieniu następujących kilku warunków teoretycznie możliwe jestwykorzystanie go do pracy z tekstami w innych językach:

• większa dostępność ustrukturalizowanych zasobów językowych w kon-kretnym języku

• większa dostępność otagowanych korpusów

• drobne modyfikacje w module part-of-speech tagger (naiwne rozpozna-wanie podstawowych części mowy na podstawie sufiksów)

• modyfikacje w implementacji algorytmu aktywnego szukania, w punk-tach dotyczących właściwości gramatyki języka

Parser został zbudowany zgodnie z punktami zaprezentowanymi w roz-dziale 3.1. Działał najlepiej na tekstach z wąskiej dziedziny, co wynikało zograniczenia zastosowanego algorytmu aktywnego szukania. Za tę dziedzinę

1http://www.python.org2http://www.nltk.org

Page 33: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 4. WYKONANE DOŚWIADCZENIA 32

zostały przyjęte rasy psów. Jako dane wejściowe posłużyły opisy psów pozy-skane ze strony Federation Cynologique Internationale (FCI)3, Wikipedii4,oraz opisy tekstowe (definicje) zawarte w WordNecie (rozdział 3.2.1). Dlazasobów z FCI oraz Wikipedii na początku trzeba było opisać strukturę tek-stów, tj. wskazać jak jest zapisana opisywana cecha (jako nagłówek sekcji) ajak jej opis (zawartość sekcji).

Podział tekstu na słowa (więcej w rozdziale 3.1.2) został zrealizowanyprzez gotowe funkcje biblioteki NLTK, gdyż nie zostały stwierdzone żadneniedociągnięcia oferowanych tam mechanizmów.

Korekta literówek została zrealizowana niekonwencjonalną metodą opi-saną w rozdziale 3.1.3, tj. poprzez badanie odległości edycyjnej algorytmemLevenshteina. Przyjęto, że słowo należy poprawić, jeśli odległość edycyjnaod jednego z prawidłowych słów jest mniejsza niż 35% długości tegoż słowa,wyrażonej ilością liter składających się na jego zapis.

Moduł oznaczający części mowy został napisany przy znacznym wykorzy-staniu możliwości biblioteki NLTK, metodą poprawiania otagowania poprzezdokonywanie transformacji, opisaną w rozdziale 3.1.4. Jako punkt startowydla tej metody musiał być dany możliwie dobrze oznaczony tekst. Efekt tenzostał uzyskany dzięki zastosowaniu unigram-taggera. Zastosowanie bigram-taggera oraz n-gram-taggera dla większych wartości n dawało gorsze wyniki,co mogło być spowodowane specyficzną strukturą tekstów źródłowych. Osta-teczne uczenie modułu realizowane było na korpusie (więcej w rozdziale 3.1.1)Browna5 i zostało zakończone po ponad 10 godzinach. Do nauki wykorzysta-no 95% zasobów zgromadzonych w korpusie, pozostałe 5% służyło spraw-dzeniu poprawności. Zmierzona w ten sposób skuteczność wyniosła 97,7% cojest dobrym wynikiem, jednak skuteczność przy oznaczaniu tekstów z wybra-nej dziedziny była zauważalnie niższa. Może to być spowodowane znacznymiróżnicami w konstrukcjach gramatycznych występujących w korpusie Brownaoraz przetwarzanych tekstach.

Ekstrakcja rdzeni dokonywana była przy użyciu Porter Stemmera [18]zaimplementowanego w bibliotece NLTK, a następnie również przy użyciuprostego stemmera obcinającego sufiksy, co poprawiło otrzymywane wyniki.

Algorytm aktywnego szukania został zaimplementowany zgodnie z opisemzawartym w rozdziale 3.1.6 oraz [31] z kilkoma modyfikacjami, oraz dodat-kowo obsługą predykatu is określającego właściwości obiektu, wiążącą się zkoniecznością stworzenia innej funkcji kryterialnej. Modyfikacje te to:

3http://fci.be/4http://en.wikipedia.org/5Brown University Standard Corpus of Present-Day American English (Brown Cor-

pus) - korpus stworzony przez Brown University, Providence, Rhode Island, zawierający1161192 słów zapisanych w 57340 zdaniach

Page 34: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 4. WYKONANE DOŚWIADCZENIA 33

• Obsługa wielokrotnych przeczeń. Zapis not hairless zostanie odczytanyjako informacja o posiadaniu sierści.

• Wzbogacenie możliwości wykrywania informacji o niestosowaniu sięcech, np.: not horned zostanie zrozumiane tak samo jak hornless.

• Pozyskiwanie synonimów oraz antonimów predykatów z WordNetu.

Założenie algorytmu wyszukiwania kontekstowego o opisie zawierającym ce-chy wyłącznie pojedynczego obiektu jest o tyle istotne, że z definicji a dogtrained to work with sportsmen when they hunt with guns można otrzymaćinformację, że pies posiada strzelbę, podczas gdy strzelba odnosi się tutaj doczłowieka niebędącego przedmiotem opisu.

Część błędów w wynikach parsera spowodowana była niedoskonałościamimodułu oznaczającego części mowy. Przykładem może być definicja Ameri-can Water Spaniela: breed of medium-sized spaniels originating in Americahaving chocolate or liver-colored curly coat, z której otrzymano informację,iż pies ten posiada czekoladę. Powodem tego błędu jest oznaczenie słowachocolate jako rzeczownika, a nie przymiotnika.

Wynik działania parsera zapisywany był w formie wektora wCRK zapro-ponowanego w [31], w którym:

• w - liczba z przedziału [−1, 1] określająca stopień powiązania (jak bar-dzo cecha jest typowa dla opisu pojęcia)

• C - opisywany obiekt

• R - typ relacji na zasadzie, której obiekt jest powiązany z cechą

• K - cecha wyrażająca określoną właściwość obiektu

albo w postaci prostych trójek object-attribute-value (OAV). Przy konwersjido postaci OAV wektory wCRK, w których stopień powiązania był wartościąujemną można było zastępować antonimami z przeciwną wartością. Trzebajednak mieć na uwadze, że takiego zabiegu nie można wykonywać dla każdejcechy, np.: faktu not full eyes nie można było zastąpić przez empty eyes,gdyż sformułowanie empty eyes nie jest naturalnym zwrotem występującymw języku.

Na podstawie otrzymanych w ten sposób relacji semantycznych zostaływygenerowane opisy w języku DOT6, które następnie zostały zobrazowanegraficznie programem Graphviz7. Rysunki 4.1, 4.2, 4.3 przedstawiają frag-menty uzyskanych pamięci semantycznych dla pojęć z różnych dziedzin.6http://en.wikipedia.org/wiki/DOT language7http://www.graphviz.org/

Page 35: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 4. WYKONANE DOŚWIADCZENIA 34

Rysunek 4.1: Graf przedstawiający fragment stworzonej sieci.

Rysunek 4.2: Graf przedstawiający fragment stworzonej sieci.

Page 36: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 4. WYKONANE DOŚWIADCZENIA 35

Rysunek 4.3: Graf przedstawiający fragment stworzonej sieci.

4.1.1 Wykorzystanie słownika WordNet

Tworzenie pamięci semantycznej wspomagane było także zasobami zgro-madzonymi w WordNecie.

• Parser wyszukiwał w nim synonimy oraz antonimy dla predykatów.

• Nazwy ras psów w danych dostępnych w Wikipedii nie zawsze byłyidentyczne z używanymi przez FCI, ale dzięki wyszukiwaniu synonimówudało się przezwyciężyć ten problem.

• Wyszukiwanie antonimów umożliwiło pilnowanie, aby do opisu obiektuw pamięci nie zostały jednocześnie wprowadzone z przeciwnymi war-tościami stopnia powiązania dwie cechy będące antonimami (np.: jeśliobiekt miał już przypisaną cechę hairless z ujemną wartością, to nieprzypisywano już mu informacji have coat z wartością dodatnią).

• Zostały wykorzystane relacje taksonomiczne występujące w WordNecie(hiperonimy oraz hiponimy).

• Sprawdzanie możliwych tagów dla słowa umożliwiło wychwytywaniebłędów wynikających z niepoprawnych oznaczeń części mowy.

Baza ta zawiera także meronimy, jednakże obiekty w wybranej dziedzinie ichnie posiadały.

Page 37: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 4. WYKONANE DOŚWIADCZENIA 36

4.1.2 Wyniki

Stworzona pamięć semantyczna została poddana ocenie polegającej nasprawdzeniu, czy rasy psów posiadają na tyle bogate opisy, że możliwe jestich rozróżnienie. W tym celu dokonano testów programem do drążenia danychWeka8. Wykorzystano klasyfikatory oparte o drzewa decyzyjne: J48 (wariantalgorytmu C4.5) oraz OneR. Wykonano również test programem generują-cym drzewa decyzyjne autorstwa Piotra Olszaka [26]. Testy wykazały, żemożliwe jest odróżnienie jedynie połowy ras psów. Wynik taki spowodowanyjest dwoma czynnikami:

• Niedoskonałością parsera, któremu nie udało się wydobyć wszystkichcech zgromadzonych w postaci tekstów opisujących psy.

• Niepełnością opisów tekstowych. Nawet wydobywając komplet asocjacjiz opisów niemożliwe by było rozróżnienie wszystkich ras.

Można z tego wyciągnąć wniosek, że opisy tworzone przez ludzi częstonie zawierają zbioru cech pozwalającego jednoznacznie wyróżnić przedmiotopisu. W opisach przeważnie pomijane są oczywiste dla człowieka cechy cha-rakteryzujące obiekt, dlatego bardzo ważne jest stworzenie common senseknowledge (więcej o próbie stworzenia takiej bazy w projekcie ConceptNet wrozdziale 3.2.3) i umieszczenie jej w pamięci semantycznej.

4.2 Modele pamięci

W praktyce przetestowane zostały dwa modele pamięci semantycznej.Pierwszym z nich była pamięć semantyczna, w której obiekty były opisywa-ne wektorami zawierającymi wszystkie ich cechy (rozdział 2.2). Dla każdegopojęcia z dziedziny (rasy psa) zapisywany był wektor zawierający wartościkażdej z możliwych cech (lub puste pole w wypadku kiedy wartość jakiejś ce-chy była nieznana). Nie jest to podejście ekonomiczne, gdyż zapisywane byłyrównież informacje o braku wiedzy dotyczącej nieznanych wartości cech. Zdrugiej strony dzięki takiemu zapisowi można było bardzo szybko odczytaćwartość każdej z cech. Wyszukiwanie najbardziej podobnego obiektu wiązałosię z obliczeniem miary podobieństwa (wzór 2.1) do każdego obiektu znajdu-jącego się w pamięci. Najwygodniejszą metodą przeglądania takiego modelupamięci okazało się zapisanie jej w postaci tabeli, gdzie kolumny określa-ły kolejne obiekty, wiersze zawierały cechy, a w komórce znajdującej się naprzecięciu kolumny i wiersza zapisywane były wartości cechy danego obiektu.

8http://www.cs.waikato.ac.nz/ml/weka/

Page 38: Rozdział 2 Modele pamięci semantycznej

ROZDZIAŁ 4. WYKONANE DOŚWIADCZENIA 37

Drugi przetestowany model był siecią semantyczną (rozdział 2.1). Każdepojęcie z dziedziny zawierało relacje taksonomiczne określające jego miejscew hierarchii. Pojęcia zawierały połączenia tylko z cechami dla nich charak-terystycznymi, a cechy bardziej ogólne zapisywane były przy pojęciach wy-stępujących wyżej w hierarchii. Jest to podejście ekonomiczne pamięciowo,gdyż dla wielu podobnych pojęć posiadających pewną cechę wspólną wy-starczyło tylko raz zapisać fakt posiadania tej cechy. Wypisanie wszystkichcech charakteryzujących koncept wymagało przejścia przez wszystkie pojęcianadrzędne. Aby odnaleźć podobny obiekt wystarczy odnaleźć najbliższe po-jęcie w grafie. Najwygodniejszą metodą przeglądania takiego modelu pamięciokazało się przedstawienie sieci powiązań w postaci graficznej.

Obydwa modele okazały się być dobre do pracy z wąską dziedziną, którąbyły rasy psów. Model, w którym obiekty zapisywane były poprzez wektoryokreślające wartości cech, dla większej bazy wiedzy będzie nieefektywny zewzględu na złożoność pamięciową oraz obliczeniową. Model wykorzystującysieć powiązań wydaje się być dobry również do pracy z większą bazą.

Page 39: Rozdział 2 Modele pamięci semantycznej

Bibliografia

[1] Eric Brill. Automatic grammar induction and parsing free text: atransformation-based approach. Proceedings of the 31st annual meetingon Association for Computational Linguistics, strony 259–265, Morri-stown, NJ, USA, 1993. Association for Computational Linguistics.

[2] Eric Brill. Transformation-based error-driven learning and natural lan-guage processing: a case study in part-of-speech tagging. Comput. Lin-guist., 21(4):543–565, 1995.

[3] Eric Brill, Philip Resnik. A rule-based approach to prepositional phraseattachment disambiguation. Proceedings of the 15th conference on Com-putational linguistics, strony 1198–1204, Morristown, NJ, USA, 1994.Association for Computational Linguistics.

[4] Robin Burgener. Artificial neural network guessing method and game,Październik 2006. European Patent No. EP1710735.

[5] Noam Chomsky. Syntactic Structures. Mouton, The Hague, Nether-lands, 1957.

[6] Allan M. Collins, Elizabeth F. Loftus. A spreading-activation theoryof semantic processing. Psychological Review, 82(6):407–428, Listopad1975.

[7] Allan M. Collins, M. Ross Quillian. Retrieval time from semantic me-mory. strony 191–201, 1995.

[8] Evangelos Dermatas, George Kokkinakis. Automatic stochastic taggingof natural language texts. Comput. Linguist., 21(2):137–163, 1995.

[9] Luca Dini, Vittorio Di Tomaso, Frederique Segond. Error driven wordsense disambiguation. Proceedings of the 17th international conferenceon Computational linguistics, strony 320–324, Morristown, NJ, USA,1998. Association for Computational Linguistics.

38

Page 40: Rozdział 2 Modele pamięci semantycznej

BIBLIOGRAFIA 39

[10] Griffiths, L. Thomas, Steyvers, Mark, Firl, Alana. Google and the mind:Predicting fluency with pagerank. Psychological Science, 18(12):1069–1076, Grudzień 2007.

[11] Thomas R. Gruber. Toward principles for the design of ontologies usedfor knowledge sharing. Int. J. Hum.-Comput. Stud., 43(5-6):907–928,1995.

[12] Heyan Huang, Xiaofei Zhang. Part-of-speech tagger based on maximumentropy model. Computer Science and Information Technology, Inter-national Conference on, 0:26–29, 2009.

[13] F. Jelinek. Self-organized language modeling for speech recognition.Readings in speech recognition, strony 450–506, San Francisco, CA, USA,1990. Morgan Kaufmann Publishers Inc.

[14] Andre Kempe. Finite state transducers approximating hidden markovmodels. CoRR, cmp-lg/9707006, 1997.

[15] Julien Kupiec. Probabilistic models of short and long distance worddependencies in running text. HLT ’89: Proceedings of the workshop onSpeech and Natural Language, strony 290–295, Morristown, NJ, USA,1989. Association for Computational Linguistics.

[16] T. K. Landauer, S. T. Dumais. Solution to plato’s problem: The latentsemantic analysis theory of acquisition, induction and representation ofknowledge. Psychological Review, (104), 1997.

[17] V. I. Levenshtein. Binary codes capable of correcting deletions, inser-tions and reversals. Soviet Physics Doklady, 10:707+, Luty 1966.

[18] E. Loper, S. Bird. Nltk: The natural language toolkit. Maj 2002.

[19] Bao-Liang Lu, Qing Ma, Michinori Ichikawa, Hitoshi Isahara. Efficientpart-of-speech tagging with a min-max modular neural-network model.Applied Intelligence, 19(1-2):65–81, 2003.

[20] Christopher D. Manning, Hinrich Sch utze. Foundations of StatisticalNatural Language Processing. The MIT Press, 1999.

[21] Lluıs Marquez, Lluıs Padró, Horacio Rodrıguez. A machine learningapproach to pos tagging. Mach. Learn., 39(1):59–91, 2000.

Page 41: Rozdział 2 Modele pamięci semantycznej

BIBLIOGRAFIA 40

[22] Erwin Marsi, Antal van den Bosch, Abdelhadi Soudi. Memory-basedmorphological analysis generation and part-of-speech tagging of arabic.Semitic ’05: Proceedings of the ACL Workshop on Computational Ap-proaches to Semitic Languages, strony 1–8, Morristown, NJ, USA, 2005.Association for Computational Linguistics.

[23] Michael McCloskey, Sam Glucksberg. Natural categories: Well definedor fuzzy sets? Memory and Cognition, 6(4):462 – 472, 1978.

[24] Michael McCloskey, Sam Glucksberg. Decision processes in verifyingcategory membership statements: Implications for models of semanticmemory. Cognitive Psychology, 11(1):1 – 37, 1979.

[25] George A. Miller, Richard Beckwith, Christiane Fellbaum, Derek Gross,Katherine Miller. Wordnet: An on-line lexical database. InternationalJournal of Lexicography, 3:235–244, 1990.

[26] Piotr Olszak. Rozpoznawanie obiektów na zdjęciach poprzez zadawa-nie minimalnej liczby pytań. Praca magisterska, Uniwersytet MikołajaKopernika, Toruń, 2010.

[27] J.G.W. Raaijmakers, R.M. Shiffrin. Search of associative memory. Psy-chological Review, 88(2):93 – 134, 1981.

[28] Emmanuel Roche, Yves Schabes. Deterministic part-of-speech taggingwith finite-state transducers. Comput. Linguist., 21(2):227–253, 1995.

[29] John F. Sowa. Top-level ontological categories. Int. J. Hum.-Comput.Stud., 43(5-6):669–685, 1995.

[30] J. Szymański, T. Sarnatowicz, W. Duch. Towards avatars with artificialminds: Role of semantic memory. Journal of Ubiquitous Computing andIntelligence, 2007.

[31] Julian Szymański. Wyszukiwanie kontekstowe w pamięci semantycznej.Rozprawa doktorska, Politechnika Gdańska, Gdańsk, Luty 2009.

[32] Kristina Toutanova, Dan Klein, Christopher D. Manning, Yoram Singer.Feature-rich part-of-speech tagging with a cyclic dependency network.NAACL ’03: Proceedings of the 2003 Conference of the North AmericanChapter of the Association for Computational Linguistics on HumanLanguage Technology, strony 173–180, Morristown, NJ, USA, 2003. As-sociation for Computational Linguistics.

Page 42: Rozdział 2 Modele pamięci semantycznej

BIBLIOGRAFIA 41

[33] E. Tulving, D. L. Schacter. Priming and human memory systems. Scien-ce (New York, N.Y.), 247(4940):301–306, Styczeń 1990.

[34] Lucy Vanderwende, Gary Kacmarcik, Hisami Suzuki, Arul Menezes.Mindnet: an automatically-created lexical resource. Proceedings ofHLT/EMNLP on Interactive Demonstrations, strony 8–9, Morristown,NJ, USA, 2005. Association for Computational Linguistics.

[35] F. Vargha-Khadem, D. G. Gadian, K. E. Watkins, A. Connelly,W. Van Paesschen, M. Mishkin. Differential effects of early hippocam-pal pathology on episodic and semantic memory. Science (New York,N.Y.), 277(5324):376–380, Lipiec 1997.