Как преобразовать аннотацию WebAnno Name Entity для использования в OpenNLP?
Исходя из этого, мне нужно экспортировать в формат XMI и использовать DKPro Core для преобразования в формат Brat:
https://github.com/webanno/webanno/issues/328
Я попробовал этот код, но не увенчался успехом
public void convert() throws Exception {
SimplePipeline.runPipeline(CollectionReaderFactory
.createReaderDescription(XmiReader.class, XmiReader.PARAM_SOURCE_LOCATION, "/tmp", XmiReader.PARAM_PATTERNS,
XmiReader.INCLUDE_PREFIX + "*.xmi"), AnalysisEngineFactory
.createEngineDescription(BratWriter.class, BratWriter.PARAM_TARGET_LOCATION, "/tmp"));
}
1 ответ
Решение
Диалект формата brat может отличаться между тем, что производит DKPro Core BratWriter, и тем, что ожидает OpenNLP - формат файла brat довольно гибок.
Если вы используете встроенный слой Named Entity в WebAnno, я бы предложил альтернативный маршрут:
- Оставайтесь с экспортом XMI
- Загрузите XMI с DKPro Core 1.9.0-SNAPSHOT и подайте его на
OpenNlpNamedEntityRecognizerTrainer
составная часть
Это должно избежать необходимости дополнительного шага преобразования.
Раскрытие информации: я разработчик WebAnno и DKPro Core.
Предложения, которые не сработали:
- Экспортировать как
CoNLL 2002
в WebAnno - OpenNLP поддерживает обучение инструмента NER непосредственно из файлов CoNLL 2002.
- =>
Conll02NameSampleStream
поддерживает только определенные языки и именованные типы объектов... вздох