Formale Grundlagen der Faktenextraktion mit endlichen Automaten Karin Haenelt 27.11.2011
Themen Endlicher Automat Beispiele Definition Reguläre Ausdrücke Ä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
Endliche Automaten: Beispiele Kippschalter und Lexikon an aus Start drücken Lexikon d 1 e 2 m 3 n r 5 s 4 7 6 © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Informelle Einführung Abstrakter 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 Zustände des Automaten Eingabe Ausgabe © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Definitionen Determinierter abstrakter Automat Mengentheoretische Definition (Version: Starke 1.1) determinierter abstrakter Automat (Starke 1969: 22) A = (X, Y, Z, γ) heißt determinierter abstrakter Automat, falls X, Y, Z beliebige nichtleere Mengen sind, und γ 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 Z × X a b Y × Z A 1 B © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Definitionen Determinierter abstrakter Automat Mengentheoretische 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 λ(z,x ) a b A B δ(z,x ) a b 1 © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Definitionen Endlicher Automat Mengentheoretische 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 ■ © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Definitionen Mengentheoretische Notation endlicher Automaten – eine Standardnotation EA = (Q,q0,F,Σ,Δ,,δ,σ,ρ) p,q Q Zustände p q i o Zustand Folgezustand Eingabesymbol Ausgabesymbol w / Gewicht q0 Q Startzustand F Q Endzustände i Σ Eingabesymbole o Δ Ausgabesymbole w Gewichte δ(p,i) = q Zustandsübergangsfunktion σ(p,i,q) = o Ausgabefunktion ρ(p,i,o,q) = w Gewichtungsfunktion © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Einordnung endlicher Automaten Automatentheorie Endliche 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. B Bu Buc Buch Start u c h © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Typen endlicher Automaten Beispiele Akzeptor Transduktor deterministisch 1 S q t 2 3 a 6 d 4 7 5 1 [ʃ] S q [t] t 2 3 [a] a dt 4 tt nicht-deterministisch 1 S 7 t 2 3 a 9 d 4 6 8 10 5 1 [ʃ] S q [t] t 2 3 [a] a 6 d 4 7 5 stochastisch 1 S/1 q t/1 2 3 a/1 6 d/.65 4 t/.35 7 5 [t] 1 [ʃ] S/1 q t/1 2 3 [a] a/1 6 d/.65 4 t/.35 7 5 © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Themen Endlicher Automat Beispiele Definition Reguläre Ausdrücke Ä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
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 © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Reguläre Mengen, Reguläre Sprachen, Reguläre Ausdrücke Stephen 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 © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Reguläre Mengen, Reguläre Sprachen, Reguläre Ausdrücke Stephen Kleene © 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 ■ © 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 ε. ■ © 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 © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Definitionen (4) Reguläre Ausdrücke 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 Ä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
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 © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Reguläre Mengen, Reguläre Sprachen, Reguläre Ausdrücke Äquivalenzen Endliche Automaten Reguläre Ausdrücke spezifizieren akzeptieren sind äquivalent regExΣ A(regExΣ) Sprachen 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 L(e)= { (dete,adje,nomn), (dete,nomn), (nomn) } L(a)= { (dete,adje,nomn), e = (dete,adje,nomn) | (dete,nomn) | (nomn) e = (dete|ε) (adje|ε) nomn e = dete? adje? nomn dete 1 adje 2 nomn 3 spezifizieren akzeptieren © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Themen Endlicher Automat Beispiele Definition Reguläre Ausdrücke Ä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
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: Kleenesche Hülle (Symbol: *) Multiplikation bzw. Verkettung (Symbol ’∙’ oder ohne explizites Symbol). Addition bzw. Vereinigung (Symbol ’+’ oder ’|’). © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Auswertungsreihenfolge der Operatoren regulärer Ausdrücke Beispiel Der Ausdruck de([mns]|ssen) ist äquivalent zu de([mns]|"ssen") oder "de"([mns]|"ssen") © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Basisoperatoren und abgeleitete Operatoren © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Spezifikation von Zeichenmengen in Programmiersprachen Beispiele [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 © 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 © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Themen Endlicher Automat Beispiele Definition Reguläre Ausdrücke Ä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
Wortstruktur / Morphologie 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 e = (dete,adje,nomn) | (dete,nomn) | (adje,nomn) | (nomn) A dete 1 adje 2 nomn 3 e = (dete|ε) (adje|ε) nomn e = dete? adje? nomn beschreiben erkennen L(e)= { (dete,adje,nomn), (dete,nomn), (adje, nomn), (nomn) } L(A)= { (dete,adje,nomn), (dete,nomn), (adje, nomn), (nomn) } © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Satzstruktur: Zentrale Einbettung nicht regulär – im allgemeinen Fall der unendlichen Einbettung concatenations beyond regular languages centre embedding (S → a S b) obligatorily paired correspondences either ... or, if ... then can be nested inside each other © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Satzstruktur Ansatz: 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 S → the (man|dog) S1 (bites|walks) S1 → the (man|dog) S2 (bites|walks) S2 → the (man|dog) (bites|walks) S1 → ε S2 → ε 4 the 1 man 2 3 6 7 9 bites 8 5 dog walkes © Karin Haenelt, Reguläre Ausdrücke V 4.0, 25.4.2010
Satzstruktur Ansatz: Finite-State Cascades (Abney) L3 ---- S S T3 L2 ---- NP PP VP NP VP T2 L1 ---- NP P NP VP NP VP T1 L0 ---- D N P D N N V-tns Pron Aux V-ing the woman in the lab coat thought you were sleeping Regular-Expression Grammar
Faktenextraktion mit endlichen Automaten kann umfassen Morphologie Syntagmen Lexik … kombinierte Strukturen © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Themen Endlicher Automat Beispiele Definition Reguläre Ausdrücke Ä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
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 Flasche R Aschewolke R auch, Auto, und, …. Aschring nicht-relevante ausgegebene Zeichenreihen relevante ausgegebene Zeichenreihen nicht-relevante nicht ausgeg. Zeichenreihen relevante nicht ausgeg. Zeichenreihen © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Approximierte Modellierung: Evaluierung: Logische Einteilung der Datenbasis nicht-relevante ausgegebene Zeichenreihen relevante ausgegebene Zeichenreihen nicht-relevante nicht ausgeg. Zeichenreihen relevante nicht ausgeg. Zeichenreihen © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011
Approximierte Modellierung: Evaluierung: Standardmaße zur Evaluierung Precision Genauigkeit des Suchprozesses Recall Vollständigkeit des Suchprozesses Fallout Effektivität des Suchprozesses © 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) © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, 27.11.2011