added NER base class
[pnews.git] / war / src / main / java / pnews / NER.java
diff --git a/war/src/main/java/pnews/NER.java b/war/src/main/java/pnews/NER.java
new file mode 100644 (file)
index 0000000..2868239
--- /dev/null
@@ -0,0 +1,31 @@
+package pnews;
+
+import java.io.IOException;
+import java.util.List;
+
+import edu.stanford.nlp.ie.crf.CRFClassifier;
+import edu.stanford.nlp.ling.CoreAnnotations.AnswerAnnotation;
+import edu.stanford.nlp.ling.CoreLabel;
+
+/** https://stanfordnlp.github.io/CoreNLP/api.html */
+public class NER {
+        public static void classify(String str) throws ClassCastException, ClassNotFoundException, IOException {
+                CRFClassifier<CoreLabel> classifier;
+                List<List<CoreLabel>> out;
+                String cat, w;
+                
+                classifier = CRFClassifier.getDefaultClassifier();
+                out = classifier.classify(str);
+                
+                for (List<CoreLabel> labels: out)
+                        for (CoreLabel l: labels) {
+                                cat = l.getString(AnswerAnnotation.class);
+                                w = l.word();
+                                System.out.println(cat + " " + w);
+                        }
+        }
+        
+        public static void main(String[] args) throws Exception {
+                classify("I live in Washington.");
+        }
+}
\ No newline at end of file