Я просто использовал OpenNLP
для небольшой программы, где я должен был сегментировать абзац в предложениях.OpenNLP - Требуется ли обучение для аббревиатуры даже с аббревиатурой?
Хотя я смог выполнить задачу после прочтения некоторых документов и прохождения их тестовых примеров, я не мог не заметить, что мне все еще нужно обучать все аббревиатуры (например, Yahoo!), даже когда я создал пользовательский аббревиатурный словарь, передал его SentenceDetectorFactory
и использовал его для обучения SentenceDetectorME
.
Я использую аналогичный подход, используемый в этом test case.
Я не мог найти это поведение в своей документации, и я не мог найти объяснения. Есть что-то, чего я не хватает?
Edit: Разъяснение моей проблемы
Хотя я до сих пор работают над созданием обучающего множества в качестве пригодных для домена я работаю, мой тест данные поступают из неструктурированных данных из Интернета. Иногда он содержит аббревиатуру, которую никто из членов моей команды не ожидал. Например.
Company (acq. by another company) is a good company.
В этом случае мы никогда не считать слово acquired
происходить как acq.
, который явно используется в качестве аббревиатуры.
Теперь мы можем добавить acq.
в качестве аббревиатуры, и пусть модель продолжит работу, как рекламируется, или обучит ее модели. Но даже после добавления в аббревиатурный словарь он не рассматривался как аббревиатура, и мы закончили модель обучения для этой аббревиатуры. Это похоже на отклонение от понятия аббревиатурного словаря.
Я пробовал небольшой пример в NLTK
с PunktSentenceTokenizer
like this one, и он отлично работает.
Я не уверен, что у меня есть набор для обучения с даже 25 000 предложений, это будет иметь значение, если OpenNLP
игнорирует словарь сокращений.
Да, Opennlp непредсказуем! Я не знаю, как действовать сейчас! -.- Вы прошли через [это] (http://atigeo.com/blog/2016/article-title-2)? –
Да, у меня уже есть. Я отвечу, когда создаю по меньшей мере 15 000 учебных образцов. –