Der Earley-Algorithmus

Ähnliche Dokumente
Der Earley-Algorithmus.

Parsing regulärer Ausdrücke. Karin Haenelt

Operationen auf endlichen Akzeptoren und Transduktoren

Endliche Automaten. Grundlagen: Alphabet, Zeichenreihe, Sprache. Karin Haenelt

Operationen auf endlichen Automaten und Transduktoren

Überführung regulärer Ausdrücke in endliche Automaten

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Endliche Automaten. Minimierung. Karin Haenelt. Karin Haenelt, 2004, FSA-Minimierung, ( )

Informatik-Grundlagen

VU Software Paradigmen / SS 2014

Übersicht. (A) Kontextfreie Sprachen (B) Syntaxanalyse (Parsing) (C) Grenzen der Kontextfreiheit

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Überführung regulärer Ausdrücke in endliche Automaten. Der Algorithmus von Glushkov und McNaughton/Yamada

Lexikalische Programmanalyse der Scanner

Einführung in die Computerlinguistik

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Operationen auf endlichen Akzeptoren und Transduktoren

Konstruieren der SLR Parsing Tabelle

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Übungsaufgaben zu Formalen Sprachen und Automaten

Einführung - Parser. Was ist ein Parser?

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Automaten und formale Sprachen. Lösungen zu den Übungsblättern

Kapitel IV Formale Sprachen und Grammatiken

Reguläre Ausdrücke. Karin Haenelt

Alphabet, formale Sprache

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Theoretische Informatik I

Grundlagen der Theoretischen Informatik

Programmierkurs Python II

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Automatentheorie und formale Sprachen

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung

Syntax von Programmiersprachen

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

Der Viterbi-Algorithmus im Part-of-Speech Tagging

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Formale Sprachen. Inhaltsverzeichnis. M. Jakob. 10. Dezember Allgemeine Einführung. Aufbau formaler Sprachen

Inhalt Kapitel 11: Formale Syntax und Semantik

Überführung regulärer Ausdrücke in endliche Automaten

Automaten und formale Sprachen Klausurvorbereitung

Deterministischer Kellerautomat (DPDA)

LR-Parsing. Präsentation vom 19. Dez Adriana Kosior, Sandra Pyka & Michael Weidauer. Automatische Syntaxanalyse (Parsing) Wintersemester 12/13

Theoretische Grundlagen der Informatik

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Ogden s Lemma (T6.4.2)

Beispiel für die Minimierung von DEAs

Das Postsche Korrespondenzproblem

Hidden Markov Models

Informatik III - WS07/08

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

7. Syntax: Grammatiken, EBNF

1 Formale Sprachen, reguläre und kontextfreie Grammatiken

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Formale Sprachen und Automaten: Tutorium Nr. 8

Compiler: Parser. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München. Letzte Änderung:

Theorie der Informatik

Formale Methoden 1. Gerhard Jäger 28. November Uni Bielefeld, WS 2007/2008 1/15

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An

Programmierkurs Python II

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

9.4 Grundlagen des Compilerbaus

Kapitel 5: Syntaxdiagramme und Grammatikregeln

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri

Fachseminar Compilerbau

Einführung in die Computerlinguistik reguläre Sprachen und endliche Automaten

Operationen auf endlichen Automaten und Transduktoren

Formale Sprachen, reguläre und kontextfreie Grammatiken

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen

Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen

Transkript:

Der Earley-Algorithmus Kursfolien Karin Haenelt 25.03.02 1 25.03.02 2 Inhalt Funktion des Earley-Algorithmus Begriffe Erkenner/Parser Kontextfreie Grammatik Ein Beispiel Funktionen des Algorithmus Funktionsweise des Algorithmus (Animation) Notationen und Definitionen Produktionsregeln Zustand Look-Ahead-Symbol Formale Spezifikation des Algorithmus Erläuterungen Predictor Scanner Completer

Funktion des Earley-Algorithmus Erkennungs-Algorithmus für Sprachen, die mit kontextfreien Regeln beschrieben werden Primär für formale Sprachen Anwendung auch für natürliche Sprachen 25.03.02 3 Erkenner / Parser Erkenner (Recognizer) Nimmt eine Zeichenkette als Eingabe Akzeptiert / verwirft sie je nach Grammatikregeln Parser Erkenner, der zusätzlich die Ableitungsbäume der Zeichenkette ausgibt 25.03.02 4

