Author: rwesten
Date: Fri Nov 16 14:25:11 2012
New Revision: 1410359

URL: http://svn.apache.org/viewvc?rev=1410359&view=rev
Log:
STANBOL-797, STANBOL-734: Added NLP annotation for NER

Added:
    
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/ner/
    
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/ner/NerTag.java
Modified:
    stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/pom.xml
    
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/NlpAnnotations.java
    
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/model/tag/Tag.java
    
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/model/tag/TagSet.java

Modified: stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/pom.xml
URL: 
http://svn.apache.org/viewvc/stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/pom.xml?rev=1410359&r1=1410358&r2=1410359&view=diff
==============================================================================
--- stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/pom.xml 
(original)
+++ stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/pom.xml Fri 
Nov 16 14:25:11 2012
@@ -56,6 +56,7 @@
               
org.apache.stanbol.enhancer.nlp.model.annotation;version=${project.version},
               
org.apache.stanbol.enhancer.nlp.model.tag;version=${project.version},
               org.apache.stanbol.enhancer.nlp.nif;version=${project.version},
+              org.apache.stanbol.enhancer.nlp.ner;version=${project.version},
               org.apache.stanbol.enhancer.nlp.pos;version=${project.version},
               org.apache.stanbol.enhancer.nlp.pos.*;version=${project.version},
               
org.apache.stanbol.enhancer.nlp.phrase;version=${project.version},

Modified: 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/NlpAnnotations.java
URL: 
http://svn.apache.org/viewvc/stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/NlpAnnotations.java?rev=1410359&r1=1410358&r2=1410359&view=diff
==============================================================================
--- 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/NlpAnnotations.java
 (original)
+++ 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/NlpAnnotations.java
 Fri Nov 16 14:25:11 2012
@@ -11,6 +11,7 @@ import org.apache.stanbol.enhancer.nlp.m
 import org.apache.stanbol.enhancer.nlp.morpho.PersonTag;
 import org.apache.stanbol.enhancer.nlp.morpho.TenseTag;
 import org.apache.stanbol.enhancer.nlp.morpho.VerbMoodTag;
+import org.apache.stanbol.enhancer.nlp.ner.NerTag;
 import org.apache.stanbol.enhancer.nlp.phrase.PhraseTag;
 import org.apache.stanbol.enhancer.nlp.pos.PosTag;
 
@@ -25,7 +26,11 @@ public interface NlpAnnotations {
      */
     Annotation<String,PosTag> POS_ANNOTATION = new Annotation<String,PosTag>(
             "stanbol.enhancer.nlp.pos", PosTag.class);
-    
+    /**
+     * 
+     */
+    Annotation<String,NerTag> NER_ANNOTATION = new Annotation<String,NerTag>(
+            "stanbol.enhancer.nlp.ner", NerTag.class);
     
     /**
      * The Phrase {@link Annotation} added by chunker to a group of

Modified: 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/model/tag/Tag.java
URL: 
http://svn.apache.org/viewvc/stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/model/tag/Tag.java?rev=1410359&r1=1410358&r2=1410359&view=diff
==============================================================================
--- 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/model/tag/Tag.java
 (original)
+++ 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/model/tag/Tag.java
 Fri Nov 16 14:25:11 2012
@@ -42,7 +42,7 @@ public abstract class Tag<T extends Tag<
     
     @Override
     public String toString() {
-        return String.format("{} %s ", getClass().getSimpleName(), tag);
+        return String.format("%s %s ", getClass().getSimpleName(), tag);
     }
     
     @Override

Modified: 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/model/tag/TagSet.java
URL: 
http://svn.apache.org/viewvc/stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/model/tag/TagSet.java?rev=1410359&r1=1410358&r2=1410359&view=diff
==============================================================================
--- 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/model/tag/TagSet.java
 (original)
+++ 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/model/tag/TagSet.java
 Fri Nov 16 14:25:11 2012
@@ -90,8 +90,9 @@ public class TagSet<T extends Tag<T>> im
         return languages;
     }
     /**
-     * Adds an PosTag 
-     * @param tag
+     * Adds an PosTag. This will replace any existing
+     * Tag with the same {@link Tag#getTag()} value! 
+     * @param tag the tag to add to this TagSet
      */
     public void addTag(T tag){
         if(tag != null){
@@ -100,7 +101,10 @@ public class TagSet<T extends Tag<T>> im
                     + "because it is already assigned to 
"+tag.getAnnotationModel());
             }
             tag.setAnnotationModel(this);
-            tag2PosTag.put(tag.getTag(), tag);
+            T oldTag = tag2PosTag.put(tag.getTag(), tag);
+            if(oldTag != null && this.equals(oldTag.getAnnotationModel())){
+                oldTag.setAnnotationModel(null);
+            }
         }
     }
     

Added: 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/ner/NerTag.java
URL: 
http://svn.apache.org/viewvc/stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/ner/NerTag.java?rev=1410359&view=auto
==============================================================================
--- 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/ner/NerTag.java
 (added)
+++ 
stanbol/branches/stanbol-nlp-processing/enhancer/generic/nlp/src/main/java/org/apache/stanbol/enhancer/nlp/ner/NerTag.java
 Fri Nov 16 14:25:11 2012
@@ -0,0 +1,33 @@
+package org.apache.stanbol.enhancer.nlp.ner;
+
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.stanbol.enhancer.nlp.model.tag.Tag;
+
+public class NerTag extends Tag<NerTag> {
+
+    private UriRef type;
+    
+    public NerTag(String tag) {
+        super(tag);
+    }
+    public NerTag(String tag,UriRef type) {
+        super(tag);
+        this.type = type;
+    }
+
+    /**
+     * The <code>dc:type</code> of the Named Entity
+     * @return the <code>dc:type</code> of the Named Entity
+     * as also used by the <code>fise:TextAnnotation</code>
+     */
+    public UriRef getType() {
+        return type;
+    }
+    
+    @Override
+    public String toString() {
+        return type == null ? super.toString() : 
+            String.format("%s %s (type: %s)", 
getClass().getSimpleName(),tag,type);
+    }
+    
+}


Reply via email to