Begriffe (I)

Download Report

Transcript Begriffe (I)

Annie
Zara Kanaeva, November 2002,
Information Extraction
Inhalt
• Systemarchitektur
• JAPE, Java Annotation Patterns Engine
Zara Kanaeva, November 2002,
Information Extraction
Architektur
Zara Kanaeva, November 2002, Information Extraction
JAPE
• Besteht aus einer Menge von “Phasen”
• Jede Phase besteht aus einer Menge von
“pattern/action”- Regeln
• Die Phasen laufen nach einander ab und stellen
eine Kaskade der “finite state transducers” dar
• Die linke Seite (LHS) einer Regel besteht aus
Annotationspattern, die Operatoren der regulären
Ausdrücke (*,?,+,|) beinhalten können
• RHS einer Regel besteht aus Manipulationen der
Annotationen
Zara Kanaeva, November 2002, Information Extraction
JAPE (Hauptmodule)
• Tokeniser
• Gazetteer
• Grammar
Zara Kanaeva, November 2002, Information Extraction
Tokeniser (JAPE)
 Zerlegt den Text in sehr kleine einfache
Tokens (Zahlen, Punktuationszeichen und
Wörter)
 In den Regeln wird LHS von der RHS durch
“ > “ getrennt
 Allgemein: {LHS} > {Annotation type};
{attribute 1}={value 1}; … ;{attribute n}={value
n}
 Beispiel: “UPPERCASE_LETTER”
“LOWERCASE_LETTER”* > Token;
orth=upperInitial;kind=word
Zara Kanaeva, November 2002, Information Extraction
Gazetteer (JAPE)
 Der zweite Annotationsschritt:
Schlüsselwörter, die mit bestimmten EntityTypen zusammenhängen, werden durch das
Suchen in angelegten Listen bestimmt und
mit diesen Entity-Typen annotiert
 Eine Indexdatei (lists.def) wird benutzt, um
auf die angelegten Listen zuzugreifen
 Für jede Liste spezifiziert man den “major“Typ und den “minor“- Typ
Zara Kanaeva, November 2002, Information Extraction
Gazetteer (JAPE)
 Beispiel einer Liste (currency_unit.lst):
Ecu
European Currency Units
FFr
Fr
German mark
German marks
New Taiwan dollar
New Taiwan dollars
NT dollar
NT dollars
Zara Kanaeva, November 2002, Information Extraction
Gazetteer (JAPE)
 Major- und Minor-Type Listen:
currency_prefix.lst:currency_unit:pre_amount
currency_unit.lst:currency_unit:post_amount
date.lst:date:specific
day.lst:date:day
 Wozu braucht man die Typen: “major“ und “minor“?
Zara Kanaeva, November 2002, Information Extraction
Grammatik (JAPE)
 Die Grammatik besteht aus den Regeln, die
auf den vergebenen Annotationen arbeiten
 Die linke Seite einer Regel (LHS) wird von
der rechten (RHS) durch “-->” getrennt
 Wie beim Tokeniser beschreibt die LHS einer
Grammatikregel das Muster (Annotationen +
Operatoren)
 die RHS einer Regel beschreibt die
Annotationen, die vergeben werden
 zusätzlich gibt es auch die Möglichkeit,
Macros zu definieren und in LHS zu benutzen
Zara Kanaeva, November 2002, Information Extraction
Grammatik (JAPE)
 Es gibt drei Möglichkeiten für die
Spezifikation des Musters einer LHS:
•
•
•
Stringspezifikation, z.B. {Token.string == “of”}
Spezifikation der Attribute eines Tokens, z.B.
{Token.kind == number}
Spezifikation eines Annotationstypes des Gazetteerers,
z.B. { Lookup.minorType == month}
 Beispiel:
