The Stanford Parser的一个例子

The Stanford Parser挺强大的,支持中英文,用了RNN等。


import java.util.Collection;
import java.util.List;

import edu.stanford.nlp.ling.CoreLabel;
import edu.stanford.nlp.ling.Sentence;
import edu.stanford.nlp.trees.*;
import edu.stanford.nlp.parser.lexparser.LexicalizedParser;

class ParserDemo {

public static void main(String[] args) {
 LexicalizedParser lp = LexicalizedParser
 .loadModel("edu/stanford/nlp/models/lexparser/xinhuaFactored.ser.gz");
 String[] sent = { "他", "和", "我", "在", "学校", "里", "常", "打", "桌球", "。" };
 List<CoreLabel> rawWords = Sentence.toCoreLabelList(sent);
 Tree parse = lp.apply(rawWords);
 parse.pennPrint();
 System.out.println();

TreebankLanguagePack tlp = lp.getOp().langpack();
 GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory();
 GrammaticalStructure gs = gsf.newGrammaticalStructure(parse);

 //Stanford dependencies in the CoNLL format
 System.out.println(GrammaticalStructure.dependenciesToString(gs,
 gs.typedDependencies(), parse, true, false));

Collection<TypedDependency> tdl = gs.allTypedDependencies();
 System.out.println(tdl);
 System.out.println();

System.out.println(parse.taggedYield());
 System.out.println();
 }

}

结果可以自己处理:
1 他 _ PN PN _ 3 conj _ _
2 和 _ CC CC _ 3 cc _ _
3 我 _ PN PN _ 8 nsubj _ _
4 在 _ P P _ 8 prep _ _
5 学校 _ NN NN _ 6 lobj _ _
6 里 _ LC LC _ 4 plmod _ _
7 常 _ AD AD _ 8 advmod _ _
8 打 _ VV VV _ 0 root _ _
9 桌球 _ NN NN _ 8 dobj _ _
10 。 _ PU PU _ 0 erased _ _

您可能也喜欢:
The Stanford Parser的一个例子_第1张图片
《The Company Man》-观感
The Stanford Parser的一个例子_第2张图片
The Sound of Silence
The Stanford Parser的一个例子_第3张图片
The Spider:一个“面向对象”的机器学习Matlab工具箱
The Stanford Parser的一个例子_第4张图片
The End of the Beginning of Active Learning

[英文] How the brain recognizes objects
无觅

你可能感兴趣的:(技术,parser,stanford)