Modele pamięci i przestrzenie semantyczne.

Tekst z projektu dla Centrum Doskonałości.

Elementy szukania semantycznego pojawiają się w wielu projektach, nie mamy jednak nadal systemów, które nadawałyby się do zastosowań na szerszą skalę. Jednym z naszych celów jest zbudowanie takiego systemu, który na podstawie ogólnego opisu mógłby zgadnąć precyzyjną nazwę (np. termin techniczny lub nazwisko osoby). Antycypacja i wiarygodne uzupełnianie wypowiedzi o precyzyjne pojęcia jest jedną z ważniejszych funkcji, jakie musi spełniać każdy system do dialogu w języku naturalnym. Konieczne są do tego dobre modele pamięci semantycznej i pamięci epizodycznej człowieka.

Pamięć semantyczną próbowano realizować na kilka sposobów. Najbardziej znane są oczywiście sieci semantyczne, szybko rozwijająca się dziedzina modeli graficznych. Największym projektem przydatnym w badaniach tego typu jest Wordnet, zrealizowany w Cognitive Science Laboratory, Princeton University. Jest to sieć opisująca około 140 tysięcy słów, zawierająca nie tylko ich definicje słownikowe, ale również powiązania w klastry opisujące koncepcje (nazywane synsetami) oraz synonimy, antonimy, hypernimy, meronimy, troponimy i inne. Global WordNet Association planuje utworzenie słowników tego rodzaju dla wszystkich języków świata i powiązanie tych słowników w Internecie. W oparciu o Wordnet wykonano już setki interesujących projektów lingwistycznych. Semantyczne podobieństwo wyrazów dobrze koreluje się z odległością pomiędzy tymi wyrazami w sieci Wordnet. Sieci semantyczne to bardzo interesujący sposób reprezentacji wiedzy, nadający się szczególnie do modelowania pamięci epizodycznej, i w taki sposób chcemy ich używać. Z punktu widzenia naszych zastosowań słownik typu Wordnetu ma jednak pewne wady; w szczególności trudno jest z jego pomocą znaleźć wszystkie cechy, które charakteryzują daną koncepcję.

