10 úskalí při vývoji skloňování jmen

Oslovení je přirozenou součástí mluvených i psaných projevů. S rozvojem internetového marketingu potřeba oslovovat zájemce výrazně narostla. Proto se můžeme setkat s mnoha pokusy o generování pátého pádu ze zadaného nominativu (první pád). Při důsledném zkoumání vracených výsledků zjistíme, že dosahují chybovosti až v desítkách procent.

Může nás napadnout, že děti přece umějí obstojně skloňovat před nástupem do školy! Proč se tedy dospělým vývojářům nedaří systém ohýbání jmen dotáhnout k dostatečně nízké chybovosti?

1) Ohýbání vlastních jmen je složité

Obecně je skloňování vlastních jmen lidí výrazně složitější než ohýbání obecných pojmenování (dům, les, vzdělání), protože jména pokrývají výrazně variabilnější množinu: do češtiny se dostávají zahraniční pojmenování, se kterými náš starobylý systém koncovek nepočítal.

Mnohá jména vznikla chybami či nedůsledností matrikářů. Tím byly do spisovné češtiny „propašovány“ prvky snad všech verzí nářečí, které se na území ČR vyskytovaly od konce 13. století do konce 18. V původní formě ustrnuly. Jména se také nejčastěji zdrobňují a vytvářejí se z nich domácké varianty. Od nejčastějších jmen (Anna, Jan, Josef, Marie, Václav) jsou zdokumentované vyšší desítky odvozenin.

2) Většina jmen nikoho nezajímá

Jména seřazená podle počtu nositelů vytvářejí long tail. Právě chvost takového grafu obsahuje jména, která jednoduchým algoritmem ohýbat nelze. Na což provozovatelé nikdy nepřijdou, protože na nich správnost neověřují. 60 % příjmení vyskytujících se v ČR mají jen 4 nebo méně nositelů. Střední hodnotou počtu nositelů je 3.

Nejčastější jména patří k těm nejjednodušším, nejsystematičtějším. Testovat, zda automat zvládá 3000 nejčastějších jmen a ignorovat zbylých 300 000 je jako u maturity z matematiky studenty zkoušet pouze ze sčítání dvouciferných čísel.

Neověřujte algoritmus na nejčastějších jménech ze své databáze zákazníků. Na nich ho testoval nejspíš i vývojář. Nemá smysl zkoušet, zda systém dokáže ohnout Nováka, Dvořáka, Horáka, Čermáka, Poláka. Vzorek pro testování zvolte náhodně.

3) Poslední míle, konečně!

Skloňování vlastních jmen osob je příkladem tzv. problému poslední míle. Na začátku může působit jako práce pro jednoho vývojáře na týden. Po stovce hodin se zdá, že k dokončení stačí týden. Po tisíci hodinách stále zbývá tak týden… V průběhu vývoje se totiž stále objevují další překážky, jejichž překonávání je méně a méně účinné.

Na systému sklonovani-jmen.cz je odpracováno přes 5000 hodin, v roce 2023 to bylo přes 2000 hodin. No, ještě by to týden chtělo…

4) Používat neznamená rozumět systému

Všichni, kdo od základní školy češtinu hravě zvládáme, míváme pocit, že ji snadno dokážeme i popsat. Jde však o odlišné disciplíny. Stačí nahlédnout do diskusních fór věnujících se češtině. Buď se diskutující striktně drží silně zjednodušených učebnicových výkladů, nebo přicházejí se snadno vyvratitelnými zákonitostmi. Ostatní se je obyčejně nesnaží zpochybňovat, protože jsou ze školních lavic navyklí tomu, součástí vágně definovaných zákonitostí v jazyce je i libovolně rozšiřitelný výčet výjimek.

Není divu. Jazyk se po tisíce let vyvíjel tak, aby ho mohli jeho mluvčí v běžném životě intuitivně používat. Aby byli schopní v řeči během zlomku sekundy z paměti vylovit odpovídající slovo, ohnout ho a s ostatními seřadit do zamýšlené věty. Nebylo snahou vytvořit systém hezky zapsatelný do tabulek, jednoduše vyučovaný a tvořící úhledná schémata.

5) Nestačí si přečíst knížku

Momentálně není na trhu k dispozici literatura, které by se stačilo stránku za stránkou algoritmus na ohýbání implementovat, přestože tak mohou na první pohled působit. I když jsou příručky poměrně obsáhlé, při velmi podrobném pohledu zjistíte, že pro vývoj nejsou dostatečné. Jednotlivé zdroje si místy protiřečí. Při jejich pročítání je nutné mít na paměti další souvislosti, bez nichž dochází k chybným interpretacím.

6) Příručky nepopisují divočinu

