giellalt / lang-sma

Finite state and Constraint Grammar based analysers and proofing tools, and language resources for the Southern Sami language
https://giellalt.uit.no
GNU General Public License v3.0
2 stars 3 forks source link

Omorganisering i src/ har gjort stavekontrollen ubrukbar #22

Closed snomos closed 7 months ago

snomos commented 9 months ago

make check feilar på testen test/tools/spellcheckers/fstbased/desktop/hfst/accept-all-lemmas.sh, og det visar seg at ingen lemma blir kjent att av stavekontrollen. Eg mistenkjer at det har kome etter omorganiseringa av src-katalogen. Lemmaa blir godkjente av den vanlege norm-analysatoren, det er berre stavekontrolldelen som feilar.

Kan du sjå på det, @flammie ?

Eg har berre sjekka SMA, det kan ev gjelda andre språk òg.

./configure --enable-spellcheckers
make -j
make check

@albbas og @mka055 til info

flammie commented 9 months ago

på linux ser det ut som PASS:

make  check-TESTS
make[1]: Verzeichnis „/home/flammie/github/giellalt/lang-sma/test/tools/spellcheckers/fstbased/desktop/hfst“ wird betreten
/bin/grep: advarsel: løs \ før !
/bin/grep: advarsel: løs \ før @
/bin/grep: /bin/grep: advarsel: løs \ før /advarsel: løs \ før /

/bin/grep: advarsel: løs \ før !
PASS: accept-all-lemmas.sh
=============
1 test passed
=============
make[1]: Verzeichnis „/home/flammie/github/giellalt/lang-sma/test/tools/spellcheckers/fstbased/desktop/hfst“ wird verlassen

det var en bug i extract-lemmas.sh om ä fikser den så får æ noen ekte feil, kanskje det fungerte betre med mac allerede:

cat rejected_lemmas.txt 
"a-a" is NOT in the lexicon:
"aah" is NOT in the lexicon:
"aah’la" is NOT in the lexicon:
"aaho-o-o" is NOT in the lexicon:
"aarh" is NOT in the lexicon:
"aash" is NOT in the lexicon:
"aassede" is NOT in the lexicon:
"aassh" is NOT in the lexicon:
"aavh" is NOT in the lexicon:
"ae" is NOT in the lexicon:
"aeh" is NOT in the lexicon:
"aelties" is NOT in the lexicon:
"aha" is NOT in the lexicon:
"ahoo" is NOT in the lexicon:
"assh" is NOT in the lexicon:
"au" is NOT in the lexicon:
"baakoej mietie" is NOT in the lexicon:
"bijp" is NOT in the lexicon:
"brr" is NOT in the lexicon:
"bruum" is NOT in the lexicon:
"bæ" is NOT in the lexicon:
"bæda" is NOT in the lexicon:
"bæææ" is NOT in the lexicon:
"bæææææ" is NOT in the lexicon:
"bæææææææ" is NOT in the lexicon:
"daan raajan" is NOT in the lexicon:
"daen åvteli" is NOT in the lexicon:
"debpelen dahkoe" is NOT in the lexicon:
"dee" is NOT in the lexicon:
"dehtie minngede" is NOT in the lexicon:
"dennie mieresne" is NOT in the lexicon:
"dibpie" is NOT in the lexicon:
"dogh" is NOT in the lexicon:
"dunk" is NOT in the lexicon:
"dåll" is NOT in the lexicon:
"ehh" is NOT in the lexicon:
"em" is NOT in the lexicon:
"esjh" is NOT in the lexicon:
"eske" is NOT in the lexicon:
"fïerhten asken" is NOT in the lexicon:
"fïerhten jaepien" is NOT in the lexicon:
...

osv.

snomos commented 9 months ago

No har eg fiksa ein feil til i extract-lemmas.sh, slik at alle lemma blir trekte ut, og ikkje berre ein delmengde.

For SMA så har eg òg lagt til nokre filer til i kjeldefillista for testinga, slik at så godt som alle lemma no blir testa (over 90k).

ALLE lemma blir avviste. Så det er noko mystisk med heile stavekontrollen.

flammie commented 9 months ago
$ wc -l test/tools/spellcheckers/fstbased/desktop/hfst/rejected_lemmas.txt 
627 test/tools/spellcheckers/fstbased/desktop/hfst/rejected_lemmas.txt
$ wc -l test/tools/spellcheckers/fstbased/desktop/hfst/filtered-lemmas.txt 
90464 test/tools/spellcheckers/fstbased/desktop/hfst/filtered-lemmas.txt

ä husker at det var noen issue med feil i bygging av vekting og alt på mac men finner den ikke, kanskje det er nånting mer igjen.

flammie commented 9 months ago
./configure --enable-spellcheckers

