Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rekkefølge på setninger i input til divvun-checker endrer på retteresultat #497

Open
unhammer opened this issue Feb 22, 2025 · 3 comments

Comments

@unhammer
Copy link
Contributor

transferred from divvun/libdivvun#83 since this is CG/disambiguator

OS: mac
divvun-checker - libdivvun version 0.3.12-alpha

Kommando: cat pussig.txt | divvun-checker -s $GTLANGS/lang-sme/tools/grammarcheckers/pipespec.xml -n smegram-dev | jq .

Om innholdet i pussig.txt er:

Min vielljat, sápmelaččat, geain leat seamma máttut, muhto leat gillán garra dálkkádaga dihtii.
Goarrunmášiinnat, láđđit, árpput, liinnit ja gággát vuovdemassii.
{
  "errs": [],
  "text": "Min vielljat, sápmelaččat, geain leat seamma máttut, muhto leat gillán garra dálkkádaga dihtii."
}
{
  "errs": [
    [
      "Goarrunmášiinnat",
      0,
      16,
      "typo",
      "Ii leat sátnelisttus",
      [
        "Goarrunmašiinnat",
        "Goarrunmášenat"
      ],
      "Čállinmeattáhus"
    ],
    [
      "vuovdemassii",
      52,
      64,
      "typo",
      "Ii leat sátnelisttus",
      [
        "vuovdimassii"
      ],
      "Čállinmeattáhus"
    ]
  ],
  "text": "Goarrunmášiinnat, láđđit, árpput, liinnit ja gággát vuovdemassii."
}

Om man endrer rekkefølgen på setningene, er resultatet:

{
  "errs": [
    [
      "Goarrunmášiinnat",
      0,
      16,
      "typo",
      "Ii leat sátnelisttus",
      [
        "Goarrunmašiinnat",
        "Goarrunmášenat"
      ],
      "Čállinmeattáhus"
    ],
    [
      "vuovdemassii",
      52,
      64,
      "typo",
      "Ii leat sátnelisttus",
      [
        "vuovdimassii"
      ],
      "Čállinmeattáhus"
    ]
  ],
  "text": "Goarrunmášiinnat, láđđit, árpput, liinnit ja gággát vuovdemassii."
}
{
  "errs": [
    [
      "vielljat",
      4,
      12,
      "real-PlNomPxSg2-PlNom",
      "Sátni šaddá eará go oaivvilduvvo",
      [
        "vieljat"
      ],
      "Čállinmeattáhus dán oktavuođas"
    ]
  ],
  "text": "Min vielljat, sápmelaččat, geain leat seamma máttut, muhto leat gillán garra dálkkádaga dihtii."
}

Om innholdet er:

Min vielljat, sápmelaččat, geain leat seamma máttut, muhto leat gillán garra dálkkádaga dihtii.
Suoivanat orro njágadeame meahcis, orro vuordime ahte muhtun galgá hástalit sin.

finner divvun-checker ingen feil i Min vielljat-setningen enten den er først eller sist.

@unhammer
Copy link
Contributor Author

Det er eit CG-problem.

Regelen ADD:real-PlNomPxSg2-PlNom (&real-PlNomPxSg2-PlNom) krev (NEGATE 0 (N Pl Nom))

https://github.com/giellalt/lang-sme/blob/1d0e6410ac7b0afabf621c9f3bf58fa112e3b82a/tools/grammarcheckers/grammarchecker.cg3#L6550

men utan setninga før, er vielljat framleis tvitydig Sg/Pl etter disambiguering:

$ echo 'Min vielljat, sápmelaččat, geain leat seamma máttut, muhto leat gillán garra dálkkádaga dihtii.'|modes/smegram10-cg.mode |grep -C
5 vielljat
"<Min>"
        "mun" Pron Sem/Hum Pers Pl1 Gen <W:0.0> <firstCohort> @>N
:
"<vielljat>"
        "viellja" N Sem/Hum Pl Nom Err/Orth <W:0.0> @SUBJ>
        "viellja" N Sem/Hum Sg Nom PxSg2 <W:0.0> @SUBJ>
"<,>"
        "," CLB <W:0.0>
:

Viss me har setninga før (eller til og med berre Goarrunmášiinnat), blir Pl-lesninga fjerna:

$ echo 'Goarrunmášiinnat. Min vielljat, sápmelaččat, geain leat seamma máttut, muhto leat gillán garra dálkkádaga dihtii.'|modes/smegram10-cg.mode |grep -C5 vielljat
:

"<Min>"
        "mun" Pron Sem/Hum Pers Pl1 Gen <W:0.0> @>N
:
"<vielljat>"
        "viellja" N Sem/Hum Sg Nom PxSg2 <W:0.0> @SUBJ>
"<,>"
        "," CLB <W:0.0>
:
"<sápmelaččat>"

albbas added a commit that referenced this issue Feb 22, 2025
These are tests that pass or fail depending on context from previous sentences, see gh-497
@lynnda-hill
Copy link
Contributor

SELECT:r2422 Nom - Err/Any IF (*-1 BOS LINK *1 Gen LINK 1C NP-HEAD-NOM LINK *1 TV)(-1 Gen)(0 N LINK NOT 0 VERB LINK *1 TV)(NEGATE 0t Err/Any);

Æ trur det er (NEGATE 0t Err/Any) som gjør det. Den er brukt mye og viktig for at vi ikkje skal velge feillesinger når det finns noen andre muligheter i samme kohorten. Men nå er æ usikker på om den gjør det den skulle gjøre.
Vi har også fått altfor mange Err/Orth regler som ødelegger grammatikkontrollreglan fordi vi plutselig får en eksplosjon av mulige analyser som vi ikkje klarer å forutsi. Grammatikkontroll skal begrense mulighetan og ikkje rette ka som helst, men det forutsetter at vi vet kosjn former det dreier seg om.

@lynnda-hill
Copy link
Contributor

Testa nå, og ja det var (NEGATE 0t Err/Any) som gjorde det.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants