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