我必须在java中开发一个项目,它使用斯坦福解析器来分离句子,并且必须生成一个图形来显示句子中单词之间的关系。例如:俄亥俄州位于美国。输出:
该图显示了该图。但输出不必相同,但必须以图形形式显示单词之间的关系。该图可以使用Jgraph,Jung生成。但最初我必须将解析器软件集成到我的程序中。那么我如何集成一个解析器呢?
发布于 2013-10-17 22:42:28
导入edu.stanford.nlp.parser.lexparser.LexicalizedParser;;导入edu.stanford.nlp.process.CoreLabelTokenFactory;;导入edu.stanford.nlp.ling.CoreLabel;导入edu.stanford.nlp.process.TokenizerFactory;导入edu.stanford.nlp.process.PTBTokenizer;导入edu.stanford.nlp.process.Tokenizer;导入edu.stanford.nlp.trees.Tree;类解析器{ private final static String PCG_MODEL =private私有最终TokenizerFactory tokenizerFactory =PTBTokenizer.factory(新CoreLabelTokenFactory(),"invertible=true");私有最终LexicalizedParser解析器= LexicalizedParser.loadModel(PCG_MODEL);公共树解析(字符串字符串){列表标记=标记化(字符串);树形树=parser.apply(标记);返回树;}私有列表标记化( String str) { Tokenizer tokenizer = tokenizerFactory.getTokenizer( new StringReader( str );return tokenizer.tokenize();} public static void main(String[] args) {String str=“我的狗也喜欢吃香肠。”;解析器解析器= new解析器();树形树= parser.parse(str);列表叶子= tree.getLeaves();//打印(树叶:叶子)的单词和位置标签{树父=leaf.parent(树);System.out.print(leaf.label().value() + "-“+ parent.label().value() +”");} System.out.println();} }
https://stackoverflow.com/questions/19429106
复制相似问题