Microsoft MindNet

Prologos:
Praca ta ma na celu przybliżenie i próbę wyjaśnienia czym jest tworzony przez firmę Microsoft MindNet. Nie jest to praca literacka i nie było zamiarem stworzenie takowej pracy. Moim celem było raczej zebranie faktów na temat MindNetu - w jaki sposób został stworzony, jak można go obecnie używać, gdzie jest wykorzystywany.


  1. Natural Language Processing - Analiza Języka Naturalnego
    1. Rozumienie języka naturalnego
      1. Potrzebna jest baza wiedzy semantycznej i syntaktycznej
  2. MindNet
    1. Budowa sieci semantycznej
      1. Ocena jakości związków.
      2. Analiza
  3. Po co to komu?
    1. Interpretacja sekwencji rzeczownikowych
    2. Rozumienie przenośni
    3. Machine Translation
    4. Brak wiedzy
    5. MS Office
  4. Podobne projekty - jednojęzyczne
    1. Anglojęzyczne
      1. FrameNet
      2. OpenCYC
      3. WordNet
    2. 日本語
      1. Nihongo goi-taikei
      2. EDR - Electronic Dictionary
  5. mnex (ネックス) - MindNet Explorer
  6. Exodus
  7. Bibliografia

1 Natural Language Processing - Analiza Języka Naturalnego

1.1 Rozumienie języka naturalnego

Problemem jakim AI stawia sobie od dość długiego czasu, jest problem rozumienia ludzi i rozumienia języka naturalnego. Od samych początków AI, marzą nam się roboty, które będą mogły się z nami porozumiewać używając naszego, często dość potocznego języka, czy wykonywać nasze polecenia wydawane głosem, ale nie na zasadzie prostych reakcji, ale rzeczywistego rozumienia. By to stało się możliwe potrzebna jest wiedza oraz rozwój w dziedzinie Analizy Języka Naturalnego.
AJN zajmuje się nie tylko problemami stworzenia inteligentnego robota, czy choćby chatterbota, ale także problemami tłumaczenia maszynowego, analizą idiomów, metafor czy porównywaniem sensu tekstów.

Nie zamierzam się tutaj zagłębiać, czy 'komputery' (gdzie przez komputer tu i dalej rozumiem komputer, stacjonarny, bądź robota, który wykonuje program AI) są w stanie rozumieć język naturalny, czy nie. Na ten temat lingwiści i filozofowie kłócą (czy też jak kto woli dyskutują) od przeszło dwudziestu lat (m.in. Searle, Dretske, Rapaport, Shapiro).

Moim zdaniem, komputer może rozumieć język naturalny.
Mało tego, jestem zdania, że komputer może posiadać. Skoro może mieć swoistą świadomość posiadanej wiedzy (n.p.: potrafi odpowiedzieć: 'Przykro mi, ale nie mogę udzielić Ci informacji na ten tamat', to znaczy, że zna stan swojej wiedzy, a konkretnie stan swojej sieci semantycznej), to znaczy, że możemy mówić o posiadaniu. Mało tego, jeżeli jego sieć zawierałaby informację na temat podzespołów z których składa się on sam i jest w stanie stwierdzić: 'tak, posiadam taki-a-taki podzespół', to czy możemy powiedzieć, że tak nie jest?

Co do rozumienia, Rapaport stawia następujące pytanie: 'Czy rozumie on to, że rozumie język naturalny?' i idąc dalej: ' Czy może rozumieć, że rozumie?'

1.1.1 Potrzebna jest baza wiedzy semantycznej i syntaktycznej

Zanim maszyny będą w stanie nas zrozumieć, stoi przed nami problem budowy bazy wiedzy semantyczno-syntaktycznej. O ile sama składnia nie jest problem, brak wiedzy stanowi dość poważną przeszkodę.
MindNet ma właśnie służyć jako baza wiedzy semantycznej i syntaktycznej.

Przed przystąpieniem do dalszego czytania, sugeruję zapoznać się z następującą mapą myśli, co może ułatwić orientowanie się w dokumencie.

2 MindNet

Wprowadzenie

