Integrace i2 a LISSA
LISSA dokáže v obrovském množství rozličných dat identifikovat entity různého typu a poskytnout je nástroji i2 Analyst´s Notebook k zobrazení a následné analýze.
Z nepřeberného množství dat vybrat relevantní informace, postoupit je rychle a přehledně dál – to je denní chléb leckterého analytika. Někdy to znamená (obrazně) přetvořit tři disertační práce na jednu diplomovou, jindy však tisíce slov skvěle nahradí dokonalá linková analýza.
Dříve šlo o dva víceméně oddělené světy, přenést zásadní informace do grafické podoby zabralo nejenže mnoho času, ale vyžadovalo i značnou kreativitu zpracovatele. Dnes je však situace úplně jiná. Společnosti zabývající se zpracováním dat mají tendenci tyto dva světy spojovat, poskytovat uživatelům komfort přístupu ke kompletní informaci s možností z ní na několik kliknutí vizuálně vypíchnout to nejzásadnější.
Jaký přístup jsme pro transformaci textových informací do názorné podoby zvolili my v Dateře je obsahem tohoto příspěvku. Ale pro začátek trocha teorie…
Všechno je to v datech
Proč bylo a stále je tak obtížné propojit světy prostého textu a linkové analýzy? Odpověď tkví v datech.
Představte si příspěvek na blogu zabývající se volbou nejvhodnějšího tuku do třeného lineckého z pohledu několika generací oddaných manželek, unavených matek i nezávislých feministek. Z hlediska struktury (příspěvku, ne společnosti) vždy mluvíme o nestrukturovaných datech. Jak název napovídá, jejich struktura není definovaná, rozpoznatelná. Kromě textu mohou obsahovat data, čísla apod. K jejich prohledávání je standardně využíván fulltext.
Pokud je však recept zapsán do tabulky, kde v jednom sloupci máte druhy surovin (vč. správného druhu tuku prověřeného již prababičkou) a v druhém jejich množství, máte k dispozici data nazývaná strukturovaná. Mají standardizovaný formát a jsou srozumitelná strojovému jazyku. A hlavně – jsou ideální pro linkovou analýzu.
Pro úplnost – existuje ještě další skupina dat, tzv. semistrukturovaná data, která plně neodpovídají formální struktuře datových modelů, ale obsahují „sebepopisující“ strukturu, díky níž se strojově analyzují jednodušeji než data nestrukturovaná.
A nesmíme opomenout poslední kategorii dat – metadata. Metadata poskytují informace o jiných datech. Někdy se řadí mezi strukturovaná data, někdy vytvářejí samostatnou podskupinu. Nikdy je však nevyčleňujeme z analýzy. Mohou být opomíjenou příbuznou, která nám může pěkně zamíchat nejen s lipidovou analýzou…
K čemu to bylo?
Ptáte se, k čemu všechny ty informace o datech? Abychom si uvědomili, že z prostého textu se vztahová struktura pro linkovou analýzu – tedy objekty reálného světa a vztahy mezi nimi – doluje dost těžko.
V Dateře léta vyvíjíme a optimalizujeme nástroj sloužící pro práci s obrovským množstvím nesourodých, často nestrukturovaných dat. Pojmenovali jsme ho LISSA a postupně si nachází spokojené zákazníky. Nejenže nám poskytuje cenné výsledky při pohledu do prostých textů, ale jako přidanou hodnotu vytváří z nestrukturovaných dat jakousi „pseudostrukturu“, která může být velmi užitečná i pro vizuální analýzy.
Jak vlastně LISSA funguje? Hodně, hodně stručně: LISSA na vstupu vezme soubor a při zpracování ho obohatí o mnoho hodnotných atributů, tedy charakterizujících informací. Výsledek zpracování je zaindexován, což umožňuje uživateli v takovém souboru jednoduše vyhledávat – jak v textu, tak na základě přiřazených atributů. LISSA zvládá zpracovat takových souborů ne jednotky, ne tisíce, ale miliony, stovky milionů v relativně krátkém čase.
Mezi atributy přiřazené souborům v procesu zpracování patří jak jejich metadata, tak informace získané z obsahu. Máte tedy textový soubor, jehož jedním atributem na výstupu je prostý text, navíc jsou s ním spojeny atributy týkající se jeho typu, vytvoření, umístění… (prostě vše, čím lze soubor popsat), a v neposlední řadě si nese atributy extrahované při zpracování.
Ukázka různých atributů generovaných LISSOU při zpracování souboru.
Pokud máme k jednotlivým souborům uloženy názvy atributů a jim přiřazené hodnoty, voilà – máme základ pro linkovou analýzu.
Ještě malá odbočka
Než se dostaneme k linkové analýze, dovolme si malý odklon. K provádění různých typů analýz volíme různé typy atributů. Při snaze vykreslovat nestrukturovaná data jsou často nosné informace obsaženy v samotném textu. K extrahování informací z textu se používá metoda rozpoznávání pojmenovaných entit (NER, z anglického Named Entity Recognition).
Pod pojmem entita si lze představit informaci, která je extrahována a kategorizována – příkladem mohou být jména osob, názvy organizací, telefonní čísla. Metoda NER je založena na několika různých přístupech, my v LISSA zatím využíváme především systémy založené na slovnících nebo pravidlech.
Díky rozpoznávání pojmenovaných entit LISSA detekuje datumy, IP adresy, telefonní čísla, registrační značky, zeměpisné souřadnice, geohash, osobní jména a spoustu dalších entit.
A jde se vizualizovat…
Datera dlouhá léta spolupracuje se společností i2 Group, jejíž vlajkovou lodí je program i2 Analyst´s Notebook (i2 ANB). Jde o mimořádně propracovaný nástroj pro vizuální analýzu, který je stále vyvíjen a zlepšován. A protože tomuto nástroji věříme, rozhodli jsme se mu svěřit i zpracovaná data z naší LISSY.
Abychom mohli zobrazit vztahy mezi soubory a z nich odvozenými hodnotami atributů, musel být vytvořen plugin pro komunikaci mezi LISSA a i2. K tomuto účelu byla využita sada pro vývoj softwaru i2 Analyst's Notebook SDK. Plugin se jednoduše nainstaluje a zábava může začít.
Pro ukázku jsme využili data pocházející ze zkrachovalé americké energetické společnosti Enron. Z dokumentu – textu e-mailu – LISSA detekovala níže uvedené entity, které využijeme pro zobrazení v i2 ANB:
U konkrétního souboru byly LISSOU detekovány jména osob a e-mailové adresy (pro názornost podbarveny v původním textu a v detekovaných atributech), a dále domény.
Zobrazení detekovaných hodnot atributů z LISSY v diagramu – tedy pracovní ploše – i2 ANB je otázka několika kliknutí. Po označení souboru (může jich být i více) na výsledkové listině LISSY a zvolení exportu do i2 ANB se otevře analytický nástroj a detekované entity se vloží do diagramu.
Diagram i2 ANB automaticky naplněný hodnotami detekovanými LISSOU z jednoho souboru.
Centrální entitou (u české verze i2 ANB nazývané „objektem“) je název zpracovaného souboru, detekované hodnoty se zobrazují jako další objekty v diagramu. Jejich typ – tedy malé ikony, které je charakterizují – je možné překonfigurovat. Názvy jednotlivých atributů pak tvoří vazby mezi zobrazenými objekty.
LISSOU detekované atributy (vlevo) automaticky zobrazeny v i2 ANB (vpravo).
Linka do budoucnosti
Nádhera, že? Tím však naše snaha o integraci LISSY s i2 ANB rozhodně nekončí.
Nyní pracujeme na možnosti dotazovat se z i2 ANB přímo do LISSY. Kliknutím na zvolenou ikonu v diagramu bude automatizovaně vytvořen dotaz do interní báze dat. Z výsledkové listiny LISSY následně výše popsaným způsobem obohatíme diagram v i2 ANB o další relevantní informace.
A cyklus můžeme opakovat! Obohacovat stávající výsledky. Nacházet překvapivá propojení. Hledat nové směry prověřování. Až do konce pracovní doby... S možností vrátit se následující den po ranní kávě do fáze, kde jsme předchozí den skončili. Nezní to skvěle?
To zdaleka není vše. Nejenže soustavně rozšiřujeme a vylepšujeme stávající detekce v rámci LISSY, ale hrajeme si i s využitím chatbotů. Jde o vyspělou technologii zpracování přirozeného jazyka (jehož součástí je NER) založenou na umělé inteligenci. Její integrací s LISSOU jsme schopni entity detekované v rozhovorech s chatboty lusknutím prstů vizualizovat v i2 ANB.