Portál AbcLinuxu, 13. května 2024 13:57

Kontrola pravopisu - II

24. 4. 2003 | Vlastimil Ott
Články - Kontrola pravopisu - II  

GNU korektor elektronických textů ASpell. Srovnání s ispellem.

V tomto díle se seznámíme s dalším programem, který ve vašem textu hledá překlepy a pochopitelně je opraví. Jak mě správně upozornil jeden čtenář po přečtení prvního dílu tohoto miniseriálu, nejedná se o program pro kontrolu pravopisu, ale o program ke kontrole, resp. korekci překlepů. Žádný program pochopitelně ještě neumí na vysoké úrovni kontrolovat další roviny gramatického systému. Těmi myslím např. syntaktické vztahy nebo stylové roviny lexikální zásoby. Současné počítačové korektory pouze srovnávají záznam ve slovníku s formou nalezenou v textu. Nejsou schopny rozeznat, zda daný výraz patří do stylistické množiny výrazů, které autor v textu používá. Stejně tak nerozezná stavbu věty; neví, co je "věta". Na Masarykově univerzitě v Brně probíhá projekt Českého národního korpusu, který by měl v (daleké?) budoucnosti tyto prostředky pro počítačovou lingvistiku poskytnout. Zatím jsou však takové nástroje v plenkách a přínos Korpusu se omezuje na lexikální databázi výrazů ze všech stylových rovin češtiny. Tolik tedy k nepřesnému názvu.

Dnešní díl je zasvěcen programu ASpell. Hned na úvod musím zmínit fakt, že od minule zmiňovaného ispellu se moc neliší. Naopak, cílem autora aspellu je naprosté nahrazení ispellu aspellem. Jestli vám už teď vadí ty téměř stejné názvy, čekejte ještě něco horšího. Aspell je poskytován jednak jako samostatný program pro explicitní kontrolu souboru a jednak jako programátorská knihovna. No a jak asi laskavý čtenář pochopil, spustitelný program se jmenuje (kromě jiných) ispell!

Co, kde, proč a jak?

Domovská stránka projektu GNU Aspell je strohá. Nabízí pouze a jenom to, co člověk potřebuje: základní i podrobné informace, aktuální archiv s programem a národní slovníky (český pochopitelně taky). V čem spočívá výhoda Aspellu oproti ispellu? Na stránce testů různých korektorů se dočteme, že Aspell je ze všech nejlepší, počítaje ve srovnání i korektor v Microsoft Wordu 97. Z přibližně 510 překlepů nenašel optimálně nakonfigurovaný Aspell pouze deset. Nevím přesně, jak tabulce rozumět a v čem je algoritmus Aspellu lepší než třeba ten v ispellu. Mé zkušenosti vycházejí z praktického používání. (Více o srovnání obou programů najdete na konci článku.) Aspell lze spustit nejen v čistě *nixových systémech, ale i ve Windows, BeOS, Mac OS, což pro vás určitě není žádné překvapení.

Stejně jako minule vám doporučuji, abyste slovníky ve své distribuci aktualizovali, i když slovník pro češtinu je momentálně ve stádiu "jsem, tedy jsem". Nenarazil jsem na zmínku o tom, že by se o něj někdo staral. Poslední změnou prošel pouze slovník britské angličtiny (3. ledna 2003).

Program se nainstaluje do adresáře /usr/share/aspell, slovníky do adresáře /usr/lib/aspell a dokumentace do /usr/doc/aspell. Program nemá klasickou manuálovou stránku, informace jsou uloženy ve formátu HTML a prostého textu.

Praktické nasazení

Korektor se spouští příkazem aspell. Jak jsem zmínil už výše, existuje i skript ispell pro náhradu ispellu, a také skript spell. Program se drze hlásí (aspell -v)

@(#) International Ispell Version 3.1.20 (but really Aspell 0.50.3)

takže zmatek je dokonalý. Může to uživatele zmást hlavně při výběru korektoru v menu některého editoru. Je však pravda, že skript ispell se skrývá v adresářové struktuře a není v proměnné PATH; nelze jej tedy najít příkazem which ispell. Kontrola souboru se provede příkazem

aspell -c jmeno_souboru

Program má podporu pro formáty email (?), HTML/SGML a TeX. Příkazy lze do interního seznamu přidávat, nebo je lze také odstraňovat (nevím ovšem, v jakém souboru je tento seznam uložen). Po spuštění se objeví jednoduché prostředí, které (stejně jako jiné věci) není nepodobné ispellu. Nevím, jestli je to zlomyslnost, nebo pokus o vylepšení, ale klávesy a a i, které v ispellu slouží pro akceptování výrazu (accept), resp. pro vložení výrazu do slovníku (insert), mají v Aspellu význam přesně opačný. Klávesou a přidáte (add) výraz do slovníku a klávesou i, I výraz ignorujete (teď/pořád). Praktická věc. Než se s Aspellem naučíte pracovat, zaneřádíte si osobní slovník překlepy a zkratkami. No a pokud oba slovníky střídáte, tak své dokumenty raději kontrolujte třetí osobou. ;-)

Ovládání

Pro uživatele nejdůležitější režim je ten interaktivní. Může v něm přímo rozhodovat o správnosti tvarů. Síla programu však spočívá např. i v tom, že ochotně zobrazí seznam slov ze slovníků. Příkazem

~/www/clanky/spell/2: aspell dump master czech | grep fenomenologie
fenomenologie
fenomenologiemi

tedy zjistíme, že v cca 50 megabajtovém slovníku češtiny existuje také mnoho filozofických pojmů. Zajímal mě celkový počet výrazů ve slovníku češtiny. Zkusil jsem tedy

