Analysis Engine (AE) - программа, которая анализирует артефакты (документы).
AE состоит из строительных блоков, называемых аннотаторами.
Аннотатор (Annotator) - компонент, который содержит анализирующую логику.
Если AE содержит 1 аннотатор - Primitive AE
Если АЕ содержит несколько аннотаторов - Aggregate AE
Артефакт - это неструктурированная вещь, которая может анализироваться аннотатором, например текстовый документ, видео, изображение.
Аннотаторы на выходе дают результат в виде типизированных структур свойств (Feature Structures). Feature Structures - это структуры данных, имеющие тип и множество пар (атрибут, значение).
Аннотация (Feature Name || TypeName) - это определенный тип Feature Structures, который присоединяется к части анализируемого документа (выходной тип данных).
Т.е. Feature Structures это совокупность всех аннотаций, которые применит анализатор или совокупность типов выходных данных.
Common Analysis Structure (CAS) - это все структуры свойств, включая аннотации.
Необходимо выполнить несколько действий, чтобы написать и протестировать простой UIMA аннотатор:
AE состоит из строительных блоков, называемых аннотаторами.
Аннотатор (Annotator) - компонент, который содержит анализирующую логику.
Если AE содержит 1 аннотатор - Primitive AE
Если АЕ содержит несколько аннотаторов - Aggregate AE
Артефакт - это неструктурированная вещь, которая может анализироваться аннотатором, например текстовый документ, видео, изображение.
Аннотаторы на выходе дают результат в виде типизированных структур свойств (Feature Structures). Feature Structures - это структуры данных, имеющие тип и множество пар (атрибут, значение).
Аннотация (Feature Name || TypeName) - это определенный тип Feature Structures, который присоединяется к части анализируемого документа (выходной тип данных).
Т.е. Feature Structures это совокупность всех аннотаций, которые применит анализатор или совокупность типов выходных данных.
Common Analysis Structure (CAS) - это все структуры свойств, включая аннотации.
Необходимо выполнить несколько действий, чтобы написать и протестировать простой UIMA аннотатор:
- Определить CAS типы, которые аннотатор будет использовать.
- Сгенерировать Java-классы для этих типов.
- Написать код аннотатора.
- Создать AE - дескриптор.
- Протестировать аннотатор.
Немного о типах данных в UIMA
UIMA определяет примитивные типы данных такие как Boolean, Byte, Short, Integer, Long, Float, and Double, а также массивы примитивных типов. В иерархии системы типов в UIMA самым главным является TOP (как аналог Object в java). А также есть FSArray это массив Feature Structures и Annotation.
Во встроенном типе Annotation 3 свойства (Feature):
Во встроенном типе Annotation 3 свойства (Feature):
- begin - смещение в тексте относительно начала аннотации
- end - смещение в тексте относительно конца аннотации
- sofa - это содержимое документа между begin и end
Написание аннотатора
Все аннотаторы должны реализовать три метода интерфейса AnalysisComponent:
- initialize - вызывается фреймворком единожды, когда создается экземпляр аннотатора
- process - вызывается на каждый обрабатываемый элемент
- destroy - вызывается, после того как работа с аннотатором завершена
Apache UIMA гарантирует, что на потокобезопасность при вызове аннотатора, а именно, один экземпляр аннотатора на один поток.
Комментариев нет:
Отправить комментарий