270 likes | 491 Views
Plan. Javelin: system odpowiadający na pytania niezwiązane z konkretną dziedziną Czy do tego potrzebne jest NLP? Moduł NLP: Przetwarzanie tekstu Reprezentacja tekstu a rodzaje pytań Określanie koreferencji. Architektura sy s temu Javelin.
E N D
Plan • Javelin: system odpowiadający na pytania niezwiązane z konkretną dziedziną • Czy do tego potrzebne jest NLP? • Moduł NLP: • Przetwarzanie tekstu • Reprezentacja tekstu a rodzaje pytań • Określanie koreferencji 1.XII.2004
Architektura systemu Javelin 1.XII.2004
Wyszukiwanie InformacjiInformation Extraction (IE) • Kilka podmodułów wykorzystujących: • wzorce powierzchniowe (wyrażenia regularne) • statystyki tekstowe • przetwarzanie języka (NLP) • Wyniki uzyskane z poszczególnych modułów IE są normalizowane i szeregowane w module generującym odpowiedzi (AG) i wybrana jest najlepsza 1.XII.2004
Przykładowy wynikz modułu statystycznego • Przykład: “When was Wendy’s founded?” • Znaleziony fragment tekstu: • “The renowned <ENAMEXPERSON>Murano</ENAMEX> glassmaking industry, on an island in the Venetian lagoon, has gone through several reincarnations since it was founded in 1291. Three exhibitions of <TIMEXDATE>20th Century</TIMEX> <ENAMEXLOCATION>Murano</ENAMEX> glass are coming up in <ENAMEXLOCATION>New York</ENAMEX>. By <ENAMEXPERSON>Wendy Moonan</ENAMEX>…” • Wynik: 20th Century (Poprawna odpowiedź: 1969) 1.XII.2004
Moduł IE: metodystatystyczne a NLP • Wśród różnych wyników znalezionych przez moduł statystyczny jest też poprawna odpowiedź (1969); jednakże wszystkie wyniki mają przypisaną prawie taką samą wiarygodność (confidence score): • ostateczna odpowiedź zależy od miejsca, które zajmuje na liście (decyduje o tym m.in. wiarygodność) wyników, tworzonej przez AG • (prawidłowa) odpowiedź znaleziona przez moduł NLP pochodzi z fragmentu: “R. David Thomas founded Wendy’s in1969, …” • Odpowiedzi znaleznione przez moduł NLP mają przypisaną większą wiarygodność oraz potwierdzają dodatkowo odpowiedzi znalezione przez pozostałe moduły • Tak, NLP jest potrzebne 1.XII.2004
Do czego przydaje się NLP w QA? • Analiza składniowa (np. strona czynna i bierna): • Q: When was Wendy’s founded? A: R. David Thomas founded Wendy’s in 1969… • synonimy: • Q: When was JFK killed? A: JFK was assassinated... • role semantyczne: • Q: Who sold the car to Peter? A: Peter bought the car from Mark. • wnioskowanie: • Q: When was Wendy’s founded? A:Donatos, founded in 1963, six years before Wendy’s was founded, began franchising in 1991 as customers took to its ``Edge to Edge'' pizzas. • określanie referencji: • Q: Who did J. Howelltravel with? A: The tracks run through Belleview, where 19-year-old Jesse Howell was found slain on March 23,1997. His 16-year-old travelling companion, Wendy VonHuben,... 1.XII.2004
Moduł NLP miara podo- bieństwa wyniki WordNet unifikacja predykaty fragmenty tekstu określanie koreferencji analiza tekstu Reprezentacja pytania segmentacja tekstu analiza morfologiczna parser słowniki 1.XII.2004
Przetwarzanie tekstu napotrzeby QA (1) • Roboust (stabilne?): dowolne teksty, niezwiązane z konkretną dziedziną, • zakres: zarównopytaniajak i zdania twierdzące • początkowo do przetwarzania użyte zostały ręcznie pisane gramatyki (w stylu LFG), ale: • niewystarczający zakres konstrukcji składniowych (użycie parsera tablicowego (chart parser) częściowo rozwiązało problem) • niejednoznaczności • Rozwiązanie: • ręcznie pisane dedykowane gramatyki do analizy pytań + parser tablicowy • ogólnie dostępny parser (Link) do analizy fragmentów zawierających odpowiedzi 1.XII.2004
Przetwarzanie tekstu (2) • Segmentacja tekstu (RASP; Briscoe & Carroll, 2002) • zdania • słowa • morfologia (RASP) • POS (CLAWS2 tagset; podawane wszystkie etykiety, do przetwarzania brana najbardziej prawdopodobna) • lemat • Informacje słownikowe • słowniki (imiona i nazwiska, nazwy geograficzne) • WordNet (hierarchia leksykalna) • Funkcje gramatyczne (Link; Grinberg et al.,1995) 1.XII.2004
Analiza Tekstu <text id="1" source="na">Mr. Chairman, Bin Ladin did not believe that we would invade his sanctuary. <passage id="2" source="unspecified"><sentence id="3" source="na"><text>Mr. Chairman, Bin Ladin did not believe that we would invade his sanctuary.</text><tokens id="5" source="link"><token id="6"><property name="morphology" source="morpha">mr< /property> <left>0</left><right>1</right><poss><pos id="12" source="claws"><property name="prob">0.00617284</property> NP1< /pos></poss><text>Mr</text></token><token id="15"><left>1</left><right>2</right> <poss><pos id="19" source="claws"><property name="prob">0.00617284</property>.</pos></poss><text>.</text></token><token id="22"><property name="morphology" source="morpha">chairman</property><property name="morphology" source="morpha"> chairman</property><property name="morphology" source="morpha">chairman</property><property name="morphology" source="morpha"> chairman</property><left>2</left><right>3</right><poss><pos id="30" source="claws"><property name="prob">1</property>NNS1</pos> <pos id="32" source="claws"> <property name="prob">2.58482e-306</property>NNSB1</pos></poss><text>Chairman</text></token> <token id="35"><left>3</left><right>4</right><poss><pos id="39" source="claws"><property name="prob">1</property>,</pos> </poss><text>,</text></token><token id="42"><property name="morphology" source="morpha">bin</property><property name="morphology" source="morpha">bin</property><left>4</left><right>5</right><poss><pos id="48" source="claws"><property name="prob">1</property>NN1</pos></poss><text>Bin</text></token><token id="51"><property name="morphology" source="morpha"> ladin</property><property name="morphology" source="morpha">ladin</property><property name="morphology" source="morpha">ladin </property><left>5</left><right>6</right><poss><pos id="58" source="claws"><property name="prob">0.845329</property>NN1</pos> <pos id="60" source="claws"><property name="prob">0.153913</property>NP1</pos><pos id="62" source="claws"><property name="prob">0.000758028</property>VV0</pos></poss><text>Ladin</text></token><token id="65"><property name="morphology" source="morpha">do+ed</property><property name="morphology" source="morpha">do+ed</property><property name="morphology" source="morpha">do+ed</property><left>6</left><right>7</right><poss><pos id="72" source="claws"><property name="prob">1 </property>VDD</pos></poss><text>did</text></token><token id="75"><left>7</left><right>8</right><poss><pos id="79" source="claws"><property name="prob">2.28724e-308</property>LE</pos><pos id="81" source="claws"><property name="prob">1 </property>XX</pos></poss><text>not</text></token><token id="84"><left>8</left><right>9</right><poss><pos id="88" source="claws"><property name="prob">1</property>VV0</pos></poss><text>believe</text></token><token id="91"><left>9</left> <right>10</right><poss><pos id="95" source="claws"><property name="prob">0.0059709</property>CS</pos><pos id="97" source="claws"><property name="prob">0.987588</property>CST</pos><pos id="99" source="claws"><property name="prob">0.00634331 </property>DD1</pos><pos id="101" source="claws"><property name="prob">2.83534e-05</property>REX</pos><pos id="103" source="claws"><property name="prob">6.98057e-05</property>RR</pos></poss><text>that</text></token><token id="106"><left>10 </left><right>11</right><poss><pos id="110" source="claws"><property name="prob">1</property>PPIS2</pos></poss><text>we</text> </token><token id="113"><left>11</left><right>12</right><poss><pos id="117" source="claws"><property name="prob">1</property> VM</pos></poss><text>would</text></token><token id="120"><left>12</left><right>13</right><poss><pos id="124" source="claws"> <property name="prob">1</property>VV0</pos></poss><text>invade</text></token><token id="127"><left>13</left><right>14</right> <poss><pos id="131" source="claws"><property name="prob">0.99997</property>APP$</pos><pos id="133" source="claws"><property name="prob">3.01524e-05</property>PP$</pos></poss><text>his</text></token><token id="136"><left>14</left><right>15</right> <poss><pos id="140" source="claws"><property name="prob">1</property>NN1</pos></poss><text>sanctuary</text></token><token id="143"><left>15</left><right>16</right><poss><pos id="147" source="claws"><property name="prob">1</property>.</pos> </poss><text>.</text></token><syntax id="150"><functions id="151"><function id="152"><name>NMWE</name><token id="22"/><token id="6"/></function ><function id="156"><name>SUBJ</name><token id="84"/><token id="22"/></function><function id="160"><name>NMOD</name><token id="22"/><token id="51"/></function><function id="164"><name>NMWE</name><token id="51"/><token id="42"/></function><function id="168"><name>AUX</name><token id="84"/><token id="65"/></function><function id="172"><name>NEG</name><token id="65"/><token id="75"/></function><function id="176"><name>COMPL</name><head><token id="91"/></head><token id="84"/><token id="120"/></function><function id="182"><name>SUBJ</name><token id="120"/><token id="106"/></function><function id="186"><name>AUX</name><token id="120"/><token id="113"/></function><function id="190"><name>OBJ</name><token id="120"/><token id="136"/></function><function id="194"><name>DET</name><token id="136"/><token id="127"/></function></functions></syntax></tokens>< /sentence>< /passage></text> 1.XII.2004
Analiza ‘semantyczna’ • Płytka reprezentacja: • głównie w oparciu o strukturę argumentów (ustalona liczba predykatów) • specjalne predykaty dla kilku typów pytań/konstrukcji (np. definicje, apozycje) • Unifikacja ‘rozmyta’: • oparta na mierze podobieństwa słów, np.murder vs. kill 1.XII.2004
Przykłady predykatów 1.XII.2004
Przykłady reprezentacji • Who killed Jefferson? • Na podstawie struktry argumentów: ANS(x0) ROOT(x1,x0) ROOT(x2,kill) ROOT(x3,Jefferson) SUBJECT(x2,x1) OBJ(x2,x3) • What is the definition of hazmat? • dedykowane gramtyki sprowadzają takie pytania do pytania ‘What is hazmat?’, i używane jest EQUIV: EQUIV(x1,x0) ANS(x0) ROOT(x1,hazmat) • What is the relationship between Jesse Ventura and Target Stores? • trudne:albo należy szukać własności/predykatów wspólnych dla JV i TS, albo znaleźć jeden predykat, gdzie oba są argumentami • rozwiązanie: oddzielna strategia dla pytań tego typu 1.XII.2004
Unifikacja ‘rozmyta’ • Łączy reprezentację pytania (Q) z reprezentacją fragmentu tekstu (P), aby znaleźć odpowiedź (A) • Musi umożliwiać unifikację podobnych (ale nie identycznych) par (Q,P) • Q: Who killed Jefferson? P: Ben murdered Jefferson • Zależności między predykatami w Q są traktowane jak ograniczenia z przypisaną wagą; im więcej ograniczeń spełnia P i im większe podobieństwo odpowiednich słów, tym wyższa wiarygodność odpowiedzi A znalezionej w P 1.XII.2004
Rozmyty przykład • Przypisanie wag (w) każdej relacji w Q: • Q: Who killed Jefferson? w(ANS(x0))=1 w(ROOT(x1,x0))=1 w(ROOT(x2,kill))=.7 w(ROOT(x3,Jefferson))=.9 w(SUBJECT(x2,x1))=.9 w(OBJ(x2,x3))=.9 … • podobieństwo (średnia geometryczna) wszystkich (n) ‘głównych’ relacji w Q i P (P: Ben murdered Jefferson): sim(Q,P) = (sim[SUBJ(x2,x1),SUBJ(y2,y1)] * sim[OBJ(x2,x3),OBJ(y2,y3)]*…)1/n • podobieństwo dla jednej`głównej’ relacji (np.SUBJ) z Q i P: (sim[x2,y2]*sim[x1,y1])1/2*w(SUBJ(x2,x1)) • podobieństwo termów dla k relacji, w których termy są argumentami (sim[ROOT(x2,kill),ROOT(y2,murder)] *sim[TENSE(x2,past),TENSE(y2,past)]*…)1/k • podobieństwo słów: sim(kill,murder)*w(ROOT(x2,kill)) 1.XII.2004
Rozmyte podsumowanie • Podobieństwo słów w oparciu o (miarę odległości w) WordNet, ale dowolna inna hierarchia leksykalna może być użyta • WN nie ma połączeń między słowami należącymi do różnych kategorii, np. ‘kill’ i ‘killer’ nie są powiązane • Wagi i próg podobieństwa przypisane ad hoc • Oszacowanie wartości wg danych z korpusu • Niezależne od reprezentacji semantycznej • Wymagany zbiór tych samych relacji użytych w Q i P; lepiej: reprezentacja w oparciu o role semantyczne 1.XII.2004
Określanie koreferencji(podobieństwo słów inaczej) Algorytm: • Analiza tekstu • Przypisanie wartości cech uzgodnienia • Określenie możliwych odniesień (NPs mające te same cechy uzgodnienia co zaimek) • Redukcja rozwiązań na podstawie: • Zasad lingwistycznych, • Heurystyk z Mitamura et al. (2002) 1.XII.2004
Cechy uzgodnienia • osoba: standardowo 3, chyba że zaimek 1 lub 2osoby; • liczba: etykieta POS i WordNet: hipernimy “group”; • żywotność: • Imiona/nazwiska (żywotne) i nazwy geograficzne (nieżywotne), • WordNet: hipernimy “animate thing”, “biological group” i “social group”; • rodzaj: • heurystyki: tytuły “Mr”, “Mrs”, itd.; • słowniki: listy imion, nazwisk i nazw geograficznych; • akronimy (≥ 2 duże litery): nijaki; • WordNet: hipernimy “male/female person” 1.XII.2004
Rodzje uzgodnień • dokładne: wszystkie cechy uzgodnienia zaimka i NP muszą być identyczne • bez GENDER: jeśliwartości PERSON, NUMBER i ANIMATE są identyczne, zgodność rodzaju zaimka i NP nie musi wystąpić (np.Jones vs. (s)he; dog[animate,neuter]vs. (s)he lub it) • bez NUMBER lub ANIMATE: jeśli wartości PERSON i GENDER są identyczne, NUMBER albo ANIMATE też musi się zgadzać (np.police vs. itlubthey) 1.XII.2004
Zasady lingwistyczne Zaimki zwrotne: argument tego samego czasownika “William Patrick describes himself as…” Zaimki dzierżawcze: wcześniejsza zgodna fraza NP “President Clinton has signed an Executive Order imposing financial and other commercial sanctions on the Afghan Taliban for its support of Usama bin Ladin and his terrorist network.” Zaimki osobowe: fraza NP, która jest argumentem innego czasownika “The last time Dr. Arnold Schecter tried to take contaminated blood samples out of Vietnam, a government agent was waiting for him at the airport.” 1.XII.2004
Mitamura et al. (2002) • Jeśli zostało więcej niż jedno rozwiązanie, stosowane są heurystyki, które preferują: • zaimki; • rzeczowniki nie będące nazwami własnymi; • Gdy są 2 możliwości NP1 i NP2 mające postać “NP1 of NP2”, wybrane jest NP1, chyba że NP2 określa miarę (“type”, “length”, “size”...); • NP będące podrzędnikiem frazy o takim samym rdzeniu jak fraza, której podrzędnikiem jest zaimek; • NP będące podrzędnikiem takiej samej kategorii składniowej jak fraza, której podrzędnikiem jest zaimek; • NP mające taką samą funkcję gramatyczną jak zaimek; • konkretne NP (z określnikiem, kwantyfikatorem, frazą dzierżawczą); • NP z przedimkiem określonym; • ostatnie (najbliższe) NP; 1.XII.2004
Ocena • 253 zdania zawierające 361 zaimków; • Względnyodnośnik: jeśli NP jest zaimkiem, jego odnośnik nie jest znajdowany; • Bezwzględnyodnośnik: jeśli NP jest zaimkiem, jego odnośnik też jest znaleziony; • Punkt odniesienia oceny (ang. baseline): poprzednia fraza NP oraz bez użycia WordNet do nadawania cech uzgodnienia 1.XII.2004
Wyniki 17.2% 2.7% 19.9% 8.0% 1.XII.2004
Analiza błędówWordNet, względny odnośnik Nierozpoznane nazwiska, imiona/nazwiska rozpoznane jako miejscowości lub odwrotnie ! !! Nierozpoznane zaimki ekspletywne, frazy współrzędne, złe POS, niewłaściwe uzgodnienie lub nadanie cech (6), analiza skł. !! !!! Odniesienia w przód, cytaty, elipsy rodzaj gram. zawodów lub narodowości !!! ! 1.XII.2004
Co poprawić? • … dołączyć moduł do systemu … na ile pomaga w QA • Poprawić nadawanie cech uzgodnienia: ujednoznacznianie znaczeń wyrazów pospolitych (dotychczas brane najczęstszew WN) i nazw własnych, np.London: miejscowość czy osoba? (dotychczas preferowana miejscowość – ad hoc); • Poprawić algorytm znajdowania referencji: • Zmodyfikować heurystyki; • Reguły uzyskane metodami uczenia maszynowego; • Rozszerzyć algorytm do określania bardziej ogólnych odniesień, np.Saddam Hussein vs. Hussein 1.XII.2004
Podsumowanie • Przedstawiłam kilka technik NLP wykorzystanych w systemie QA; • Pokazałam w jaki sposób NLP pomaga QA … • Rozwiązania przyjęte w Javelin: • Przetwarzanie tekstu • Analiza ‘semantyczna’ • Określanie koreferencji • … albo jak może pomóc, jeśli jeszcze niedziała: • poprawki do przedstawionych rozwiązań; 1.XII.2004
Podziękowania Uczestnicy projektu Javelin, w szczególności: • Przetwarzanie tekstu: Curtis Huttenhower i Benjamin Van Durme • Reprezentacja semantyczna: Benjamin Van Durme i Yifen Huang • Określanie koreferencji: Teruko Mitamura Artykuły: • Javelin: http://www.lti.cs.cmu.edu/Research/JAVELIN/ • http://www.ipipan.waw.pl/~aniak/papers.html 1.XII.2004