webbányászat pythonban

14
Webbányászat Pythonban HORNYÁK MIKLÓS ([email protected]) WEB MEETUP, PÉCS 2014.04.04.

Upload: maris-koch

Post on 31-Dec-2015

38 views

Category:

Documents


0 download

DESCRIPTION

Webbányászat Pythonban. Hornyák Miklós ( hornyak.miklos @ gmail.com ) Web Meetup , Pécs 2014.04.04. Tartalomjegyzék. The Zen of Python. Bemutatkozás Kígyó vagy giliszta? Ismerkedés Programozási alapok Csomagoljunk! Package minden problémára Szövegbányászat Az NLTK csomag - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Webbányászat  Pythonban

Webbányászat PythonbanHORNYÁK MIKLÓS (HORNYAK .M IKLOS@GMAI L .COM)

WEB MEETUP, PÉCS

2014.04.04.

Page 2: Webbányászat  Pythonban

Tartalomjegyzék1. Bemutatkozás

2. Kígyó vagy giliszta?1. Ismerkedés2. Programozási alapok

3. Csomagoljunk!1. Package minden problémára

4. Szövegbányászat1. Az NLTK csomag2. Nyelvi problémák

5. Projektek

6. GUI és WEB fejlesztés

7. Egyedül nem megy!

The Zen of Python

Page 3: Webbányászat  Pythonban

Bemutatkozás Pécsi Tudományegyetem

◦ Közgazdaságtudományi Kar, Gazdaság-módszertani Intézet, Gazdaságinformatika Tanszék

Duo mining Kutatócsoport◦ Adat és szövegbányászat tandeme

Kutatási téma◦ „Területi versenyképesség vizsgálatának támogatása

alternatív eszközökkel”◦ Strukturált és strukturálatlan adatok használata◦ Területegységek reprezentációja◦ „Social sensors” és bioinformatikai analógia

Page 4: Webbányászat  Pythonban

Python alapok 1989 óta fejlesztik - közösség! - Guido van Rossum

Opensource, portábilis, ingyenes ám korlátozás nélküli használható

Magasszintű, jól olvasható szintaktikájú SCRIPT nyelv (pl. Ruby, PHP, Perl, Javascript, UX shellek)

Moduláris és objektumorientált programozást is támogatja

Dinamikus - interpreter kifejezéseket és karakterláncokat is kiértékel

Ortogonális - kevés fogalommal nagyszámú konstrukció alkotható

Reflektív - metaprogramozás támogatása: a végrehajtás során képes objektumot módosítani

Introspektív - sok Python fejlesztőeszköz Pythonban íródott

Page 5: Webbányászat  Pythonban

Python alapok Implementációk:

◦ Interpretált - lefordított utasításokat virtuális gép hajtja végre◦ Bytekód generálás – Jython, IronPython

Verziók - folyamatos fejlődés ◦ 2.7.6 - sok module◦ 3.4.0 – unicode, Qt

Használat◦ Interaktív mód Python parancsor - python.exe◦ Grafikus IDE – pl. Eclipse

Tudományos közösség kedvelt eszköze◦ Disztribúciók – python(x,y), SciPy, Anaconda, winpython

Python Software Foundation

Page 6: Webbányászat  Pythonban

Python programozás Fejlett adattípusok használatát támogtaja: listák, szótárak

Tömör kb. harmada a Java kódnak

Erőforráskezelés automatikus (memória, fájlok) – „garbage collector”

Mutatók nincsenek, de multi-thread lehet.

Objektumorientált - többszörös öröklést is támogatja

Modern kivételkezelés, dinamikus típusadás – i = 1, i = „1”

Case sensitive – Józsi, józsi

Python zsebkönyv, Kiskapu 2008"Egy Python program sorait bal szélre igazítani olyan, mint egy szépirodalmi műből kiszedni az írásjeleket és a szóközöket.„ komment

Page 7: Webbányászat  Pythonban

Python és a csomagok Telepítés – python setup.py / pip

import csomag

Rengeteg Python package -> module◦ Cryptography◦ Databases, XML◦ GUI◦ GIS◦ Image Manipulation,PDFMiner◦ Mac, Windows◦ Web◦ NumPy, Matplotlib, Sympy, pandas

Page 8: Webbányászat  Pythonban

Python és IDE Eclipse(www.eclipse.org)

◦ Javaban írt IDE◦ Plug-inek számos feladathoz◦ Több platformra

PyDev (pydev.org)◦ Python IDE az Eclipsehez◦ Type hinting◦ Debugger, stb.

Page 9: Webbányászat  Pythonban

Python és a szövegbányászat Szövegbányászat

◦ Strukturálatlan adatok – pl. e-mail, dokumentumok, weblapok elektronikus adatok◦ Kb. 85%-a strukturálatlan adat◦ Elemzés, feldolgozás, információkinyerés - rejtett

NLTK – Natural Language Toolkit◦ Tokenizálás◦ Stopszavazás◦ Szótövezés◦ Part of Speech (POS) – nyelvtani elemzés ◦ Named-entity Recognition (NER) – névelem azonosítás

Nyelvi problémák◦ HunSpell◦ Szótövezés

Page 10: Webbányászat  Pythonban

Python projektben FOI projekt

◦ Future Orientation Index területegységekre◦ Google Trends keresések alapján◦ Térképi ábrázolás

HírIndex projekt◦ Területegységek média reprezentációja◦ Osztályozás – pozitív/negatív hír◦ Térképi ábrázolás

SEARCH projekt◦ Európai Unió policy notes dokumentumok elemzése◦ Adatvizualizáció

Page 11: Webbányászat  Pythonban

Python és a GUI fejlesztés wxPython

◦ wxPython egy GUI toolkit Pythonhoz◦ Opensource◦ Cross-platform

◦ Unix, Macintosh OS X, MS Windows

Boa Constructor◦ Python IDE és wxPython GUI builder◦ Opensource◦ Cross-platform

◦ Unix, Macintosh OS X, MS Windows◦ Pythonban készült

Page 12: Webbányászat  Pythonban

Python és a webfejlesztés CGI

◦ Library: cgi, cgibt

Spagetti kód – Mako, Genshi, Jinja templatek◦ from string import Template

template = Template("<html><body><h1>Hello ${name}!</h1></body></html>")print template.substitute(dict(name=‚Web Meetup')) <html><body><h1>Hello Web Meetup</h1></body></html>

MySQL, SQLite, PostgreSQL és Object Relational Mapping (ORM)◦ SQLAlchemy

Frameworkök◦ Django◦ Zope

Page 13: Webbányászat  Pythonban

Python és a barátai R (http://www.r-project.org/)

◦ Statisztikai számítási feladatok elvégzésre◦ Az eredmények ábrázolására◦ Programozás nyelv és környezet (R Studio)◦ GNU project◦ Cross platform

RapidMiner◦ Lásd Kovács Balázs előadása – modellalkotás és próba

Graphviz (http://www.graphviz.org/)◦ Vizualizációs eszközök – dot, neato, fdp, sfdp, twopi, circo◦ Opensource

Page 14: Webbányászat  Pythonban

Python és webbányászat

Köszönöm a figyelmet!