Sprakbanken / grew_ndt2ud

2 stars 0 forks source link

L3 Syntax right-to-left-appos (1328) #37

Closed Ingerid closed 1 year ago

Ingerid commented 1 year ago

Mange tilfeller av apposisjon i NDT ("APP") får feil hode i UD-konverteringen.

appos skal gjelde mellom noder som kan bytte posisjon uten videre endring i setningsstrukturen, og UD velger å alltid analysere første node (til venstre) som hodet i relasjonen.

Udapi har en funksjon for å skifte hoder fra høyre til venstre:

cat filnavn.conllu | udapy -s ud.FixRightheaded > out.conllu

Her er et forslag til en grew-regel som også kan brukes:

% Hvis hodet av en APP-relasjon er til høyre for den dependente, reverseres relasjonen og innkommende skiftes til nytt hode.
rule shift_app_right_head {
  pattern {
    e: H -[ APP ]-> N;
    H >> N;
  }
  commands {
    del_edge e;
    shift_in H ==> N;
    add_edge f: N -> H;
    f.label = appos;
  }
}
Ingerid commented 1 year ago

Har lagt igjen notat-kommentar i siste commit:

https://github.com/Sprakbanken/grew_ndt2ud/commit/cc4f948348ba28b03374496998774a92041d4f29#r108915727

Ingerid commented 1 year ago

IMG_20230418_132046.jpg

IMG_20230418_123401.jpg