Einführung in die maschinelle Sprachverarbeitung mit Python: Glossar

Kernpunkte

Visual Studio Code und die Python-Konsole
  • Einfache Ausdrücke können durch die interaktive Eingabe in der Python-Konsole ausgeführt werden.

  • Folgen von Anweisungen können in Quelltextdateien mit der Endung .py abgelegt und mit dem Programm python3 ausgeführt werden.

Einfache Ausdrücke, Datentypen und Variablen
  • Einfache Ausdrücke können durch die interaktive Eingabe in der Python-Konsole ausgeführt werden.

  • Datentypen sind Kategorien von Werten

  • Unterschiedliche Ausdrücke können Werte mit unterschiedliche Datentypen erzeugen

  • Variablen speichern Werte

  • Variablen muss ein Wert zugewiesen werden bevor sie genutzt werden können

  • Variablen können in Ausdrücken benutzt werden.

  • Variablen haben Namen und diese Namen unterscheiden Groß- und Kleinschreibung

Zeichenketten und einfache Skripte
  • Strings sind Sequenzen von Zeichen auf die über einen Index zugegriffen werden kann.

  • Es gibt Methoden, die Operationen auf diesen Zeichenketten ausführen, wie z.B. finden und ersetzen.

  • Variablen werden nur innerhalb eines Aufrufs des Python-Interpreters gespeichert.

Kontrollstrukturen und Listen
  • Sequenzen von beliebigen Werten können in Listen gespeichert und abgerufen werden.

  • Logische Ausdrücke haben in Python den Datentyp bool und können unter anderem durch Vergleichsoperatoren erzeugt werden.

  • Mit Schleifen (for, while) und bedingt ausgeführten Code-Blöcken (if-elif-else) kann der Programmablauf flexibel auf die Eingabe reagieren und komplexere Berechnungen durchführen.

Eigene Funktionen und Module
  • Mit Funktionen können Teile von Programmen ausgegliedert und nachgenutzt werden.

  • Eigene Module können in Python-Dateien abgespeichert und mit import in anderen Python-Skripten nachgenutzt werden.

  • Mit pip können neue Pakete, die Module enthalten, installiert werden.

Levenshtein-Distanz
  • Man sollte versuchen größere Aufgaben in kleinere, einfache zu handhabene Teilaufgaben aufzuteilen

  • Funktionen sind nützlich, um diese kleineren Teilaufgaben abzubilden

Texte in NLTK
  • Texte sind Sequenzen von Token und können wir Listen von Strings behandelt werden

  • Es ist in NLTK direkt möglich, Frequenzanalysen, Kollokationen und andere einfache statistische Auswertungen auf Texten durchzuführen.

Dateien lesen und schreiben
  • Mit den eingebauten Funktionen open können Dateien zum Lesen und Schreiben geöffnet werden, diese müssen immer wieder geschlossen werden.

NLTK und eigene Texte
  • Listen von Strings können mit nltk.Text() zu einem NLTK-Text umgewandelt werden.

  • Kommandozeilenargumente können über die Liste sys.argv abgerufen werden. Das erste Element ist immer der Aufrufpfad des Skripts.

POS-Tagger trainieren
  • Mit dem HiddenMarkovModelTrainer aus dem nltk.tag.hmm Modul können eigene HMM-basierte POS-Tagger trainiert werden

  • Mit der dill-Bibliothek können diese Modelle gespeichert und wieder geladen werden.

Textklassifzierung mit Tensorflow
  • Die Keras-API von Tensorflow erlaubt es relativ einfach neuronale Netze zu definieren, trainieren und anzuwenden

  • Datenaufbereitung und Umwandlung von Texten in Vektoren fester Länge macht einen großen Teil der Arbeit aus

Kollaboratives Arbeiten mit Git
  • Git ist eine Software zum Verwalten der Quelltexte, um Git herum gibt es Plattformen wie GitLab oder GitHub, die als zentraler Hub für das Projekt dienen

  • Man kann Git als Kommandozeilenprogramm nutzen, aber auch grafische Oberflächen wie „GitHub Desktop“

Glossar

Integrated Development Environment (IDE)

Ein Programm, das Funktionen eines Texteditors, Projektverwaltung und Debugging von Software-Projekten in einer einheitlichen Oberfläche bündelt.