我为我的场景创建了一个接受文本输入的依赖图。
SemanticGraph dependencies = sentence.get(CollapsedCCProcessedDependenciesAnnotation.class);
我成功获得了#34; num"使用以下代码修饰符依赖:
List<SemanticGraphEdge> edgesContainingNumModifierDependency = dependencies.findAllRelns(GrammaticalRelation.valueOf("num"));
但是,我想找到与&#34; root&#34;相关的边缘。因此,以下
List<SemanticGraphEdge> edgesContainingRootModifierDependency = dependencies.findAllRelns(GrammaticalRelation.valueOf("root"));
似乎不起作用。
任何人都可以解释原因吗?我如何才能获得根的优势?
答案 0 :(得分:1)
我们实际上并不在根词和虚拟SemanticGraphEdge
节点之间存储ROOT
。 (您可以看到在面向公众的方法like toList
中手动添加依赖关系。)
来自SemanticGraph
documentation:
根目前不表示为图中的顶点。目前,您需要从单独的根变量中获取根/根并了解它。这可能会被更改,因为否则,只需从图中获取节点或边集就不会为您提供根节点或边。
但是,您可以使用SemanticGraph#getFirstRoot
获得所需内容。