~: aspell dump master czech | nl

a čekal mě výsledek 2551283 výrazů.

Klávesa Význam Akce a její následky Nevýhoda
0--n Oprav Zamění nalezený překlep tvarem ze slovníku, jehož číslo jste zadali. Žádná. Výraz je ihned zařazen do množiny správných tvarů.
mezerník, i/I Ignore/ignore all Akceptuje výraz v tomto výskytu/během tohoto spuštění programu. Žádná. Při dalším spuštění se situace opakuje.
r/R Replace/replace all Zamění výraz zde/v celém dokumentu. Žádná. Naopak, výraz je po změně okamžitě znovu kontrolován.
a Add Přidá výraz do (českého) osobního slovníku .aspell.cs.pws Žádná. Výraz je ihned zařazen do množiny správných tvarů.
l Add lower Přidá výraz do (českého) osobního slovníku .aspell.cs.pws ve formě malých písmen. Žádná. Výraz je ihned zařazen do množiny správných tvarů.
b Abort Ukončí program bez uložení provedených změn. Žádná.
x Exit Ukončí program a uloží provedené změny. Žádná.

Kultivovaně

Také Aspell lze spouštět z prostředí jednotlivých textových editorů, které přebírají režii celého procesu (nejčastěji zobrazují okno s tlačítky, kterými realizujete jednotlivé akce). Většina z nich nabízí výběr mezi oběma korekturními systémy, zvolte tedy Aspell a patřičný jazyk (nelze použít slovníky jednoho systému v systému druhém). Takto se korektor nastavuje v HTML editoru Quanta Plus.

Quanta Plus

Nevýhodou těchto integrovaných řešení je v to, že se často ochuzujete o možnost dopsat tvar "ručně". Závažnějším nedostatkem je skutečnost, že tyto editory často vytvoří z vašeho dokumentu dočasný soubor s nicneříkající příponou (např. .block), čímž se ztrácí vlastnost Aspellu rozeznat obsah souboru podle přípony. Tak tedy musíte "odklepávat" překlepy typu

Je pravda, že tyto příkazy můžete přidat do slovníku přeskakovaných výrazů, ale je to řešení neelegantní.

Závěrečné srovnání ispellu a Aspellu

Nemohu se ubránit srovnání obou korekturních systémů. Berte prosím tyto informace jako subjektivní názor uživatele, který (kvůli tomuto článku ;-) ) používá oba programy.

Vlastnost ispell Aspell
Jednoduchost obsluhy Jednoduché ovládání z příkazové řádky, málo přepínačů a voleb. Složitější ovládání, mnoho přepínačů, tím tedy větší možnosti.
Velikost českého slovníku Dostatečná (cca < 10 MB). Maximální (cca 50 MB).
Podpora češtiny Výborná -- standardní. Výborná -- standardní.
Aktualizace/správa českého slovníku Výborná, Petr Kolář Nejasná, manažer českého slovníku neznámý (existuje?).
Možnosti interaktivního režimu Strohé, ale dostatečné. Často nabízí i několik desítek možných variant; inteligentní algoritmus je znatelný (dokáže rozdělit slovo na kořen, přípony, předpony). Strohé, dostatečné. Obvykle nabízí pouze slovníková hesla (lemmata).
Integrace do grafických programů Obvykle bez problémů. Obvykle bez problémů, ale je nutné vybrat správný slovník z mnoha často nesrozumitelných názvů.
Možnost integrace do vyvíjených programů Minimální, bez zvláštní podpory. Knihovna v programovacím jazyku C, podpora dalších vývojových prostředků.
Celková využitelnost Praktický, jednoduchý, účelný. Budoucnost nejistá. Komplexní, použitelný nejen jako korektor překlepů. Progresivní.

Zpočátku jsem korektor nepoužíval, potom jsem začal využívat ispell, protože výrazy, které nemá ve slovníku, zašlu správci českého slovníku (a že jich mám!). U Aspellu jsem na tuto možnost nezkoumal, protože správce celého systému vyzývá "všemi deseti" kohokoliv, aby Aspell převzal (což vlastně snižuje kredit celého projektu). Srovnám-li možnosti obou korektorů, přesvědčí mě asi velikost českého slovníku Aspellu a přikloním se k jeho používání. Je však možné, že výrazy ze slovníku Aspellu přejdou časem do slovníku ispellu. Podle mého názoru, který jsem získal po přečtení mnoha stránek věnovaných těmto programům, je nutné, aby se velice brzo chopil celého projektu tým lidí, kteří uvedou korektor (jediný) do aktuálního a pro všechny jazyky použitelného stavu. Ne že by současný stav nebyl funkční, ale je patrné, že vývoj programů stagnuje. Myslím, že by se mělo ve vývoji postupovat směrem k (polo)inteligentním lingvistickým analyzátorům jazyka. Otázkou zůstává, kdo takový náročný vývoj zaplatí. Vezměme si alespoň za své, že svými osobními slovníky můžeme rozšířit (jakýkoliv) český slovník, proto korektory používejte, získaná data bude možné určitě zúročit.

Mimochodem. Používejte korektory, ale nespoléhejte na ně. Zopakujte si pravidla českého pravopisu a pište bez chyb. Čeština si to zaslouží! ;-)

Seriál Kontrola pravopisu (dílů: 3)

První díl: Kontrola pravopisu - I, poslední díl: Kontrola pravopisu - III.
Předchozí díl: Kontrola pravopisu - I
Následující díl: Kontrola pravopisu - III

Související články

Kontrola pravopisu - I (ispell)
Kontrola pravopisu - III (fispell)

Odkazy a zdroje

ASpell

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.