Pracownicy Microsoftu określają terminem MindNet zarówno samą mapę umysłu - zasób słownikowy, jak i program do tworzenia tychże map. Do którego znaczenia będę się odnosił w dalszej części pracy, powinno wynikać z kontekstu.

MindNet jest zbiorem związków semantycznych budowanym w całkowicie zautomatyzowanym procesie na podstawie danych tekstowych, głównie ze słowników (początkowo słowników on-line). Przez to jednak, że cały proces jest zautomatyzowany, tracimy na dokładności reprezentowanych relacji.

Projekt jest rozwijany równocześnie dla języka japońskiego i angielskiego.

Dalekosiężne plany grupy NLP firmy Microsoft, to między innymi stworzenie systemu rozumiejącego język naturalny.

Warto zwrócić uwagę, że w pracy (RDV-98) z roku 1998 autorzy pokazują zbiór 24 relacji, podczas gdy aktualna (czerwiec 2006) wersja rozróżnia około 44 relacji.

2.1 Budowa sieci semantycznej

  • Analiza zależności między słowami początkowo była przeprowadzona przez ten sam parser co w module do sprawdzania gramatyki w programie Microsoft Word 97. Obecnie używany jest parser o nazwie NLPwin.
  • ogólna i szeroka AJN będzie możliwa tylko po połączeniu wielu słowników on-line, jak również analizie encyklopedii i innych źródeł.

Jak już wspomniałem wcześniej MindNet jest swoistą siecią semantyczną, w której związki są reprezentowane jako skierowane nazwane powiązania dwóch wyrazów. (Lista rozpoznawanych obecnie związków została ujęta w tabelce poniżej)

Gdy analizowana jest definicja encyklopedyczna tworzona jest struktura związków semantycznych. Tworzy ona specyficzne drzewo. Przykłady będzie można zobaczyć w dziale poświęconym MindNet Explorerowi.

Struktura może być 'oglądana' z punktu widzenia dowolnego słowa ze zdania, takie struktury nazywane są 'odwróconymi' (w stosunku do pierwotnych).

  • Każda struktura obejmuje wszystkie związki z danej sentencji.
  • Obecnie związki pomiędzy słowami zawierają wagi (więcej na ten temat w dalszej części). Wagi te są stałe, zależą ściśle od struktury sieci, choć w przyszłości mają się zmieniać w zależności od wędrowania po sieci semantycznej i od ostatniego kontekstu.
Zbiór wszystkich relacji rozpoznawanych przez MindNet:
Appostn Attrib Benef Cause Classifier
CoAgent Conditn Crds DegreeMods Domain
Duration Equiv Goal Hyp Interj
Intnsifs LAgent LOps Locn Manner
Matr Means Measure Mod Modals
Parenthtcl Part Pcs Possr PrepRel
Props Purp Result SMods Sequent
Source SubClass Syn Time Tind
Tobj Tsub Unsp Vocs

2.1.1 Ocena jakości związków.

Ponieważ MindNet jest generowany automatycznie należałoby przeprowadzić analizę, na ile generowane przez niego struktury są właściwe i na ile dobrze obrazują rzeczywistość.

Pracownicy NLP Group nie przeprowadzali dokładnej oceny jakości związków, jednak zaobserowali, że poprawność zależy od rodzaju związku (n.p.: Hypernym (uogólnienie), Typical Subject (typowy podmiot) Typical Object (typowe dopełnienie) są dosyć właściwie rozpoznawane, podczas gdy poprawność relacji Part (część czegoś) czy Purpose (cel czegoś) jest juĹź mniejsza).

2.1.2 Analiza

W fazie rozwojowej projektu MindNet parsowane były dane ze słownika: Longman Dictionary of Contemporary English, później także American Heritage Dictionary. Obecnie jako źródło danych używana jest Encyklopedia Microsoft Encarta.

