facebook LinkedIN LinkedIN - follow
IT SYSTEMS 3/2020 , AI a Business Intelligence

Text mining

Dobývání znalostí z českých textů

Ondřej Háva


ACREAChceme-li využívat informační potenciál big dat, je nezbytné zabývat se i daty nestrukturovanými. Nestrukturovanými daty rozumíme volné texty, zvukové nahrávky, obrázky a videa. V následujícím textu se zaměříme na data textová a popíšeme, jaké úlohy řeší text mining.


Řešíme-li textminingovou úlohu, předmětem našeho zájmu budou textové dokumenty. Může se jednat o tiskové zprávy, záznamy z kontrol, odpovědi na otevřené otázky, recenze atd. Množinu všech dokumentů nazýváme kolekcí.Podobně jako v data miningu se i v text miningu snažíme extrahovat z našich predikčních objektů užitečné atributy, které zužitkujeme při předpovídání pomocí modelů získaných strojovým učením.

Běžné textminingové predikční úlohy se dají rozdělit do tří skupin. Nejčastěji se setkáme s úlohou klasifikační. Při klasifikaci dokumenty třídíme do předem známých skupin. Například příchozí požadavky od zákazníků chceme automaticky rozdělit mezi kompetentní osoby k jejich vyřizování. Velmi populární úlohou je dnes i klasifikace sentimentu, kdy dokumenty dělíme podle postoje mluvčího na pozitivní, neutrální, negativní a ambivalentní s přítomností jak pozitivního, tak negativního sentimentu. Díky klasifikaci sentimentu jsme například rychle schopni identifikovat stížnosti a nespokojené zákazníky a prioritně se jim věnovat.

Pokud skupiny dokumentů nejsou předem známy a teprve je chceme v kolekci identifikovat, řešíme úlohu seskupovací. Například kolekci nových recenzí chceme rozdělit nejen podle sentimentu, ale i podle předem neznámých předmětů recenze.

Třetí textminingová úloha je notoricky známá, jedná se o vyhledávání dokumentů v kolekci na základě podobnosti se zadaným dotazem. Zřejmě není nutné zde popisovat příklad vyhledávání na internetu.

V praxi se mnohdy setkáváme s úlohami, kdy předmětem zájmu není samotný textový dokument, ale dokument je zdrojem informací v jiné predikční úloze. Například v běžné dataminingové úloze předpovídáme odchod zákazníka ke konkurenci a k dispozici máme přepisy hovorů z call centra nebo jinou komunikaci se zákazníkem. I v tomto případě budeme z textových dokumentů extrahovat užitečné atributy pomocí textminingových postupů. Extrahované atributy obohatí množinu atributů získaných z databázových strukturovaných dat a umožní zpřesnit běžné dataminingové predikční modely.

Extrakce atributů z textových dokumentů

Atributy extrahované z volného textu nám umožní dokumenty strukturovaně reprezentovat. Získáme datovou matici dokumentů. Každý řádek matice reprezentuje dokument, každý sloupec zastupuje jeden extrahovaný atribut a buňky v matici kvantifikují míru zastoupení atributu v dokumentu.

Obr. 1: Strukturovaná reprezentace kolekce pomocí matice dokumentů
Obr. 1: Strukturovaná reprezentace kolekce pomocí matice dokumentů

Položme si klíčovou otázku: Jaké atributy budeme z dokumentů extrahovat, abychom co nejlépe vyřešili konkrétní predikční úlohu? Máme celou řadu možností, záleží, jakým úhlem pohledu na dokumenty nahlížíme.

Dokument můžeme považovat za množinu znaků. Má svoji velikost, určenou počtem znaků, a četnostní distribuci jednotlivých znaků. Běžné evropské jazyky používají řádově desítky znaků, zřejmě nebude nutné uvažovat všechny znaky, které nabízí Unicode. Abeceda českého jazyka se sestává ze 42 písmen včetně spřežky Ch. Reprezentace dokumentu pomocí četností písmen tedy nepřináší problémy.

Obr 2: Četnostní distribuce písmen české abecedy ve větě: „Na mezinárodním letišti v chilské metropoli Santiago de Chile v pondělí uprostřed dne skupina lupičů přepadla bezpečnostní dodávku s penězi.“
Obr 2: Četnostní distribuce písmen české abecedy ve větě: „Na mezinárodním letišti v chilské metropoli Santiago de Chile v pondělí uprostřed dne skupina lupičů přepadla bezpečnostní dodávku s penězi.“

