UIMA

UIMA, 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:
 * 1) It specifies component interfaces in an analytics pipeline.
 * 2) It describes a set of design patterns.
 * 3) 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.
 * 4) 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.