首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Stanford NLP解析器获取依赖关系树

如何使用Stanford NLP解析器获取依赖关系树
EN

Stack Overflow用户
提问于 2012-11-20 16:03:02
回答 4查看 11.3K关注 0票数 15

如何获取依赖树,如下图所示。我可以获得纯文本形式的依赖关系,也可以借助dependencysee工具获得依赖关系图。但是,以单词为节点,以依存关系为边的依存关系树又如何呢?非常感谢!

EN

回答 4

Stack Overflow用户

发布于 2012-11-24 05:28:36

这些图形是使用GraphViz生成的,这是一个开源图形绘制包,最初来自AT&T Research。您可以在edu.stanford.nlp.trees.semgraph.SemanticGraph中找到一个方法toDotFormat(),它可以将SemanticGraph转换为dot/GraphViz可以呈现的dot输入语言格式。目前,还没有提供此功能的命令行工具,但是使用该方法非常简单。

票数 9
EN

Stack Overflow用户

发布于 2017-07-02 13:00:33

下面是你将如何做到这一点(python中的)

安装所有需要的依赖项(OS X):

代码语言:javascript
运行
复制
# assuming you have java installed and available in PATH
# and homebrew installed

brew install stanford-parser
brew install graphviz
pip install nltk
pip install graphviz

代码:

代码语言:javascript
运行
复制
import os
from nltk.parse.stanford import StanfordDependencyParser
from graphviz import Source

# make sure nltk can find stanford-parser
# please check your stanford-parser version from brew output (in my case 3.6.0) 
os.environ['CLASSPATH'] = r'/usr/local/Cellar/stanford-parser/3.6.0/libexec'

sentence = 'The brown fox is quick and he is jumping over the lazy dog'

sdp = StanfordDependencyParser()
result = list(sdp.raw_parse(sentence))

dep_tree_dot_repr = [parse for parse in result][0].to_dot()
source = Source(dep_tree_dot_repr, filename="dep_tree", format="png")
source.view()

这会导致:

我在阅读Text Analytics With Python时使用了这个:CH3,很好的阅读,如果你需要更多关于基于依赖的解析的信息,请参考。

票数 4
EN

Stack Overflow用户

发布于 2013-02-17 06:54:30

我现在正在处理类似的事情。这不是一个理想的解决方案,但它可能会有所帮助。正如在上面的回答中提到的,使用toDotFormat()以点语言获得解析树。然后使用众多工具中的一个(我使用的是python-graph)来读取该数据并将其呈现为图片。在此链接http://code.google.com/p/python-graph/wiki/Example上有一个示例

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

https://stackoverflow.com/questions/13468872

复制
相关文章

相似问题

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