Skip to content
Snippets Groups Projects

Enhanced dependency parsing

Merged Mateusz Klimaszewski requested to merge enhanced_dependency_parsing into develop
Viewing commit 8e09e336
Show latest version
2 files
+ 29
0
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 27
0
@@ -85,3 +85,30 @@ def _dfs(graph, start, end):
if next_state in path:
continue
fringe.append((next_state, path + [next_state]))
def restore_collapse_edges(tree_tokens):
empty_tokens = []
for token in tree_tokens:
deps = token["deps"].split("|")
for i, d in enumerate(deps):
if ">" in d:
# {head}:{empty_node_relation}>{current_node_relation}
# should map to
# For new, empty node:
# {head}:{empty_node_relation}
# For current node:
# {new_empty_node_id}:{current_node_relation}
# TODO consider where to put new_empty_node_id (currently at the end)
head, relation = d.split(':', 1)
ehead = f"{len(tree_tokens)}.{len(empty_tokens) + 1}"
empty_node_relation, current_node_relation = relation.split(">", 1)
deps[i] = f"{ehead}:{current_node_relation}"
empty_tokens.append(
{
"id": ehead,
"deps": f"{head}:{empty_node_relation}"
}
)
token["deps"] = "|".join(deps)
return empty_tokens