Proti reprezentaci dokumentů pomocí četnosti písmen určitě každý namítne, že pořadí znaků v dokumentu hraje klíčovou roli. Přeuspořádáním znaků by vznikl úplně jiný dokument. Jakmile přihlédneme k pořadí, dostaneme se do problémů s počtem možných znakových sekvencí. Ten roste exponenciálně s délkou dokumentu. Kompromisním řešením se jeví sledování jen krátkých sekvencí pevné délky. Říká se jim písmenné n-gramy, n značí délku sekvence. I při tomto omezení se budeme potýkat s vysokým počtem sledovaných atributů. Například tri-gramů můžeme v češtině zkonstruovat 74 088. Většina z nich se ale v českých textech nevyskytuje, nebo se vyskytuje jen zřídka, a proto i tato jednoduchá reprezentace dokumentů si našla své uplatnění například při klasifikaci jazyka dokumentu ve vícejazyčných kolekcích.

Obr 3: Nejčetnější trigramy v celém článku začínajícího větou z předchozího obrázku. Článek je dlouhý 1496 znaků bez mezer.
Obr 3: Nejčetnější trigramy v celém článku začínajícího větou z předchozího obrázku. Článek je dlouhý 1496 znaků bez mezer.

Pokud si čteme nějaký dokument, nesledujeme, jaká písmena a n-gramy se v něm vyskytují. Dokumenty se pro nás skládají ze slov, na jejichž pořadí záleží, slova jsou uspořádána do vět, věty mohou tvořit souvětí. Tím se dostáváme na pole jazykově závislé lingvistiky, původní písmena jen slouží k záznamu vyšších lingvistických entit, které bychom z textů rádi extrahovali a použili je jako atributy ve strukturované reprezentaci dokumentů. V rámci lingvistického pohledu můžeme na text nahlížet nejméně ve čtyřech rovinách: lexikologické, morfologické, syntaktické a sémantické.

Obr 4: Nejčetnější slova v článku bez filtrace. Článek je dlouhý 259 slov.
Obr 4: Nejčetnější slova v článku bez filtrace. Článek je dlouhý 259 slov.

Lexikologie a morfologie se zabývají slovní zásobou a tvaroslovím, tj. skloňováním a časováním. S jejich pomocí extrahujeme z dokumentů slova, jsme schopni stanovit jejich základní tvar zvaný lemma a případně určit morfologické kategorie, jakými jsou pád, číslo, způsob, čas atd. Také můžeme ve slovech identifikovat morfémy, tedy předpony, kořeny, přípony a koncovky. Lexikologické a morfologické postupy nám v text miningu nabídnou reprezentaci dokumentů pomocí slov, slovních kořenů nebo lemmat. Podobně jako u písmenných n-gramů budeme muset bohužel řešit problém s počtem sledovaných atributů. V českém jazyce najdeme na 300 000 slovních kořenů a například Slovník spisovného jazyka českého ukrývá 192 000 hesel v základním tvaru.

V syntaktické rovině zkoumáme slovní druhy a jejich spojování do vyšších celků. Syntaktická analýza zachycuje věty pomocí stromových struktur. Díky nim můžeme z dokumentů extrahovat víceslovné termíny se specifikovanými vazbami mezi slovními druhy. A samozřejmě i v této rovině vyvstává problém s počtem možných víceslovných termínů. Jejich nemalý počet by se asi těžko odhadoval.

Obr 5: Vybrané termíny v základním tvaru a jejich skóre důležitosti ve větě: „Na mezinárodním letišti v chilské metropoli Santiago de Chile v pondělí uprostřed dne skupina lupičů přepadla bezpečnostní dodávku s penězi.“
Obr 5: Vybrané termíny v základním tvaru a jejich skóre důležitosti ve větě: „Na mezinárodním letišti v chilské metropoli Santiago de Chile v pondělí uprostřed dne skupina lupičů přepadla bezpečnostní dodávku s penězi.“

Díky pestré slovní zásobě jsme schopni vyjádřit stejnou myšlenku různými slovy a termíny. Myšlenky a témata dokumentů představují ty nejinformativnější atributy, které bychom rádi z dokumentů extrahovali. Dostáváme se tak do sémantické roviny. Dokumenty si představujeme jako množiny slov, která vznikla díky latentním tématům stojícím v pozadí dokumentů. Pomocí speciálních modelů latentních témat jsme schopni detekovat, jaká témata generovala dokumenty v kolekci, a kvantifikovat intenzitu těchto témat. Předností latentních témat je i to, že jich nebývá mnoho a nemusíme tak naléhavě řešit redukci počtu extrahovaných atributů. Nutno však poznamenat, že extrakci témat předchází extrakce slov, kde problém s počtem atributů řešit musíme.

Redukce dimenzionality

