Natural Language Processing

UIMA – framework for unstructured information analysis

Apache UIMA (Unstructured Information Management Architecture) is a framework for building applications that analyse unstructured information, including text, audio and video. It provides a common architecture for combining independently developed analysis components into processing workflows.

The framework is particularly useful when an application needs to apply several stages of analysis to the same document. Rather than requiring every component to manage its own representation of the data, UIMA provides a shared structure in which annotations and associated information can be stored and accessed.

Apache UIMA does not provide a complete collection of linguistic analysis algorithms itself. Instead, it supplies the infrastructure through which developers can create, connect and execute their own components or integrate those supplied by other projects.

Its Java SDK includes facilities for defining analysis pipelines, describing annotation types and coordinating the processing of documents. Companion tooling simplifies the development of specialised text-analysis applications.

This is free and open source software.

Key Features

  • Common Analysis Structure (CAS) for representing unstructured content and its annotations.
  • Configurable type systems define the structure and attributes of analysis results.
  • Supports reusable analysis engines that process documents and add annotations.
  • Allows multiple analysis engines to be combined into processing pipelines.
  • Provides collection readers and consumers for handling input and output.
  • Supports annotations identifying specific spans of text and their associated attributes.
  • Offers Java APIs for creating, accessing, querying and modifying analysis results.
  • Supports serialisation and deserialisation of CAS data in multiple formats.
  • Provides configurable execution of analysis components, including parallel processing.
  • Supports component descriptors for defining processing resources and their configuration.
  • Includes uimaFIT for annotation-based configuration and programmatic creation of processing pipelines.
  • Provides facilities for inspecting and debugging analysis results.
  • Supports integration with the Apache UIMA Ruta rule-based annotation framework.
  • Allows third-party analysis engines and domain-specific processing components to be incorporated into applications.
  • Cross-platform support – runs on Linux, macOS, and Windows.

Website: uima.apache.org
Support:
Developer: The Apache Software Foundation
License: Apache License 2.0

UIMA is written in Java. Learn Java with our recommended free books and free tutorials.


Related Software

Natural Language Processing
PyTorch-TransformersLibrary of state-of-the-art pre-trained models
Natural Language ToolkitSuite of open source Python modules, data sets and tutorials
Stanford CoreNLPExtensible annotation-based NLP pipeline
spaCyIndustrial strength natural language processing
scikit-learnMachine learning library for Python
GensimPython-based vector space modeling and topic modeling toolkit
flairSimple framework for state-of-the-art NLP
Apache OpenNLPMachine learning based toolkit
DL4JDeploy and train deep learning models
Apache LuceneFull-featured information retrieval software library
UIMAImplementation of the UIMA specification
tidytextText mining using dplyr, ggplot2, and other tidy tools
text2vecFramework with API for text analysis and NLP
quantedaR package for Quantitative Analysis of Textual Data
MosesStatistical machine translation system

Read our verdict in the software roundup.

Java Natural Language Processing Tools
CoreNLPAnnotation-based NLP pipeline that provides core natural language analysis
OpenNLPMachine learning based toolkit
DL4JDeploy and train deep learning models
LuceneHigh-performance, full-featured information retrieval software library
UIMAOpen source implementation of the UIMA specification
Spark NLPScalable library for natural language processing pipelines
TikaContent analysis toolkit
processorsToolkit for linguistic analysis and information extraction
MALLETStatistical natural language processing, document classification and more
Apache cTAKESExtracts clinical information from unstructured medical text
GATEFull-lifecycle solution for a broad range of NLP tasks

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted