k47.cz  — každý den dokud se vám to nezačne líbit
foto Praha výběr povídky kultura
twitter FB RSS
««« »»»

Spojovníky & pomlčky

24. 3. 2019 — k47 (♪)

Na k47čce je něco jinak. Přišli jste na pra­vi­del­nou denní dávku slov & na­jed­nou se cítíte nesví. Ne­do­ká­žete přesně říct proč, jen víte, že něco v koutku zor­ného pole je špatně.

Jestli se tak stalo, pak se omlou­vám, ale sku­tečně se tu něco změ­nilo. Jde o velice malou a ne­pa­tr­nou změnu, která mě přesto pálila už ně­ja­kou dobu: Slova na kon­cích řádků jsou roz­dě­lená po­mlč­kami.

Člověk si téhle drob­nosti na webu vět­ši­nou ne­všimne, pro­tože je tak málo k vidění. Ty­po­gra­fie di­gi­tál­ního média je tristní a z toho důvodu se naše oče­ká­vání drží při zemi. Jeden pří­klad za všechny – před chvílí jsem na jednom nejme­no­va­ném webu četl spo­jení „k němu“, kde před­ložka ležela osa­mo­cená na konci řádku. Jed­no­pís­menné před­ložky by měly být ke svému slovu při­po­jeny ne­dě­li­tel­nou me­ze­rou, jinak to vypadá divně. Nejde o nic slo­ži­tého, as­cii­blog (a tady i k47čka) tak text for­má­tuje. Roz­dě­lo­vání slov je na tom po­dobně – není moc k vidění a přitom ra­zantně pro­mění zubatý text na mnohem pří­jem­nější blok slov.

Proto jsem to zavedl i tady.

Te­o­re­ticky nejde o nic kom­pli­ko­va­ného. CSS roz­dě­lo­vání slov pod­po­ruje už nějaký ten pátek, ale žádný pro­hlí­žeč zatím ne­do­káže roz­dě­lo­vat česká slova. Umí velké jazyky – an­g­lič­tinu, něm­činu, špa­něl­štinu a do­konce pol­štinu, ale po CZ jako by se slehla zem. Nikdo to ne­svede – Fi­re­fox, Chrome, Edge, Safari – nikdo.

Když nemůže Mo­ha­med k hoře musí vy­bu­do­vat sil­niční in­frastruk­turu, která mu cestu k hor­skému masivu usnadní. V HTML můžeme použít entitu ­ nebo UTF-8 znak 0xC2 0xAD, které dělají to samé – na­zna­čují místo, kam se může vložit po­mlčka. Pak si stačí na­stu­do­vat pra­vi­dla dělení slov, při­u­čit se jak to udě­lali jiní (třeba jak to na­hac­ko­val dg v Texy) a vy­tvo­řit za­la­mo­vací pro­gram.

To te­o­re­ticky fun­guje, ale tady se bavíme o při­ro­ze­ném jazyce. Exaktní al­go­ritmy ne­mů­žou nikdy fun­go­vat do­ko­nale. Jazyk má vždy nějaké vý­jimky, nějaké spe­ci­a­lity, nějaké bi­zar­nosti, nějaké ne­lo­gič­nosti nebo pře­vzatá slova, která zatím ne­sta­čila zdo­mác­nět (píše se selfie nebo už selfí?) a ta by na­bobt­nala pro­gram o my­ri­ády spe­ci­ál­ních pří­padů. Tohle je te­ri­to­rium heu­ris­tik – vezmi slov­ník, na­tré­nuj model, nesnaž se po­stih­nout všechny pří­pady chyt­rým al­go­rit­mem, jazyk je příliš slo­žitý a stu­pidní na něco ra­fi­no­va­ného.

(Mi­mo­cho­dem: Každá heu­ris­tika, kterou v po­u­ží­váte v kódu, bude even­tu­álně na­hra­zena ML/AI mo­de­lem. Ničím si nejsem jist jako tímto pro­roc­tvím.)

Máme štěstí, pro­tože al­go­ritmy pro dělení slov exis­tují už ně­ko­lik de­se­ti­letí a jejich his­to­rie sahá k TeXu. (Te­le­pa­tické díky po­sí­lejte Do­naldu Knu­thovi, ale to byste měli dělat tak jako tak. Nebo mi snad tvr­díte, že nemáte nad po­stelí por­trét autora 3.5 svazku The Art of Com­pu­ter Pro­gra­m­ming a ne­pro­bou­zíte se do jeho vla­hého úsměvu? Ta dnešní mládež…) Exis­tují im­ple­men­tace těchto al­go­ritmů, slov­níky dělení slov jsou už vy­tvo­řené a dají se volně stáh­nout z webu. Tak proč vy­mýš­let něco nového, všichni divoce sur­fu­jeme na ra­me­nech obrů, kteří stojí na ra­me­nou jiných, dávno mrtvých, obrů, a máme pár tisíc let lidské his­to­rie na dosah bříšek prstů.

Abych to za­kon­čil: Tohle všechno jsem prošel, zjis­til něco nového, a použil tyto re­likty mi­nu­losti, aby konce řádků vy­pa­daly o něco méně roz­hr­kaně.

píše k47 & hosté, ascii@k47.cz