3. Data, testování a chytré srovnání
Ověřuj na příkladech, které rozhodnutí neurčovaly
Data nejsou jen vstup pro algoritmus. Určují, jaké situace je možné při vývoji vidět a ověřovat. Pokud máš příklady pouze z jednoho období, jazyka nebo způsobu formulace, může model selhat jinde. Nejde vždy o chybu jednotlivého záznamu. Problém může být v tom, že důležité situace v celé sadě chybějí.
Trénovací data slouží k nastavení modelu. Validační sada může pomáhat při volbě nastavení a porovnávání variant. Testovací sada má poskytnout konečnou kontrolu na příkladech, které neovlivňovaly tato rozhodnutí. Jakmile na testu opakovaně vybíráš lepší postup, používáš jej částečně k vývoji a jeho nezávislost se oslabuje.
Únik informací nastane například tehdy, když stejná zpráva v jiné podobě skončí zároveň mezi trénovacími a testovacími příklady. Model nebo tvoje pravidlo může těžit z něčeho, co při skutečné nové otázce nebude dostupné. Proto neřeš jen názvy souborů. Zkontroluj duplicity, společný původ a informace, které by v okamžiku předpovědi ještě neexistovaly.
Samotná přesnost může klamat u nevyvážených kategorií. Představ si dvacet kartiček: osmnáct běžných dotazů a dvě žádosti, které vyžadují rychlou reakci člověka. Postup, který vše označí BĚŽNÉ, má osmnáct správných výsledků z dvaceti. Přesto nezachytí ani jednu ze dvou důležitých žádostí. Potřebuješ proto zkoumat také typy chyb.
Vlastní srovnání dvou postupů
Postup A označí všech dvacet kartiček jako BĚŽNÉ. Postup B zachytí obě důležité žádosti, ale tři běžné dotazy zbytečně předá člověku. Který je lepší, závisí na účelu a nákladech obou chyb. Zmeškaná důležitá žádost a zbytečná ruční kontrola nemusí mít stejný dopad. Nelze rozhodnout jen podle nejvyššího procenta shody.
Jednoduché srovnávací pravidlo se nazývá baseline. Ukazuje, co musí složitější řešení překonat. Může jít právě o nejčastější kategorii nebo ruční pravidlo. Pokud AI není pro konkrétní potřebu lepší než přehledná baseline, nemáš zatím důvod přijmout její vyšší složitost. Zahrň i čas člověka potřebný k opravám.
Cvičení: malý poctivý test
- Napiš dvacet fiktivních zpráv a předem je označ. Použij dvě kategorie s různou četností.
- Odděl deset zpráv pro vývoj pravidel a deset pro pozdější kontrolu. Nenechávej v obou sadách pouhé kopie.
- Na první sadě uprav pravidlo nebo prompt. Pak jej jednou použij na druhé sadě bez dodatečného přizpůsobování.
- Vypiš správné výsledky, přehlédnuté důležité zprávy a zbytečná předání člověku. Porovnej s baseline.
Z takto malého testu nevyvozuj obecnou přesnost systému. Výsledek je citlivý na výběr kartiček a jedna chyba změní procento výrazně. Nácvik ti ale ukáže, proč musí existovat nezávislé příklady a proč jedno číslo nepopisuje vše. Pro skutečný provoz bude potřeba větší a vhodně sestavená sada.
Ulož pravidlo, testovací vstupy, výsledky a vysvětlení rozhodnutí. Pokud přidáš nová data, zkontroluj i jejich správnost a oprávnění k použití. Dobré testování neznamená hledat další krásný výstup. Znamená aktivně hledat případy, v nichž postup nestačí, a vědět, jak se taková chyba projeví člověku.