G = (V,T,P,S) V T P S Kontextfreie Grammatik Nicht-Terminale Terminale Produktionen Startsymbol Sprache Endliche Menge von Variablen Endliche Menge von primitiven Symbolen Regeln, die die Variabeln untereinander verknüpfen Spezielle Variable Rekursiv durch Nicht-Terminale und Terminale beschrieben 25.03.02 Hopcroft/Ullman, 1988, S. 81-83 5 Ein Beispiel: Darstellung (1) Φ S S NP VP NP dete nomn VP verb Φ S NP VP dete nomn verb der Mensch denkt 25.03.02 6

Ein Beispiel: Darstellung (2) Φ S S NP VP NP dete nomn VP verb S NP VP dete nomn verb der Mensch denkt 0 1 2 3 Kanten des Syntaxbaumes und ihre Abdeckung bezogen auf die Eingabe von der linken Grenze 0 (vor Wort 1) bis zur rechten Grenze 3 (hinter Wort 3) 25.03.02 7 Funktionen des Algorithmus Predictor Scanner Completer Expansion der Non-Terminal- Kategorien Überprüfung der Eingabekette auf Übereinstimmung mit erwarteter terminaler Kategorie Rückkehr zur übergeordneten Non-Terminal-Kategorie nach vollständiger Erkennung einer Non-Terminal-Kategorie 25.03.02 8

Funktionsweise des Algorithmus 0 Φ 11 1 S 10 2 NP 6 VP 3 dete 4 nomn 5 7 verb 9 8 der Mensch denkt 25.03.02 9 Notation: Produktionsregeln (1) a, b, c Terminal-Symbole z.b. - morpho-syntakt. Kategorien wie nomn - lexikalische Zeichen A, B, C Non-Terminal-Symbole z.b. syntakt. Kategorien wie S, NP, VP α, β, γ Ketten von Terminal- oder Non-Terminal- Symbolen λ leere Kette α n α...α (Kette mit n mal vorkommendem α ) α A α R 25.03.02 10 Anzahl der Symbole in α Produktionsregel Wurzel, Non-Terminal-Symbol, das für Satz steht

Notation: Produktionsregeln (2) α β β ist von α direkt abgeleitet, wenn γ, δ, η, A wobei α = γ A δ und β = γ η δ und A η eine Produktion ist α β β ist von α (ggf. über mehrere Produktionen) abgeleitet, wenn Ketten α 0, α 1,..., α m (m α = α 0 α 1... α m = β. 0) wobei Die Folge α 0,..., α m wird Ableitung (von β aus α) genannt 25.03.02 11 Notation: Produktionsregeln (3) X 1... X n k G Eingabe-Kette Anzahl der Look-Ahead-Symbole Grammatik 25.03.02 12

Notation: Instanzen der Produktionsregeln (1) Jedes Vorkommen einer Regel jede Instanz bekommt eine eigene Produktionsnummer S 1 (NP 2 der Mensch) (VP 3 denkt) p Nummer einer Produktion 1,..., d - 1 Anzahl der Produktionen p Anzahl der Symbole auf der rechten Seite einer Produktion D p C p1... C pp 25.03.02 13 Produktion (1=p=d-1) Notation: Instanzen der Produktionsregeln (2) D 0 R Produktion Nr. 0, R ist die Wurzel von G, ist ein neues Terminal-Symbol Terminal-Symbol, das in der Eingabekette nicht vorkommt; als Ketten-Ende- Markierung verwendet 25.03.02 14

Notation: Produktionsregeln Punktschreibweise Punkte in einer Produktionsregel markieren den aktuellen Bearbeitungszustand. Der Punkt steht jeweils vor der nächsten zu erkennenden Konstituente. S NP VP noch keine Konstituente erkannt S NP VP eine Konstituente (NP) erkannt S NP VP zwei Konstituenten (NP und VP) erkannt 25.03.02 15 Definition: Zustand Zustand def: ein Zustand s ist ein Quadrupel s= <p,j, f,α> p Nummer der Produktion, 0 = p = d-1 j Anzahl der erkannten Symbole auf der rechten Seite, 0 = j = p f Linke Grenze der Produktion, 0 = f = n+1 α 25.03.02 16 Zeichenkette, bestehend aus k Symbolen: Look-ahead-String s e s i X i+1 s p j f α p D p C p1.. C pp C p(j+1) Eingabe 0 0 dete 1 0 0 0 2 Φ S S 1 0 dete 2 1 0 0 2 S NP VP NP