Być może wydaje się to oczywiste, ale warto o tym wspomnieć: przy parsowaniu, czasowniki są sprowadzane do bezokolicznika.

  1. Jak MindNet radzi sobie z polisemią?

    Problem polisemii nie dotyczy MindNetu. W MindNecie nie można mówić o czymś takim jak 'znaczenie słowa'. Rozumienie słowa przez system to nic innego jak ślad aktywacji w jego sieci semantycznej.

    Weźmy przykład z dokumentu (DVR-00). Rozważmy słowo handle w dwóch znaczeniach handle of door (klamka u drzwi) oraz handle of sword (rękojeść miecza). Między słowami uchwyt (handle) a drzwi powstają całkiem inne połączenia niż pomiędzy uchwyt a miecz. Także analizowanie słów handle i sword zwróci nam całkiem inne wyniki niż handle i door.

    Jest to jedna z rzeczy jaka odróżnia MindNet od n.p. WordNetu. MindNet nie rozdziela więc polisemów, gdzyż sam kontekst pozwala wystarczająco odfiltrować niepasujące połączenia z sieci. Ma to swoje konsekwencje, mianowicie bez kontekstu językowego używanie sieci nie jest zbyt sensowne. Niepoprawne łańcuchy wnioskowań będą się mnożyć i uniemożliwią próby podróżowania po sieci bez znajomości kontekstu.

    Świadczy to również o innej rzeczy. AI sugeruje, że słowa same w sobie, to za mało do analizy semantycznej. Leksykalna analiza, która ma miejsce w przypadku MindNetu ma lingwistyczną naturę. Jeżeli mowa o MindNecie, to kontekst to nie tylko ramka n zdań czy zdań z opisanymi częściami mowy, ale raczej zestaw połączeń, pozwalający na dużo większą manipulację zdaniami.

    Polisemia

  2. Implementacja sieci semantycznej

    Wyciągnięte z sentencji związki są zapisywane w postaci atrybut-wartość, dla danego słowa, przy czym jeżeli istnieje związek między słowami A i B to informacja o tym związku jest zapisywana zarówno przy wpisie dla słowa A jak i dla słowa B.

  3. Słownik jako sieć

    W przypadku tradycyjnych słowników jedynym sposobem na poznanie słowa, jest znalezienie jego definicji i odkrywanie semantycznych właściwości poprzez wyszukiwanie słów wspomnianych w jego definicji (forward-chaining). W przypadku jednak słowników czy encyklopedii internetowych dla zbudowania sieci semantycznej danego słowa możliwe jest sprawdzanie nie tylko definicji danego słowa, lecz także definicji wszystkich słów, które się do niego odwołują. Dla przykładu wpisanie słowa pies na sjp.pwn.pl spowoduje, że między innymi proponowanymi pokaże nam się słowo 'obroża', w której definicji występuje 'pies'.

  4. Analiza heurystyczna powstałych po parsowaniu struktur

    Identyfikacja wystąpień wzorców leksykalnych i syntaktycznych, które są łączone z określonymi relacjami semantycznymi takimi jak Instrument czy Location.

    Dla przykładu, żeby swierdzić, że coś jest usytuowaniem, stosowane są następujące dwie proste heurystyki [dla gramatyki języka angielskiego!]:

    • jeżeli zdanie jest podrzędnie złożone, względne, i zaimek względny zawiera się w zestawie {gdzie, w którym, na którym} (where, in which, on which), wówczas istnieje związek Location pomiędzy definiowanym słowem a czasownikiem ze zdania podrzędnego.
    • termin definujący należy do grupy {miejsce, obszar, przestrzeń, ...} i zawiera frazę przyimkową, z przyimkiem of, wówczas istnieje związek Location pomiędzy definiowanym słowem a rzeczownikiem z frazy przyimkowej

    Problemy semantyczne:

    • z tego, że wiemy, że kość jest częścią szkieletu u kręgowców, oraz, że łosoś jest rybą, nie wynika, że łosoś ma kości, potrzebujemy informacji, że ryby są kręgowcami
    • weźmy zdanie: 'Przestudiowałem XIX wiek do tego rozdziału'. Każdy człowiek, domyśli się, że w celu napisania, bądź przeczytania rozdziału, musiałem przestudiować XIX wiek. System automatyczny będzie miał problem czy frazę przyimkową 'do tego rozdziału' odnieść do XIX wieku, czy do samej czynności studiowania.
    • brak wiedzy

3 Po co to komu?