V jakékoli textminingové úloze je díky rozmanitosti přirozených jazyků nezbytné řešit zásadní problém s redukcí počtu atributů. V menší míře se s tím setkáme i v klasickém data miningu. Atributy můžeme buď vybírat, nebo je transformovat na nové, jichž je méně. Většinou redukci počtu atributů děláme v několika postupných krocích a kombinujeme tak metody výběrové a projekční.

Prvotním krokem bývá četnostní výběr atributů. Slova, termíny či n-gramy, které se vyskytují téměř ve všech dokumentech nebo naopak jen velmi zřídka, nebudou mít dostatečnou diskriminační schopnost a můžeme je zanedbat. Mezi četnostní výběr lze zařadit i filtrování stop slov. Jsou to zpravidla předložky, spojky, částice a některá zájmena, jež se vyskytují ve většině dokumentů a nenesou věcný význam. Obvykle je však neidentifikujeme podle četnosti, ale máme k dispozici jejich seznam pro konkrétní jazyk.

Dále může následovat filtrování termínů podle jejich důležitosti pro predikci. Pokud naším úkolem je dokumenty seskupit, budeme u každého atributu zkoumat míru, jakou přispívá k měření podobnosti. Chceme-li dokumenty klasifikovat, změříme, jak hodně atribut diskriminuje jednotlivé cílové kategorie.

Rozhodneme-li se pro redukci počtu slov, můžeme se opřít o morfologickou analýzu a pozorované slovní tvary nahradit kořeny nebo lépe lemmaty. K tomu ale již budeme potřebovat lingvistické zdroje pro český jazyk, zde minimálně morfologický slovník. Pokud však lingvistickými zdroji disponujeme, lze dále slova a termíny slučovat na základě jejich příbuznosti. K tomu nám pomůže například slovník synonym, tezaurus nebo ontologie.

V syntaktické rovině zase můžeme filtrovat termíny podle jejich vazeb. Například se omezíme jen na jmenné vazby a dále vybereme jen přívlastky shodné. K syntaktické analýze také budeme potřebovat specifický lingvistický zdroj, a to gramatiku.

Chceme-li z pozorovaných atributů zkonstruovat atributy nové, můžeme je například seskupit podobně, jako seskupujeme dokumenty či jiné objekty. Datovou matici stačí transponovat a pro účely seskupování tak dočasně zaměnit roli řádků a sloupců. Skupiny sloučených atributů pak nahradí původní nesloučené atributy.

Sémantickou analýzu dokumentů můžeme též považovat za extrakci nových atributů a redukci dimenzionality. Modely latentních témat nabídnou intenzity zastoupení jednotlivých témat v dokumentech a témata, jichž je mnohem méně než slov, původní slova nahradí.

Obr. 6: Model latentních témat generujících slova v dokumentech.
Obr. 6: Model latentních témat generujících slova v dokumentech.

Kdybychom se měli zabývat jednotlivými algoritmy pro extrakci a redukci atributů z textových dokumentů, potřebovali bychom na to spíše knihu než článek. Naštěstí ale mnohé postupy jsou implementovány a můžeme je jen využívat. Vývoj jazykově závislých lingvistických procedur pro český jazyk je bohužel pozadu oproti procedurám pro angličtinu a další světové jazyky. Ale i na našem českém trhu se objevují první vlaštovky. Jednou z nich je textminingový modul ATM určený pro dataminingové softwary SPSS Modeler a PS Clementine. Sám o sobě zatím ATM umí klasifikovat sentiment a extrahovat termíny z textových dokumentů. Díky spojení s ostatními dataminingovými procedurami však celý systém nabízí nejen komplexní řešení běžných textminingových úloh, ale je i nástrojem pro vývoj predikčních modelů, kde se kombinují strukturovaná a nestrukturovaná data.

Obr. 7: Dialog procedury klasifikace sentimentu v textminingovém modulu ACREA Text Mining
Obr. 7: Dialog procedury klasifikace sentimentu v textminingovém modulu ACREA Text Mining

Zdroj:
V ukázkách pod obrázky je použit zpravodajský text z článku na webu idnes.cz

Mgr. Ondřej Háva, PhD. Mgr. Ondřej Háva, PhD.
Autor článku je Senior Data Scientist ve společnosti ACREA CR.
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.

Inzerce

Pět způsobů, jak AI změní náš svět k nepoznání

AI_analyzuje_data-PR.jpegUmělá inteligence (AI) a strojové učení (ML) přináší už více než 10 let podnikům i výzkumníkům stále možnosti. Ať už jde o využití prediktivní analýzy k předvídání údržby zařízení, nástroje počítačového vidění, které dávají oči robotům na automatických montážních linkách, nebo digitální dvojčata sloužící k simulaci fungování továren, měst, a dokonce i celých ekonomik, seznam aplikací poháněných AI je dlouhý a stále se prodlužuje.