package com.parser;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import edu.stanford.nlp.process.DocumentPreprocessor;
import edu.stanford.nlp.ling.HasWord;
import edu.stanford.nlp.trees.*;
import edu.stanford.nlp.parser.lexparser.LexicalizedParser;
public class StanfordParserDemo1 {
private StanfordParserDemo1() {} // static methods only
public static void main(String[] args) {
String parserModel = "edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz";
LexicalizedParser lp = LexicalizedParser.loadModel(parserModel);
String textFile = "F:\\sufang\\text.txt";
demoDP(lp, textFile);
}
public static void demoDP(LexicalizedParser lp, String filename) {
TreebankLanguagePack tlp = lp.treebankLanguagePack(); // a PennTreebankLanguagePack for English
GrammaticalStructureFactory gsf = null;
if (tlp.supportsGrammaticalStructures()) {
gsf = tlp.grammaticalStructureFactory();
}
for (List<HasWord> sentence : new DocumentPreprocessor(filename)) {
Tree parse = lp.apply(sentence);
//parse.pennPrint();
//System.out.println();
if (gsf != null) {
GrammaticalStructure gs = gsf.newGrammaticalStructure(parse);
Collection tdl = gs.typedDependenciesCCprocessed();
Iterator iter = tdl.iterator();
while(iter.hasNext()){
System.out.println(iter.next() + " ");
}
//System.out.println(tdl);
//System.out.println();
}
System.out.println("----------------------------------------");
}
}
}
StanfordParser 对文本文件进行句法分析
最新推荐文章于 2021-02-25 02:16:31 发布