|
|
|
|
The Apache UIMA™ Sandbox is a workspace that is open to all UIMA committers and developers who would like to
contribute code and join the UIMA developer community.
Components often start in the Sandbox and, when ready for release, migrate from here to the Addons or other parts of the site, over time, as part of the
process of integration by the Apache community.
The Addons and Sandbox currently host analysis components
and tooling around UIMA. All the components are free to use and licensed under the
Apache Software License.
A list of proposed analysis components and tooling for UIMA is available at the
UIMA wiki and can be discussed there.
You can access the UIMA Addons in the SVN repository at
https://svn.apache.org/repos/asf/uima/addons/trunk/.
Likewise, you can access the UIMA sandbox in the SVN repository at
https://svn.apache.org/repos/asf/uima/sandbox/trunk/.
The list below shows the currently available components of the UIMA Addons.
Many of these components are annotators. The Addons projects are released - see the
download page.
|
UIMA Addons components
|
Annotators and Consumers
Servers
Packaging tools
Miscellaneous
These are described in more detail below.
Snowball Annotator
|
The Snowball annotator is an UIMA annotator component that wraps the Snowball stemming algorithm. The annotator
iterates over the available token annotations in the CAS and creates for each token a feature
containing the stem.
The stemming algorithm is avaialble for several languages. For details about Snowball please see
https://snowball.tartarus.org/.
The Java source of the annotator can be accessed in the SVN repository at
https://svn.apache.org/repos/asf/uima/addons/trunk/SnowballAnnotator.
Note: the used implementation of the Snowball stemming algorithm is licensed under the BSD license.
|
Hidden Markov Model Tagger Annotator
|
The Tagger Annotator component implements a Hidden Markov Model (HMM) tagger. The tagger assumes that
sentences and tokens have already been annotated in the CAS with sentence and token annotations.
It iterates then in turn over sentences and tokens to accumulate a list of words, and then invokes the
tagger on this list. The HMM tagger employs the Viterbi algorithm to calculate the most probable tag sequence.
For each Token it updates the posTag field with the part of speech tag.
Model training is happening outside of UIMA, the tagger just receives statistical information from
a model file which is passed to the tagger along with some further parameters through a properties file.
Click here to access the user documentation.
The Java source of the annotator can be accessed in the SVN repository at
https://svn.apache.org/repos/asf/uima/addons/trunk/Tagger.
|
Tika Annotator
|
Apache Tika is a toolkit for detecting and extracting metadata and
structured text content from various documents using existing parser
libraries. The TikaAnnotator uses
Tika
to generate annotations representing
the original markup of a document, extract its text and metadata. It
consists of three resources:
- FileSystemCollectionReader
- similar to the one in UIMA examples but uses
TIKA to extract the text from binary documents and generates annotations to
represent the markup
- MarkupAnnotator
- takes the original content from a view and generates a
new view containing the extracted text with markup annotations
- TikaWrapper
- utility class which allows to populate a CAS from a binary
document; used by the FileSystemCollectionReader
|
Lucene CAS indexer (Lucas)
|
The Lucene CAS indexer (Lucas) is a UIMA CAS consumer that stores CAS
data in a Lucene index. The consumer
transforms annotation objects of a CAS into Lucene token streams
which are stored in a Lucene document. Token streams can further be processed
by token filters. Lucas comes with a set of its own token filters and
integrations for some Lucene token filters. Furthermore, you can
deploy your own token filters. The mapping between UIMA annotations and Lucene
tokens and token filtering is configured by a xml mapping file.
Click here to access the user documentation.
The Java source of the consumer can be accessed in the
SVN repository.
|
OpenCalais Annotator
|
The OpenCalais Annotator component wraps the
OpenCalais
web service and makes the OpenCalais analysis results available in UIMA. OpenCalais can detect a large variety
of entities, facts and events like for example Persons, Companies, Acquisitions, Mergers, etc.
For details about the OpenCalais analytics and the license to use the service, please refer to the
to the OpenCalais website.
The Java source of the annotator can be accessed in the SVN repository at
https://svn.apache.org/repos/asf/uima/addons/trunk/OpenCalaisAnnotator.
|
Concept Mapper Annotator
|
ConceptMapper is a powerful, highly configurable dictionary UIMA-based annotator.
Numerous parameters can be used to specify various aspects of the lookup algorithm, input processing and output options.
The dictionary structure is flexible, allowing any number synonyms to be associated with an entry,
and any number of attributes to be associated with entries or synonyms.
ConceptMapper is separately released, and available on the downloads page.
Lookup and matching against dictionary entries can be performed against
contiguous or non-contiguous blocks of text, and token order independent
lookup is also allowed (for example, the tokens "A" "B" would be considered
a match against dictionary entry "B" "A").
Additionally, ConceptMapper can be configured to use any tokenizer annotator,
enabling tokenization of the dictionary identically with the input text.
Click here to access the user documentation.
|
Configurable Feature Extractor Annotator
|
The Configurable Feature Extractor (CFE) Annotator is a multipurpose tool
that enables feature extraction from a UIMA CAS in a very generalized and
application independent way.
The extraction process is performed according to rules expressed using the
Feature Extraction Specification Language (FESL) that are stored
in configuration files.
Using CFE eliminates the need for creating customized CAS consumers and
writing Java code for every application. Instead, by using FESL rules in XML format,
users can customize the information extraction process to suit their application.
FESL's rule semantics allow the precise identification of the information that
is required to be extracted by specifying precise multi-parameter criteria.
Click here to access the user documentation.
|
|
UIMA Sandbox components
|
These components are partially only available in SVN at this time.
Annotators and Consumers
Miscellaneous
These are described in more detail below.
RDF CAS Consumer
|
The RDF CAS Consumer is responsible of taking a CAS view and
write it to a file in a RDF format; this is usefult to plug UIMA
pipelines with RDF backed systems (using ontologies, reasoners, etc.).
|
GALE Multi-Modal Example
|
The GALE Multi-Modal Example contains a type-system and sample code based on a
rich multimodal application developed under the Darpa GALE project to demonstrate how to combine
analytics from multiple sources and modalities. The GALE Type System (GTS) has been designed
for applications that combine analytics from multiple sources and modalities, such as speech
recognition, language translation, entity detection, topic detection, speech synthesis, etc.
The sample code will illustrate how to wrap NLP analytics as UIMA annotators using
appropriate GTS types, as well as data-reorganization components that convert the output of each
analytic into a form suitable for the following analytics, and add
cross-reference links back to the original data.
The type system descriptors can be accessed from the SVN repository at
https://svn.apache.org/repos/asf/uima/sandbox/trunk/GaleMultiModalExample
.
|
|
|