Question Answering Systeme Vortrag von Alexander Wey.

Post on 06-Apr-2015

118 views 4 download

Transcript of Question Answering Systeme Vortrag von Alexander Wey.

Question Answering Systeme

Vortrag von Alexander Wey

2

Überblick

Was sind Question Answering Systeme? TREC-9 QA Task Question Answering Systeme :

Ein einfaches Question Answering System FALCON

Zusammenfassung Ausblick

3

Was sind Question Answering Systeme ? liefern Antworten auf natürlich-sprachlich

gestellte Fragen

selektieren relevante Dokumente einer Wissensbasis

durchsuchen die relevanten Dokumente nach möglichen Antworten

4

Was ist „TREC“ ?

Text REtrieval Conference wird finanziert vom National Institute of Standards (NIST) und vom U.S. Verteidigungsministerium

ermöglicht Vergleichbarkeit von IR Verfahren durch Verwendung gleicher Datenmengen und Bewertungskriterien

5

TREC-9 QA Task

28 Teilnehmer (Forschungsgruppen von Universitäten und aus der privaten Wirtschaft)

3 GB großer Datenkorpus und 693 Test-Fragen wurden den Teilnehmern übergeben

Pro Frage sollte eine Liste von 5 Paaren übermittelt werden (Paar bestand aus Id-Nr. und Antwortstring) ; Liste nach Relevanz geordnet.

4 Durchläufe, jeweils zwei 50 und 250 - Byte

6

Bewertung

Die Listen wurden von unabh. NIST Mitarbeitern überprüft.

Abhängig vom Rang der Antwort wurden die Punkte verteilt. 1/r Punkte, wobei r der Rang der richtigen Antwort sei.

Gesamtergebnis aufgeteilt in „unsupported“ und supported“

7

QA Strategie

Im 1. Schritt wird der Antwort-Typ einer Frage ermittelt.

Im 2. Schritt wird aus allen Dokumenten ein kleiner Ausschnitt selektiert. Um passende Einträge (die vom gleichem Typ sind

wie die Antwort) zu finden, wird dieser Ausschnitt mit einem Parser durchlaufen.

8

Ein einfaches QA System

entwickelt von Cooper & Rüger der Imperal College of Science, Technology and Medicine , London

Geschrieben in Perl und verwendet : CMU Link Parser WordNet REX System für XML Parsing Managing Gigabyte Suchmaschine

9

Vorbereitung der Daten

Um die Rohdaten der Dokumente zu erhalten entfernte man die SGML (Standard Generalized Markup Language) – Zeichen

$ und £ Zeichen wurden durch die Wörter dollar und pounds ersetzt.

Die “rohen” Dokumente wurden in Paragraphen aufgeteilt.

10

Verarbeitung einer Frage

11

Sentence Splitter & Tokenizer

markiert die Satzenden, durch Suche nach Fragezeichen, Ausrufezeichen und Punkten.

Punkt => wirklich Satzende ?

tokenizer – Modul zerlegt die Frage in ihre einzelnen Bestandteile auf Wörter, welche Ziffern enthalten werden ebenfalls

zerlegt, Bsp. pounds20m -> 3 Tokens : pounds, 20, m

12

Link Parser

analysiert die syntaktische Struktur der Frage hängt den Ableitungsbaum an das Ergebnis des

„sentence splitter & tokenizer“ an. <sentence><t n=“1“>How</t> <t n=“2“>far</t> <t

n=“3“>away</t> <t n=“4“>is</t> <t n=“5“>the</t> <t n=“6“>moon</t> <t n=“7“> ?</t><parse><pos n=“2“ pos=“a“/><pos n=“4“ pos=“v“/><pos n=“6“ pos=“n“/><link name=“Xp” l=“0“ r=“7“/><link name=“Wq“ l=”0” r=”2”/><link name=”PF” l=”2” r=”4”/><linke name=”MVp” l=”2” r= “3”/><link name=”Sis” l=”4” r=”6”/><link name=”Ds” l=”5” r=”6”/><link name=”RW” l=”7” r=”8”/></parse></sentence>

