Chomsky-Normalformmethode: Auswirkungen auf die Leistung des CYK-Parsers?


9

Diagrammparser können basierend auf der Chomsky-Normalform oder direkt basierend auf Produktionsregeln implementiert werden. Nehmen wir für den Moment an, wir haben einen CYK-Diagrammparser, der die Chomsky-Normalform verwendet. Die Binarisierung ist nicht eindeutig definiert. Beeinträchtigt dies die Leistung der CYK-Diagrammanalyse? Kann dies genutzt werden, um die Leistung eines CYK-Diagrammparsers zu verbessern?


Die Ansätze erzeugen Grammatiken gleicher Größe, nicht wahr? CYK füllt immer die gesamte Tabelle aus, sodass Sie nur die Überprüfung "Gibt es eine passende Regel?" Beschleunigen können. Daher würde ich erwarten, dass nur die Anzahl der Regeln einen Einfluss hat, nicht die Grammatikstruktur.
Raphael

Die für die Binärisierung verwendete Methode wirkt sich auch auf die Größe der Grammatik aus, was sich auf die CYK-Leistung auswirkt: informatica-didactica.de/cmsmadesimple/… diskutiert einige Alternativen zu CNF
Max

Antworten:


6

Während die offensichtliche Antwort lautet, dass sich die grundlegende Komplexität nicht ändern kann, gibt es möglicherweise bessere oder schlechtere Algorithmen zum Parsen der Zeichenfolgen, auf die Sie tatsächlich stoßen werden. Es scheint jedoch, dass das Problem weniger die relative Häufigkeit einzelner Grammatikproduktionen (die fraglichen A-, B- und C-Produktionen) als vielmehr die nicht verwendeten Sackgassen- Analysen ist, die eine Binärisierung gegenüber einer anderen erzeugen kann.

Mit ein wenig Suchen fand ich eine bessere Binarisierung für das CKY-Parsing (Song, Ding und Lin, EMNLP 2008), was definitiv zu dem Schluss zu kommen scheint, dass Sie eine "bessere" oder "schlechtere" Binarisierung im Vergleich zu den tatsächlich erwarteten Zeichenfolgen auswählen können analysieren müssen. Ihr Name für die "Sackgassen", die man in der Praxis minimieren möchte, scheint unvollständige Bestandteile zu sein , und auf der ersten Seite gibt es ein gutes Beispiel.


Betrachten Sie die Grammatik einschließlich der Produktionen (S -> ABC) (T -> ABD). Wenn "BC" immer "A" vorangestellt ist, "AB" jedoch gelegentlich nicht "C" folgt, gibt es weniger Sackgassen, wenn Sie B und C kombinieren, und die relative Häufigkeit ist irrelevant. Ihr Punkt über "wenige" und "viele" ist sinnvoll, wenn Wörter zufällig erscheinen, aber ich denke, dass Song, Ding und Lin die ngram-Frequenz ausnutzen, die etwas ausgefeilter ist. Sie weisen auch darauf hin, dass Sie in meinem Beispiel möglicherweise immer noch mit der "AB" -Binarisierung gewinnen, indem Sie das Teilen ausnutzen!
Rob Simmons

4

Tatsächlich muss die Chomsky-Normalform (CNF) nicht CYK ausführen, sondern nur die Binärisierung. Die Binarisierung ist wichtig, um die kubische Komplexität des Parsens zu erhalten, jedoch nur in Bezug auf Nicht-Terminals (NT). Wenn Sie jedoch Regeln haben, die nur 2 Nicht-Terminals und einige Terminals enthalten, wird der CYK-Algorithmus komplexer zu programmieren und zu erklären.

Wie Sie sagen, gibt es viele Möglichkeiten, eine Binärisierung durchzuführen. Einige ergeben kleinere Grammatiken als andere. Beispielsweise

X -> B C D
Y -> B C E 

kann als binärisiert werden

X -> Z D
Y -> Z E
Z -> B C

Auf diese Weise wird eine Regel durch Faktorisierung gespeichert, wodurch die Berechnung und die Ergebnisgröße eingespart werden können.

Bei anderen Regeln möchten Sie möglicherweise eher das Ende der Regeln als den Anfang faktorisieren.

Ich bin nicht vertraut mit der Arbeit von Song, Ding und Lin , die von Rob Simmons Antwort zitiert wird . Die Idee ist interessant, aber ich frage mich, wie effektiv sie mit anderen Möglichkeiten zur Optimierung der Berechnung verglichen werden kann. Ich fürchte nicht so sehr.

Der Punkt ist, dass die Analyse der Probleme nur in Bezug auf einen reinen CKY-Algorithmus ein wenig akademisch, aber kostspielig erscheint, da es andere Arten der Optimierung gibt, die die Beseitigung von Sackgassen-Parsen erheblich verbessern können.

CYK ist anscheinend nur eine der einfacheren Varianten einer Familie von Algorithmen, die alle auf demselben dynamischen Programmiermodell basieren. Ich sage anscheinend, weil die einfachste Version dieser Algorithmen nicht als dynamische Programmierung, sondern als produktübergreifend bekannt ist. Es ist die alte Konstruktion einer CF-Grammatik G, die aufgrund von Bar Hillel, Perles und Shamir (1961) den Schnittpunkt der Sprache der CF-Grammatik F und der regulären Sprache einer FSA A erzeugt , wie Lang 1995 bemerkte .

Alle Diagrammparser oder allgemeinen CF-Parser, die auf dynamischer Programmierung basieren, können als "optimierte" Variante dieser produktübergreifenden Konstruktion angesehen werden, wobei die Optimierung hauptsächlich verwendet wird, um nutzlose Berechnungen des Parsers zu vermeiden. Aber das Problem ist subtiler als nutzlos Berechnung vermieden werden kann Duplizieren nützlichsten führen, die schlimmer sein können.

Der Bottom-up-Algorithmus von CKY erzeugt nutzlose Berechnungen von Teilparsen, die sich nicht aus dem Axiom der Grammatik ableiten lassen.

Algorithmen wie der GLR-Parser (um einen der bekannteren zu nennen, obwohl eine fehlerhafte Version veröffentlicht wurde) verfügen über einige Top-Down-Kenntnisse, die viele solcher nutzlosen Berechnungen vermeiden, möglicherweise zu Kosten. Und es gibt viele andere Varianten mit unterschiedlichem Verhalten hinsichtlich der Einsparung nutzloser Berechnungen.

Unter Berücksichtigung dieser Optimierungsstrategien sollte die Binarisierungsstrategie analysiert werden. Was ist der Sinn der Optimierung eines möglicherweise geringfügigen Problems und der Ignorierung leistungsfähigerer Techniken?

Die Optimierung des Analyseprozesses ist auch eng mit der "Qualität" der erhaltenen Analysestruktur verbunden, die alle möglichen Analysen darstellt, und wird häufig als (gemeinsam genutzter) Analysewald bezeichnet. Ich diskutiere das in einer anderen Antwort .

Einige dieser Themen werden in der Literatur diskutiert. Zum Beispiel analysieren Billot und Lang einige Aspekte der Binarisierung im Hinblick auf Parsing-Strategien.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.