Rule: GazLocation
( {Lookup.majorType == location} )
:location --> :location.Enamex = {kind=“location”,
rule="GazLocation"}
Zara Kanaeva, November 2002, Information Extraction
Kontext (Beispiel 1)
Rule: YearContext1
({Token.string == "in"} |
{Token.string == “by"}
)
(YEAR)
:date -->
:date.Timex = {kind = “date“, rule = “YearContext1“}
Zara Kanaeva, November 2002, Information Extraction
Kontext (Beispiel 2)
Rule: Emailaddress1
({Token.string == "<"})
(
(EMAIL)
)
:email
({Token.string == ">"})
-->
:email.Address = {kind = “email“, rule =
“Emailaddress1“}
Zara Kanaeva, November 2002, Information Extraction
JAPE- Beispiel
Zara Kanaeva, November 2002, Information Extraction
Priorität

Zwei Möglichkeiten der Berücksichtigung
der Priorität:




Nach Brill
Nach Appelt
Spezifikation der Prioritätskontrolle erfolgt
am Anfang der Grammatik
Brill: keine Prioritäten
Zara Kanaeva, November 2002, Information Extraction
Prioritätskontrolle nach Appelt


Nur eine Grammatikregel pro Textsegment
Prioritätsregel:
1. Die Regel, die ab dem Punkt X mit dem längsten
Textabschnitt übereinstimmt, wird genommen
2. Wenn es mehrere Regel mit dem gleichen
Textabschnitt gibt, wird die Regel mit der höchsten
Priorität genommen
3. Wenn es mehrere Regel mit der gleichen Priorität gibt,
wird die Regel genommen, die vor allen anderen in der
Grammatik definiert wurde

"Default" – Priorität: -1
Zara Kanaeva, November 2002, Information Extraction
Prioritätskontrolle nach Appelt

Beispiel:
Rule: Location1
Priority: 25
(
({Lookup.majorType == loc_key,
Lookup.minorType == pre}
{SpaceToken})?
{Lookup.majorType == location}
({SpaceToken}
{Lookup.majorType == loc_key,
Lookup.minorType == post})?
)
:locName --> :locName.Location = {kind =
“location“, rule = “Location1“}
Zara Kanaeva, November 2002, Information Extraction
Rule: GazLocation
Priority: 20
(
{Lookup.majorType ==
location}
)
:location --> :location.Name =
{kind = “location“, rule =
“GazLocation“}
"China sea"
Prioritätskontrolle nach Appelt

Beispiel:
Rule: Location1
Priority: 25
(
({Lookup.majorType == loc_key,
Lookup.minorType == pre}
{SpaceToken})?
{Lookup.majorType == location}
({SpaceToken}
{Lookup.majorType == loc_key,
Lookup.minorType == post})?
)
:locName --> :locName.Location = {kind =
“location“, rule = “Location1“}
Zara Kanaeva, November 2002, Information Extraction
Rule: GazLocation
Priority: 20
(
{Lookup.majorType ==
location}
)
:location --> :location.Name =
{kind = “location“, rule =
“GazLocation“}
"China"
Regelumsetzung

Zwei Wege für die Regelanwendung:



Brill-Style – jede Regel, die “matcht“, wird
genommen
Appelt-Style – die Regel mit dem längsten
übereinstimmenden Textfragment wird genommen
Entsprechend diesen zwei Wegen die Umsetzung:


Kompillieren der Eingabe und die Bildung der “Finite
State Machine“ (FSM)
Suche des längsten Weges in dem entstandenen
Annotationsgraphen (FSM)
Zara Kanaeva, November 2002, Information Extraction
FSM-Bildung (Grundlage)
Zara Kanaeva, November 2002, Information Extraction
FSM-Bildung (der effiziente Weg)
Zara Kanaeva, November 2002, Information Extraction
Suchen des längsten Weges
Zara Kanaeva, November 2002, Information Extraction
Literatur


H. Cunningham, D. Maynard, V. Tablan:
“JAPE: a Java Annotation Patterns Engine“,
Research Memo CS-00-10, 2000
H.Cunningham, D. Maynard, K. Bontcheva, V.
Tablan, C. Ursu, M. Dimitrov: “Developing
Language Processing Components with
GATE (a User Guide)“, The University of
Sheffield 2001-2002
Zara Kanaeva, November 2002, Information Extraction