Demonstrační aplikace obsahuje dvě tematicky různé funkcionality: sadu nástrojů pro automatickou sumarizaci textů a sadu nástrojů pro automatické ověřování faktů. Nástroje mají rozhraní vytvořené pro webový prohlížeč a jsou tedy dostupné z libovolného prostředí.
Proto také mohly být jednoduše nasazeny pro prvotní ověřování u aplikačního partnera projektu ČTK. První sadou nástrojů aplikace jsou nástroje pro automatickou sumarizaci textů.
Automatická sumarizace je proces zkrácení textového dokumentu za účelem vytvoření souhrnu s hlavními body původního dokumentu či více vstupních dokumentů. Náš nástroj je implementován jako asistivní nástroj pro novináře, který: - vybere relevantní části vstupních článků do shrnutí; - označí významné pojmenované entity v textu, jako jsou související jména, názvy, letopočty atd.; - umožní průběžné dotrénování systému tím, že novinář změní priority vybrané informace, označí jako důležitý jiný text, případně vyřadí text z již provedeného výběru.
Systém je tak navíc ke své funkcionalitě schopen průběžného dotrénování tak, jak s ním novinář pracuje. Aplikace analyzuje clustery informací, a vytváří výstup ve formě detekovaných hlavních informací, obsažených ve vstupním článku či článcích.
Uživatel si může volit detekční hyperparametry jako je metoda pro výběr centroidu prahů sémantické podobnosti atp. Dále uživatel může věty a informace přeřadit, vyměnit, vyřadit, či přidat.
Zachovává linky do původních zpráv, tedy může dohledat kontext, pokud jej potřebuje. Hlavním výstupem pro uživatele je materiál pro tvorbu shrnutí, tedy vybrané informace z podkladových článků.
Nástroje pro automatickou sumarizaci textů jsou implementovány jako backend, tedy serverová část v programovacím jazyce python, torch, tensorflow. A uživatelská část, tedy frontend je v jazyce python + js.
Další část nástrojů tvoří nástroje pro automatické ověřování faktů. Jedná se primárně o dva spolupracující nástroje: Fact Search pro sémantické vyhledávání informací a Fact Check pro posouzení věrohodnosti tvrzení, který pracuje s pomocí nástroje Fact Search.
Samotná klasifikace výroků totiž bez vysvětlení nestačí (black box), důležitější je dohledávání důkazů, či podpůrných nebo vyvracejících informací, které provádíme pomoci Fact Search. Vstupem jsou tvrzení (výrok, claim) - krátký text, typicky jedna věta, např.: "Miloš Zeman navštívil jako prezident Korejskou republiku." Výstupem jsou klasifikace: potvrzen/vyvrácen/nedostatek informací, seznam dokumentů (a jejich částí) potřebných pro klasifikaci (evidence), ověřujeme vzhledem k dané databázi dokumentů - v našem případě archivu zpráv ČTK.
Nástroj Fact Search po zadání tvrzení a případném omezení časového okna zobrazí výsledek vyhledávání dvěma vybranými metodami a jejich detailní statistiky. Ve vyhledaných blocích textu jsou navíc zvýrazněny věty nebo slova, které měly na vybrání příslušných pasáží největší vliv.
Výsledné rozhraní pro Fact Check na pozadí využívá nástroj Fact Search, ohodnotí důvěryhodnost tvrzení a zobrazí podkladové informace, které toto tvrzení dokládají či vyvrací. Nástroje ověřování faktů jsou implementovány v programovacím jazyce Python 3.
Uživatelské rozhraní je postaveno pomocí nástroje Dash. Neuronové modely jsou implementovány pomocí knihoven Hugging Face Transformers, PyTorch a TensorFlow.
Pro rychlé vyhodnocování neuronových sítí používáme akcelerátor Nvidia Tesla V100.