Есть ли способ получить список аннотаций из Apache UIMA вместо использования CAS GUI?
В настоящее время я использую Apache UIMA для получения списка вхождений терминов фенотипа. Однако документация (почему столь многим API-интерфейсам программного обеспечения для биоинформатики не хватает хорошей документации!), Похоже, указывает только на графический интерфейс отладчика CAS, а не на возможность возврата индекса аннотации.
- Изображение графического интерфейса CAS, я хочу, чтобы он возвращал индекс аннотации внизу слева
Как я уже сказал, документы на самом деле не отвечают на это ( https://uima.apache.org/documentation.html), но обычно я хочу иметь возможность вызывать метод process() в классе Annotator, и для него вернуть индекс аннотации после того, как он обнаружил все вхождения.
Извините, если это глупый вопрос с очевидным ответом, я потратил три часа, пока просматривал документы и не приблизился к поиску ответа, если кто-то пытался интегрировать его в проект подобным образом и может указать меня в правильном направлении, это будет высоко ценится!
1 ответ
Методы процесса изменяют состояние внутри CAS. После вызова ae.process(cas) или ae.process(jcas) аннотации сохраняются в CAS. Просто получите индекс аннотации из (J) Cas.
Apache uimaFIT также может быть удобен для вас, поскольку он предоставляет различные методы "выбора" для доступа к аннотациям в (J)CAS, например:
// CAS version
Type tokenType = CasUtil.getType(cas, "my.Token");
for (AnnotationFS token : CasUtil.select(cas, tokenType)) {
...
}
// JCas version
for (Token token : JCasUtil.select(jcas, Token.class)) {
...
}
Более подробную информацию об этом API можно найти в документации по uimaFIT, в частности, в разделах о конвейерах и методах доступа.
Раскрытие информации: я работаю над Apache uimaFIT.