Szövegbányászat
Balogh Kitti - Varjú Zoltán
kbalogh@precognox.com - zvarju@precognox.com
Mi is ez?
Minek nevezzelek?
Szövegbányászat
Számítógépes nyelvészet
Természetes nyelvfeldolgozás
Nyelvtechnológia
Text Mining
Computational Linguistics
Natural Language Processing
Language Technology
És még hol találkozhatunk vele?
Mesterséges intelligencia
Gépi tanulás
Nyelvészet
Kognitív tudomány
Statisztika
Keresés
Információkinyerés
Hogyan művelik?
Szabály-alapú Statisztikai Gráf-alapú
Mi ma a statisztikai megközelítéssel ismerkedünk!
- viszonylag egyszerűek az alapok
- az iparban is elterjedt
- megértéséhez nem kell nyelvésznek lenni, vagy mélyebben belemenni a
statisztikába
A továbbiakban a szövegbányászat megnevezést erre a megközelítésre
alkalmazzuk!
A szövegbányászat forrásai
Tartalomelemzés
Korpusznyelvészet
Információelmélet
Bővebben
Jurafsky-Martin: Speech and Language Processing
Manning-Schütze: Foundations of Statistical Natural Language Processing
NLTK book: http://www.nltk.org/book/
A bányában
Adatgyűjtés Szövegek
előkészítése
Szövegbányászati
módszerek
bevetése
Kiértékelés
Alkalmazás
Adatok (beszerzés, előkészítés)
Ha nincs adatunk
Web crawling == adott lista szisztematikus bejárása a linkek mentén n
mélységben
Scraping == szövegek esetében ez valamilyen extra formázást tartalmazó
formátumból való kiszabadítást jelent (pl. word vagy pdf dokumentumokból a
szöveges információ kinyerése)
...és felügyelt módszert szeretnénk használni
Annotálás == adatok felcímkézése különböző szempontok szerint
Annotált korpuszok
Felügyelt módszerekhez betanításra sokszor elérhetőek annotált korpuszok
Tisztítás
A bag-of-words módszerekhez általában plain text-re van szükségünk, azaz
- minden formázástól mentes
- utf-8 (vagy más szabványú) karakterkódolású szövegekre
Előfeldolgozás
Plain text => csak karakterek (betűk, esetleg számok, emojik)
Nyelvi feldolgozás
- tokenizálás (tokenekre bontás)
- kisbetűsre alakítás, írásjelek törlése
- stemmelés (tövezés), lemmatizálás (szótári tő)
- POS tagging (szófaj meghatározása)
Szűrés
- stopszavak kiszűrése (lista alapján)
- szófajok szerinti szűrés
- egyedi szempontok alapján további szűrés
Bővebben
Pustejovski - Stubbs: Natural Language Annotation for Machine Learning
Mitchell: Web Scraping with Python
Mielőtt kódolni kezdünk
A korpusz
600 magyar Twitter-felhasználó több mint 30 ezer csiripjét gyűjtöttük le a Twitter
API-n keresztül
4000 tweetet véletlenszerűen kiválasztottuk és polaritásra annotáltuk
A szövegeket magyarlánc használatával dolgoztuk fel (lemmatálás, szófaji szűrés)
Eszközök
Szentimentszótár: pozitív és negatív szavak listája. Saját gyűjtés, kutatási célra
szabadon használható
Emojiszótár: a magyar tweetekben előforduló emojikat kezelő szótár, a könnyebb
kezelhetőség érdekében mindegyiket átváltja egy karaktersorra pl. :)) és :)))))))
“sokMosoly” lesz
Ha érdekel a dolog
Kereső Világ
http://kereses.blog.hu/
NLP meetup
http://www.meetup.com/Hungarian-nlp/
Happy hacking!

Szövegbányászat