Ludzie znając kilka cech domyślają się, o jaki obiekt czy koncepcję chodzi, chociaż dana nazwa nie została jeszcze jawnie wymieniona w czasie dialogu; dzięki temu potrafią zadawać sensowne pytania. Potrafią też wymienić większość cech związanych z danym przedmiotem czy koncepcją. Wordnet w tym celu nie wystarczy, potrzebny jest inny rodzaj słownika pomocnego w realizacji pamięci semantycznej. Takie pamięci można próbować stworzyć stosując autoasocjacyjne sieci neuronowe. Po zakończeniu treningu pobudzenia warstwy ukrytej takich sieci wykazują interesującą klasteryzację, grupując razem wyrazy, które mają podobny sens. Niestety tego rodzaju eksperymenty prowadzono tylko z bardzo małymi zbiorami zdań (J. L. McClelland, B. L. McNaughton, R.C. O'Reilly, Psychological Review 102, 419-457, 1995) ze względu na koszty trenowania pamięci autoasocjacyjnych. Bezpośrednie próby tworzenia wektorów kontekstowych podjęto w ramach projektu „Hyperspace Analogue to Language” (HAL), który rozpoczął C. Burgess i T. K. Landauer. W tym projekcie autorzy użyli ruchomego okienka, biorąc z każdej strony wyrazu 5 wyrazów, i obliczając częstości występowania 70 000 słów. Macierz korelacji występowania danego słowa z poprzedzającymi go słowami może częściowo uwzględniać szyk słów, jeśli traktować niezależnie słowa poprzedzające i następujące po danym słowie; macierz jest wtedy niesymetryczna. Model HAL został użyty w licznych pracach dotyczących kategoryzacji na podstawie semantycznego podobieństwa, czasów reakcji, efektów torowania, i innych zagadnień psycholingwistycznych. Wymiarowość przestrzeni redukowana była do kilkuset za pomocą metod opartych na analizie czynników głównych (znanych też pod nazwą Latent Semantic Analysis). Wyniki przedstawiano zwykle za pomocą procedur skalowania wielowymiarowego (MDS), które również zamierzamy zastosować, mając w tym względzie spore doświadczenie. Można tu będzie również wykorzystać metody wizualizacji opracowywane w ramach ścieżki trzeciej.

Tego typu metoda może posłużyć jako pierwszy krok do tworzenia słownika opisującego obiekty przez podanie ich cech. Analizując definicje zawarte w Wordnecie i innych słownikach można utworzyć wektory kontekstowe, a te z kolei udoskonalać za pomocą metod iteracyjnych, takich jak LVQ. Analiza podobieństwa tych wektorów za pomocą metod hierarchicznej klasteryzacji pozwoli na różnym poziomie powiązać klastry z ogólniejszymi koncepcjami. Analiza składowych wektorów kontekstowych powinna ułatwić tworzenie słownika zawierającego opisy obiektów zdefiniowanych za pomocą deskryptorów z nimi związanych. Po uproszczeniu zdań i identyfikacji fraz rzeczownikowych korzystając z definicji słowa „koń” w Dictionary.com znajdujemy następujące przyczynki do wektora kontekstowego: large, hoofed, mammal, short-haired coat, long mane, long tail, domesticated. Słowo „large” odnosi się do cechy „size”, która nie jest tu eksplicite wymieniona, ale powinna się pojawić w innych tekstach. Z kolei definicja „grzywy” zawiera “long hair, top sides neck, mammal, horse, male lion”. Tworząc takie wektory kontekstowe należy uwzględnić nie tylko okienko kontekstowe, lecz i wszystkie elementy definicji oraz frazy rzeczownikowe. Automatyczne wykrywanie fraz rzeczownikowych jak i zagadnienia morfologiczne, potrzebne do ustalenia podstawowych form wyrazów, wymagają analiz lingwistycznych; mamy tu nadzieję skorzystać z współpracy z ekspertami w zakresie lingwistyki komputerowej (ścieżka trzecia). Rozważamy też możliwości posłużenia się ontologiami, zarówno ogólnymi (podstawowa ontologia ogromnego systemu CyC jest publicznie dostępna), jak i specjalistycznymi, np. medycznymi. Chociaż wstępne tworzenie słownika opisującego cechy obiektów można częściowo zautomatyzować liczymy na zainteresowanie lingwistów, którzy (tak jak w przypadku Wordnetu) powinni zweryfikować i poprawić końcowy słownik.

Wektory kontekstowe można traktować jako rozmytą reprezentację logiczną obiektu określoną przez koniunkcję wszystkich dających się do niego zastosować predykatów, lub bardzo uproszczoną reprezentację typu ramy. Słownik cech obiektów może stanowić podstawę do stworzenia dużego słownika złożonego z ram. Z geometrycznego punktu widzenia każdy obiekt jest punktem w przestrzeni koncepcji. W wyniku samoorganizacji się wektorów kontekstowych relacje odległości zaczynają odbijać relacje semantyczne. Jeśli wektory kontekstowe nie tworzą symetrycznej macierzy geometria tej przestrzeni nie będzie Euklidesowa; w szczególności metryka będzie zmieniać się od punktu do punktu (jak dla przestrzeni Finslera). Ponieważ liczba wymiarów tej przestrzeni jest rzędu 105 to dla opisu danej koncepcji większość z nich jest nieistotna, a więc lokalnie przestrzeń ta zawiera niskowymiarowe rozmaitości obejmujące klastry obiektów o podobnych własnościach. Obiekty należące do tej samej kategorii mają wspólny podzbiór cech o określonych wartościach, a im wyżej są w hierarchii ontologicznej, tym tych własności jest mniej. Redukcja wymiarowości da się przeprowadzić lokalnie, a cała przestrzeń da się rozbić na sumę zredukowanych podprzestrzeni. W ostatnich latach powstały interesujące algorytmy opisu takich rozmaitości o zredukowanej liczbie wymiarów (np. S.T. Roweis, L.K. Saul, Nonlinear dimensionality reduction by locally linear embedding. Science, 290: 2323–2326, 2000). Opis struktury przestrzeni semantycznej jest bardzo ważny zarówno z teoretycznego jak i z praktycznego punktu widzenia.

System oparty na słowniku zawierającym opis obiektów za pomocą wartości ich cech nie rozwiązuje oczywiście wszystkich problemów związanych z analizą języka. Użycie w węzłach sieci semantycznych modelujących pamięć epizodyczną wektorowych reprezentacji wykazujących odpowiednie relacje semantyczne powinno znacznie rozszerzyć możliwości prowadzenia dialogu. Przyłączane do stron internetowych programy pozorujące dyskusję w języku naturalnym, czyli chatterboty (linguboty lub krótko boty) są na razie irytujące. Boty usiłują wyłapać słowa kluczowe i zastosować do nich jakąś regułę bez odgadnięcia, o co rozmówcy chodzi. Technologia ta znajduje coraz szersze zastosowania komercyjne i nasze podejście pozwoli ją znacznie ulepszyć. Jednym z zastosowań słownika zawierającego cechy obiektów jest szukanie pytań, które dają maksymalnie dużo informacji. Pytanie o przynależność do danej kategorii rozdziela wszystkie obiekty na dwa podzbiory, a pytanie o wartość danej cechy przynajmniej na trzy (tak, nie, nieokreślona). Konkretnym zastosowaniem, na którym chcemy się skupić, jest gra w 20 pytań. Sztuczna inteligencja odniosła największe sukcesy w grach takich jak szachy, ale w tym przypadku uważa się powszechnie, że decydująca rolę odgrywa szybkość liczenia komputera, który sprawdza setki milionów posunięć. Osiągnięcie mistrzowskich rezultatów w grze w 20 pytań nie można wyjaśnić szybkością komputera. Można w tej dziedzinie robić zawody dając do zgadnięcia te same słowa ludziom jak i programom. Kompetencje programu wynikają tu przede wszystkim z posiadanej wiedzy, a nie szybkości obliczeń (chociaż do działania w czasie rzeczywistym musi być ona znaczna). Gra w 20 pytań może się stać kolejnym wyzwaniem dla sztucznej inteligencji, etapem pośrednim przed pełnym testem Turinga.

Różne warianty gry w 20 pytań mogą obejmować próby odgadnięcia nazwiska znanych osób na podstawie analizy tekstów w Internecie. W podprzestrzeni określonej przez trzy składowe wektora kontekstowego „defense, secretary, Reagan” znajdziemy największą normę dla „Weinberger” i nieco mniejszą dla „Carlucci”. Myślimy również o zastosowaniach medycznych, gdzie mnogość specyficznych terminów stwarza trudności w przypomnieniu sobie określonej nazwy nawet specjalistom. Specjalistyczne wyszukiwarki mogą posługiwać się taką technologią by zadawać optymalnie wybrane dodatkowe pytania w celu sprecyzowania problemu. Wyposażenie programu w możliwości rozpoznania i syntezy mowy oraz symulowaną, trójwymiarową sztuczną głowę (planujemy tu użyć technologii Haptek lub Veeper) pozwoli grać w gry słowne w naturalny sposób. Dostępność takich programów w komputerach przenośnych (PDA) a nawet w telefonach może odrodzić popularność gier słownych, które pełniły dawniej istotną rolę w rozwijaniu myślenia analitycznego, a obecnie zostały wyparte przez gry komputerowe, rozwijające głównie zdolności senso-motoryczne.

W nieopublikowanym jeszcze artykule R. Hecht-Nielsena (jest to rozwinięcie jego idei przedstawionych w A Theory of Thalamocortex, w: Hecht-Nielsen, R., McKenna, T. Eds, Computational Models for Neuroscience. London: Springer-Verlag 2003, str. 85–124) znajdujemy twierdzenie, że selekcja, antycypacja i wynikające z niej działanie jest podstawową funkcją kory mózgu zarówno w procesach myślenia, jak i percepcji oraz kontroli ruchów. Peter Gärdenfors z Lund University (Szwecja), z którym mamy dobre kontakty, napisał książkę “Conceptual Spaces: The Geometry of Thought”. Pod jego kierownictwem rozwija się interesujący program „Conceptual Spaces”. Chociaż skupiamy się chwilowo na zagadnieniach językowych mamy świadomość szerszego tła rozważanych przez nas zagadnień.

Zamiast wektorów kontekstowych rozważać można różne uproszczone algorytmy sieci neuronowych, które stanowić mogą model pamięci semantycznej opartej na korelacjach. Nadają się do tego modele sieci bez warstw ukrytych dla wyrazów będących ciągami znaków. Macierze korelacji (wag sieci) tworzy się przez analizę wyrazów słownika ortograficznego, zapamiętując korelacje pomiędzy pozycjami liter. Jest to model pamięci rozpoznawczej, prostszej (i ewolucyjnie starszej) niż pamięć semantyczna. Prezentacja jakiegoś ciągu znaków pozwala bardzo szybko zidentyfikować wszystkie wyrazy ze słownika, podobne do prezentowanego (wystarczy zsumować odpowiednie kolumny macierzy korelacji). Ponieważ macierze korelacji muszą być rzadkie kluczową rolę pełni tu reprezentacja danych wejściowych; nie wystarczą pojedyncze znaki, potrzebne są ich kombinacje (bigramy), a jeszcze lepsze wyniki daje uwzględnianie dwóch znaków na pozycjach sąsiednich, oddalonych o jeden i o dwa znaki. Dzięki temu nawet wiele literówek nie przeszkadza w rozpoznawaniu tekstu. Odkrycie, że ludzie czytają bez kłopotów tekst, w którym wyrazy mają poprzestawiane litery (oprócz pierwszej i ostatniej), wywołało zainteresowanie tego typu modelami wśród psychologów. Z praktycznego punktu widzenia może się to przydać do filtrowania spamów, które coraz częściej unikają filtrów celowo wprowadzając błędy ortograficzne i znaki specjalne do kluczowych wyrazów (no vaigara lub via-gra, zamiast viagra). Algorytmy oparte na macierzach korelacji prawidłowo rozpoznają tego typu błędy.

Pracujemy również nad metodami klasyfikacji i selekcji cech, przydatnych w filtrowaniu informacji, usuwaniu spamów, oraz selekcji dokumentów na dany temat. W tym celu używamy bardzo wielu algorytmów, zarówno własnych jak i znanych, ale zaimplementowanych naszymi siłami. W porównaniu algorytmów klasyfikacji i selekcji cech, zorganizowanym z okazji konferencji NIPS 2003 dla danych z bazy Reuters (doniesienia o przejęciach firm), opisanych przez 20.000 cech (częstości rdzeni słów) nasz system Ghostminer zajął 3 miejsce na 87 uczestników. Stosowaliśmy go również do wykrycia spamów, posługując się podobnie jak w poprzednim przypadku częstościami rdzeni słów. Pragniemy połączyć tu analizy lingwistyczne z metodami statystycznymi oraz wstępnym przetwarzaniem tekstów mającym na celu uniezależnienie się od opisanych powyżej zniekształceń pisowni.

Pierwszy etap naszego planu pracy, obejmujący najbliższe dwa lata, poświęcimy na 1) eksperymenty związane z pamięcią rozpoznawczą: wstępnym przetwarzaniem wyrazów, tworzeniem reprezentacji pozwalających prawidłowo odczytać zniekształcone wyrazy, porównaniami z możliwościami ludzi w tym zakresie; 2) problemom wstępnego przetwarzania form wyrazów, ujednoznacznienia terminów i skrótów, zwłaszcza w kontekście tekstów medycznych; 3) analizie dostępnych ontologii i możliwości ich wykorzystania w połączeniu z Wordnetem do stworzenia słownika cech obiektów; 4) eksperymentom z tworzeniem wektorów kontekstowych przy wykorzystaniu istniejących definicji zawartych w słownikach i encyklopediach; 5) metodom wizualizacji tych wektorów; 6) dalszemu rozwojowi metod selekcji informacji i ich zastosowaniu do analizy dokumentów; 7) budowie wstępnej wersji programu do gry w 20 pytań w ograniczonych domenach (np. zwierząt czy roślin); 8) wstępną analizę struktury przestrzeni semantycznej. W kolejnych dwóch latach zamierzamy stworzyć duży słownik cech obiektów i przy pomocy lingwistów słownik ten udoskonalać oraz tworzyć słownik ram; w oparciu o ten słownik stworzyć wersję do gry w 20 pytań, która powinna osiągnąć wysokim poziom kompetencji; spróbujemy zorganizować zawody między programami tego typu i ludźmi; dokonać wstępnej integracji tej gry z mówiąca głową i programami rozpoznającymi mowę (udoskonalanie szczegółów związanych z grafiką, ekspresją emocji i prozodią wymowy może stanowić niezależny projekt prowadzony przez kogoś innego); opracować różne warianty gry w 20 pytań; przeanalizować dokładniej strukturę przestrzeni semantycznej; rozważyć zastosowania w specjalistycznych domenach, takich jak medycyna (istotną role odgrywają tu nasze dobre kontakty z Children’s Hospital Research Foundation w Cincinnati, gdzie pracuje dwóch naszych byłych i jeden obecny doktorant; placówka ta dysponuje dużymi bazami tekstów medycznych różnego rodzaju); rozważyć kwestie integracji tak opracowanej pamięci semantycznej z pamięcią epizodyczną opartą na modelach graficznych (sieciach Bayesowskich); rozważyć możliwości zastosowań tych technologii do budowania modeli dyskursu i zastosowań w botach, oraz dostępu do zweryfikowanych, ustrukturalizowanych informacji dostępnych w Internecie (np. przez strony projektu Start z MIT). Z pewnością pojawi się wiele nowych możliwości i problemów, których dzisiaj nie możemy przewidzieć.

Powrót do poprzedniego pliku