2016-05-04 13 views
2

Ich brauche flachen Parsing und tief Parsing mit Stanford CoreNLP. Ich habe viel gegooglet, bin aber nicht erfolgreich. Am Ende fand ich, dass es 2 Parser, Konstituentenparser und Dependency Parser gibt.Shallow Parsing vs Tief Parsing in Stanford CoreNLP (Java)

Meine Fragen sind:

Ist Constituency Parser flache Parsing und die Abhängigkeit Parser ist tief Parsing?

Kann jemand den Code der oben genannten Parser und hilfreiche Links setzen?

+0

Was meinen Sie mit "flach" und "tief" Parsing? Was erwarten Sie von jedem dieser Parser? –

+0

@GaborAngeli: Nur ein Beispiel zusammen mit Erklärung .. Wenn Sie eine Ahnung davon haben. – iNikkz

Antwort

2

Ich gehe davon aus, dass durch „flachen Parser“ Sie phrasal chunker bedeuten, wie hier beschrieben: https://en.wikipedia.org/wiki/Shallow_parsing

Stanford CoreNLP keinen flachen Parser bietet, und eine Abhängigkeit Parser ist kein dass.

Ich habe OpenNLP 's Chunker und die von Freeling zur Verfügung gestellt.
Beide funktionierte gut für meine Zwecke. Ich fand es einfacher mit OpenNLP loszulegen, besonders mit Clojure wie ich, aber letztendlich habe ich Freeling benutzt, weil es mehr Werkzeuge und natürlich Zugriff auf viele weitere Sprachen hat.

+0

Stanford bietet nach meinem Wissen Shallow Parsing und Deep Parsing an. Und es hat den besten Parser unter allen außer Stanford CoreNLP nannte solche Parser etwas anderes. Welche tatsächlichen Namen sie angegeben haben, wissen sie nicht. – iNikkz

+0

Sie werden uns dann sagen müssen, was Sie mit flacher Analyse meinen. Meinst du semantische Rollenbeschriftung? Das ist eine ganz andere Aufgabe ... –

7

Die Unterscheidung zwischen Wahlkreis und Abhängigkeitsanalyse hat nichts mit der Unterscheidung von Tiefen- und Flachparsing zu tun. Sie sind vollständig orthogonal

Das Parsen von Konstituenten ist ein klassisches Parsing, bei dem Wörter Blätter im Baum sind und Nicht-Blatt-Knoten Bestandteile (z. B. Nominalphrase, Verbalphrase, Präphrase usw.), aber niemals Wörter.

Beim Parsen von Abhängigkeiten werden keine konstituierenden Knoten in der Struktur erstellt. Alle Knoten im Baum sind ein Satzwort. Der Baum stellt die Hierarchie (tatsächlich zwischen den Wörtern) zwischen den Wörtern her.

Ein Wahlkreisbaum kann deterministacailly in einen Abhängigkeitsbaum konvertiert werden, wenn der Kopfknoten für jede Regel bekannt ist. Die Rückwärtsumwandlung ist nicht möglich, da Abhängigkeitsbäume keine Informationen darüber haben, welche Bestandteile erstellt werden sollen.

Auf der anderen Seite bezieht sich "Deep Parsing" auf das Erstellen kompletter Bäume für einen Satz (also, was Sie normalerweise von einem Parser erwarten würden), während 'shallow parsing' eine einfachere Aufgabe ist, eine Menge von partiellen aufzubauen Bäume für einen Satz (zB gruppieren nur Nominalphrasen)

In der Regel erzeugen Abhängigkeitsparesen vollständige Bäume (dh tiefes Parsing), und es gibt Wahlkreisparser sowohl für tiefe als auch oberflächliche Analysen. Es sollte jedoch möglich sein, einen Abhängigkeitsparser zu erstellen, der eine partielle (oder oberflächliche) Analyse lieferte.