Úlohy dolovania z textov TEXT MINING Objavovanie znalostí v textoch Klasifikácia Zaradenie dokumentu do preddefinovaných kategórií Zhlukovanie Nájdenie a popis zhlukov podobných dokumentov Extrahovanie tém Vyextrahovanie hlavných tém v dokumentoch Analýza sentimentu Určenie polarity textu Extrahovanie informácií Extrahovanie entít, udalostí, vzťahov a faktov Extrahovanie tém (1) Extrahovanie tém () Úlohou je 1) nájsť témy zastúpené v množine dokumentov a ) popísať témy tak aby ich bolo možné interpretovať Najčastejšie sa používajú nekontrolované metódy Vhodná je vektorová + slovné spojenia Predpoklady: Obsah jedného dokumentu môže byť zložený z viacerých tém Témy je možné reprezentovať možinou charakteristických slov alebo fráz Jedno slovo môže vyjadrovať rôzne témy (v každej sa však vyskytuje v kontexte iných slov) Vyhodnotenie Na nezávislej množine sa otestuje ako dobre model dokáže popísať nové (za predpokladu rovnakého zastúpenia tém) Ale podobne ako pri zhlukovaní, dôležitá je interpretácia exom a vizualizácia výsledkov Extrahovanie tém a LSI (1) Extrahovanie tém a LSI () Term-dokument matica bola rozložená na súčin matíc T S D T Komponenty LSI sme prirovnali k témam, pričom platilo, že: Počet tém bol daný počtom komponentov LSI k Každej téme zodpovedal stĺpcový vektor v matici T, ktorého hodnoty T i,t určovali, do akej miery term i vyjadruje tému t Každej téme zodpovedal stĺpcový vektor v matici D, ktorého hodnoty D j,t určovali, do akej miery dokument j obsahuje tému t Témy boli vážené pre celú množinu dokumentov singulárnymi hodnotami s t z diagonálej matice S Váha termu v dokumente sa rozložila podľa: A i,j = T i,1 s 1 D j,1 + T i, s D j, +... + T i,k s k D j,k Hlavným problémom LSI pre extrahovanie tém je to, že hodnoty T i,t a D j,t nie sú ohraničené a môžu nadobúdať zápornú hodnotu, čo znemožňuje jednoduchú interpretáciu príslušnosti medzi termami a témami, resp. témami a dokumentami Pre jednoduchú interpretáciu by mali byť hodnoty T i,t a D j,t kladné a ohraničené 6 1
téma téma 1 téma téma téma téma téma 6 téma téma 8 téma 9 téma 1 11/1/1 LSI príklad (1) LSI príklad () A = T S D T téma. 1 téma. téma. téma. téma. téma. 6 téma. téma. 8 téma. 9 téma. 1 A A -1 A -9,-1 8,,, - - -, -, -, Priestor LSI 1,,, téma 1 9 1 6 8 LSI príklad (),6,,, 1 1 6 8 9,,,,6 Priestor tf-idf,6,,, 6 8 1 19,,,,6 Pri LSI sú dokumenty o e znalostí a e ov výrazne oddelené. Pri tf-idf pre dopyt + je ako najpodobnejší chybne zaradený dokument 1, a naopak, pre + by nemusel byť zaradený dokument 9 Pravdepodobnostný model tém Pravdepodobnostný model tém pre danú množinu n dokumentov a počet tém k priradí: Pre každú tému t rozdelenie pravdepodobnosti β t = (β t,1, β t,,..., β t,m ), β t,i (, 1), β t,1 + β t, +... + β t,m = 1, kde pravdepodobnosť β t,i určuje, do akej miery term i vyjadruje tému t Pre každý dokument j rozdelenie pravdepodobnosti θ j = (θ j,1, θ j,,..., θ n,j ), θ j,t (, 1), θ j,1 + θ j, +... + θ j,n = 1, kde pravdepodbnosť θ t,j určuje, do akej miery dokument j obsahuje tému t 9 1 Latentná Dirichletová Alokácia LDA (1) Latentná Dirichletová Alokácia LDA () Nie každé rozdelenie je vhodné na reprezentovanie príslušnosti termov ku témam Napr. ak máme celkovo 1 slov, pri uniformnom rozdelení β t = (.1,.1,.1,...,.1) každé slovo vyjadruje tému t s rovnakou pravdepodobnosťou, t.j. o žiadnom slove nemôžeme povedať, že charakterizuje danú tému t Vhodné je rozdelenie, kde sa len niektorým termom priradí vysoká pravdepodobnosť, a ostatným sa priradí veľmi malá Napr. podľa rozdelenia β t = (.,.1,.,.1,...,.1) vieme rozlíšiť, že slová 1 a sú charakteristické pre tému t (obe vyjadrujú tému s rovnakou pravdepodobnosťou.), všetky ostatné slová sa takmer nevyskytujú Podobne je to pri dokumentoch, chceme aby bol dokument zložený len z menšieho počtu tém: Napr. pre témy podľa rozdelenia θ j = (.6,.,.,.) je obsah dokumentu j tvorený hlavne témou 1 (6%) a (%) Vhodné rozdelenie je Dirichletove rozdelenie pravdepodobnosti, ktoré sústredí väčšiu časť pravdepodobnosti na malý počet hodnôt (termov, tém, atď.) Rozdelenie má parameter < α - čím menšia hodnota, tým je pravdepodobnosť sústredená na menší počet hodnôt (pre α = 1 dostaneme uniformné rozdelenie) 11 1
Latentná Dirichletova Alokácia LDA () LDA príklad Metóda LDA je pravdepodobnostná metóda založená na predpoklade, že pravdepodobnosti termov pre každú tému a pravdepodobnosti tém pre každý dokument majú Dirichletové rozdelenie Vstupné parametre: k - počet extrahovaných tém α t - parameter Dirichletovho rozdelenia pre priradenie termov, určuje počet charakteristických termov pre jednu tému α d - parameter Dirichletovho rozdelenia pre priradenie tém, určuje predpokladaný počet rôznych tém v jednom dokumente Vstupné : term-dokument matica s frekvenciami termov (nnn váhovanie) β 1 - Téma 1 β - Téma Téma 1 Téma θ 1 = (1,1E-, 9,99E-1) θ = (9,9E-, 9,99E-1) θ = (8,1E-, 9,99E-1) θ = (1,19E-, 9,99E-1) θ = (1,8E-, 9,99E-1) θ 6 = (9,99E-1, 1,1E-) θ = (9,99E-1, 1,E-) θ 8 = (9,99E-1, 1,9E-) θ 9 = (9,9E-1,,E-) θ 1 = (9,99E-1, 1,8E-),, 1 1 LSI a LDA - zhrnutie a porovnanie Analýza tém v dátových prúdoch Latentné Sémantické Indexovanie - LSI Vhodné na redukciu príznakového priestoru a zlepšenie vyhľadávania informácií Projekcia dát pre D/D vizualizáciu Latentná Direchletova Alokácia - LDA Určená pre pravdepodobnostné modelovanie tém Obidve metódy nezohľadňujú poradie slov v dokumente. Textové sú publikované postupne v čase napr. novinové články, správy na sociálnom webe, atď. Cieľom je analyzovať, ako sa témy menili v čase Detegovať vznik novej témy, alebo ďalší výskyt predošlej témy Analyzovať trendy (stúpajúca/klesajúca populárnosť témy) Najjednoduchší spôsob je analyzovať celú množinu za dané obdobie a zobraziť histogram dokumentov zaradených do jednotlivých tém Rozšírené metódy okrem priradenia tém termom a dokumentom modelujú aj výskyt témy v čase rozdelenie pravdepodobnosti pre časovú os 1 16 Interpretovanie tém Vizualizácia tém (1) Podľa pravdepodobnostného modelu: Vieme zistiť, ktoré slová sú charakteristické pre danú tému (majú väčšiu pravdepodobnosť β t,i ) Podľa θ j,t vieme rozhodnúť, ktorý dokument obsahuje danú tému Podobne ako pri zhlukovaní, okrem slov môžeme vyextrahovať vety, ktoré obsahujú čo najviac slov charakteristických pre danú tému Dôležitá je vizualizácia a interaktívne prehliadanie http://vis.stanford.edu/papers/termite 1 18
Vizualizácia tém () Analýza sentimentu (1) Základným om je priradiť textom subjektívnu polaritu t.j. rozhodnúť, či je text pozitívny, alebo negatívny Rozšírená rozlišuje viacero stupňov polarity (napr. počet hviezdičiek pri hodnotení filmov a pod.) Využitie hlavne v marketingu, starostlivosti o zákazníka, pri prieskumoch verejnej mienky Vhodná je vektorová + slovné spojenia, alebo kratšie postupnosti slov Vyhodnotenie na testovacej množine Chyba klasifikácie a kontingenčná tabuľka Subjektívne vnímanie môže spôsobiť nízku zhodu aj medzi ľuďmi (okolo 9%) http://www.memetracker.org/ 19 Analýza sentimentu () Analýza sentimentu () Pozitívne/negatívne slová Slová všeobecne vyjadrujúce pozitívny, alebo negatívny sentiment - dobrý/zlý Stupňovanie polarity Kontext, ktorý modifikuje stupeň, ale nemení sa polarita - celkom dobrý, úplne zlý, nie až taký zlý Negácia Kontext, ktorý mení polaritu výrazu Jednoduchá priama negácia - nie je dobrý Rozšírené frázy - nemyslím si, že je dobrý, mal byť dobrý (môže vyjadrovať nenaplnené očakávanie) Sarkazmus, irónia, implikácie a prenesený význam Doménová závislosť Niektoré slová, alebo tvrdenia v jednej doméne indikujú pozitívnu polaritu a v inej negatívnu: nepredvídateľný scenár - nepredvídateľné ovládanie, smiešna komédia - smiešna dráma, prečítajte si knihu Kultúrna závislosť Slangové výrazy Rozličný spôsob vyjadrovania a vnímania - napr. Britská vs. Americká angličtina: that s not bad, I almost agree,... 1 Analýza sentimentu - dôležitosť kontextu Metódy analýzy sentimentu (1) Vážení predajcovia <oddelenie predaja> Včera som navštívil <konkurenčnú predajňu>. Majú skvelý výber, najlepšie ceny, a nápomocný personál. Vaša firma je nanič. S pozdravom... Slovníkové metódy Slovník pozitívnych/negatívnych slov + pravidlá pre stupňovanie a negáciu SentiWordNet Slovník založený na WordNete, každému synsetu je priradená hodnota polarity a objektivity MPQA subjectivity lexicon Slovník slov používaných pri subjektívnych vyjadreniach s priradenou polaritou Správne klasifikovanie sentimentu vyžaduje vo všeobecnosti rozšírený kontext a zachovanie syntaktických väzieb
Metódy analýzy sentimentu () Metódy analýzy sentimentu () Nízka zhoda pri manuálne vytváraných slovníkoch Automatické metódy pre rozšírenie slovníka Založené na spoluvýskyte slov - vzájomná kde P(w) = počet výskytov slova w / celkový počet výskytov slov a P(w 1, w ) = počet spolu výskytov w 1 a w / celkový počet výskytov dvojíc slov Kontrolované metódy učenia Segmentovanie na vety, alebo krátke slovné spojenia, ktoré obsahujú subjektívny obsah môže zlepšiť Lineárne klasifikátory (hlavne SVM) Využitie aktívneho a semikontrolovaného učenia Kombinované metódy Počiatočná klasifikácia slovníkovou metódou (tzv. bootstrap) + rozšírenie naučeným modelom Založené na selekcii termov na klasifikovanej množine textov - informačný zisk, χ štatistika 6 Využitie semikontrolovaného a aktívneho učenia Rozšírené úlohy analýzy sentimentu text Rozdelenie na trénovacie a testovacie U Klasifikácia slovníkovou metódou X Manuálna klasifikácia X n Učenie klasifikátora T f Aktívny výber trénovacích dát Vyhodnotenie Aspektová analýza sentimentu Z textu sa vyextrahujú hodnotené entity a ich aspekty/vlastnosti (napr. produkt a jeho vlastnosti - veľkosť displeja, kapacita batérie a pod.) Hodnotí sa sentiment pre každý aspekt/vlastnosť samostatne Vyžaduje extrahovanie entít a rozlíšenie, ku ktorým aspektom sa vyjadrenie sentimentu vzťahuje (v jednej vete môže byť napr. pozitívne aj negatívne hodnotenie rôznych aspektov) Analýza sentimentu tém Vyžaduje extrahovanie tém, resp. klasifikáciu do preddefinovaných tém výsledný klasifikátor 8 Klasifikácia emócií SenticNet model Cieľom je rozpoznať emócie vyjadrené v texte Klasifikačná, ktorá zaradí text do preddefinovaných kategórií podľa rozdelenia emócií Základné rozdelenie podľa Ekmana: hnev, znechutenie, strach, šťastie/veselosť, smútok a prekvapenie Existuje aj viacero vektorových modelov - odhadujú sa spojité premenné v rôznych dimenziách, ktoré vyjadrujú napr. polaritu, intenzitu, pasívnosť/aktívnosť Je založený na tzv. modeli presýpacích hodín ohodnotených pojmov dimenzie (sensitivity, aptitude, attention, pleasantness) ktorých kombinácia definuje 16 základných emócií http://sentic.net/ 9