Hi all, As lengthily explained in the attached mail the Fusepool project[1] has defined an Annotation Model based on Open Annotation [3][4] and NIF 2.0 [5][6]. This model is called FAM (Fusepool Annotation Model [16]).
This mail present the FISE to FAM transformation engine [17] provided by Fusepool. This engine support the transformation of FISE enhancements to Open Annotation based annotations as defined by the Fusepool Annotation Model [16]. ### Supported FISE enhancement types The engine supports the following FISE enhancement types: 1. fise:TextAnnotation used to annotate the language of the Content. Those are transformed to fam:ContentLanguage [8] annotations 2. fise:TextAnnotation used to annotate named entities. Those are transformed to fam:EntityMention [9] 3. fise:EntityAnnotation used to suggest entities for mentions in the text. Those are transformed to fam:EntitySuggestion [12] 4. fise:EntityAnnotation without a relation to an fise:TextAnnotation are transformed to fam:EntityAnnotation [10] 5. fise:TopicAnnotation are transformed to fam:TopicAnnotation [13]: Only Sentiment annotations are not (yet) supported by the engine as the FAM currently does not define a fitting annotation body. NOTES: * transformed fise:Enhancements are deleted from the enhancement metadata * unsupported fise:Enhancements are kept unchanged * information of dereferenced entities are also not toughed ### Installation To use the engine one needs to install <dependency> <groupId>eu.fusepool.p3.stanbol-engines-fise2fam</groupId> <artifactId>stanbol-engines-fise2fam</artifactId> <version>1.0.0</version> </dependency> to the OSGI environment running Stanbol (e.g. by adding it to a bundlelist of a custom launcher or copying the jar to the fileinstall folder or by manually adding it via the bundle tap of the Felix Webconsole). The engine is available on Maven Central [18]. The engine woks with the 0.12.0 release, the 0.12.1-SNAPSHOT as well as the 1.0.0-SNAPSHOT versions of Stanbol. After installing the bundle a default configuration of the Engine with the name `fise2fam` will be available. ### License The engine is provided under Apache Software License 2.0 ### Configuration The Fise2FamEngine provides two configuration parameters * Selector type (enhancer.engine.fise2fam.selectortype.name): This allows to configure the type of selectors. Supported are NIF 2.0 and Open Annotation. Also a compatibility mode where properties of both are written in supported (default: NIF). * NIF: will activate NIF 2.0 type selectors * OA : will activate Open Annotation Text Position Selector and Text Quote Selector. * BOTH: compatibility mode that will write both NIF and OA selector information * Write Metadata (enhancer.engine.fise2fam.metadata.name): This switch allows to enable/disable the serialization of the metadata. If disabled no oa:Annotation and oa:SpecificResource will get serialized. Deactivating this option will make the resulting RDF to no longer confirm to the Open Annotation standard. However it will also reduce the triple count by > 50% (default: enabled) The engine allows for multiple service instances with different configurations. Just make sure that those do use different names. The default instance does use the name `fise2fam`. ### Usage To use the Fise2FamEngine just add the name of the engine (by default `fise2fam` to your chain. As the Fise2FamEngine is a post-processing engine it expects to be executed last. When used in a WeightedChain this will happen automatically based on metadata provided by the engine. Users that configure a ListChain will need to ensure to add the `fise2fam` engine at the end of the list. Happy testing Rupert Westenthaler [1] http://p3.fusepool.eu/ [3] http://www.openannotation.org/spec/core/ [4] https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/openannotation.md [5] http://persistence.uni-leipzig.org/nlp2rdf/ [6] https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/nif.md [7] https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#annotation-core [8] https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#language-annotation [9] https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#entity-mention-annotation [10] https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#entity-annotation [11] https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#linked-entity-annotation [12] https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#entity-linking-choice-annotation [13] https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#topic-classification [14] https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#transformation-of-fise-to-the-fusepool-annotation-model [15] http://svn.apache.org/repos/asf/stanbol/trunk/enhancement-engines/nlp2rdf/ [16] https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md [17] https://github.com/fusepoolP3/p3-stanbol-engine-fam [18] http://search.maven.org/#artifactdetails|eu.fusepool.p3.stanbol-engines-fise2fam|stanbol-engines-fise2fam|1.0.0|bundle On Fri, Jul 25, 2014 at 10:11 AM, Rupert Westenthaler <rupert.westentha...@gmail.com> wrote: > Hi all, > > The task to define a new Enhancement Structure for apache Stanbol is > long outstanding (see STANBOL-351 [2]). In the past years several > discussion started but none of them where coming even to the state of > providing a good model. > > In recent times thanks to the support of the Research Project Fusepool > P3 [1] I was able to spent time on this task and this this mail I > would like to present the current state of this effort to the > community. > > - - - > > The Fusepool Annotation Model > ------------------------------------------- > > The Fusepool Annotation Model (FAM) is based on Open Annotation [3][4] > and uses NIF 2.0 [5][6] for Selectors and lower level NLP annotations. > Summaries about Open Annotation and NIF are available at [4] and [6]. > > The FAM is build up by two main parts: > > 1. The "Annotation Core" [7]: This defines the core annotation model > and is based on Open Annotation and NIF. > 2. Several "Annotation Bodies" for different annotation types. Those > bodies include annotations for > * Content Language [8]: Annotation used to annotate the language > of the content > * Entity Mentions [9]: Annotation for describing Named Entities > detected in the parsed text > * Entity Annotation [10]: Used to link Entities with the analyses Content > * Linked Entity [11]: Combines an Entity Mention and an Entity > Annotation. Used to link a mention of the Entity with a single Entity > of a Vocabulary (e.g. after disambiguation) > * Entity Linking Choice and Entity Suggestion [12]: Used to > suggest several possible Entities for a Entity Mention. > * Topic Classification and Topic Annotation [13]: Used to classify > a content with several Topics of a classification scheme. > > With those predefined Annotation Bodies one can describe everything > that is currently support by FISE. So the new Model has 100% coverage > of the enhancement structure currently use by Apache Stanbol. > > > Migration options from FISE to FAM > ------------------------------------------------ > > An easy migration from FISE to the FAM model was in important > requirement. To avoid the need of adapting all existing Stanbol > Engines to use the new model the decision was to define the FAM in a > way that one can define transformation rules from FISE to FAM [14]. > > Having such rules makes it possible to implement a > "Fise2FamTransformationEngine" that if added to the end of an > Enhancement Chain will allow users to receive Enhancement Results > based on the FAM model. > > I will implement such an Engine in the 2nd half of August. This engine > will be compatible both with the 0.12.* and 1.0.0 versions of Apache > Stanbol. > > As part of this Effort I will also update the Nlp2RdfEngine [15] to > support NIF 2.0. As FAM use NIF selectors having such an engine is > much more relevant as now NLP annotations serialized using NIF 2.0 > will be automatically merged with Selectors used by high level FAM > annotations. > > Next Steps: > ---------------- > > As part of my work on Fusepool I will implement the > Fise2FamTransformationEngine and update the Nlp2RdfEngine before the > end of September. Both engines will be Open Source and Apache > Licensed. Meaning that by end of September all current Stanbol users > will be able to play around with the new Annotation Model. > > IMHO it would really make sense to deprecate the current FISE Model > and migrate to an Model based on Open Annotation and NIF. I am > confident that FAM is a good starting point in that direction. > > From FISE to a Stanbol Annotation Model > -------------------------------------------------------- > > A possible path to migrate to a new Model could look like follows: > > * The Stanbol Community has a look at the FAM and tests it against > current use cases as soon as the Fise2FamTransformationEngine is > available. > * Based on results of that process we can refine the FAM model and > make it to the preferred Enhancement Model. By that we should also > change its namespace to use "http://stanbol.apache.org/ongoloty/" > * For Stanbol 0.12.* and 1.0.0 we will support the new model by > providing a transformation engine For Stanbol 2.0.0 we would change > all engines to natively support the new model. > > WDYT > Rupert Westenthaler > > [1] http://p3.fusepool.eu/ > [2] https://issues.apache.org/jira/browse/STANBOL-351 > [3] http://www.openannotation.org/spec/core/ > [4] > https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/openannotation.md > [5] http://persistence.uni-leipzig.org/nlp2rdf/ > [6] > https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/nif.md > [7] > https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#annotation-core > [8] > https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#language-annotation > [9] > https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#entity-mention-annotation > [10] > https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#entity-annotation > [11] > https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#linked-entity-annotation > [12] > https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#entity-linking-choice-annotation > [13] > https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#topic-classification > [14] > https://github.com/fusepoolP3/overall-architecture/blob/master/wp3/fp-anno-model/fp-anno-model.md#transformation-of-fise-to-the-fusepool-annotation-model > [15] > http://svn.apache.org/repos/asf/stanbol/trunk/enhancement-engines/nlp2rdf/ > > -- > | Rupert Westenthaler rupert.westentha...@gmail.com > | Bodenlehenstraße 11 ++43-699-11108907 > | A-5500 Bischofshofen > | REDLINK.CO > .......................................................................... > | http://redlink.co/ -- | Rupert Westenthaler rupert.westentha...@gmail.com | Bodenlehenstraße 11 ++43-699-11108907 | A-5500 Bischofshofen | REDLINK.CO .......................................................................... | http://redlink.co/