Author: buildbot
Date: Fri Nov 23 13:14:59 2012
New Revision: 839314
Log:
Staging update by buildbot for stanbol
Modified:
websites/staging/stanbol/trunk/content/ (props changed)
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/nlp/analyzedtext.html
Propchange: websites/staging/stanbol/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Nov 23 13:14:59 2012
@@ -1 +1 @@
-1412873
+1412874
Modified:
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/nlp/analyzedtext.html
==============================================================================
---
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/nlp/analyzedtext.html
(original)
+++
websites/staging/stanbol/trunk/content/docs/trunk/components/enhancer/nlp/analyzedtext.html
Fri Nov 23 13:14:59 2012
@@ -201,35 +201,39 @@
</pre></div>
-<ol>
+</li>
<li>
<p>Defined <em>Annotation</em> are used to add information to an
<em>Annotated</em> instance (like a Span). For adding annotations the use of
_Annotation_s is required to ensure type safety. The following code snippet
shows how to add an PosTag with the probability 0.95.</p>
-<p>:::java
-PosTag tag = new PosTag("N"); //a simple POS tag
-Token token; //The Token we want to add the tag
-token.addAnnotations(POS_ANNOTATION,Value.value(tag),0.95);
-3. For consuming annotations there are two options. First the possibility to
use the <em>Annotation</em> object and second by directly using the key. While
the 2nd option is not as nicely to use (as it does not provide type safety) it
allows consuming annotations without the need to have the used
<em>Annotation</em> in the classpath. The following examples show both
options</p>
-<p>:::java
-Iterator<Token> tokens = sentence.getTokens();
-while(tokens.hasNext){
- Token token = tokens.next();
- //use the POS_ANNOTATION to get the PosTag
- PosTag tag = token.getAnnotation(POS_ANNOTATION);
- if(tag != null){
- log.info("{} has PosTag {}",token,tag.value());
- } else {
- log.infor("{} has no PosTag",token);
- }
- //(2) use the key to retrieve values
- String key = "urn:test-dummy";
- Value<?> value = token.getValue(key);
- //the programmer needs to know the type!
- if(v.probability() > 0.5){
- log.info("{}={}",key,value.value());
- }
-}</p>
+<div class="codehilite"><pre><span class="n">PosTag</span> <span
class="n">tag</span> <span class="o">=</span> <span class="k">new</span> <span
class="n">PosTag</span><span class="o">(</span><span
class="s">"N"</span><span class="o">);</span> <span class="c1">//a
simple POS tag</span>
+<span class="n">Token</span> <span class="n">token</span><span
class="o">;</span> <span class="c1">//The Token we want to add the tag</span>
+<span class="n">token</span><span class="o">.</span><span
class="na">addAnnotations</span><span class="o">(</span><span
class="n">POS_ANNOTATION</span><span class="o">,</span><span
class="n">Value</span><span class="o">.</span><span
class="na">value</span><span class="o">(</span><span class="n">tag</span><span
class="o">),</span><span class="mf">0.95</span><span class="o">);</span>
+</pre></div>
+
+
</li>
-</ol>
+<li>
+<p>For consuming annotations there are two options. First the possibility to
use the <em>Annotation</em> object and second by directly using the key. While
the 2nd option is not as nicely to use (as it does not provide type safety) it
allows consuming annotations without the need to have the used
<em>Annotation</em> in the classpath. The following examples show both
options</p>
+<div class="codehilite"><pre><span class="n">Iterator</span><span
class="o"><</span><span class="n">Token</span><span class="o">></span>
<span class="n">tokens</span> <span class="o">=</span> <span
class="n">sentence</span><span class="o">.</span><span
class="na">getTokens</span><span class="o">();</span>
+<span class="k">while</span><span class="o">(</span><span
class="n">tokens</span><span class="o">.</span><span
class="na">hasNext</span><span class="o">){</span>
+ <span class="n">Token</span> <span class="n">token</span> <span
class="o">=</span> <span class="n">tokens</span><span class="o">.</span><span
class="na">next</span><span class="o">();</span>
+ <span class="c1">//use the POS_ANNOTATION to get the PosTag</span>
+ <span class="n">PosTag</span> <span class="n">tag</span> <span
class="o">=</span> <span class="n">token</span><span class="o">.</span><span
class="na">getAnnotation</span><span class="o">(</span><span
class="n">POS_ANNOTATION</span><span class="o">);</span>
+ <span class="k">if</span><span class="o">(</span><span
class="n">tag</span> <span class="o">!=</span> <span
class="kc">null</span><span class="o">){</span>
+ <span class="n">log</span><span class="o">.</span><span
class="na">info</span><span class="o">(</span><span class="s">"{} has
PosTag {}"</span><span class="o">,</span><span class="n">token</span><span
class="o">,</span><span class="n">tag</span><span class="o">.</span><span
class="na">value</span><span class="o">());</span>
+ <span class="o">}</span> <span class="k">else</span> <span
class="o">{</span>
+ <span class="n">log</span><span class="o">.</span><span
class="na">infor</span><span class="o">(</span><span class="s">"{} has no
PosTag"</span><span class="o">,</span><span class="n">token</span><span
class="o">);</span>
+ <span class="o">}</span>
+ <span class="c1">//(2) use the key to retrieve values</span>
+ <span class="n">String</span> <span class="n">key</span> <span
class="o">=</span> <span class="s">"urn:test-dummy"</span><span
class="o">;</span>
+ <span class="n">Value</span><span class="o"><?></span> <span
class="n">value</span> <span class="o">=</span> <span
class="n">token</span><span class="o">.</span><span
class="na">getValue</span><span class="o">(</span><span
class="n">key</span><span class="o">);</span>
+ <span class="c1">//the programmer needs to know the type!</span>
+ <span class="k">if</span><span class="o">(</span><span
class="n">v</span><span class="o">.</span><span
class="na">probability</span><span class="o">()</span> <span
class="o">></span> <span class="mf">0.5</span><span class="o">){</span>
+ <span class="n">log</span><span class="o">.</span><span
class="na">info</span><span class="o">(</span><span
class="s">"{}={}"</span><span class="o">,</span><span
class="n">key</span><span class="o">,</span><span class="n">value</span><span
class="o">.</span><span class="na">value</span><span class="o">());</span>
+ <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
</li>
</ol>
<p>The <em>Annotated</em> interface supports multi valued annotations. For
that it defines methods for adding/setting and getting multiple values. Values
are sorted first by the probability (unknown probability last) and secondly by
the insert order (first in first out). So calling the single value
getAnnotation() method on a multi valued field will return the first item
(highest probability and first added in case of multiple items with the same/no
probabilities)</p>