om det er en sånn skrivefeik på --enable-spellers det kan skje at zhfst er feil / tom og blir ikke rekompilert men test skulle også ikke kjöres automatiskt hvis man ikke tvinger den til eksempel med make check TESTS=generate-all-lemmas.sh...

snomos commented 7 months ago

Skrivefeilen var her i GH Issues, ikkje på kommandolina. Så det er ikkje det som er problemet. Problemet er at FST-en er snudd opp ned:

hfst-fst2fst -t acceptor.default.hfst| hfst-fst2strings -r 20
Divvun speller for Southern Sami
sma, desktop, version 4.4.0, 24.08.2023-1031
+6.38+N+Coll+Arab+Pl+Ine
nannoes+v1+A+Sg+Ill
©+N+Symbol
●+N+Symbol
TV+v2+N+Sem/Obj-el+ACR+Sg+Ine
galphabet+N+Sem/Sign+ABBR+Gram/TAbbr+Pl+Ela
lalphabet+N+Sem/Sign+ABBR+Gram/TAbbr+Sg+Ine
oalphabet+N+Sem/Sign+ABBR+Gram/TAbbr+Pl+Ine
snaare+A+Attr+Der2+Der/vuota+N+Ess+Foc/gænnah
veatodh+V+TV+Der3+Der/PassL+V+IV+Ind+Prs+Du1+Foc/gænnah
Tufte+N+Prop+Sem/Sur+Sg+Acc+Foc/gænnah
mehkie+N+Prop+Sem/Plc+Sg+Com+Foc/ge
Üsküdar+N+Prop+Sem/Sur+Sg+Ill+Foc/gan
-41–+Num+Arab+Sg+Ela
Ï+N+Use/SpellNoSugg+ABBR+Gram/TAbbr+Pl+Ine
KČHČ+Use/SpellNoSugg+N+Prop+Sem/Org+ACR+Dyn+Pl+Gen
rijse+N+Sem/Dummytag+v2+Cmp/SgNom+Cmp/Hyph+Cmp79.–72+A+Arab+Ord+Sg+Ill
ålkoelaante+N+Sem/Plc+Cmp/PlGen+Cmp/SplitR+Use/SpellNoSugg+Cmp

Dvs at vi har analysedelen som akseptor, ikkje overflateformene, og dermed så går sjølvsagt all sjekking rett vest. Eg har enno ikkje funne ut kor snuinga går feil.

snomos commented 7 months ago

Feilen går heilt tilbake til den fyrste stavekontroll-analysatoren som blir laga (det er fleire som blir laga etter kvarandre, oig som byggjer på kvarandre), jf:

hfst-fst2strings -r 10 analyser-speller-gt-norm.hfst       
0+Use/SpellNoSuggd+Num+Arab+Sg+Ill+Attr:0d
4+Num+Cmp/Hyph+Cmp#rånhtjoeh+A+Cmp/Attr+Cmp/Hyph+Cmp#BVÁV+Use/SpellNoSugg+N+Prop+Sem/Org+ACR+Dyn+Pl+Nom:4-∑#strånhtjoe>h-∑#BVÁV>:h
balphabet+N+Sem/Sign+ABBR+Cmp/Hyph+Cmp#lea+V+IV+Imprt+Sg2+Foc/gih:B-∑#leah|»gih
zalphabet+N+Sem/Sign+ABBR+Gram/TAbbr+Attr:Z.
dïhte+Pron+Pers+Sg+Ill+PxSg3:altasasse
šalphabet+N+Sem/Sign+ABBR+Gram/TAbbr+Sg+Nom:Š.
£+N+Symbol+Sg+Nom:£
²+Num+Arab:²
ä+Use/SpellNoSugg+CmpNP/First+N+Sem/Sign+ABBR+Gram/TAbbr+Sg+Acc:ä
●+N+Symbol:●

echo altasasse | hfst-lookup -q analyser-speller-gt-norm.hfst 
altasasse   altasasse+? inf

echo altasasse | hfst-lookup -q generator-speller-gt-norm.hfst 
altasasse   dïhte+Pron+Pers+Sg+Ill+PxSg3    0.000000

Eg ser enno ikkje kor feilen kjem frå.

flammie commented 7 months ago

har fiksa en feil i local makefile med gammel mappe til fst kanskje den var den? https://github.com/giellalt/lang-sma/commit/57346a3c78d557fcbe756bfee64021c5d210b53a

snomos commented 7 months ago

Fint! No har eg fiksa litt fleire feil, mest i SMA, så no går testen gjennom. Problemet med inverterte FST-ar var ein kombinasjon av lokale byggjereglar for SMA og oppsettet i giella-core. Det kan vera andre språk som må justerast for at ting skal bli riktig.

Uansett, SMA er i boks, så eg avsluttar denne saka.