Создание и обучение модели для OpenNlp с использованием BRAT?

Возможно, мне понадобится создать собственный обучающий набор для OpenNLP, и для этого потребуется вручную аннотировать множество записей.

Чтобы упростить задачу, лучше всего подойдет решение с графическим интерфейсом (ручное написание тегов аннотаций - это не круто), и я только что обнаружил BRAT, который выглядит так, как мне нужно.

BRAT может экспортировать аннотированный файл (.ann), но я не нахожу никаких ссылок на этот тип файла в руководстве OpenNLP, и я не уверен, что это может работать.

Я хотел бы экспортировать этот аннотированный файл из BRAT и использовать его для обучения модели OpenNLP, и мне все равно, можно ли это сделать с помощью кода или CLI.

Может ли кто-нибудь указать мне правильное направление?

1 ответ

Решение

OpenNLP имеет встроенную поддержку формата BRAT для обучения и оценки Name Finder. Другие компоненты в настоящее время не поддерживаются. Добавление поддержки для других компонентов, вероятно, не составит труда, и в случае, если вы заинтересованы, вы должны попросить об этом в списке opennlp-dev.

CLI можно использовать для обучения модели с помощью brat, вот команда, которая покажет вам использование:

  • bin / opennlp TokenNameFinderTrainer.brat

Следующие аргументы являются обязательными для обучения модели:

  • bratDataDir это должно указывать на папку, содержащую ваши файлы.ann и.txt
  • это должно указывать на файл конфигурации, который использует brat для проекта аннотации
  • язык ваших текстовых документов (например, en)
  • модель имя созданного файла модели

Для поиска имени необходимо, чтобы входные данные были разбиты на предложения и токены. По умолчанию он принимает одно предложение на строку и применяет символ пробела. Это поведение можно настроить с помощью аргументов ruleBasedTokenizer или tokenizerModel. Дополнительно можно использовать пользовательскую модель детектора предложений с помощью аргумента ModelmentDetector.

Чтобы оценить вашу модель, инструменты перекрестной проверки и оценки можно использовать аналогичным образом, добавив.brat к их именам.

  • bin / opennlp TokenNameFinderCrossValidator.brat
  • bin / opennlp TokenNameFinderEvaluator.brat

Для ускорения вашего проекта аннотаций вы можете использовать opennlp-brat-annotator. Он может загружать модель Name Finder и интегрируется с BRAT для автоматического аннотирования ваших документов. Это может ускорить ваши усилия по аннотации. Вы можете найти этот компонент в песочнице opennlp.

Другие вопросы по тегам