Okos(abb) magyar helyesírás-ellenőrzés

 ( nemethl | 2018. február 28., szerda - 14:05 )

Jó hír az írással napi szinten foglalkozók számára, hogy a LibreOffice következő nagyobb kiadása már nem jelez helyesírási hibát a különleges, de amúgy helyesírásilag tökéletes szóalakokra.

Ilyen a fenti címben szereplő „okos(abb)”, ahol az „abb”-ot a program (hasonlóan pl. a Microsoft Office-hoz) idáig aláhúzta. Mostantól csak akkor, ha a zárójelek nélküli szóalak (itt: „okosabb”) valóban hibás.

A magyar szótördelési algoritmus és a helyesírási szótár javítása a következő alakok helyes kezelését tette lehetővé:

  • a ragozott zárójeles számok: (1)-nek, [2]-ben;
  • a szavakon belüli zárójelezés: „oldal(ak)”, kell(ene);
  • a megváltozott méretet jelölő kapcsos zárójeles kezdőbetű az idézetekben: „[A]zt” és „[a]mazt”;
  • idézőjeles címek toldalékolása: „A jedi visszatér”-ben, a „Tisza”-ban (a helyes toldalékot jelezte hibásnak a program);
  • kérdőjeles és felkiáltójeles nevekben: Yahoo!-ról, Ki nevet a végén?-ből

Kapcsolódó hibajegy: tdf#116072.

L. még magyar nyelvi fejlesztések az FSF.hu Alapítvány támogatásával.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

A hír hosszabb, mint a 6 soros LibreOffice folt, és a ~4 sor változtatás a szótárban, mivel köszönhetően az eredetileg az arab és héber nyelv számára kifejlesztett Hunspell-lehetőségnek, még a zárójelek törlésére sem kellett külön kódot írni a Hunspell helyesírás-ellenőrzőben:

https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=3cc58a5904604f0f2e9977a9508bab02518122ad

https://gerrit.libreoffice.org/gitweb?p=dictionaries.git;a=commitdiff;h=2b7711678410bc531e9d07b4d6f85bfb85f2116a

Gratulálok
Hasznos funkció

www.neurology.hu

.tex-forráskódo(ka)t szeretnék végigtolni a hunspellen.
Alapvetően Geany editort használok, parancssorban nincs sok tapasztalatom helyesírás ellenőrzése terén.

Ha így használom:

    hunspell -d hu_HU valami.tex

akkor jó eredményt érek el?

-------
# hunspell --version
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.3)
(forrásból telepítve)

Kiegészítő kérdés:
hogyan lehet a legnagyobb szókészletet előállítani ahhoz, hogy mondjuk a ,,vízirendőrség'' szó helyett ne javasoljon a rendszer mást?

Igen, ha a --with-ui (plusz --with-readline) opcióval van fordítva a Hunspell.

Egyébként a hibás szavak kiírása működik csak:

cat *.tex | hunspell -d hu_HU -t -l

(A legfrissebb kód (https://github.com/hunspell/hunspell) kiírja a fájlnevet is, ha így van indítva az ellenőrzés:

hunspell -d hu_HU -l *.tex
valami.tex: hibuci
...)

A kiegészítő kérdés, ha jól értem, a szótárépítésre vonatkozik. Ha van (jó sok) dokumentum, amely többé-kevésbé ellenőrzöttnek tekinthető, abból egyszerűen csinálhatunk egy saját szótárat a többi dokumentum ellenőrzéséhez:

hunspell -d hu_HU -l *.tex *.odt *.html *.xml | sort | uniq >szotaram.txt

(Ha az az XML mondjuk a magyar Wikipédia dumpja, akkor máris kapunk egy szép nagy szótárat, igaz, toldalékolás nélkül. A szótárépítésnél sajnos a Hunspell még nem próbálja automatikusan osztályozni a szavakat, de ez a fejlesztés is tervbe van véve.)

Majd használjuk a szótárat, mondjuk a magyar és angol szótárral együtt, hogy az angol szavakat se jelezze hibának a program a dokumentumunkban:

hunspell -p szotaram.txt -d hu_HU,en_US dokumentumok.tex

(A „vízi rendőrség” egyébként nem írható egybe a magyar helyesírási szabályok szerint, ezért nem fogadja el a magyar szótár.)

...már fordítanám is, csak sem az autorecont, sem a make nem fogadja el a kapcsolót:

# make --with -ui
make: unrecognized option '--with'
make: invalid option -- 'u'
------
...aztán rájöttem, hogy még nem ittam kávét:
autorevonf -vfi
,/configure --with-ui
make
...és jó :-)

A fájlnevek kiírása hasznos, főleg ha több fájllal dolgozik az ember.

Az összetett szavak ellenőrzése -- ha jól értelmezem -- csak akkor működhet, ha már vannak összerakott toldalékmentes szavak.

A ,,vízirendőrség'' ill. ,,vízirendészet'' szavak előszeretettel vannak használva a hatósági honlapokon, hiába téves, így magam is bizonytalan vagyok, mi helyes és mi nem. Bár élénk tiltakozásom van a ,,tűzcsap'' és a ,,katasztrófavédelem'' szavak ellen is, mert összeegyeztethetetlen számomra pl. a vízcsap és a természetvédelem szavakkal, melyek rendes logikát követnek.

Szavak gyűjtése kapcsán előtúrtam régi kedvencemet, a QED szótárat.
Csupán 207874 sort tartalmaz, melyben a bal oldalon angol szó, jobb oldalon a magyar megfelelői vannak. A mezőelválasztó 2 db space, ezután seddel el lehet tüntetni a vesszőket, a kötőjelre végződő szavakat, a zárójelben lévőket, így készen is lehet egy sort és uniq után a szókészlet. De csak feltételes módban persze, mert biztos lesz hiányzó...
Íme 115464 darab szó:
http://tengerikajak.net/download/szavak.txt
a toldaléklevágás után:
hunspell -d hu_HU -l szavak.txt | sort | uniq >szotaram.txt
drasztikusan lecsökkent a szóállomány, még találtam benne 1-2 aposztrófot meg nagy Ő és Ű betűt rosszul.
7809 darab szó lett a a 207874 sorú QED-szótárból:
http://tengerikajak.net/download/szotaram.txt

Köszönjük! Mennyit is köszönhetnek más nyelvek a hunspell-nek!

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

csodás!

Ez a „következő nagyobb kiadás” pontosan melyik lesz?

-----
„Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben.”
rand() a lelke mindennek! :)
Szerinted…

A következő nagyobb kiadás a LibreOffice 6.1, de ha Laci nem látja akadályát, be tudnánk tenni akár a 6.0.3-ba is.

Nincs akadálya (a szótördelésnél csak a belső záró- és egyéb jelek kerülnek most a szóba, a szélsők nem, nem rontva el azt tehát, ami eddig működött), és örülnék neki, köszönöm szépen!

Andrásnak köszönhetően az április elején megjelenő 6.0.3-as hibajavító kiadás.