package kpi.asoiu.parsers;
import kpi.asoiu.factory.ModelFactory;
import kpi.asoiu.model.Sentence;
import kpi.asoiu.model.Text;
import opennlp.tools.sentdetect.SentenceDetectorME;
import opennlp.tools.sentdetect.SentenceModel;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
* Created by IntelliJ IDEA.
* User: Dara
* Date: 25.09.11
* Time: 16:40
*/
public class ParseText {
SentenceDetectorME sentenceDetector;
public ParseText() throws IOException {
InputStream modelIO = new FileInputStream("en-sent.bin");
SentenceModel sentenceModel = new SentenceModel(modelIO);
sentenceDetector = new SentenceDetectorME(sentenceModel);
}
public List<Sentence> parse(String inputText) {
String[] sentences = sentenceDetector.sentDetect(inputText);
ParseSentence parseSentence = ModelFactory.getInstance().getParseSentence();
Text text = new Text();
for (String sentence : sentences) {
sentence = sentence.replaceAll(",","");
text.addSentence(parseSentence.parse(sentence));
}
text.postProcess();
return text.getSentences();
}
}