szövegvizualizációs balogh kitti precognox - bi...
TRANSCRIPT
Balogh Kitti
Precognox
Budapest BI Fórum
2016.10.27
Szövegvizualizációs
dashboardok
Precognox ● precognox.com
blog.precognox.com
kereses.blog.hu
www.meetup.com/Hungarian-nlp
● Szemantikus keresés
● Szoftverfejlesztés (Java)
● NLP, szövegbányászat
● Adatelemzés, tartalomelemzés
Szöveg &
vizualizáció
Vizualizációk
● Star Wars movie scripts
labs.precognox.com/star-wars-visualization/
● Kuruc.info romaellenes témái
labs.precognox.com/kuruc-info-visualization/index_en.html
Dashboardok
● Tanártüntetések labs.precognox.com/fbshiny/
● Kuruc.info romaellenes témái
labs.precognox.com/kuruc-info-dashboard/index.html#/dashboard
● Migráció a magyar online médiában
labs.precognox.com/migration-dashboard/#/dashboard
Tartalom ● Szövegelemzés
○ Nyelvi feldolgozás
○ Szentiment és emóció, témák,
névelemek
● Szövegek kereshetővé tétele,
dashboard létrehozása
● Eszközök
○ Open source
● Demo szövegvizualizációs
dashboard
Szöveg-
források
Mallet
DBpedia Spotlight
Szentiment- és emóciószótárak
Feldolgozási
folyamat
Strukturált, nyelvileg feldolgozott szöveg
Szövegből kinyert információk
DashboardPython
Magyarlánc
Stanford CoreNLP
Solr
Banana
Nyers szöveg
Nyelvi feldolgozás
● magyarlánc/Stanford CoreNLP
○ UTF-8 plain text
○ tokenizálás (tokenekre bontás) mondat és szavak szerint
○ szótövezés: lemmatizing (szótári tő)
○ POS tagging (szófaj meghatározása)
További feldolgozás
● Python
○ kisbetűsre alakítás, írásjelek törlése
○ stopszavak kiszűrése (doménspecifikus is)
○ szófajok szerinti szűrés (melléknév, főnév, ismeretlen)
Nyelvi
feldolgozás
Eszközök
Magyarlánc
● Open source Java könyvtár magyar nyelvű szövegek nyelvi feldolgozásához
● tokenizálás, szófaji egyértelműsítés (POS-tagging), stopszó-szűrés, mondattani elemzés
Stanford CoreNLP
● Open source Java könyvtár angol (és német, kínai, francia, spanyol) nyelvű szövegek nyelvi feldolgozásához
● tokenizálás, POS-tagging, mondattani elemzés
● névelem-kinyerés, szentimentelemzés
Nyelvi
feldolgozás
Feldolgozási
folyamat
Strukturált, nyelvileg feldolgozott szöveg
Szövegből kinyert információk
DashboardNyers szöveg
Mallet
DBpedia Spotlight
Szentiment- és emóciószótárak
Szövegből
kinyerhető
információkKi? Mi? Mikor? Hol? Mennyi?
Névelem kinyerés (Named Entity
Recognition - NER)
Mit?
Topik modellezés (Topic modeling)
Hogyan?
Szentiment- és emócióelemzés (Sentiment-
and Emotion Analysis)
Szentiment
és emócióSzövegek által közvetített
vélemények, attitűdök, érzések
detektálása (pl. termék, személy,
téma, esemény esetén)
Szentimentelemzés
● ált. 3 vagy 5 kategória vagy folytonos skála -1 és
1 között, negatív-semleges-pozitív
Emócióelemzés
● ált. 6 alapérzelem (bánat, düh, öröm, undor,
félelem, meglepődés)
Szentiment
és emócióMódszer
● Automatikus
● Szentiment- és emóciószótárak
● Szótár segítségével beazonosított
szavak száma / összes szó száma
Példa
“Afganisztán modern kori történelmében háborúk és konfliktusok
lényegében szünet nélkül követték egymást, miközben a tálibok
jelentette terrorral is meg kellett küzdenie a lakosságnak. ”
negatív érték: 0.3333 (lemmatizálás, szófaji szűrés után)
Szentiment
és emócióEszközök
PrecoSenti
● Precognox open source
szentimentszótárai magyar
nyelvre
● 1 pozitív, 1 negatív szótár
EmoLex
● Open source angol nyelvű szentiment-
és emóciószótár
● szófelhő
● sunburst
● idősor
● hisztogram
Szentiment,
emóció &
vizualizáció
Téma-
elemzésSzövegek, szövegegységek
egy vagy több témához
rendelése
Módszer
● Nem-felügyelt
● Topik modell - látens Dirichlet allokáció
Téma-
elemzésPélda“A PM felszólította Orbán Viktort, hogy engedje át a határon
Nyugat-Európa felé a Keletinél összegyűlt embereket. Barabás
Richárd szerint humanitárius katasztrófa alakult ki a pályaudvar
környékén azért, mert a kormány gyűlöletkampányt folytat, és
nem csinál semmit.
Közölte, hogy a menekültek átengedése a határon nem jogszerű,
és ellenkezik a Dublin III. egyezménnyel is, de szerinte a
humanitárius válság miatt most emberi segítség kell.
Mint mondta, a bevándorlási hivatal Budafoki úti irodájában
mindössze két munkatárs dolgozik, miközben nagyon sokan állnak
sorban.”
Téma: Nyugat-Európába tartó migránsok
útja Magyarországon keresztül
Téma-
elemzésEszközök
MALLET - MAchine Learning for LanguagE Toolkit
● Open source Java könyvtár
● statisztikai alapú természetes nyelvi
feldolgozás, dokumentum klaszterezés,
osztályozás, topik modellezés, egyéb
gépi tanulási módszerek szövegekhez
Python (Gensim), R (topicmodels, lda),
Mahout, Spark
Téma-
elemzés
Input:
● dokumentumok szavai
● témaszám (K)
Output:
● dokumentumok témaeloszlása
● témák szóeloszlása
● szófelhő
● sunburst
● idősor
● oszlopdiagram
Témák &
vizualizáció
Névelem
kinyerésKülönböző objektumok kinyerése
szövegekből
Pl. személyek, helyszínek, szervezetek,
időkifejezések, pénzem stb.
Példa
A [PM]ORG felszólította [Orbán Viktort]PERS, hogy
engedje át a határon [Nyugat-Európa]LOC felé a
[Keletinél]LOC összegyűlt embereket.
Névelem
kinyerésEszközök
DBpedia Spotlight
● Open source névelem kinyerő eszköz,
DBpedia elemeit azonosítja be
● magyar, angol, holland, francia, német, dán stb.
OpenNLP Name Finder
● Open source gépi tanulás alapú eszközkészlet
természetes nyelvi feldolgozáshoz
● Névelem felismerés: angol, spanyol, holland
● térkép
● szófelhő
● idősor
● heatmap
Névelemek &
vizualizáció
Egyéb
szövegből/hez
kinyerhető
információk
● Helyszínekhez szélesség,
hosszúság adatok → térkép
● Szövegekhez tartozó időbélyeg
→ idősorok
● További korpuszra specifikus
adatok
Feldolgozási
folyamat
Strukturált, nyelvileg feldolgozott szöveg
Szövegből kinyert információk
DashboardNyers szöveg
Solr
Banana
Eszközök
Solr
● Open source enterprise search platform
● Full text keresés, facetezés, dinamikus szűrés
Banana
● Open source dashboard eszköz Solr-hez
● elemzési, keresési és vizualizációs célokra
● böngészőből szerkeszthető
Szövegek
kereshetővé
tétele &
dashboard
létrehozása
Előkészítés
● Meglévő szöveges és szövegekből kinyert adatokból pl. json készítése
Indexelés● Core létrehozása
● Json-ök postolása a core-ba
○ index építése
● Core - index, konfigurációs fájlok
Dashboard● localhost:8983/solr/banana/src/index.html
felkeresése
● Új dashboard létrehozása a core-ral
Szövegek
kereshetővé
tétele &
dashboard
létrehozása
Demo
dashboardok
● Kuruc.info romaellenes témái
labs.precognox.com/kuruc-info-
dashboard/index.html#/dashboard
● Migráció a magyar online médiában
labs.precognox.com/migration-dashboard/#/dashboard
Köszönöm a
figyelmet!