You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have repeatedly encountered the following situation: A small change is needed for a batch of nodes, such as changing the DEPREL (or both the HEAD and the DEPREL) for a node that satisfies a condition. Typically I do it directly from the commandline, using udapy -s util.Eval node='if CONDITION: node.parent = X; node.deprel = Y'. Now if the treebank contains enhanced dependencies, the same change should (typically) be also made in the enhanced graph. I usually forget to do it properly but when I want to do it, it is not as simple as the change in the basic tree. I wrote the code below in some of my blocks where I had to do it but I don't like having to repeat the code in several blocks again and again, and can hardly use it in util.Eval from commandline:
defreattach(self, node, parent, deprel):
""" Changes the incoming dependency relation to a node. Makes sure that the same change is done in the basic tree and in the enhanced graph. """ifnode.deps:
# If the enhanced graph contains the current basic relation, remove it.# Note that the enhanced deprel may contain subtypes that are not in the basic deprel.orig_n_deps=len(node.deps)
node.deps= [xforxinnode.depsifx['parent'] !=node.parentorre.sub(r':.*', '', x['deprel']) !=node.udeprel]
# Add the new basic relation to the enhanced graph only if the original one was there.iflen(node.deps) <orig_n_deps:
node.deps.append({'parent': parent, 'deprel': deprel})
node.parent=parentnode.deprel=deprel
Would it make sense to have something similar in the core code, as a method of Node?
The text was updated successfully, but these errors were encountered:
I have repeatedly encountered the following situation: A small change is needed for a batch of nodes, such as changing the DEPREL (or both the HEAD and the DEPREL) for a node that satisfies a condition. Typically I do it directly from the commandline, using
udapy -s util.Eval node='if CONDITION: node.parent = X; node.deprel = Y'
. Now if the treebank contains enhanced dependencies, the same change should (typically) be also made in the enhanced graph. I usually forget to do it properly but when I want to do it, it is not as simple as the change in the basic tree. I wrote the code below in some of my blocks where I had to do it but I don't like having to repeat the code in several blocks again and again, and can hardly use it in util.Eval from commandline:Would it make sense to have something similar in the core code, as a method of Node?
The text was updated successfully, but these errors were encountered: