„Jöjj el, szabadság! Te szülj nekem rendet”

 ( nemethl | 2018. március 30., péntek - 15:48 )

Nincs tökéletes szabad szoftveres megoldás a magyar betűrendbe sorolásra, de a LibreOffice 6.1 pár lépéssel közelebb került ehhez, ahogy a mellékelt videón és az alábbi példákon látható. A nehézséget a többjegyű mássalhangzók felismerése jelenti, például a cs lehet c+s is (pác|só), a ccs pedig c+cs (arc|csont) és cc+s is (necc|sál) is. A következő összehasonlítás az ismertebb szabad szoftveres megoldások (és a helyesírás.MTA.hu) hibáit mutatja be, illetve a LibreOffice 6.1-ben a feltételes elválasztójelek beszúrásával elérhető, a magyar helyesírás szabályainak (AkH.) megfelelő hibamentes besorolást:

MTA.hu¹   Linux²     LO 6.0³    CLDR/LO 6.1⁴ AkH./LO 6.1⁵
pucc      pucc       pucc       pucc         pucc
pucol     pucol      puccs      pucol        pucc|sóvár
Pucsay    puccs      puccsóvár  Pucsay       pucol
puccs     puccsóvár  pucol      puccs        Pucsay
pucsít    Pucsay     Pucsay     puccsóvár    puccs
puccsóvár pucsít     pucsít     pucsít       pucsít

¹http://helyesiras.mta.hu/helyesiras/default/akhsort (morfológiai elemzéssel pontosított lista)
²https://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/locales/hu_HU (a ccs a c és cs közé sorolva, külön kategóriaként, pl. LC_COLLATE=hu_HU.UTF-8 sort)
³https://cgit.freedesktop.org/libreoffice/core/tree/i18npool/source/collator/data/hu_charset.txt?h=libreoffice-5-4 (a ccs mindig c+cs)
https://cgit.freedesktop.org/libreoffice/core/tree/i18npool/source/collator/data/hu_charset.txt (a ccs mindig cscs, megegyezik az ICU/Unicode CLDR beállításával)
⁵Feltételes kötőjel (Ctrl-kötőjel) beszúrása a függőleges vonal helyén.

A szóköz és kötőjel most már a magyar helyesírásnak megfelelően nem kerül beszámításra:

CLDR/LO 6.0          MTA.hu/Linux/LO 6.1
kis részben	     kis részben
kis sorozat	     kissé
kis számban	     Kiss Ernő
kis virág	     kis sorozat
Kiss Ernő	     kissorozat-gyártás
kissé	             kis számban
kissorozat-gyártás   kistányér
kistányér	     kis virág

Ahogy a kisbetűs alakok is megelőzik a nagybetűs homonimákat:

CLDR/LO 6.0  MTA.hu/Linux/LO 6.1
Pápa         pápa
pápa         pápa
PÁPA         Pápa
pápa         PÁPA

A Szabad magyar szótár következő kiadása a betűrendbe soroláshoz szükséges adatokat is tartalmazni fogja, hogy erre alapozva minden eddiginél pontosabb automatikus magyar betűrendbe sorolás készüljön a LibreOffice-hoz és a Linux parancssorban is. A betűrendbe soroláshoz szükséges fejlesztések megalapozzák a magyar elválasztás tervezett javítását is, l. bővebben az FSF.hu Alapítvány támogatásával folyó magyar nyelvi fejlesztéseket.

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ő.

Ez nagyszerű. De az a véleményem, hogy az MTA helyesírással foglalkozó részlege balfaszok gyülekezete, és hasznosabb volna nem, foglalkozni a kettős mássalhangzókkal. Minden nehézséget az okoz, hogy egy darab betű, az mégsem egy darab betű. Azaz 1!=1. El kéne felejteni ezt a hülyeséget.

A LibreOffice molyolhat ezzel, de egy adatbázis kezelőben 100 millió rekord leindexelésénél a sebesség sem mindegy.
--
ulysses.co.hu

Egy darab betű, de mégsem? Dehogy is! A betűkkel a hangokat írod le, ha egymás után következő két hang leírva egy dupla kettős mássalhangzónak is kinézhet, attól még nem az. És ezt éppen a betűrendbe sorolás és az elválasztás is tudja mutatni.

________________________________________
"The vision of Christ that thou dost see
Is my vision’s greatest enemy."

Pontosan. Ez az a hülyeség, amit el kéne felejteni. Rendezés, amit a köznyelv betű szerint rendezésnek hív, de (félig-meddig) a hangokon alapul. Az angolban a hangok és betűk viszonya sokkal komplikáltabb, mégsem bonyolítják össze feleslegesen.

Vegyük mondjuk azt, hogy házsor (házak sora). Ahhoz, hogy ezt egy program helyesen rendezze, fel kell ismernie az összetett szót. Vagyis szótár kell. A szótárak azonban nem teljesek, és rendszeresen változnak. Az egybe-külön írás különösen hektikusan változik. Például a "zárvatartás" és "nyitvatartás" közül az egyiket egybe, a másikat külön kell írni, most éppen nem tudom, melyiket hogy. De azután, hogy az utolsó szabvány módosítás ennek a kettőnek az írásmódját felcserélte, nem is érdekel. Szóval szerintem a feladat rossz, felesleges vele vesződni.

--
ulysses.co.hu

Ha szerinted az embereknek kell változtatniuk a viselkedésükön, hogy a gépeknek jobb legyen, akkor fordítva ülsz a lovon. Szerintem.

Az embereknek jobb, ha a gépek gyorsabban hajtanak végre valamit, nem a gépeknek.

Vicc 1994-bol:

AMD: Szia Pentium! Tudod, mennyi 2 x 2?
Pentium: 5!
AMD: Ize... Ez nem jo eredmeny.
Pentium: De jo gyors voltam. Ugye?

Az embereknek nem az a jobb, ha a gepek gyorsan csinalnak valamit de rosszul, hanem az, ha a gepek jol mukodnek.

+1

Képtelenség követni folyamatos változtatásokat.

És akkor hol vannak még az igazi gyöngyszemek? :-)
ésszerű - észszerű,
jeggyűrű - jegygyűrű,
bura (lámpa bura) - búra,
a kötőjelek pokla (mármint pokolba az egésszel sete-suta helyet már sete suta...),
egybe írom, külön írom,
idegenből átvett, de magyarosított szavak garmadája...


„A betűrendbe sorolás szempontjából nem teszünk különbséget a kis- és a nagybetűk között.
Ha azonban két besorolandó egység között csupán ebben a vonatkozásában van különbség, akkor a kis kezdőbetűs szó megelőzi a nagy kezdőbetűst, például: jácint, Jácint, szűcs, Szűcs, opera, Opera, viola, Viola.”


A latin-magyar ABC gyonyorei. De azert politikailag tok megerte lecserelni az erededeti es/vagy elozo* jelrendszerunket.

*: https://en.wikipedia.org/wiki/Old_Hungarian_alphabet#Origins

A Linux oszlop nem a legújabb magyar rendezést tükrözi. A glibc 2.26-ba került be a legújabb adag javításom.

A jelenlegi rendezés:

pucc
pucol
Pucsay
puccs
puccsóvár
pucsít

> [glibc] a ccs a c és cs közé sorolva, külön kategóriaként

Ezt a https://hup.hu/node/110267 miatt csinálja így – helyesebben már nem is így.

Nem tudom, létezik-e két magyar szó úgy, hogy az egyikben „ccs”, a másikban „cscs” áll (vagy hasonlóan bármely más kettősbetűvel), a szó többi része pedig azonosan írandó. Ha van (és ha előbbiben is „cs+cs” a szemantika), azok ábécébe rendezését az AkH. nem specifikálja. De ha nincs is két ilyen szó, a betűrendbe rendezésnek (ilyen alacsony szinten, mint például a glibc) tetszőleges karaktersorozattal meg kell bírkóznia, nemcsak értelmes szavakkal. Az említett fórumtémában valakinek gondot okozott, hogy két eltérő sztringet azonosként értelmezett a glibc.

Első körben valóban a c és cs közé soroltam az első betűjét, mintegy „talán c, talán cs” betűként, azonban ez a megközelítés hibásnak bizonyult. A sorrend így kasza < kassza lett, mivel utóbbi „s vagy sz” betűvel kezdőtött, amely korábbra rendeződött, mint a másik szóban az „sz”. Nyilván az „s vagy sz” betűt önkényesen az „sz” mögé sorolva ugyanúgy lehetett volna hibákat találni. Ugyanez a puccsóvár < Pucsay esetén.

A 2.26-os glibc ezt úgy javítja, hogy a „ccs”-t „cs+cs”-ként tokenizálja, de az első „cs” kap egy gyengébb prioritású tulajdonságot, mint a rendes „cs”, amely akkor jut érvényre, ha a szó többi részében nincs eltérés (hasonlóan a magánhangzókon lévő ékezetekhez).

Az új szabályok mellé rengeteg unittestet is készítettem, köztük felvittem az AkH. összes rendezési példáját, ezáltal a magyar toronymagasan legjobban unittestelt alfabetikus rendezés a glibc-ben. Ily módon remélhetőleg garantált, hogy az előzőhöz hasonló hiba nincs már, és nem fog becsúszni a későbbiekben. Persze a glibc nem használ szótárat, helytelenül kezeli a pácsó és hasonló szavakat.

Szia, Egmont!

Köszönöm a pontosítást!

Ha nincsen is ilyen két szó még, lehet kreálni: „mennyelv” (az az elv, miszerint nincsen menny pokol nélkül), és „menynyelv” (az „anyósnyelv” mintájára). Ami miatt most utólag én is megkülönböztettem a LibreOffice-ban az egyszerűsített többjegyű mássalhangzókat a szóösszetételekben szereplő nem egyszerűsítettektől (az egyéb javítások mellett) az az, hogy gyakori hibáról van szó: elavult helyesírás (ésszerű észszerű helyett), vagy ami még gyakoribb, kiadványszerkesztési probléma (őszszel, Brüszszel stb.), amelyet jó nem egybemosni a helyes alakokkal:

https://gerrit.libreoffice.org/#/c/52194/1/i18npool/source/collator/data/hu_charset.txt

(Négymillió helyes sorrendbe tett szóalakon megvizsgáltam, hogy lehetséges volna-e az esetek túlnyomó részére helyes választ adni pusztán a CLDR algoritmusára alapozva, de az ICU implementáció már pár száz bejegyzésre percekig fordított, úgyhogy javítani kellene előbb az algoritmuson, annál pedig jobb a kétértelmű esetekben meghívni a morfológiai elemzőt. Maga a szabvány is inkább az előfeldolgozást javasolja a bonyolultabb esetekre.)

Erről az jutott eszembe, hogy hogy tagolnád a 'puccsármány' szót. Gondolom, ez az elválasztásnál és a sorbarendezésnél is gondot okoz. Bár elismerem, nem túl gyakran használt szóösszetétel :D

Egy szép madár? :D

________________________________________
"The vision of Christ that thou dost see
Is my vision’s greatest enemy."

Van rá helyes válasz: pucc|sármány és puccs|ármány. :) Majd válasszuk el a szót az egyértelmű pont(ok)on: puccsár-mány. A betűrendbe sorolásnál pedig úgy soroljuk be, hogy kézzel lehessen javítani, azaz puccs|ármányként, ha nincs okosabb, pl. bekezdés-, vagy dokumentumszinten működő algoritmusunk.

