Informationsextraktionssystem ANNIE -...
Transcript of Informationsextraktionssystem ANNIE -...
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Informationsextraktionssystem ANNIE
Annika Berger
Institut fur ComputerlinguistikRuprecht-Karls-Universitat Heidelberg
WS 10/11
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Inhalt
1 Einfuhrung: InformationsextraktionBegriffsklarungKomponenten eines Informationsextraktionssystems
2 GATEEinfuhrung in GATEGetting StartedJAPE (Bestandteil von GATE)
3 ANNIEEinfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
4 Literatur
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
BegriffsklarungKomponenten eines Informationsextraktionssystems
Begriffsklarung: Informationsextraktion
Extraktion relevanter Information aus Texten
Erschließung unstrukturierten Wissens
Spezifikation der Relevanz durch Templates(Erstellung von Regeln, um gesuchte Information zu erfassen)
Prazision der extrahierten Information variiert(hohe Prazision bei (Eigen-) Namen, weniger Prazision bei Ereignissen)
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
BegriffsklarungKomponenten eines Informationsextraktionssystems
Komponenten eines Informationsextraktionssystems
TokenisierungSatz- und Wortsegmentierung
lexikalische AnalysePart-of-Speech-Tagging, Flexionsform, Word Sense Disambiguation
EigennamenerkennungPersonen-, Firmen-, Produktnamen, Datums-, Zeit- undMaßausdrucke, Eigennamen-Koreferenz
Parsingflaches Chunking
KoreferenzauflosungEigennamen-Koreferenz, Pronominale Referenz, Referenzen zwischenDesignatoren
Erkennung domanenrelevanter Muster undTemplate–Unifikation
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in GATEGetting StartedJAPE (Bestandteil von GATE)
Einfuhrung in GATE
Infrastruktur um naturliche Sprache zu verarbeiten
Entwickelt von der University of Sheffield
Erste Version: Mitte der Neunziger Jahre
1999/2000 komplett neu in Java umgeschrieben
Hervorragend in Textanalysen aller Art
Parsingmorphologische AnalyseTaggingInformationsextraktion in mehreren Sprachenetc.
Großtes Open Source Sprachverarbeitungsprojekt
Graphische Oberflache (GATE Developer)
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in GATEGetting StartedJAPE (Bestandteil von GATE)
Getting Started
Erreichbar unter http://gate.ac.uk/
Download unter http://gate.ac.uk/download/
Einfache, intuitive InstallationAnleitung im User Guide, Chapter 2(http://gate.ac.uk/sale/tao/split.html)Filmdemos unter http://gate.ac.uk/demos/movies.html
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in GATEGetting StartedJAPE (Bestandteil von GATE)
Einfuhrung in JAPE
JAPE
steht fur “Java Annotation Patterns Engine”
wendet regulare Ausdrucke auf Annotationen an
erzeugt zur Regelausfuhrung einen Transduktor
beruht auf folgenden Regeln:
Jede Regel hat eine rechte und eine linke Seite, getrennt durch’−− >’Linke Seite: Beschreibung des AnnotationsmustersRechte Seite: Manipulation der Annotation
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in GATEGetting StartedJAPE (Bestandteil von GATE)
JAPE
Beispiel fur eine JAPE Grammatik:
Phase: JobtitleInput: LookupOptions: control = appelt debug = trueRule: Jobtitle1({Lookup.majorType == jobtitle}({Lookup.majorType ==jobtitle})?):jobtitle −− >:jobtitle.JobTitle = {rule = "JobTitle1"}
Da JAPE Grammatiken hintereinander geschaltet werden konnen, bekommt jede Grammatikeinen Namen fur eine bestimmte Phase, in diesem Fall “Jobtitle”.
“Input” spezifiziert die in der Grammatik verwendeten Annotationstypen, in diesem Fallwerden nur Annotationen, die zum Typ “Lookup” gehoren, betrachtet.
In den Optionen wird festgelegt, welche Methode fur das Matchen verwendet wird(“control”) und ob Fehlermeldungen auf die Standardausgabe geschrieben werden sollen(“debug”).
Die linke Seite der Regel sucht nach Text, der mit dem Annotationstyp “Lookup” und demzugehorigen Feature (“major type”) “jobtitle” annotiert ist, optional gefolgt von Text, derebenfalls mit dem Annotationstyp “Lookup” und “jobtitle” annotiert ist. Sobald die Regelauf eine Textsequenz passt, wird die komplette Sequenz mit “jobtitle” annotiert .
Die rechte Seite der Regel annotiert Sequenzen mit Namen “jobtitle” mit demAnnotationstyp “JobTitle” und spezifiziert das Feature “rule” mit “Jobtitle1”.
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in GATEGetting StartedJAPE (Bestandteil von GATE)
JAPE
Abbildung: JAPE Beispielregel; links ein Beispiel bei dem dasAnnotationsmuster gefunden wird, rechts die Manipulation der Sequenz
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Einfuhrung in ANNIE
ANNIE
steht fur “A Nearly New Information Extraction System”ist eine Komponente von GATEist ein Informationsextraktionssystem
Die Algorithmen beruhen auf endlichen Automaten und JAPE
Haufige Verwendung um RDF oder OWL fur unstrukturierte Datenzu erzeugen
Als geeignet und gut bewertet von MUC, TREC, ACE, Pascal undanderen
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Komponenten von ANNIE
Abbildung: ANNIE and LaSIE (User Guide, Chapter 6, ANNIE: a Nearly-NewInformation Extraction System (http://gate.ac.uk/sale/tao/split.html))
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Kurzanleitung ANNIE
Menu: ’Load ANNIE System with defaults’Alle ANNIE Ressourcen werden geladen und eine Korpus-Pipelinemit Namen ANNIE wird erzeugt
Korpus auswahlen
ANNIE starten mit Klick auf ’Run’
Ergebnis betrachten durch Anklicken eines Dokuments im Korpus inder linken Baumstruktur
’Annotation Sets’ auswahlen
’Default’ Annotationen auswahlen, um erzeugte Annotationen zubetrachten
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Graphische Oberflache von ANNIE
Abbildung: GATE - Komponente ANNIE
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Document Reset
Dokument wird auf Originalzustand zuruckgesetzt
Annotationen werden geloscht
Original Markup kann behalten werden(keepOriginalMarkupAS == true)
Moglichkeit nur bestimmte Annotationen zu loschen(Annotationstyp bei annotation Types hinzufugen)
Befindet sich ublicherweise am Anfang der Pipeline, um einewiederholte Ausfuhrung des Programms auf den selben Daten zuermoglichen
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Tokenizer
Ein Tokenizer teilt den Text in einfache Tokens(Worte, Zahlen, Symbole, Satzzeichen und Leerzeichen)
Ein Tokenizer arbeitet mit Regeln:
Jede Regel hat eine rechte und eine linke Seite getrennt durch ’>’Linke Seite: regularer Ausdruck, zur Spezifikation eines TokensRechte Seite: beschreibt Annotationen, die zum Annotationssethinzugefugt werden, getrennt durch ’;’Beispielregel fur ein Wort, das mit einem Großbuchstaben beginnt:
’UPPERCASE LETTER’ ’LOWERCASE LETTER’* >Token;orth=upperInitial;kind=word;
English Tokenizer
Passt die generische Ausgabe des Tokenizers dem englischenPart-of-Speech Tagger anBeispiele: ’ll → will; ’til → until; don ’ t → do und n’t
Alternativ: GATE Unicode Tokenizer
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Tokenizer
Abbildung: Ausgabe des Tokenizers
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Gazetteer
Ein Gazetteer erkennt Eigennamen auf Basis einer Menge vonGazetteer-Listen und ordnet einem Korpus die entsprechendenAnnotationen zuEine Gazetteer-Liste
enthalt eine Menge von Namen (Stadte, Organisationen, Wochentage, etc.)ist eine plain text-Datei mit einem Eintrag pro Zeilewird fur den Zugriff auf die Listenelemente in einen endlichen Automatenuberfuhrt
Der Zugriff auf die Gazetteer-Listen erfolgt uber eine Index Datei
Eine Index Datei spezifiziert fur jede Liste den Listennamen, einenmajor type und optional einen minor type
GATE enthalt bereits uber 100 solcher Listen
Beispiel einer Index Datei:person male.lst:person first:male
Ein Gazetteer annotiert in einem Korpus z.B. alle mannlichen Vornamengemaß person male.lst mit minor type: person first und major
type: male
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Gazetteer
Abbildung: Der mannliche Vorname ’Ronald’ (etwas dunkler markiert) wurdevom Gazetteer entsprechend der Beispielspezifikation annotiert
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Sentence Splitter
Ein Sentence Splitter
teilt den Text mit Hilfe einer Gazetteer-Liste in Satze auf, wasVoraussetzung fur den PoS-Tagger istbesteht aus hintereinander geschalteten endlichen Transduktorenannotiert alle gefundenen Satze mit ’Sentence’annotiert alle satzabschließenden Satzzeichen mit ’Split’ist domanen- und anwendungsunabhangig
Die verwendete Gazetteer-Liste enthalt Abkurzungen, umSatzpunkte von Abkurzungspunkten zu unterscheiden
Alternative Sentence Splitter konnen verwendet werden, z.B. einSentence Splitter mit anderem Regelsatz (neue Zeile bedeutet neuerSatz) oder ein RegEx Sentence Splitter, welcher regulare Ausdruckeverwendet, um Satze zu erkennen
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Sentence Splitter
Abbildung: Ausgabe des Sentence Splitters
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Part-of-Speech Tagger
Ein Part-of-Speech Tagger bestimmt die Wortarten (Substantiv,Verb, Adjektiv, etc.) fur alle Tokens im Text
ANNIE verwendet einen modifizierten Brill-Tagger
Der Brill-Tagger verwendet zum Tagging ein Lexikon und einenRegelsatz
Lexikon und Regelsatz sind auf einem Korpus des Wall StreetJournals trainiert
Lexikon und Regelsatz sind modifizierbar bzw. austauschbar
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Part-of-Speech Tagger
Abbildung: Annotationen fur das Wort ’recovery’
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Semantic Tagger
Ein Semantic Tagger findet und annotiert Entitaten
Ein Semantic Tagger enthalt Regeln, die sich nach Annotationen vonvorhergehenden Phasen richten, um Entitaten zu annotieren
Die Regeln basieren auf JAPE
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Semantic Tagger
Abbildung: Ausgabe des Semantic Taggers
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Orthographic Coreference Matcher
Ein Orthographic Coreference Matcher betreibt Koreferenzauflosung,indem Identitatsbeziehungen zwischen Eigennamen hinzugefugtwerden, die vom Semantic Tagger gefunden wurden
Ein Orthographic Coreference Matcher findet keine neuenEigennamen, er kann jedoch unklassifizierte Eigennamen erkennendurch einfaches Abgleichen (Matching) mit erkannten Eigennamen
Rekategorisierung wird verhindert, da Koreferenzen nur mit Objektendes selben Typs (z.B. Person) moglich sind
Es findet kein automatisches Laden von Nominal Coreferencer undPronominal Coreferencer statt, beide konnen aber zur Pipelinehinzugefugt werden
Ein Pronominal Coreferencer findet Koreferenzen zwischenPronomen und Entitaten
Ein Nominal Coreferencer findet Koreferenzen zwischen Nomen undEntitaten
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Orthographic Coreference Matcher
Abbildung: Ausgabe des Orthographic Coreference Matchers: Der Name’Sandler’ taucht an mehreren Stellen (siehe matches) im Dokument auf
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Orthographic Coreference Matcher
Abbildung: Eine Auswahlmoglichkeit bietet der Co-reference Editor: hier sindalle Koreferenzen zu ’Ronald Sandler’ farbig markiert
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Pronominal Coreferencer und Nominal Coreferencer
Abbildung: Ausgabe von Pronominal Coreferencer und Nominal Coreferencer:gefundene pronominale und nominale Koreferenzen zu ’Ronald Sandler’
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Einfuhrung in ANNIEKomponentenubersichtKurzanleitungGraphische OberflacheKomponentenAnnotationsergebnisse
Annotationsergebnisse
ANNIE liefert, wie gesehen, viele richtige Ergebnisse doch einigeAnnotationen sind nicht korrekt:
Als ’Date’ annotiert:Als ’Location’ annotiert:Als ’Sentence’ annotiert:Als ’Location’ und ’First Person’ annotiert:
Falsche nominale Koreferenz:
Verbesserung der Ergebnisse konnte geschehen
durch Aktualisierung oder Manipulation einiger Gazetteer-Listenz.B. durch Hinzufugen der Stadt “San Francisco” oder der Abkurzung “Aug. 28”
durch Verfeinerung der JAPE-Regelnz.B. wenn nach einer Zahl das Wort “percent” folgt, muss es sich um eine
Prozentzahl handeln und ist keinesfalls ein Datum
Annika Berger Informationsextraktionssystem ANNIE
Einfuhrung: InformationsextraktionGATE
ANNIELiteratur
Literatur
http://gate.ac.uk/
GATE 6.0 User Guide,http://gate.ac.uk/sale/tao/split.html
Gunter Neumann (2001): Informationsextraktion, in: Kai-UweCarstensen et al. (Hrsg.): Computerlinguistik und Sprachtechnologie.Springer, Berlin, Heidelberg: 448-455.
Annika Berger Informationsextraktionssystem ANNIE