Точность: ANNIE vs Stanford NLP против OpenNLP с UIMA

Моя работа предусматривает использование кластера UIMA для запуска документов для извлечения именованных объектов, а что нет. Насколько я понимаю, UIMA имеет очень мало компонентов NLP, упакованных вместе с ним. Я уже некоторое время тестировал GATE, и мне это очень удобно. Это нормально для обычного текста, но когда мы запускаем его через некоторые репрезентативные тестовые данные, точность падает. Текстовые данные, которые у нас есть внутри, иногда являются все шапки, иногда все строчные буквы или их сочетание в одном документе. Даже используя ANNIE все правила шапки, точность все же оставляет желать лучшего. Я недавно слышал о Stanford NLP и OpenNLP, но не успел интенсивно тренироваться и тестировать их. Как эти два сравнения с точки зрения точности с ANNIE? Они работают с UIMA, как GATE?

Спасибо заранее.

Ответы

Ответ 1

Невозможно/разумно дать общую оценку эффективности этих систем. Как вы сказали, по вашим тестовым данным точность снижается. Это по нескольким причинам, одна из которых - это языковые характеристики ваших документов, а другая - характеристики аннотаций, которые вы ожидаете увидеть. Afaik для каждой задачи NER есть похожие, но все же разные рекомендации по аннотации.

Сказав это, по вашим вопросам:

ANNIE - единственная бесплатная система NER с открытым исходным кодом на Java, которую я мог найти. Это написано для новостных статей, и я предполагаю, что настроен на задачу MUC 6. Это хорошо для доказательства понятий, но немного устарело. Главное преимущество заключается в том, что вы можете начать улучшать его без каких-либо знаний в области машинного обучения, nlp, а может быть, немного java. Просто изучите JAPE и сделайте снимок.

OpenNLP, Stanford NLP и т.д. приходят по умолчанию с моделями для новостных статей и выполняют (просто глядя на результаты, никогда не проверяя их на большом корпусе) лучше, чем ANNIE. Мне понравился парсер Стэнфорда лучше, чем OpenNLP, снова просто глядя на документы, в основном на новостные статьи.

Не зная, как выглядят ваши документы, я действительно не могу сказать больше. Вы должны решить, подходят ли ваши данные для правил или вы пройдете путь обучения машины и используете OpenNLP или парсер Stanford или теглог Illinois или что-то еще. Парсер Стэнфорда кажется более подходящим для того, чтобы просто заливать ваши данные, тренировать и производить результаты, в то время как OpenNLP представляется более подходящим для тестирования разных алгоритмов, игры с параметрами и т.д.

Для вашего обсуждения GATE по поводу UIMA я попробовал оба и нашел больше вирусного сообщества и лучшую документацию для GATE. Извините за то, что вы дали личное мнение:)

Ответ 2

Только для записи, отвечающей UIMA-углу: как для Stanford NLP, так и для OpenNLP, есть отличная упаковка в качестве модулей анализа UIMA, доступных через проект DKPro Core.

Ответ 3

Я хотел бы добавить еще одно примечание. UIMA и GATE являются двумя структурами для создания приложений обработки естественного языка (NLP). Однако распознавание имен объектов (NER) является базовым компонентом NLP, и вы можете найти реализацию NER, независимо от UIMA и GATE. Хорошей новостью является то, что вы обычно можете найти обертку для достойного NER в UIMA и GATE. Чтобы это было ясно, посмотрим на этот пример:

То же самое для компонента Stanford NER.

Возвращаясь к вашему вопросу, на этом сайте перечислены современные NER: http://www.aclweb.org/aclwiki/index.php?title=Named_Entity_Recognition_(State_of_the_art)

Например, в конкурсе MUC-7 лучший участник с именем LTG получил результат с точностью 93,39%.

http://www.aclweb.org/aclwiki/index.php?title=MUC-7_(State_of_the_art)

Обратите внимание, что если вы хотите использовать такое состояние реализации, у вас может быть проблема с их лицензией.