首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在我的java程序中集成斯坦福解析器软件?

如何在我的java程序中集成斯坦福解析器软件?
EN

Stack Overflow用户
提问于 2013-10-17 22:12:27
回答 1查看 11.1K关注 0票数 4

我必须在java中开发一个项目,它使用斯坦福解析器来分离句子,并且必须生成一个图形来显示句子中单词之间的关系。例如:俄亥俄州位于美国。输出:

该图显示了该图。但输出不必相同,但必须以图形形式显示单词之间的关系。该图可以使用Jgraph,Jung生成。但最初我必须将解析器软件集成到我的程序中。那么我如何集成一个解析器呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-17 22:42:28

  • Stanford Parser zip
  • Add jars下载到项目的构建路径(包括模型文件)
  • 使用以下代码片段解析语句并返回构成树:(可以通过检查树的结构来构建依赖树)

导入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();} }

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19429106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档