Sieci semantyczne mogą służyć, do rozwiązywania rozmaitych problemów a także do badań rozwojowych, postaram się przybliżyć kilka, w których MindNet znalazł albo bez problemu mógłby znaleźć zastosowanie.

3.1 Interpretacja sekwencji rzeczownikowych

Problem wywodzi się z semantycznej natury tego zagadnienia. Żeby móc zinterpretować, iż beton jest składnikiem podłogi w wyrażeniu concrete floor (podłoga betonowa) ale, że podłoga jest obiektem w sali gimnastycznej w gymnasium floor (podłoga/parkiet sali gimnastycznej), potrzebna nam wiedza semantyczna. Podobnie Interrupt Descriptor Table Register (rejestr tablicy deskryptorów przerwań).

Programiści pracujący nad projektem MindNet stworzyli algorytm oparty na automatycznie generowanej sieci semantycznej. Manipuluje on ogólnymi regułami, które mają przypisane wagi. Dodatkowo stosowana jest procedura/reguła dopasowania słów, która zwraca wagę, mówiącą o tym jak blisko słowa są ze sobą związane. Informacja ta opiera się o dane wyciągnięte automatycznie poprzez MindNet.

Algorytm zwraca w wyniku uporządkowany zestaw interpretacji i częściowe wyjaśnienie dwuznaczności.

Szczegółowy opis algorytmu wraz z opisem w jaki sposób nadawane są wagi znajduje się w (V-94)

3.2 Rozumienie przenośni

Oczywistym faktem jest, że rozumienie metafor przez systemy maszynowe jest trudnym problemem. Okazuje się, że na podstawie danych wyciągniętych ze słownika, można interpretować przenośnie, bez budowania w danym programie, czy aplikacji specjalnego modułu do interpretowania przenośni.

Należy zauważyć, że same słowniki czy encyklopedie przy danych wpisach zawierają oprócz samej definicji, także przykłady użycia, między innymi znaczenia literackie czy po prostu przykładowe metafory.

MindNet Explorer - przykłady

3.3 Machine Translation

Projekt MSR-MT czyli Microsoft Research Machine Translation korzysta z MindNetu. Sekwencje z dwujęzycznych słowników są dzielone na tak zwane formy logiczne (logical form), między którymi następnie tworzone jest mapowanie, między jednym językiem a drugim. Formy logiczne są umieszczane właśnie w MindNecie.

Microsoft używa MT do tłumaczenia dokumentów technicznych rozpowszechnianych wewnątrz firmy. Spoglądając na niektóre komunikaty w systemach rodem z Redmond mam wrażenie, że nie tylko do tego...

3.4 Brak wiedzy

Brak wiedzy stanowi problem jeśli chodzi o zagadnienia związane nie tylko z samą analizą języka naturalnego, ale także AI wogóle. W odniesieniu do NLP, ciężko zrozumieć 'sens' zdania, jeśli posiadana wiedza jest mała. "Abym rozumiał to co ty mówisz, muszę zapewnić semantyczną interpretację dla twoich wypowiedzi" (William J. Rapaport, 1988 - Syntactic Semantics). Jeżeli w naszych sieciach semantycznych będą te same słowa, ale będą związane z innym znaczeniem, czy w trakcie rozmowy można mówić o 'zrozumieniu'? Jak wytłumaczyć osobie niesłyszącej, czym jest dźwięk?

Nie chodzi o sam brak wiedzy, wiedza jest, ale najczęściej specjalistyczna, najczęściej ciężko o wiedzę podstawową. Bez wiedzy podstawowej analizowanie wiedzy specjalistycznej nie wydaje się być sensowną czynnością.

3.5 MS Office

Części pracy których dokonują pracownicy NLP Group, są włączane do pakietu Office. Już od jakiegoś sprawdzanie gramatyki (zanim się doczekamy na sensowne sprawdzanie polskiej gramatyki, to minie pewnie sporo czasu) jest obecne w pakiecie Office, jednak jego jakość pozostawia sporo do życzenia.

Myślę, że po jakimś czasie zostanie opracowany system sprawdzający gramatykę w oparciu o MindNet, być może doczekamy się również tłumaczenia maszynowego wbudowanego w pakiet biurowy Office.

4 Podobne projekty - jednojęzyczne

