Z poznámek do tabulky bez ručního přepisování
Píšete si z matrik poznámky do počítače jako souvislý text a chtěli byste z nich mít přehlednou tabulku? Otestovali jsme, jak tento úkol zvládá jazykový model, a jaké zadání mu dát, aby cestou nepřišel o nejistotu v datech.
12 minut čtení
Poznámky z bádání v novém kabátě
Máte v počítači složku plnou textových dokumentů. Možná je to textový editor, možná obyčejný poznámkový blok, možná si posíláte zjištění z matrik do e-mailu. Jsou v nich desítky nebo stovky osob. Zapsali jste si je zkrátka tak, jak jste je postupně objevovali.
Nyní byste ale potřebovali všechny badatelské úlovky seřadit podle příjmení. Nebo si chcete vyfiltrovat jen ty předky, kteří se narodili v jedné konkrétní obci. Na to je obyčejný souvislý text krátký, k tomu potřebujete mít svá data roztříděná do pevných sloupců v tabulce.
Představa, že sedíte u obrazovky a ručně přepisujete jména a data z textu do políček pro Excel, je děsivá. Mohl by tento nezáživný úkol udělat počítačový program? Zvládá převod bez chyb, nebo do našeho rodokmenu zanese skrytý zmatek? Rozhodli jsme se to pečlivě změřit. Jedinou zárukou jsou totiž pro nás tvrdá data z opakovaných pokusů.
Jak jsme měřili a co jsme nastražili
Pro naše měření jsme připravili tři sady textových poznámek. Šlo o zcela vymyšlené lidi z osmnáctého a devatenáctého století. Ke každé z těchto sad jsme si předem vytvořili vzorovou tabulku a ověřili ji několikrát nezávisle. Každý pokus programu jsme pak buňku po buňce porovnali s tímto naším vzorem.
Sloupce v tabulce byly předem jasně dané: číslo osoby, jméno, příjmení, rodné příjmení, narození, místo narození, úmrtí, číslo otce, číslo matky.
Naše tři sady zápisků se lišily délkou a úpravou:
První sada obsahovala 30 osob zapsaných velmi úhledně. Každá konkrétní osoba měla v textu svůj vlastní vyhrazený řádek.
Druhá sada obsahovala také 30 osob, ale poznámky byly napsány neučesaně. Vypadalo to přesně tak, jak si badatelé často dělají rychlé zápisky do pracovního sešitu. Byl to souvislý text plný klasických zkratek jako *, †, sň. nebo roz.. Rodiče byli mnohdy rozepsáni slovy, kmotři se schovávali uvnitř dlouhých vět. Jména a místa se navíc objevovala v různých skloňovaných pádech, například „s Annou Novákovou, roz. Královou" nebo „ve Slatiňanech".
Třetí sada obsahovala rovných 150 osob zapsaných naprosto stejně neučesaně jako v předchozím případě. Šlo o poměrně dlouhý text, který by na papíře vydal asi na sedmnáct stran běžného strojopisu. Obsahoval přes 31 000 znaků.
Do těchto tří textů jsme schválně nastražili genealogické pasti. Zahrnuli jsme do nich nejisté roky označené slovy „asi", „kolem" nebo „cca". Použili jsme otazníky u data („29. 5. 1825?"). Vložili jsme letopočet s měsícem zapsaným římskou číslicí („18/I 1805") nebo jsme do textu uvedli jen měsíc a rok slovy („v únoru 1807"). Některé údaje u osob zcela chyběly, u jiných badatel napsal otevřeně „nevím".
Dále jsme do textu vložili opravy původních zjištění - v poznámkách byl například zapsán rok úmrtí, ale hned za ním byla dopsána oprava, že podle matriky je datum přece jen jiné. Zahrnuli jsme i odkaz na jiného předka jen pomocí slov „otec viz č. 7", otce a syny se zcela stejným jménem, a také situaci, kdy byla jedna táž osoba zmíněna na dvou různých místech textu - jednou jako dítě u rodičů, podruhé u vlastní svatby. Byli tam pochopitelně i kmotři a svědci bez vlastního čísla, kteří do naší výsledné tabulky podle zadání vůbec nepatřili.
Dva způsoby dotazu a osmnáct měření
K pokusům jsme využili program s názvem Gemini. Zkoušeli jsme pouze jeden model během jednoho jediného dne. Porovnávali jsme přitom dva různé způsoby, jak mu zadat náš požadovaný úkol.
První způsob byl naprosto obyčejný dotaz. Zněl prostě a jednoduše: „Udělej mi z nich prosím tabulku, ať si ji můžu dát do Excelu". K tomu jsme pouze připojili seznam požadovaných sloupců.
Druhý způsob naopak zahrnoval dotaz s velmi přesnými pravidly. Vedle seznamu sloupců jsme do zadání přidali sedm striktních pokynů. Tyto pokyny jasně určovaly, jak se má program chovat k nejistotě, co má přesně dělat s chybějícími údaji a na co rozhodně nesmí zapomenout.
Každý z těchto dotazů jsme nad každou ze tří sad textů vyzkoušeli rovnou třikrát. Šlo o zcela samostatné pokusy. Celkem jsme tak provedli 18 pečlivě sledovaných měření.
Výsledky v kostce: tabulka, která mluví za vše
Níže je stručná tabulka. Ukazuje, jak si počítač v jednotlivých měřeních vedl. Zajímal nás především přesný obsah dat a spolehlivost tvorby konečné tabulky.
| 30 osob úhledně | 30 osob neučesaně | 150 osob | |
|---|---|---|---|
| s pravidly (3×) | bez chyby · bez chyby · bez chyby | bez chyby ×3 | bez chyby ×3 |
| obyčejný (3×) | obsah správně ×3 | obsah správně ×3 | 2× obsah správně, 1× zmizely otazníky |
Jak vidíte, obsah vyšel v obou případech skoro stejně. Rozdíl je v podrobnostech - a právě na nich v genealogii záleží.
Zrádnost obyčejného dotazu
Pokud programu položíte jen obyčejný dotaz bez pevných pravidel, obsahově odpoví většinou správně. V osmi z devíti našich pokusů všechny údaje z poznámek skutečně bezchybně přenesl. Obyčejný dotaz má ale slabiny, které na první pohled nejsou vidět.
Tím zdaleka největším nebezpečím je tichá ztráta informací o vaší badatelské nejistotě. V jednom pokusu s nejdelším textem (150 osob) se u obyčejného dotazu stala velmi nemilá věc. U všech deseti dat, která měla v poznámkách otazník, tento otazník při převodu potichu zmizel. Datum zapsané nejistě jako „29. 5. 1825?" se přeneslo jako pevně dané „29. 5. 1825" - a to bez jediné doplňující poznámky, že k této změně došlo. Slovo „asi" přitom program ve stejném pokusu paradoxně všude zachoval.
Ve zbylých dvou pokusech se zcela stejnými texty ovšem otazníky v datech zůstaly v pořádku zachovány. Vidíme z toho tedy důležitou věc: jeden povedený pokus rozhodně neznamená, že to tak dopadne vždycky. Kdo si převod zkusí jen jednou a má zrovna štěstí, snadno uvěří, že program nechybuje. Pro genealogii je přitom ztráta otazníku vážná věc. Dělá z vašeho dohadu falešný fakt pro další generace.
Druhým velkým úskalím obyčejného dotazu je samotná úprava buněk. Program si nechával tvar různých záznamů čistě po svém. Měsíc klidně vypsal slovem („v únoru 1807"). Nejistotu nechal tak, jak stála v poznámkách - jednou „cca", jindy „kolem" nebo jen „?". Jednou dokonce vložil do kolonky určené výhradně pro datum slovo „nezjištěno". Pro lidské oko je to srozumitelné, jenže kdo si pak chce v Excelu vyfiltrovat všechna nejistá data, musí hledat několik různých zápisů místo jednoho.
Do třetice - u obyčejného dotazu nad velkým objemem 150 osob se v jednom případě celá tabulka uprostřed nečekaně rozbila. Vznikl useknutý řádek a pak text tabulky pokračoval dál. Žádné údaje sice nechyběly, ale po vložení do Excelu by vám vznikly dva nesmyslné řádky, které byste museli luštit a upravovat.
S jasnými pravidly byla tabulka bez vady
Když jsme k dotazu připojili sedm pevných pravidel, žádná z těch vad se neukázala. Všech devět pokusů se zadanými pravidly proběhlo bez jediné chyby v tabulce. To platí i pro nejdelší text se 150 osobami: 1 200 správně vyplněných buněk v každém ze tří pokusů. (Je to sto padesát osob krát osm údajů; číslo osoby nepočítáme, to je jen klíč, podle kterého se řádky spojují.)
S pravidly se program choval tak, jak to pro bádání potřebujeme. Veškerou nejistotu v textech jednotně sloučil na jediné úvodní slovo „asi". Co je ale hlavní - pod hotovou tabulku vypsal přehled toho, co nechal prázdné a co označil jako nejisté (to chtělo sedmé pravidlo). Ve všech devíti pokusech k tomu navíc sám přidal, co bylo v poznámkách opraveno a kdo do tabulky nepatří.
Právě v tomhle výpisu se ale jednou ukázala slabina. V jednom z pokusů model pod tabulku napsal, u čí svatby svědek svědčil, ačkoli to v poznámkách nikde nestálo. Do tabulky se ten výklad nedostal a na vyplněné buňky neměl vliv. Stojí ale za zapamatování, že text pod tabulkou už nikdo neporovnává se zdrojem - ani model, ani vy, pokud ho nebudete číst proti svým poznámkám.
Převod napsaných poznámek do tabulky model v našem měření zvládl dobře - s pravidly bez jediné chyby. Ruční přepisování si tedy ušetřit můžete. Kontrolu ne.
Zkopírujte si sedm pravidel pro váš dotaz
Dejte programu při zadávání vždy svá pravidla. Bez nich totiž výsledek může vypadat dobře, a přitom můžete potichu přijít o otazník v datech. Zásadní je přikázat mu jasně „nic nedoplňuj", „nejistotu zachovej" a „vypiš, co jsi nechal prázdné".
Než to ale uděláte, jedna věc, která s naším měřením nesouvisí a je důležitější než ono: poznámky, které do modelu vložíte, odcházejí na cizí server. Badatelské zápisky bývají plné údajů o žijících příbuzných a ty tam nepatří. Projděte text a živé lidi z něj vyjměte dřív, než ho někam vložíte. Píšeme o tom podrobněji v článku co zveřejnit a co ne.
Tady jsou pravidla celá, přesně tak, jak jsme je měřili. Můžete si je opsat a vložit před své poznámky:
Sloupce oddělené středníkem, přesně v tomhle pořadí:
cislo;jmeno;prijmeni;rodne_prijmeni;narozeni;misto_narozeni;umrti;otec;matka
Pravidla:
1. Do tabulky patří jen osoby, které mají v poznámkách číslo (č. N). Kmotři, svědci a další lidé bez čísla do ní nepatří.
2. Nic nedoplňuj ani neodhaduj. Co v poznámkách není, nech prázdné.
3. Nejistotu zachovej: když je u údaje „asi", „kolem", „cca" nebo otazník, napiš před hodnotu „asi ".
4. Když poznámky nějaký údaj opravují, použij opravenou hodnotu.
5. Datum piš jako D. M. RRRR. Když je znám jen měsíc a rok, piš M. RRRR, když jen rok, piš RRRR.
6. U otce a matky napiš číslo osoby. Když rodič v tabulce není, nech prázdné.
7. Pod tabulku vypiš, co jsi nechal prázdné nebo označil jako nejisté, a proč.
Pozor na první pravidlo: počítá s tím, že každá osoba má v poznámkách své číslo („č. 12"). Tak jsme měřili. Pokud čísla nemáte, očíslujte si osoby nejdřív - poznámky bez čísel jsme nezkoušeli.
A ještě jedna past, která není vidět hned: šesté pravidlo chce u otce a matky číslo osoby. Když rodič vlastní číslo nemá, zůstane kolonka prázdná a jeho jméno se do tabulky nedostane vůbec. Ve vašich poznámkách zůstane, v tabulce ne. Máte-li tam předky zapsané jen jako „syn Václava a Kateřiny", dejte číslo i jim, jinak o ta jména při převodu přijdete.
Co program v osmnácti pokusech nespletl
Během celých osmnácti pokusů jsme pozorně sledovali i mnohé další složité případy v textu. Počítač v nich nepochybil ani jednou.
Nikdy za celou dobu se nestalo, že by program nějakou osobu vynechal nebo ji naopak do tabulky neúmyslně umístil dvakrát. Pokud byla táž osoba zmíněná na dvou různých místech našeho textu, program vše bezpečně spojil do jednoho výsledného řádku v tabulce.
Velmi obratně si poradil se záludnostmi češtiny. Zmíněná skloňovaná jména a místa vždy neomylně převedl do správného prvního pádu. Nedal do tabulky jméno kmotra ani svědka a nespletl si osobu otce se synem stejného jména. Zanesenou opravu převzal vždy správně do konečného výsledku.
Pozor na hranice: tabulka věrně opíše i nesmysl
Při tvorbě tabulky si musíte uvědomit jednu velmi důležitou věc. V testovacích datech se objevila i nevěrohodná rodina. Nechtěně - při přípravě dat jsme ji přehlédli a našli ji až při jejich kontrole. Kdo si údaje propočítá, zjistí, že matce by bylo při porodu třináct a půl roku a dítě se narodilo pět a půl roku před svatbou rodičů. To druhé samo o sobě chyba není; dítě narozené před svatbou rodičů se v zápisech objevuje. U třináct a půl roku staré matky bychom ale sáhli po matrice, a přesně to jsme si při přípravě dat neudělali.
Model tuto rodinu ve všech osmnácti pokusech naprosto poctivě opsal a přenesl do sloupců tabulky. Ani jednou nás ovšem na ten nevěrohodný věk neupozornil.
Nepište to však na seznam selhání programu. Jde čistě o ukázku toho, jak počítač přistupuje k rozděleným úkolům. Nikdo se ho totiž na hledání chyb neptal. Zpracování informací do buněk v tabulce a logická kontrola obsahu vašeho rodokmenu jsou dva naprosto odlišné úkoly. Tabulka neopraví žádný nesmysl - jen ho bez přemýšlení přenese dál. Chcete-li po modelu věcnou kontrolu, musíte se ho zkrátka zeptat zvlášť.
Co musíte po převodu vždy zkontrolovat vy
Převod vám ušetří ruční přepisování. Jakmile ale tabulku dostanete, udělejte čtyři kroky kontroly:
- Spočítejte vytvořené řádky. Odpovídá jejich konečný počet skutečnému počtu osob, které v textu máte popsané?
- Zkontrolujte si všechna nejistá data. Najdete u letopočtů skutečně ono sjednocující slůvko „asi", přesně jak jste mu v pravidlech zadali?
- Přečtěte si vždy seznam vypsaný pod tabulkou. Uvidíte z něj, co model nezpracoval a proč se tak rozhodl. Čtěte ho ale proti svým poznámkám: právě v tomhle seznamu nám model jednou přidal souvislost, která v poznámkách nebyla.
- Vyberte si namátkou několik řádků a porovnejte je se svým původním textem údaj po údaji. Tři kroky výše poznají chybějící řádek nebo ztracený otazník, ale neodhalí prohozená data mezi dvěma lidmi. Na to je jen vaše oko a vaše poznámky.
Co jsme záměrně neměřili
Naše důkladná zkouška se týkala výhradně popsaného scénáře převodu poznámek. Abychom předešli zbytečnému zklamání, na úplný závěr v bodech shrnujeme i činnosti, kterým jsme se naopak při měření nevěnovali:
- Čtení textu z fotografií a rukopisů z matrik. Všechny naše poznámky už byly předem napsané v počítači. Vyfotit starý papír a nechat z něj program text nejprve přečíst je zcela jiný krok s vlastními chybami, a ten jsme neměřili.
- Diktování badatelských poznámek hlasem přímo do počítače.
- Sady obsahující více než 150 osob najednou.
- Jiné modely ani jiné dny. Měřili jsme jeden model v jednom dni; tři pokusy stačí ukázat, že se výsledek může lišit, ne na procenta.
- Poznámky bez čísel osob. V našich poznámkách měla každá osoba své číslo.
- Texty a poznámky, které si ve svých vlastních tvrzeních vyloženě navzájem odporují.
- Přesný důvod překvapivého úbytku oněch deseti otazníků. Zda se u obyčejného dotazu ztratily čistě kvůli velké délce textu, nebo šlo prostě o občasnou náhodu, skutečně nevíme.