X-Git-Url: https://git.wpitchoune.net/gitweb/?p=pnews.git;a=blobdiff_plain;f=war%2Fsrc%2Fmain%2Fjava%2Fpnews%2FNER.java;h=274586869bcf68b6034d17fcb5c38e51fb728343;hp=bcb8951fb6904a02db5b2c6d42ef608134cb8ced;hb=63c2717409a3235573418e6bc0d9bd0fae8356e4;hpb=7e7f5169cbba419822c4fd7e05a85e81972a9fd6 diff --git a/war/src/main/java/pnews/NER.java b/war/src/main/java/pnews/NER.java index bcb8951..2745868 100644 --- a/war/src/main/java/pnews/NER.java +++ b/war/src/main/java/pnews/NER.java @@ -6,19 +6,14 @@ import java.util.List; import java.util.logging.Logger; import edu.stanford.nlp.ie.crf.CRFClassifier; -import edu.stanford.nlp.ling.CoreLabel; +import edu.stanford.nlp.util.CoreMap; import edu.stanford.nlp.util.Triple; /** https://stanfordnlp.github.io/CoreNLP/api.html */ public class NER { private static final String CLASS_NAME = NER.class.getName(); private static final Logger LOG = Logger.getLogger(CLASS_NAME); - private static final ThreadLocal> classifier = new ThreadLocal>() { - @Override - protected CRFClassifier initialValue() { - return CRFClassifier.getDefaultClassifier(); - } - }; + private static final CRFClassifier classifier = CRFClassifier.getDefaultClassifier(); public static List classify(String str, List entities) throws ClassCastException, ClassNotFoundException, IOException { @@ -31,18 +26,20 @@ public class NER { OpenNLP.classify(str, entities); synchronized (classifier) { - triples = classifier.get().classifyToCharacterOffsets(str); - for (Triple t: triples) { - w = str.substring(t.second, t.third); - if (!entities.contains(w)) - entities.add(w); - } + triples = classifier.classifyToCharacterOffsets(str); + } + + for (Triple t: triples) { + w = str.substring(t.second, t.third); + if (!entities.contains(w)) + entities.add(w); } entities.remove("CNET"); entities.remove("Read More"); entities.remove("New"); entities.remove("App"); + entities.remove("Digital Trends"); LOG.exiting(CLASS_NAME, FUNCTION_NAME, entities);