Ich möchte "Coreference-Auflösung" mit OpenNLP machen. Die Dokumentation von Apache ( Koreferenzierungslösung ) behandelt nicht, wie "Koreferenz-Lösung" . Hat jemand irgendwelche Dokumente / Tutorial wie man das macht?
Im Moment gibt es für OpenNLP nur eine kleine Dokumentation zur Koreferenzlösung, mit Ausnahme von eine sehr kurze Erwähnung, wie es in der Readme-Datei ausgeführt wird .
Wenn Sie nicht in die Verwendung von OpenNLP investiert haben, sollten Sie das Stanford CoreNLP-Paket in Betracht ziehen, das ein Java-Beispiel, wie es ausgeführt wird, einschließlich der Durchführung der Coreference-Auflösung mit dem Paket. Es enthält auch eine Seite, auf der die Leistung zusammengefasst ist, und die auf dem Coreference-Paket veröffentlichten Artikel .
Ich bin kürzlich auf dasselbe Problem gestoßen und habe einige Blog-Notizen für die Verwendung der OpenNLP 1.5.x-Tools geschrieben. Es ist ein bisschen dicht, in seiner Gesamtheit zu kopieren, also Hier ist ein Link mit mehr Details .
Auf einer hohen Ebene müssen Sie die entsprechenden OpenNLP-Coreference-Modellbibliotheken und auch die WordNet 3.0-Wörterbuch . Angesichts dieser Abhängigkeiten ist das Initialisieren des Linker-Objekts ziemlich einfach:
%Vor%Die Verwendung des Linkers ist jedoch etwas weniger offensichtlich. Sie müssen:
Umbrechen Sie jeden Satz, um die Satzordnung anzuzeigen:
%Vor%Iterate über jeden Satz parse und benutze den Linker, um die Erwähnungsobjekte von jedem Parse zu erhalten:
%Vor%Verwenden Sie abschließend den Linker, um die verschiedenen Entitäten für alle Erwähnungsobjekte zu identifizieren:
%Vor%