1 Formale Grundlagen der Faktenextraktion mit endlichen Automaten Karin Haenelt 27.11.2011
1
Formale Grundlagen der Faktenextraktion mit endlichen Automaten
Karin Haenelt
27.11.2011
Themen
Endlicher Automat Beispiele Definition
Reguläre Ausdrücke Definition Äquivalenz: Reguläre Ausdrücke und endliche Automaten Operatoren für reguläre Ausdrücke in Programmiersprachen
Reguläre Sprachen und menschliche Sprachen Vorgehensweise bei der Modellierung menschlicher Sprachen
mit formalen Sprachen
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
2
d e m n r s 0 1 1 2 2 3 3 3 4 3 f 4 f 5 5 6 6 7 7 f
Endliche Automaten: BeispieleKippschalter und Lexikon
3
anausStart
drücken
drücken drücken aus an an aus
d0 1
e2
m3
nr
5s
4s 7
e6 n
Lexikon
Schalter
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Informelle EinführungAbstrakter Automat
ein abstrakter Automat ist ein mathematisches Modell für einfache Maschinen/Programme, die bestimmte Probleme lösen
beschreibt nicht einen bestimmten Automaten, sondern gemeinsame Grundprinzipien einer Klasse von Automaten
Grundlegende Komponenten Zustände Eingabesymbole Zustandsübergänge: reagiert auf Eingaben durch Übergang
in einen anderen Zustand
4
Zustände des Automaten
Eingabe Ausgabe
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
DefinitionenDeterminierter abstrakter AutomatMengentheoretische Definition (Version: Starke 1.1)
determinierter abstrakter Automat (Starke 1969: 22)
A = (X, Y, Z, γ) heißt determinierter abstrakter Automat, falls
a) X, Y, Z beliebige nichtleere Mengen sind, und
b) γ eine auf Z X definierte Funktion ist, deren Werte in Y Z liegen. ■
Interpretation
X Menge der Eingabesymbole
Y Menge der Ausgabesymbole
Z Menge der Zustände
5
Z × X
a b
0 Y × Z Y × Z
A 1 B 1
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
DefinitionenDeterminierter abstrakter AutomatMengentheoretische Definition(Version: Starke 1.2 = Version Mealy 1955)
determinierter Mealy-Automat (Starke 1969: 22)
Ein determinierter Automat A = (X, Y, Z, γ) heißt determinierter Mealy-Automat, falls für alle x X, zZ,
γ(z,x) = [λ(z,x),δ(z,x)] ist,wobei λ die Ergebnis und δ die Überführungsfunktion von A ist. ■
Interpretation
X Menge der Eingabesymbole
Y Menge der Ausgabesymbole
Z Menge der Zustände
6
λ(z,x )
a b
0 A B
δ(z,x )
a b
0 1 1
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
DefinitionenEndlicher AutomatMengentheoretische Definition
endlicher determinierter Automat (Starke 1969: 25)
Ein determinierter Automat A = [X,Y,Z,δ,λ] heißt X-endlich, Y-endlich bzw. Z-endlich bzw. (X,Y)-endlich usw., wenn die jeweils angegebenen Mengen endlich sind. (X,Y,Z)-endliche Automaten bezeichnen wir schlechthin als endlich ■
7© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
DefinitionenMengentheoretische Notation endlicher Automaten – eine Standardnotation
8
p,q Q
δ(p,i) = q
σ(p,i,q) = o
i Σo Δ
Zustände
Eingabesymbole
Ausgabesymbole
Zustandsübergangsfunktion
Ausgabefunktion
EA = (Q,q0,F,Σ,Δ,,δ,σ,ρ)
p qi
o
Zustand FolgezustandEingabesymbol
Ausgabesymbol
w /
Gewicht
w Gewichte
ρ(p,i,o,q) = w Gewichtungsfunktion
F Q Endzustände
q0 Q Startzustand
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Einordnung endlicher AutomatenAutomatentheorieEndliche Automaten haben kein Gedächtnis
Mengen der Zustände, der Eingabesignale, der Ausgabesignale sind endlich
kein Gedächtnis zur Speicherung durchlaufener Zustände: Übergang von Zustand zur Zeit t in Zustand zur Zeit t+1 nur
abhängig von Zustand zur Zeit t und Eingabe im Zustand zur Zeit t
Vorhergehende Zustände nur dadurch wirksam, dass sie über eine bestimmte Eingabe in den aktuellen Zustand
geführt haben, und dieser aktuelle Zustand ein bestimmtes Ergebnis repräsentiert.
9
B Bu Buc BuchStart B u c h
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Typen endlicher AutomatenBeispiele
10
Akzeptor Transduktordeterministisch
stochastisch
nicht-deterministisch
0 1[ʃ]S q
[t]t 2 3
[a]a dt
4[t] tt
0 1S qt 2 3a
6
d 4
t 7
5t
t
0 1S/1 qt/1 2 3a/1
6
d/.65 4
t/.35 7
5t/1
t/1[t]
0 1[ʃ]S/1 q
[t]t/1 2 3
[a]a/1
6
[t]d/.65 4
t/.35 7
5t/1
t/1
01S
7
t 2 3a
9
d 4
tS t a6 8 10
5t
t0 1[ʃ]S q
[t]t 2 3
[a]a
6
[t]d 4
t 7
5t
t
[t]
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Themen
Endlicher Automat Beispiele Definition
Reguläre Ausdrücke Definition Äquivalenz: Reguläre Ausdrücke und endliche Automaten Operatoren für reguläre Ausdrücke in Programmiersprachen
Reguläre Sprachen und menschliche Sprachen Vorgehensweise bei der Modellierung menschlicher Sprachen
mit formalen Sprachen
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
11
Was sind reguläre Ausdrücke?
Reguläre Ausdrücke sind eine Notation zur Beschreibung der Sprachen, die mit
endlichen Automaten erkannt werden können wie arithmetische Ausdrücke aus Konstanten und
Operatoren aufgebaut
zumeist bekannt aus ihrer Verwendung in Suchfunktionen in Betriebssystemen (grep) Texteditoren Textverarbeitungsprogrammen und Suchmaschinen Textmusterspezifikation in Programmiersprachen
12© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Reguläre Mengen, Reguläre Sprachen, Reguläre AusdrückeStephen Kleene
Stephen Kleene (Mathematiker) untersuchte (1956), welche Mengen von Zeichenketten von
endlichen Automaten akzeptiert werden können entwickelte für diese Mengen eine syntaktische
Charakterisierung: Komposition der Zeichenketten aus Elementen und Teilmengen nach bestimmten Regeln
führte für diese Mengen den Begriff reguläre Mengen ein
13© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Reguläre Mengen, Reguläre Sprachen, Reguläre AusdrückeStephen Kleene
14
(Kleene, 1956)
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Definitionen (1)
Symbol a ein Symbol ist ein unzerlegbares Grundzeichen ■ unzerlegbar bezüglich der Art der Betrachtung, um die es
gerade geht Beispiele:
a, b, c dete, adje, nomn
Alphabet Σ ein Alphabet ist eine endliche nichtleere Menge von
Symbolen ■
15© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Definitionen (2)
Wort w ein Wort ist eine endliche Folge von Symbolen aus einem
Alphabet. Wir schließen das leere Wort (Wort, das kein Zeichen
enthält) in die Definition ein und bezeichnen es mit ε. ■
16© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Definitionen (3)
Sprache L Eine Sprache ist die Menge aller endlichen Folgen w von
Symbolen aus Σ. ■ es gilt
die leere Sprache ist eine Sprache {ε} die Menge, die nur ein leeres Wort enthält, ist eine
Sprache Σ* die Universalsprache, die aus der Menge aller
endlichen Folge von Symbolen aus einem Alphabet besteht, ist eine Sprache
17© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Definitionen (4)Reguläre Ausdrücke
18
Sei },...,{ 1 naa ein Alphabet. Ein regulärer Ausdruck über st eine Sequenz von Symbolen, die
durch wiederholte Anwendung der folgenden Regeln gebildet wird:
Reguläre Ausdrücke sind bezeichnen
1) die reguläre Menge
2) ε die reguläre Menge {ε}
3) a für a die reguläre Menge {a}
4) wenn p und q reguläre Ausdrücke sind, die die Sprachen P und Q bezeichnen, dann ist
4 a) p + q auch:
p|q
die Vereinigung
(auch Disjunktion oder Addition) die reguläre Menge P Q
4 b) p ⋅q auch:
pq
die Konkatenation
(auch Multiplikation) die reguläre Menge P ⋅ Q
4 c) p* die Kleenesche Hülle die reguläre Menge P* ■
Hopcroft/Ullmann 1988:29
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Themen
Endlicher Automat Beispiele Definition
Reguläre Ausdrücke Definition Äquivalenz: Reguläre Ausdrücke und endliche Automaten Operatoren für reguläre Ausdrücke in Programmiersprachen
Reguläre Sprachen und menschliche Sprachen Vorgehensweise bei der Modellierung menschlicher Sprachen
mit formalen Sprachen
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
19
Theorem von Kleene
Kleene-Theorem: Eine Sprache ist genau dann regulär, wenn sie durch einen endlichen Automaten erkannt werden kann
Kleenes Formulierung (1956):
Synthesetheorem (Kleene, 1956, Theorem 3):Jede reguläre Sprache kann in einem endlichen Automaten dargestellt werden
Analysetheorem (Kleene, 1956, Theorem 5):Jede in einem endlichen Automaten darstellbare Sprache ist regulär
20© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Reguläre Mengen, Reguläre Sprachen, Reguläre AusdrückeÄquivalenzen
21
EndlicheAutomaten
ReguläreAusdrücke
spezifizieren
akzeptieren
sind äquivalent
regExΣ
A(regExΣ) ReguläreSprachen
L(regExΣ) =
L (A(regExΣ))
nach einer Darstellung von Martin Kay, zitiert in Jurafsky/Martin (2000)
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Reguläre Ausdrücke, Reguläre Sprachen, endliche AutomatenÄquivalenzen
22
L(e)= { (dete,adje,nomn), (dete,nomn), (nomn) }
L(a)= { (dete,adje,nomn), (dete,nomn), (nomn) }
e = (dete,adje,nomn) | (dete,nomn) | (nomn)
e = (dete|ε) (adje|ε) nomn
e = dete? adje? nomn
0 dete 1 adje 2 nomn3nomnnomn
spezifizieren akzeptieren
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Themen
Endlicher Automat Beispiele Definition
Reguläre Ausdrücke Definition Äquivalenz: Reguläre Ausdrücke und endliche Automaten Operatoren für reguläre Ausdrücke in Programmiersprachen
Reguläre Sprachen und menschliche Sprachen Vorgehensweise bei der Modellierung menschlicher Sprachen
mit formalen Sprachen
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
23
Auswertungsreihenfolge der Operatoren regulärer Ausdrücke
Klammern sparen beim Schreiben: Wie für die algebraischen Operatoren ’+’ und ’∙’
gibt es auch für die Operatoren regulärer Ausdrücke eine festgelegte Auswertungsreihenfolge.Für den Ausdruck 4+5∙2 gilt, dass zuerst die Multiplikation und dann die Addition durchzuführen ist. Für die Operatoren für reguläre Ausdrücke gilt folgende Reihenfolge:
1. Kleenesche Hülle (Symbol: *)
2. Multiplikation bzw. Verkettung (Symbol ’∙’ oder ohne explizites Symbol).
3. Addition bzw. Vereinigung (Symbol ’+’ oder ’|’).
24© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Auswertungsreihenfolge der Operatoren regulärer AusdrückeBeispiel
Der Ausdruck de([mns]|ssen) ist äquivalent zu de([mns]|"ssen") oder "de"([mns]|"ssen")
25© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Basisoperatoren und abgeleitete Operatoren
26
r+ *rr r? )|( r r{2,4} rrrrrrrrr || [rst] )||( tsr
elementare Ausdrücke Ø leere Menge ε leeres Zeichen a elementares Symbol zusammengesetzte Ausdrücke r|s r oder s rs r verkettet mit s r* r beliebig oft (auch: null Mal)mit
sich selbst verkettet
abgeleitete OperatorenBasis
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Spezifikation von Zeichenmengen in Programmiersprachen
[A-Z] A, Z und alle Buchstaben die in der Kodierung (z.B.
ASCII) zwischen A und Z liegen
[^A-E] alle Zeichen außer A, E und den Zeichen, die in der
Kodierung (z.B. ASCII) zwischen A und E liegen
27
Beispiele
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Muster für nicht-reguläre Sprachen in Programmiersprachen
einige Programmiersprachen (z.B. Perl) erlauben auch Muster, die über reguläre Ausdrücke hinausgehen(z.B. Zusatzspeicher: Nummerierung der Muster und Kopieren der dem Muster entsprechenden Ausdrücke)
Beispiel in Perl : (.*)\1 beliebige Zeichenfolge, verkettet mit der Zeichenfolge, die
durch die erste Klammer beschrieben wird Zusatzspeicher zum Merken von Klammerinhalten
erforderlich (endliche Automaten haben aber kein Gedächtnis)
Muster mit unbegrenzter Zahl von Rückverweisen beschreiben nicht einmal kontextfreie Sprachen, Erkennung NP-vollständig
28© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Themen
Endlicher Automat Beispiele Definition
Reguläre Ausdrücke Definition Äquivalenz: Reguläre Ausdrücke und endliche Automaten Operatoren für reguläre Ausdrücke in Programmiersprachen
Reguläre Sprachen und menschliche Sprachen Vorgehensweise bei der Modellierung menschlicher Sprachen
mit formalen Sprachen
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
29
Wortstruktur / Morphologie
ententste
machlachbau
ententte
sitzpreisgießfließbeiß
- weitgehend regulär- Ausnahmen: ge-mach-t, um-zu-bau-en- Ergänzung endlicher Automaten
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Satzstruktur: lokale Syntagmen - regulär
L(e)= { (dete,adje,nomn), (dete,nomn), (adje, nomn), (nomn) }
L(A)= { (dete,adje,nomn), (dete,nomn), (adje, nomn), (nomn) }
e = (dete,adje,nomn) | (dete,nomn) | (adje,nomn) | (nomn)
e = (dete|ε) (adje|ε) nomn
e = dete? adje? nomn
beschreiben erkennen
0dete
1adje
2nomn
3nomn
nomn
adjeA
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
concatenations beyond regular languages centre embedding (S → a S b)
obligatorily paired correspondences either ... or, if ... then can be nested inside each other
the regulation
defines
which the commission
had formulated
which the Council
had elected
...
Satzstruktur: Zentrale Einbettungnicht regulär – im allgemeinen Fall der unendlichen Einbettung
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
SatzstrukturAnsatz: Begrenzung der Zentral-Einbettung
Sproat, 2002: observation: unbounded centre embedding
does not occur in language use seems to be too complex for human mental capacities
finite state modelling of bounded centre embedding
© Karin Haenelt,Reguläre Ausdrücke V 4.0, 25.4.2010
33
4
the0 1
man2
3
6
7
the
manthe
man 9bites
8
5dog
dog
dogwalkes walkes
bites
walkesbiteswalkes
bites
bites
walkes
S → the (man|dog) S1 (bites|walks)S1 → the (man|dog) S2 (bites|walks)S2 → the (man|dog) (bites|walks)S1 → εS2 → ε
SatzstrukturAnsatz: Finite-State Cascades (Abney)
D N P D N N V-tns Pron
the woman in the lab coat thoughtyou
Aux V-ing
were sleeping
NP P NP VP NP VP
NP PP VP NP VP
S S
L2 ----
L1 ----
L0 ----
L3 ----
T2
T1
T3
Finite-State Cascade
}{:}{:
|*?
:
3
2
1
PP* VP* PP NP* PP SLNP PPPL
ing-V AuxtnsVVPNNDNP
L
Regular-Expression
Grammar
Faktenextraktion mit endlichen Automaten
kann umfassen Morphologie Syntagmen Lexik … kombinierte Strukturen
35© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Themen
Endlicher Automat Beispiele Definition
Reguläre Ausdrücke Definition Äquivalenz: Reguläre Ausdrücke und endliche Automaten Operatoren für reguläre Ausdrücke in Programmiersprachen
Reguläre Sprachen und menschliche Sprachen Vorgehensweise bei der Modellierung menschlicher Sprachen
mit formalen Sprachen
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
36
Approximierte Modellierung: Vorgehensweise: schrittweise Annäherung
Aufzählung (bei endlichen Mengen):{Asche, Ascheregen, Aschewolken,
Aschefontänen, Vulkanasche} regelhafte Beschreibung, 1. Ansatz
[Aa]sche[^ ]* Zyklen
Test Evaluierung Asche, Ascheregen, Aschewolken,
Aschefontänen, rasche, Flasche, Vulkanasche, Aschring
Verfeinerung Erhöhung der Abdeckung: Minimierung der fehlenden Ausdrücke Erhöhung der Präzision: Minimierung der überflüssigen
Ausdrücke © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Approximierte Modellierung: Evaluierung:Logische Einteilung der Datenbasis
R
R
nicht-relevantenicht ausgeg. Zeichenreihen
nicht-relevanteausgegebene Zeichenreihen
relevantenicht ausgeg. Zeichenreihen
relevanteausgegebene Zeichenreihen
Flasche
Aschewolke
Aschring
auch, Auto,und, ….
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
R
R
nicht-relevantenicht ausgeg. Zeichenreihen
nicht-relevanteausgegebene Zeichenreihen
relevantenicht ausgeg. Zeichenreihen
relevanteausgegebene Zeichenreihen
)()( XLeL
)()( eLXL
)()( XLeL
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Approximierte Modellierung: Evaluierung:Logische Einteilung der Datenbasis
Approximierte Modellierung: Evaluierung:Standardmaße zur Evaluierung
40
Precision Genauigkeit des Suchprozesses
Recall Vollständigkeit des Suchprozesses
Fallout Effektivität des Suchprozesses
ausgegebengesamt
ausgegebenrelevant
_#
_#
gesamtrelevant
ausgegebenrelevant
_#
_#
gesamtirrelevant
ausgegebenirrelevant
_#
_#
© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Literatur
Hopcroft, John E. und Jeffrey D. Ullman (1988). Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie. Bonn u. a.: Addison-Wesley, 1988 (engl. Original Introduction to automata theory, languages and computation).
Hopcroft, John E., Rajeev Motwani und Jeffrey D. Ullman (2002). Einführung in die Automatentheorie, Formale Sprachen und Komplexität. Pearson Studium engl. Original: Introduction to Automata Theory, Languages and Computation. Addison-Wesley. www-db.stanford.edu/~ullman/ialc.html
Kleene, Stephen Cole (1956). Representations of Events in Nerve Sets and Finite Automata, In: C. E. Shannon and J. McCarthy, Hgg., Automata Studies, S. 3-42, Princeton, NJ, 1956. Princeton University Press.
Jurafsky, Daniel und James H. Martin (2000): Speech and Language Processing. An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition. New Jersey: Prentice Hall.
Sproat, Richard (2002). The Linguistic Significance of Finite-State Techniques. February 18, 2002. http://www.research.att.com/~rws
Starke, Peter H. (1969). Abstrakte Automaten. VEB Deutscher Verlag der Wissenschaften: Berlin (ältere, aber sehr gute mathematische Darstellung)
41© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011