Experiments on datasets from the CoNLL-X and CoNLL-XI shared tasks show that a non-monotonic dynamic oracle outperforms the monotonic version in the majority of languages.
1: function LOSS(c = λ1|i, λ2, j|B, A , tG) 2: if j > right ∨ 7: (j = right ∧ i < left) then 8: U ← u ∪ {x → y} 9: I ← tG \ U Variable I is for I(c, tG) 10: depending on the upper bound implemented, and will return 0 in case we use the lower bound.