Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wykorzystanie metod NLP w systemach odpowiedzi na pytania

Podobne prezentacje


Prezentacja na temat: "Wykorzystanie metod NLP w systemach odpowiedzi na pytania"— Zapis prezentacji:

1 Wykorzystanie metod NLP w systemach odpowiedzi na pytania
Anna Kupść Instytut Podstaw Informatyki Polska Akademia Nauk 1.XII.2004

2 Co to jest QA? QA=Question Answering… systemy odpowiadające na pytania... Spytajmy Arnolda … Arnold: try to copy the picture; get .gif at least… 1.XII.2004

3 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 NLP module: an experiment; no numbers given, just a qualitative presentation 1.XII.2004

4 Architektura sytemu Javelin Jak Arnold udziela odpowiedzi?
Shaded boxes: that’s where NLP comes to play; answer generation: inference IR gets documents for the query; IE gets answer candidates from these documents; AG: normalises the results, ranks them (confidence score) and returns an answer 1.XII.2004

5 Wyszukiwanie Informacji Information 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

6 Przykładowy wynik 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 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) BBN didn’t tag 1291 1.XII.2004

7 Moduł IE: metody statystyczne 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 in 1969, …” Odpowiedzi znaleznione przez moduł NLP mają przypisaną większą wiarygodność oraz potwierdzają dodatkowo odpowiedzi znalezione przez pozostałe moduły Tak, NLP jest potrzebne There are many passages, so maybe the correct answer is picked up; well, indeed it is; but they are assigned almost the same ocnfidence score so AG can’t distinguish them 1.XII.2004

8 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. Howell travel 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

9 Moduł NLP 1.XII.2004 miara podo- bieństwa WordNet unifikacja analiza
wyniki WordNet unifikacja predykaty fragmenty tekstu analiza tekstu określanie koreferencji Reprezentacja pytania Once I’ve convinced you that NLP is necessary, let’s see the module Details to come segmentacja tekstu analiza morfologiczna parser słowniki 1.XII.2004

10 Przetwarzanie tekstu na potrzeby QA (1)
Roboust (stabilne?): dowolne teksty, niezwiązane z konkretną dziedziną, zakres: zarówno pytania jak 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: dedykowane gramatyki do analizy pytań i ogólny parser do analizy fragmentów zawierających odpowiedzi There are no parsers which would cover the grammar of questions; most parsers were trained/constructed on newspaper texts where questions are quite rare 1.XII.2004

11 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) rdzeń (stem) Informacje słownikowe słowniki (imiona i nazwiska, nazwy geograficzne) WordNet Funkcje gramatyczne (Link; Grinberg et al.,1995) Combination of several publicly available tools/resources into a single processing tool No NE tagger but CLAWS2 is quite rich plus lexicons 1.XII.2004

12 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"> </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"> </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"> e-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"> </property>NN1</pos> <pos id="60" source="claws"><property name="prob"> </property>NP1</pos><pos id="62" source="claws"><property name="prob"> </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"> e-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"> </property>CS</pos><pos id="97" source="claws"><property name="prob"> </property>CST</pos><pos id="99" source="claws"><property name="prob"> </property>DD1</pos><pos id="101" source="claws"><property name="prob"> e-05</property>REX</pos><pos id="103" source="claws"><property name="prob"> e-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"> </property>APP$</pos><pos id="133" source="claws"><property name="prob"> e-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> Currently, the whole input is treated as a passage; no automatic segmentation on passages, NE tagger not used here; wordnet and other lexical resources added later 1.XII.2004

13 Analiza ‘semantyczna’
Płytka: reprezentacja głównie w oparciu o strukturę argumentów (ustalona liczba predykatów) oraz specjalne predykaty dla kilku typów pytań/konstrukcji (np. definicje, apozycje) Unifikacja ‘rozmyta’: oparta na mierze podobieństwa słów, np. murder vs. kill As we use different tools for question and passage analysis, semantic representation bridges the two 1.XII.2004

