Ich habe gerade OpenNLP
für ein kleines Programm verwendet, wo ich einen Absatz in Sätze segmentieren sollte.OpenNLP - Wird für Abkürzungen auch mit Abkürzungswörterbuch noch ein Training benötigt?
Obwohl ich in der Lage war, die Aufgabe nach dem Lesen einiger Dokumentation und dem Durchlaufen ihrer Testfälle zu erledigen, konnte ich nicht anders als feststellen, dass ich immer noch für alle Abkürzungen (Beispiel Yahoo!) trainieren muss, auch wenn ich erstellt habe ein benutzerdefiniertes Abkürzungswörterbuch, übergab es an SentenceDetectorFactory
und benutzte es, um SentenceDetectorME
zu trainieren.
Ich verwende einen ähnlichen Ansatz wie in diesem test case verwendet.
Ich konnte dieses Verhalten in ihrer Dokumentation nicht finden, noch konnte ich irgendeine Erklärung finden. Gibt es etwas, das mir fehlt?
Edit: Erklärung meines Problems
Obwohl ich noch eine Ausbildung auf Herstellung eingestellt als geeignet für die Domain arbeiten bin ich arbeite in, meine Testdaten aus unstrukturierten Daten aus Web kommen. Manchmal enthält es eine Abkürzung, die keiner meiner Teammitglieder je erwartet hat. Z.B.
Company (acq. by another company) is a good company.
In diesem Fall sind wir davon ausgegangen, nie acquired
das Wort wie acq.
auftreten, die eindeutig als Abkürzung verwendet wird.
Jetzt können wir entweder acq.
als Abkürzung hinzufügen und das Modell wie angekündigt weiterarbeiten lassen oder das Modell dafür trainieren. Aber selbst nachdem wir es in das Abkürzungswörterbuch aufgenommen hatten, wurde es nicht als Abkürzung behandelt und wir haben am Ende ein Modell für diese Abkürzung gelernt. Dies scheint eine Abweichung vom Konzept des Abkürzungswörterbuchs zu sein.
Ich versuchte ein kleines Beispiel in NLTK
mit PunktSentenceTokenizer
like this one, und es funktioniert perfekt.
Ich bin mir nicht sicher, ob ich ein Trainingssatz mit sogar 25.000 Sätzen habe, es wird einen Unterschied machen, wenn OpenNLP
das Abkürzungswörterbuch ignoriert.
Ja, Opennlp ist unberechenbar! Ich weiß jetzt nicht weiter! -.- hast du [diese] (http://atigeo.com/blog/2016/article-title-2) durchlaufen? –
Ja, das habe ich schon. Ich werde antworten, wenn ich mindestens 15.000 Trainingsstichproben erstellt habe. –