Szerencsére a betűrendbe rendezésnél ritka az ilyen kétértelműség, elválasztásnál viszont nagyon is sok: „le|sü-lés” vagy „les|ülés”, „leg|elő-re” vagy „le-ge-lő-re”, „meg|int” vagy „me-gint”, „kar|óra” vagy „ka-ró-ra”, „nép|ének” vagy „né-pé-nek” stb. Nincs tökéletes megoldás, de törekedni kell rá, azaz az összes ilyen esetet feltárva, figyelembe véve, a felhasználói felületen kérésre jelezve stb. Az elválasztásnál határozottan csökkenthető ezzel a módszerrel a zavaró (hibás, nehezen olvasható) elválasztások száma: pl. „össz-eladás” a hibás „ösz-szeladás”, „össze-ladás”, „összela-dás”, vagy a csúnya „összel-adás” helyett.

Elnézést, hogy felélesztem.

Azt figyeltem meg, hogy a programozásban a valóság modellezésétől való eltérés függvényében ugrásszerűen megnő az elvarratlan szálak (átgondolatlan problémás esetek) száma.
Itt is, a probléma onnan ered, hogy nem lehet bevinni Cs karaktert a számítógépbe, mert sem a billentyűzet, sem a karakterkészlet nem alkalmas rá.
Ideális esetben lenne a latin-magyar betűkészlet minden tagjának egy karakter a gépen. Ugye a magyar nyelv betűi ezek: A Á B C Cs D Dz Dzs, és a gépen ilyen karakterek vannak: A Á B C D...

Nekem azt tanították, hogy ezt a latin-magyar betűkészletet, amit most használunk, a pápától kérte István, és 10 évet várt rá. Szerintem elég szép munkát végeztek, mert nem bonyolították túl feltételes hangzásokkal, mint ahogy a latin meg más nyelvekben van. (Lehet, hogy ekkor szembesültek vele, hogy mennyire fölöslegesen túlbonyolított a nyelwüch, és sajnáltak egy ennél jobbat kiadni nekünk.) De ha már itt tartunk, ezt a betűkészletet is fel lehetne újítani olyanra, hogy mostani a kétjegyű betűk helyére egyjegyű betűk kerüljenek, amiken van valami további ékezet vagy jelölés (Cs helyett Č). Elég minden hangra/fonémára egy egyjegyű betű.

Idézet:
Nekem azt tanították, hogy ezt a latin-magyar betűkészletet, amit most használunk, a pápától kérte István, és 10 évet várt rá.

Ez vajon honnan jött?

Nekem meg azt tanították, hogy a magyar hangok latin betűs átírása az írástudók mindenféle próbálkozásain keresztül organikusan alakult ki, és bőven nem stabilizálódott Szent István idejében, hanem még századokon keresztül mindenféle vicces kódolásokkal próbálkoztak.

https://hu.wikipedia.org/wiki/R%C3%A9gi_magyar_%C3%ADr%C3%A1s

Példák a régi magyar helyesírás jellegzetességeire
11–16. század: Az i betű /i/-t és /j/-t is jelölt.
11–15. század: Az u és v szerepe gyakorlatilag azonos volt, az u és v pl. a következőket jelölte: /u/, /ü/ és /v/.[3]
11–16. század: Az /u/-t az u, v és w jelölte.[4] Azonban szórványosan a vv /ú/-t (pl. vvl /úl/ ’olyan’[5]), a w /ű/-t (pl. wt /űt/[6]) és az uu /ű/-t is jelölt (pl.: mezuul /mézűl/ ’mézként’[7]).
11–15. század: Az /ö/ hangra az u-t és az ew-t, az /ő/-re kizárólag az ew-t, az /ü/-re és az /ű/-re pedig az u, v, w és ew jelölést alkalmazták. Az u, v és w-t az /u/ jelölésére is használták, így az /ö/, /ő/, /ü/ és /ű/ hangokra leginkább jellegzetes az ew jelölés volt.[4]
11–16. század: A c betű /k/-t is jelölt a /c/ mellett.[8]
12. század: A c betű /cs/-t is jelölt, lásd pl. gimilcíctul /gyimilcsëktűl/.[6][8]