14 Przykłady predykatów ROOT ROOT(x1,John) SUBJECT SUBJECT(x2,x1) EQUIV
znaczenie ROOT ROOT(x1,John) obiekt x1 ma rdzeń John SUBJECT SUBJECT(x2,x1) x1 jest podmiotem x2 EQUIV EQUIV(x1,x3) odpowiedniość semantyczna: apozycja: John, a student of CMU ‘równorzędność’ obiektów: John is a student of CMU AND AND(x3,x1) AND(x3,x2) John and Mary laughed ROOT(x1,John) ROOT(x2,Mary) AND(x3,x1) AND(x3,x2) ANS ANS(x0) odpowiedź 1.XII.2004

15 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 obaj są argumentami rozwiązanie: oddzielna strategia dla pytań tego typu Relationship: tell you the details later if there is time 1.XII.2004

16 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

17 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)) As geometric mean is used, we use epsilon similarity value, to avoid zeros, if predicates aren’t equivalent; Who was Jefferson’s murderer? Unballanced number of predicates in Q & P: Who killed J? Ben, who killed J, run away afterwards 1.XII.2004

18 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

19 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) A completely different technique! 1.XII.2004

20 Cechy uzgodnienia osoba: standardowo 3, chyba że zaimek 1 lub 2 osoby;
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” eksperyment: pozyskanie nowych słów tego samego rodzaju z korpusu Accuracy of NE tager problematic so we don’t use it here; NE tags: person, organization, animal, plant 1.XII.2004

21 Rodzje uzgodnień dokładne: wszystkie cechy uzgodnienia zaimka i NP muszą być identyczne bez GENDER: jeśli wartoś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 i ANIMATE: jeśli wartości PERSON i GENDER są identyczne, NUMBER albo ANIMATE też musi się zgadzać (np. police vs. it lub they) Why animacy is used? Dog {a,n} -> ‘she’ (a female pet dog); would be impossible if only {n} was used… 1.XII.2004

22 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

23 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; Stem: “John read the book. It read well.” POS: John was tired. He went home I omit coordination heuristics 1.XII.2004

24 Ocena 253 zdania zawierające 361 zaimków;
Względny odnośnik: jeśli NP jest zaimkiem, jego odnośnik nie jest znajdowany; Bezwzględny odnoś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 male pronouns; the total of Tested on a subset of CNS documents available under AQUAINT program 1.XII.2004

25 Baseline: podstawowy algorytm, bez WN
Wyniki Test dokładność Baseline: podstawowy algorytm, bez WN Względny odnośnik 50.1% Bezwzględny odnośnik 55.9% Pełen algorytm, bez WN: 67.3% Pełen algorytm, z WN: 70.0% 63.9% 17.2% Baseline: no worndnet(most recent NP)+last heuristics 2 experiments (full algorithm): without WN and with WN Nice improvement over the baseline but a minimal dif wrt to WN-versions 2.7% 19.9% 8.0% 1.XII.2004

26 Analiza błędów WordNet, względny odnośnik
PROBLEM # % słowniki 28 25.9 heurystyki przetwarzanie analiza dyskursu 9 8.3 wiedza o świecie odległość 6 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 Why WN impact is minimal? Default feature assignment is quite successful and there are other factors to blame: Potential further WN improvement: 6/361 = 1.6% (feature and agreement assignment); On the other hand, if everything else is perfect, the maximal performance is 1-(28/361) = 92.2% !!! rodzaj gram. zawodów lub narodowości ! 1.XII.2004

27 Co poprawić? … dołączyć moduł do systemu … 
Poprawić nadawanie cech uzgodnienia: ujednoznacznianie znaczeń wyrazów pospolitych (dotychczas brane najczęstsze w 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

28 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 nie zawsze działa: poprawki do przedstawionych rozwiązań; 1.XII.2004

29 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: Check javelin web site! 1.XII.2004

30 PYTANIA? DZIĘKUJĘ ZA UWAGĘ 1.XII.2004


Pobierz ppt "Wykorzystanie metod NLP w systemach odpowiedzi na pytania"

Podobne prezentacje


Reklamy Google