Lze uspořádat znalosti s technickými a pravopisnými chybami?
Jeho správné zařazení jsou zpravidla schopny zvládnout děti ve druhé, možná již první třídě základní školy. Prostě proto, že v češtině vždy dvě po sobě následující písmena c, h představují souhlásku ch, a to se vždy řadí za souhlásku h. Takto tříděné ch se však nalezne jen málokde při výstupu údajů uložených na počítači. Správně je ch při prohlížení (SCANování) katalogů ALEPHu v Národní knihovně. (I když znaky se sekundárním řadícím významem i zde jsou nepatřičně.)
OPAC Prohlížení (SCAN) Formát=33 Báze= NKC Řádek č. Seznam Autoři --------------------------------------------------------------------------- L1 1 Hýža, Miroslav L2 1 Hýžová, Hana L3 1 Hýžová, Jaroslava L4 2 Hýžová, Pravdomila L5 1 Cha, Lorenzo della L6 * 9 Chaba, Karel 1925- L7 1 Chaban, Michal L8 1 Chabaneix, Gilles de L9 1 Chabarov, I. A. L10 1 Chabas, André L11 1 Chabás, Juan, 1898-1954 L12 1 Chabbert, Jean L13 1 Chabbert, Rosy L14 1 Chaberová, Zdena L15 1 Chabibullajev, Pulat --------------------------------------------------------------------------- Pokračování> C Ukaž záznamy > řádek č. Další volby > HELP Zpět > R Ukaž odkazy (*)> XP ř.č. Soubory hitů > REV Příkaz >Většinou je však ch ve výstupech českého textu uváděno pod c. Jak ukazuje další příklad:
TinWeb sd.ruk.cuni.cz cesky slovensky english deutsch francais espanol magyarul ASCII DOS Unix MS Windows Apple SD UK _________________________________________________________________ zadání nového dotazu nápověda dopis do knihovny _________________________________________________________________ listování zpět Chytil, Václav Chytilová, Jarmila Chytilová, Lenka Chytilová, Marta Chytráčková, Jitka Chytraeus, David, 1531-1600 Chytrová, Milena Ciabattari, Jane Ciampi, A. Cianci, Roberto Ciano di Cortellazo, Galeazzo ... Hytönen, Sisko Hyvaerinen, Lea Hyvärinen, L.P. Hyvnar, Jan Hyvnar, Jan, 1941 I. A. Bunin i russkaja literatura XX veka (1995 ; Moskva) I. chirurgická klinika 1. LF UK (Praha) I Čchan-jông I Čong-sôk I Čong-ún I Ču-hjông -- press space for more, use arrow keys to move, `?` for help, `q` to quit.Proč je takový jednoduše algoritmizovatelný problém - ch se vlastně třídí jako h s háčkem - pro firmy zabývající se úpravou českých verzí velmi obtížný, je někdy dost nepochopitelné. (Snad kromě situace, že jejich hlavní algoritmická invence je věnována překladu helpů.)
Na rozdíl od obchodních triků některých prodejců i knihovních systémů
z počátku 90. let, že i v českém jazyce se připravuje třídění ch pod c, nová ČSN 97 6030 Abecední řazení z roku 1994 hovoří (samozřejmě)
o řazení ch za h. Zmiňuje se pouze o tom, že dočasně (myšleno pro nedokonalost některého software) lze ch umísťovat i pod c.
V takovémto případě by pak na místech správného umístění ch
měla být uvedena poznámka, že ch lze nalézt pod c.
I to, jak vidno z příkladu, bývá obvykle ignorováno. Konec konců na podruhé se uživatelé na správné místo trefí i bez nápovědy.
Možná hůře řešitelné problémy způsobují uživatelům rozdílné kódy češtiny,
což výrazně vystupuje do popředí v prostředí různorodých počítačů, a speciálně
pak v síti Internet. Řešení problému se pokusili navrhnout na
IANA -
Internet Assigned
Numbers Authority
[1] , kde se
doporučuje preferovat v Internetu používání ISO-kódů.
Takovýmto kódem s českou diakritikou je ISO-8859-2, obecně u nás nazývaný
ISO-Latin-2. (Podle našich pravidel správně značený ČSN ISO 8859-2.)
Rozmístění českých písmen s diakritickými znaménky je
takovéto:
ISO-8859-2
0 0 @ P ` p 1 ! 1 A Q a q Á á 2 " 2 B R b r Ň ň 3 # 3 C S c s Ó ó 4 $ 4 D T d t 5 % 5 E U e u 6 & 6 F V f v 7 ` 7 G W g w 8 ( 8 H X h x Č Ř č ř 9 ) 9 I Y i y Š š É Ů é ů A * : J Z j z Ú ú B + ; K [ k { Ť ť C , L \ l | Ě ě D - = M ] m } Í Ý í ý E . > N ^ n ~ Ž ž F / ? O _ o Ď ď
Také Standardy Státního informačního systému České republiky
[2] ve všech
zmínkách o kódu češtiny preferují ISO-Latin-2. Například ve verzi
z prosince 1998 se uvádí (na straně 22):
7.4 Dostupnost textových informací v českém národním prostředí - obecně Při poskytování informací prostřednictvím služby WWW musí být užito kódování diakritiky podle ČSN ISO 8859-2. Doporučuje se kromě použití diakritiky podle ČSN ISO 8859-2 zabezpečit možnost souběžného použití pro kódování české diakritiky pro služby WWW kódové stránky 1250 Microsoft Windows a prezentace českých textů bez diakritiky. Komentář: Kromě povinné podpory češtiny podle ČSN ISO 8859-2 vyžadované předchozím odstavcem doporučuje i souběžnou podporu strany 1250 Microsoft Windows a prezentaci českých textů bez diakritiky. Důvodem tohoto doporučení je ulehčit situaci při využívání informací směřujících k veřejnosti, našim občanům i krajanům v zahraničí. Tímto ustanovením není zakázána, ani požadována podpora dalších způsobů kódování.Pro zajímavost ještě v předchozí části těchto Standardů je (na straně 16) uvedeno:
7.2 Abecední řazení Rutiny abecedního řazení (třídění) musí umět řadit všechny grafické znaky obsažené v normě ČSN ISO 8859-2 (viz kódová tabulka č. 1). Musí splňovat revidovanou normu ČSN 97 6030 (1994) Abecední řazení pro znaky obsažené v této normě.Ve skutečnosti jsou nejčastěji WWW-stránky (i třeba našich ministerstev) k dispozici jen v kódu Windows-1250. Když už je někde k mání i stránka v kódu jiném, obvykle je na ní stejně něco špatně. Ilustrativním příkladem je takováto odpověď WWW-serveru na typický (třířádkový) požadavek klienta:
GET /pedagog.htm HTTP/1.0Každý WWW-server zasílá (vyjma zcela nejstarší verze http-protokolu 0.9) před zdrojovým textem WWW-stránky ještě tzv. http-hlavičku. A právě v tomto (skutečném) příkladu je v oné hlavičce uváděn (preferovaný) kód ISO-latin-2, ale v úvodní části je rozporuplně specifikováno Windows-1250. Příklad je ilustrativní v tom, že rozdílné informace o kódu češtiny jsou okamžitě patrné. Horší je případ, kdy je uveden kód jen na jednom místě, ale WWW-stránka byla přitom překódována do kódu jiného. Potom je obtížné přimět klienta, aby stránku zobrazil správně česky. O úspěšném programovém zpracování textu s takto podivnými informacemi je logicky asi zbytečné nějak uvažovat.
Host: fis.vse.cz
User-Agent: (X11; SunOS)
HTTP/1.1 200 OK Date: Tue, 07 Dec 1999 13:43:06 GMT Server: Apache/1.2.4 mod_czech/2.4.0 Last-Modified: Sat, 04 Dec 1999 12:49:07 GMT ETag: "ae43-4373-38490dc3" Accept-Ranges: bytes Connection: close Content-Type: text/html; charset=ISO-8859-2 VŠE - Fakulta IS: pedagogika ...
Přesto je často možné tento problém obejít šikovným tvarem českého fontu, který použije WWW-klient. Podívame-li se blíže na rozmístění českých znaků v tabulce Windows-1250, jsou sloupce C, D, E, F, úplně stejné, pouze české ž, š, ť je umístěno jinde.
Windows-1250
0 0 @ P ` p . 1 ! 1 A Q a q . Á á 2 " 2 B R b r Ň ň 3 # 3 C S c s . Ó ó 4 $ 4 D T d t 5 % 5 E U e u 6 & 6 F V f v 7 ` 7 G W g w 8 ( 8 H X h x . . Č Ř č ř 9 ) 9 I Y i y É Ů é ů A * : J Z j z Š š Ú ú B + ; K [ k { C , L \ l | Ě ě D - = M ] m } Ť ť Í Ý í ý E . > N ^ n ~ Ž ž F / ? O _ o Ď ď
Protože se české znaky nijak nepřekrývají, je možno využívat v češtině
pseudo-tabulku, kterou já někdy nazývám ISO-Latin-1250. Prostě
WWW-klient je schopen správně zobrazit ž, š, ť, ať
jsou ve sloucích 8, 9 (pro Windows-1250) nebo A, B (pro ISO-8859-2). Nelze ovšem takto vyřešit pro libovolný (v češtině nepoužívaný) znak s diakritickým znaménkem. Jako například pro slovenské l s háčkem.
Přitom takto pracuje třeba i WebALEPH v Národní knihovně a při
zadání dotazu úspěšně zpracovává české znaky podle ISO-Latin-1250.
Vzniká pochopitelně otázka, proč třeba nějak takto není čeština ošetřena již
přímo od producentů software. Toto je z hlediska Internetu a vazby na české
prostředí MS-Windows naprostá záhada. V této souvislosti se nemohu nezmínit,
že asi před rokem jsem potřeboval zjistit volná místa v tabulce Windows-1250,
neboť jsem si myslel, že třeba pozici `81` bych mohl využít pro hypotetický
znak h s háčkem. Ale věrohodná tabulka se nedá
tak snadno někde získat. Zastoupení firmy Microsoft u nás ji posílá s volnou
pozicí `80`, kde ovšem už asi 2 roky je umístěn znak Euro.
Kromě toho ji označují CP 1250. Dosud neobsazená místa
(zde značená tečkou) byla odvozena z verze pro UNICODE
[3].
Neuspěl jsem ani se snahou koupit u Microsoftu konverzní program mezi kódem 1250 a ISO-8859-2. (S tím záměrem, že bych nejasné znaky odvodil podle oné programové realizace.) Takovýto konverzní
program u Microsoftu oficiálně nevedou.
Lze si položit řečnickou otázku, jak dalece potom bude perspektivní využívat software od Microsoftu v organizacích napojených na připravovaný Státní informační systém. Jednu věc lze ale těžko řečnicky nějak vysvětlit. Když už někdo z nějakého důvodu nemůže tři písmena použít podle mezinárodně preferované tabulky ve svém softwareovém prostředí, proč přímo do programových produktů nezabuduje snadno použitelný konverzní modul? Takto přezíravý přístup by byl ještě počátkem 90. let v Internetu pokládán za programátorsky neetický. Konec konců program konvertující tři znaky pro malá a tři znaky pro ona velká písmena je skoro každý schopen si po večerech nějak pořídit. Jedině mi potom není přesně jasné, kdo je vlastně u nás profesionál a kdo amatér?
Z obou zde zmíněných typických českých problémů při zpracování textu by bylo patrně užitečné, kdyby se programové produkty označovaly nějakými klasifikačními stupni. Aby bylo hned zřejmé, jak se který program chová v českém prostředí. Například tedy program je úrovně:
- I0 - nezohledňuje
žádná specifika češtiny
- I1 - zohledňuje
české řazení
- I2 - rozpoznává
různé kódy češtiny
A odtud vychází úvaha rozšířit tyto klasifikační stupně i na hlubší zpracování českého textu, bez kterého se asi nelze obejít při jakékoliv snaze o počítačové pořádání znalostí. Přitom obdobně jsou nějak zpravidla přebírány i v této oblasti různým způsobem inteligentní programy pro zpracování a analýzu textu, vytvářené však převážně pro angličtinu. Ohebnost češtiny je při takovémto postupu pak značně složitým momentem.
Je potřeba říci, že situace pramení již z fáze analýzy a také obecných
teoretických postupů běžně u nás uváděných. Vezme se krásný algoritmus
pro anglický text a někam do programového schématu se dopíše jeden rámeček,
který já nazýván normalizační modul. Tento modul pak má při rozboru
textu převádět jednotlivá slova na jejich normovaný tvar potřebný k dalšímu
zpracování - například na první pád jednotného čísla nebo slovesný infinitiv. A jak
už to bývá, taktovýto modul v mnohém systému dosud není k dispozici,
ale jinak lze všechny ostatní algoritmy dále rozvíjet a teoreticky
prohlubovat.
Otázkou samozřejmě je, zda je takovýto (dokonalý) modul v současné
době vůbec efektivně pro češtinu řešitelný. Zda by nebylo lepší
pojmout celou koncepci jinak a již od počátku teoretické analýzy uvažovat
například s rozdílnými koncovkami u českých slov. A v tomto duchu také
pojmout celý systém jinak, například jako slova, která se shodují vždy až
na několik (málo) posledních znaků.
Vezměme klasický příklad indexování četnosti slov v určitém textu.
Řekněme, že se v něm vyskytnou slova
počítač
počítače
počítačové
počítačových
počítačovými
Pro tato slova by možná ještě normalizační modul mohl
být schopen koncovky nějak odstranit - třeba podle tabulky nejběžnějších
českých koncovek. Pokud však modul některou situaci není schopen
zvládnout, extrahuje se do dalšího zpracování místo jednoho (významného)
pětkrát použitého termínu třeba až pět termínů navzájem různých, z nichž
se příkladně každý objevil v textu jen jednou.
V tomto případě je zásadní otázkou, zda obecná teorie indexování slov převzatá
podle anglických učebnic není pro češtinu zavádějící, neboť nejsložitější
prvek v indexování - funkce zmíněného modulu - byla pro jednoduchost teorie
při výkladu zanedbána.
Ještě patrnější je ona situace v momentě, kdy u českých slov dochází ke změnám
hlásek i ve slovním základu. Jako je třeba
pes
psa
psem
psi
psí
Zde už může být obtížně spojit psa se slovem pes, a nikoliv se
slovem psaní. Možná, že by dokonalý program mohl mít ještě tabulku
nejzrádnějších slov s ohledem na jejich ohebnost. A snad i tuto situaci úspěšně
vyřešit.
Ovšem některé případy lze rozřešit jedině podle celého kontextu. V textu se
třeba může vyskytnout slovo sil.
Což může býti ve větách
.. vzájemné působení protichůdných sil způsobuje ... | (síla) |
.. nezbytná rekostrukce obilných sil ... | (silo) |
.. sil jsem proso a pšenici ... | (síti) |
Snad tedy by shora uvedené klasifikační stupně pro programy mohly být dále
rozšířeny:
- I3 - umí pracovat
s koncovkami slov
- I4 - je schopen se
vyrovnat s ohebností slov
- I5 - umí plně
rozřešit ohebnost českých slov podle kontextu
Je zřejmé, že I5 je ideální úroveň programu, kterou nebude asi tak jednoduché docílit. Ovšem o nižších úrovních není mnohdy jasné, zda je určité programové vybavení umí zvládnout. Informace tohoto druhu by určitě usnadnila uživatelům práci při seznámování s některými systémy, které se snaží využívat dokonalejší prvky při zpracování textu.
Ve skutečnosti uživatelé obvykle musejí přistupovat k programům se zabudovanou umělou inteligencí s obezřetností mnohem větší než k programům einteligentním. Ze zkušenosti totiž vědí, že pracovat s takovýmto programem v češtině obvykle znamená formulovat sice věty jako v normálním jazyce, ale tak, aby podmět byl vždy před přísudkem, co nejvíce slov bylo v prvním pádě, háčky a čárky pro jistotu jen v nepodstatných slovech. Zkrátka, jako by dotaz pokládal nějaký cizinec, který se začíná učit česky. A místo reklamního ujišťování, že program skoro všechno umí, by se hned v Helpu mohl orientačně dozvědět, co za něj program svou inteligecí vyřeší sám, a co naopak musí řešit on sám - svou vlastní inteligencí.
Asi by bylo velmi naivní předpokládat, že připravovaná česká
pobočka ISKO - International Society for Knowledge
Organization (Mezinárodí organizace pro pořádání znalostí)
[4]
výrazně v brzké době ovlivní úroveň aplikačních programů pro
české prostředí, ale alespoň by, myslím, bylo velmi užitečné, kdyby se
pokusila v českém prostředí nejdůležitější problémy nějak popsat.
Jeden úspěch ale již zaznamenala. Hned druhý den po semináři
o Pořádání znalostí byly opraveny rozporuplné informace o kódech češtiny
na fis.vse.cz. Po mnoha týdnech (mých) urgencí
tedy již příklad jedné chyby uváděné na semináři neplatí. Doufejme, že
po svém založení budou i další aktivity české pobočky ISKO takto přínosné.
Odkazy:
[1] http://www.iana.org/numbers.html [4]
[2]
http://146.102.64.30/ISO/NKP/standardy+and+informa%E8n%EDho+and+syst%E9mu
[5]
[3]
ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT
[6]
[4] http://www.etf.cuni.cz/~library/cic/ [7]