Example #1
0
  /** ************************************************************* */
  public static ArrayList<String> extractEntities(String infile) throws IOException {

    ArrayList<String> result = new ArrayList<String>();
    Process _nlp;
    BufferedReader _reader;
    BufferedWriter _writer;
    BufferedReader _error;
    String stanfordCore = "/home/apease/Programs/stanford-ner-2014-10-26";
    String newcore = KBmanager.getMgr().getPref("stanford-ner");
    if (!StringUtil.emptyString(newcore)) stanfordCore = newcore;
    String execString =
        "/home/apease/Programs/java/jdk1.8.0_25/bin/java -mx700m "
            + "-classpath "
            + stanfordCore
            + "/stanford-ner.jar "
            + "edu.stanford.nlp.ie.crf.CRFClassifier "
            +
            //                 "-loadClassifier
            // /home/apease/Programs/stanford-ner-2014-10-26/classifiers/english.all.3class.distsim.crf.ser.gz " +
            //                 "-loadClassifier
            // /home/apease/Programs/stanford-ner-2014-10-26/classifiers/english.nowiki.3class.distsim.crf.ser.gz " +
            //                 "-loadClassifier
            // /home/apease/Programs/stanford-ner-2014-10-26/classifiers/english.conll.4class.distsim.crf.ser.gz " +
            "-loadClassifier "
            + stanfordCore
            + "/classifiers/english.muc.7class.distsim.crf.ser.gz "
            + "-textFile "
            + infile;
    System.out.println("INFO in NER.extractEntities(): executing: " + execString);
    _nlp = Runtime.getRuntime().exec(execString);
    _reader = new BufferedReader(new InputStreamReader(_nlp.getInputStream()));
    _error = new BufferedReader(new InputStreamReader(_nlp.getErrorStream()));
    // System.out.println("INFO in NER.extractEntities(): initializing process");
    String line = null;
    while (true) {
      line = _reader.readLine();
      System.out.println(line);
      if (line == null) break;
      result.add(line);
    }
    _writer = new BufferedWriter(new OutputStreamWriter(_nlp.getOutputStream()));

    return result;
  }