我正在研究一个涉及通过霍布斯算法进行照应解析的项目。我已经使用斯坦福解析器解析了我的文本,现在我想操作节点以实现我的算法。
目前,我不明白如何:
@dhg 的答案很好,但了解以下两个其他选项可能也很有用:
-
The Tree
类工具Iterable
。您可以遍历 a 的所有节点Tree
,或者严格来说,在前序遍历中以每个节点为首的子树:
for (Tree subtree : t) {
if (subtree.label().value().equals("PRP")) {
pronouns.add(subtree);
}
}
-
您还可以通过使用来获取满足某些(可能非常复杂的模式)的节点tregex
,其行为类似于java.util.regex
通过允许树上的模式匹配。你会得到类似的东西:
TregexPattern tgrepPattern = TregexPattern.compile("PRP");
TregexMatcher m = tgrepPattern.matcher(t);
while (m.find()) {
Tree subtree = m.getMatch();
pronouns.add(subtree);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)