Sorry, you need to enable JavaScript to visit this website.

Lze uspořádat znalosti s technickými a pravopisnými chybami?

Čas nutný k přečtení
11 minut
Již přečteno

Lze uspořádat znalosti s technickými a pravopisnými chybami?

0 comments
Autoři: 
Odpověď na otázku tak, jak je uvedena v názvu, je asi dost jednoduchá. Špatně! Přitom při každé snaze týkající se pořádání znalostí anebo jen informací se nevyhneme nejzákladnějšímu problému, jímž je správné uspořádání jednotlivých slov. To se s rozvojem počítačů stává v češtině snad čím dál tím složitější. Stačí si vzít například české písmeno ch.

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   !1AQaq          Á   á   
2   "2BRbr            Ň   ň 
3   #3CScs            Ó   ó 
4   $4DTdt                  
5   %5EUeu                  
6   &6FVfv                  
7   `7GWgw                  
8   (8HXhx          Č Ř č ř 
9   )9IYiy      Š š É Ů é ů 
A   *:JZjz            Ú   ú 
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.0
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 ...
Kaž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.

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   !1AQaq  .       Á   á   
2   "2BRbr            Ň   ň 
3   #3CScs  .         Ó   ó 
4   $4DTdt                  
5   %5EUeu                  
6   &6FVfv                  
7   `7GWgw                  
8   (8HXhx  . .     Č Ř č ř 
9   )9IYiy          É Ů é ů 
A   *:JZjz  Š š       Ú   ú 
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)
A pro takovéto případy by onen modul musel míti v sobě nějak zabudovánu i analýzu celého textu, což je problém nesrovnatelný s původně uvažovaným programem zjišťujícím jen frekvenci slov.


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
[2] http://146.102.64.30/ISO/NKP/standardy+and+informa%E8n%EDho+and+syst%E9mu
[3] ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT
[4] http://www.etf.cuni.cz/~library/cic/

Klíčová slova: 
Hodnocení: 
Zatím žádné hodnocení
KASTL, Jan. Lze uspořádat znalosti s technickými a pravopisnými chybami?. Ikaros [online]. 2000, ročník 4, číslo 1 [cit. 2024-03-29]. urn:nbn:cz:ik-11074. ISSN 1212-5075. Dostupné z: http://ikaros.cz/node/11074

automaticky generované reklamy
registration login password