def _get_dependencies(self, tree, sent_len):
def rec(subtree):
if isinstance(subtree, Tree):
children = subtree.children
if len(children) == 2:
head = rec(children[0 if subtree.left_is_head else 1])
dep = rec(children[1 if subtree.left_is_head else 0])
res[dep] = head
else:
head = rec(children[0])
return head
else:
return subtree.pos
res = [-1 for _ in range(sent_len)]
rec(tree)
res = [i + 1 for i in res]
assert len(filter(lambda i:i == 0, res)) == 1
return res
评论列表
文章目录