13

Question Focus (1)

Wort oder Satzteil der Frage, welches ein Indiz für den Antworttyp sein könnte Bei manchen leichter bei anderen Fragen schwieriger

Antworttyp einer „what“ Frage benötigt weiteres Wort (question focus) z.B. „What time is the train arriving?“ Das erste Substantiv der Frage wird als „question

focus“ festgelegt

14

Question Focus (2)

Bei unserer Beispielfrage wird das Wort „moon“ als question focus gewählt. <questionFocus><t n=„6“>moon</t></questionFocus>

15

Answer Type (1)

legt den Antworttyp mit Hilfe des „question focus“ fest.

Schwachpunkt des Systems : Bei „who“ Fragen wird angenommen, dass immer

nach einer Person gesucht wird Gegenbeispiele :

„Who won the Premiership?“ (Fussballverein gesucht)

„Who beat Fred in the 100 m?“ (Liste von Läufern)

„Who beat England in the relay?“ (mehrere Länder)

16

Answer Type (2)

Zusätzliche Synonyme können die Ermittlung des richtigen Antworttyps vereinfachen.

Synonyme können mittels WordNet gefunden werden. Für die Beispielfrage „How far away is the moon?“

wird das Wort length hinzugenommen : <answerType t=„length“/>

17

Übersicht Antworttypen

Fragewort AntworttypWhen time

Where place

Why reason

Describe description

Define definition

Who, whom person

What, which, name Mittels question focus…

How Wort nach „how“

18

Keyword Extraction

Einzelne Wörter der Frage werden mit speziellen Kategorien kommentiert

Dies geschieht an Hand von Listen, in denen Namen von Personen, Plätzen, etc. und deren zugehörige Kategorie steht

London hört z.B. zur Kategorie „city“ Das Token „London“ wird kommentiert :

<aCity>London</aCity>

19

Paragraph Retrieval via MG

Der Datenkorpus wird mit der Managing Gigabyte Suchmaschine und der aufgearbeiteten Frage durchsucht.

Man erhält einen Ausschnitt von Dokumenten (Paragraphen), in denen die Antwort vermutet wird.

Problem : Zu wenig oder zu viele Dokumente ?

20

Candidate Answer Extraction

markiert Stellen im Text, welche Antworten sein könnten

Synonyme des Antworttyps werden mittels WordNet gefunden.

Mit der Disjunktion der Synonyme erstellt man einen regulären Ausdruck und vergleicht diesen mit dem Text

21

Ausnahmen

Antworttyp „person“ zuviele Synonyme , z.B. consumer, creator

Antworttyp „description“ zu schwer um hiermit die passenden Stellen zu finden Annahme : zwischen Komma und Punkt steht eine

Beschreibung

Antwortyp „length“ zu viele Antwortkandidaten

22

Answer Scoring (1)

Heuristik Beschreibungscore_comma_3_word Folgt nach einem Antwortkandidaten ein

Komma, so werden die 3 Wörter nach dem Komma, welche auch in der Frage auftauchen gezählt

score_punctuation 1 Punkt, wenn nach dem Antwortkandidat ein Punkt folgt (sonst 0 Punkte)

score_same_sentence # Wörter, welche sowohl in der Frage als auch beim Antwortkandidaten in einem Satz stehen

23

Answer Scoring (2)

Score_description_before Gilt nur für den Antworttyp „description“. Berechnet die Anzahl der Wörter die vor einem Antwortkandidaten stehen

Score_description_in #Wörter die im Antwortkandidaten stehen

Heuristiken sind untereinander unabhängig. Jeder Antwortkandidat wird ein Paar (id, score)

zugeordnet

24

Answer Weighting

Heuristik Gewichtungscore_comma_3_word 1.2

score_punctuation 1.1

score_same_sentence 1.0

score_description_before 2.0

score_description_in 1.0

25

Answer Ranking

Antwortkandidaten werden aus den Dokumenten kopiert nach Gewicht sortiert einem Rang zugeordnet

Duplikate werden gelöscht.

