Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Formale Grundlagen der Faktenextraktion mit endlichen Automaten Karin Haenelt 27.11.2011.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Formale Grundlagen der Faktenextraktion mit endlichen Automaten Karin Haenelt 27.11.2011."—  Präsentation transkript:

1 1 Formale Grundlagen der Faktenextraktion mit endlichen Automaten Karin Haenelt

2 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,

3 Endliche Automaten: Beispiele Kippschalter und Lexikon 3 anaus Start drücken d 01 e 2 m 3 n r 5 s 4 s 7 e 6 n Lexikon Schalter © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

4 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 4 Zustände des Automaten EingabeAusgabe © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

5 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 a)X, Y, Z beliebige nichtleere Mengen sind, und b)γ eine auf Z X definierte Funktion ist, deren Werte in Y Z liegen. Interpretation XMenge der Eingabesymbole YMenge der Ausgabesymbole ZMenge der Zustände 5 Z × X ab 0Y × Z A1B1 © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

6 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, z Z, γ(z,x) = [λ(z,x),δ(z,x)] ist, wobei λ die Ergebnis und δ die Überführungsfunktion von A ist. Interpretation XMenge der Eingabesymbole YMenge der Ausgabesymbole ZMenge der Zustände 6 λ(z,x ) ab 0AB δ(z,x ) ab 011 © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

7 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 7© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

8 Definitionen Mengentheoretische 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,q 0,F,Σ,Δ,,δ,σ,ρ) pq i o ZustandFolgezustand Eingabesymbol Ausgabesymbol w / Gewicht w Gewichte ρ(p,i,o,q) = w Gewichtungsfunktion F Q Endzustände q 0 Q Startzustand © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

9 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. 9 BBuBucBuch Start Buch © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

10 Typen endlicher Automaten Beispiele 10 AkzeptorTransduktor deterministisch stochastisch nicht-deterministisch 01 [ʃ][ʃ] S q [t] t 23 [a] a dt 4 [t] tt 01 S q t 23 a 6 d 4 t 7 5 t t 01 S/1 q t/1 23 a/1 6 d/.65 4 t/ t/1 [t] 01 [ʃ][ʃ] S/1 q [t] t/1 23 [a] a/1 6 [t] d/.65 4 t/ t/1 0 1 S 7 t 23 a 9 d 4 t S ta t t 01 [ʃ][ʃ] S q [t] t 23 [a] a 6 [t] d 4 t 7 5 t t © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

11 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,

12 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,

13 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 13© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

14 Reguläre Mengen, Reguläre Sprachen, Reguläre Ausdrücke Stephen Kleene 14 (Kleene, 1956) © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

15 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,

16 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,

17 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,

18 Definitionen (4) Reguläre Ausdrücke 18 Hopcroft/Ullmann 1988:29 © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

19 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,

20 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,

21 Reguläre Mengen, Reguläre Sprachen, Reguläre Ausdrücke Äquivalenzen 21 Endliche Automaten Reguläre Ausdrücke spezifizieren akzeptieren sind äquivalent regEx Σ A(regEx Σ ) Reguläre 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,

22 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 nomn 3 spezifizierenakzeptieren © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

23 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,

24 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+52 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,

25 Auswertungsreihenfolge der Operatoren regulärer Ausdrücke Beispiel 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,

26 Basisoperatoren und abgeleitete Operatoren 26 abgeleitete OperatorenBasis © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

27 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,

28 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,

29 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,

30 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,

31 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 beschreibenerkennen 0 dete 1 adje 2 nomn 3 adje A © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

32 concatenations beyond regular languages centre embedding (S a S b) obligatorily paired correspondences either... or, if... then can be nested inside each other Satzstruktur: Zentrale Einbettung nicht regulär – im allgemeinen Fall der unendlichen Einbettung © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

33 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 © Karin Haenelt, Reguläre Ausdrücke V 4.0, the 0 1 man the man the man 9 bites 8 5 dog walkes bites walkes bites walkes bites walkes S the (man|dog) S 1 (bites|walks) S 1 the (man|dog) S 2 (bites|walks) S 2 the (man|dog) (bites|walks) S 1 ε S 2 ε

34 Satzstruktur Ansatz: Finite-State Cascades (Abney) DNPDNNV-tnsPron thewomaninthelabcoatthoughtyou AuxV-ing weresleeping NPP VPNPVP NPPPVPNPVP SS L L L L T2T2 T1T1 T3T3 Finite-State Cascade Regular-Expression Grammar

35 Faktenextraktion mit endlichen Automaten kann umfassen Morphologie Syntagmen Lexik … kombinierte Strukturen 35© Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

36 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,

37 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 EvaluierungAsche, 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,

38 Approximierte Modellierung: Evaluierung: Logische Einteilung der Datenbasis R R nicht-relevante nicht ausgeg. Zeichenreihen nicht-relevante ausgegebene Zeichenreihen relevante nicht ausgeg. Zeichenreihen relevante ausgegebene Zeichenreihen Flasche Aschewolke Aschring auch, Auto, und, …. © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

39 R R nicht-relevante nicht ausgeg. Zeichenreihen nicht-relevante ausgegebene Zeichenreihen relevante nicht ausgeg. Zeichenreihen relevante ausgegebene Zeichenreihen © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten, Approximierte Modellierung: Evaluierung: Logische Einteilung der Datenbasis

40 Approximierte Modellierung: Evaluierung: Standardmaße zur Evaluierung 40 PrecisionGenauigkeit des Suchprozesses RecallVollständigkeit des Suchprozesses FalloutEffektivität des Suchprozesses © Karin Haenelt, Formale Grundlagen der Faktenextraktion mit endlichen Automaten,

41 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.htmlPearson Studiumwww-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, 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, 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,


Herunterladen ppt "1 Formale Grundlagen der Faktenextraktion mit endlichen Automaten Karin Haenelt 27.11.2011."

Ähnliche Präsentationen


Google-Anzeigen