Javelin: system odpowiadąjacy na pytania

Download Report

Transcript Javelin: system odpowiadąjacy na pytania

Javelin: system odpowiadający
na pytania
Anna Kupść
IPIPAN & LTI CMU
7/17/2015
Ogólna zasada systemów QA
Połączenie IR z IE:
• Pytanie w języku naturalnym
• Wyszukiwanie dokumentów zawierających
odpowiedź (IR)
• Szukanie (kandydatów) odpowiedzi w
dokumentach (IE)
• Generowanie odpowiedzi: ranking
znalezionych kandydatów, normalizacja
Ogólna Architektura
pytanie
Analiza
pytania
Wyszukiwanie
dokumentów
odpowiedź
Szukanie
odpowiedzi
Generowanie
odpowiedzi
Javelin
• Javelin: Justification-based Answer
Valuation through Language Interpretation
• System odpowiada na pytania nie związane
z konkretną dziedziną (open-domain)
• Planowanie: ~ umożliwia zmianę
standardowego zachowania systemu
• Weryfikacja (justification) odpowiedzi
(wnioskowanie, typ pytania/odpowiedzi,
NLP, użyte zasoby...)
• Wielojęzyczność (angielski, japoński i
chiński)
Architektura Javelin
pytanie
odpowiedź
planowanie
Analiza
pytania
Wyszukiwanie
dokumentów
Szukanie
odpowiedzi
Generowanie
odpowiedzi
Podstawowa analiza pytań
•
•
•
•
•
•
Typ pytania i odpowiedzi
słowa kluczowe
tokenizacja
anotacja: POS, BBN, WordNet
analiza składniowa (gramatyka typu LFG)
analiza semantyczna:
– reprezentacja logiczna (struktura argumentów)
+ role semantyczne
When was Wendy’s founded?
<QuestionAnalyzer version="0.3" status="OK">
<ResourceStats>
<Time unit="sec">11.744</Time>
</ResourceStats>
<RequestObject>
<Question id="1">
When was Wendy's founded?
</Question>
<QuestionType confidence="1.0">event-completion</QuestionType>
<AnswerTypeInfo>
<AnswerType confidence="1.0">temporal</AnswerType>
</AnswerTypeInfo>
<FStruct>[ ((root "when")(ortho "When")(Brill-pos WRB)(atype temporal)(tokens 1)(dmk
(*or*((alternate-cats n)(concepts ((coordination-type subordinate) (id *conj-when)))(head-root
when)(meaning conj-when-1)(pos conj)(subord-conj +))((alternate-cats conj)(concepts ((id *owhen)))(head-root when)(meaning n-when-1)(pos n))))), ((root "be")(ortho "was")(Brill-pos
VBD)(tokens 2)(dmk ...), ((root "wendy")(ortho "Wendy")(Brill-pos NNP)(BBN-name person)(tokens
3)(dmk ...), ((root "'s")(ortho "'s")(Brill-pos POS)(tokens 4)), ((root "found")(ortho
"founded")(Brill-pos (*mult* VBN VB VBD))(tokens 5)(dmk ...), ((root "?")(ortho "?")(Brill-pos
.)(tokens 6)) ] </FStruct>
<Keywords>
<Keyword type="proper">
<Term>Wendy</Term>
</Keyword>
<Keyword type="word">
<Term>founded</Term>
</Keyword>
</Keywords>
<SequentialPatterns>
<SequentialPattern>*Answer* 0 1</SequentialPattern>
<SequentialPattern>0 1 *Answer*</SequentialPattern>
</SequentialPatterns>
</RequestObject>
</QuestionAnalyzer>
When was Wendy’s founded?
• Analiza składniowa: “Wendy’s”
jest podmiotem zdania w stronie
biernej; pytanie o okolicznik
czasu.
• Reprezentacja logiczna
pytania:
found(*, Wendy’s)
temporal(?x)
• role semantyczne: słownik
walencyjny Bonnie Dorr, FrameNet,
PropBank ...
Analiza pytań (c.d.)
• pytania o fakty
– What is the age of Prime Minister Mori?
• pytania wym. wymienienia elementów:
– Name all presidents of the US.
• pytania złożone:
– What is the profession of Clinton’s wife?
• dezambiguacja (dialog z użytkownikiem):
– What are the causes of hyperinflation?
(ekonomia czy medycyna?)
• wielojezyczność
Architektura Javelin
pytanie
odpowiedź
planowanie
Analiza
pytania
Wyszukiwanie
dokumentów
Szukanie
odpowiedzi
generowanie
odpowiedzi
Szukanie odpowiedzi
• Podstawowy moduł wykorzystuje metody
statystyczne:
– klasyfikatory oparte na wzorcach
powierzchniowych (RegEx z wykorzystaniem
POS, BBN...)
– statystyki tekstowe
• bardziej złożone pytania wymagają
przetwarzania języka naturalnego
Przykład błędnej odpowiedzi
• Przykład: “When was Wendy’s founded?”
• Paragraf:
– “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>..”
• Proponowana odpowiedź: 20th Century
Moduł NLP: ogólna zasada
• Wykorzystanie różnych parserów do analizy
znalezionych dokumentów / paragrafów
• przetworzenie struktury powierzchniowej (drzewa
rozbioru) do struktury funkcyjnej
– jeden moduł dla wszystkich analizatorów
• zamiana struktury funkcyjnej na strukturę
argumentów (i okreslenie ról semantycznych)
– jeden moduł dla wszystkich analizatorów
• unifikacja otrzymanych struktur ze strukturą
argumentów pytania
– dodatkowe potwierdzenie odpowiedzi otrzymanych
metodą statystyczną
Przykład
• Pytanie: “When was Wendy’s founded?”
• Analiza pytania:
– { temporal(?x), found(*, Wendy’s) }
• Paragraf:
– “R. David Thomas founded Wendy’s in 1969, …”
• Wynik analizy NLP:
– { founded(R. David Thomas, Wendy’s), DATE(1969), … }
• Unifikacja:
•
– Equiv(found(*,Wendy’s),
founded(R. David Thomas, Wendy’s))
– Equiv(temporal(?x),
DATE(1969))
– ?x := 1969
Odpowiedź: 1969
Moduł statystyczny a moduł NLP
• Wśród wielu kandydatów odpowiedzi wskazanych
przez moduł statystyczny, jest także odpowiedź “1969”,
ale wszystkie potencjalne odpowiedzi mają przypisaną
prawie taką samą wiarygodność
– w systemie ostateczna odpowiedź zależy od uszeregowania
(wykorzystującego m.in. wiarygodność) określonego przez
moduł generowania odpowiedzi
– odpowiedzi uzyskane przez moduł NLP mają wiekszą
wiarygodność oraz potwierdzają dodatkowo odpowiedzi
uzyskane metodą statystyczną
Schemat modułu NLP
Kandydaci odpowiedzi
WordNet
unifikacja
predykaty
paragrafy
Reprezentacja
pytania
Analiza
NLP
analiza
morfologiczna
Tager NE
Parsery
Moduł NLP
• Statystyczny parser Charniak’a: pełne drzewo
rozbioru + duży zakres konstrukcji (wbudowana
gramatyka)
• moduł przekształcający drzewo rozbioru na
strukturę funkcyjną
• podstawowa unifikacja predykatów
reprezentujących paragrafy z reprezentacją pytania
• parser tablicowy (chart parser) + ręcznie napisana
gramatyka typu LFG: struktura funkcyjna
Parser tablicowy + gramatyka
• Zasoby zewnętrzne:
– tager Brill’a, BBN, WordNet
– (mały) słownik walencyjny: walencja czasowników
• Gramatyka:
– szczegółowa analiza podstawowej struktury
– okoliczniki, modyfikatory nie dołączone
• parser tablicowy: częściowy rozbiór, jeśli nie
można uzyskać pełnej analizy
“R. David Thomas founded Wendy's in 1969”
((Brill-pos VBD)
(WordNet (
(semantic undefined)
(sense (*MULT* v-1 v-2 v-3))))
(Wordnet-1 object)
(automatic val)
(cat v)
(dmk
((head-root found)
(meaning v-found-1)
(pos v)))
(finite +)
(form finite)
(gap null)
(object (
(BBN-name person)
(Brill-pos NNP)
(Wordnet-1 object)
(cat n)
(ccase accusative)
(definite +)
(dmk (
(concepts ((id *pn-wendy)))
(head-root wendy)
(meaning pn-wendy-1)
(pos pn)))
(expl -)
(gen-pn +)
(human +)
(number sg)
(numeral -)
(ortho "wendy's")
(person third)
(pronominal -)
(proper-noun +)
(root wendy)
(time -)
(tokens 9)
(unit -)
(wn1 object)))
(ortho founded)
(parse-length 3)
(root found)
(subject (
(BBN-name person)
(Brill-pos NNP)
(WordNet (*OR*
((semantic "numeric-expression/number") (sense n-2))
((semantic "numeric-expression/size/1-d-size/length") (sense n-4))
((semantic numeric-expression) (sense n-1))
((semantic object) (sense n-3))))
(Wordnet-1 numeric-expression)
(cat n)
(definite +)
(expl -)
(object (
(human +)
(Brill-pos CD)
(number sg)
(Wordnet-1 object)
(numeral -)
(amount 1969)
(ortho "R. David Thomas")
(cat number)
(person third)
(dmk ((head-root 1969)
(proper-noun +)
(meaning number-1969-1)
(root "R. David Thomas")
(pos number)))
(tokens 7)
(ortho 1969)
(unit -)
(root 1969)
(wn1 numeric-expression)))
(tokens 12)
(tense past)
(wn1 object)))
(tokens 8)
(ortho in)
(valency subject+object)
(parse-length 1)
(wn1 object))
(root in)
(
(time +)
(Brill-pos IN)
(tokens 11)
(Wordnet-1 object)
(wn1 object))
(cat p)
(dmk (*OR*
(
(alternate-cats p)
(concepts *UNDEFINED*)
(head-root in)
(meaning particle-in-1)
(pos particle))
(
(alternate-cats particle)
(concepts ((id *k-in)))
(head-root in)
(meaning p-in-1)
(pos p))))
Rozszerzenia modułu
• Rozszerzenie algorytmu unifikacji o relacje zawarte w
WordNet:
– Q: Who killed JFK? A: JFK was assassinated...
• Wzbogacenie reprezentacji semantycznej:
– funkcje składniowe + role semantyczne
– reprezentacja zdarzeń
• wnioskowanie, inferencja:
– Donatos, founded in 1963, six years before Wendy’s was founded, began
franchising in 1991as customers took to its ``Edge to Edge'' pizzas.
• określanie referencji:
– JFK = John F. Kennedy = John Kennedy = ...
– The tracks run through Belleview, where 19-year-old Jesse Howell was found
slain on March 23,1997. His 16-year-old traveling companion, Wendy
VonHuben,...
Pytania?