package rainbownlp.parser;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import opennlp.tools.chunker.ChunkerME;
import opennlp.tools.chunker.ChunkerModel;
import opennlp.tools.cmdline.PerformanceMonitor;
import opennlp.tools.cmdline.postag.POSModelLoader;
import opennlp.tools.postag.POSModel;
import opennlp.tools.postag.POSSample;
import opennlp.tools.postag.POSTaggerME;
import opennlp.tools.util.InvalidFormatException;
import opennlp.tools.util.ObjectStream;
import opennlp.tools.util.PlainTextByLineStream;
import opennlp.tools.util.Span;
import opennlp.uima.tokenize.WhitespaceTokenizer;
import rainbownlp.core.Artifact;
import rainbownlp.util.HibernateUtil;
//This class will read all the training sentences and parse them and put penn tree and dependency and POS in the databse
public class GrammaticalParser {
public ArrayList<WordTag> sentenceWords = new ArrayList<WordTag>();
private String POS;
private String parseTree;
private String dependencies;
public GrammaticalParser() throws IOException
{
}
public static StanfordParser s_parser = new StanfordParser();
public static void main(String[] args) throws Exception
{
//// StanfordParser s_parser = new StanfordParser();
// //get all sentence artifact
List<Artifact> sentences =
Artifact.listByType(Artifact.Type.Sentence,true);
GrammaticalParser ph = new GrammaticalParser();
for (Artifact sentence:sentences)
{
break;
}
}
public void parseSentence(String sent)
{
if (s_parser == null)
{
s_parser = new StanfordParser();
}
s_parser.parse(sent);
//TODO put dependencies
POS = s_parser.getTagged();
dependencies = s_parser.getDependencies();
// parseTree = s_parser.getPenn();
}
public void setPOS(String pOS) {
POS = pOS;
}
public String getPOS() {
return POS;
}
public void setParseTree(String parseTree) {
this.parseTree = parseTree;
}
public String getParseTree() {
return parseTree;
}
public void setDependencies(String dependencies) {
this.dependencies = dependencies;
}
public String getDependencies() {
return dependencies;
}
private static class WordTag{
public String content;
public String POS;
public int offset;
public WordTag() {
// TODO Auto-generated constructor stub
}
}
}