Eigenschaften I. Earley-Parsing. Earley-Algorithmus. Eigenschaften II
|
|
- Victoria Kaufman
- vor 5 Jahren
- Abrufe
Transkript
1 Earley-Parsing Eigenschaften I Übersicht Atives Chart-Parsing für ontextfreie Grammatien Eigenschaften von Earleys Verfahren Einzelne Komponenten Initialisierung Predictor Scanner Completer Implementation in Prolog Ende und Resultat der Analyse Von Jay Earley wurde 970 ein Chart-Parsing-Verfahren für ontextfreie Grammatien vorgestellt. Es parst Sätze mit n Wörtern im schlechtesten Fall in einer Zeit proportional zu n Verfahren gehört zur Komplexitätslasse O(n ) ommt mit den häufig problematischen Regeln zurecht. linsreursive Regeln (diret oder indiret) Tilgungsregeln (Code siehe Übungen) verwendet eine ative Chart. benützt eine gemischte Analysestrategie von lins nach rechts top-down und bottom-up Earley-Parsing Earley-Parsing Eigenschaften II Earley-Algorithmus Der Earley-Algorithmus verfolgt jeweils für eine Satzposition alle syntatischen Alternativen gleichzeitig. hat am Ende des Parsings sämtliche alternativen Syntaxanalysen in der Chart. ist leicht in imperativen Programmiersprachen (C, Java etc.) zu implementieren. ist nützlich und wichtig bei pratischen Anwendungen der Computerlinguisti. erhielt seit 970 zahlreiche Verbesserungsvorschläge gegenüber Earleys Original-Verfahren. Das Verfahren von Earley besteht im wesentlichen aus drei Komponenten Predictor: Schlägt passende ative Kanten vor. Scanner: Azeptiert Wörter der Eingabeette. Completer: Versucht ative Kanten zu vervollständigen, d.h. passiv zu machen. ach der Initialisierung werden diese drei Komponenten für jeden Knoten in der Chart aufgerufen, jeweils solange, bis eine neuen Kanten mehr hinzuommen. Earley-Parsing Earley-Parsing
2 Beispiel-Grammati Die Chart Folgende Phrasenstrutur-Grammati mit Lexion sei vorausgesetzt: rule(s, [np,vp] rule(np, [np,conj,np]... S VP Conj DetP DetP Det DetP Poss Syntax word(det, the word(det, a... Det a the man woman V sleeps chases Conj and Poss 's Lexion Earley-Parsing DetP Det a Det the woman DetP ing Conj and Poss DetP Det linguistische Motivation für linsreursive Grammatiregeln s a crown man edge(from, To, C, RC, SC) Dynamische edge/-faten speichern ative und passive Kanten. From: Startposition. To: Endposition. C: Kategorie. RC: Liste der erannten Kategorien (Aus technischen Gründen in umgeehrter Reihenfolge.). SC: Liste der noch zu erennende Kategorien DetP. <,> DetP. Zwischen Position und ist eine (unvollständige), von der bereits die DetP gefunden wurde, der aber zur Vollständigeit noch ein fehlt. Earley-Parsing 6 DetP Det. DetP. edge(,, np, [], [detp,n] edge(,, np, [detp], [n] edge(,, detp, [det], [] Charteinträge einfügen Gerüst des Earley-Algorithmus store/: Einfügen von Kanten Identische Kanten dürfen nicht mehrfach in die Chart eingetragen werden, sonst gäbe es unerwünschte Mehrfachlösungen. Eine Kante wird gespeichert, d.h. der Chart hinzugefügt, falls sie nicht schon gespeichert ist. :- dynamic edge/. store(edge) :- \+ call(edge), asserta(edge Falls call(edge) scheitert, wird Edge assertiert. Falls call(edge) gelingt, wird Edge nicht assertiert. Einen Satz earley-parsen heisst,. Chart löschen. Chart bezüglich Startsymbol initialisieren. von den Komponenten verarbeiten lassen. prüfen, ob in der Chart eine passive Kante mit dem Startsymbol zu finden ist Von den Komponenten verarbeiten lassen heisst, Abbruch, falls Eingabeette leer ist. Reursives Abarbeiten durch. Predictor. Scanner. Completer und wieder von vorn, ein Wort weiter. parse(c, S) :- retractall(edge(_,_,_,_,_)), init(c), process(s,, LastPos), edge(, LastPos, C, _, [] process([], LastPos, LastPos process([word Words], Pos, LastPos) :- predictor(pos), scanner(word, Pos, extpos), completer(extpos), process(words, extpos, LastPos Earley-Parsing 7 Earley-Parsing 8
3 Legende zur Metasymboli Initialisierung der Chart Metasymbole für einzelne icht-terminalsymbole A, B, C Metasymbole für beliebig lange Ketten von Grammatisymbolen α, β, γ init/ fügt für jede Regel mit dem Startsymbol als LHS eine ative Kante ein. Initialisierungsregel Falls C die gesuchte Kategorie ist, füge für jede Grammatiregel der Form C γ die Kante, C. γ in die Chart. Beispiele Die Kette ann auch leer sein! D.H. ε. Die gepuntete Regel ist von der Form A. α, gdw. A = S und α = VP. Die gepuntete Regel. Conj ist von der Form, gdw. C =, α =, B = Conj und γ =. Die gepuntete Regel Conj. ist von der Form, gdw. C =, α = Conj, B = und γ = ε. edge(,, s, [], [np,vp] init(c) :- rule(c, RHS), store(edge(,,c,[],rhs)) Earley-Parsing 9 Earley-Parsing 0 foreach/ Predictor-Beschreibung Deterministisches Metaprädiat B, A) So oft die Bedingung B erfüllt ist, führe die Ation A genau einmal durch. B und A önnen trotz Metaprädiate durch gemeinsame Variablen "ommunizieren". Verwendet once/ als Hilfsprädiat. Emuliert Iteration (while-schlaufe once(ziel) Beweise Ziel höchstens einmal. B, A) :- call(b), once(a), fail. _, _ once(goal) :- call(goal),!. Der Predictor sagt voraus, welche Grammatiregeln zum Ziel führen önnen. Ative Konstituenten werden expandiert Die ative Konstituente steht diret hinter dem Punt. Vorgehensweise des Predictors: Top-Down Preditorregel für die Position Schritt I: Für jede Kante der Form i, und jede Regel der Form B β, füge eine Kante, B. β ein. Schritt II: Wende die Preditorregel auf das Resultat ihrer eigenen Anwendung an. Earley-Parsing Earley-Parsing
4 Predictor-Regel graphisch Predictor: Beispiel Schritt I Falls i < : i Predictor B β B. β i Predictor für Position Weil eine ative Kante an Position die ative Konstituente hat, werden anhand der -Regeln Kanten in die Chart eingefügt. Da unsere Grammati zwei Regeln für s enthält, werden entsprechend zwei ative Kanten eingefügt. Falls i=: Predictor B β B. β Regeln für Conj DetP Earley-Parsing Earley-Parsing Predictor: Beispiel Schritt II Predictor: Beispiel Schritt II Predictor für Position Die frisch eingefügte Kante hat wiederum eine als ative Konstituente. Daher sollen anhand der -Regeln neue Kanten in die Chart eingefügt werden. Allerdings ommen so eine neuen Kanten in die Chart, da alle ativen Kanten für s schon drin sind! Keine endlose Reursion, trotz linsreursiver Grammati! Regeln für Predictor für Position, Schritt II Die frisch eingefügte Kante r. hat eine DetP als ative Konstituente. Daher sollen anhand der DetP-Regeln neue Kanten in die Chart eingefügt werden. Die Grammati enthält zwei Regeln für DetP, also ommen zwei neue ative Kanten zur Chart hinzu. Dann ist für den Predictor nichts mehr zu tun. Regeln für DetP Earley-Parsing Earley-Parsing 6 DetP. Poss
5 Predictor in Prolog Scanner-Beschreibung predictor/ Mache für jede Kante mit einer ativen Konstituente an der Endposition die Voraussagen. predict/ Schritt I: Finde eine Regel, die die vorherzusagende Kategorie als LHS hat, mere die line Ece als neue ative Konstituente. Speichere die entsprechende Kante in der Chart, oder scheitere, falls sie schon gespeichert ist. Schritt II: Wende predict/ reursiv auf die neue ative Konstituente an. predictor(to) :- edge(_, To, _, _, [Active _]), predict(active, To) predict(c, Pos) :- rule(c, [Active Rest]), store(edge(pos,pos,c,[],[active Rest])), predict(active, Pos), fail. predict(_, _ Der Scanner nimmt Terminal-Symbole und bestimmt ihre lexialischen Kategorien. önnte z.b. Schnittstelle zu Lexion/Morphologie aufrufen Hier: Aufruf des spartanischen Lexions in word/ Scanner-Regel für Position man woman word(n, man word(n, woman... Falls das Wort W zwischen der Position und + der Eingabeette steht, füge für jede Lexion-Regel der Form C W die Kante, + C W. in die Chart. Earley-Parsing 7 Earley-Parsing 8 Scanner: Beispiel Scanner in Prolog Chart(-Ausschnitt) nach Laufen des Scanners für Knoten : DetP. Poss 6 Det the. scanner(+wort, +K,?Kplus) Für jede mögliche Kategorie, wird eine Kante mit der entsprechenden Endposition gespeichert. scanner(word, From, To) :- To is From +, word(cat, Word), store(edge(from,to,cat,[word],[])) Scanner beommt das Wort von process/ geliefert. Verbesserung gegenüber der Original-Version von Earley: Earley hätte Präterminal-Regeln wie Det the vom Predictor top-down verarbeiten lassen. Weil damit Terminale vorausgesagt werden, die gar nicht Teil der Eingabeette sind, ist das ineffizient wie beim Standard-DCG-Parser. Earley-Parsing 9 Earley-Parsing 0
6 Completer-Beschreibung Fundamental-Regel des Chart-Parsing Der Completer vervollständigt ative Kanten durch Kombination mit passiven Kanten. Anschaulich: Der Punt wandert in der Regel eine Kategorie nach rechts. Vorgehensweise des Completers: Bottom-Up Completer-Regel für Position Schritt I: Für jede passive Kante der Form j, B β. und jede ative Kante der Form i, j füge die Kante i, C α B. γ zur Chart hinzu. (sog. Fundamentalregel) Schritt II: Wende die Completer-Regel auf das Resultat ihrer eigenen Anwendung an. Wenn folgende Kanten in der Chart sind: Passive Kante zwischen Positionen j und : B β. d.h. cat. Ative Kante zwischen Positionen i und j: d.h. Det. Dann füge folgende Kante zur Chart hinzu: Ative oder passive Kante zwischen Positionen i und : C α B. γ d.h. Det. i i Det. Det. Det. j j cat. cat. Earley-Parsing Earley-Parsing Completer: Beispiel Completer: Beispiel Completer für Position, Schritt I Passive Kante 6 endet in Position. Ihre Kategorie ist Det. Suche ative Kanten, die ein Det benötigen und am Startnoten der passiven Kante enden (Position Kante passt. Füge durch Fundamentalregel die neue Kante (7) in die Chart. 6 Det the. 6 Det the. Completer für Position, Schritt II Passive Kante 7 endet hier. Ihre Kategorie ist DetP. Suche ative Kanten, die ein DetP benötigen und am Startnoten der passiven Kante enden (Position I) Kante passt füge durch Fundamentalregel neue Kante (8) zur Chart. 7 DetP Det. Ausschnitt 7 DetP Det. 7 DetP Det. 8 DetP. DetP. Poss DetP. Poss Earley-Parsing Earley-Parsing
7 Completer in Prolog Analyse: Fortschritt und Ende completer/ Vervollständige die Chart mit jeder passiven Kante, die bei Position K endet und bei J beginnt. complete/ Schritt I: Suche ative Kante, die bei J endet und Kategorie B benötigt. Wende die Fundamentalregel an und speichere die neue Kante. Schritt II: Falls sich bei Schritt I eine passive Kante ergeben hat, vervollständige diese reursiv. Achtung: Die erannten Konstituenten sind verehrt herum abgespeichert completer(k) :- edge(j, K, Passive, _, []), complete(j, K, Passive) complete(j, K, B) :- edge(i, J, A, Aphla, [B Gamma]), store(edge(i,k,a,[b Aphla],Gamma)), Gamma == [], complete(i, K, A), fail. complete(_, _, _ Fortschritt Wenn der Completer für Knoten nicht mehr weiterommt Ende Predictor für Knoten Scanner für Knoten Completer für Knoten Predictor für Knoten Scanner für Knoten Completer für Knoten Wenn die Eingabeette leer ist und alle Kanten vervollständigt sind, ist die syntatische Analyse beendet Ergebnis der Analyse Die Eingabe-Kette ist genau dann azeptiert, wenn gilt: I. eine passive Kante reicht von der ersten bis zur letzten Position II. und die Kategorie dieser Kante ist das Startsymbol. Earley-Parsing Earley-Parsing 6 Literatur Originalaufsatz Earley, Jay(970): An efficient context-free parsing-algorithm. Communications of the ACM,, pp Reprinted in "Readings in atural Language Processing (B. J. Gross, K. Spar et al. eds), pp. -, Morgan Kaufmann: Los Altos, 986. Implementation nahe bei Covington, M. (99: 76ff.) aber beeinflusst von Gazdar, G./ Mellish, Ch. (989: 79ff.): atural Language Processing in PROLOG Earley-Parsing 7
Charts. Motivation. Grundfrage. Chart als Graph
Charts Motivation Übersicht Chart bzw. Well-Formed Substring Table (WFST) Als azyklischer Graph, Tabelle und Relation Kantenbeschriftungen Kategorien: WFST Regeln: Passive Charts Regelhyposen: Aktive Charts
MehrChart-Parsing. bersicht. Ziel. Motivation: Bisher vorgestellte Verfahren sind nicht effizient Grundidee des Chart-Parsing Datenstruktur
Chart-Parsing bersicht Ziel Motivation: Bisher vorgestellte Verfahren sind nicht effizient Grundidee des Chart-Parsing Datenstruktur Knoten passive und aktive Kanten gepunktete Regeln (dotted rules) Fundamentalregel
MehrEarley Parsing. Parsing - WS 2012 / 2013 Lisa Orszullok & Anika Stallmann
Earley Parsing Parsing - WS 2012 / 2013 Lisa Orszullok & Anika Stallmann 12.12.2012 Agenda Basics Komponenten Earley Parsing - Recognizer Earley Parsing - Parser Vor- und Nachteile Parsing WS 2012/2013
MehrDer Earley-Algorithmus
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
MehrDer Earley-Algorithmus
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
MehrEarley Parser. Flutura Mestani
Earley Parser Flutura Mestani Informatik Seminar Algorithmen zu kontextfreien Grammatiken Wintersemester 2015/2016 Prof. Martin Hofmann, Dr. Hans Leiß Flutura Mestani 25.11.2015 Seminar Algorithmen zu
MehrShift-Reduce-Parsing: Ein einfaches Bottom-Up-Verfahren Keller Shift- und Reduce-Schritte Vorgehen des Parsers Implementation in Prolog Probleme
Shift-Reduce-Parsing bersicht Shift-Reduce-Parsing: Ein einfaches Bottom-Up-Verfahren Keller Shift- und Reduce-Schritte Vorgehen des Parsers Implementation in Prolog Probleme Tilgungsregeln Zyklische Regeln
MehrAutomatisches Verstehen gesprochener Sprache
Automatisches Verstehen gesprochener Sprache 6. Syntaxanalyse Martin Hacker Bernd Ludwig Günther Görz Professur für Künstliche Intelligenz Department Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg
MehrÜbersicht. (A) Kontextfreie Sprachen (B) Syntaxanalyse (Parsing) (C) Grenzen der Kontextfreiheit
Übersicht (A) Kontextfreie Sprachen (B) Syntaxanalyse (Parsing) (C) Grenzen der Kontextfreiheit (B) Syntaxanalyse 1. Definition Parsing 2. Einfache Parsestrategien: Top-down Bottom-Up Probleme beim Parsen
MehrInhalt. Einführung Formale Sprachen und Grammatiken Übergangsnetze Merkmalsstrukturen Unifikationsgrammatiken
4 Syntax Inhalt Einführung Formale Sprachen und Grammatiken Übergangsnetze Merkmalsstrukturen Unifikationsgrammatiken 4.1 Einführung Einführung Oberflächenstruktur (OF) äußere Erscheinungsform eines Satzes
MehrTeil 111. Chart-Parsing
Teil 111 Chart-Parsing 102 Die im ersten Teil des Buches behandelten einfachen Parsingalgorithmen sind, anders als die meisten vor allem im Compilerbau verwendeten Algorithmen (z.b. die LLoder LR-Parsingalgorithmen),
MehrSyntax und Parsing. OS Einblicke in die Computerlinguistik. Philipp Rabe, 13IN-M
OS Einblicke in die Computerlinguistik basierend auf Computerlinguistik und Sprachtechnologie, 3. Auflage, Spektrum, Heidelberg 2010 22. Mai 2014 Ausgangssituation Tokenisierung und Wortarten-Tagging vollendet
MehrDie vorgestellten Chart-Parser haben bei bestimmten Grammatiken Probleme die Symbole der Grammatik dÿrfen nicht unterspezifiziert sein
bersicht Die vorgestellten Chart-Parser haben bei bestimmten Grammatiken Probleme die Symbole der Grammatik dÿrfen nicht unterspezifiziert sein OK: Prolog-Atome OK: komplexe Terme, deren Argumente jederzeit
MehrBottom-Up-Chart-Parser
Bottom-Up-Chart-Parser bersicht Grammatik und Lexikon Kanten-ReprŠsentation EinfŸgen von Kanten Terminal-Kanten Inaktive Kanten Aktive Kanten Ende des Parsings Zweck Verstehen des Verfahrens und der Prolog-Implementation
MehrDer CKY-Parser. Vorlesung Computerlinguistische Techniken Alexander Koller. 27. Oktober 2015
Vorlesung omputerlinguistische Techniken Alexander Koller 27. Oktober 2015 Übersicht Komplexität des KY-Algorithmus Implementierung in Python hift-reduce-parsing hift-regel: (a w, s) (w, s a) Reduce-Regel:
MehrDer Earley-Algorithmus.
1 Der Earley-Algorithmus. Eine Erläuterung der formalen Spezifikation mit linguistischen Beispielen Kursskript Karin Haenelt, 25.07.2001 1 Einleitung In diesem Skript wird die formale Spezifikation des
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.
MehrLR-Parsing. Präsentation vom 19. Dez Adriana Kosior, Sandra Pyka & Michael Weidauer. Automatische Syntaxanalyse (Parsing) Wintersemester 12/13
LR-Parsing Präsentation vom 19. Dez. 2012 Adriana Kosior, Sandra Pyka & Michael Weidauer Automatische Syntaxanalyse (Parsing) Wintersemester 12/13 Inhalte Einleitung LR(0) Parser LR(1) Parser Fazit Literatur
MehrL 0 = RE. Theorem Jede von einer Turing-Maschine akzeptierte Sprache kann auch von einer Typ-0 Grammatik generiert werden und umgekehrt, kurz:
L 0 = RE Theorem Jede von einer Turing-Maschine azeptierte Sprache ann auch von einer Typ-0 Grammati generiert werden und umgeehrt, urz: L 0 = RE. Der Beweis erfolgt in zwei Schritten: 1. L 0 RE 2. RE
MehrKapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14
Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen
Mehr19. Dynamic Programming I
Fibonacci Zahlen 9. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixettenmultipliation, Matrixmultipliation nach Strassen [Ottman/Widmayer,
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Einschub: Kellerautomaten
MehrAutomaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrDefinition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:
4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition
MehrKlammersprache Definiere
Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere
MehrEinführung - Parser. Was ist ein Parser?
Gliederung 1. Einleitung 1.1 Was ist ein Parser? 1.2 Was ist ein tabellengesteuerter TD-Parser? 1. Tabellengesteuerter TD-Parser 2.1 Funktionsweise 2.2 Darstellung als Pseudocode 2.3 Konstruktion von prädiktiven
MehrTheoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Letzte Vorlesung Eine
MehrVoronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :
Mehr7. Syntax: Grammatiken, EBNF
7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik
MehrStädtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode
Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss. Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrTop-Down-Parsing: DCGs
Top-Down-Parsing: DCGs bersicht Formalismus Benutzung des in Prolog eingebauten Top-Down-Parsers fÿr DCGs Funktionsweise Komplexe Nichtterminalsymbole Modellieren von Kongruenz Ausgabe der erkannten Struktur
MehrFachseminar Compilerbau
Fachseminar Compilerbau WS 08/09 Matthias Schiller Syntaktische Analyse 1. Prinzip der Top-Down-Analyse 2. LL(1)-Grammatiken Modell-Vorstellung Der Scanner liefert als Ergebnis der lexikalischen Analyse,
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen
Mehr10. Hausübung Algorithmen und Datenstrukturen
Prof. Dr. Gerd Stumme, Folke Eisterlehner, Dominik Benz Fachgebiet Wissensverarbeitung 10. Hausübung Algorithmen und Datenstrukturen Sommersemester 2009 Abgabetermin: Montag, 22.06.2009, 10:00 Uhr 15.06.2009
MehrPolygontriangulierung
Übung Algorithmische Geometrie Polygontriangulierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 07.05.204 Ablauf Vergabe der Projekte Übungsblatt
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
MehrFormale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.
Formale Sprachen Spezialgebiet für Komplexe Systeme Yimin Ge 5ahdvn Inhaltsverzeichnis 1 Grundlagen 1 2 Formale Grammatien 4 Endliche Automaten 5 4 Reguläre Sprachen 9 5 Anwendungen bei Abzählproblemen
MehrKontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen
MehrLL(k)-Analyse. (y) folgt α = β. (x) = start k. (=l> ist ein Linksableitungsschritt)
LL(k)-Analyse Eine KFG G = (N,T,P,S) heisst LL(k)-Grammatik, wenn für alle w,x,y T*, α,β,σ (N U T)* und A N mit 1. S =l>* waσ =l> wασ =l>* wx, 2. S =l>* waσ = > wβσ =l>* wy, 3. start k (x) = start k (y)
Mehr2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung
2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0
Mehr2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018
2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie
MehrChartparsing & CKY Algorithmus
Ludwigs Maximiliansuniversität München Centrum für Informations und Sprachverarbeitung Hauptseminar: Parsing Leitung: Prof. Dr. Klaus U. Schulz Sommersemester 2009 Chartparsing & CKY Algorithmus Daniel
Mehra) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:
1 Aufgabe 8.1 (P) (2, 3)-Baum a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: Zeichnen Sie, was in jedem Schritt passiert. b) Löschen Sie die Zahlen 65, 70 und 100 aus folgendem
MehrSpezielle Themen der KI. NLP Natural Language Processing Parsing
Spezielle Themen der KI NLP Natural Language Processing Parsing Parsing Strategien top-down: Ausgehend von S Hypothesenbildung und Verifikation anhand der Grammatikregeln Ersetzung nicht-terminaler Symbole
MehrLösungen zur Vorlesung Berechenbarkeit und Komplexität
Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrAlgorithmische Geometrie: Voronoi Diagramme (Teil 2)
Algorithmische Geometrie: Voronoi Diagramme (Teil 2) Nico Düvelmeyer WS 2009/2010, 12.1.2010 Überblick 1 Definition und grundlegende Eigenschaften (Wied.) 2 Bestimmung des Voronoi Diagramms Gleitebenenverfahren
Mehr2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
MehrKellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4)
Kellerautomat (1/4) Kellerautomat (2/4) Kontextfreie Grammatiken können von Kellerautomaten (Push Down Automata, PDA) erkannt werden PDAs sind eine Erweiterung der endlichen Automaten um ein einfaches
MehrDie Rolle der Grammatik, Ersetzungsregelgrammatiken, und Parsing
Vorlesung Einführung in die Computerlinguistik Die Rolle der Grammatik, Ersetzungsregelgrammatiken, und Parsing Hans Uszkoreit WHAT HAPPES I BETWEE? WHAT HAPPES I BETWEE? sound waves activation of concepts
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrKapitel 5: Syntax-Analyse
Kapitel 5: Syntax-Analyse Aufgabe Die Token-Folge wird strukturiert in Anweisungen, Ausdrücke etc., um die Semantische Analyse und Code-Erzeugung zu ermöglichen Themen Kontextfreie Grammatik Äquivalente
MehrAdvanced Computational Semantics Sommersemester 2008, Hauptseminar. Lösung zu Übung 6,
1 Miriam Butt und Maribel Romero G220/5109, G212/2728 {miriam.butt maribel.romero}@uni-konstanz.de Advanced Computational Semantics Sommersemester 2008, Hauptseminar Lösung zu Übung 6, 05.06.2008 Aufgabe
MehrÜBUNGSKLAUSUR Studienhalbjahr: 2. Semester. Datum: 20. Juli 2016 Bearbeitungszeit: 90 Minuten. Modul: T2INF Dozent: Stephan Schulz
Matrikelnummer: Fakultät Studiengang: Jahrgang / Kurs : Technik Angewandte Informatik 01 B/C/K ÜBUNGSKLAUSUR Studienhalbjahr:. Semester Datum: 0. Juli 01 Bearbeitungszeit: 90 Minuten Modul: TINF100.1 Dozent:
MehrKontextfreie Grammatiken
Kontextfreie Grammatiken Vorlesung Computerlinguistische Techniken Alexander Koller 16. Oktober 2015 Übersicht Worum geht es in dieser Vorlesung? Übungen und Abschlussprojekt Kontextfreie Grammatiken Computerlinguistische
MehrAlgorithmen und Datenstrukturen Tutorium Übungsaufgaben
Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben
MehrEinführung Computerlinguistik. Konstituentensyntax II
Einführung Computerlinguistik Konstituentensyntax II Hinrich Schütze & Robert Zangenfeind Centrum für Informations- und Sprachverarbeitung, LMU München 2013-11-18 1 / 31 Take-away Phrasenstrukturgrammatik:
MehrFormale Methoden 1. Gerhard Jäger 12. Dezember Uni Bielefeld, WS 2007/2008 1/22
1/22 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 12. Dezember 2007 2/22 Bäume Baumdiagramme Ein Baumdiagramm eines Satzes stellt drei Arten von Information
MehrAlgorithmus: // Zähler für jede Regel. // Initialisierung. // Initialisierung von rhs } // 2 N result = ; // Ergebnis-Menge int count[p];
Algorithmus: 2 N result = ; // Ergebnis-Menge int count[p]; // Zähler für jede Regel 2 P rhs[n]; // VorkommeninrechtenSeiten forall (A N) rhs[a] = ; // Initialisierung forall ((A,i) P) { // count[(a,i)]
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 16 Programm: Einführung
MehrProgrammierkurs Python II
Programmierkurs Python II Michaela Regneri & tefan Thater FR 4.7 Allgemeine Linguistik (Computerlinguistik) Universität des aarlandes ommersemester 2010 (Charniak, 1997) the dog biscuits N V N V the dog
MehrTechnische Universität München. Aufgaben Montag WS 2011/12
Technische Universität München Andreas Wörfel Ferienurs Analysis 1 für Physier Aufgaben Montag WS 2011/12 Aufgabe 1 Ne Menge Mengen a Zeigen Sie: A B A B B Zeige: A B A B B x (A B x A B x B, also: (A B
MehrSyntax von Programmiersprachen
Syntax von Programmiersprachen SEP 209 Programmiersprachen Sprache = Menge von Wörtern, typischerweise unendlich Programmiersprache: Wörter repräsentieren Programme Programm kann auf einem Computer evtl.
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.
MehrWann sind Codes eindeutig entschlüsselbar?
Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C
MehrInkrementelle Syntax
Inkrementelle Syntax CFG und inkrementelles Parsing Timm Lichte HHU Düsseldorf, Germany 30.10.2013 SFB 991 1 / 24 Aus der letzten Sitzung inkrementelle Syntax Mechanismen bzw. Komponenten eines Grammatikformalismus,
MehrProgrammierkurs Python II
Programmierkurs Python II Michaela Regneri & Stefan Thater FR 4.7 Allgemeine Linguistik (Computerlinguistik) Universität des Saarlandes Sommersemester 2011 Prüfungsleistungen Klausur am Semesterende -
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS3/4 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws34/dbsys/exercises/
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
MehrÜbungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im
Mehr(Digital) Sorting. October 25, Algorithms & Datastructures 2 Exercises WS 2016
(Digital) Sorting October 2, 2016 Algorithms & Datastructures 2 Exercises WS 2016 Dipl.-Ing. University Linz, Institute for Pervasive Computing Altenberger Straße 69, A-4040 Linz kurz@pervasive.jku.at
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine
MehrDas Halteproblem für Turingmaschinen
Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.
MehrInformatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 31.01.08 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches Anmeldung Hauptklausur : allerspätestens
MehrVon der Grammatik zum AST
Von der Grammatik zum AST Welche Eigenschaften soll ein Parser haben? Wann ist eine Grammatik eindeutig? Wie sollte eine Grammatik aussehen? Theoretischer Hin tergrund: FIRST, FOLLOW Einschränkungen von
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrKomplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier
Komplexitätstheorie WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Komplexitätstheorie Gesamtübersicht Organisatorisches / Einführung Motivation / Erinnerung / Fragestellungen
MehrSprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri
Sprachanalyse WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Inhalt 1. Formale Sprachen 2. Chomsky-Hierarchie 2 FORMALE SPRACHE 1. WAS IST EINE SPRACHE? 2. WIE BESCHREIBT MAN EINE SPRACHE? 3. WAS
MehrAutomatentheorie und formale Sprachen rechtslineare Grammatiken
Automatentheorie und formale Sprachen rechtslineare Grammatiken Dozentin: Wiebke Petersen 17.6.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Pumping lemma for regular languages
Mehr2.6 Deterministisches Top-Down-Parsen
48 2.6 Deterministisches Top-Down-Parsen Als nächstes wollen wir uns mit Methoden zur syntaktischen Analyse befassen. Der lexikale canner eines Compilers liest die Eingabe Zeichen für Zeichen und erzeugt
MehrSpezielle Themen der KI NLP. Parsing
Spezielle Themen der KI NLP Parsing Syntaktisches Parsing 2 Bottom-up-Parsing s > np vp vp > verb np np > det noun np > det np np > proper-noun np > pronoun np > adj noun det > the det > a adj > red noun
MehrHomomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen:
Homomorphismen Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen: h(l) := {h(u) : u L} Γ, für jede Sprache L Σ, h 1 (M) := {u Σ : h(u) M} Σ,
MehrTheoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik 0 17.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Evaluation Ergebnisse
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrÜbersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015
Datenstrukturen und Algorithmen Vorlesung 8: (K6) 1 Joost-Pieter Katoen Lehrstuhl für Informatik Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 7. Mai 015 3 Joost-Pieter
MehrAlgorithmen für schwierige Probleme
Algorithmen für schwierige Probleme Britta Dorn Wintersemester 2011/12 24. November 2011 Farbkodierung Beispiel Longest Path Longest Path gegeben: G = (V, E) und k N. Frage: Gibt es einen einfachen Pfad
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:
Mehr5. Die syntaktische Analyse
mittels sog. Parser Input: Folge von Token (Symbolen), geliefert vom Scanner/Sieber Aufgabe: Teilfolgen zusammenfassen zu größeren syntaktischen Einheiten Ausdrücke, Anweisungen(-folgen), Deklarationen,
MehrVoronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x
Mehr1 AVL-Bäume. 1.1 Aufgabentyp. 1.2 Überblick. 1.3 Grundidee
AVL-Bäume. Aufgabentyp Fügen Sie in einen anfangs leeren AVL Baum die folgenden Schlüssel ein:... Wenden Sie hierbei konsequent den Einfüge /Balancierungsalgorithmus an und dokumentieren Sie die ausgeführten
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie prachen (VI) 25.06.2015 Viorica ofronie-tokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrTheoretische Informatik 1
Theoretische Informatik 1 Search - Beweis der Korrektheit David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2013 Algemeine Anmerkungen zur Übung 9 Aufgabenblätter, 3 Abgabetermine
MehrEinführung in PROLOG 7 Kontextfreie Grammatiken
Einführung in PROLOG 7 Kontextfreie Grammatiken Der Erschaffer von PROLOG, Alain Colmerauer, war ein Computer-Linguist. Daher ist die Computer-Linguistik immer noch das klassische Anwendungsfeld von PROLOG.
Mehr2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37
2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
MehrGrammatiken in Prolog
12. Grammatiken in Prolog 12-1 Grammatiken in Prolog Allgemeines: Gedacht zur Verarbeitung natürlicher Sprache. Dort braucht man kompliziertere Grammatiken als etwa im Compilerbau, andererseits sind die
Mehr