THEINE
← Všechny články

19. 7. 2026 / 3 min čtení

Experiment: jak moc spěchá e-mail?

Tři tisíce syntetických pracovních e-mailů, jednoduchý textový model a živá ukázka dostupná přímo v článku.

Některé e-maily mohou počkat do příštího týdne. Jiné vyžadují maximální pozornost, něco například blokuje expedici nebo výrobu. Zkusili jsme proto vytvořit malý model, který neřeší jen výrazy jako „urgentní“, ale hledá v textu naléhavost z kontextu, a známky toho, že na zprávu navazuje další práce.

Tři praktické úrovně

Model rozlišuje nenaléhavý e-mail bez blízkého termínu nebo blokace, naléhavý e-mail vyžadující reakci během jednoho až dvou pracovních dnů a velmi naléhavý e-mail, kde se musí jednat dnes či během několika hodin. Rozhodující je kontext, na počtu vykřičníků nezáleží.

Jak vznikla trénovací sada

Nejdříve jsme nechali vytvořit 3 000 smyšlených českých pracovních e-mailů, rovnoměrně po tisíci pro každou třídu. Zprávy mají různou délku, formálnost i oddělení, od účetnictví přes logistiku až po IT. Druhý model potom každý e-mail nezávisle označil, aniž by znal zamýšlenou třídu. Pro trénink jsme ponechali 2 581 příkladů, na zbytku se pak testoval výkon modelu.

Jen 7,4 % výsledných e-mailů obsahuje přímý výraz typu „urgentní“, „ihned“ nebo „okamžitě“. Model se proto nemůže spoléhat pouze na slovní spouštěče.

Kontrola syntetické sady

Jak to funguje?

Protože model nerozumí e-mailům stejně jako lidé, musíme text nejprve převést na čísla pomocí metody TF-IDF. Model sleduje jednotlivá slova, jejich dvojice i krátké části slov. Díky tomu dokáže zachytit české koncovky, překlepy a stručné formulace. Celkem vyhodnocuje 88 186 textových příznaků (například výskyt a důležitost slova "objednávka" v textu), ze kterých vyvážená logistická regrese vypočítá pravděpodobnost každé ze tří tříd naléhavosti.
Zjednodušené jádro klasifikátorupython
features = FeatureUnion([
    ("word", TfidfVectorizer(ngram_range=(1, 2))),
    ("char", TfidfVectorizer(analyzer="char_wb", ngram_range=(3, 5))),
])

model = Pipeline([
    ("features", features),
    ("classifier", LogisticRegression(class_weight="balanced")),
])
model.fit(emails, urgency_labels)

Vyzkoušejte vlastní e-mail

Co ukázal odložený test

Na 517 syntetických e-mailech, které model při trénování neviděl, dosáhl přesnosti 95,9 %. Všech 200 nenaléhavých zpráv označil správně. Z 186 naléhavých zaměnil deset za velmi naléhavé a ze 131 velmi naléhavých označil jedenáct jako naléhavé. Žádný omyl nepřeskočil z nenaléhavé rovnou do velmi naléhavé třídy nebo naopak.

95,9 % není přesnost na skutečné firemní poště. Je to výsledek na syntetických datech vytvořených podle stejné definice naléhavosti a STEJNÝM GENERATIVNÍM MODELEM.

Důležité omezení

Model ke stažení

JOBLIB Natrénovaný Python model Sklearn pipeline se slovním i znakovým TF-IDF a logistickou regresí. Soubor neobsahuje původní e-maily. Model · 2.6 MB · v1.0.0 ZIP Model + lokální terminálová aplikace Kompletní balíček pro Windows: model, nekonečná vstupní smyčka, metriky a requirements.txt. Soubor ke stažení · 2.6 MB · v1.0.0

Kde jsou limity

Syntetické zprávy nemohou přesně napodobit slovník, zkratky a provozní kontext konkrétní firmy. Model navíc nezná vztah mezi odesílatelem a příjemcem, historii vlákna ani interní slang. Další rozumný krok je ručně označit anonymizovaný vzorek skutečných e-mailů, změřit chyby na něm a teprve potom model případně doučit.

Model může pomoci seřadit frontu. Neměl by sám rozhodovat, který bezpečnostní incident, právní problém nebo zákazník si zaslouží pozornost.

Theine

Další krok

Poznáváte v tom svoji práci?

Přijedeme se zdarma a bez závazků podívat, kde má automatizace ve vaší firmě největší smysl.

info@theine.cz