Definition: Look-Ahead-Symbole H k (γ) = {α α terminal ist, α = k, und β, so dass γ * αβ} Menge terminaler Ketten, - die k-symbole lang sind und - die eine von γ abgeleitete Kette beginnen Beispiele: H 1 (dete adje nomn) = dete H 1 (NP) = dete 25.03.02 17 LET X n+i = LET S i be empty Add <0,0,0, k > to S 0 FOR i? 0 STEP 1 UNTIL n DO 25.03.02 18 (1 = i = k+1) (0 = i = n+1) Der Algorithmus BEGIN process the states of S i in order performing one of the following three operations on each state s = <p,j,f,α> (1) predictor IF s is nonfinal [ j? p ] AND C p(j+1) is a nonterminal THEN for each q such that C p(j+1) = D q and for each β H k (C p(j+2)... C pp α) add <q,0,i,β> to S i (2) completer IF s is final [ j = p ] AND α = X i+1... X i+k THEN for each <q,l,g,β> S f such that C q(l+1) = D p add <q,l+1,q,β> to S i (3) scanner IF s is nonfinal [ j p] AND C p(j+1) is terminal THEN IF C p(j+1) = X i+1 add <p,j+1,f,α> to S i+1 IF S i+1 is empty, return rejection IF i=n AND S i+1 = {<0,2,0, >}, return acceptance END

Die Agenda Ein Beispiel s e s i X i+1 s p j f α p D p C p1.. C pp C p(j+1) Eingabe 0 0 dete 1 0 0 0 2 Φ S S 1 0 dete 2 1 0 0 2 S NP VP NP 2 0 dete 3 2 0 0 verb 2 NP dete nomn dete 3 1 nomn 4 2 1 0 verb 2 NP dete nomn nomn der 4 2 verb 5 2 2 0 verb 5 2 verb 6 1 1 0 6 2 verb 7 3 0 2 7 3 8 3 1 2 8 3 9 1 2 0 9 3 10 0 1 0 10 4 11 0 2 0 25.03.02 19 2 NP 2 S 1 VP 1 VP 2 S 2 Φ 2 Φ dete nomn - Mensch NP VP VP verb verb verb - denkt NP VP - S S Predictor (1) predictor IF s is nonfinal [ j p] AND C p(j+1) is a nonterminal THEN for each q such that C p(j+1) = D q and for each β H k (C p(j+2)... C pp α) add <q,0,i,β> to S i Eingelesener Zustand <p,j,f,α> in S i Zustand 1 Φ S Erzeugter Zustand <q,0,i,β> in S i Zustand 2 S NP VP s e s i X i+1 s p j f α 0 0 dete 1 0 0 0 1 0 dete 2 1 0 0 p D p 2 Φ 2 S C p1.. C pp C p(j+1) S S NP VP NP 25.03.02 20

Scanner (3) scanner IF s is nonfinal [ j p ] AND C p(j+1) is terminal THEN IF C p(j+1) = X i+1 add <p,j+1,f,α> to S i+1 Eingelesener Zustand <p,j,f,α> in S i Zustand 3 NP dete nomn Erzeugter Zustand <p,j+1,f,α> in S i+1 Zustand 4 NP dete nomn s e s i X i+1 s p j f α p D p C p1.. C pp C p(j+1) Eingabe 2 0 dete 3 2 0 0 verb 2 NP dete nomn dete 3 1 nomn 4 2 1 0 verb 2 NP dete nomn nomn der 25.03.02 21 (2) completer Completer IF s is final [ j = p ] AND α = X i+1... X i+k THEN for each <q,l,g,β> S f such that C q(l+1) = D p add <q,l+1,q,β> to S i Eingelesener Zustand <p,j,f,α> in S i Zustand 5 NP dete nomn Mutter-Zustand <q,l,g,β> in S f Zustand 2 S NP VP Erzeugter Zustand <q,l+1,g,β> in S i Zustand 6 S NP VP s e s i X i+1 s p j f α p D p 0 0 dete 1 0 0 0 1 0 dete 2 1 0 0 2 0 dete 3 2 0 0 verb 3 1 nomn 4 2 1 0 verb 4 2 verb 5 2 2 0 verb 25.03.02 22 C p1.. C pp C p(j+1) Eingabe 2 Φ S S 2 S NP VP NP 2 NP dete nomn dete 2 NP dete nomn nomn der 2 NP dete nomn - Mensch 5 2 verb 6 1 1 0 2 S NP VP VP

Literatur Earley, Jay (1970): An Efficient Context-Free Parsing-Algorithm. In: Communications of the ACM, 6 (8), 451-455. Haenelt, Karin (2001): Der Earley-Algorithmus. Eine Erläuterung der formalen Spezifikation mit linguistischen Beispielen. Kursskript. 25.07.2001. http://kontext.fraunhofer.de/haenelt/kurs/folien/earley -Tutor.doc Hopcroft, John E. und Jeffrey D. Ullman (1988): Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie. Addison-Wesley. 25.03.02 23