GYAKRAN ISMÉTELT KÉRDÉSEK ÉS SZÓTÁRÉPÍTÉSI SEGÉDLET Hogyan tudok segíteni? ====================== - magyar nyelvű könyveken, híroldalakon futtatod végig a Magyar Ispellt, a fel nem ismert szavakat kigyűjtöd, veszed a szótövüket. A szótárépítési segédlet alapján, és lehetőleg az új helyesírási szótárral ellenőrizve feldolgozod. Ha összegyűlt száz, vagy néhány száz hiányzó szó, elküldöd a levelezőlistára a modult, amit készítettél. (magyarispell@yahoogroups.com) magyar nyelvű könyvek: www.neumann-haz.hu, Digitális Irodalmi Akadémia, jó, ha jelzed a listán, hogy melyik könyvnek álltál neki. - típushibákat keresel a ragozásban (hiányzó ragozás, magánhangzó tévesztések, stb.), ezt jelzed (ez is elég), vagy kijavítod a ragozási táblázat forrását (aff.*), és a módosításokat elküldöd a levelezőlistára. - elvállalod egy szakszókincs feldolgozását, vagy gondozását, kezdve azzal, hogy szakcikkeken futtatod végig az ispellt. - ellenőrzöd az alapszókincs állományait, a főnevek között melléknevekre vadászva, stb. mivel ez még nem igazán történt meg, (nagyon felületesen, automatizálva, és kapkodva készült, bár azóta helyenként át lett fésülve). - kipróbálod OpenOffice-szal, Abiword-del, stb., képernyőképeket csinálsz, és az eredményről beszámolsz, - A helyesírási szótár alapján megvizsgálod, hogy mely szóösszetételeket fogad el hibásan a Magyar Ispell, amit különben külön kellene írni (itt érdemes felosztani a helyesírási szótárt - stb. Hogyan dolgozhatok fel gyorsan több könyvet? =========================================== Összefűzöd, szavakra tördeled, rendezed, az ismétléseket kiszűröd, majd az ispell -l kapcsolójával kigyűjtöd azokat belőle, amelyeket nem ismer fel az ispell. A Magyar Ispell tartalmaz egy break nevű programot, ami az ismétlések kiszűréséig mindezt megcsinálja. bin/break book1 book2 book3 book* | ispell -l -d magyar >hiany Nehéz helyesírás-ellenőrzőt csinálni? ====================================== Nem, de igen nehéz befejezni... A Magyar Ispell egyemberes, egy hónapos projektnek indult 1998-ban. Határozott előny volt, hogy a helyesírás-ellenőrző ekkor már készen volt (sokak munkájának köszönhetően, ld. man ispell.) Az Ispell nem igazán agglutináló nyelvekhez készült ellenőrző. Hála Geoff Kuenningnek azonban olyan teljesítménnyel és képességgel lett felruházva, hogy a szokásosnál pár nagyságrenddel nagyobb ragozási táblázatot is hatékonyan kezel. Az egy hónaphoz még hozzájött 1999 nyara, és a szókincs, valamint a ragozási szabályok a tárgyas igék kivételével készen álltak. Két év kihagyás következett, majd 2001. szeptember környékén többen érdelődni kezdtek, mint például Nagy Viktor (ElMe Morfológiai elemző, Perl-ben készült magyar helyesírás-ellenőrző szerzője), és Szántó Tamás (Magyar KDE Projekt). A tesztelés fáradságos munkáját magára vállalta Tamás, és később többen csatlakoztak hozzá, rám csak a bővítés, fejlesztés és a hibajavítás maradt. Az eredmény itt van. Ez az a projekt, amit a Széchenyi-terv támogat Ispell, Aspell bővítés, Kspell, Mspell, és otthoni használatra ingyenes linuxos helyesírás-ellenőrző, illetve egyéb nyelvi segédprogramok elkészítése címén? ========================================================================================= Nem. Mikor lesz kész a magyar nyelvű, magyar helyesírás-ellenőrzővel, elválasztással, és szinonimaszótárral rendelkező ingyenes OpenOffice/KOffice/Abiword stb.? ================================================================== Már készen van, csak össze kell rakni. A menürendszer magyarítása a http://www.soffice.hu oldalról tölthető le. A teljes magyarítás nem váratott magára sokat, ahogy leírtam ezt a mondatot, készen lett (http://www.lme.hu/meh). Jelenleg a helyesírás-ellenőrző áll legközelebb a grafikus felületen futó szövegszerkesztőkben való megjelenéshez. A Magyar Ispell KWord-ben, AbiWord 0.7.x-ben tökéletesen használható. Az OpenOffice esetében a sikeres myspell teszt alapján határozottan úgy tűnik, hogy működni fog. A kiváló magyar elválasztás már régóta elérhető Linuxon, részben a TeX/LaTeX-hez készült huhyph.tex (Miklós Dezső és Mayer Gyula), részben Verhás Péter Hion programja révén. Az említett szövegszerkesztők közül valószínűleg az OpenOffice, ami hamarosan előáll (vagy előállt) egy elválasztó programmal. Nagy a valószínűsége, hogy a Knuth és Plass-féle elválasztó algoritmust veszik alapul, amit a TeX is használ, így a huhyph.tex-el valóban kész a magyar elválasztás. A szinonimaszótárhoz már elérhetők szóanyagok az Interneten, mint például a Magyarító Könyvecske. Pontosan mi is van az OpenOffice-szal? ======================================= Az OpenOffice helyesírás-ellenőrzője a C-s Ispell C++-osításával kapott Myspell, Kevin Atkinson munkája. Képességei megegyeznek az Ispell-vel, csak futásidőben állítja elő a ragozási szótárt az alapszótárból és ragozási táblázatból. Emiatt más a ragozási táblázatának a formátuma. A Magyar Ispell 0.6-nak már része az i2myspell átalakító program, ami szabályos myspell ragozási táblázatot állít elő Ispell ragozási szótárakból, így a magyarból is. Az OpenOffice legközelebbi kiadása már tartalmazni fogja a magyar ékezetes karaktereket kezelni képes myspellt. A myspell példaprogramja 24 Mb RAM mellett nem, de 32Mb mellett villámgyorsan elindult, és jól működött. El kell mondani, hogy lassabbnak tűnt, mint az Ispell, de ezen lényegesen javítani lehet, ha csökkentjük a hasonló szavak keresésénél a kipróbált fonémák halmazát, amit egyszerűen megtehetünk (lehet, hogy a jelenlegi sebesség is megfelelő persze a szövegszerkesztőn, vagy valamivel gyorsabb gépen belül). A Magyar Ispell hibátlan? ========================= A honlap képernyőképe mutatja, hogy jelenleg nincs hibátlan helyesírás-ellenőrző (szóellenőrző) a magyar nyelvhez. A következő elvek érvényesültek a Magyar Ispell készítésénél: Ne fogadja el a gyakori és súlyos helyesírási hibákat és az elütéseket, amelyek nem létező alakokat eredményeznek. Lefedje az átlagos szókincset. Lehetőség szerint csak a létező alakokat fogadja el. A harmadik magában foglalja az első kettőt, talán könnyebb lett volna ezen az úton indulni? Nem. A ragozási osztályok (amibe százasával zsúfolhatók a szabályok) száma pár tucatra van korlátozva, csak most tértek át a Linux terjesztések az alapértelmezett 52 osztályos ragozási szótárformátumra (elképzelhető, hogy a szintén friss finn ragozási szótárnak köszönhető, melynek hasonló problémákkal kellett megküzdenie, mint a Magyar Ispell-nek.). A Magyar Ispellben már harminc felett van az osztályok száma, pedig számos osztályt még tovább kell bontani, hogy nyilvánvalóan hibás alakokat ne ismerjen fel helyesnek az Ispell. Szerencsére ezek az alakok szinte soha nem kerülnek elő, mivel legalább két betűben eltérnek a létező alakoktól (nos, van kivétel, de nem könnyű megtalálni). A fejlesztés váratlan eredménye volt, hogy a megoldhatatlannak tűnő egybeírás-különírás problémájára az Ispell részben megoldást biztosít! A szavakból leválogatható azon szavak halmaza amelyek szóösszetételben szerepelhetnek a halmaz más tagjaival. Ez kevésnek tűnt eleinte, de kiderült, hogy a súlyos egybeírási hibák jelentős része kiszűrhető még ezzel az egy halmazzal is. (Egyébként ahogy máshol olvasható, az egészre ráfér a belső ellenőrzés, ugyanis arra már nem nagyon jutott idő. Eddig szinte csak fekete doboz módszert használtunk. Nagyon szépen kérek mindenkit, hogy úgy ítélje meg, hogy ez az első nyilvános alfa, béta, ami tetszik!) Mennyi szót tartalmaz a Magyar Ispell? ====================================== Körülbelül 35000 alapszót, ami a ragozási szótár előállítása során több, mint háromszorosára duzzad, mivel csak ilyen hibrid módszerrel (ragozási szabályok és legenerált képzős alakok vegyesen) lehetett megvalósítani a Magyar Ispellt. Egy véletlen mintavételezés alapján a Magyar Ispell a Magyar helyesírás szabályaiban található helyesírási szókincs 70%-át lefedi. A hiányzó részt (mintegy 7500 szóról van szó) egy hét alatt csapatmunkában pótolni lehetne. Milyen egyéb hasznos kapcsolói vannak az Ispellnek? ============================================== A szótárépítést megkönnyíti, ha az Ispell a szabályos bemenetet dolgozza fel, így szavanként, vagy akár soronként adhatjuk meg az ellenőrizendő szöveget. ispell -a -m -d magyar szinonima * fűtetlen # fűtetlen 0 látatlan & látatlan 1 0: lábatlan fát + FA fapofa - Értelmezése: csillag: ebben az alakban a szótárban, +: ragozottként előáll, # nincs, még hasonló sem, & van, lásd a hasonlókat, - összetett szóként előáll Hogyan készíthetjük el a saját terminológiánkat, hasonlóan az informatikaihoz? ============================================================================ 1. make new Adjunk meg egy modulnevet, pl. botanika Enter leütése után előáll a ./_botanika könyvtár és a rá hivatkozó ./Botanika. A könyvtár az _alap/ alapján jön létre, és ua. a nevű állományokat tartalmazza, de üresen. 2. Lépjünk be a könyvtárba, és kezdjük bővíteni! Bizonytalan helyesírású szavakat ellenőrizzük le a helyesírási szótárban, (végső esetben a Google-val). cd _botanika echo >>fonev iringó echo >>ige_targy kvadrátoz (Használhatunk szövegszerkesztőt is, de ha felfele nyíl, Ctrl-r, valamint Alt-backspace billentyűparancsokat ismerjük, akkor a parancssor gyorsabb.) 3. Ha létezik a Botanika->_botanika szimbolikus kötés, akkor fordításnál a _botanika modul tartalma is befordul a szótárba. Ha ezt nem szeretnénk, akkor töröljük a kötést: rm -f Botanika Ha mégis meggondoltuk magunkat: ln -s _botanika Botanika Hogyan döntjük el, hogy egy szó mely állományokba kerüljön? ========================================================== Meg kell tudnunk különböztetni a közneveket, tulajdonneveket, igéket és mellékneveket. Legyen a szó pl. katona: 1. ez főnév, betesszük a fonev állományba. 2. magas magánhangzót (iíéöüőű) tartalmazó szótagra végződő és vegyes hangrendű (van benne még aáoóuú) és nem összetett és vagy csak ií magánhangzó(ka)t tartalmaz? Nem. 3. mássalhangzóra végződik? Nem. Vége. Legyen a szó pl. retek: 1. ez főnév, betesszük a fonev állományba. 2. magas magánhangzót (iíéöüőű) tartalmazó szótagra végződő és vegyes hangrendű (van benne még aáoóuú) és nem összetett és vagy csak ií magánhangzó(ka)t tartalmaz? Nem. 3. mássalhangzóra végződik? Igen. a. -jaje és -ae birtokos személyjelet is kap? Nem. b. b, d, f, k, l, n, p, r és t a vége, és mégis -a/-e birtokos személyjelet kap? Nem. Vége. Legyen a szó pl. menedék: 1. ez főnév, betesszük a fonev állományba. 2. magas magánhangzót (iíéöüőű) tartalmazó szótagra végződő és vegyes hangrendű (van benne még aáoóuú) és nem összetett és vagy csak ií magánhangzó(ka)t tartalmaz? Nem. 3. mássalhangzóra végződik? Igen. a. -jaje és -ae birtokos személyjelet is kap? Nem. b. b, d, f, k, l, n, p, r és t a vége, és mégis -a/-e birtokos személyjelet kap? Igen. Betesszük a fonev_ae állományba is. Vége. Legyen a szó pl. koszadék: 1. ez főnév, betesszük a fonev állományba. 2. magas magánhangzót (iíéöüőű) tartalmazó szótagra végződő és (igen) vegyes hangrendű (van benne még aáoóuú) és (igen) nem összetett és (igen) VAGY csak ií magánhangzó(ka)t tartalmaz? nem, de a végeredmény igen. a. ragozása ingadozó (magas és mély ragokkal is előfordul)? Nem. b. mély hangrendű toldalékokat kap? Igen Betesszük a fonev_mely állományba is. 3. mássalhangzóra végződik? Igen. a. -jaje és -ae birtokos személyjelet is kap? Nem. b. b, d, f, k, l, n, p, r és t a vége, és mégis -a/-e birtokos személyjelet kap? Igen. Betesszük a fonev_ae állományba is. Vége. Egyébként ha a szó ingadozó ragozású (fotellel, fotellal) bekerül a fonev_ing-be Ha a -ja/-je -a/-e személyjelet is elviseli (pl. monitora, monitorja), akkor a fonev_jajeae-be is bekerül Ha c, g, h, j, m, s, x, y, v, vagy z a vége, és mégis csak -ja/-je ragot kap, bekerül a fonev_jaje-be (pl. lánya) (A semleges ií magánhangzót tartalmazó utolsó szótagú szavak gyakran kapnak mély ragokat: nyíllal, forinttal, stb. a magas hangrendű, csak e, é-t tartalmazóak nagyon ritkák, pl. derékkal) Igék ---- 1. Tárgyas ragozású-e az ige? pl. titkosítja a kutyát -> ige_targy de! titkosítódja a kutyát már nem cseng jól -> ige_alanyi 2. A mély hangrendre ugyanaz vonatkozik, mint a főnevekre. 3. -tat/-tet, vagy csak -at/-et műveltető ige képzőket kap? titkosíttat, és nem titkosítat. Nem csinálunk vele semmit. Ha -at/-et ragos egy ige, pl. ad/adat, akkor mindkét alak szerepel az ige_targy-ban, és az ige_tat_kiv állományban is (az utóbbiban azért, hogy a program ne állítsa elő az adtat és az adattat alakokat.) Melléknevek =========== igékhez hasonlóak. A főneveknek van melléknévképzős (-es/-os, -i, -jú,-jű) változata is, így ezek, hacsak nem valamilyen szóösszetétel (pl. nagyszájú), előállnak a főnevekből is. Tulajdonnevek ============= Az állományok formátuma elsőre kicsit zavaró lehet: ha egy tulajdonnév nem kap toldalékot a magyar nyelvben (mozaikszó, vagy a szó vége idegen), akkor egy tabulátor után (tehát a második mezőbe) írjuk a szavakat. Bastille Ha ragozzuk, akkor rögtön sor elejére Einstein Ha a ragozott alakok között melléknévképzős (kisbetűs) is akad, akkor az ugyanebbe a sorba, egy tabulátorral elválasztva írjuk: Einstein einsteini Ragozatlan ========== Ha sehová nem illik a szó, felvehetjük a ragozatlan alakok közé. Ha azért valamilyen mértékben ragozott, akkor puskázzunk. A legenerált magyar.dict-et szűrjük meg arra vonatkozóan, hogy egy hasonló ragozású, hangrendű, stb. szó milyen ragozási csoportjelzőkkel került a szótárba: grep ^milyen/ magyar.dict milyen/B/V/L/R A szavunkhoz ugyanezt rendelhetjük hozzá a ,,ragozatlan'' állományban. ilyen/B/V/L/R Ha hibákat találunk, készítsünk külön hibalistát!