All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.stanford.nlp.parser.common.ParsingThreadsafeProcessor Maven / Gradle / Ivy

Go to download

Stanford Parser processes raw text in English, Chinese, German, Arabic, and French, and extracts constituency parse trees.

There is a newer version: 3.9.2
Show newest version
package edu.stanford.nlp.parser.common;

import java.io.PrintWriter;
import java.util.List;

import edu.stanford.nlp.ling.HasWord;
import edu.stanford.nlp.util.concurrent.ThreadsafeProcessor;

/**
 * Takes a sentence and returns a ParserQuery with the given sentence parsed.  
 * Can be used in a MulticoreWrapper.
 *
 * @author John Bauer
 */
public class ParsingThreadsafeProcessor implements ThreadsafeProcessor, ParserQuery> {
  ParserGrammar pqFactory;
  PrintWriter pwErr;

  public ParsingThreadsafeProcessor(ParserGrammar pqFactory) {
    this(pqFactory, null);
  }

  public ParsingThreadsafeProcessor(ParserGrammar pqFactory, PrintWriter pwErr) {
    this.pqFactory = pqFactory;
    this.pwErr = pwErr;
  }

  @Override
  public ParserQuery process(List sentence) {
    ParserQuery pq = pqFactory.parserQuery();
    if (pwErr != null) {
      pq.parseAndReport(sentence, pwErr);
    } else {
      pq.parse(sentence);
    }
    return pq;
  }

  @Override
  public ThreadsafeProcessor, ParserQuery> newInstance() {
    // ParserQueryFactories should be threadsafe
    return this;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy