| <?xml version="1.0" encoding="iso-8859-1"?> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| https://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <document> |
| |
| <properties> |
| <title>Apache UIMA Addons and Sandbox</title> |
| <author email="dev@uima.apache.org"> |
| Apache UIMA Documentation Team</author> |
| </properties> |
| |
| <body> |
|
|
| <section name="Apache UIMA Addons and Sandbox"> |
| |
| <p> |
| 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.
|
| </p> |
| |
| <p>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. |
| </p> |
|
|
| <p>The Addons and Sandbox currently host analysis components |
| and tooling around UIMA. All the components are free to use and licensed under the |
| <a href="license.html">Apache Software License</a>.
|
| A list of proposed analysis components and tooling for UIMA is available at the
|
| <a href="https://cwiki.apache.org/confluence/display/UIMA/uima-sandbox-components.html">UIMA wiki</a> and can be discussed there.
|
| </p> |
|
|
| <p>
|
| You can access the UIMA Addons in the SVN repository at |
| <a class="external" href="https://svn.apache.org/repos/asf/uima/addons/trunk/"> |
| https://svn.apache.org/repos/asf/uima/addons/trunk/</a>. |
| Likewise, you can access the UIMA sandbox in the SVN repository at
|
| <a class="external" href="https://svn.apache.org/repos/asf/uima/sandbox/trunk/">
|
| https://svn.apache.org/repos/asf/uima/sandbox/trunk/</a>. |
| </p> |
|
|
| <p>
|
| 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 |
| <a href="downloads.cgi">download</a> page.
|
| </p>
|
|
|
| </section> |
|
|
|
|
| <section name="UIMA Addons components" >
|
| <h4 id="uima-addons-annotators">Annotators and Consumers</h4> |
| <ul>
|
| <li><a href="#whitespace.tokenizer">Whitespace Tokenizer Annotator</a></li>
|
| <li><a href="#snowball.annotator">Snowball Annotator</a></li>
|
| <li><a href="#regex.annotator">Regular Expression Annotator</a></li>
|
| <li><a href="#dict.annotator">Dictionary Annotator</a></li>
|
| <li><a href="#tagger.annotator">Hidden Markov Model Tagger Annotator</a></li>
|
| <li><a href="#bsf.annotator">BSF Annotator</a></li>
|
| <li><a href="#opencalais.annotator">OpenCalais Annotator</a></li> |
| <li><a href="#concept.mapper.annotator">Concept Mapper Annotator</a></li> |
| <li><a href="#configurable.feature.extractor.annotator">Configurable Feature Extractor Annotator</a></li> <li><a href="#tika.annotator">Tika Annotator</a></li> |
| <li><a href="#lucas.consumer">Lucene CAS indexer (Lucas)</a></li> |
| <li><a href="#alchemy.annotator">AlchemyAPI Annotator</a></li> |
| <li><a href="#solrcas.consumer">Solr CAS Consumer (Solrcas)</a></li> |
| </ul> |
| <h4 id="uima-addons-servers">Servers</h4> |
| <ul> |
| <li><a href="#simple-server">Simple Server (UIMA REST service)</a></li> |
| </ul> |
| <h4>Packaging tools</h4> |
| <ul> |
| <li><a href="#pear.package.task">PEAR Packaging ANT Task</a></li> |
| <li><a href="#pear.maven.task">PEAR Packaging Maven Plugin</a></li> |
| </ul> |
| <h4>Miscellaneous</h4> |
| <ul> |
| <li><a href="#fs.variables">Feature Structure Variables</a></li> |
| </ul> |
| <p>These are described in more detail below.</p>
|
|
|
| <br></br>
|
|
|
| <subsection name='Whitespace Tokenizer Annotator' id="whitespace.tokenizer">
|
| <p>
|
| The Whitespace tokenizer annotator component provides an UIMA annotator implementation that tokenizes
|
| text documents using a simple whitespace segmentation. During the tokenization, the annotator creates
|
| token and sentence annotations as result. The Java source of the annotator
|
| can be accessed in the SVN repository at
|
| <a class="external" href="https://svn.apache.org/repos/asf/uima/addons/trunk/WhitespaceTokenizer">
|
| https://svn.apache.org/repos/asf/uima/addons/trunk/WhitespaceTokenizer</a>.
|
| </p>
|
| </subsection>
|
|
|
| <subsection name='Snowball Annotator' id="snowball.annotator">
|
| <p>
|
| 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
|
| <a class="external" href="https://snowball.tartarus.org/">https://snowball.tartarus.org/</a>.
|
| The Java source of the annotator can be accessed in the SVN repository at
|
| <a class="external" href="https://svn.apache.org/repos/asf/uima/addons/trunk/SnowballAnnotator">
|
| https://svn.apache.org/repos/asf/uima/addons/trunk/SnowballAnnotator</a>.
|
| </p>
|
| <p>
|
| Note: the used implementation of the Snowball stemming algorithm is licensed under the BSD license.
|
| </p>
|
| </subsection>
|
|
|
| <subsection name='Regular Expression Annotator' id="regex.annotator">
|
| <p>
|
| The Regular Expression Annotator (RegexAnnotator) is an Apache UIMA analysis engine that
|
| detects entities like email addresses, URLs, phone numbers, zip codes or any other entity
|
| based on regular expressions and concepts. For each entity that was detected an annotation
|
| can be created or an already existing annotation can be updated with feature values.
|
| <a href="d/uima-addons-current/RegularExpressionAnnotator/RegexAnnotatorUserGuide.html">
|
| Click here to access the user documentation</a>.
|
| The Java source of the annotator can be accessed in the SVN repository at
|
| <a class="external" href="https://svn.apache.org/repos/asf/uima/addons/trunk/RegularExpressionAnnotator">
|
| https://svn.apache.org/repos/asf/uima/addons/trunk/RegularExpressionAnnotator</a>.
|
| </p>
|
| </subsection>
|
|
|
| <subsection name='PEAR Packaging ANT Task' id="pear.package.task">
|
| <p>
|
| The PEAR packaging ANT task component is a project to create UIMA PEAR packages automatically
|
| during a component build using a custom
|
| <a class="external" href="https://ant.apache.org/">Apache ANT</a> task. With this task,
|
| users are able to build their components from the source and then package them
|
| automatically as UIMA PEAR package. |
| <a href="d/uima-addons-current/PearPackagingAntTask/PearPackagingAntTaskUserGuide.html">
|
| Click here to access the user documentation</a>. |
| The Java source of the PEAR packaging task can be accessed in the SVN repository at
|
| <a class="external" href="https://svn.apache.org/repos/asf/uima/addons/trunk/PearPackagingAntTask">
|
| https://svn.apache.org/repos/asf/uima/addons/trunk/PearPackagingAntTask</a>.
|
| </p>
|
| </subsection> |
|
|
| <subsection name='PEAR Packaging Maven Plugin' id="pear.maven.task">
|
| <p>Note: The PEAR Packaging Maven Plugin has been moved to the main UIMA Java Framework and SDK package.</p> |
| <p>
|
| The PEAR packaging Maven plugin component is a project to create UIMA PEAR packages automatically
|
| during a component build using a custom Maven plugin.
|
| With this plugin, users are able to build their components from the source and then package them
|
| automatically as UIMA PEAR package.
|
| <a href="d/uimaj-current/tools.html#ugr.tools.pear">
|
| Click here to access the user documentation</a>.
|
| The Java source of the PEAR packaging Maven plugin can be accessed in the SVN repository at
|
| <a class="external" href="https://svn.apache.org/repos/asf/uima/uimaj/trunk/PearPackagingMavenPlugin">
|
| https://svn.apache.org/repos/asf/uima/uimaj/trunk/PearPackagingMavenPlugin</a>.
|
| </p>
|
| </subsection>
|
|
|
| <subsection name='Dictionary Annotator' id="dict.annotator">
|
| <p>
|
| The Dictionary Annotator is an Apache UIMA analysis engine that creates annotations based on word lists
|
| that are compiled to simple dictionaries. The output annotation type for the annotations that are created
|
| and the input annotation type where the dictionary lookup is executed on, can be specified individually.
|
| <a href="d/uima-addons-current/DictionaryAnnotator/DictionaryAnnotatorUserGuide.html">
|
| Click here to access the user documentation</a>.
|
| The Java source of the annotator can be accessed in the SVN repository at
|
| <a class="external" href="https://svn.apache.org/repos/asf/uima/addons/trunk/DictionaryAnnotator">
|
| https://svn.apache.org/repos/asf/uima/addons/trunk/DictionaryAnnotator</a>.
|
| </p>
|
| </subsection>
|
|
|
| <subsection name='Feature Structure Variables' id="fs.variables">
|
| <p>
|
| The Feature Structure variables project allows you to create named feature structure instances.
|
| It further allows you to refer to individual feature structures or annotations across annotators,
|
| without creating a special index. |
| <a href="d/uima-addons-current/FsVariables/fsVariablesUserGuide.html"> |
| Click here to access the user documentation</a>.
|
| The Java source of the project can be accessed in the SVN repository at
|
| <a class="external" href="https://svn.apache.org/repos/asf/uima/addons/trunk/FsVariables">
|
| https://svn.apache.org/repos/asf/uima/addons/trunk/FsVariables</a>.
|
| </p>
|
| </subsection>
|
|
|
| <subsection name='Hidden Markov Model Tagger Annotator' id="tagger.annotator">
|
| <p>
|
| 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. |
| <a href="d/uima-addons-current/Tagger/hmmTaggerUsersGuide.html"> |
| Click here to access the user documentation</a>.
|
| The Java source of the annotator can be accessed in the SVN repository at
|
| <a class="external" href="https://svn.apache.org/repos/asf/uima/addons/trunk/Tagger">
|
| https://svn.apache.org/repos/asf/uima/addons/trunk/Tagger</a>.
|
| </p>
|
| </subsection>
|
|
|
| <subsection name='BSF Annotator' id="bsf.annotator">
|
| <p>
|
| The Bean Scripting Framework (BSF) Annotator is an Apache UIMA analysis engine that provides
|
| a link between the UIMA framework and the scripting languages that are supported by
|
| Apache BSF (<a class="external" href="https://jakarta.apache.org/bsf">https://jakarta.apache.org/bsf</a>).
|
| The current implementation comes with examples in Beanshell
|
| (<a class="external" href="https://www.beanshell.org">https://www.beanshell.org</a>) and Rhino Javascript
|
| (<a class="external" href="https://www.mozilla.org/rhino">https://www.mozilla.org/rhino</a>).
|
| Simple tests have also been conducted successfully with Jython
|
| (<a class="external" href="https://jython.sourceforge.net/Project/index.html">https://jython.sourceforge.net/Project/index.html</a>)
|
| and JRuby (<a class="external" href="https://jruby.codehaus.org">https://jruby.codehaus.org</a>).
|
| The annotator takes as parameter the source file containing the script.
|
| The script is supposed to implement the initialize and process functions of the analysis engine.
|
| Using a scripting language can be very handy to do quick prototyping, pre/post processing, CAS cleaning tasks or
|
| typeystem conversion/adaptation.
|
| The Java source of the annotator can be accessed from the SVN repository at
|
| <a class="external" href="https://svn.apache.org/repos/asf/uima/addons/trunk/BSFAnnotator">
|
| https://svn.apache.org/repos/asf/uima/addons/trunk/BSFAnnotator</a>.
|
| </p>
|
| </subsection> |
| |
| <subsection name="Tika Annotator" id="tika.annotator"> |
| <p> |
| Apache Tika is a toolkit for detecting and extracting metadata and |
| structured text content from various documents using existing parser |
| libraries. The TikaAnnotator uses |
| <a href="https://lucene.apache.org/tika/" target="_blank" rel="noopener">Tika</a> |
| to generate annotations representing |
| the original markup of a document, extract its text and metadata. It |
| consists of three resources: |
| </p> |
| |
| |
| <dl> |
| <dt>FileSystemCollectionReader</dt> |
| <dd>similar to the one in UIMA examples but uses |
| TIKA to extract the text from binary documents and generates annotations to |
| represent the markup</dd> |
| |
| <dt>MarkupAnnotator</dt> |
| <dd>takes the original content from a view and generates a |
| new view containing the extracted text with markup annotations</dd> |
| |
| <dt>TikaWrapper</dt> |
| <dd>utility class which allows to populate a CAS from a binary |
| document; used by the FileSystemCollectionReader</dd> |
| </dl>
|
| </subsection> |
|
|
| <subsection name="Lucene CAS indexer (Lucas)" id="lucas.consumer"> |
| <p> |
| The Lucene CAS indexer (Lucas) is a UIMA CAS consumer that stores CAS |
| data in a <a href="https://lucene.apache.org">Lucene</a> 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.</p> |
| |
| <p><a href="d/uima-addons-current/Lucas/LuceneCASConsumerUserGuide.html"> |
| Click here to access the user documentation</a>. |
| The Java source of the consumer can be accessed in the |
| <a href="https://svn.apache.org/repos/asf/uima/addons/trunk/Lucas"> |
| SVN repository</a>. |
| </p> |
| </subsection> |
| |
| <subsection name='Simple Server (UIMA REST Service)'
|
| id="simple-server">
|
| <p>
|
| The UIMA Simple Server makes results of UIMA processing
|
| available in a simple, XML-based format. The intended use of
|
| the the Simple Server is to provide UIMA analysis as a REST
|
| service. The Simple Server is implemented as a Java Servlet,
|
| and can be deployed into any Servlet container (such as
|
| Apache Tomcat or Jetty).</p> |
| <p><a href="d/uima-addons-current/SimpleServer/simpleServerUserGuide.html"> |
| Click here to access the user documentation</a>.
|
| The Java source of the annotator can be accessed from the
|
| SVN repository at
|
| <a class="external"
|
| href="https://svn.apache.org/repos/asf/uima/addons/trunk/SimpleServer">
|
| https://svn.apache.org/repos/asf/uima/addons/trunk/SimpleServer
|
| </a>.
|
| </p>
|
| </subsection>
|
|
|
| <subsection name='OpenCalais Annotator' id="opencalais.annotator">
|
| <p>
|
| The OpenCalais Annotator component wraps the
|
| <a class="external" href="https://www.opencalais.com">OpenCalais</a>
|
| 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 <a class="external" href="https://www.opencalais.com">OpenCalais</a> website.
|
| The Java source of the annotator can be accessed in the SVN repository at
|
| <a class="external" href="https://svn.apache.org/repos/asf/uima/addons/trunk/OpenCalaisAnnotator">
|
| https://svn.apache.org/repos/asf/uima/addons/trunk/OpenCalaisAnnotator</a>.
|
| </p>
|
| </subsection> |
| |
| <subsection name='Concept Mapper Annotator' id='concept.mapper.annotator'> |
| <p> |
| ConceptMapper is a powerful, highly configurable dictionary UIMA-based annotator. |
| </p><p> |
| 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. |
| </p> |
| |
| <p>ConceptMapper is separately released, and available on the downloads page.</p> |
| |
| <p> |
| 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"). |
| </p><p> |
| Additionally, ConceptMapper can be configured to use any tokenizer annotator, |
| enabling tokenization of the dictionary identically with the input text. |
| </p> |
| <p><a href="d/uima-addons-current/ConceptMapper/ConceptMapperAnnotatorUserGuide.html"> |
| Click here to access the user documentation</a>.</p> |
| </subsection>
|
| |
| <subsection name="Configurable Feature Extractor Annotator" id="configurable.feature.extractor.annotator"> |
| <p> |
| 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. </p> |
| |
| <p>The extraction process is performed according to rules expressed using the |
| <bold>Feature Extraction Specification Language (FESL)</bold> that are stored |
| in configuration files.</p> |
| |
| <p>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. |
| </p> |
| <p><a href="d/uima-addons-current/ConfigurableFeatureExtractor/CFE_UG.html"> |
| Click here to access the user documentation</a>.</p> |
|
|
| </subsection> |
| <subsection name="AlchemyAPI Annotator" id="alchemy.annotator"> |
| <p>The AlchemyAPI Annotator is a wrapper for the AlchemyAPI webservices which |
| provide text enrichment facilities like categorization, entity extraction, |
| language identification, keyword extraction, concept tagging etc. |
| </p> |
| <p><a href="d/uima-addons-current/AlchemyAPIAnnotator/AlchemyAPIAnnotatorUserGuide.html"> |
| Click here to access the user documentation</a>.</p> |
| </subsection> |
| |
| <subsection name="Solr CAS Consumer (Solrcas)" id="solrcas.consumer"> |
| <p> The Solr CAS Consumer (Solrcas) consumes CAS objects transforming |
| them into Solr documents to write to a remote or local Solr instance |
| in order to provide serach capabilities on top of UIMA pipelines with |
| the Apache Solr search server. |
| </p> |
| <p><a href="d/uima-addons-current/Solrcas/SolrcasUserGuide.html"> |
| Click here to access the user documentation</a>.</p> |
| </subsection>
|
| |
| </section>
|
| |
| <section name="UIMA Sandbox components"> |
| <p>These components are partially only available in SVN at this time.</p> |
| <h4>Annotators and Consumers</h4> |
| <ul> |
| <li><a href="#rdfcas.consumer">RDF CAS Consumer</a></li> |
| </ul> |
| <h4>Miscellaneous</h4> |
| <ul> |
| <li><a href="#gale.multimodal.example">GALE Multi-Modal Example</a></li> |
| </ul> |
| <p>These are described in more detail below.</p> |
| |
| <br></br> |
| |
| <subsection name="RDF CAS Consumer" id="rdfcas.consumer"> |
| <p>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.). |
| </p> |
| <!--p><a href="downloads/sandbox/RDF_CC/RDFCASConsumerUserGuide.html"> |
| Click here to access the user documentation</a>.</p--> |
| </subsection> |
| |
| <subsection name="GALE Multi-Modal Example" id="gale.multimodal.example"> |
| <p> 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. |
| </p> |
| <p> |
| 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. |
| </p> |
| <p> The type system descriptors can be accessed from the SVN repository at |
| <a class="external" href="https://svn.apache.org/repos/asf/uima/sandbox/trunk/GaleMultiModalExample"> |
| https://svn.apache.org/repos/asf/uima/sandbox/trunk/GaleMultiModalExample |
| </a>. |
| </p> |
| </subsection> |
| </section> |
| |
|
|
| </body> |
| </document> |
| |