26

Zusammenfassung & Leistung

Um relevante Dokumente zu finden ermittelt man den Antworttyp und sucht passende Keywords

Textstellen werden markiert, welche Antworten sein könnten

Die Güte eines Antwortkandidaten wird bewertet.

Das einfache QA System konnte bis zu 39 % der Fragen beantworten.

27

FALCON

Southern Methodist University, Dallas Bestes Ergebnis im TREC-9 QA Task

58% der Fragen im 50-Byte Durchlauf beantwortet 76% der Fragen im 250-Byte Durchlauf beantwortet

geht auf die umformulierten Fragen ein Richtigkeit der Antwort wurde an Hand der

semantischen Form und logischen Form der Frage und Antwort überprüft.

28

Aufbau des Falcon Systems

29

Strategien des Falcon Systems

Bisher gestellte Fragen und Antworten werden abgespeichert (cached answers)

Relevante Dokumente werden mittels „boolean retrieval“ selektiert

Antworttyp wird zusätzlich mit Hilfe der semantischen Form der Frage ermittelt

Dasselbe Problem, wie beim einfachen QA System : zu wenige, oder zu viele relevante Dokumente Verfeinerung der Suche

30

Verfeinerung der Antwortsuche

31

Morphologische & lexikalische Alternativen Mit WordNet werden alle morphologischen

Ableitungen eines Schlüsselwortes gesucht Bsp : „Who invented the paper clip?“

morphologische Ableitungen des Wortes invented : inventor, invent

Mit WordNet werden Synonyme und andere Beschreibungen für ein Wort gesucht. Bsp : „Who killed Martin Luther King?“ Hier wurde

das Wort „assasin“ als Schlüsselwort hinzugefügt, da es ein Synonym für killer ist.

32

Semantische Alternativen

Auch hier mit der Hilfe von WordNet„liking better“ dieselbe Bedeutung wie „prefer“Bsp : „Where do lobsters like to live ?“ Konnte

mit Hilfe des Schlüsselworts „prefer“ beantwortet werden.

33

Semantische Form einer Frage

Mit dem „new statistical parser“ von Collins wird ein Ableitungsbaum erstellt.

Hieraus kann leicht die semantische Form einer Frage (bzw. Antwort) erstellt werden.

34

Erstellung der semantischen Form

Substantive, Verben, Adjektive und Adverbien werden als non-skipnodes bezeichnet, alle anderen Blätter werden als skipnodes bezeichnet

An Hand einer Regel erhält Vaterknoten die Bezeichnung eines Sohnes

Vaterknoten wird mit allen anderen „non-skipnodes“ verknüpft.

Non-skipnodes hier : astronaut, walk, space

35

Logische Form einer Frage

Transformation der semantischen Form in eine logische Form geschieht mit dem Programm Tacticus (von Jerry R. Hobbs)

36

Zusammenfassung

QA Systeme arbeiten meist in 2 Schritten : 1. Schritt : Suchen der relevanten Dokumente 2. Schritt : Suchen der Antwort in diesen Dokumenten

Mit Hilfe semantischen Wissens konnte FALCON bis zu 76% der Fragen richtig beantworten

37

Ausblick

Beantwortung komplexerer Fragen

Benutzerfreundlichere Suchmaschinen

Dialogsysteme zur Beantwortung faktischer Fragen

38

Quellenangabe

Overview of the TREC-9 Question Answering Track, Ellen M. Voorhees, National Institute of Standards an Technology, Gaithersburg.

A Simple Question Answering System. Richard J Cooper and Stefan M Rüger, Departement of Computing, Imperial College of Science, Technology and Medicine, 180 Queen‘s Gate, London.

Falcon : Boosting Knowledge of Answering Engines. S. Harabagiu, D. Moldovan, M. Pasca, R. Mihalcea, M. Surdeanu,

R. Bunescu, R. Girju, V. Rus, P. Morarecsu, Departement of Computer Science and Engineering, Southern Methodist University, Dallas

39

Vielen Dank für die Aufmerksamkeit und frohe Weihnachten !