如何在解析树中查找节点的路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在解析树中查找节点的路径相关的知识,希望对你有一定的参考价值。

我使用斯坦福解析器并得到一个句子的解析树。我怎样才能获得每个节点的路径?

例如,这是我的解析器树:

(根

(S

(NP (PRP He))
(VP (VBD entered)
  (NP (DT the) (NN door)))
(. .)))

当我输入VP时,程序给我VP节点的路径:ROOT-> S-> VP;当我输入PRP时,程序给出了PRP节点的路径:ROOT-> S-> NP-> PRP。

我对这个问题没有任何想法。需要你的帮助!提前致谢!

答案

我终于找到了解决方案。

我首先使用DFS到达每个节点,然后使用一个名为的方法

pathNodeToNode(node1,node2)

。这种方法来自StanfordNLP tree class。这是方法链接https://nlp.stanford.edu/nlp/javadoc/javanlp-3.5.0/edu/stanford/nlp/trees/Tree.html

希望这可以帮助别人。

以上是关于如何在解析树中查找节点的路径的主要内容,如果未能解决你的问题,请参考以下文章

查找 2 个树节点之间的路径

c语言中如何获取树中所有叶子节点的路径

十五:查找二叉树中所有路径

使用C在搜索二叉树中查找最长路径

数据结构与算法之深入解析“二叉树中的最长交错路径”的求解思路与算法示例

数据结构与算法之深入解析“二叉树中的列表”的求解思路与算法示例