nlp és termékfejlesztés
DESCRIPTION
A CEU MicroData kutatócsoport ebédjén tartott előadásom diái.TRANSCRIPT
NLP és
termékfejlesztésVARJÚ ZOLTÁN, PRECOGNOX
2014.11.18. @ CEU MICRODATA
Mi vár
ránk?
• Hírelemző
• Rapid prototyping
• Hogyan dolgozunk mi
• Python és NLTK
• Hogyan szeretnénk
majd dolgozni a
jövőben
Hírelemző
A projektről Belső projekt
Gyakornokok dolgoznak rajta (Kulcsár Ádám,
Fodor Mánuel)
Szakdolgozati téma és saját játszótér
(Automatikus) tartalomelemzés
Korpusznyelvészet (keywords, kollokációk,
konkordanicák, stb.)
R-index és nowcasting irodalom ihlette rendszer
IhletGoogle Correlate
Szemantika
Célok Korpusznyelvészet == szógyakorisági vizsgálatok
Tartalomelemzés == szótárak használata
Szentiment- és emócióelemzés == szótárak használata
Predikció
Szemantikus technológiák
Faceted search
Semantic search
Szótárak automatikus kiegészítése
Article Extractor boilerpipe
OpenNLP
UIMA
Lucene/Solr
Apache Stanbol
Rapid prototyping
Rapid
prototyping
• Gyorsan valami
használhatót
élesben
• A prototípus
maga a termék
nulladik verziója
Miért?A csapat online kommunikál
Budapest, Kaposvár, Hódmezővásárhely,
Szikszó között nehéz megoldani a
folyamatos élő kapcsolatokat
„kézzel fogható” dologról beszéljünk
„olcsón” tudjunk hibázni
Rapid prototyping és K+F
Prototípus ==
Specifikáció
Működő prototípus ==
tesztesetek a „rendes”
terméknek
Hogyan dolgozunk?
1) Adatok
Áltlában Python segítségével hozzuk „emészthető” formára és/vagy gyűjtjük be
2) Felfedezés
Milyen módszerek jöhetnek szóba?
R és Python segítségével gyors próba, tipikus „spaghetti code”
3) Prototípus
Egy, vagy több működő módszer rendesebb implementálása
A lehető legtöbb általunk használt eszközzel szeretjük megépíteni
Python és prototyping
Miért Python? Futtatható pszeudo-kód
Könnyen megtanulják a kutatók, tudják olvasni a fejlesztők
Wraper-ek a legtöbb általunk használt eszközökhöz
(boilerpipe, Solr, Weka)
SciPy
scikit-learn
pandas
NLTK
Hy
Toby SegaranProgramming Collective
Intelligence
Programming the Semantic
Web
NLTK
Natural Language Toolkit
Minden benne van
Ingyenes könyv
Tanítási célra íródott
Jurafsky – Martin és
Manning – Schütze
érthető vele
Standard módon
alakítható igényeinkhez
Még gyorsabban!
A Java és a Python legjobb
része a VM!Főnevek helyett igék, OOP helyett
funkcionális programozás
Közelebb a probléma formális
leírásához
Konceptuálisan átláthatóbb
Párhuzamos és elosztott rendszereké
a jövő
Clojure és Hy
Hy – Lisp dialektus a Python VM-re
Clojure – modern Lisp a JVM-re
Clojure Incanter – R stílusú, funkcionális statisztikai programozási környezet
Funkcionális programozás – a
jövő
Egyszerűbb a kutatónak
Minimalizálja a prototípus és a kész termék
elkészítése közötti időt
Elmosódnak a prototípus és a termék határai,
szabadon alakíthatja a fejlesztő és a kutató
csapat
Minsky – Weeks: Caml trading – experiences with
functional programming on Wall Street