Wykorzystanie NLP w systemach QA 1.XII.2004 Plan Javelin: system odpowiadający na pytania...

27
1.XII.2004 Wykorzystanie NLP w systemach QA 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
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Wykorzystanie NLP w systemach QA 1.XII.2004 Plan Javelin: system odpowiadający na pytania...

1.XII.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

Architektura systemu Javelin

pytanie

analiza pytania

wyszukiwanie dokumentów

generowanie odpowiedzi

odpowiedź

planowanie

information extractor (IE) information

extractor (IE) wyszukiwanie informacji (IE1)

1.XII.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

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

1.XII.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

Moduł NLP

parsersłowniki

analiza morfologiczna

analizatekstu

unifikacjaWordNetwyniki

fragmenty tekstu

Reprezentacja pytania

predykaty

miara podo-bieństwa

określanie koreferencji

segmentacja tekstu

1.XII.2004Wykorzystanie NLP w systemach QA

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: – 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.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

Przykłady predykatówpredykat przykład 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 laughedROOT(x1,John) ROOT(x2,Mary) AND(x3,x1) AND(x3,x2)

ANS ANS(x0) odpowiedź

1.XII.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

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”

1.XII.2004Wykorzystanie NLP w systemach QA

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 lub ANIMATE: jeśli wartości PERSON i GENDER są identyczne, NUMBER albo ANIMATE też musi się zgadzać (np. police vs. it lub they)

1.XII.2004Wykorzystanie NLP w systemach QA

Zasady lingwistyczneZaimki 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.2004Wykorzystanie NLP w systemach QA

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.2004Wykorzystanie NLP w systemach QA

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

1.XII.2004Wykorzystanie NLP w systemach QA

WynikiTest dokładność

Baseline: podstawowy algorytm, bez WN

Względny odnośnik 50.1%

Bezwzględny odnośnik 55.9%

Pełen algorytm, bez WN:

Względny odnośnik 67.3%

Pełen algorytm, z WN:

Względny odnośnik 70.0%

Bezwzględny odnośnik 63.9%

17.2%

19.9%8.0%

2.7%

1.XII.2004Wykorzystanie NLP w systemach QA

Analiza błędówWordNet, względny odnośnik

PROBLEM # %

słowniki 28 25.9

heurystyki 28 25.9

przetwarzanie 28 25.9

analiza dyskursu 9 8.3

wiedza o świecie 9 8.3

odległość 6 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

rodzaj gram. zawodów lub narodowości

!

!!

!!

!!!

!!!

!

1.XII.2004Wykorzystanie NLP w systemach QA

Co poprawić?• … dołączyć moduł do systemu … na ile pomaga

w QA• 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.2004Wykorzystanie NLP w systemach QA

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 działa:– poprawki do przedstawionych rozwiązań;

1.XII.2004Wykorzystanie NLP w systemach QA

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 MitamuraArtykuły:

– Javelin: http://www.lti.cs.cmu.edu/Research/JAVELIN/

– http://www.ipipan.waw.pl/~aniak/papers.html