Za´padoˇceska´ univerzita v Plzni Fakulta aplikovany´ch vˇed Katedra informatiky a vy´poˇcetn´ı techniky
Diplomov´ a pr´ ace Automatick´ a sumarizace n´ azor˚ u
Plzeˇ n 2014
Bc. Petr Z´apotock´ y
Prohl´ aˇ sen´ı Prohlaˇsuji, ˇze jsem diplomovou pr´aci vypracoval samostatnˇe a v´ yhradnˇe s pouˇzit´ım citovan´ ych pramen˚ u. V Plzni dne 14. kvˇetna 2014 Bc. Petr Z´apotock´ y
Abstract This work is focused on usage and development of automatic methods for opinion summarisation. Opinion summarisation could be used as a helpful tool for processing larger quantities of input data from electronic media. The first part of this work covers theoretical knowledge, including summarisation algorithms.The second part is an implementation and experimentation with automatic opinion summarisation. At the end, the reader should be able to construct own software for automatic opinion summarisation.
Abstrakt Tato pr´ace je zamˇeˇrena na pouˇzit´ı a v´ yvoj automatick´e sumarizace n´azor˚ u. Sumarizace n´azor˚ u m˚ uˇze b´ yt pouˇzita jako pomocn´ y n´astroj pro zpracov´an´ı velk´eho mnoˇzstv´ı vstupn´ıch dat z elektronick´ ych m´edi´ı. Prvn´ı ˇca´st t´eto pr´ace je zamˇeˇrena na teoretick´e znalosti zahrnuj´ıc´ı algoritmy sumarizace. Druh´a ˇc´ast obsahuje implementaci a experiment´aln´ı ˇca´st automatick´e sumarizace n´azor˚ u. Po pˇreˇcten´ı by mˇel b´ yt ˇcten´aˇr schopen naimplementovat vlastn´ı software pro automatickou sumarizaci n´azor˚ u.
Obsah ´ 1 Uvod 1.1 Zdroje pro automatickou sumarizaci . . . . . . . . . . . . . . .
1 1
2 Pˇ redzpracov´ an´ı textu 2.1 Vlastnosti ˇcesk´eho jazyka . . . 2.2 Z´akladn´ı vlastnosti pˇr´ıspˇevk˚ u 2.3 Stopwords . . . . . . . . . . . 2.4 Lematizace . . . . . . . . . . 2.5 POS tagging . . . . . . . . . . 2.6 N-Gramy . . . . . . . . . . .
. . . . . .
4 4 5 6 6 6 7
. . . . . . .
8 8 9 10 10 10 12 13
. . . . . . . . . .
15 15 15 16 16 17 18 18 19 21 22
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
3 Anal´ yza n´ azor˚ u 3.1 Slovn´ıkov´e metody . . . . . . . . . . . 3.1.1 Slovn´ıky . . . . . . . . . . . . . 3.1.2 Negace . . . . . . . . . . . . . . 3.2 Algoritmy strojov´eho uˇcen´ı . . . . . . . 3.2.1 Support Vector Machines . . . . 3.2.2 Naive Bayes . . . . . . . . . . . 3.2.3 Modelov´an´ı maxim´aln´ı entropi´ı
. . . . . .
. . . . . . .
. . . . . .
. . . . . . .
. . . . . .
. . . . . . .
. . . . . .
. . . . . . .
. . . . . .
. . . . . . .
4 Automatick´ a sumarizace 4.1 Metody sumarizace . . . . . . . . . . . . . . . . 4.1.1 Pr˚ ukopnick´e metody . . . . . . . . . . . 4.1.2 Statistick´e metody . . . . . . . . . . . . 4.1.3 Metody zaloˇzen´e na textov´em propojen´ı 4.1.4 Aspektovˇe ˇr´ızen´a sumarizace . . . . . . . ˇ 4.1.5 Casov´ a anal´ yza . . . . . . . . . . . . . . 4.1.6 Kompresn´ı a parafr´azov´e techniky . . . . 4.1.7 Sumarizace zaloˇzen´a na LSA . . . . . . . 4.2 Sumarizace n´azor˚ u . . . . . . . . . . . . . . . . 4.2.1 Data . . . . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . .
. . . . . .
. . . . . . .
. . . . . . . . . .
OBSAH
OBSAH 4.2.2 4.2.3 4.2.4
Z´akladn´ı anal´ yza n´azor˚ u a sumarizace . . . . . Sumarizace zaloˇzen´a na intenzitˇe n´azoru . . . . Sumarizace zaloˇzen´a na t´ematu anal´ yzy n´azor˚ u mantick´ ych informac´ı . . . . . . . . . . . . . . .
5 Sumariz´ ator n´ azor˚ u na Facebooku 5.1 Architektura . . . . . . . . . . . . . . . . . . . 5.2 Implementace . . . . . . . . . . . . . . . . . . 5.2.1 Implementace anal´ yzy sentimentu . . . 5.2.2 Implementace automatick´e sumarizace 5.2.3 Implementace rozhran´ı pro Facebook . 5.3 Testov´an´ı aplikace . . . . . . . . . . . . . . . . 5.3.1 Nokia . . . . . . . . . . . . . . . . . . 5.3.2 iDnes.cz . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
6 Experiment 6.1 Z´ısk´an´ı datasetu . . . . . . . . . . . . . . . . . . . . 6.1.1 Form´at dat . . . . . . . . . . . . . . . . . . 6.2 Testov´an´ı . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Manu´aln´ı sumarizace . . . . . . . . . . . . . 6.2.2 Automatick´a sumarizace . . . . . . . . . . . 6.3 V´ ysledky . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Manu´aln´ı v´ ybˇer subjektivn´ıch pˇr´ıspˇevk˚ u . . 6.3.2 Automatick´ y v´ ybˇer subjektivn´ıch pˇr´ıspˇevk˚ u 6.3.3 Srovn´an´ı automatick´e sumarizace . . . . . .
. . . . . . . .
. . . . . . . . .
. . . . . . . .
. . . . . . . . .
. . a .
. . . 22 . . . 23 s´e. . . 23
. . . . . . . .
. . . . . . . .
25 25 25 25 28 29 31 31 34
. . . . . . . . .
37 37 38 39 39 40 41 41 45 46
. . . . . . . . .
. . . . . . . .
. . . . . . . . .
. . . . . . . .
. . . . . . . . .
7 Z´ avˇ er 50 7.1 Vylepˇsen´ı v´ ysledk˚ u sumarizace . . . . . . . . . . . . . . . . . . 50 A Uˇ zivatelsk´ a dokumentace
56
´ 1 Uvod V dneˇsn´ı technologicky vyspˇel´e dobˇe zamˇeˇren´e z hlediska m´edi´ı zejm´ena na jejich elektronickou podobu je ˇc´ım d´al ˇcastˇejˇs´ı potˇreba pracovat s textem na vyˇsˇs´ı u ´rovni. Nekonˇc´ıme tedy jen u pouh´eho ˇcten´ı, ale napˇr´ıklad z hlediska efektivity potˇrebujeme v textu vyhled´avat souvislosti, tˇr´ıdit d˚ uleˇzit´e informace nebo vyhodnocovat struˇcn´e z´avˇery. Do tohoto odvˇetv´ı tak´e v posledn´ıch p´ar letech velice d˚ uraznˇe promlouvaj´ı soci´aln´ı s´ıtˇe, z jejichˇz dat se d´a vypozorovat opravdu velk´e mnoˇzstv´ı d˚ uleˇzit´ ych informac´ı. S takov´ ymi daty tedy m˚ uˇzeme nakl´adat opravdu mnoha zp˚ usoby a m˚ uˇzeme je vyuˇz´ıvat za r˚ uzn´ ym u ´ˇcelem. Tato pr´ace je vˇsak zamˇeˇren´a principi´alnˇe na sumarizaci n´azor˚ u. Znamen´a to, ˇze data z v´ yˇse zm´ınˇen´ ych zdroj˚ u jsou zpracov´av´ana tak, abychom jednoduch´ ym zp˚ usobem zjistili hlavn´ı myˇslenky a n´azory. Standardnˇe byste museli fyzicky proˇc´ıst veˇsker´a zdrojov´a data tak, abyste vyvodili vlastn´ı z´avˇery. To vˇsak m˚ uˇze b´ yt u rozs´ahl´ ych dat opravdu n´aroˇcn´a metoda. Tato pr´ace je tak zamˇeˇrena na zp˚ usob, jak´ ym tuto sumarizaci m˚ uˇzeme prov´adˇet automaticky za pouˇzit´ı speci´aln´ıch algoritm˚ u. Druh´ ym c´ılem t´eto pr´ace je implementace automatick´eho sumariz´atoru s n´asledn´ ym testov´an´ım, experimentov´an´ım a samozˇrejmˇe anal´ yzou dosaˇzen´ ych v´ ysledk˚ u, porovn´av´an´ım s re´alnˇe vytvoˇren´ ymi z´avˇery. V tomto pˇr´ıpadˇe je automatick´ y sumariz´ator n´azor˚ u zamˇeˇren na zpracov´an´ı zdrojov´ ych dat ze soci´aln´ı s´ıtˇe Facebook. Nen´ı vˇsak probl´em upravit software tak, aby byl schopen analyzovat data z jin´ ych soci´aln´ıch s´ıt´ı nebo elektronick´ ych m´edi´ı. Po pˇreˇcten´ı t´eto pr´ace by mˇel m´ıt ˇcten´aˇr pˇrehled o automatick´e sumarizaci n´azor˚ u, jej´ım vyuˇzit´ı a tak´e o jej´ı efektivnosti v dan´em algoritmick´em zpracov´an´ı. D´ale by mˇel b´ yt schopen upravit sumariz´ator pro anal´ yzu dat z jin´ ych zdroj˚ u a vylepˇsovat celkovou efektivnost algoritmu. Pˇriloˇzena je tak´e demo aplikace pro kompletn´ı dokreslen´ı vyuˇzit´ı v praxi.
1.1
Zdroje pro automatickou sumarizaci
Jak jiˇz bylo v´ yˇse zm´ınˇeno, sumariz´ator by mˇel b´ yt schopen zpracovat jak´akoliv textov´a data s jak´ ymkoliv objektivn´ım n´azorem. Nav´ıc jiˇz bylo zm´ınˇeno, ˇze sumarizace je vhodn´a zejm´ena pro odvˇetv´ı, kde mohou v´ ysledky poskytnout 1
´ Uvod
Zdroje pro automatickou sumarizaci
kromˇe pouh´e informace i nˇeco nav´ıc. Obchod, reklama, marketing vˇseobecnˇe. To jsou pˇresnˇe ta odvˇetv´ı, kde se mohou v´ ysledky vyuˇz´ıt s nejvˇetˇs´ım uˇzitkem. D´ıky spr´avn´e a rychl´e anal´ yze urˇcit´ ych zdrojov´ ych dat m˚ uˇze firma flexibilnˇe reagovat na jak´ekoliv probl´emy, kter´e se k n´ı od nespokojen´ ych klient˚ u nebo z´akazn´ık˚ u dostanou. Dost´av´ame se tak do u ´rovnˇe z´asadn´ıch odliˇsuj´ıc´ıch faktor˚ uu ´spˇechu a ne´ uspˇechu firem. Mezi hlavn´ı zdroje tˇechto dat poˇc´ıt´ame tedy takov´a m´ısta, kde vˇetˇs´ı mnoˇzstv´ı lid´ı ventiluje sv˚ uj osobn´ı n´azor a t´ım tak d´av´a najevo sv˚ uj postoj k urˇcit´e situaci, sluˇzbˇe nebo v´ yrobku. Patˇr´ı mˇezi nˇe zejm´ena diskuze nebo soci´aln´ı s´ıtˇe. Facebook je v naˇsem okol´ı moment´alnˇe nejrozˇs´ıˇrenˇejˇs´ı soci´aln´ı s´ıt’, kter´a se pro automatickou sumarizaci n´azor˚ u hod´ı opravdu hodnˇe. Jej´ı nejvˇetˇs´ı v´ yhodou jsou tzv. facebookov´e str´anky r˚ uzn´ ych firem, spoleˇcnost´ı nebo v´ yrobk˚ u, pod kter´ ymi mohou dan´e subjekty pˇr´ımo vystupovat a tvoˇrit svoj´ı vlastn´ı soci´aln´ı identitu. D´ıky vlastnostem velice rozˇs´ıˇren´e soci´aln´ı s´ıtˇe se v idea´ln´ım pˇr´ıpadˇe m˚ uˇze jednat o velice efektivn´ı n´astroj pro komunikaci s klienty nebo z´akazn´ıky. Z tohoto d˚ uvodu se tak takov´eto facebookov´e str´anky st´avaj´ı pˇr´ımo ide´aln´ım zdrojem pro automatickou sumarizaci n´azor˚ u, jelikoˇz se zde v ide´aln´ım pˇr´ıpadˇe m˚ uˇze nashrom´aˇzdit opravdu velik´e mnoˇzstv´ı pˇr´ıspˇevk˚ u, reakc´ı a n´azor˚ u na v´ yrobek, sluˇzbu, spoleˇcnost nebo dˇen´ı kolem n´ı. D´ıky dobr´emu automatick´emu sumariz´atoru by tak mohly tyto spoleˇcnosti analyzovat vlastn´ı pˇrednosti nebo naopak nedostatky. ˇ Twitter je soci´aln´ı s´ıt’ zamˇeˇren´a zejm´ena na reakce a glosov´an´ı. V CR zat´ım ne tak rozˇs´ıˇren´a jako napˇr´ıklad v USA, ale jej´ı obliba neust´ale roste. Proces automatick´e sumarizace by se zde dal vyuˇz´ıt napˇr´ıklad pro zpracov´an´ı pˇr´ıspˇevk˚ u s dan´ ym hashtagem, tedy s urˇcit´ ym atributem vyjadˇruj´ıc´ı dan´e t´ema. Daj´ı se tak opˇet analyzovat data, kter´a jsou pˇridruˇzena k nˇejak´e znaˇcce v´ yrobku nebo spoleˇcnosti. Soci´aln´ı s´ıt’ Google+ vznikla jako reakce spoleˇcnosti Google na vysoce se rozˇsiˇruj´ıc´ı trend soci´aln´ıch s´ıt´ı. M´a za u ´kol stejnˇe jako ostatn´ı soci´aln´ı s´ıtˇe podporovat zejm´ena komunikaci a spoleˇcenskou interakci. Jedn´a se o nejmladˇs´ı soci´aln´ı s´ıt’ z v´ yˇse zm´ınˇen´ ych a je proto tak´e zat´ım mezi uˇzivateli nejm´enˇe rozˇs´ıˇren´a, aˇckoliv tomu tak u ´plnˇe ˇr´ıkat nem˚ uˇzeme, jelikoˇz d´ıky rozˇs´ıˇren´emu vyuˇz´ıv´an´ı emailov´e sluˇzby Gmail spoleˇcnosti Google je kaˇzd´ y takov´ yto uˇzivatel automaticky vlastn´ıkem profilu v soci´aln´ı s´ıti Google+. Obecnˇe jak´ekoliv diskuzn´ı f´ orum se st´av´a ide´aln´ım pˇredmˇetem pro ana-
2
´ Uvod
Zdroje pro automatickou sumarizaci
l´ yzu pomoc´ı automatick´eho sumariz´atoru n´azor˚ u, jelikoˇz pˇresnˇe proto jsou diskuzn´ı f´ora vyuˇz´ıv´ana. Staˇc´ı jen zvolit vl´akno nebo soubor vl´aken k t´ematu, kter´e chceme analyzovat a m´ame tak´e velice hodnotn´a zdrojov´a data. Analyzovat se vˇsak d´a t´emˇeˇr jak´ ykoliv text, jehoˇz sumarizace by n´as potenci´alnˇe mohla zaj´ımat. Blogy jsou v p˚ uvodn´ı podstatˇe jak´esi den´ıˇcky, kam mohou uˇzivatel´e ps´at jak´ekoliv svoje myˇslenky nebo z´aˇzitky, kter´e se postupem ˇcasu pˇretransformovali tak´e na pomocn´ y prostˇredek vˇetˇs´ıch firem k informov´an´ı kolem dˇen´ı ve spoleˇcnosti nebo kolem novinek z dan´eho odvˇetv´ı, kter´e nemus´ı ani pˇr´ımo s ˇcinnost´ı firmy souviset. V´ yhodou tˇechto blog˚ u je tak´e to, ˇze se mohou v mnoha pˇr´ıpadech komentovat jednotliv´e ˇcl´anky a vznik´a tak dalˇs´ı prostor pro n´azorovou anal´ yzu a n´aslednou sumarizaci. Recenze je dalˇs´ı specifick´ y typ textu, jeˇz vyjadˇruje vlastn´ı n´azor autora na urˇcit´e d´ılo, v´ yrobek nebo sluˇzbu. Jedn´a se zde opravdu o subjektivn´ı pocity a n´azory a je tak moˇznost, ˇze bychom tato data chtˇeli nˇejak´ ym zp˚ usobem analyzovat, zejm´ena pak v pˇr´ıpadˇe, ˇze vznikne na dan´ y v´ yrobek nebo d´ılo recenz´ı des´ıtky aˇz stovky a my nejsme schopni z nich za rozumn´e n´aklady vyvodit reprezentativn´ı v´ ysledky. Aˇckoliv by se v r´amci zpravodajstv´ı mˇelo jednat o objektivn´ı a podloˇzen´e zpr´avy, zkuˇsenosti n´am ukazuj´ı, ˇze tomu tak b´ yt nemus´ı, ba naopak. Je to tak dalˇs´ı z mnoha moˇznost´ı, kdy vyuˇz´ıvat automatickou sumarizaci n´azor˚ u a to zejm´ena, pokud se zpr´av o dan´e vˇeci sejde v´ıcero z r˚ uzn´ ych zdroj˚ u.
3
2 Pˇredzpracov´an´ı textu Pˇri jak´ekoliv anal´ yze textu, at’ uˇz ˇcesk´eho nebo cizojazyˇcn´eho, mus´ıme br´at vu ´vahu, ˇze jak´ ykoliv text, kter´ y pouˇzijeme, nemus´ı b´ yt pro danou anal´ yzu zcela ide´aln´ı a mˇeli bychom se tak zamyslet nad jeho pˇredzpracov´an´ım, tedy pˇr´ıpravˇe textu k dan´e anal´ yze tak, abychom dos´ahli kvalitn´ıch v´ ysledk˚ u. Pˇr´ıkladem uved’me n´astroj Although Ark-tweetnlp tool [Gimpel et al.(2011)], jehoˇz v´ yznamnou vlastnost´ı je zamˇeˇren´ı na emotikony a dalˇs´ı speci´aln´ı sekvence symbol˚ u. Aˇckoliv byl tento n´astroj vyvinut a optimalizov´an pro anglick´ y jazyk, [Habernal et al.(2013)] uv´ad´ı, ˇze podle testov´an´ı na ˇcesk´em jazyce je tento postup u ´spˇeˇsn´ y i tam. Mezi dalˇs´ı ˇsiroce pouˇz´ıvan´e metody, kter´e zapˇr´ıˇcin´ı zmenˇsen´ı slovn´ıku jsou napˇr´ıklad lematizace nebo odstranˇen´ı stopwords (tzv. stopslova, coˇz jsou slova, kter´a ˇza´dn´ ym zp˚ usobem nevyjadˇruj´ı subjektivitu).
2.1
Vlastnosti ˇ cesk´ eho jazyka
Pokud se v r´amci t´eto pr´ace chceme zamˇeˇrit na automatickou sumarizaci n´azor˚ u zejm´ena v ˇcesk´em jazyce, mˇeli bychom m´ıt z´akladn´ı znalosti o tomto jazyku a o tom, jak kter´a slova vznikaj´ı nebo jak s nimi nakl´adat. Z´akladem je tedy znalost slovotvorby, coˇz je podle [Marek Nekula(2003)] odvˇetv´ı zab´ yvaj´ıc´ı se tvorbou jednoslovn´ ych pojmenov´an´ı a to bud’ na z´akladˇe pojmenov´an´ı n´azv˚ u jiˇz existuj´ıc´ıch nebo n´azv˚ u odvozen´ ych, respektive jejich vznikem. Obecnˇe m˚ uˇzeme ˇr´ıci, ˇze slovotvorba se dˇel´ı na dvˇe metody, derivaci (odvozov´an´ı nov´ ych slov od jiˇz existuj´ıc´ıch) a kompozici (skl´ad´an´ı nov´ ych slov ze slov jiˇz existuj´ıc´ıch). Mezi z´akladn´ı informace o ˇcesk´em jazyce, kter´ y je flektivn´ı (m˚ uˇzeme slova ˇcasovat a skloˇ novat) bychom mˇeli zaˇradit tak´e definovan´e ˇc´asti ˇcesk´ ych slov. • Koˇ ren - tvoˇr´ı z´aklad kaˇzd´eho slova a je d´ale nedˇeliteln´ y. Koˇren urˇcuje z´akladn´ı v´ yznam slova a d´ıky pˇredpon´am, pˇr´ıpon´am a koncovk´am je d´ale rozv´ıjen, ˇc´ımˇz vznikaj´ı nov´e a nov´e tvary slov [Marek Nekula(2002)]. • Pˇ redpona - v [Marek Nekula(2002)] je uvedeno, ˇze pˇredpona (prefix) je rozˇs´ıˇren´ı z´akladov´eho slova, je pˇripojena pˇred toto slovo a mˇen´ı jeho v´ yznam, ale slovn´ı druh z˚ ust´av´a nepozmˇenˇen.
4
Pˇredzpracov´an´ı textu
Z´akladn´ı vlastnosti pˇr´ıspˇevk˚ u
• Pˇ r´ıpona - neboli sufix je opakem pˇredpony a d´ıky sufixaci (metoda tvoˇr´ıc´ı nov´a slova pomoc´ı pˇrid´av´an´ı pˇr´ıpon [Marek Nekula(2002)]), vznikaj´ı podobnˇe jako u pˇredpon slova nov´ ych v´ yznam˚ u, ale v tomhle pˇr´ıpadˇe doch´az´ı nav´ıc tak´e ke zmˇenˇe slovn´ıho druhu. • Koncovka - podle [Marek Nekula(2002)] m˚ uˇze b´ yt souˇca´st´ı pˇr´ıpony (na jej´ım konci), ale m˚ uˇze b´ yt vˇsak napojena pˇr´ımo na slovn´ı z´aklad.
2.2
Z´ akladn´ı vlastnosti pˇ r´ıspˇ evk˚ u
Pokud se v r´amci t´eto diplomov´e pr´ace zamˇeˇr´ıme pˇrednostnˇe na anal´ yzu pˇr´ıspˇevk˚ u z nˇejak´e facebookov´e str´anky, m´ame ide´aln´ı zdrojov´a data pro urˇcov´an´ı sentimentu. Aˇckoliv se m˚ uˇze zd´at, ˇze se jedn´a o zcela ide´aln´ı pˇr´ıpad pro zkoum´an´ı sentimentu s n´aslednou sumarizac´ı, mˇeli bychom se zamˇeˇrit na urˇcit´e aspekty, kter´e mohou klasifikaci sentimentu zkreslit. • Pˇrednˇe mus´ıme ˇr´ıci, ˇze v´ ysledn´ y sentiment dan´eho pˇr´ıspˇevku nemus´ı b´ yt zcela totoˇzn´ y se sentimentem kaˇzd´eho urˇcit´eho slova z pˇr´ıspˇevku. Jinak ˇreˇceno napˇr´ıklad slova s kladn´ ym sentimentem mohou b´ yt obsaˇzena v pˇr´ıspˇevku s v´ ysledn´ ym z´aporn´ ym sentimentem nebo naopak. • Jako u vˇetˇsiny text˚ u se i ve vˇetˇsinˇe pˇr´ıspˇevk˚ u budou vyskytovat nezv´ yznamov´a slova, tzv. stopwords, kter´a mohou anal´ yzu zkreslovat. • Mezi velk´e pˇrek´aˇzky ve spr´avnˇe klasifikaci sentimentu patˇr´ı napˇr´ıklad ironie. Pˇr´ıspˇevek s ironick´ ym podtextem m˚ uˇze b´ yt klasifikov´an zcela opaˇcnˇe. • Mezi ostatn´ı vlastnosti pˇr´ıspˇevk˚ u na soci´aln´ıch s´ıt´ı patˇr´ı prim´arnˇe lidsk´ y faktor. Kv˚ uli tomu se v textu vyskytuj´ı r˚ uzn´e pˇreklepy, pˇresmyˇcky nebo dokonce pravopisn´e chyby, kter´e nelze pˇredem nijak predikovat a vznik´a tak dalˇs´ı probl´em se spr´avnou klasifikac´ı. V ide´aln´ım pˇr´ıpadˇe bychom se mˇeli vˇsech tˇechto v´ yˇse zm´ınˇen´ ych probl´em˚ u zbavit a odstranit je, coˇz vˇsak m˚ uˇze b´ yt opravdu sloˇzit´e.
5
Pˇredzpracov´an´ı textu
2.3
Stopwords
Stopwords
Jako stopwords oznaˇcujeme slova, kter´a n´am do oblasti zkoum´an´ı sentimentu nepˇrin´aˇs´ı ˇza´dn´ y v´ yznam a jsou tud´ıˇz zbyteˇcnˇe rozˇsiˇruj´ıc´ım faktorem zdrojov´ ych dat a t´ım i jeho zbyteˇcn´eho zkreslen´ı. Je tedy velice ˇza´douc´ı, abychom se takov´ ychto pˇred samotnou klasifikac´ı zbavili a cel´ y proces tak znaˇcnˇe zjednoduˇsili. Pˇri detailnˇejˇs´ım zkoum´an´ı lze totiˇz vypozorovat, ˇze se pr´avˇe zm´ınˇen´e stopwords vyskytuj´ı ve vˇetˇsinˇe textech nefrekventovanˇeji a pˇri zkoum´an´ı sentimentu i se stopwords by tak doch´azelo opravdu ke zbyteˇcn´emu a rozs´ahl´emu ovlivˇ nov´an´ı klasifikace. Z pohledu slovn´ıch druh˚ u m˚ uˇzeme ˇr´ıci, ˇze se jedn´a zejm´ena o spojky nebo z´ajmena a jak je zn´amo, tato slova ˇz´adn´ y v´ yznam z hlediska sentimentu nenesou. Jako referenˇcn´ı a z´aroveˇ n re´aln´ y seznam stopwords byl pouˇzit seznam poskytnut´ y Ing. Josefem Steinbergerem, Ph.D., obsahuj´ıc´ı pˇres 800 tˇechto sentimentovˇe nev´ yznamn´ ych v´ yraz˚ u. Kompletn´ı seznam tˇechto slov naleznete v pˇr´ıloze A.
2.4
Lematizace
Pomoc´ı lematizace dost´av´ame z´akladn´ı tvary slova dan´eho v´ yznamu, kter´ y se vˇsak v textu m˚ uˇze vyskytovat v r˚ uzn´ ych p´adech nebo ˇcasech. Pˇr´ıkladem bud’ napˇr´ıklad sloveso zav´ahat, kter´e se po procesu lematizace ust´al´ı ve tvaru v´ahat, tedy v infinitivu p˚ uvodn´ıho slovesa. Pˇresnˇe takov´ ymto zp˚ usobem dojde ke sjednocen´ı slov stejn´eho v´ yznamu, avˇsak rozd´ıln´ ych tvar˚ u. Potenci´alnˇe tak zuˇzujeme seznam slov pouˇzit´ ych v analyzovan´em textu.
2.5
POS tagging
Metoda zjiˇst’uj´ıc´ı slovn´ı druh a tvar analyzovan´eho slova pojmenovan´a podle anglick´eho v´ yznamu part of speech (POS). Tento algoritmus generuje ke zkouman´ ym slov˚ um pravidly definovan´e ˇretˇezce a t´ım tak pozn´ame p˚ uvodn´ı slovn´ı druh, pˇr´ıpadnˇe tvar. D´ıky tˇemto ˇretˇezc˚ um m´ame k lematizovan´ ym slov˚ um p˚ uvodn´ı informace a m˚ uˇzeme je v pˇr´ıpadˇe potˇreby vyuˇz´ıt. Jedn´a se tak napˇr´ıklad o zjiˇstˇen´ı pˇr´ıslovc´ı urˇcuj´ıc´ıch m´ıru, kter´e se po lematizaci zkr´atily na pˇr´ısluˇsn´ y z´aklad. Pˇri zdokonalov´an´ı klasifikace sentimentu tak m˚ uˇzeme 6
Pˇredzpracov´an´ı textu
N-Gramy
vyuˇz´ıt i tˇechto informac´ı a v´ ysledky anal´ yzy zpˇresnit.
2.6
N-Gramy
Tato konstrukce slouˇz´ı zejm´ena pro urˇcen´ı sentimentu tam, kde bychom ho pouze za pomoci zkoum´an´ı jednotliv´ ych slov nikdy neodhalili. N-gram n´am zn´azorˇ nuje dvˇe a v´ıce slov, jdouc´ı po sobˇe v pˇresnˇe dan´em poˇrad´ı, ˇc´ımˇz m˚ uˇzeme definovat sentiment i u slovn´ıch spojen´ı, jejichˇz samostatn´a slova sama o sobˇe ˇza´dn´ y sentiment neobsahuj´ı. Konkr´etnˇe v naˇsem pˇr´ıpadˇe n´asledn´eho praktick´eho vyuˇzit´ı m˚ uˇzeme nejv´ıce pouˇz´ıvan´a slovn´ı spojen´ı (napˇr´ıklad bigramy obsahuj´ıc´ı dvˇe slova) s dan´ ym sentimentem pˇridat do pouˇz´ıvan´ ych slovn´ık˚ u a zv´ yˇsit tak pˇresnost v´ ysledk˚ u anal´ yzy.
7
3 Anal´yza n´azor˚ u V anal´ yze n´azor˚ u je c´ılem rozpoznat a klasifikovat subjektivn´ı obsah textu. Rozpozn´av´ame tedy subjektivn´ı n´azory, jejichˇz anal´ yza n´am m˚ uˇze pomoci k rychl´emu pochopen´ı z´asadn´ıch myˇslenek autora/autor˚ u. Zdrojov´a data mohou b´ yt klasifikov´ana jako celek a z hodnocen´ı se tak m˚ uˇzeme dozvˇedˇet celkov´ y n´azor na v´ yrobek nebo sluˇzbu. Napˇr´ıklad v r´amci zpravodajstv´ı pak m˚ uˇzeme klasifikovat jednotliv´e zpr´avy a rychl´ ym zp˚ usobem je rozliˇsit na dobr´e a ˇspatn´e. Vˇse se ovˇsem odv´ıj´ı od subjektivn´ıch n´azor˚ u autora textu a nemus´ı to tak jednoznaˇcnˇe znamenat, ˇze obecnˇe dobr´a zpr´ava bude pops´ana v superlativech. Za urˇcit´ ych okolnost´ı pak m˚ uˇze nastat situace, ˇze ve vaˇsich oˇc´ıch dobr´a zpr´ava bude sentimentovˇe vyhodnocena jako ˇspatn´a nebo naopak. Takov´eto probl´emy mohou vznikat pˇredevˇs´ım u n´azor˚ u na konkr´etn´ı osoby, celebrity nebo politick´e dˇen´ı. Je proto nutn´e zamˇeˇrit se na celkov´ y kontext zpr´avy, coˇz kompletn´ı klasifikaci zdrojov´ ych dat ˇcasto velice znesnadˇ nuje. Pokud se chceme tˇemto probl´em˚ um vyhnout a dos´ahnout opravdu hodnotn´eho v´ ysledku, mˇeli bychom na danou situaci sehnat co nejv´ıce zdroj˚ u v ide´aln´ım pˇr´ıpadˇe od r˚ uzn´ ych autor˚ u, z r˚ uzn´ ych zem´ı nebo v r˚ uzn´ ych jazyc´ıch. Pot´e bychom mˇeli m´ıt mnohem vˇetˇs´ı jistotu, ˇze v´ ysledky klasifikace nebudou zkreslen´e a budou m´ıt dostateˇcnou vypov´ıdaj´ıc´ı hodnotu. Co se t´ yˇce zdroj˚ u v r˚ uzn´ ych jazyc´ıch, je nutn´e pˇriznat, ˇze nen´ı zcela snadn´e vytvoˇrit analyz´ator pro v´ıce jazyk˚ u, kter´ y by nav´ıc pracoval nad obrovsk´ ym mnoˇzstv´ım zdrojov´ ych text˚ u. Probl´em tak´e nast´av´a v pˇr´ıpadˇe diverzifikace zdrojov´ ych text˚ u. Ve v´ ysledku m˚ uˇzeme prohl´asit za pouˇziteln´e pouze recenze a to jeˇstˇe ve vˇetˇsinˇe pˇr´ıpad˚ u pouze v angliˇctinˇe. Sentimentov´e slovn´ıky jsou tak´e ve vˇetˇsinˇe pˇr´ıpad˚ u pouze anglick´e. V pˇr´ıpadˇe ostatn´ıch jazyk˚ u nem˚ uˇzeme slovn´ıky povaˇzovat za adekv´atn´ı slovn´ık˚ um anglick´ ym, jelikoˇz nejsou vytv´aˇreny pro zcela stejn´e u ´ˇcely podle naprosto stejn´ ych pravidel.
3.1
Slovn´ıkov´ e metody
Jedn´a se o jeden ze dvou z´akladn´ıch pˇr´ıstup˚ u, jak sentimentovˇe analyzovat zdrojov´ y text [Taboada et al.(2011)]. K urˇcov´an´ı sentimentu se vyuˇz´ıv´a ruˇcnˇe nebo automaticky vytvoˇren´ ych slovn´ık˚ u, na jejichˇz b´azi doch´az´ı k dan´e ana8
Anal´yza n´azor˚ u
Slovn´ıkov´e metody
l´ yze a to tak, ˇze se proch´az´ı slovo od slova a urˇcuje se celkov´e sentimetnov´e sk´ore na z´akladˇe v´ yskytu dan´eho slova ve slovn´ıku. Velkou ˇc´ast kaˇzd´eho slovn´ıku pro anal´ yzu sentimentu zahrnuj´ı pˇr´ıdavn´a jm´ena, jelikoˇz pr´avˇe ta jsou ve velk´e ˇca´sti nositeli sentimentu.
3.1.1
Slovn´ıky
Jak jiˇz bylo naps´ano, slovn´ıky pro slovn´ıkov´e metody mohou b´ yt vytvoˇrenu bud’ ruˇcnˇe nebo automaticky pomoc´ı z´akladn´ıch slov a jejich dalˇs´ım rozˇsiˇrov´an´ım tak, ˇze kaˇzd´e nov´e pˇr´ıdavn´e jm´eno je dopoˇc´ıt´ano podle frekvence pˇridruˇzen´ı ke st´avaj´ıc´ım z´akladn´ım slov˚ um. V principu je totiˇz na vˇec nahl´ıˇzeno tak, ˇze kladn´a pˇr´ıdavn´a jm´ena se ˇcastˇeji objevuj´ı v bl´ızkosti kladn´ ych z´akladn´ıch slov a opaˇcnˇe. Velk´a ˇca´st v´ yzkumu slovn´ık˚ u a slovn´ıkov´ ych metod se zamˇeˇruje na pouˇzit´ı pˇr´ıdavn´ ych jmen jako indik´ator˚ u s´emantick´e orientace textu. Takov´eto slovn´ıky tedy tvoˇr´ı seznam pˇr´ıdavn´ ych jmen s urˇcen´ım jejich s´emantick´e orientace, tedy s informac´ı, zda se jedn´a o pˇr´ıdavn´e jm´eno kladn´e nebo z´aporn´e. [Taboada et al.(2011)] vˇsak zmiˇ nuje, ˇze nejen pˇr´ıdavn´a jm´ena jsou nositeli s´emantick´e informace a proto d˚ uleˇzit´e zamˇeˇrit se tak´e na slovn´ıky podstatn´ ych jmen, sloves nebo pˇr´ıslovc´ı. Konkr´etnˇe v tomto experimentu byla pak jednotliv´ ym slov˚ um pˇrid´ana v´aha od -5 do 5 bod˚ u, kter´a vyznaˇcuje intenzitu a polaritu slova. Slovn´ıky podstatn´ ych jmen a sloves byly tvoˇreny ruˇcnˇe a slovn´ık pˇr´ıslovc´ı byl vytvoˇren ze slovn´ıku pˇr´ıdavn´ ych jmen s t´ım, ˇze dan´ ym pˇr´ıslovc´ım byla ponech´ana v´aha jeho vzorov´eho pˇr´ıdavn´eho jm´ena. Samozˇrejmˇe existuje nˇekolik zvl´aˇstn´ıch pˇr´ıpad˚ u, kdy je do slovn´ıku pˇrid´ano pˇr´ıslovce ruˇcnˇe tak, aby byl v´ ysledn´ y slovn´ık co nejkvalitnˇejˇs´ı. Dalˇs´ı moˇznou souˇc´ast´ı syst´emu slovn´ıku jsou slova, kter´a zvyˇsuj´ı (napˇr.: ”velmi”) nebo sniˇzuj´ı (napˇr.: ”m´ırnˇe”) intenzitu slov vedle sebe. Probl´emem je vˇsak r˚ uzn´a m´ıra ovlivnˇen´ı jednotliv´ ych slov a nav´ıc konkr´etn´ı zmˇena je tak´e z´avisl´a na slovˇe u kter´eho intenzita mˇen´ı. Mezi slovn´ı druhy tˇechto zesiluj´ıc´ıch slov patˇr´ı vˇetˇsinou pˇr´ıslovce nebo pˇr´ıdavn´a jm´ena. Nen´ı vˇsak na ˇskodu do slovn´ık˚ u zaˇradit tak´e dalˇs´ı informace, jako napˇr´ıklad pouˇz´ıv´an´ı velk´ ych p´ısmen, kter´e lidi pouˇz´ıvaj´ı pro vˇetˇs´ı zd˚ uraznˇen´ı nebo pouˇz´ıv´an´ı vykˇriˇcn´ık˚ u.
9
Anal´yza n´azor˚ u
3.1.2
Algoritmy strojov´eho uˇcen´ı
Negace
Jako d˚ uleˇzitou vlastnost pˇr´ıspˇevk˚ u, respektive n´azor˚ u zmiˇ nme negaci. Tato vlastnost totiˇz m˚ uˇze z potenci´alnˇe kladn´eho pˇr´ıspˇevku vytvoˇrit n´azor zcela opaˇcn´ y, tedy z´aporn´ y. Zejm´ena v anglick´em jazyce je pak velice d˚ uleˇzit´e tyto ˇ z´aporn´e v´ yrazy, kter´e neguj´ı jin´a slova vyhled´avat. Casto se vˇsak st´av´a, ˇze tyto negace nejsou pˇr´ımo spojen´e s dan´ ym slovem, kter´e ovlivˇ nuj´ı a je tak ˇcasto nutn´a rozs´ahlejˇs´ı anal´ yza k nalezen´ı tˇechto n´avaznost´ı. V experimentu [Taboada et al.(2011)] byly pouˇzity dvˇe metody. Hlavn´ım probl´emem je vˇsak negace polarity dan´eho v´ yrazu, jelikoˇz nen´ı zcela spr´avn´ y pˇr´ıstup ot´aˇcet sk´ore jen pomoc´ı znam´enka. Mnohem je lepˇs´ı je zaveden´ı principu posunu negace, coˇz v z´akladu znamen´a posun sk´ore o urˇcitou hodnotu. Ze sk´ore 5 n´am tak nevznikne -5, ale napˇr´ıklad 1.
3.2
Algoritmy strojov´ eho uˇ cen´ı
Strojov´e uˇcen´ı m˚ uˇzeme spr´avnˇe z urˇcit´eho pohledu povaˇzovat za podobn´e tomu lidsk´emu. Klasifik´ator zaloˇzen´ y na strojov´em uˇcen´ı totiˇz funguje tak, ˇze se nejprve nauˇc´ı danou vˇec (anal´ yzu sentimentu) na spr´avnˇe oznaˇckovan´em datasetu a n´aslednˇe pouˇzije tyto znalosti k roztˇr´ıdˇen´ı zkouman´ ych dat do dan´ ych kategori´ı.
3.2.1
Support Vector Machines
Pˇr´ıstup p˚ uvodnˇe zaloˇzen´ y na bin´arn´ı klasifikaci, tedy rozdˇeluje analyzovan´a data do dvou tˇr´ıd [Corinna et al.(1995)]. Jak nastiˇ nuje [Meyer(2001)] m˚ uˇzeme tento pˇr´ıstup popsat nˇekolika z´akladn´ımi aspekty: • Rozdˇ elen´ı tˇ r´ıd - v podstatˇe hled´ame optim´aln´ı dˇel´ıc´ı nadrovinu mezi dvˇema tˇr´ıdami s maxim´aln´ım rozpˇet´ım nejbliˇzˇs´ıch bod˚ u (Obr. 3.1). • Pˇ rekr´ yvaj´ıc´ı se tˇ r´ıdy - pˇr´ıkladov´e body vyskytuj´ıc´ı se na ˇspatn´e stranˇe nadroviny jsou v´ahovˇe omezov´any tak, aby doˇslo ke sn´ıˇzen´ı jejich vlivu. • Neline´ arnost - pokud nastane probl´em s line´arn´ı separovatelnost´ı dan´e u ´lohy, pomoc´ı j´adrov´e transformace (kernel transformation) do10
Anal´yza n´azor˚ u
Algoritmy strojov´eho uˇcen´ı
ch´az´ı k transformaci dat do vyˇsˇs´ı dimenze, kde jiˇz nen´ı probl´em danou u ´lohu separovat line´arnˇe. ˇ sen´ı probl´ • Reˇ emu - cel´a u ´loha m˚ uˇze b´ yt formulov´ana jako probl´em kvadratick´e optimalizace, kter´ y m˚ uˇze b´ yt zn´am´ ymi technikami vyˇreˇsen. Program schopn´ y prov´adˇet vˇsechny zm´ınˇen´e body se naz´ yv´a Support Vector Machine.
Obr´azek 3.1: Dˇel´ıc´ı nadrovina mezi dvˇema tˇr´ıdami (separating hyperlane) obklopena dvˇema vektory (support vectors), kter´e jsou tvoˇreny pˇr´ıklady nejbl´ıˇze nadrovinˇe. Vidˇet je tak´e maxim´aln´ı vzd´alenost vektor˚ u (margin)
11
Anal´yza n´azor˚ u
3.2.2
Algoritmy strojov´eho uˇcen´ı
Naive Bayes
Jedn´a se o jeden z nejzn´amˇejˇs´ıch algoritm˚ u strojov´eho uˇcen´ı zaloˇzen´ y na principu nez´avisl´eho v´ yskytu slov v dokumentu v z´avislosti na bayesovsk´emu teor´emu. Znamen´a to, ˇze se jedn´a o metodu pˇredpokl´adaj´ıc´ı podm´ınˇenou nez´avislost tˇr´ıdy. Jednotliv´a slova dokumentu D jsou postupnˇe analyzov´ana a tˇr´ıdˇena do urˇcen´ ych tˇr´ıd C. I kdyˇz je tento pˇr´ıstup velice jednoduch´ y, jeho u ´ˇcinnost je vcelku dobr´a, ale z´asadn´ı v´ yhodou je jeho mal´a v´ ypoˇcetn´ı sloˇzitost [Zhang(2004)].
Bayes˚ uv teor´ em Berme v u ´vahu, ˇze X je pˇr´ıpad u kter´eho nezn´ame zaˇrazen´ı do tˇr´ıdy C. ´ celem je tedy zjisPot´e mˇejme hypot´ezu H, ˇze patˇr´ı do urˇcit´e tˇr´ıdy Ci . Uˇ tit podm´ınˇenou pravdˇepodobnost P (X|H). Na tomto z´akladˇe a znalostech pravdˇepodobnost´ı P (H) a P(X) m˚ uˇzeme podle Bayesova teor´emu vypoˇc´ıtat poˇzadovanou pravdˇepodobnost P (H|X) (3.1):
(P (H|X) =
P (X|H)P (H) P (X)
(3.1)
Naivn´ı Bayes˚ uv klasifik´ ator Na zaˇca´tku mus´ı doj´ıt k nauˇcen´ı, tedy mus´ıme m´ıt tr´enovac´ı mnoˇzinu D, ze kter´e se klasifik´ator nauˇc´ı zaˇrazov´an´ı do spr´avn´ ych tˇr´ıd. Kaˇzd´ y pˇr´ıklad je totiˇz v tr´enovac´ı mnoˇzinˇe pˇriˇrazen do spr´avn´e tˇr´ıdy a pops´an n-rozmˇern´ ym vektorem atribut˚ u. Nyn´ı m˚ uˇzeme pˇredpokl´adat, ˇze m´ame m klasifikaˇcn´ıch tˇr´ıd C a chceme kaˇzd´ y pˇr´ıklad pˇriˇradit do tˇr´ıdy s maxim´aln´ı pravdˇepodobnost´ı (3.2): P (Ci |X) > P (Cj |X)
(3.2)
Tˇr´ıda Ci pro kterou je pravdˇepodobnost v urˇcen´e tˇr´ıdˇe maxim´aln´ı, je podle Bayesova teor´emu (3.3):
12
Anal´yza n´azor˚ u
Algoritmy strojov´eho uˇcen´ı
P (Ci |X) =
P (X|Ci )P (Ci) P (X)
(3.3)
Zjednoduˇsenˇe m˚ uˇzeme ˇr´ıci, ˇze pˇr´ıklad X je zaˇrazen do tˇr´ıdy, pro kterou je pravdˇepodobnost P (X|Ci )P (Ci ) maxim´aln´ı, jelikoˇz pravdˇepodobnost P (X) je konstantn´ı pro vˇsechny pˇr´ıpady [Manning et al.(2008)].
3.2.3
Modelov´ an´ı maxim´ aln´ı entropi´ı
Maximum entropy modeling, ˇcesky ˇreˇceno modelov´an´ı s maxim´aln´ı entropi´ı, je zp˚ usob, pomoc´ı kter´eho se daj´ı klasifikovat informace z r˚ uznorod´ ych zdroj˚ u. Probl´em s touto klasifikac´ı je zaloˇzen na potenci´alnˇe velk´em poˇctu pˇr´ıznak˚ u, kter´e mohou b´ yt celkem sloˇzit´e a vyuˇz´ıvaj´ı pˇredem z´ıskan´ ych znalost´ı o d˚ uleˇzitosti a oˇcek´avan´em v´ yskytu jednotliv´ ych specifick´ ych vlastnost´ı pˇri n´asledn´e klasifikaci. Kaˇzd´ y tento pˇr´ıznak n´aslednˇe odpov´ıd´a urˇcit´emu specifick´emu omezen´ı v r´amci specifikace. Ze vˇsech model˚ u vyhovuj´ıc´ıch dan´ ym omezen´ım se vybere model s maxim´aln´ı entropi´ı. V ide´aln´ım pˇr´ıpadˇe by mˇely b´ yt zad´any vˇsechny potenci´alnˇe d˚ uleˇzit´e informace pˇred zaˇca´tkem klasifikace a n´aslednˇe ponech´any tr´enovac´ımu procesu pro vytvoˇren´ı nejlepˇs´ıho modelu. Pro kaˇzdou danou sadu pˇr´ıznak˚ u se poˇc´ıt´a oˇcek´avan´ y v´ yskyt jednotliv´ ych pˇr´ıznak˚ u na z´akladˇe tr´enovac´ı mnoˇziny. Pˇr´ıznaky jsou tedy bin´arn´ı funkce v n´asleduj´ıc´ım tvaru (3.4). (
p(x, y) =
1 kdyˇz x > 0 a y = 1 0 jinak
(3.4)
kde x je vektor vstupn´ıho prvku a y je oznaˇcen´ı tˇr´ıdy. Nyn´ı je zapotˇreb´ı zjistit rozdˇelen´ı pravdˇepodobnosti p(y|x), kde x je aktu´aln´ı slovo a y je oznaˇcen´ı tˇr´ıdy. Potˇrebujeme tedy zjistit maxim´aln´ı entropii vˇsech rozdˇelen´ı v souvislosti s p(y|x). Nejlepˇs´ı rozdˇelen´ı pravdˇepodobnosti se pak poˇc´ıt´a pomoc´ı n´asleduj´ıc´ıho tvaru (3.5).
p(y|x) =
n X 1 exp λj fj (x, y) Z(x) i=1
13
(3.5)
Anal´yza n´azor˚ u
Algoritmy strojov´eho uˇcen´ı
Z(x) =
X
exp
y
X
λi fi (x, y)
i
kde Z je pouze normalizaˇcn´ı konstanta, kter´a zajiˇst’uje rozdˇelen´ı pravdˇepodobnosti p(y|x), n znaˇc´ı poˇcet pˇr´ıznak˚ u a λ je v´aha dan´eho pˇr´ıznaku ([Zapotocky(2012)]).
14
4 Automatick´a sumarizace V dneˇsn´ım svˇetˇe vyuˇz´ıv´an´ı modern´ıch technologi´ı a zejm´ena internetu v r´amci komunikace a sd´ılen´ı textov´ ych informac´ı v elektronick´e podobˇe nast´av´a probl´em velk´eho mnoˇzstv´ı um´ıstˇen´ ych dat a jejich ˇc´ım d´al t´ım sloˇzitˇejˇs´ı a udrˇzitelnˇejˇs´ı struktury a pˇrehled. To m´a za n´asledek motivaci kondenzace text˚ u do jednoduˇsˇs´ıch informac´ı se z´akladn´ı vypov´ıdaj´ıc´ı hodnotou[Jezek et al.(2008)]. Existuje spousta r˚ uzn´ ych definic, kter´e popisuj´ı v´ yznam sumarizace: • ”Struˇcn´e, ale pˇresn´e vyj´adˇren´ı obsahu dokumentu.” • ”Destilace nejd˚ uleˇzitˇejˇs´ı informace ze zdrojov´ ych dat.” A kvantitativn´ı aspekty, kter´ ymi lze v´ ysledn´ y souhrn charakterizovat: • S´emantick´a informativnost - lze charakterizovat jako m´ıru schopnosti rekonstruovat p˚ uvodn´ı text ze souhrnu • Koherence - zp˚ usob, jak´ ym ˇca´sti souhrnu vytvoˇr´ı integrovanou souvislou sekvenci • Kompresn´ı pomˇer - pod´ıl d´elky souhrnu oproti d´elce vstupn´ıch dat Jak jiˇz bylo ˇreˇceno v´ yˇse, sumariz´ator zpracov´av´a jiˇz pˇredpˇripraven´a data ze zdrojov´ ych text˚ u. T´ım rozum´ıme data (pˇr´ıspˇevky, vˇety, text), kter´a obsahuj´ı negativn´ı, pozitivn´ı nebo v krajn´ım pˇr´ıpadˇe neutr´aln´ı n´azor.
4.1
Metody sumarizace
4.1.1
Pr˚ ukopnick´ e metody
Prvn´ı algoritmus, kter´ y byl vyuˇz´ıv´an pro automatickou sumarizaci textu byl zaloˇzen pouze na jednoduch´ ych principech indikuj´ıc´ı ˇca´sti vybran´e do v´ ysledn´e sumarizace, byl implementov´an jiˇz v roce 1958 [Luhn(1958)]. Jak uv´ad´ı 15
Automatick´a sumarizace
Metody sumarizace
[Jezek et al.(2008)], tak to byl pˇr´ıstup zaloˇzen´ y na principu zjiˇst’ov´an´ı frekvence slov v dokumentu s myˇslenkou, ˇze ˇcasto pouˇz´ıvan´a slova jsou vypov´ıdaj´ıc´ı pro t´ema dan´eho ˇcl´anku. U dalˇs´ıch tip˚ u algoritm˚ u se vyuˇz´ıv´a napˇr´ıklad pozic dan´ ych slov nebo vˇet v dokumentu a jejich n´asledn´e anal´ yzy.
4.1.2
Statistick´ e metody
Jak bylo dok´az´ano v [Salton(1988)], v´ yznam v´ yraz˚ u pouˇzit´ ych v dan´em dokumentu je nepˇr´ımo u ´mˇern´ y poˇctu dokument˚ u v korpusu obsahuj´ıc´ı dan´ y term´ın. V [Kupiec et al.(1995)] byla pops´ana v´ıce d˚ umysln´a metoda zaloˇzen´a na bayesovsk´em klasifik´atoru v´ ypoˇctu pravdˇepodobnosti, jestli by vˇeta ze zdrojov´eho dokumentu mˇela b´ yt vybr´ana do v´ ysledn´eho souhrnu. K uˇcen´ı klasifik´atoru autoˇri vyuˇzili 188 korpus˚ u obsahuj´ı vˇzdy p´ar dokumentu s jeho souhrnem. Jako charakteristick´e pˇr´ıznaky baysovsk´eho vzorce vyuˇz´ıvali napˇr´ıklad frekvenci pouˇzit´ı slova, d´elku vˇety nebo pozici slova v odstavci.
4.1.3
Metody zaloˇ zen´ e na textov´ em propojen´ı
Obecnˇe se jedn´a o metody zaloˇzen´e myˇslence propojen´ı textu nebo jeho kontextu. Jako pˇr´ıklad m˚ uˇzeme uv´est metodu lexik´aln´ıch ˇretˇezc˚ u [Barzilay(1997)], kter´a je zaloˇzena na stanoven´ı urˇcit´ ych vztah˚ u mezi jednotliv´ ymi slovy (opakov´an´ı, synonyma, antonyma, atd.) a skl´ad´an´ı z´avisl´ ych slov do ˇretˇezc˚ u. Vˇety se do souhrnu vyb´ıraj´ı podle obsahu nejsilnˇejˇs´ıch ˇretˇezc˚ u, tedy ˇretˇezc˚ u, jejichˇz v´aha je podle poˇctu a typu vztah˚ u nejd˚ uleˇzitˇejˇs´ı. Do skupiny tˇechto metod zahrnujeme tak´e pˇr´ıstupy zaloˇzen´e na teorii r´etorick´e struktury (RST - Rhetorical Structure Theory)[Steinberger(2009)]. Jedn´a se o metodu zakl´adaj´ıc´ı se na principu r´etorick´ ych vztah˚ u struktur textu, kter´e dohromady spojuj´ı textov´e jednotky. Snaˇz´ıme se o pr´aci a propojen´ı j´adra (hlavn´ı myˇslenka autora textu) a satelitu, coˇz je m´enˇe d˚ uleˇzit´a aˇz okrajov´a ˇca´st textu. Takov´eto vztahy vytv´aˇr´ı stromovou strukturu, na jej´ımˇz z´akladˇe se vytv´aˇr´ı v´ ysledn´ y souhrn nejˇcastˇeji tak, ˇze jsou jednotliv´e vˇety dokumentu penalizov´any podle toho, jako r´etorickou roli hraj´ı v celkov´e stromov´e struktuˇre.
16
Automatick´a sumarizace
4.1.4
Metody sumarizace
Aspektovˇ eˇ r´ızen´ a sumarizace
V [Steinberger et al.(2011)] je navrˇzen pˇr´ıstup pracuj´ıc´ı s v´ıcero jazyky. Tento syst´em je zamˇeˇren na podobn´e ot´azky, jak´ ymi jsou definov´any kategorie TAC’10 a pro zachycen´ı dalˇs´ıch aspekt˚ u vyuˇz´ıv´a automatick´eho uˇcen´ı pojm˚ u v´ yznamovˇe souvisej´ıc´ıch s ruˇcnˇe vytvoˇren´ ym datasetem. C´ılem bylo vybr´an´ı nejˇcastˇeji zmiˇ novan´e informace a z´aroveˇ n okamˇzit´a kontrola zachycen´ı poˇzadovan´ ych aspekt˚ u. Na tomto z´akladˇe byla navrˇzena kombinace spoleˇcn´eho v´ yskytu v´ yraz˚ u a aspektech vych´azej´ıc´ıch z dan´eho syst´emu. V experimentech byl vyuˇzit syst´em NEXUS ([Tanev et al.(2008a)]), kter´ y analyzuje zpr´avy o n´asiln´ ych ˇcinech a pˇr´ırodn´ıch nebo lidsk´ ych katastrof´ach. Jako pˇr´ıklady m˚ uˇzeme zm´ınit urˇcov´an´ı a identifikaci vraˇzd, povodn´ı nebo u ´nos˚ u. Syst´em NEXUS analyzuje jednotliv´e zpr´avy a vrac´ı podstatn´a data v jednotliv´ ych parametrech, jak´ ymi jsou napˇr´ıklad: typ ud´alosti, poˇcet obˇet´ı, ˇskoda, atd.. Cel´ y proces je z´avisl´ y na kombinaci ruˇcnˇe vytvoˇren´ ych pravidel a v´ ysledk˚ u z´ıskan´ ych ze strojov´eho uˇcen´ı. U experiment˚ u sumarizace pomoc´ı tohoto syst´emu byly sumarizov´any novinov´e ˇcl´anky z korpusu a v´ ysledn´e atributy byly pˇriˇrazeny k aspekt˚ um sumarizace. Na z´akladˇe v´ yˇse zm´ınˇen´ ych experiment˚ u bylo zjiˇstˇeno, ˇze nˇekter´e aspekty z aspektovˇe ˇr´ızen´e sumarizace odpov´ıdaj´ı informac´ım z´ıskan´ ym ze syst´emu NEXUS. Zejm´ena si pak odpov´ıdaj´ı aspekty typu ud´alosti parametr˚ um ve struktur´ach ud´alost´ı NEXUS. V experimentech [Steinberger et al.(2011)] byly sumarizov´any novinov´e ˇcl´anky z korpusu a v´ ysledn´e parametry byly nav´az´any na aspekty sumarizace. Napˇr´ıklad typ ud´alosti byl nav´az´an na aspekt toho, co se stalo. Pro ostatn´ı aspekty byl pouˇzit syst´em Ontopopulis ([Tanev et al.(2008b)]), kter´ y je urˇcen pro automatick´e uˇcen´ı s´emantick´ ych tˇr´ıd zaloˇzen´ y na distribuˇcn´ı s´emantice. Principi´alnˇe je tento algoritmus zaloˇzen na seznamu slov z urˇcit´e s´emantick´e tˇr´ıdy a pot´e prob´ıh´a uˇcen´ı dalˇs´ıch slov ze tˇr´ıdy stejn´e. Je zˇrejm´e, ˇze pro vytvoˇren´ı pˇresnˇejˇs´ıho slovn´ıku je nutn´ y ruˇcn´ı z´asah a vyˇciˇstˇen´ı v´ ysledku. Seznam je seˇrazen´ y podle spolehlivosti v´ yraz˚ u a pokud kontrolujeme seznam shora dol˚ u, m˚ uˇzeme si urˇcit pˇresnost tak, ˇze proces zastav´ıme na urˇcit´e u ´rovni seznamu. Pokud bychom v´ ysledky ruˇcnˇe neupravili, nemuseli bychom dos´ahnout oˇcek´avan´e pˇresnosti.
17
Automatick´a sumarizace
4.1.5
Metody sumarizace
ˇ Casov´ a anal´ yza
ˇ Casov´ a anal´ yza m˚ uˇze b´ yt velice d˚ uleˇzit´a pˇri urˇcit´ ych d´ılˇc´ıch u ´loh´ach sumarizace ve spojitosti se zjiˇst’ov´an´ım data a ˇcasu ud´alost´ı. Pomoc´ı tˇechto dat m˚ uˇzeme dos´ahnout lepˇs´ı sumarizace zejm´ena u pˇr´ıbˇehovˇe orientovan´ ych anal´ yz. ˇ Casov´ a anal´ yza byla napˇr´ıklad integrov´ana do procesu zab´ yvaj´ıc´ı se detekc´ı a normalizac´ı tzv. ˇcasov´ ych v´ yraz˚ u (Timex) [Steinberger et al.(2012)], jejichˇz rozsah a klasifikace jsou definov´any v ˇca´steˇcn´em souladu se standardem TIMEX2 [Ferro et al.(2005)]. ˇ Casov´ e v´ yrazy jsou rozdˇeleny do kr´atk´ ych seznam˚ u ˇcasov´ ych typ˚ u (datum, ˇcas, ...), zahrnuj´ı ˇc´ıseln´e i neˇc´ıseln´e form´aty dat, absolutn´ı nebo relativn´ı v´ yrazy a nakonec takt´eˇz jejich kombinace. Timex anal´ yza se rozdˇeluje na dvˇe f´aze, rozpozn´av´an´ı a normalizaci. F´aze rozpozn´av´an´ı je zaloˇzena na detekci a segmentaci textu ˇca´steˇcnˇe z´avisl´ ych na pravidlech pouˇzit´eho jazyka. Pravidla urˇcuj´ı struktury reprezentuj´ıc´ı ˇcasov´e v´ yrazy, kter´e jsou n´aslednˇe pouˇz´ıv´any normalizaˇcn´ım modulem. Ten prov´ad´ı v´ ybˇer, kter´ y urˇcuje a udrˇzuje referenˇcn´ı ˇcas pro relativn´ı rozliˇsen´ı, jeˇz je na zaˇca´tku br´an jako datum vytvoˇren´ı ˇcl´anku a je postupnˇe aktualizov´an podle jednoduch´e heuristiky. Nejprve se nalezne nejbliˇzˇs´ı dˇr´ıvˇejˇs´ı analyzovan´ y ˇcasov´ y v´ yraz v t´eˇze vˇetˇe se stejnou u ´rovn´ı granularity. Znamen´a to, ˇze ˇcasov´e u ´daje v r´amci dn˚ u nemohou b´ yt spojeny s datov´ ymi u ´daji v r´amci let. Pot´e se pouˇz´ıv´a referenˇcn´ı ˇcas na urˇcen´ı relativn´ıch ˇcasov´ ych u ´daj˚ u (timex) tak, ˇze prob´ıh´a v´ ypoˇcet pˇresn´ ych kalend´aˇrn´ıch hodnot a nakonec doch´az´ı k normalizaci, d´ıky kter´e se jednoduˇse dostaneme k ˇcasu c´ılov´e ud´alosti. Tato metoda je silnˇe ovlivnˇena pouze ˇcasov´ ymi v´ yrazy a nem˚ uˇzeme tak oˇcek´avat spr´avnou funkci u text˚ u s jinou ˇcasovou souvislost´ı.
4.1.6
Kompresn´ı a parafr´ azov´ e techniky
[Turchi et al.(2010)] empiricky dokazuje, ˇze lidsk´e v´ ysledky sumarizace obsahuj´ı v pr˚ umˇeru v´ıce kratˇs´ıch vˇet neˇz v´ ysledky automatick´e sumarizace. Kompres´ı nebo pˇreformulov´an´ım bychom tak mohli prvotnˇe zkr´atit celkov´ y v´ ysledek sumarizace a t´ım by vznikl prostor pro dalˇs´ı rozˇs´ıˇren´ı v´ ysledk˚ u s obsahem dalˇs´ıch potenci´alnˇe d˚ uleˇzit´ ych vˇet. [Turchi et al.(2010)] tak´e zkoumal moˇznosti jazykovˇe nez´avisl´ ych postup˚ u pˇri dosahov´an´ı v´ yˇse zm´ınˇen´ ych c´ıl˚ u. Experimenty uk´azali, ˇze takov´ yto pˇr´ıstup je moˇzn´ y. Syst´em je zaloˇzen na v´ ybˇeru nejv´ıce charakteristick´eho v´ yrazu z kaˇzd´e 18
Automatick´a sumarizace
Metody sumarizace
vˇety. Pro kaˇzd´ y v´ yraz je poˇc´ıt´ano sk´ore z LSA, kde matice U obsahuje zn´azornˇen´ı pojmu v t´ematech a matice S obsahuje d˚ uleˇzitost tˇechto t´emat. Proto matice T = U ·S pˇredstavuje prostor ohodnocen´ y podle d˚ uleˇzitosti t´emat. Pro kaˇzd´ y v´ yraz i je vypoˇcteno sk´ore z ||ti ||. Kromˇe toho je vypoˇc´ıt´an jazykov´ y model pravdˇepodobnosti pro 4-gramy. Sk´ore by mˇelo odr´aˇzet lok´aln´ı d˚ uleˇzitost term´ınu v r´amci datasetu a jazykov´ y model pravdˇepodobnosti ud´av´a glob´alnˇe d˚ uleˇzit´e term´ıny, napˇr´ıklad slovesa. Po normalizaci hodnot jednotliv´ ych pˇr´ıznak˚ u a jejich kombinov´an´ı dostaneme hodnoty, kter´e reprezentuj´ı v´ yznam dan´eho term´ınu ve vˇetˇe. Fin´aln´ı sekvence v´ yraz˚ u se skl´ad´a pˇribliˇznˇe ze 70% pojm˚ u a pokud dod´ame napˇr´ıklad stopwords, dostaneme celou sekvenci v rozumnˇe ˇcten´em tvaru.
4.1.7
Sumarizace zaloˇ zen´ a na LSA
Pˇr´ıstupy zaloˇzen´e na spoleˇcn´em v´ yskytu v´ yrazu (jako napˇr.: LSA) pˇredstavuj´ı dobr´ y z´aklad pro budov´an´ı jazykovˇe nez´avisl´eho (nebo v´ıcejazyˇcn´eho) sumariz´atoru. Pˇr´ıstup LSA (Steinberger a Jeˇzek, 2009) nejprve vytvoˇr´ı matici jednotliv´ ych vˇet a obsaˇzen´ ych slov ze zdrojov´eho textu, pot´e se aplikuje singul´arn´ı rozklad (SVD – Singular Value Decomposition) a nakonec se v´ ysledn´e matice pouˇzij´ı k identifikaci a extrahov´an´ı nejd˚ uleˇzitˇejˇs´ıch vˇet. SVD nach´az´ı skryt´e (ortogon´aln´ı) dimenze, kter´e, zjednoduˇsenˇe ˇreˇceno, odpov´ıdaj´ı r˚ uzn´ ym t´emat˚ um zdrojov´eho textu. Detailnˇeji m˚ uˇzeme ˇr´ıci, ˇze konstruujeme matici A vˇet a slov v nich obsaˇzen´ ych. Kaˇzd´ y prvek odpov´ıd´a v´aˇzen´e frekvenci dan´eho v´ yrazu v dan´e vˇetˇe. Zab´ yv´ame se tedy m r˚ uzn´ ymi v´ yrazy a n r˚ uzn´ ymi vˇetami ze zkouman´eho dokumentu tvoˇr´ıc´ı matici A o velikosti m × n. Prvek ai,j matice A pˇredstavuje v´aˇzenou frekvenci term´ınu i ve vˇetˇe j a tato v´aha je definov´ana jako (4.1): ai,j = Li,j · Gi ,
(4.1)
kde Li,j je lok´aln´ı v´aha term´ınu i ve vˇetˇe j a Gi je glob´aln´ı v´aha v´ yrazu i ve zdrojov´em dokumentu. Bylo zjiˇstˇeno, ˇze nejl´epe funguj´ı v´ahov´e syst´emy (Steinberger et al, 2007.) pouˇz´ıvaj´ıc´ı bin´arn´ı lok´aln´ı v´ahu a glob´aln´ı v´ahu zaloˇzenou na entropii (4.2): Li,j = 1 kdyˇz se slovo i vyskytuje ve vˇetˇe j alespoˇ n jednou; jinak Li,j = 0,
19
Automatick´a sumarizace
Gi = 1 −
Metody sumarizace
j
pi,j log pi,j ti,j , pi,j = , log n gi
(4.2)
kde ti,j je frekvence term´ınu i ve vˇetˇe j, gi je celkov´ y poˇcet dan´eho v´ yrazu vyskytuj´ıc´ıho se ve zdrojov´ ych datech a n je poˇcet zdrojov´ ych vˇet. Po tomto kroku je na v´ yˇse uvedenou matici aplikov´an singul´arn´ı rozklad (SVD). Singul´arn´ı rozklad matice m × n je definov´an jako (4.3): A = U · S · V T,
(4.3)
kde U(m × n) je sloupcovˇe ortonorm´aln´ı matice, jej´ıˇz sloupce naz´ yv´ame lev´e singul´arn´ı vektory. Matice obsahuje zn´azornˇen´ı term´ın˚ u vyj´adˇren´ ych v novˇe vytvoˇren´ ych dimenz´ıch. S(n × n) je diagon´aln´ı matice, jej´ıˇz diagon´aln´ı prvky jsou nez´aporn´e singul´arn´ı hodnoty ˇrazen´e v sestupn´em poˇrad´ı. VT (n×n) je ˇra´dkov´a ortonorm´aln´ı matice, kter´a obsahuje zn´azornˇen´ı vˇet vyj´adˇren´ ych v novˇe vytvoˇren´ ych dimenz´ıch. Rozmˇery matic jsou redukov´any na 0 0 0 r nejd˚ uleˇzitˇejˇs´ıch dimenz´ı a dost´av´ame tak matice U (m×r), S (r×r), V T (r× n). Hodnota r lze nastavit v z´avislosti na funkˇcnosti sumariz´atoru. Dalˇs´ı moˇznost´ı je strojov´e uˇcen´ı r na tr´eninkov´ ych datech (Steinberger a Jeˇzek, 2009). Z matematick´eho pohledu SVD mapuje m-rozmˇern´ y prostor urˇcen´ y matic´ı A do r-rozmˇern´eho singul´arn´ıho prostoru. Z pohledu NLP SVD odvozuje latentn´ı s´emantickou strukturu dokumentu reprezentovan´eho matic´ı A.: tj rozdˇelen´ı p˚ uvodn´ıho dokumentu do r line´arnˇe nez´avisl´ ych z´akladn´ıch vektor˚ u, kter´e vyjadˇruj´ı z´akladn´ı t´emata ze zdrojov´ ych dat. SVD um´ı zachytit vztahy mezi term´ıny tak, ˇze pojmy a vˇety mohou b´ yt rozdˇeleny na s´emantick´e z´aklady sp´ıˇse neˇz na z´akladˇe pouh´ ych slov. Kromˇe toho v pˇr´ıpadˇe, ˇze se v datov´em zdroji opakuje kombinace slov, bude tento jev zachycen a reprezentov´an jedn´ım ze singul´arn´ıch vektor˚ u. Velikost odpov´ıdaj´ıc´ı singul´arn´ı hodnoty urˇcuje m´ıru d˚ uleˇzitosti tohoto vzoru ve zdrojov´ ych datech. Vˇsechny vˇety obsahuj´ıc´ı danou kombinaci slov budou prom´ıt´any do jednoho singul´arn´ıho vektoru a vˇeta, kter´a nejl´epe reprezentuje tuto kombinaci bude m´ıt nejvˇetˇs´ı hodnotu indexu vektoru. Za pˇredpokladu, ˇze kaˇzd´e konkr´etn´ı slovn´ı spojen´ı popisuje urˇcit´e t´ema v dokumentu, m˚ uˇze b´ yt kaˇzd´ y singul´arn´ı vektor vn´ım´an jako reprezentant takov´eho t´ematu (Ding, 2005). Velikost jeho singul´arn´ı hodnoty pˇredstavuje m´ıru d˚ uleˇzitosti takov´eho t´ematu. Matice VT obsahuje zn´azornˇen´ı vˇet v t´ematech LSA a S obsahuje d˚ u20
Automatick´a sumarizace
Sumarizace n´azor˚ u
leˇzitost tˇechto t´emat. Proto je jejich v´ ysledkem matice F = S · Vt , kter´a reprezentuje vˇetn´ y latentn´ı prostor v´aˇzen´ y podle d˚ uleˇzitosti t´ematu. V´ ybˇer vˇety zaˇc´ın´a mˇeˇren´ım d´elky vektoru vˇety v matici F. D´elka vektoru m˚ uˇze b´ yt vn´ım´ana jako mˇeˇr´ıtko v´ yznamu t´eto vˇety v r´amci LSA t´emat. Vˇeta s nejvyˇsˇs´ım sk´ore je vybr´ana jako prvn´ı do celkov´eho v´ ysledku (odpov´ıdaj´ıc´ı vektor v F je oznaˇcov´an jako fbest ). Po jeho um´ıstˇen´ı ve v´ ysledc´ıch je zobrazen´ı t´ematu/vˇet v matici F zmˇenˇeno odeˇcten´ım informace obsaˇzen´e v t´eto vˇetˇe (4.4):
F (it+1) = F (it) −
T fbest · fbest · F (it) , ||fbest ||2
(4.4)
D´elky vektor˚ u podobn´ ych vˇet jsou anulov´any pro pˇr´ıpad, aby nebyly do souhrnu vybr´any znovu a pˇredeˇslo se tak ke zbyteˇcn´e redundanci. Po anulov´an´ı informac´ı ve vybran´e vˇetˇe pokraˇcuje proces u vˇety, kter´a m´a nejvˇetˇs´ı sk´ore vypoˇcten´e na z´akladˇe aktualizovan´e matice F. Tento proces je iterativnˇe opakov´an do t´e doby, neˇz v´ ysledn´ y souhrn obsahuje poˇzadovan´ y poˇcet v´ ysledk˚ u.
4.2
Sumarizace n´ azor˚ u
Jak uv´ad´ı [Balahur et al.(2012)], dneˇsn´ı svˇet je velice ovlivnˇen soci´aln´ımi s´ıtˇemi a weby a lid´e na jejich z´akladˇe produkuj´ı obrovsk´e mnoˇzstv´ı dat vhodn´ ych k anal´ yze a sumarizaci. Vhodnost je zˇrejm´a napˇr´ıklad pˇri marketingov´ ych pr˚ uzkumech apod. Jedn´ım z velk´ ych probl´em˚ u je opravdu velk´e mnoˇzstv´ı dat, kter´e m˚ uˇzeme z´ıskat po zamˇeˇren´ı na konkr´etn´ı t´ema, kter´e n´as zaj´ım´a. standardnˇe by tak musel uˇzivatel prob´ırat tis´ıce a tis´ıce u ´ryvk˚ u nebo pˇr´ıspˇevk˚ u a utvoˇrit si s´am vlastn´ı souhrn hlavn´ıch myˇslenek a poznatk˚ u. Je zn´amo nˇekolik pˇr´ıstup˚ u jak se zamˇeˇrit konkr´etnˇe na sumarizaci n´azor˚ u. V experimentu popsan´em v [Balahur et al.(2012)] je urˇcov´an´ı sentimentu, tedy urˇcov´an´ı, zda pˇr´ıspˇevek nebo vˇeta obsahuje nˇejak´ y n´azor, rozdˇelov´an´ı do ˇctyˇr skupin. Tyto skupiny zn´azorˇ nuj´ı m´ıru n´azoru. M˚ uˇzeme je jednoduˇse pojmenovat jako pozitivn´ı, silnˇe pozitivn´ı, negativn´ı a silnˇe negativn´ı. K t´eto anal´ yze jsou pouˇz´ıv´any kombinace r˚ uzn´ ych slovn´ık˚ u. Hlavn´ı motivac´ı pro tuto metodu je jej´ı jednoduchost a snadn´e pouˇzit´ı.
21
Automatick´a sumarizace
4.2.1
Sumarizace n´azor˚ u
Data
Z´akladem pro takovou anal´ yzu a n´aslednou sumarizaci je vhodn´ y v´ ybˇer dat. V experimentu byly vyuˇzity dva datov´e soubory. Prvn´ı z nich obsahoval blogov´e pˇr´ıspˇevky a jejich koment´aˇre a druh´ y datov´ y soubor obsahoval recenze uˇzivatel˚ u britsk´ ych bank. Co se t´ yˇce blog˚ u a blogov´ ych pˇr´ıspˇevk˚ u, tak m˚ uˇzeme ˇr´ıci, ˇze se mnohdy jedn´a o ˇcinnost vzdˇelan´ ych lid´ı a nav´ıc je vˇetˇsinou takov´ yto blog zamˇeˇren na konkr´etn´ı t´ema. To je ide´aln´ı pˇr´ıleˇzitost pro jejich anal´ yzu tak, abychom dostali relevantn´ı souhrn z dan´eho t´ematu od nˇekolika odborn´ık˚ u. Prvotn´ı motivac´ı a u ´spˇeˇsn´ ym pouˇzit´ım taky bylo nasazen´ı ke studiu v´ ysledku voleb nebo ke studiu kol´ıs´an´ı trˇzn´ıch cen akci´ı. K dan´emu experimentu bylo vyuˇzito 51 blogov´ ych vl´aken psan´ ych v anglick´em jazyce. Jejich struktura byla vˇzdy tvoˇrena hlavn´ım pˇr´ıspˇevkem autora a n´asledn´ ymi reakcemi ostatn´ıch ˇcten´aˇr˚ u, ˇc´ımˇz byla urˇcena v´ ysledn´a intenzita dan´e pˇr´ıspˇevku (n´ızk´a, stˇredn´ı nebo vysok´a). Datov´ y soubor 89 bankovn´ıch hodnocen´ı byl pak u tohoto experimentu pouˇzit zejm´ena ke kontrola spr´avnosti pˇr´ıstupu k dan´e problematice.
4.2.2
Z´ akladn´ı anal´ yza n´ azor˚ u a sumarizace
Hlavn´ım c´ılem bylo navrˇzen´ı funguj´ıc´ıho syst´emu, kter´ y vytvoˇr´ı kvalitn´ı souhrn z dvou v´ yˇse zm´ınˇen´ ych typ˚ u dat. Standardn´ı pˇr´ıstup je zaloˇzen na klasifikaci jednotliv´ ych pˇr´ıspˇevk˚ u podle n´azor˚ u a jejich n´asledn´e sumarizaci. Blogov´e pˇr´ıspˇevky a koment´aˇre byly postupnˇe tˇr´ıdˇeny do tˇr´ı samostatn´ ych skupin: vˇety obsahuj´ıc´ı pozitivn´ı n´azor, vˇety obsahuj´ıc´ı negativn´ı n´azor a neutr´aln´ı nebo objektivn´ı vˇety. Pot´e n´asleduje ˇcinnost sumariz´atoru, kter´ y samostatnˇe provede sumarizaci pozitivn´ıch a negativn´ıch vˇet. Takto oddˇelen´a sumarizace se prov´ad´ı z d˚ uvodu zajiˇstˇen´ı dvou v´ ysledn´ ych souhrn˚ u. V opaˇcn´em pˇr´ıpadˇe by sumariz´ator mohl urˇcit jako d˚ uleˇzit´e pouze vˇety z jedn´e nebo druh´e skupiny. Z pohledu anal´ yzy n´azor˚ u bylo tedy prvotn´ım u ´kolem jejich roztˇr´ıdˇen´ı na negativn´ı a pozitivn´ı a n´asledn´e numerick´e ohodnocen´ı d˚ uleˇzitosti (ˇc´ım vyˇsˇs´ı negativn´ı sk´ore, t´ım v´ıce negativn´ı vˇeta a naopak). Jelikoˇz tato klasifikace nebyla zamˇeˇrena na konkr´etn´ı t´ema, ale byla prov´adˇena v obecn´em kontextu, bylo zapotˇreb´ı pouˇz´ıt v´ıce r˚ uzn´ ych slovn´ık˚ u tak, aby byly v´ ysledky co moˇzn´a nejlepˇs´ı. Kaˇzd´ y z pouˇzit´ ych zdroj˚ u byly namapov´any do ˇctyˇr skupin s r˚ uzn´ ym sk´ore: pozitivn´ı (1), negativn´ı (-1), hodnˇe pozitivn´ı (4) a hodnˇe negativn´ı (22
Automatick´a sumarizace
Sumarizace n´azor˚ u
4). V´ yhoda tohoto pˇr´ıstupu je jeho jednoduchost a moˇznost vyuˇzit´ı i pro dalˇs´ı svˇetov´e jazyky. Nav´ıc bylo prok´az´ano, ˇze tato metoda zm˚ uˇze u novinov´ ych citac´ı dos´ahnout u ´spˇeˇsnosti aˇz 82 Nyn´ı pˇrich´az´ı na ˇradu ˇca´st sumarizace, pro kterou byla v experimentu vyuˇzita LSA (v´ıce v kapitole Sumarizace zaloˇzen´a na LSA).
4.2.3
Sumarizace zaloˇ zen´ a na intenzitˇ e n´ azoru
Oproti v´ yˇse zm´ınˇen´e metodˇe je tato ˇca´st zamˇeˇrena na zkoum´an´ı vlivu intenzity n´azoru na v´ yslednou sumarizaci. Jin´ ymi slovy ˇreˇceno je c´ılem zkoum´an´ı, jestli velmi pozitivn´ı nebo velmi negativn´ı vˇety charakterizuj´ı v´ ysledn´ y souhrn nebo nikoliv. Pro testov´an´ı tohoto jednoduch´eho principu zaloˇzen´eho na myˇslence, ˇze velice intenzivn´ı n´azory jsou tak´e velice vypov´ıdaj´ıc´ı je zapotˇreb´ı tˇr´ı d˚ uleˇzit´ ych ˇca´st´ı: syst´em pro anal´ yzu n´azor˚ u produkuj´ıc´ı tak´e jednotliv´e intenzity, sumariz´ator zohledˇ nuj´ıc´ı tyto intenzity a referenˇcn´ı korpus anotovan´ ych dat. U experimentu [Balahur et al.(2012)] byla vyuˇzita v´ yˇs zm´ınˇen´a z´akladn´ı anal´ yza n´azor˚ u s t´ım, ˇze je algoritmus doplnˇen o ˇrazen´ı koment´aˇr˚ u podle intenzity pro danou polaritu a n´aslednˇe se vyb´ır´a vˇzdy koment´aˇr s nejvyˇsˇs´ım sk´ore. Po otestov´an´ı tohoto pˇr´ıstupu bylo zjiˇstˇeno, ˇze tento pˇr´ıstup nen´ı zcela reprezentativn´ı a proto je dobr´e ho kombinovat s dalˇs´ımi funkcemi.
4.2.4
Sumarizace zaloˇ zen´ a na t´ ematu anal´ yzy n´ azor˚ u a s´ emantick´ ych informac´ı
Pokud se zamˇeˇr´ıme na sumarizaci v obecn´em kontextu, nejsou v´ ysledky aˇz tak dobr´e ([Balahur et al.(2012)]). Nicm´enˇe, pokud se jedn´a o kladn´ y nebo z´aporn´ y n´azor, v celkov´em hodnocen´ı se objevil. Objevovaly se ale tak´e pˇr´ıspˇevky, kter´e byly zcela irelevantn´ı. Je pro n´as proto d˚ uleˇzit´e, aby kaˇzd´ y pˇr´ıspˇevek, kter´ y se dostane do v´ ysledn´e sumarizace byl zamˇeˇren na konkr´etn´ı t´ema. K anal´ yze byla poˇzita LSA (latentn´ı s´emantick´a anal´ yza) a byly vu ´vahu oproti jin´ ym experiment˚ um s´emantick´e informace. Anal´ yza n´azor˚ u je zde prov´adˇena stejn´ ym zp˚ usobem jako v´ yˇse. Znamen´a 23
Automatick´a sumarizace
Sumarizace n´azor˚ u
to, ˇze byly vybran´e zdroje mapov´any do ˇctyˇr skupin (pozitivn´ı, negativn´ı, vysoce pozitivn´ı a vysoce negativn´ı). Kaˇzd´e t´eto skupinˇe pak byly pˇriˇrazeny ˇc´ıseln´e hodnoty (tedy ve stejn´em poˇrad´ı 1, -1, 4, -4). Ve druh´e f´azi byly pomoc´ı LSA odfiltrov´any pouze pˇr´ıspˇevky spojen´e z dan´ ym t´ematem a postupnˇe jako v pˇredchoz´ım postupu byly urˇceny sk´ore tˇechto vybran´ ych pˇr´ıspˇevk˚ u. Pro syst´em sumarizace byla pouˇzita stejn´a metoda jako v´ yˇse, tedy sumarizace zaloˇzen´a na LSA. Zde se vˇsak nav´ıc poˇc´ıt´a se s´emantick´ ymi informacemi kombinuj´ıc´ı nˇekolik vlastnost´ı zdroj˚ u jako jsou lexik´aln´ı informace nebo informace o jednotliv´ ych subjektech. Oproti z´akladn´ı metodˇe je tedy vstupn´ı matice do LSA rozˇs´ıˇren´a o tyto informace, jak´ ymi jsou napˇr´ıklad synonyma a dalˇs´ı vlastnosti. [Balahur et al.(2012)] tak´e uv´ad´ı, ˇze tento obecn´ y postup, kdy nejprve doch´az´ı k anal´ yze pˇr´ıspˇevk˚ u v z´avislosti na obsahu subjektivn´ıho n´azoru a n´asledn´e sumarizaci je motivov´an lepˇs´ımi v´ ysledky. V opaˇcn´em pˇr´ıpadˇe se totiˇz tak dobr´ ych v´ ysledk˚ u nedosahuje.
24
5 Sumariz´ator n´azor˚ u na Facebooku 5.1
Architektura
Cel´ y software je rozdˇelen do pˇeti hlavn´ıch ˇc´ast´ı (bal´ık˚ u - packages). • App - obecn´a ˇca´st reprezentuj´ıc´ı hlavn´ı bˇeh cel´e aplikace. • Facebook - bal´ık obsahuj´ıc´ı veˇskerou komunikaci s facebookem a tˇr´ıdu reprezentuj´ıc´ı z´ıskan´a data. • GUI - zajiˇstˇen´ı grafick´eho rozhran´ı aplikace. • Sent - bal´ık obsahuj´ıc´ı tˇr´ıdy zamˇeˇren´e na ˇca´st aplikace zajiˇst’uj´ıc´ı v´ ybˇer sentimentu. S t´ım souvis´ı tak´e reprezentace jednotliv´ ych slovn´ık˚ u. ˇ sen je zde cel´ • Summ - ˇca´st zamˇeˇren´a na samotnou sumarizaci. Reˇ y algoritmus sumariz´atoru i s jeho pomocn´ ymi tˇr´ıdami. Na obr´azku 5.1 je vidˇet n´ahled UML diagramu architektury.
5.2
Implementace
Celou aplikaci m˚ uˇzeme rozdˇelit na m´enˇe zaj´ımav´e a obecn´e ˇca´sti a na zaj´ımavˇejˇs´ı a d˚ uleˇzit´e kusy, kter´e detailnˇeji rozebereme. Mezi obecn´e ˇca´sti patˇr´ı bal´ık App, ve kter´em je implementov´ana metoda Main() a volaj´ı se zde dalˇs´ı d˚ uleˇzit´e metody z ostatn´ıch bal´ık˚ u. Zde je dobr´e zm´ınit, ˇze pro v´ yvoj cel´e aplikace bylo pouˇzito v´ yvojov´e prostˇred´ı Eclipse KEPLER za pouˇzit´ı knihovny SWING pro vytvoˇren´ı grafick´eho rozhran´ı aplikace. Vˇse je implementov´ano v jazyce Java 1.7. Pro vytvoˇren´ı diagramu UML byla pouˇzita aplikace Altova UModel.
5.2.1
Implementace anal´ yzy sentimentu
Veˇsker´e tˇr´ıdy a pouˇzit´e algoritmy pro anal´ yzu sentimentu obsahuje bal´ık Sent. Jako hlavn´ı mus´ıme zm´ınit tˇr´ıdu Sentiment.java definuj´ıc´ı algoritmy 25
Sumariz´ator n´azor˚ u na Facebooku
Implementace
Obr´azek 5.1: N´ahled UML diagramu reprezentuj´ıc´ı architekturu cel´e aplikace
26
Sumariz´ator n´azor˚ u na Facebooku
Implementace
a postupy anal´ yzy sentimentu. Prvn´ı d˚ uleˇzitou bodem je vol´an´ı metody setDictionaries, kter´a m´a za u ´kol inicializovat veˇsker´e slovn´ıky potˇrebn´e pro anal´ yzu sentimentu. V naˇsem pˇr´ıpadˇe se jedn´a o inicializaci slovn´ık s kladn´ ymi v´ yrazy, z´aporn´ ymi v´ yrazy, extra kladn´ ymi v´ yrazy, extra z´aporn´ ymi v´ yrazy a se stopwords. Slovn´ıky maj´ı svoji strukturu a samozˇrejmˇe tak´e implementovanou zm´ınˇenou metodu pro jejich inicializaci. Metoda je velice jednoduch´a, postupnˇe projde textov´ y soubor dan´eho slovn´ıku a vloˇz´ı kaˇzd´ y prvek do vytvoˇren´eho pole typu ArrayList. Od t´eto doby tedy m˚ uˇzeme pracovat s tˇemito slovn´ıky v r´amci urˇcov´an´ı sentimentu. Nyn´ı se dost´av´ame k vyuˇzit´ı ˇctyˇr promˇenn´ ych tˇr´ıdy Sentence.java. Ve tˇr´ıdˇe Sentiment.java je vyuˇz´ıv´ana metoda reduceToSentiment, kter´a m´a za u ´kol proj´ıt cel´e pole objekt˚ u reprezentuj´ıc´ı jednotliv´e pˇr´ıspˇevky a inkrementovat danou promˇennou pˇri kaˇzd´em v´ yskytu nˇejak´eho slova ve slovn´ıku. Takto se n´am zaktualizuj´ı hodnoty tˇechto ˇctyˇr promˇenn´ ych, kter´e budou rozhoduj´ıc´ı pro koneˇcnou anal´ yzu sentimentu. Koneˇcnˇe se dost´av´ame k nejd˚ uleˇzitˇejˇs´ım metod´am a to k getPosSentiment pro vyj´adˇren´ı kladn´ ych n´azor˚ u a getNegSentiment pro vyj´adˇren´ı z´aporn´ ych n´azor˚ u. Urˇcov´an´ı takto n´azorovˇe zabarven´ ych pˇr´ıspˇevk˚ u je pouˇzito pr´avˇe hodnot dan´ ych ˇctyˇrmi promˇenn´ ymi (p, n, hp, hn) tˇr´ıdy Sentence.java reprezentuj´ıc´ı jednotliv´e pˇr´ıspˇevky. Metoda zkoum´a vˇsechny ˇctyˇri hodnoty a urˇcuje tak podm´ınky, za kter´ ych obsahuje pˇr´ıspˇevek kladn´ y nebo z´aporn´ y n´azor. Tyto podm´ınky byly v r´amci experimentu obmˇen ˇov´any a ladˇeny. Pˇr´ıkladem vˇsak m˚ uˇzeme uk´azat jednu z pouˇzit´ ych podm´ınek v´ ybˇeru pˇr´ıspˇevk˚ u s negativn´ım n´azorem. public ArrayList<Sentence> getNegSentiment(){ neg = new ArrayList<Sentence>(); for (int i=0; i<arr.size(); i++){ if(((arr.get(i).n > 1)||(arr.get(i).hn > 1)) && ((arr.get(i).p < 3)||(arr.get(i).hp < 3))){ neg.add(arr.get(i)); } } return neg; }
27
Sumariz´ator n´azor˚ u na Facebooku
5.2.2
Implementace
Implementace automatick´ e sumarizace
Celkovˇe bal´ık summ obsahuj´ıc´ı vˇse potˇrebn´e pro samotnou sumarizaci obsahuje tˇri tˇr´ıdy, Feature.java, SentenceFeature.java a nejd˚ uleˇzitˇejˇs´ı Summarize.java. Z pohledu sumarizace je tedy ned˚ uleˇzitˇejˇs´ı metoda summ(), ve kter´e je kompletnˇe obsaˇzen algoritmus sumarizace zaloˇzen´e na LSA. Tato metoda se vol´a v hlavn´ı tˇr´ıdˇe a konstruktorem tohoto objektu sumariz´atoru je ArrayList naplnˇen´ y jednotliv´ ymi pˇr´ıspˇevky. V prvn´ı f´azi se v t´eto metodˇe vol´a pomocn´a metoda setFeatures, kter´a vytvoˇr´ı seznam unik´atn´ıch v´ yraz˚ u (tˇr´ıda Features.java) vyjma slov ze slovn´ıku stopwords a z´aroveˇ n u kaˇzd´eho takov´eho slova pˇri proch´azen´ı aktualizuje ˇc´ıtaˇc reprezentuj´ıc´ı celkov´ y poˇcet v´ yskytu dan´eho slova v analyzovan´em datasetu. Tento seznam n´am pot´e tvoˇr´ı y-ovou souˇradnici potˇrebn´e matice. Druh´ yu ´kol t´eto metody je inicializace a naplnˇen´ı pole typu ArrayList objekty tˇr´ıdy SentenceFeatrue.java vyjadˇruj´ıc´ı jednotliv´e pˇr´ıspˇevky na x-ov´e souˇradnici potˇrebn´e matice a tato matice n´am tak ukazuje v´ yskyt jednotliv´ ych slov v dan´ ych pˇr´ıspˇevc´ıch. N´asleduje vypoˇcten´ı hodnoty kaˇzd´eho prvku matice. Znamen´a to, ˇze poˇc´ıt´ame v´ahu (d˚ uleˇzitost) jednotliv´ ych slov. K tomu je urˇcena metoda getCluEntWeight, kter´a je vytvoˇrena v n´avaznosti na adekv´atn´ı vzorec 4.2. private static double getCluEntWeight(double sentences, String word, double cluFreq) { double sum = 0; for (int i=0; i<sentenceFeatures.size();i++){ if (sentenceFeatures.get(i).getWord().equals(word) == true){ double p = sentenceFeatures.get(i).getFreq() / cluFreq; sum = sum + (p*Math.log(p)); } } return(1 - sum/Math.log(sentences)); } N´asleduje normalizace vznikl´e matice a n´asledn´ y singul´arn´ı rozklad, jenˇz je implementov´an v dodan´e knihovnˇe jama.jar poskytnut´e Ing. Josefem Steinbergerem Ph.D. Vznikl´e matice n´aslednˇe zredukujeme. Posledn´ım velk´ ym krokem je samotn´e vybr´an´ı vˇet do v´ ysledn´e sumari28
Sumariz´ator n´azor˚ u na Facebooku
Implementace
zace. To prob´ıh´a tak, ˇze se vyb´ır´a vˇeta s nejdelˇs´ım vektorem. N´aslednˇe mus´ıme u t´eto vˇety (t´ematu) zaruˇcit, aby se n´am do v´ ysledku nedostala znovu. K tomu slouˇz´ı pomocn´a metoda substractColumn, kter´a je zaloˇzena na vzorci 4.4. private static Matrix subtractColumn(Matrix F, int chosenIndex) { Matrix newF = new Matrix(F.getRowDimension(), F.getColumnDimension()); // v´ ypoˇ cet druh´ e mocniny d´ elky nejlepˇ sı ´ho vektoru double len = 0; for (int i=0; i
5.2.3
Implementace rozhran´ı pro Facebook
Vzhledem k tomu, ˇze v naˇsem pˇr´ıpadˇe je automatick´ y sumariz´ator n´azor˚ u zamˇeˇren na anal´ yzu pˇr´ıspˇevk˚ u z facebookov´ ych str´anek, jedn´a se o velice d˚ uleˇzitou ˇca´st. Pro komunikaci a extrahov´an´ı pˇr´ıspˇevk˚ u z facebookov´ ych str´anek bylo 29
Sumariz´ator n´azor˚ u na Facebooku
Implementace
pouˇzito rozhran´ı Facebook4J API (http://facebook4j.org/). Toto rozhran´ı je zcela vyhovuj´ıc´ı a pˇripraven´e pro veˇsker´e potˇreby automatick´eho sumariz´atoru. Bal´ık facebook tedy obsahuje tˇr´ıdu Join.java reprezentuj´ıc´ı samotn´e rozhran´ı a komunikaci s Facebookem. Zjednoduˇsenˇe m˚ uˇzeme ˇr´ıci, ˇze k nav´az´an´ı komunikace je zapotˇreb´ı tzv tokenu, coˇz je unik´atn´ı identifikace uˇzivatele nebo aplikace, jej´ıˇz pomoc´ı doch´az´ı k extrahov´an´ı pˇr´ıspˇevk˚ u a koment´aˇr˚ u. Druhou podstatnou vˇec´ı je identifikace facebookov´e str´anky, kter´a m˚ uˇze b´ yt implementaˇcnˇe ˇreˇsena pˇr´ımo pomoc´ı n´azvu str´anky (URL) nebo jako v naˇsem pˇr´ıpadˇe pomoc´ı identifikaˇcn´ıho ˇc´ısla. N´aslednˇe uˇz jen doch´az´ı k nav´az´an´ı komunikace a za pomoci metod getFeed a getMessage dostaneme urˇcen´ y poˇcet hlavn´ıch status˚ u, ze kter´ ych m˚ uˇzeme extrahovat jeˇstˇe koment´aˇre a odpovˇedi metodou getComments. Druhou d˚ uleˇzitou tˇr´ıdou je Sentence.java, kter´a reprezentuje strukturu pˇr´ıspˇevku i s jeho n´aleˇzit´ ymi vlastnostmi. Obsahuje tedy hlavnˇe ID, coˇz je unik´atn´ı identifikaˇcn´ı ˇc´ıslo, d´ıky kter´emu m˚ uˇzeme dan´ y pˇr´ıspˇevek v jak´emkoliv stavu aplikace jednoznaˇcnˇe identifikovat. Toto ˇc´ıslo je tak´e velice d˚ uleˇzit´e pro anal´ yzu sentimentu a n´aslednou sumarizaci. Samozˇrejmost´ı tˇr´ıdy Sentence.java je promˇenn´a text, kter´a je typu String a reprezentuje samotn´ y text pˇr´ıspˇevku. Nesm´ıme zapomenout tak´e na ˇctyˇri promˇenn´e (p, n, hp, hn), kter´e jsou typu Integer a pˇri extrahov´an´ı pˇr´ıspˇevku vytv´aˇr´ıme objekt t´eto tˇr´ıdy, jehoˇz startovn´ı hodnoty zm´ınˇen´ ych ˇctyˇr promˇenn´ ych jsou nulov´e. Znaˇc´ı totiˇz poˇcet slov z kaˇzd´eho ze ˇctyˇr slovn´ık˚ u se kter´ ymi se ovˇsem pracuje aˇz pˇri urˇcov´an´ı sentimentu. Na z´avˇer jeˇstˇe mus´ıme pˇripomenout dalˇs´ıch nˇekolik promˇenn´ ych, kter´e jsou v t´eto struktuˇre pˇripraveny pro pr´aci s korpusem, ale ve standardn´ım reˇzimu je nepouˇz´ıv´ame. Tato implementace je z uˇzivatelsk´eho pohledu u ´zce spojen´a s uˇzivatelsk´ ym rozhran´ım cel´e aplikace. Ta byla navrˇzena tak, aby byla co moˇzn´a njesnadnˇeji ovladateln´a a hlavnˇe pˇrehledn´a. Uˇzivateli byla poskytnuta tak´e moˇznost nastaven´ı velikosti v´ ysledn´e sumarizace. N´ahled cel´e aplikace m˚ uˇzete vidˇet na obr´azku 5.2. Je vidˇet, ˇze rozm´ıstˇen´ı jednotliv´ ych v´ yˇct˚ u je velice logick´e a nav´ıc jsou uˇzivateli dod´av´any statistick´e informace z jednotliv´ ych st´adi´ı procesu anal´ yzy. Rozhran´ı tak zcela pˇrehlednˇe ukazuje veˇsker´e pˇr´ıspˇevky extrahovan´e z dan´e facebookov´e str´anky, kter´e jsou pak analyzov´any z pohledu obsahu subjektivn´ıho n´azoru. Tyto n´azory jsou pak v aplikaci pˇrehlednˇe rozdˇeleny na kladn´e a z´aporn´e. Nakonec aplikace ukazuje skuteˇcnou v´ yslednou kladnou i z´apornou sumarizaci opˇet v oddˇelen´ ych listech.
30
Sumariz´ator n´azor˚ u na Facebooku
Testov´an´ı aplikace
Obr´azek 5.2: N´ahled automatick´eho sumariz´atoru n´azor˚ u na Facebooku
5.3
Testov´ an´ı aplikace
Cel´a aplikace je velice jednoduˇse pˇripravena k okamˇzit´emu pouˇzit´ı a byla v re´alu otestov´ana na nˇekolika facebookov´ ych str´ank´ach s r˚ uzn´ ym zamˇeˇren´ım a r˚ uzn´ ym stylem testov´an´ı. Jako uˇzivatel soci´aln´ı s´ıtˇe Facebook m´am manaˇzersk´a pr´ava k nˇekolika veˇrejn´ ym i testovac´ım str´ank´am. Veˇsker´a funkˇcnost tak mohla b´ yt testov´ana na veˇrejn´ ych str´ank´ach z pˇr´ıspˇevky r˚ uzn´ ych uˇzivatel˚ u, ale mohla b´ yt testov´ana tak´e na soukrom´ ych testovac´ıch facebookov´ ych str´ank´ach s moˇznost´ı ovlivnˇen´ı obsahu. Explicitnˇe pak byly otestov´any facebookov´e str´anky iDnes.cz, Nokia.cz) a
5.3.1
Nokia
Str´anky byly vybr´any zejm´ena z d˚ uvodu velk´eho poˇctu n´azor˚ u, jelikoˇz je zn´ame, ˇze spoleˇcnost Nokia se v oˇc´ıch uˇzivatel˚ u nejev´ı zcela d˚ ustojnˇe. V tabulce 5.1 m˚ uˇzeme vidˇet statistiky z konkr´etn´ıho pouˇzit´ı pˇri zamˇeˇren´ı na posledn´ıch 40 status˚ u a nastaven´ı d´elky sumarizace na 500 slov. Konkr´etnˇe byly do v´ ysledn´e kladn´e sumarizace vybr´any tyto pˇr´ıspˇevky: • ”Obl´ıben´ ych aplikac´ı je nˇekolik. Vzhledem k tomu, ˇze m´am Lumii 1020, tak zejm´ena fotoaplikace. Krom tˇech od Nokie jsem si obl´ıbil HDR 31
Sumariz´ator n´azor˚ u na Facebooku
Testov´an´ı aplikace
Photo Cameru, kter´a zvl´ad´a skvˇel´e HDR sn´ımky a po vyzkouˇsen´ı v´ıcero aplikac´ı pro HDR ji mohu smˇele oznaˇcit za jednu z nejlepˇs´ıch na Storu v tomto oboru a v tuto dobu. D´ale jsem si obl´ıbil fotoeditory Fhotoroom a Fotor. V tom prv´em si ˇclovˇek m˚ uˇze velmi dobˇre vyhr´at s nastaven´ım parametr˚ u a krom r˚ uzn´ ych oblig´atn´ıch efekt˚ u m˚ uˇze smˇele upravovat i parametry jako vyv´aˇzen´ı st´ın˚ u a svˇetel, korekce barevnosti a expozice, atd., takˇze fotky si ˇcasto uprav´ıte velmi dobˇre pˇr´ımo v telefonu a nemus´ıte je uˇz d´ale upravovat v poˇc´ıtaˇci. Fotor se zamˇeˇruje zejm´ena na efekty, ale pro urˇcit´e operace je rychlejˇs´ı, neˇz Fhotoroom a nav´ıc um´ı i hezk´e kol´aˇze. Dalˇs´ı obl´ıbenou aplikac´ı se stalo YouRadio, kter´e umoˇznuje zdarma streamovat muziku dle vybran´ ych ”n´alad”a jeˇstˇe si uloˇzit aˇz dvˇe hodiny pro off-line poslech, kdyˇz je ˇclovˇek tˇreba venku a nem´a zrovna ide´aln´ı FUP na datov´em bal´ıˇcku. N´alady si lze tvoˇrit vlastn´ı a muziku si tak naladit pˇresnˇe dle m´eho gusta. V´ yborn´ ymi aplikacemi ˇ jsou ˇcesk´e Bouˇrky s vˇzdy aktu´aln´ım stavem meteoradar˚ u nad Ceskem, tak pˇredpovˇedn´ı Meteoservis. Pro ˇcten´ı novinek pouˇz´ıv´am uˇz od WP7 skvˇelou ˇcteˇcku Nextgen Reader s n´ıˇz se ˇclovˇek v RSS neztrat´ı a m´a st´ale aktu´aln´ı pˇrehled o dˇen´ı v tom, co jej zaj´ım´a. Pro sledov´an´ı YouTube videa dobˇre poslouˇz´ı aplikace MetroTube, nebo YouTube HD, byt’ v IE11 ve WP8.1 uˇz lze video pˇrehr´avat skvˇele i pˇr´ımo v prohl´ıˇzeˇci. Ve svˇetˇe mezimˇestsk´e dopravy vˇzdy spolehlivˇe porad´ı WMM J´ızdn´ı ˇr´ady a v ter´enu pak zase Mapy.cz od Seznamu. Pˇred span´ım si r´ad pust´ım nˇejak´e ty uklidˇ nuj´ıc´ı t´ony a skvˇele se us´ın´a tˇreba s aplikacemi Sleep, nebo Sleep Bug. Zkr´atka a dobˇre - nen´ı pravda, ˇze by na Storu bylo m´alo aplikac´ı. Naj´ıt velmi dobr´e aplikace se daj´ı a kdyby hoˇsi v MS jeˇstˇe trochu v´ıce m´akli na odstranˇen´ı, nebo alespoˇ n odfiltrov´an´ı ”balastu”, bylo by hled´an´ı ve Storu opravdu radost´ı. Tˇeˇs´ım se, ˇze s ofici´aln´ım pˇr´ıchodem WP8.1 se poˇcet kvalitn´ıch aplikac´ı zase zvedne a padnou tak i posledn´ı argumenty odp˚ urc˚ u Windows Phone :).” • ”Dobr´ y den, dobre pokud to dobre ch´apu, tak by mela byt z´aruka platna. Podle toho imei se mi nav´ıc na Vaˇsich str´ank´ach objev´ı v zaruce v t´eto zemi. Ale potˇreboval bych vedet, jak bych postupoval pˇri pripadne reklamaci, kdyˇz nemam zarucni list ani doklad o koupi. Jestli si jen v servise podle ˇc´ısla najdou jestli je v zaruce, a tak to staˇc´ı. Dekuji za odpovˇed’.” • ”Prosim Vas, nehrajte si tu na chytreho. Psal jsem, ze je mnoho vsriant. Chtel bych Vas videt vyvijet aplikace. To by asi byla sranda co? Ja to delam uz dost dlouho. Nokia je dobra a se svoji Lumii 1020 i 1520 jsem spokojen.” 32
Sumariz´ator n´azor˚ u na Facebooku
Testov´an´ı aplikace
• ”hezk´e lumie :) snad poprv´e v ˇzivotˇe nˇeco vyhraju :) m´ate moc hezkou a informativn´ı str´anku :) a pˇeknou soutˇeˇz kterou jsem udˇelal :)” M˚ uˇzeme vidˇet, ˇze do kladn´e sumarizace se dostaly vcelku zaj´ımav´e a z velk´e ˇc´asti opravdu kladn´e n´azory, kter´e n´am zjednoduˇsenˇe mohou pomoci udˇelat si obr´azek o aktu´aln´ıch pozitivech znaˇcky. Nyn´ı se pod´ıvejme na v´ ysledky z´aporn´e sumarizace: • ”Jedn´ım z d˚ uvod˚ u, proˇc jsem si poˇr´ıdil Lumii byla offline navigace HERE Drive. Vˇetˇsinou staˇc´ı, ale bohuˇzel k dokonalosti j´ı chyb´ı jeˇstˇe hodnˇe (nejv´ıce mi vad´ı chybˇej´ıc´ı navigace v pruz´ıch, podivn´e hl´aˇsky drˇzte se vlevo/vpravo a nemoˇznost zadat pr˚ ujezdn´ı m´ısta). Skvˇel´a je aplikace Lid´e, kter´a je v podstatˇe automaticky prov´azan´a s m´ ym online adres´aˇrem a soci´aln´ımi s´ıtˇemi. To pro mne bylo velmi pˇr´ıjemn´e pˇrekvapen´ı. Velmi tak´e oceˇ nuji fotoaplikaci NOKIA Camera, Jej´ı ovl´ad´an´ı a funkce nemaj´ı chybu a nezn´am nic lepˇs´ıho. M´ıt toto i na sv´em fot’´aku, to by bylo nˇeco :-) A OneDrive, to asi ani nemus´ım rozv´adˇet. Poˇr´ıdil jsem si i tablet Nokia Lumia 2520 (trochu krkolomnˇe ze zahraniˇc´ı) pr´avˇe kv˚ uli prov´azanosti s PC a mobilem a Nokia aplikac´ım.” • ”Dobr´ y den, tyto pot´ıˇze se t´ ykaj´ı u ´ˇctu Windows Live, proto m˚ uˇze b´ yt nutn´e upravit nastaven´ı propojen´ ych sluˇzeb Live pro Facebook: Pˇrejdˇete na web http://Live.com a pˇrihlaste se do sv´eho Windows Live uˇctu.Vyberte propojen´e sluˇzby Windows Live.Vyberte sluˇzbu Facebook a podle pokyn˚ u sluˇzbu propojte. Zkuste v nastaven´ı u ´ˇct˚ u v telefonu zapnout u ´ˇcet sluˇzby Facebook. Zvolte moˇznost Start > Nastaven´ı > e-mail+´ uˇcty Co se t´ yˇce pˇreruˇsov´an´ı hovor˚ u, doporuˇcujeme vyzkouˇset, zda pˇristroj bude norm´alnˇe fungovat s jinou SIM kartou. V pˇr´ıpadˇe, ˇze je to pot´ıˇz na stranˇe SIM karty, obrat’te se na sv´eho telefonn´ıho ˇ a republika” oper´atora, aby V´am kartu vymˇenil. Nokia Cesk´ • ”Dobr´ y den, chci si koupit bluetooth headset Nokia BH-112U. Jak dlouho vydrˇz´ı headset sp´arovan´ y s mobilem? Jde mi o to, aby kdyˇz ho r´ano sp´aruji s mobilem (Lumia 620), tak aby vydrˇzel sp´arovan´ y cel´ y den, resp. pracovn´ı dobu. Kdyˇz mi bude nˇekdo volat, aby pokaˇzd´e ˇslo hovor pˇrijmout headsetem a nemusel jsem ˇsahat na mobil. Zn´am´ y m´a headset HB-108 na Lumii 820 a po nˇejak´e dobˇe od sp´arov´an´ı se toto zruˇs´ı a mus´ı headset znovu s mobilem sp´arovat, coˇz je probl´em. Tak jestli to je chyba jeho kusu nebo to je d´ano technologi´ı a m´a to tak kaˇzd´ y headset? Dˇekuji.” 33
Sumariz´ator n´azor˚ u na Facebooku
Testov´an´ı aplikace
• ”Dobr´ y den m´am tady takovou pikantnost.... Jde o reklamaci Nokia Lumia 1520.. byl jsem v obchodˇe kde jsem ji koupil. je na ni vadn´ y pixel.... 1 . No a oni mˇe ˇrekli ˇze do tˇr´ı pixel˚ u je to unosn´e... :( :( Moc dobˇre vˇedˇeli ˇze je to Nokia z Polska.... poslali fotku do Olomouce a dneska mˇe ˇrekli ˇze prostˇe neuznaj´ı reklamaci..... Mrz´ı mˇe to dost zklamala mˇe Nokia..... :( :(” Opˇet je moˇzno vidˇet, ˇze se do v´ ysledn´e z´aporn´e sumarizace dostaly z velk´e ˇc´asti opravdu z´aporn´e n´azory, kter´e n´am naznaˇcuj´ı hlavn´ı probl´emy dneˇsn´ıch uˇzivatel˚ u produkt˚ u spoleˇcnosti Nokia. M˚ uˇzeme zde tak´e pozorovat, ˇze zde spr´avnˇe funguje nastaven´ı anal´ yzy n´azor˚ u, jelikoˇz u pˇr´ıspˇevk˚ u m˚ uˇzeme vidˇet osloven´ı ”dobr´ y den”, jenˇz ovˇsem na zaˇrazen´ı mezi z´aporn´e n´azory nemˇelo vliv.
5.3.2
iDnes.cz
Zamˇeˇren´ı port´alu iDnes je hlavnˇe na aktu´aln´ı dˇen´ı u n´as i ve svˇetˇe a je tak moˇzn´e v sumarizaci oˇcek´avat pˇr´ıspˇevky zamˇeˇren´e pr´avˇe na t´emata posledn´ıch dn´ı. Pˇri tomto testov´an´ı byla nastavena d´elka v´ ysledn´e sumarizace na 200 slov. Statistick´e u ´daje m˚ uˇzete vidˇet v tabulce 5.1. Kladn´a sumarizace: • ”Je evidentn´ı, ˇze m´ame pˇr´ıliˇs mnoho politick´ ych stran, hnut´ı a r˚ uzn´ ych uskupen´ı. Bylo by v´ıce neˇz ˇza´douc´ı aby si strany na svoj´ı existenci zaˇcaly vydˇel´avat bez u ´ˇcasti daˇ nov´ ych poplatn´ık˚ u. Kvalita naˇseho ˇzivota totiˇz rozhodnˇe neodpov´ıd´a poˇctu stran ani jejich volebn´ım program˚ um. Aˇz na prvn´ım m´ıstˇe jsou pen´ıze, i takto lze ch´apat mnoˇzstv´ı politick´ ych subjekt˚ u. Zvl´aˇstˇe, kdyˇz ˇzij´ı a funguj´ı na z´akladˇe nikoli sv´ ych finanˇcn´ıch prostˇredk˚ u. Eurovolby jsou pro nˇe zvl´aˇstˇe v´ıtan´ ym prostˇredkem k z´ısk´an´ı financ´ı. V pˇr´ıpadˇe minim´aln´ıho u ´spˇechu dostanou sluˇsn´e pen´ıze a nav´ıc v pˇr´ıpadˇe zvolen´ı do Evropsk´eho parlamentu i moˇznost zaˇs´ıt se ˇ do instituce, kde na nˇe nebude z Cech aˇz tolik vidˇet. Nav´ıc, kdyˇz se d´a pˇredpokl´adat n´ızk´a volebn´ı u ´ˇcast. Je to od stran moudr´e a chytr´e, ne vˇsak uˇz tak pro obˇcany t´eto zemˇe. Ale pt´a se jich tu v˚ ubec jeˇstˇe nˇekdo na nˇeco? Mysl´ım, ˇze ne.” • ”Bylo to samo´ uˇceln´e a tud´ıˇz to nemˇelo s karikaturou nic spoleˇcn´eho, jen s pomluvou. V tom m´a Petra Paroubkov´a naprostou pravdu! Mysl´ım 34
Sumariz´ator n´azor˚ u na Facebooku
Testov´an´ı aplikace
ten obr´azek v Reflexu!” • ”A 1000x v´ıc hav´arii zavinili lide co byli stˇr´ızliv´ı a nebyli pod vlivem. Tud´ıˇz je statisticky lepˇs´ı jezdit ozralej a nafetovanej pak je menˇs´ı pravdˇepodobnost havarie :-D” M˚ uˇzeme vidˇet, ˇze jednoznaˇcnost kladn´ ych n´azor˚ u nen´ı zcela tak jasn´a jako u str´anek Nokia. Je to d´ano pˇredevˇs´ım t´ım, ˇze zde lid´e reaguj´ı opravdu na velk´e mnoˇzstv´ı aktu´aln´ıho dˇen´ı a tak nem˚ uˇzeme oˇcek´avat, ˇze se v sumarizaci objev´ı nˇejak´ y n´azor pˇr´ımo na port´al iDnes. I pˇresto je vˇsak vidˇet, ˇze se do sumarizace dostaly pˇr´ıspˇevky zcela t´ematicky r˚ uznorod´e, coˇz naznaˇcuje spr´avnost funkce sumariz´atoru z pohledu jeho funkˇcnosti. Z´aporn´a sumarizace: • ”Je to vlaˇstni jak kdejak´e neˇradstvoo ppostupˇ n´e ziska v´a i pˇriznivce nebo prost´e tolerovani..Dokonce by n´ekteˇri sohlasli s legalisaci. Ale otazka je proˇc zdravi ˇclov´ek potˇrebuj´e drogu? Odpov´ed je prosta je to jedinec,ktery ztratil soudnost sam nad sebou a pak je mu jedno jak jeho jednani ovlivni tˇreba i ˇzivot jin´eho.Jak takoveto jedince pˇrivest na normalni uvaˇzovani,prost´e. Za smrt smrt! Ostatni by pochopili velice rychle ˇze pit nebo drogovat se prpstˇe pˇri ˇrizeni nesmi. Kdyˇz v Norsko jede opilec a bez nehody skonˇci na 3 roky v base. V ˇceske rep. Jede na rekraci na svou chalupu v zamoˇri a nejde ani k soudu.( Janouˇsek a pod). Tak ˇze se d´al budeme tˇeˇsit na dalˇsi silniˇcni tragedie.vˇec mˇe pˇrijde tako a´ ˇze si nej ic oˇzrali a sfetovany jezdi zakonodarci proto se zakon na tvrd´e tresty nedostavaji na program dne” • ”Kdyby se uˇz koneˇcnˇe zaˇcalo nˇeco dˇelat se zlodˇeji a podobn´ ymi, kter´ ych je n´aˇs st´at pln´ y. Miliardy jsou v pr...i, ale chytaj´ı se mal´e ˇcudly a velryby ˇ si klidnˇe plavou d´al. Je mi z toho naˇseho Ceska na blit´ı.” • ”J´a si prvnˇe myslel, ˇze je to pˇrepaden´ı nebo teroristickej u ´tok.” Zde m˚ uˇzete jasnˇe opˇet pozorovat r˚ uznorodost pˇr´ıspˇevk˚ u a je zde v´ıce markantn´ı v´ ybˇer opravdu z´aporn´ ych n´azor˚ u, kter´e shrnuj´ı urˇcit´ y pohled na danou vˇec. Zˇrejm´e je to zejm´ena u druh´eho pˇr´ıspˇevku ze z´aporn´e sumarizace.
35
Sumariz´ator n´azor˚ u na Facebooku
Testov´an´ı aplikace
Nokia Adresa Celkem pˇr´ıspˇevk˚ u Kladn´ ych n´azor˚ u Z´aporn´ ych n´azor˚ u Kladn´a sumarizace Z´aporn´a sumarizace
iDnes
facebook.com/nokia.cz facebook.com/iDNES.cz 219 431 16 20 14 24 4 3 4 3
Tabulka 5.1: statistick´e vyhodnocen´ı re´aln´eho testov´an´ı aplikace na tˇrech facebookov´ ych str´ank´ach
36
6 Experiment Cel´ y experiment je zaloˇzen na zjiˇstˇen´ı a porovn´an´ı u ´ˇcinnosti automatick´eho sumariz´atoru n´azor˚ u oproti manu´aln´ı subjektivn´ı sumarizaci. K tomuto u ´ˇcelu bylo zapotˇreb´ı z´ısk´an´ı testovac´ıch dat, kter´a by se mohla pouˇz´ıt pro oba typy sumarizace a jejiˇz v´ ysledky by se dali re´alnˇe porovn´avat.
6.1
Z´ısk´ an´ı datasetu
Jako testovac´ı data byly pouˇzity oznaˇckovan´e korpusy poskytnut´e Ing. Josefem Steinbergerem, Ph.D. Tyto korpusy jsou vˇsechny ve stejn´e formˇe ve form´atu CSV. Jedn´a se o posb´ıran´e pˇr´ıspˇevky z facebookov´ ych str´anek: • Kofola - www.facebook.com/kofolaceskoslovensko • McDonald’s - www.facebook.com/McDonalds • Milka - www.facebook.com/Milka.cz.sk • O2 - www.facebook.com/o2cz • Slevomat - www.facebook.com/slevomat • T-Mobile - www.facebook.com/TmobileCz • Vodafone - www.facebook.com/vodafoneCZ • Xparfemy - www.facebook.com/Xparfemy.cz • ZOO Praha - www.facebook.com/zoopraha Kaˇzd´ y z uveden´ ych korpus˚ u obsahuje pˇribliˇznˇe 1100 pˇr´ıspˇevk˚ u z v´ yˇse uveden´ ych facebookov´ ych str´anek.
37
Experiment
6.1.1
Z´ısk´an´ı datasetu
Form´ at dat
Jedn´a se o soubory ve form´atu CSV obsahuj´ıc´ı tyto sloupeˇcky: • ID - jedn´a se o unik´atn´ı kl´ıˇc dan´eho pˇr´ıspˇevku (poˇradov´e ˇc´ıslo) • Web - jm´eno facebookov´e str´anky • Text - konkr´etn´ı text dan´eho pˇr´ıspˇevku • A1 - ohodnocen´ı pˇr´ıspˇevku prvn´ı osobou (0, n, p, b) • A2 - ohodnocen´ı pˇr´ıspˇevku druhou osobou (0, n, p, b) • R3 - ohodnocen´ı pˇr´ıspˇevku tˇret´ı osobou (0, n, p, b) - v pˇr´ıpadˇe neshody A1 a A2 • R4 - ohodnocen´ı pˇr´ıspˇevku ˇctvrtou osobou (0, n, p, b) - v pˇr´ıpadˇe neshody A1 a A2 • Gold - v´ ysledn´ y n´azor na pˇr´ıspˇevek • A1=A2 - porovn´an´ı n´azor˚ u osob A1 a A2 Pˇr´ıklad ˇca´sti korpusu m˚ uˇzete vidˇet na obr´azku 6.1.
Obr´azek 6.1: Uk´azka oznaˇckovan´eho korpusu facebookov´ ych str´anek spoleˇcnosti Vodafone
38
Experiment
6.2
Testov´an´ı
Testov´ an´ı
V r´amci testov´an´ı bylo tedy zapotˇreb´ı z´ıskat subjektivn´ı v´ ysledky na z´akladˇe anotace a sumarizace fyzick´ ych osob a anotace a sumarizaci automatick´e.
6.2.1
Manu´ aln´ı sumarizace
Tato ˇc´ast experimentu prob´ıhala s pomoc´ı pˇeti dobrovoln´ık˚ u, kteˇr´ı mˇeli za u ´kol pomoc´ı doplˇ nkov´e aplikace pro manu´aln´ı v´ ybˇer a export vybrat z dodan´ ych korpus˚ u pˇr´ıspˇevky obsahuj´ıc´ı kladn´ y nebo z´aporn´ y n´azor. Pro maxim´aln´ı rozpˇet´ı t´emat bylo pro experiment vybr´ano tˇechto pˇet korpus˚ u: • McDonald’s - www.facebook.com/McDonalds • Milka - www.facebook.com/Milka.cz.sk • Slevomat - www.facebook.com/slevomat • Vodafone - www.facebook.com/vodafoneCZ • ZOO Praha - www.facebook.com/zoopraha Kaˇzd´ y dobrovoln´ık si za pouˇzit´ı doplˇ nkov´e aplikace vˇzdy naimportoval jeden z korpus˚ u a n´aslednˇe postupnˇe zkontroloval kaˇzd´ y pˇr´ıspˇevek. Pokud uznal nˇejak´ y pˇr´ıspˇevek jako n´azorov´ y, mohl jej oznaˇcit a pˇresunout do seznamu pˇr´ıspˇevk˚ u, kter´e podle nˇej n´azor obsahuj´ı. Takto vytvoˇren´ y seznam je pak moˇzn´e exportovat do souboru ve form´atu CSV. Tˇechto celkem 25 soubor˚ u (5 soubor˚ u od 5 dobrovoln´ık˚ u) bylo pouˇzito k otestov´an´ı u ´spˇeˇsnosti automatick´eho sumariz´atoru n´azor˚ u. Uk´azku aplikace pro manu´aln´ı v´ ybˇer pˇr´ıspˇevk˚ u obsahuj´ıc´ı n´azor m˚ uˇzete vidˇet na obr´azku 6.2. N´aslednˇe byli jeˇstˇe tito dobrovoln´ıci poˇz´ad´an´ı o manu´aln´ı sumarizaci tˇechto pˇr´ıspˇevk˚ u obsahuj´ıc´ıch n´azor. V´ ysledky jednotliv´ ych dobrovoln´ık˚ u (tester˚ u) m˚ uˇzete vidˇet v dalˇs´ı ˇc´asti t´eto pr´ace. Rozd´ıly jednotliv´ ych tester˚ u nast´avaly zejm´ena pˇri obecn´em pohledu na urˇcov´an´ı n´azor˚ u. Jedn´ım z probl´em˚ u byla napˇr´ıklad anal´ yza korpusu Milka, jelikoˇz nˇekdo povaˇzoval za n´azory pouze ty, kter´e jasnˇe reagovaly pˇr´ımo na spoleˇcnost, ale nˇekteˇr´ı braly jako n´azor na spoleˇcnost tak´e n´azory na jej´ı 39
Experiment
Testov´an´ı
Obr´azek 6.2: N´ahled doplˇ nkov´e aplikace pro ruˇcn´ı v´ ybˇer pˇr´ıspˇevk˚ u obsahuj´ıc´ıch n´azor produkty, coˇz ve sv´e podstatˇe nen´ı zcela ˇspatn´ y pˇr´ıstup, jelikoˇz n´azory pˇr´ımo na produkty firmy jsou n´azory, kter´e n´as zaj´ımaj´ı. Tento probl´em je, jak se n´aslednˇe dozv´ıme, tak´e probl´em automatick´eho sumariz´atoru, kter´ y m´a opaˇcn´ y probl´em u jin´eho typu dat. Statisticky se vˇsak dobrovoln´ıci napˇr´ıklad poˇctem vybran´ ych pˇr´ıspˇevk˚ u liˇsili v r´amci jednotek procent, coˇz lze povaˇzovat za dobr´e.
6.2.2
Automatick´ a sumarizace
Stejnˇe jako u manu´aln´ı sumarizace bylo k automatick´e sumarizaci pouˇzito vybran´ ych pˇet korpus˚ u. Do automatick´eho sumariz´atoru bylo postupnˇe vloˇzeno pˇet korpus˚ u. Po automatick´e sumarizaci byl vˇzdy vybr´an urˇcit´ y poˇcet kladn´ ych i z´aporn´ ych pˇr´ıspˇevk˚ u, kter´e byly n´aslednˇe sumarizov´any. Tyto v´ ysledky pak byly pouˇzity pro porovn´an´ı v´ ysledk˚ u manu´aln´ı sumarizace.
40
Experiment Tester Tester Tester Tester Tester Tester
V´ysledky Vybran´ e pˇ r´ıspˇ evky Procentu´ alnˇ e Maxim´ aln´ı v´ aha
1 2 3 4 5
101 168 183 146 155
9% 15% 16,4% 13% 13,9%
505 840 915 730 775
Tabulka 6.1: Poˇcet vybran´ ych pˇr´ıspˇevk˚ u jednotliv´ ych tester˚ u korpusu McDonald’s
6.3 6.3.1
V´ ysledky Manu´ aln´ı v´ ybˇ er subjektivn´ıch pˇ r´ıspˇ evk˚ u
Nyn´ı se dost´av´ame k vyhodnocen´ı manu´aln´ı sumarizace. Pˇet tester˚ u postupnˇe manu´alnˇe sumarizovalo v´ yˇse zm´ınˇen´ ych pˇet korpus˚ u. Postupnˇe se sezn´am´ıme s v´ ysledky jednotliv´ ych tester˚ u a vz´ajemnˇe porovn´ame a vyhodnot´ıme jednotliv´a t´emata (korpusy). V n´asleduj´ıc´ıch tabulk´ach je moˇzn´e vidˇet konkr´etn´ı ˇc´ısla a procentu´aln´ı vyj´adˇren´ı shodnosti anotac´ı jednotliv´ ych tester˚ u. Metoda urˇcen´ı m´ıry u ´spˇeˇsnosti anotac´ı je zaloˇzena na urˇcen´ı v´ahy jednotliv´ ych pˇr´ıspˇevk˚ u. Nejprve byla tedy urˇcena v´aha jednotliv´ ych pˇr´ıspˇevk˚ u podle toho, kolikr´at byl dan´ y pˇr´ıspˇevek vybr´an jako n´azor. Pokud tedy nˇejak´ y pˇr´ıspˇevek oznaˇcilo jako n´azor vˇsech pˇet tester˚ u, obdrˇzel tento pˇr´ıspˇevek v´ahu hodnoty 5. Pokud byl vybr´an napˇr´ıklad dvˇema testery, obdrˇzel v´ahu hodnoty 2. Pokud nebyl pˇr´ıspˇevek oznaˇcen jako n´azor ˇza´dn´ ym testerem, z˚ ustala jeho v´aha 0. Procentu´aln´ı u ´spˇeˇsnost je pak urˇcov´ana pomoc´ı souˇctu vah vybran´ ych pˇr´ıspˇevk˚ u, kter´e tvoˇr´ı urˇcitou ˇc´ast z maxim´aln´ıho moˇzn´eho souˇctu.
McDonald’s Celkovˇe tento korpus obsahoval 1118 pˇr´ıspˇevk˚ u. Z´akladn´ı ˇc´ıseln´e vyj´adˇren´ı v´ ysledk˚ u jednotliv´ ych tester˚ u vid´ıte v tabulce 6.1 a porovn´an´ı shody jednotliv´ ych tester˚ u vid´ıte v tabulce 6.2.
41
Experiment Tester Tester Tester Tester Tester Tester
1 2 3 4 5
V´ysledky Sk´ ore Procentu´ aln´ı u ´ spˇ eˇ snost 415 587 654 524 598
81,6% 70% 71,5% 71,8% 77,2%
Tabulka 6.2: Porovn´an´ı shodnosti jednotliv´ ych tester˚ u u korpusu McDonald’s Tester Tester Tester Tester Tester Tester
Vybran´ e pˇ r´ıspˇ evky Procentu´ alnˇ e Maxim´ aln´ı v´ aha
1 2 3 4 5
75 149 123 94 104
6,7% 13,4% 11% 8,4% 9,3%
375 745 615 470 520
Tabulka 6.3: Poˇcet vybran´ ych pˇr´ıspˇevk˚ u jednotliv´ ych tester˚ u korpusu Milka Milka Celkovˇe tento korpus obsahoval 1117 pˇr´ıspˇevk˚ u. Z´akladn´ı ˇc´ıseln´e vyj´adˇren´ı v´ ysledk˚ u jednotliv´ ych tester˚ u vid´ıte v tabulce 6.3 a porovn´an´ı shody jednotliv´ ych tester˚ u vid´ıte v tabulce 6.4.
Slevomat Celkovˇe tento korpus obsahoval 1116 pˇr´ıspˇevk˚ u. Z´akladn´ı ˇc´ıseln´e vyj´adˇren´ı v´ ysledk˚ u jednotliv´ ych tester˚ u vid´ıte v tabulce 6.5 a porovn´an´ı shody jednotliv´ ych tester˚ u vid´ıte v tabulce 6.6. Tester Tester Tester Tester Tester Tester
1 2 3 4 5
Sk´ ore Procentu´ aln´ı u ´ spˇ eˇ snost 312 590 501 367 393
83,2% 79,2% 81,4% 78% 75,6%
Tabulka 6.4: Porovn´an´ı shodnosti jednotliv´ ych tester˚ u u korpusu Milka 42
Experiment Tester Tester Tester Tester Tester Tester
V´ysledky Vybran´ e pˇ r´ıspˇ evky Procentu´ alnˇ e Maxim´ aln´ı v´ aha
1 2 3 4 5
57 76 39 78 66
5,1% 6,8% 3,5% 7% 5,9%
285 380 195 390 330
Tabulka 6.5: Poˇcet vybran´ ych pˇr´ıspˇevk˚ u jednotliv´ ych tester˚ u korpusu Slevomat Tester Tester Tester Tester Tester Tester
1 2 3 4 5
Sk´ ore Procentu´ aln´ı u ´ spˇ eˇ snost 156 253 135 269 229
54,7% 66,6% 69,3% 69% 69,4%
Tabulka 6.6: Porovn´an´ı shodnosti jednotliv´ ych tester˚ u u korpusu Slevomat Vodafone Celkovˇe tento korpus obsahoval 1119 pˇr´ıspˇevk˚ u. Z´akladn´ı ˇc´ıseln´e vyj´adˇren´ı v´ ysledk˚ u jednotliv´ ych tester˚ u vid´ıte v tabulce 6.7 a porovn´an´ı shody jednotliv´ ych tester˚ u vid´ıte v tabulce 6.8. Tester Tester Tester Tester Tester Tester
1 2 3 4 5
Vybran´ e pˇ r´ıspˇ evky Procentu´ alnˇ e Maxim´ aln´ı v´ aha 88 146 53 106 127
7,9% 13% 4,7% 9,5% 11,3%
440 730 265 530 635
Tabulka 6.7: Poˇcet vybran´ ych pˇr´ıspˇevk˚ u jednotliv´ ych tester˚ u korpusu Vodafone
43
Experiment Tester Tester Tester Tester Tester Tester
V´ysledky Sk´ ore Procentu´ aln´ı u ´ spˇ eˇ snost
1 2 3 4 5
295 514 198 367 436
67% 70,4% 74,7% 69,3% 68,7%
Tabulka 6.8: Porovn´an´ı shodnosti jednotliv´ ych tester˚ u u korpusu Vodafone Tester Tester Tester Tester Tester Tester
Vybran´ e pˇ r´ıspˇ evky Procentu´ alnˇ e Maxim´ aln´ı v´ aha
1 2 3 4 5
75 68 54 70 76
6,6% 6% 4,8% 6,2% 6,7%
375 340 270 350 380
Tabulka 6.9: Poˇcet vybran´ ych pˇr´ıspˇevk˚ u jednotliv´ ych tester˚ u korpusu ZOO Praha ZOO Praha Celkovˇe tento korpus obsahoval 1132 pˇr´ıspˇevk˚ u. Z´akladn´ı ˇc´ıseln´e vyj´adˇren´ı v´ ysledk˚ u jednotliv´ ych tester˚ u vid´ıte v tabulce 6.9 a porovn´an´ı shody jednotliv´ ych tester˚ u vid´ıte v tabulce 6.10. Tester Tester Tester Tester Tester Tester
1 2 3 4 5
Sk´ ore Procentu´ aln´ı u ´ spˇ eˇ snost 288 248 193 256 280
76,8% 72,9% 71,5% 73,1% 73,7%
Tabulka 6.10: Porovn´an´ı shodnosti jednotliv´ ych tester˚ u u korpusu ZOO Praha
44
Experiment
V´ysledky
Korpus
Vybran´ e pˇ r´ıspˇ evky Procentu´ alnˇ e Maxim´ aln´ı v´ aha
McDonald’s Milka Slevomat Vodafone ZOO Praha
23 27 32 34 43
2% 2,4% 2,9% 3% 3,8%
115 135 160 170 215
Tabulka 6.11: Porovn´an´ı shodnosti anotace automatick´eho sumariz´atoru u jednotliv´ ych korpus˚ u
6.3.2
Automatick´ y v´ ybˇ er subjektivn´ıch pˇ r´ıspˇ evk˚ u
V tabulce 6.11 je vidˇet z´akladn´ı ˇc´ıseln´e vyj´adˇren´ı v´ ysledk˚ u automatick´eho sumariz´atoru se zamˇeˇren´ım na ˇca´st v´ ybˇeru pˇr´ıspˇevk˚ u s n´azorem. Zde je nutn´e podotknout, ˇze nastaven´ı v´ ybˇeru z´aporn´ ych n´azorov´ ych pˇr´ıspˇevk˚ u automatick´eho sumariz´atoru bylo provedeno n´asleduj´ıc´ım zp˚ usobem: ((arr.get(i).n > 1)||(arr.get(i).hn > 1)) && ((arr.get(i).p < 3)||(arr.get(i).hp < 3)) V pˇrekladu to znamen´a, ˇze jako z´aporn´e n´azory byly vybr´any pˇr´ıspˇevky, jenˇz obsahovaly alespoˇ n dvˇe slova ze slovn´ık˚ u z´aporn´ ych, ale z´aroveˇ n vˇsak pˇr´ıspˇevek nemohl obsahovat v´ıce neˇz dvˇe slova ze slovn´ıku kladn´ ych v´ yraz˚ u. U anal´ yzy kladn´ ych n´azor˚ u bylo pouˇzito principi´alnˇe stejn´e, ale samozˇrejmˇe zcela opaˇcn´e nastaven´ı. Tabulka 6.12 pak vyjadˇruje m´ıru u ´spˇeˇsnosti automatick´eho sumariz´atoru z pohledu urˇcov´an´ı pˇr´ıspˇevk˚ u obsahuj´ıc´ı n´azor. Z v´ ysledk˚ u m˚ uˇzeme vidˇet, ˇze v´ ybˇer n´azor˚ u automatick´ ym sumariz´atorem se od ruˇcn´ıho v´ ybˇeru liˇs´ı. Z pozorov´an´ı, testov´an´ı a proch´azen´a pˇr´ıspˇevk˚ u m˚ uˇzeme naj´ıt nˇekolik d˚ uvod˚ u. Jako jeden z hlavn´ıch d˚ uvod˚ u m˚ uˇzeme zm´ınit opravdu velk´e mnoˇzstv´ı pˇr´ıspˇevk˚ u, kter´e ve sv´e podstatˇe jsou n´azory, avˇsak ne pˇr´ımo na danou spoleˇcnost. Markantn´ı je to napˇr´ıklad u Slevomatu nebo u ZOO Praha. U Slevomatu se objevuje opravdu velk´e mnoˇzstv´ı n´azor˚ u na sluˇzby nebo v´ yrobky, kter´e Slevomat v r´amci sv´e nab´ıdky nab´ız´ı. Sumariz´ator je ve sv´e z´akladn´ı podstatˇe urˇcuje jako n´azory, avˇsak jednotliv´ı testeˇri spr´avnˇe tyto pˇr´ıspˇevky neuznali jako n´azory na danou spoleˇcnost. Mysl´ım si, 45
Experiment Korpus McDonald’s Milka Slevomat Vodafone ZOO Praha
V´ysledky Sk´ ore Procentu´ aln´ı u ´ spˇ eˇ snost 68 39 33 67 46
59,1% 29% 21% 39,4% 21,4%
Tabulka 6.12: Porovn´an´ı shodnosti v´ ybˇeru pˇr´ıspˇevk˚ u obsahuj´ıc´ı n´azor automatick´ ym sumariz´atorem u jednotliv´ ych korpus˚ u ˇze pr´avˇe tohle je ten nejvˇetˇs´ı d˚ uvod, proˇc sumariz´ator nedosahuje v oblasti urˇcov´an´ı n´azor˚ u vˇetˇs´ı u ´spˇeˇsnosti. Podobn´ y pˇr´ıpad je u korpusu ZOO Praha, kde se objevuj´ı spousty n´azor˚ u na jednotliv´a zv´ıˇrata, avˇsak to ve sv´e podstatˇe nejsou n´azory na ZOO jako takovou. Pˇr´ıkladem jeden pˇr´ıspˇevek, kter´ y byl sumariz´atorem urˇcen jako kladn´ y n´azor:”no to je nˇeco n´adhern´ yho, ˇziraf´atku pˇreji do ˇzivota jen to nejlepˇs´ı”. M˚ uˇzeme pozorovat, ˇze se opravdu jedn´a o kladn´ y n´azor. Ten je vˇsak zamˇeˇren na ml´adˇe ˇzirafy a ne na ZOO. A takov´ ychto pˇr´ıpad˚ u se napˇr´ıˇc vˇsemi korpusy vyskytuje opravdu velk´e mnoˇzstv´ı. Na druhou stranu se mus´ıme pod´ıvat na anal´ yzu korpusu McDonald’s, u kter´eho jsme se sumariz´atorem dos´ahli nejlepˇs´ı shody. Zde je paradoxnˇe d˚ uvod velice podobn´ y, avˇsak efekt je zcela opaˇcn´ y. Na rozd´ıl od ostatn´ıch korpus˚ u zde jednotliv´ y testeˇri nabyli dojmu, ˇze n´azory na produkty spoleˇcnosti McDonald’s jsou n´azory pˇr´ımo na spoleˇcnost. Je to sv´ ym zp˚ usobem spr´avn´a u ´vaha, jelikoˇz tyto produkty spoleˇcnost pˇr´ımo ovlivˇ nuje a vyr´ab´ı. N´azory na kvalitu nebo chut’ se tak zde objevuj´ı ve velk´em mnoˇzstv´ı a shoda tester˚ u se sumaroz´atorem je vˇetˇs´ı.
6.3.3
Srovn´ an´ı automatick´ e sumarizace
Nyn´ı se pod´ıv´ame na v´ ysledky automatick´eho sumariz´atoru a porovn´ame jeho v´ ysledky s v´ ysledky jednotliv´ ych tester˚ u. Co se t´ yˇce koneˇcn´e sumarizace automatick´eho sumariz´atoru v porovn´an´ı se sumarizac´ı jednotliv´ ych tester˚ u, poslouˇz´ı n´am pro pˇrehled n´asleduj´ıc´ı tabulky. Pro experiment bylo pouˇzito dvoj´ı nastaven´ı automatick´eho sumariz´atoru. Jako prvn´ı jsme pouˇzili omezen´ı v´ ysledn´e sumarizace na poˇcet ˇsedes´ati 46
Experiment Korpus McDonald’s Milka Slevomat Vodafone ZOO Praha
V´ysledky ´ eˇ Pˇ r´ıspˇ evk˚ u Maxim´ aln´ı v´ aha Sk´ ore Uspˇ snost 3 3 4 4 4
15 15 20 20 20
0 2 5 0 3
0% 13,3% 25% 0% 15%
Tabulka 6.13: V´ ysledky u ´spˇeˇsnosti sumariz´atoru kladn´ ych n´azor˚ u v porovn´an´ı s manu´alnˇe sumarizovan´ ymi korpusy s omezen´ım sumarizace na d´elku 60 slov Korpus McDonald’s Milka Slevomat Vodafone ZOO Praha
´ eˇ Pˇ r´ıspˇ evk˚ u Maxim´ aln´ı v´ aha Sk´ ore Uspˇ snost 3 3 3 3 3
15 15 15 15 15
1 4 4 6 0
6,7% 26,7% 26,7% 40% 0%
Tabulka 6.14: V´ ysledky u ´spˇeˇsnosti sumariz´atoru z´aporn´ ych n´azor˚ u v porovn´an´ı s manu´alnˇe sumarizovan´ ymi korpusy s omezen´ım sumarizace na d´elku 60 slov slov. Sumarizaci tˇechto kladn´ ych n´azor˚ u m˚ uˇzete vidˇet v tabulce 6.13 a sumarizaci z´aporn´ ych pˇr´ıspˇevk˚ u m˚ uˇzete vidˇet v tabulce 6.14. V druh´em pˇr´ıpadˇe bylo nastaveno omezen´ı na poˇcet sta slov a v´ ysledky m˚ uˇzete vidˇet pro kladn´e n´azory v tabulce 6.15 a pro z´aporn´e 6.16. Kaˇzd´ y tester mˇel za u ´kol vybrat deset pˇr´ıspˇevk˚ u (pˇet kladn´ ych a pˇet z´aporn´ ych), kter´e dle jeho n´azoru nejv´ıce vystihuj´ı a sumarizuj´ı tak vˇsechny pˇr´ıspˇevky z dan´eho korpusu. Z anal´ yzy vˇsech v´ ysledk˚ u automatick´eho sumariz´atoru m˚ uˇzeme hovoˇrit o u ´spˇeˇsnosti maxim´alnˇe 40%. Na druhou stranu mus´ıme zd˚ uraznit, ˇze po procesu anal´ yzy obsahu subjektivn´ıch n´azor˚ u dosahovala aplikace u ´spˇeˇsnosti cca 75%. Je jasn´e, ˇze z kaˇzd´ ym dalˇs´ım procesn´ım krokem aplikace doch´az´ı ke znepˇresˇ nov´an´ı celkov´eho v´ ysledku a aˇckoliv se m˚ uˇzou zd´at namˇeˇren´e hodnoty n´ızk´e, z osobn´ıho pohledu mus´ım ˇr´ıci, ˇze ruˇcn´ı v´ ybˇer n´azor˚ u do koneˇcn´e sumarizace je opravdu velice subjektivn´ı pohled na vˇec a nav´ıc se m˚ uˇze k dan´emu t´ematu vyjadˇrovat nˇekolik podobn´ ych pˇr´ıspˇevk˚ u. Nemus´ı tak b´ yt v˚ ubec ojedinˇel´ y pˇr´ıpad, kdy sumariz´ator vybere do v´ ysledn´eho souhrnu jin´ y pˇr´ıspˇevek neˇz jednotliv´ y tester manu´alnˇe, avˇsak vypov´ıdaj´ıc´ı hodnota m˚ uˇze b´ yt hodnˇe podobn´a. V naˇsem mˇeˇren´ı se ovˇsem tyto v´ ysledky poˇc´ıtaj´ı jako
47
Experiment
Korpus McDonald’s Milka Slevomat Vodafone ZOO Praha
V´ysledky
´ eˇ Pˇ r´ıspˇ evk˚ u Maxim´ aln´ı v´ aha Sk´ ore Uspˇ snost 5 5 5 5 3
25 25 25 25 15
1 2 4 0 2
20% 8% 16% 0% 13,3%
Tabulka 6.15: V´ ysledky u ´spˇeˇsnosti sumariz´atoru kladn´ ych n´azor˚ u v porovn´an´ı s manu´alnˇe sumarizovan´ ymi korpusy s omezen´ım sumarizace na d´elku 100 slov
Korpus McDonald’s Milka Slevomat Vodafone ZOO Praha
´ eˇ Pˇ r´ıspˇ evk˚ u Maxim´ aln´ı v´ aha Sk´ ore Uspˇ snost 5 3 4 5 4
25 15 20 25 20
4 4 6 9 2
16% 26,7% 30% 36% 10%
Tabulka 6.16: V´ ysledky u ´spˇeˇsnosti sumariz´atoru z´aporn´ ych n´azor˚ u v porovn´an´ı s manu´alnˇe sumarizovan´ ymi korpusy s omezen´ım sumarizace na d´elku 100 slov
48
Experiment
V´ysledky
chybn´e a tak mohou b´ yt z tohoto pohledu zkreslen´e.
49
7 Z´avˇer V´ ysledkem cel´e pr´ace je funguj´ıc´ı demo aplikace zamˇeˇren´a na automatickou sumarizaci n´azor˚ u na soci´aln´ı s´ıti Facebook. Tato aplikace byla d˚ ukladnˇe testov´ana v re´aln´em prostˇred´ı a m˚ uˇzeme ˇr´ıci, ˇze na prvn´ı pohled p˚ usob´ı d˚ uvˇeryhodnˇe a v´ ysledn´a sumarizace opravdu pˇribliˇznˇe vypov´ıd´a o hodnˇe prob´ıran´ ych t´ematech dan´e facebookov´e str´anky. Ve v´ ysledc´ıch je tak´e vidˇet spr´avn´a vlastnost sumariz´atoru o v´ ybˇeru pˇr´ıspˇevk˚ u z r˚ uzn´ ych t´emat. N´aslednˇe byl proveden experiment zamˇeˇren´ y na u ´spˇeˇsnost automatick´eho sumariz´atoru v porovn´an´ı se subjektivn´ı anotac´ı pˇeti tester˚ u. Bylo vypozorov´ano, ˇze ve f´azi urˇcov´an´ı sentimentu dosahuje oproti manu´aln´ı anotaci aplikace u ´spˇeˇsnosti pˇribliˇznˇe 75% a u ´spˇeˇsnost v´ ysledn´e sumarizace se pak pohybuje pˇribliˇznˇe okolo 20%. Pˇri anal´ yze v´ ysledk˚ u experimentu tak´e bylo vypozorov´ano, ˇze urˇcov´an´ı sentimentu pˇr´ıspˇevku je mnohem u ´ˇcinˇejˇs´ı u negativn´ıch pˇr´ıspˇevk˚ u. Podobn´ y trend je pozorov´an i u samotn´e sumarizace, i kdyˇz ta je samozˇrejmˇe pˇredchoz´ım procesem ovlivnˇena. D˚ uvodem m˚ uˇze b´ yt napˇr´ıklad zcela jednoduch´e vysvˇetlen´ı, ˇze vˇetˇsina lid´ı se k pˇr´ıspˇevku odhodl´a zejm´ena pokud se jim nˇeco nel´ıb´ı nebo pokud maj´ı nˇejak´ y probl´em. Tak´e potom v takov´ ych pˇr´ıpadech pouˇz´ıvaj´ı v´ıce zabarven´a slova, kter´a pom´ahaj´ı k lepˇs´ı anal´ yze jednotliv´ ych pˇr´ıspˇevk˚ u a t´ım i k lepˇs´ı u ´ˇcinnosti cel´e aplikace.
7.1
Vylepˇ sen´ı v´ ysledk˚ u sumarizace
V r´amci algoritmu pro urˇcov´an´ı sentimentu a sumarizace n´azor˚ u m˚ uˇzeme nejsp´ıˇse dos´ahnout dalˇs´ıho vylepˇsen´ı v´ ysledk˚ u. Pro pˇr´ıklad zmiˇ nuji nˇekolik moˇznost´ı, kter´e by pˇri zapracov´an´ı do algoritmu mˇely pomoci: 1. Kl´ıˇ cov´ a slova - pˇred sumarizac´ı dan´e facebookov´e str´anky bychom mohli nastavit speci´aln´ı kl´ıˇcov´a slova specifick´a pro dan´e t´ema a pˇridˇelit jim speci´aln´ı v´ahu. Z´akladn´ım kl´ıˇcov´ ym slovem by zajist´e byl n´azev firmy nebo v´ yrobku, kter´ y str´anka zastupuje. T´ım bychom zajistili upˇrednostnˇen´ı vˇet, kter´e v sobˇe obsahuj´ı pˇr´ımo n´azev str´anky, coˇz jiˇz ˇcasto znamen´a, ˇze se jedn´a o pˇr´ıspˇevek s n´azorem. Podobnˇe m˚ uˇzeme zaˇradit dalˇs´ı kl´ıˇcov´a slova specifick´a napˇr´ıklad pro sluˇzby nebo v´ yrobky 50
Z´avˇer
Vylepˇsen´ı v´ysledk˚ u sumarizace
spoleˇcnosti, coˇz bude m´ıt velice podobn´ y efekt. Pˇr´ıkladem m˚ uˇzeme zm´ınit kl´ıˇcov´e slovo ”vstupn´e”u facebookov´e str´anky ZOO Praha. 2. Specifick´ a nev´ yznamn´ a slova - kromˇe filtrace stopwords se m˚ uˇzeme u konkr´etn´ıch str´anek zamˇeˇrit na slova, kter´a se nejsp´ıˇse budou v pˇr´ıspˇevc´ıch vyskytovat ˇcasto, nicm´enˇe n´as tato slova pˇr´ımo nezaj´ımaj´ı a v´ yslednou sumarizaci bychom zbyteˇcnˇe zkreslili. Pokud opˇet vezmeme vu ´vahu facebookov´e str´anky ZOO Praha, m˚ uˇzeme se zamˇeˇrit na jm´ena nejdiskutovanˇejˇs´ıch zv´ıˇrat s t´ım, ˇze pˇr´ıspˇevky obsahuj´ıc´ı nˇejak´e z dan´ ych jmen bude obsahovat n´azor pouze na dan´e zv´ıˇre, coˇz n´as prim´arnˇe nemus´ı zaj´ımat. 3. Emotikony - na soci´aln´ıch s´ıt´ıch se velice ˇcasto pouˇz´ıvaj´ı pro vyj´adˇren´ı n´azoru emotikony, coˇz je specifick´a posloupnost symbol˚ u vyjadˇruj´ıc´ı n´aladu nebo aktu´aln´ı postoj. Pokud bychom tyto speci´aln´ı sekvence znak˚ u zaˇradili do slovn´ıku, mohli bychom dos´ahnout pˇresnˇejˇs´ıch v´ ysledk˚ u v hodnocen´ı sentimentu. 4. Specifick´ e sekvence slov - dalˇs´ı moˇznost´ı zpˇresnˇen´ı v´ ysledk˚ u je potlaˇcen´ı zn´am´ ych sekvenc´ı slov, kter´e obsahuj´ı slova z nˇekter´eho slovn´ıku, ale jiˇz dopˇredu v´ıme, ˇze na v´ ysledek nemaj´ı ˇz´adn´ y vliv, ba naopak v´ ysledky zkresluj´ı. Pˇr´ıkladem m˚ uˇze b´ yt napˇr´ıklad pozdrav ”dobr´ y den”, kter´ y v sobˇe obsahuje pozitivn´ı pˇr´ıdavn´e jm´eno, nicm´enˇe na re´aln´ y v´ ysledn´ y sentiment pˇr´ıspˇevku nem´a ˇza´dn´ y vliv. Zajist´e lze vˇsak nal´ezt pˇr´ıpady opaˇcn´e, kdy bychom naopak mˇeli urˇcit´e sekvence slov, jejich slova se nevyskytuj´ı ve slovn´ıc´ıch, zv´ yhodnit. Pˇr´ıkladem uved’me spojen´ı ”to je ono”, kter´e se skl´ad´a ze sam´ ych stopwords, ovˇsem dohromady v tomto znˇen´ı m˚ uˇze znaˇcit kladn´e zabarven´ı pˇr´ıspˇevku. 5. Pˇ reklepy a nespisovn´ e v´ yrazy - To je dalˇs´ı velice v´ yrazn´ y probl´em anal´ yzy text˚ u napsan´ ych lidmi zejm´ena na soci´aln´ıch s´ıt´ıch, diskuz´ıch a podobn´ ych m´enˇe kontrolovan´ ych m´ıstech. Jedn´ım zp˚ usobem pro odstranˇen´ı tˇechto nepˇresnost´ı je urˇcitˇe anal´ yza a n´asledn´e zanesen´ı pˇresn´ ych pˇreklep˚ u, zkratek nebo nespisovn´ ych v´ yraz˚ u. To n´am m˚ uˇze do urˇcit´e m´ıry pomoci a m˚ uˇzeme se tak vyvarovat zkreslen´ı alespoˇ n u velice zn´am´ ych pˇreklep˚ u nebo v´ yraz˚ u. Ostatn´ı n´ahodn´e jevy ale mohou b´ yt pro spr´avnou anal´ yzu velice sloˇzit´e a nˇekdy moˇzn´a i nemoˇzn´e, pokud jejich prav´ y v´ yznam nerozpozn´a ani ˇclovˇek, kter´ y oproti poˇc´ıtaˇci ch´ape kontext cel´eho pˇr´ıspˇevku. 6. Negace - Jako konkr´etn´ı pˇr´ıklad uv´ad´ım slovn´ı spojen´ı ”nen´ı to ˇspatn´e”, coˇz je v principu kladn´e hodnocen´ı, nicm´enˇe analyz´ator zaloˇzen´ y na slov51
n´ıkov´ ych metod´ach vid´ı standardnˇe dvˇe z´aporn´a slova a pˇrev´aˇznˇe vyhodnocuje pˇr´ıspˇevek jako z´aporn´ y, coˇz je ˇspatnˇe. Pro vylepˇsen´ı by mohl b´ yt do algoritmu anal´ yzy sentimentu pˇrid´an algoritmus pro anal´ yzu a v´ahov´an´ı negac´ı.
52
Literatura [Balahur et al.(2012)] BALAHUR, A. et al. Challenges and Solutions in the Opinion Summarization of User-generated Content. J. Intell. Inf. Syst. October 2012, 39, 2, s. 375–398. ISSN 0925-9902. [Barzilay(1997)] BARZILAY, E. M. R. Using Lexical Chains for Text Summarization. In In Proceedings of the ACL Workshop on Intelligent Scalable Text Summarization, s. 10–17, 1997. [Corinna et al.(1995)] CORINNA, C. et al. Support-Vector Networks. Mach. Learn. September 1995, 20, 3, s. 273–297. ISSN 0885-6125. [Ferro et al.(2005)] FERRO, L. et al. TIDES 2005 Standard for the Annotation of Temporal Expressions. In Technical Report. The MITRE Corporation, 2005. [Gimpel et al.(2011)] GIMPEL, K. et al. Part-of-speech Tagging for Twitter: Annotation, Features, and Experiments. In Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies: Short Papers - Volume 2, HLT ’11, s. 42–47, Stroudsburg, PA, USA, 2011. Association for Computational Linguistics. ISBN 978-1-932432-88-6. [Habernal et al.(2013)] HABERNAL, I. et al. Sentiment Analysis in Czech Social Media Using Supervised Machine Learning. In Proceedings of the 4th Workshop on Computational Approaches to Subjectivity, Sentiment and Social Media Analysis, s. 65–74, Atlanta, Georgia, June 2013. Association for Computational Linguistics. Dostupn´e z: http://www.aclweb.org/anthology/W13-1609. [Jezek et al.(2008)] JEZEK, K. et al. Automatic text summarization. In The ˇ 2008. state of the art 2007 and new challenges. ZCU,
53
[Kupiec et al.(1995)] KUPIEC, J. et al. A Trainable Document Summarizer. In Proceedings of the 18th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, SIGIR ’95, s. 68–73, New York, NY, USA, 1995. ACM. ISBN 0-89791-714-6. [Luhn(1958)] LUHN, H. P. The Automatic Creation of Literature Abstracts. IBM J. Res. Dev. April 1958, 2, 2, s. 159–165. ISSN 0018-8646. [Manning et al.(2008)] MANNING, C. D. et al. Introduction to Information Retrieval. New York, NY, USA : Cambridge University Press, 2008. ISBN 0521865719, 9780521865715. [Marek Nekula(2003)] MAREK NEKULA, K. Pˇr´ıruˇcn´ı mluvnice ˇceˇstiny. Brno : NLN, s.r.o., 2003. ISBN 80-7106-134-4. [Marek Nekula(2002)] MAREK NEKULA, K. Encyklopedick´y slovn´ık ˇceˇstiny. Brno : NLN, s.r.o., 2002. ISBN 987-80-7106-484-8. [Meyer(2001)] MEYER, T. U. W. D. Support Vector Machines. The Interface to libsvm in package e1071. Online-Documentation of the package e1071, 2001. [Salton(1988)] SALTON, G. (Ed.). Automatic Text Processing. Boston, MA, USA : Addison-Wesley Longman Publishing Co., Inc., 1988. ISBN 02:1-1227-8. [Steinberger(2009)] STEINBERGER, J. K. J. Evaluation Measures for Text Summarization. Computing and Informatics. 2009, 28, 2, s. 251–275. [Steinberger et al.(2011)] STEINBERGER, J. et al. Aspect-Driven News Summarization, 2011. [Steinberger et al.(2012)] STEINBERGER, J. et al. Towards languageindependent news summarization. In Proceedings of the Text Analysis Conference 2011. NIST, 2012. [Taboada et al.(2011)] TABOADA, M. et al. Lexicon-based Methods for Sentiment Analysis. Comput. Linguist. June 2011, 37, 2, s. 267–307. ISSN 0891-2017. [Tanev et al.(2008a)] TANEV, H. et al. Real-Time News Event Extraction for Global Crisis Monitoring. In Proceedings of the 13th International Conference on Natural Language and Information Systems: Applications of Natural Language to Information Systems, NLDB ’08, s. 207–218, Berlin, Heidelberg, 2008a. Springer-Verlag. ISBN 978-3-540-69857-9. 54
[Tanev et al.(2008b)] TANEV, H. et al. Weakly Supervised Approaches for Ontology Population. In Proceedings of the 2008 Conference on Ontology Learning and Population: Bridging the Gap Between Text and Knowledge, s. 129–143, Amsterdam, The Netherlands, The Netherlands, 2008b. IOS Press. ISBN 978-1-58603-818-2. [Turchi et al.(2010)] TURCHI, M. et al. Using Parallel Corpora for Multilingual (Multi-document) Summarisation Evaluation. In AGOSTI, M. et al. (Ed.) Multilingual and Multimodal Information Access Evaluation, 6360 / Lecture Notes in Computer Science, s. 52–63. Springer Berlin Heidelberg, 2010. ISBN 978-3-642-15997-8. ˇ 2012. [Zapotocky(2012)] ZAPOTOCKY, P. Stemmer pro ˇceˇstinu. ZCU, [Zhang(2004)] ZHANG, H. The Optimality of Naive Bayes. In BARR, V. – MARKOV, Z. (Ed.) Proceedings of the Seventeenth International Florida Artificial Intelligence Research Society Conference (FLAIRS 2004). AAAI Press, 2004.
55
A Uˇzivatelsk´a dokumentace Aplikaci spust´ıte otevˇren´ım souboru Sumarizator.jar, ide´alnˇe ve sloˇzce, ve kter´e je um´ıstˇen. Pokud budete cht´ıt apliakci pˇresunout ze zdrojov´e sloˇzky jinam, mus´ıte na stejn´e m´ısto um´ıstit i slovn´ıky, kter´e zajiˇst’uj´ı spr´avnou funkci aplikace (cs hn.txt, cs hp.txt, cs n.txt, cs p.txt, stoplist.txt). Pokud tyto slovn´ıky nebudou ve stejn´e sloˇzce jako zdrojov´a aplikace, nebude jej´ı funkˇcnost spr´avn´a. Po otevˇren´ı okna je poˇzadov´ano nastaven´ı minim´alnˇe jednoho, maxim´alnˇe vˇsak tˇr´ı u ´daj˚ u. Jedin´a povinn´a poloˇzka pro spr´avnou funkˇcnost je vyplnˇen´ı tzv. tokenu, coˇz je ˇcasovˇe omezen´ y kl´ıˇc pro aktivac´ı rozhran´ı Facebook API. Vloˇzte tedy token do textov´eho pole v prav´em horn´ım rohu. Z´ısk´ate ho zkop´ırov´an´ım z web´e str´anky https://developers.facebook.com/tools/explorer. Druhou jiˇz nepovinnˇe upravovanou poloˇzkou je ID str´anky. Jedn´a se o unik´atn´ı ˇc´ıslo charakterizuj´ıc´ı danou facebookovou str´anku, kterou chcete sumarizovat. Defaultnˇe je v aplikaci nastaveno ID facebookov´e str´anky port´alu iDnes.cz. Pokud chcete sumarizovat jinou facebookovou str´anku, zjistˇete si jej´ı ID na webov´e str´ance http://findmyfacebookid.com/. Provedete to tak, do jednoduch´eho formul´aˇrov´eho pole vloˇz´ıte domovskou URL v´ami vybran´e facebookov´e str´anky a potvrd´ıte tlaˇc´ıtkem ”Lookup numeric ID”. Vygenerovan´e ID pak vloˇzte v aplikaci do textov´eho pole ”ID str´anky”v lev´em horn´ım rohu. Posledn´ı nastavitelnou poloˇzkou je omezen´ı d´elky v´ ysledn´eho souhrnu v z´avislosti na poˇctu slov. Toto nastaven´ı se prov´ad´ı v prav´em doln´ım rohu aplikace a defaultnˇe je nastaveno na 500 slov. Vy toto nastaven´ı m˚ uˇzete kdykoliv mˇenit. Pokud jste si nastavili vˇsechny moˇzn´e parametry podle vaˇsich pˇredstav, staˇc´ı stisknout tlaˇc´ıtko ”Summarize”um´ıstˇen´e v prav´em doln´ım rohu. Po chvilce se v´am jiˇz uk´aˇz´ı dostupn´e v´ ysledky a statistiky. V seznamu na lev´e ˇc´asti vid´ıte vˇsechny extrahovan´e pˇr´ıspˇevky a koment´aˇre. Nav´ıc nad t´ımto seznamem m˚ uˇzete vidˇet stejnˇe jako u ostatn´ıch seznam˚ u poˇcet. V prostˇredn´ı ˇc´asti pak vid´ıte nahoˇre seznam kladn´ ych n´azor˚ u a pod n´ım jejich sumarizaci. V prav´e ˇc´asti je pak nahoˇre seznam se z´aporn´ ymi n´azory a pod n´ım seznam z´aporn´e sumarizace.
56