java - 如何在解析树中找到节点的路径
问题描述
我使用了斯坦福解析器,得到了一个句子的解析树。如何获取每个节点的路径?
例如,这是我的解析器树:
(根
(S
(NP (PRP He))
(VP (VBD entered)
(NP (DT the) (NN door)))
(. .)))
当我输入VP时,程序给了我VP节点的路径:ROOT->S->VP;当我输入 PRP 时,程序给了我 PRP 节点的路径:ROOT->S->NP->PRP。
我对这个问题没有任何想法。确实需要你的帮助!提前致谢!
解决方案
我终于想出了解决办法。
我首先使用 DFS 到达每个节点,然后使用一种称为
路径节点到节点(节点 1,节点 2)
. 该方法来自StanfordNLP tree class
. 这是方法链接https://nlp.stanford.edu/nlp/javadoc/javanlp-3.5.0/edu/stanford/nlp/trees/Tree.html
希望这可以帮助别人。
推荐阅读
- socket.io - 将从一个 socket.io 服务器接收到的数据发送到 Web 套接字客户端
- django - 用于激活/停用管理站点的 Django 管理命令
- javascript - Wordpress 文件上传错误:加载资源失败:服务器响应状态为 404(未找到)
- java - LinearLayout 和 NestedScrollView 内的 RecyclerView - 如何滚动到某个位置的项目顶部?
- flutter - Flutter TextFormField:在输入字段左侧对齐文本描述
- git - 有没有办法将外部 git repo 导入 git 项目并仍然从那里管理它
- java - Quarkus + Kafka + Smallrye 异常处理
- excel - 检索特定数据的重复次数最多的值
- typescript - 根据任意属性名称复制值
- docker - docker-compose - 在容器 aspnet 核心内部和外部使用 localhost