UIMA (// you-EE-muh), short for Unstructured Information Management Architecture, is an OASIS standard for content analytics, originally developed at IBM. It provides a component software architecture for the development, discovery, composition, and deployment of multi-modal analytics for the analysis of unstructured information and integration with search technologies.
The UIMA architecture can be thought of in four dimensions:
- It specifies component interfaces in an analytics pipeline.
- It describes a set of Design patterns.
- It suggests two data representations: an in-memory representation of annotations for high-performance analytics and an XML representation of annotations for integration with remote web services.
- It suggests development roles allowing tools to be used by users with diverse skills.
Implementations and uses
|Developer(s)||IBM, Apache Software Foundation (since October 2006)|
2.9.0 / August 30, 2016
|Written in||Java with C++ enablement|
|Type||text mining, information extraction|
|License||Apache License 2.0|
UIMA is used in a number of software projects:
- IBM Research's Watson uses UIMA for analyzing unstructured data.
- The Clinical Text Analysis and Knowledge Extraction System (Apache cTAKES) is a UIMA-based system for information extraction from medical records.
- DKPro Core is a collection of reusable UIMA components for general-purpose natural language processing.
- Data Discovery and Query Builder
- Entity extraction
- General Architecture for Text Engineering (GATE)
- IBM Omnifind
- List of natural language processing toolkits
- UIMA Frequently Asked Questions (FAQ's) The Apache Software Foundation
- UIMA Specification The Apache Software Foundation.