Příručky se zabývají spisovnou češtinou, v lepším případě i tou obecnou. Téměř vůbec nepokrývají překlepové varianty. Kterých z formulářů vychází velký podíl. Nejdou snadno identifikovat, protože mnoho příjmení vzniklo v důsledku decentralizace matrik a jejich značnou chybovostí.

Opravování překlepů na základě neúplných a zastaralých seznamů jmen je neužitečné. Chybné zapsání jména ale může mít vliv na skloňování.

Příručky se také zaměřují na popis kodifikovaných variant, úzus spíš odbývají jen notickou. Vás ale především zajímá, jak se jméno používá v praxi. Například oslovení: Dobrý den, Jane, se téměř nepoužívá, přestože je správné. Nositelé tohoto jména jsou většinou zvyklí na nějakou konkrétní domáckou variantu. To je jeden z důvodů, proč není vhodné uživatele oslovovat křestním jménem.

7) Podobná jména se nemusejí chovat stejně

Jména jsou podobná, což při korekturách a ladění působí problémy. Už po vyšších desítkách, v lepším případě po nižších stovkách zkontrolovaných jmen kontrolující otupí natolik, že další opravy jsou neproduktivní. To jsem řešil ředěním vzorků a duplikováním úloh mezi brigádníky, což je ale nákladné.

8) Uživatelé nepotřebují opravovat

Zákazníci téměř vůbec neposkytují zpětnou vazbu. Když použijete špatné oslovení (například Vážený pane Nováku Institute) v e-mailu určeném ke konverzaci, lidé v odpovědi nejen že přímo nezmíní: Oslovujete mě blbě, ale nedávají to najevo ani narážkou mezi řádky. Výjimkou jsou e-maily se stížnostmi na způsob vyřízení objednávky, kdy nesprávné oslovení zákazníci někdy používají jako další doklad neschopnosti obchodníka.

Před téměř deseti lety jsem měl službu implementovanou na webech tak, že už v průběhu registrace se uživateli v reálném čase generovalo oslovení ve vedlejším políčku formuláře a logovaly se změny. Uživatelé si tam občas vyplňovali humorná oslovení jako „Vaše veličenstvo“ nebo „Borče“. Ani jedna z několika set úprav ale nevedla k opravně chybně vygenerovaného tvaru typu „Novakova“, „Novakovo, „Novákova“ na Nováková.

Další příklad: práce s akademickými tituly byla u mé služby ustálená od spuštění v roce 2011. Klienti mi chválili, jak dobře služba s tituly nakládá. Za tu dobu se můj systém stal nejpoužívanějším na ohýbání jmen na českém internetu… Až po více než 10 letech jsem byl upozorněn na to, že jedno jméno služba nezpracovala z důvodu neidentifikovaného titulu správně. Z původních 40 titulů se mi povedlo službu rozšířit o dalších 700 zahraničních, které se v Česku používají a které systém celou dobu zpracovával špatně.

9) Vstupní data jsou nespolehlivá

Data od uživatelů trpí vysokou chybovostí. Některé e-shopy si práci zjednodušují tím, že při objednávce nechají zákazníka ve formuláři zvolit, zda je muž, žena nebo slečna. Tuto informaci mohou k požadavku zaslanému na sklonovani-jmen.cz přiložit (viz dokumentace) a vynutit si zpracování jména podle daného gramatického rodu. Analýzou dat jsem zjistil, že chybovost této informace se po vyloučení obourodých jmen blíží 40 %. (Hodem mincí získáte 50% chybovost!) Lidé při nákupech v e-shopech evidentně nemají zájem tuto hodnotu vyplňovat.

Kolonky křestní jméno poměrně často obsahují příjmení, celé jméno nebo tituly. Uživatelé jsou rádi, že někam dokázali naskládat své tituly, a neopravují hodnoty vyplněné systémy pro automatické vyplňování formulářů.

Uvědomme si, že ke skloňování používáme data, která k tomu nejsou primárně určená – balíček se zbožím z e-shopu dorazí i se špatným jménem, problém nastává při oslovení zákazníka.

10) A vadí to?

Ohýbání jmen je složité, ale chybu stejně nejspíš nikdo nenahlásí. Má to provozovatele trápit?

Většina lidí je na používání vlastního jména háklivá. Použití nevhodného tvaru v nich nevyvolá kýženou podvědomou reakci, díky které v budoucnu nakoupí ve stejném e-shopu. Naopak je to může odrazovat, protože to na ně může působit cizorodě, nepatřičně až urážlivě.

Proto je nutné hledat systém s nejlepšími výsledky. Otestujte si, jak hodně sklonovani-jmen.cz překonává konkurenci.