Inhalt
Die Sprachliche Informationsverarbeitung (natural language processing, Computerlinguistik) beschäftigt sich mit der Verarbeitung natürlicher Sprache mit Computern. Bekannte Anwendungen sind maschinelle Übersetzungssysteme oder die Extraktion von Informationen aus großen Textmengen. In der Vorlesung beschäftigen wir uns mit den theoretischen und praktischen Grundlagen der Sprachverarbeitung. Neben die Beschäftigung mit den Besonderheiten von Sprache und den linguistischen Beschreibungskategorien tritt dabei der quantitative Blick auf Sprache, und die verschiedenen Möglichkeiten, sprachliche Phänomene automatisch zu erkennen und zu verarbeiten. Hier befassen wir uns insbesondere mit maschinellen Lernverfahren.
Studienleistung
Die Studienleistung besteht in der Bearbeitung und Abgabe von etwa fünf Hausaufgaben, die im Laufe des Semesters gestellt werden.
Agenda
- 12.10. Introduction, overview, ambiguity, linguistic levels (Mitkov 2022) (Slides)
- Literatur: Tsujii (2021), Mitkov (2022)
- Hausaufgabe 1 (25.10.): Lektüre von Tsujii (2021). Eine Frage oder einen inhaltlichen Kommentar zum Text bis 25.10. in Ilias posten.
- 19.10. Linguistic levels (Slides)
- Literatur: Mitkov (2022)
- 26.10. Diskussion Hausaufgabe 1, Text corpora (Slides)
- Fragen zu Tsujii (2021)
- Literatur: Manning/Schütze (1999)
- 02.11. Quantitatively looking at words, Zipf, type-token-ratio, Automatic prediction of linguistic properties, evaluation, task types (Slides)
- Hausaufgabe 2 (bis 8.11.): Besorgen Sie sich auf https://opendiscourse.de/ Reden von (mindestens) zwei verschiedenen Politiker:innen (gerne auch aus unterschiedlichen Parteien), so dass sie insgesamt pro Person mehr als 10000 Wörter haben. Schreiben Sie dann in einer Programmiersprache Ihrer Wahl ein Programm, das die type-token-ratio für beide berechnet. Dokumentieren und interpretieren Sie das Ergebnis und laden es in Ilias hoch!
- 09.11. Diskussion Hausaufgabe 2. Annotation (Slides)
- Literatur: Hovy/Lavid (2010), Reiter (2020)
- Hausaufgabe 3 (bis 22.11.): Eine linguistische und eine nicht-linguistische Annotation eines Textes. Details stehen in Ilias.
- 16.11. Machine learning 1: Naive Bayes (Slides, Code-Beispiel)
- Literatur: Jurafsky/Martin (2023, Kapitel 4)
- 23.11. Machine learning 2: Evaluation (Slides)
- Literatur: Skansi (2018)
- 30.11. entfällt
- 07.12. Deep learning 1: Logistic regression, gradient descent (Slides, Code-Beispiel)
- Literatur: Skansi (2018)
- Hausaufgabe 4 (bis 21.12.): Trainieren Sie ein logistisches Regressionsmodell, um handgeschriebene Ziffern zu erkennen. Die Ziffern wurden handgeschrieben, schwarz/weiß eingescannt und die Bilder dann als 28x28-Matritzen mit Graustufeninformationen bereitgestellt. Es handelt sich nur um Nullen und Einsen, und ist damit eine binäre Klassifikationsaufgabe. Sie finden die Trainings- und Testdaten hier, und hier ein Python-Skript, mit einer Funktion zum Einlesen der Daten. Verwenden Sie die Bibliothek scikit-learn für das eigentliche Training (und schauen Sie sich ruhig ein bisschen um, was die Bibliothek sonst so bereithält).
- 14.12. Deep learning 2: Neural networks (Slides, Code-Beispiel 1, Code-Beispiel 2)
- Literatur: Mikolov et al. (2013), Pilehvar/Camacho-Collados (2020)
- Links:
- Tensorflow-Playground: train and visualize a neural network in your browser
- Keras: python library for deep learning
- Other relevant python libraries: numpy, scikit-learn, pandas
- 21.12. Deep learning 3: Word embeddings (Slides, Code-Beispiel 1, 2, 3)
- Literatur: Jurafsky/Martin (2023, draft)
- Hausaufgabe 5 (bis 10.01.): Designen und trainieren Sie ein neuronales Netzwerk, um die vorher benutzten handgeschriebenen Ziffern zu erkennen. Fügen Sie dabei einige selbstgeschriebene Ziffern in den Datensatz ein. Sie können sich mit den Daten aus Aufgabe 4 an die binäre Unterscheidung zwischen 0 und 1 machen, oder die vollständigen Daten mit den Ziffern 0 bis 9 als mnist.zip herunterladen:
- 11.01. Deep learning 4: Overfitting, sequence labeling (Slides, Code-Beispiel 1, 2)
- Literatur: Roberts et al. (2021), Skansi (2018)
- 18.01. Transformer Models, BERT, The Future? (Slides, Code: s12-get-bert-features.py, s12-unmasker.py, s12-fine-tune-text-classification.py, s12-zero-shot-text-classification.py)
- Literatur: TBA
- 25.01. General exam questions
- 01.02. Exam (Formelsammlung)
- Achtung, anderer Raum! Die Klausur findet statt in Gebäude 102 (SSC), und dort im Raum 2.101 (2. Stock)