added NER base class
authorJean-Philippe Orsini <orsinije@fr.ibm.com>
Sat, 21 Oct 2017 00:31:43 +0000 (02:31 +0200)
committerJean-Philippe Orsini <orsinije@fr.ibm.com>
Sat, 21 Oct 2017 00:31:43 +0000 (02:31 +0200)
war/pom.xml
war/src/main/java/pnews/NER.java [new file with mode: 0644]

index d038cd3..76e68c6 100644 (file)
                         <artifactId>gson</artifactId>
                         <version>2.8.2</version>
                 </dependency>
+                <dependency>
+                        <groupId>edu.stanford.nlp</groupId>
+                        <artifactId>stanford-corenlp</artifactId>
+                        <version>3.8.0</version>
+               </dependency>
+                <dependency>
+                        <groupId>edu.stanford.nlp</groupId>
+                        <artifactId>stanford-corenlp</artifactId>
+                        <version>3.8.0</version>
+                        <classifier>models</classifier>
+                </dependency>
         </dependencies>
 </project>
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