Author: rwesten
Date: Wed Jul 4 07:35:12 2012
New Revision: 1357123
URL: http://svn.apache.org/viewvc?rev=1357123&view=rev
Log:
corrected more invalied links
Modified:
incubator/stanbol/site/trunk/content/stanbol/docs/trunk/enhancementusage.mdtext
Modified:
incubator/stanbol/site/trunk/content/stanbol/docs/trunk/enhancementusage.mdtext
URL:
http://svn.apache.org/viewvc/incubator/stanbol/site/trunk/content/stanbol/docs/trunk/enhancementusage.mdtext?rev=1357123&r1=1357122&r2=1357123&view=diff
==============================================================================
---
incubator/stanbol/site/trunk/content/stanbol/docs/trunk/enhancementusage.mdtext
(original)
+++
incubator/stanbol/site/trunk/content/stanbol/docs/trunk/enhancementusage.mdtext
Wed Jul 4 07:35:12 2012
@@ -1,6 +1,6 @@
Title: Making use of Apache Stanbol Enhancements
-This document describes how to implement client side, i.e. user interface
components by using the [enhancement
results](enhancer/engines/enhancementstructure.html) returned by the [Apachee
Stanbol Enhancer](enhancer). It does so by using three different scenarios:
+This document describes how to implement client side, i.e. user interface
components by using the [enhancement
results](enhancer/enhancementstructure.html) returned by the [Apachee Stanbol
Enhancer](enhancer). It does so by using three different scenarios:
* __Entity Tagging__ - replacing text based tags such as "Bob Marley" with
entities - [dbpedia:Bob_Marley](dbpedia.org/resource/Bob_Marley) - to improve
content search and categorization. As added value this can also be used for
mashups with already available information about linked entities and search
engine optimization by [including
metadata](http://schema.org/docs/datamodel.html) of tagged entities within the
content.
* __Entity Disambiguation__ - enhance the entity tagging experience by
explicit support for disambiguation between different suggested entities. This
allows users to explicitly link to Paris (Texas), Bob Marley (Comedian) or in
between any other entities that do share similar labels.
@@ -16,7 +16,7 @@ While the knowledge that "Bob Marley" is
Entity tagging tries to work around that by linking documents with entities
defined by a knowledge base. The fact that Bob Marley is related to reggae
music is nothing novel. [DBpedia](http://dbpedia.org), the Wikipedia database,
does know that and a lot more about the entity
[dbpedia:Bob_Marley](dbpedia.org/resource/Bob_Marley). If the blogger tags her
document with "dbpedia:Bob_Marley", she does not only tag it with "Bob Marley"
but also with all the other contextual information provided by DBPedia -
including the fact that Bob Marley was a reggae interpret.
-But this does not only work with famous people, big cities, etc. Nowadays the
Web [links data](http://linked-data.org) of different domains. However, this is
not only about the Web - it works even better if you use entities relevant to
yourself and/or your working environment (products, articles, customers, etc).
+But this does not only work with famous people, big cities, etc. Nowadays the
Web [links data](http://linkeddata.org) of different domains. However, this is
not only about the Web - it works even better if you use entities relevant to
yourself and/or your working environment (products, articles, customers, etc).
### Suggest entities with the Apache Stanbol Enhancer
@@ -51,14 +51,14 @@ The following steps are typically needed
### Process Content Categorizations
-'[fise:TopicAnnotation](enhancer/enhancementstructure.html#fisetopicannotation)'
instances are used to formally represent categories assigned to the parsed
Content. The main difference between extracted entities and assigned categories
is that extracted entities do have one or more explicit mentions within the
text while assigned categories are suggested based on the document as a whole -
typically they are not explicitly mentioned in the text.
+[fise:TopicAnnotation](enhancer/enhancementstructure.html#fisetopicannotation)
instances are used to formally represent categories assigned to the parsed
Content. The main difference between extracted entities and assigned categories
is that extracted entities do have one or more explicit mentions within the
text while assigned categories are suggested based on the document as a whole -
typically they are not explicitly mentioned in the text.
Typically, an entity tagging UI will want to distinguish between categories
and entities because:
* categories are used to group content (e.g. blog posts about work and private
things)
* entities are used to search/suggest blog posts about specific topics (e.g. a
blog about some feature implemented for "Apache Solr", a nice event in the
"Sternbräu" in "Salzburg")
-The usage of
'[fise:TopicAnnotation](enhancer/enhancementstructure.html#fisetopicannotation)'
is similar to an EntityAnnotation. Both annotation types use the exact same
properties ('fise:entity-referene','fise:entity-label',fise:entity-type',
'fise:confidence','entityhub:site'). The only difference is that one need to
iterate over '{topic-annotation} rdf:type fise:TopicAnnotaion'. So typically
clients will want to use the exact same code to process {entity-annotation} and
{topic-annotation} instances.
+The usage of
[fise:TopicAnnotation](enhancer/enhancementstructure.html#fisetopicannotation)
is similar to an EntityAnnotation. Both annotation types use the exact same
properties ('fise:entity-referene','fise:entity-label',fise:entity-type',
'fise:confidence','entityhub:site'). The only difference is that one need to
iterate over '{topic-annotation} rdf:type fise:TopicAnnotaion'. So typically
clients will want to use the exact same code to process {entity-annotation} and
{topic-annotation} instances.
In the next section we will describe an improved version of entity tagging is
described that allows users to: (1) accept/decline a spotted entity and than
(2) select one of several suggested entities.
@@ -68,7 +68,7 @@ Entity disambiguation is required if an

-The fact that one entity detected in the text - represented by a
'[fise:TextAnnotation](enhancer/enhancementstructure.html#fisetextannotation)'
may have multiple suggested entities - represented by the two
'fise:EntityAnnotation's - has a negative impact on [entity
tagging](#entity-tagging) interface that suggest tags based on
'fise:entityAnnotation's. This is because such an interface would show in the
above case two suggestions: (1) for
['dbpedia:Bob_Marley'](http:dbpedia.org/resource/Bob_Marley) and (2) for
[dbpedia:Bob_Marley_(comedian)](http://dbpedia.org/resource/Bob_Marley_%28comedian%29).
So even if the user want to tag this content with "Bob Marley", she will need
to reject at least one of the two suggestions.
+The fact that one entity detected in the text - represented by a
'[fise:TextAnnotation](enhancer/enhancementstructure.html#fisetextannotation)'
may have multiple suggested entities - represented by the two
'fise:EntityAnnotation's - has a negative impact on [entity
tagging](#entity-tagging-use-tags-to-relate-you-content-to-persons-places-events)
interface that suggest tags based on 'fise:entityAnnotation's. This is because
such an interface would show in the above case two suggestions: (1) for
['dbpedia:Bob_Marley'](http://dbpedia.org/resource/Bob_Marley) and (2) for
[dbpedia:Bob_Marley_(comedian)](http://dbpedia.org/resource/Bob_Marley_%28comedian%29).
So even if the user want to tag this content with "Bob Marley", she will need
to reject at least one of the two suggestions.
Adding explicit support for entity disambiguation to an entity tagging user
interface can solve this problem by grouping suggested entities along
'fise:TextAnnotation's they are suggested for.
@@ -79,12 +79,12 @@ The goal of an entity tagging UI with di
There are several options on how to achieve this. We present a solution that
iterates over the 'fise:EntityAnnotation's.
1. Iterate over all
'[fise:EntityAnnotation](enhancer/enhancementstructure.html#fiseentityannotation)'
instances. This refers to all resources such as "{entity-annotation} rdf:type
fise:EntityAnnotation".
- * For more information on how to collect information for extracted
entities see the [according section](#process-suggested-entities) in the
[entity tagging](#entity-tagging) interface.
+ * For more information on how to collect information for extracted
entities see the [according section](#process-suggested-entities) in the
[entity
tagging](#entity-tagging-use-tags-to-relate-you-content-to-persons-places-events)
interface.
2. Retrieve the
'[fise:TextAnnotation](enhancer/enhancementstructure.html#fisetextannotation)'
referenced by processed 'fise:EntityAnnotation's. For this, we retrieve the
value(s) of the 'dc:relation' property.
3. While iterating over the 'fise:EntityAnnotation's establish a mapping
'fise:TextAnnotation' -> 'fise:EntityAnnotation','fise:EntityAnnotation, ...
* the list of 'fise:EntityAnnotation's for each 'fise:TextAnnotation'
needs to be sorted based on the value of the 'fise:confidence' property of the
EntityAnnotation. Ensure that the EntityAnnotation with the higher confidence
is first in the list. 'fise:confidence' values are in the range 0..1 where
higher numbers represent a higher certainly.
4. Suggest tags based on 'fise:TextAnnotation's - keys in the mapping created
in step (3).
- * Allow users to easily accept the Entity with the highest rank -
['dbpedia:Bob_Marley'](http:dbpedia.org/resource/Bob_Marley) in the above
example. Especially if the confidence of the first suggestion is high (e.g. >=
0.8) and considerable higher as confidence values of other options.
+ * Allow users to easily accept the Entity with the highest rank -
['dbpedia:Bob_Marley'](http://dbpedia.org/resource/Bob_Marley) in the above
example. Especially if the confidence of the first suggestion is high (e.g. >=
0.8) and considerable higher as confidence values of other options.
* Provide users with the possibility to inspect further suggested options
- to disambiguate between different options.
### Showing the extraction context
@@ -148,11 +148,11 @@ _Tips and Tricks:_
### Interact with suggested entities
-This section explains how users mitt want to interact with extracted/suggested
entities. Extracted entities are represented by
'[fise:EntityAnnotation](enhancer/enhancementstructure.html#fiseentityannotation)'s.
Those EntityAnnotations are linked with the
[TextAnnotation](enhancer/enhancementstructure.html#fisetextannotation)
(occurrences) and to the entity of the used knowledge base. The following
figure shows an example for an EntityAnnotation that suggests the entity
['dbpedia:Bob_Marley'](http:dbpedia.org/resource/Bob_Marley) for the
TextAnnotation used in the example of the previous section.
+This section explains how users mitt want to interact with extracted/suggested
entities. Extracted entities are represented by
'[fise:EntityAnnotation](enhancer/enhancementstructure.html#fiseentityannotation)'s.
Those EntityAnnotations are linked with the
[TextAnnotation](enhancer/enhancementstructure.html#fisetextannotation)
(occurrences) and to the entity of the used knowledge base. The following
figure shows an example for an EntityAnnotation that suggests the entity
['dbpedia:Bob_Marley'](http://dbpedia.org/resource/Bob_Marley) for the
TextAnnotation used in the example of the previous section.

-The main purpose of
[EntityAnnotation](enhancer/enhancementstructure.html#fiseentityannotation)s is
to suggest entities (e.g.
['dbpedia:Bob_Marley'](http:dbpedia.org/resource/Bob_Marley) for mentions
within natural languages texts. While the above example (to keep it simple)
shows only a single suggestion in practice one need to distinguish between
three different cases - that also imply different interaction needs for users:
+The main purpose of
[EntityAnnotation](enhancer/enhancementstructure.html#fiseentityannotation)s is
to suggest entities (e.g.
['dbpedia:Bob_Marley'](http://dbpedia.org/resource/Bob_Marley) for mentions
within natural languages texts. While the above example (to keep it simple)
shows only a single suggestion in practice one need to distinguish between
three different cases - that also imply different interaction needs for users:
1. __No suggestion__: This indicates that a named entity was recognized during
natural language processing, but no matching entity was found within the
knowledge base. In this case users might want to
* manually search the knowledge base for an entity. The Apache Stanbol
Entityhub sites endpoint can be used to implement this feature by sending a
"GET http://{host}:{port}/entityhub/sites/find?name={name}" (see the WebUI of
your Stanbol instance for the detailed documentation).
@@ -176,5 +176,5 @@ The following assumes {text-annotation}
2. Visualize suggestions: EntityAnnotations do provide some basic information
about the suggested entity that can be used for visualization. Most important
the URI of the suggested entity as value of 'fise:referenced-entity'.
Additionally, the label and the types of the entity are included.
3. Retrieving additional information about referenced entities: While the
EntityAnnotation includes some basic information some users might want to
retrieve all available information of referenced entities - to dereference the
entity:
* As this is a rather common use case the [EntityLinkingEngine]() and
[KeywordLinkingEngine]() are by default configured to include information of
Entities within the EnhancementResults. So users that use those
EnhancementEngines will not need to dereference Entities as those information
are already available within the enhancement results.
- * If a 'fise:EntityAnnotation' has the 'entityhub:site' property, entities
can be dereferenced by using the Apache Stanbol Entityhub (see the section for
[fise:EntityAnnotation](#fiseentityannotation) for details)
+ * If a 'fise:EntityAnnotation' has the 'entityhub:site' property, entities
can be dereferenced by using the Apache Stanbol Entityhub (see the section for
[fise:EntityAnnotation](enhancer/enhancementstructure.html#fiseentityannotation)
for details)
* In all other cases the URI of the suggested entity need to be used for
dereferencing. If the referenced entity is part of the [linked
data](http://linkeddata.org/) cloud, this is often possible by the
[CoolURI](http://www.w3.org/TR/cooluris/) - basically sending a "GET -h
"Accept: application/json+rdf" {entity-uri}".
\ No newline at end of file