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);
+ }
+
+}