UIMA
# UIMA

UIMA (/juˈiːmə/ yoo-EE-mə), 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.

## Structure

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

Apache UIMA, a reference implementation of UIMA, is maintained by the Apache Software Foundation.

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.