MindNet powstał głównie dlatego, że ręczna budowa baz leksykalnych, czy sieci semantycznych jest zbyt praco i czasochłonna. Przedstawię pokrótce kilka podobnych projektów i co odróznia je od MindNetu.

4.1 Anglojęzyczne

4.1.1 FrameNet

FrameNet jest próbą stworzenia leksykonu języka angielskiego, przy czym w chwili obecnej bardziej brytyjskiego niż amerykańskiego. FrameNet jest tworzony ręcznie. Każde słowo czy sformułowanie jest umieszczane w tak zwanej ramce semantycznej. Twórcą tego projektu jak i teorii semantyki ramek jest Charles J. Fillmore.

FrameNet

4.1.2 OpenCYC

OpenCyc jest otwartą i wolnodostępną wersją systemu Cyc, stworzonego przez Doug'a Lenata. Ponieważ każdy informatyk musi robić wszystko po swojemu, więc jak się można domyslić Cyc nie opiera się ani o ramki ani o połączenia między słowami jakie tworzy MindNet. OpenCyc opiera się o 'przypisania' pogrupowane w mikroteorie. Przypisania są zbudowane w opartym na logice języku, stworzonym dla potrzeb projektu. OpenCyc jest także ręcznie tworzony.

OpenCyC

4.1.3 WordNet

Jak i pozostałe projekty, jest również ręcznie tworzony. WordNet jest leksykonem języka angielskiego, który łączy w sobie cechy słownika i tezaurusa. WordNet grupuje synonimy w zestawy. WordNet nie stara się tworzyć żadnej struktury między słowami, czy w jakikolwiek inny sposób (niż grupowanie synonimów) grupować słów.

WordNet

4.2 日本語

4.2.1 Nihongo goi-taikei

Nihongo goi-taikei - hierarchiczny, (dosłownie) Słownikowy System języka japońskiego. Jest podzielony na trzy systemy cech semantycznych (semantic attribute systems): rzeczowników, nazw własnych i czasowników. Sam zestaw podzielony jest na trzy części:

  • Opis i wprowadzenie do leksykonu wraz z trzema systemami cech semantycznych i listą słów,
  • słownik słów, opisujący części mowy, wymowę i kategorię semantyczną,
  • japońsko-angielskie wzory walencji czasowników, z zastrzeżeniem do jakich kategorii semantycznych mogą należeć słowa 'dołączane', posortowane według japońskich i angielskich czasowników.

System Słownikowy języka japońskiego opiera się o wymyślone przez wspomnianego już wcześniej Charles'a J. Fillmore'a w 1968 roku schematy gramatyk przypadków (case frame).

Walencja

4.2.2 EDR - Electronic Dictionary

EDR składa się z jedenastu podsłowników, podzielonych na pięć kategorii:

  • słowne, w których oprócz słów zawarta jest informacja gramatyczna, semantyczna, pragmatyczna oraz inne dodatkowe
  • dwójęzyczne - zestaw dwójęzycznych rekordów, z których każdy zawiera informację o haśle, informację gramatyczną, semantyczną i 'dwójęzyczną'.
  • pojęciowe - zestaw rekordów klasyfikacji pojęć. Każdy zawiera informację o wpisie i definicję klasy. Pozwala to na uogólnienia i uszczegółowienia n.p.: szkoła jako uogólnienia zawiera organizację budynek i funkcję, natomiast jako uszczegółowienia: szkoła podstawowa czy uniwersytet, oraz tworzenie relacji takich jak: agent, narzędzie czy miejsce.
  • współwystąpień - w japońskim słowniku współwystąpień niezmienna część słów jest bazą dla angielskiego słownika. Para współwystąpująca, to taka która występuje w podobnych ilościach i przykładowych sekwencjach.
  • techniczne - w ich skład wchodzą: jedno i dwójęzyczne słowniki terminów techniczny, słownik klasyfikacji pojęć technicznych, słowniki współwystąpień. Głównie zawierają terminy komputerowe i dotyczące przetwarzania informacji.

Do tego dochodzi tak zwany 'EDR Corpus'.

