如何在python中操作'dot'图形

如何在python中操作'dot'图形,python,graph,nlp,dot,Python,Graph,Nlp,Dot,Stanford dependency parser以dot格式生成一个图,如下所示 “约翰是一位计算机科学家” 我想找到像计算机和科学家这样的术语,并将它们组合成一个词。我已经有了代码,可以告诉我要组合哪些术语。然而,我无法在图形中找到这样的术语,并结合起来生成一个dot格式输出。我研究了Graphviz,它可以创建新的图形、打印和保存文件,但我找不到一种搜索节点并将它们合并的方法。我该怎么做 PS:我看了一下,但是,它不支持读取dot格式。我还发现了图形工具,我认为对于像这样的简单任务来说,

Stanford dependency parser以
dot
格式生成一个图,如下所示

“约翰是一位计算机科学家”

我想找到像
计算机
科学家
这样的术语,并将它们组合成一个词。我已经有了代码,可以告诉我要组合哪些术语。然而,我无法在图形中找到这样的术语,并结合起来生成一个
dot
格式输出。我研究了
Graphviz
,它可以创建新的图形、打印和保存文件,但我找不到一种搜索节点并将它们合并的方法。我该怎么做


PS:我看了一下,但是,它不支持读取
dot
格式。我还发现了
图形工具
,我认为对于像这样的简单任务来说,这是一个非常繁重的工具。(它的一个依赖项本身约为200MB)。即使在NetworkX文档中,我也无法找到任何方法来搜索具有特定标签的节点

不清楚你在找什么。如果要将点文件导入图形,请特别关注NetworkX

不清楚你在找什么。如果要将点文件导入图形,请特别关注NetworkX

正如我所说,我想从我的图中找到特定的术语,在本例中,是一个包含“Computer”的节点,并对它们进行修改。我已经使用Graphviz导入了点,但是,使用Graphviz我无法修改图形。使用NetworkX和PyDot,您可以像这样读取点文件:
G=nx.read_dot(myfile)
。然后可以这样组合节点:
G2=nx.contracted_节点(g,“computer”,“scientist”)
。不过,您应该将您使用的代码放到现在,或者告诉我们您为什么“无法修改图形”。我明白你们的问题,但我需要一些技术细节。正如我所说的,我想从我的图中找到特定的术语,在这个例子中,一个包含“计算机”的节点,并修改它们。我已经使用Graphviz导入了点,但是,使用Graphviz我无法修改图形。使用NetworkX和PyDot,您可以像这样读取点文件:
G=nx.read_dot(myfile)
。然后可以这样组合节点:
G2=nx.contracted_节点(g,“computer”,“scientist”)
。不过,您应该将您使用的代码放到现在,或者告诉我们您为什么“无法修改图形”。我明白你的问题,但我需要一些技术细节。
digraph G{
edge [dir=forward]
node [shape=plaintext]

0 [label="0 (None)"]
0 -> 5 [label="root"]
1 [label="1 (John)"]
2 [label="2 (is)"]
3 [label="3 (a)"]
4 [label="4 (Computer)"]
5 [label="5 (Scientist)"]
5 -> 2 [label="cop"]
5 -> 4 [label="compound"]
5 -> 3 [label="det"]
5 -> 1 [label="nsubj"]
}