2016-07-30 8 views
0

Ich erbte ein Java-System, das um CoreNLP geschrieben wurde, was bedeutet, dass Systemklassen CoreNLP-Klassen an einigen Stellen als Felder verwenden, zusätzlich zum CoreNLP-Parser.Gibt es eine Brücke zwischen Stanfords CoreNLP- und OpenNLP-Parsern?

Ich möchte die Genauigkeit des Systems mit verschiedenen Parsern testen, und zu diesem Zweck habe ich den Code umgestaltet, um einen verallgemeinerten Parseradapter zu verwenden, dessen Unterklassen das notwendige Bridging zwischen der CoreNLP API und der spezifischen Parserimplementierung durchführen sollten .

Jetzt ist die Unterklasse StanfordParserAdapter trivial. Mein Problem beginnt mit der OpnNlpParserAdapter-Unterklasse. Gibt es eine Brücke zwischen diesen Parsern, die ich benutzen kann? Wenn das so ist, wird es mir (und möglicherweise anderen) viel Arbeit ersparen.

Beispiel: Mit einem List<HasWord> zu analysieren, produziert CoreNLP Tree. Ich möchte, dass der OpenNLP-Parser (durch den Überbrückungscode) ein gleichwertiges Stanford Tree-Objekt erzeugt, wenn er die gleiche Eingabe erhält.

Antwort

0

Ich denke nicht, dass Bridging die optimale Lösung dafür ist, da es viel Arbeit und Zeitaufwand erfordert, als Opennlp direkt in Ihrem Projekt zu verwenden.

Auf der anderen Seite ist die Konfiguration und Verwendung Opennlp ziemlich einfach. Und es gibt eine Menge Unterstützung, mit der Sie Ihre Eingaben analysieren können.

Kommentar, wenn Sie Hilfe beim Konfigurieren und Verwenden von Tools benötigen. Viele Beispiele helfen dabei.

+0

Ich denke nicht, Bridging ist auch die optimale Lösung, aber ich bin nicht im Begriff, die Hälfte des Systems umschreiben, nur um OpenNLP direkt zu verwenden ...: -/ Ich habe kein Problem mit der Konfiguration oder Verwendung von OpenNLP (oder andere Parser für diese Angelegenheit), meine Frage war speziell über den Überbrückungscode. Irgendwann könnte es für jemand anderen hilfreich sein. – Yuval

+0

die Hälfte des Systems umschreiben? es ist nur das Hinzufügen der opennlp jars und Erstellen einer Parser-Methode, nicht wahr? :/ – Nuwanda

+0

Wenn Sie den ersten Satz der Frage gelesen haben, sehen Sie, dass viele Klassen mit Stanford-Klassen geschrieben wurden. Ich wünschte, ich könnte einfach den Stanford-Parser ausstecken und einen neuen Parser an seiner Stelle einstecken ... – Yuval

Verwandte Themen