Praca nad EDRem trwała 9 lat (1986-1994) i była finansowana przez Japan Key Technology Center oraz osiem dużych koncernów komputerowych (wszystkie z Japoni!).

5 mnex (ネックス) - MindNet Explorer

Na koniec postanowiłem zostawić ciekawe narzędzie związane bezpośrednio z MindNetem czyli MindNet Explorer. MindNet Explorer jest interfejsem webowym pozwalającym na łatwe przeglądanie danych zawartych w sieciach. Spełnia on dwie główne czynności:

  • wyświetla wszystkie ścieżki od podanego przez użytkownika słowa do innych
  • wyświetla ścieżki między słowami wprowadzonymi przez użytkownika
Jak już było wspomniane wcześniej, między dwoma dowolnymi związanymi ze sobą słowami ustalane są na stałe, w procesie budowania sieci, wagi. ścieżki, które mają zostać wyświetlone zostają najpierw posortowane malejąco według wag.

Pomijając WordNet, który zdecydowanie ma mniejszą funkcjonalność, w porównaniu z interfejsem FrameNetu czy bardzo skomplikowanym w CyCu, mnex jest bardzo prosty do zrozumienia i łatwy w użyciu.

Teraz kilka przykladów, co ciekawego można zrobić z MindNetem:
(MindNet jest dostępny pod adresem: http://atom.research.microsoft.com/mnex/)

  • Na początek chcemy zobaczyć z czego składa się pies? Wpisujemy więc w pierwsze z pól dog i wybieramy relację 'Part->'
    Po lewej stronie widać, że pies posiada: włosy, nogi, głowę, etc. Po prawej natomiast są linki do haseł, z których relacja 'Part->' została wyłuskana.
  • Teraz zobaczmy, jakie są uogólnienia psa, w tym celu wybieramy relację 'Hyp->' (czyli Hyponym)
    Widzimy, że pies jest ssakiem, osobą (!), samcem, przyjacielem etc.
    Zastrzeżenia może budzić drugi termin, jeżeli jednak klikniemy w linki do definicji słownikowych: dog106.0 oraz dog108.0 dowiemy się, że terminem pies określa się osobę nieatrakcyjną, nieciekawą lub godną pogardy.
  • Możemy też sprawdzić jakie połączenia zwracają wspomniane wcześniej kombinacje door handle oraz sword handle
  • Teraz coś ciekawszego wybierzmy nieopisaną w pomocy i niedostępną w rozwijanej liście relację (Preposition - przyimkową) dla połączeń słów score game oraz score argument, chodzi nam o znalezienie wyrażenia punktować/punkty (score) w odniesieniu do gry jak i w odniesieniu do argumentacji (zdobyć przewagę) (te linki mogą czasem nie zadziałać także trzeba popróbować kilka razy).
    Widać, że score i game łączą się za pomocą takich przyimków jak in, of, for (wynik w grze, wynik gry, punkty za), natomiast score i argument zwrócił łączność jedynie poprzez przyimek in
Spróbujmy teraz japońskiej wersji mnexa:
  • Poszukajmy uszczegółowień (czyli 'odwrotnych hiponimów' '<-Hyp') dla terminu ゲーム (gamu - game, gra) (lub inaczej, dla jakich terminów, termin gra jest uogólnieniem).
    Jako pierwszy mamy 碁 - ご czyli go, jeśli spojrzymy na definicję, dowiemy się między innymi, że plansza do go ma 19x19 pól, gra się na zmianę czarnymi i białymi kamieniami oraz że chodzi głównie o to by okrążyć przeciwnika...
MindNetu możnaby użyć w bardzo prosty sposób do budowania nieskomplikowanych zdań.
  • Weźmy najpierw typowe podmioty czasownika śpiewać (sing) [Relacja Tsub - typical subject].
    Są tam takie słowa jak: people (ludzie), singer (piosenkarz), person (osoba), man (człowiek), etc.
  • Teraz weźmy typowych dopełnień. Najwyższą wagę ma song (piosenka, pieśń) [Relacja Tobj - typical object].
  • Poszukajmy teraz cech piosenki [Relacja Attrib - attribute].
    Dostajemy w wyniku słowa takie jak: popular, old, short, melodious (kolejno: popularna, stara, krótka, melodyjna).
Jeżeli dodamy trochę gramatyki, możemy już ułożyć takie n.p. proste zdania:
People are singing popular song. (Ludzie śpiewają znaną piosenkę).
The man sang "Ol' Man River". (Mężczyzna zaśpiewał "Ol' Man River").

Jedna rzecz zaintrygowała mnie badając różne relacje przy pomocy mnexa, mianowicie:
  • Jeżeli wybierzemy atrybuty mężczyzny dostajemy listę 510 powiązanych słów (jest to maksymalna liczba relacji jaką możemy zobaczyć w mnexie, ograniczone przez programistów).
  • Jeżeli weźmiemy hiponimy Casanovy, jako pierwszy dostajemy man...
  • Jeżeli teraz weźmiemy cechy Casanovy, dostajemy zaledwie dwa słowa...
...oznacza to, że nasz Casanova nie dziedziczy cech, po obiekcie, który go uogólnia, czyli po mężczyźnie jako takim. Nie jestem do końca pewien, czy taki był zamiar programistów MindNetu, jednak jest to dość zastanawiające.
Jak widać, było na prezentowanych w tym punkcie przykładach, MindNet znajduje różne związki, nawet takie, o których byśmy nie pomyśleli w pierwszej kolejności...

6 Exodus

Mam nadzieję, że udało mi się przybliżyć, czym jest MindNet i w jaki sposób można używać MindNet Explorera, czyli stworzonego dla niego interfejsu webowego. Mam również cichą nadzieję, że praca ta zachęci przynajmniej kilka osób, do testowania i odkrywania możliwości mnex'a i samego MindNetu.

Moim zdaniem słuszne jest podejście jakie proponuje MS NLP Group. Mam tu na myśli automatyzację procesu budowania sieci semantycznej. Być może praca nad ręcznie tworzonymi leksykonami, czy bazami semantycznymi jest dokładniejsza (chociaż tu bym się sprzeczał, ludzie zawodzą, komputery co najwyżej są źle zaprogramowane), jednak moim zdaniem jest nieopłacalna zarówno pod względem czasu jak i poświęconych środków.

Dołożyłem starań, by praca w miarę rozlegle opisywała MindNet. Będę wdzięczny za wszelkie uwagi, sugestie i krytyki (łącznie z wskazaniem błędów logicznych i językowych: składniowych oraz ortograficznych, gdyż jestem świadom możliwej ich obecności).
Proszę o kontakt poprzez adres podany na górze strony.

W stworzeniu pracy pomógł mi w znacznej mierze, program kdissert dzięki któremu stworzyłem następującą mapę myśli, która zawierała także początkowy tekst, następnie została wyeksportowana i przerobiona.

Michał 'GiM' Spadliński


7 Bibliografia

  1. W.Rapaport, 1988. "Syntactic Semantics: Foundations of Computational Natural-Language Understanding"

  2. L.Vanderwende, G.Kacmarcik, H.Suzuki and A.Menezes, 2005. "MindNet: An Automatically-Created Lexical Resource"
  3. H.Suzuki, G.Kacmarcik, L.Vanderwende and A.Menezes, 2005. "MindNet/mnex: Tool for automatic construction and analysis of semantic relational database"
  4. S.Richardson, W.Dolan, A.Menezes, and J.Pinkham, 2001. "Achieving commercial-quality translation with example-based methods"
  5. (DVR-00) W.Dolan, L.Vanderwende, and S. Richardson, 2000. "Polysemy in a Broad-Coverage Natural Language Processing System"
  6. (RDV-98) S.Richardson, W.Dolan, and L.Vanderwende, 1998. "MindNet: acquiring and structuring semantic information from text"
  7. W.Dolan, 1995. "Metaphor as an Emergent Property of Machine-Readable Dictionaries"
  8. L.Vanderwende, 1995. "Ambiguity in the acquisition of lexical information"
  9. (V-94) L.Vanderwende, 1994. "Algorithm for automatic interpretation of noun sequences"
  10. W.Dolan, L.Vanderwende, and S.Richardson, 1993. "Automatically Deriving Structured Knowledge Base from On-line Dictionaries"