Softwarepraktikum - Python(-Konventionen)

Werbung
Python
Aufgaben
Softwarepraktikum
Python(-Konventionen)
Franz Matthies
Lehrstuhl für Computerlinguistik
Institut für Germanistische Sprachwissenschaft
Friedrich-Schiller-Universität Jena
www.julielab.de
Sommersemester 2016
Franz Matthies
Softwarepraktikum
Python
Aufgaben
Überblick
1
Python
Schreibkonventionen
Klassen
2
Aufgaben
Franz Matthies
Softwarepraktikum
Python
Aufgaben
Schreibkonventionen
Klassen
Überblick
1
Python
Schreibkonventionen
Klassen
2
Aufgaben
Franz Matthies
Softwarepraktikum
Python
Aufgaben
Schreibkonventionen
Klassen
Einige Schreibkonventionen
Variablen und Funktionen:
kleinschreibung mit underscore
Konstanten:
GROSSSCHREIBUNG MIT UNDERSCORE
Klassen:
CamelCase
https://www.python.org/dev/peps/pep-0008/
Franz Matthies
Softwarepraktikum
Python
Aufgaben
Schreibkonventionen
Klassen
Klassen
Was sind Objekte?
Franz Matthies
Softwarepraktikum
Python
Aufgaben
Schreibkonventionen
Klassen
Klassen
Was sind Objekte?
Objekte sind spezifische Instanzen von Klassen
Objekte habe Attribute und Methoden
Franz Matthies
Softwarepraktikum
Python
Aufgaben
Schreibkonventionen
Klassen
Klassen
Was sind Objekte?
Objekte sind spezifische Instanzen von Klassen
Objekte habe Attribute und Methoden
nltk.RegexpTokenizer ist eine Klasse
Klassen werden wie Funktionen als quasi Schablonen
vordefiniert
Franz Matthies
Softwarepraktikum
Python
Aufgaben
Schreibkonventionen
Klassen
Klassen
Was sind Objekte?
Objekte sind spezifische Instanzen von Klassen
Objekte habe Attribute und Methoden
nltk.RegexpTokenizer ist eine Klasse
Klassen werden wie Funktionen als quasi Schablonen
vordefiniert
tokenizer = nltk.RegexpTokenizer("\s+")
tokenizer ist ein Objekt
Franz Matthies
Softwarepraktikum
Python
Aufgaben
Schreibkonventionen
Klassen
RegexpTokenizer
c l a s s RegexpTokenizer ( TokenizerI ) :
init
( s e l f , p a t t e r n , g a p s=F a l s e , d i s c a r d e m p t y=True ,
def
f l a g s=r e . UNICODE | r e . MULTILINE | r e . DOTALL ) :
# I f they gave us a regexp o b j e c t , e x t r a c t the p a t t e r n .
pattern = getattr ( pattern , ’ pattern ’ , pattern )
self
self
self
self
self
def
.
.
.
.
.
pattern = pattern
gaps = gaps
discard empty = discard empty
flags = flags
r e g e x p = None
check regexp ( s e l f ):
i f s e l f . r e g e x p i s None :
s e l f . regexp = re . compile ( s e l f . pattern ,
self . flags )
def tokenize ( s e l f , t e x t ) :
s e l f . check regexp ()
# I f o u r r e g e x p m a t c h e s gaps , u s e r e . s p l i t :
i f s e l f . gaps :
i f s e l f . discard empty :
return [ tok f o r tok in s e l f . regexp . s p l i t ( t e x t ) i f tok ]
else :
return s e l f . regexp . s p l i t ( text )
# I f our r e g e x p matches tokens , use r e . f i n d a l l :
else :
return s e l f . regexp . f i n d a l l ( text )
[...]
Franz Matthies
Softwarepraktikum
Python
Aufgaben
Überblick
1
Python
Schreibkonventionen
Klassen
2
Aufgaben
Franz Matthies
Softwarepraktikum
Python
Aufgaben
SciKit-Learn Laboratory
Python Paket: SciKit-Learn Laboratory (skll) installieren
(https://skll.readthedocs.io/en/latest/api.html):
conda install skll
Wenn das nicht klappt:
conda install -c alleseins prettytable
conda install -c alleseins skll
Franz Matthies
Softwarepraktikum
Python
Aufgaben
Aufgaben
NLTK Buch Kapitel 5.4
nltk.BigramTagger(training sents)
Benutze nur ‘news’ aus nltk.corpus.brown als
Trainingsmaterial
Teste den BigrammTagger auf 4 anderen (nicht ‘news’)
Kategorien
Berechne für jede der vier Kategorien mit skll den F-Score
Franz Matthies
Softwarepraktikum
Herunterladen