Deep Learning for NLP — Kurswebseite
Christian Wurm & Tatiana Bladier
Aufbauseminar, Universität Düsseldorf, WiSe 2018
Organisatorisches
Montag 14:30 – 16:00, Raum 24.21.05.61Dienstag 10:30 – 12:00, Raum 24.21.03.62-64
***NEU!*** Tutorium zum Kurs:
Montag 10:30 – 12:00, Raum 24.21.03.62-64 (Tutor: Alexander Teusz)
Emails: cwurm[at]phil.hhu.de, bladier[at]phil.hhu.de, Alexander[dot]Teusz[at]uni-duesseldorf.de
Sprechstunde: nach Vereinbarung
Ziel dieses Kurses ist es, die state-of-the-art Techniken neuronaler Netze einerseits zu verstehen, andererseits praktisch zu implementieren. Kursinhalte (zu Theorie und Praxis) werden unten angegeben. Training und Implementierung neuronaler Netze wird mit Python und Keras (einer Python-Bibliothek) umgesetzt werden. Montags werden – tendenziell – eher theoretische Grundlagen besprochen, Dienstags wird – tendenziell – programmiert.
Theoretische Inhalte (Skript)
Die theoretischen Inhalte finden sich in diesem Skript (Vorsicht, ändert sich öfters mal! Letzte Aktualisierung: 10. Dezember 2018).Beteiligungsnachweise und AP-Scheine
Ein Beteiligungsnachweis (BN) kann durch die Bearbeitung der Hausaufgaben erworben werden. Für einen AP-Schein muss eine Hausarbeit geschrieben werden (4-5 Seiten für Bachelor-Studierende, 7-10 Seiten für Master-Studierende).[LaTex-Vorlage für die Präsentationen (zip-Datei)]
[LaTex-Datei für die Backpropagation-Hausaufgabe]
Online LaTex-Vorlagen: Overleaf-Templates
Abschlussprojekte: Vorlagen für Projektberichte
Ein Abschlussprojekt umfasst die Durchführung eines Experiments mit Neuronalen Netzen zu NLP-Fragen und das Verfassen eines kurzen Projektberichts (4-5 Seiten für Bachelor-Studierende, 7-10 Seiten für Master-Studierende). Der Projektbericht soll nach dem klassischen IMRAD-Schema mit Benutzung der unten angegebenen Vorlagen (LaTex oder Word) geschrieben werden. Der Code und die Daten können entweder als .zip-Datei abgegeben werden oder als Link zu einer (privaten oder öffentlichen) GitHub-Repository. Mein Profil auf GitHub: https://github.com/TaniaBladier.
[LaTex-Vorlage für die Projektberichte (zip-Datei)]
[Word-Vorlage für die Projektberichte (zip-Datei)]
Online LaTex Editor: Overleaf
Draw.io: Tool for drawing Neural Network Models
Patrick Nuhn (2017) LaTex Tutorial: Getting Started.
Beispiel eines Projektberichts (Artikel von Attia et al. (2018) zu Neural Sentiment Analysis mit Tweets)
Hilfreiche Links und Tutorials
- Jason Brownlee "Machine Learning Mastery"
- Robbie Allen (2017) "Over 150 of the Best Machine Learning, NLP, and Python Tutorials I’ve Found"
- Python/Numpy tutorial
- IPython/Jupyter notebook tutorial
- Cheat Sheets for Machine Learning and Deep Learning
Woche 1: Einführung und Semesterüberblick
08.10.2018 Semesterüberblick, Folien zum praktischen Teil.
09.10.2018 Theoretische Sitzung: Methodik des maschinellen Lernens
Zusätzliche Lektüre (für Interessierte):
09.10.2018 Theoretische Sitzung: Methodik des maschinellen Lernens
Zusätzliche Lektüre (für Interessierte):
- Goldberg, Y. (2016). A primer on neural network models for natural language processing.
Journal of Artificial Intelligence Research, 57, 345-420.
Woche 2: Lineare Algebra / Boston Housing Project
15.10.2018 Wahrscheinlichkeitstheorie + wichtige Begriffe.
16.10.2018 Praktische Sitzung: Boston Housing Project.
Google Tool to Tinker With a Neural Network.
Deep Learning in NLP: Project Inspirations
Hausaufgabe bis 23. Oktober, 10:00
[ Boston Housing Aufgabe: Lösung]
16.10.2018 Praktische Sitzung: Boston Housing Project.
Google Tool to Tinker With a Neural Network.
Deep Learning in NLP: Project Inspirations
Hausaufgabe bis 23. Oktober, 10:00
[ Boston Housing Aufgabe: Lösung]
Woche 3: Character-level RNN for name classification (1)
22.10.2018 Vektoren und Matrizen, generalisierte lineare Modelle.
23.10.2018 Praktische Sitzung: Character-level Recurrent NN for name recognition.
[Code und Daten, updated 30 October]
Theoretische Hausaufgabe (bis Dienstag, 30. Oktober, 10:30, persönlich oder per E-Mail)
Zusätzliche Lektüre (für Interessierte):
23.10.2018 Praktische Sitzung: Character-level Recurrent NN for name recognition.
[Code und Daten, updated 30 October]
Theoretische Hausaufgabe (bis Dienstag, 30. Oktober, 10:30, persönlich oder per E-Mail)
Zusätzliche Lektüre (für Interessierte):
Woche 4: Character-level RNN for name classification (2)
29.10.2018 Nichtlineare Funktionen auf Vektoren.
30.10.2018 Praktische Sitzung: Character-level RNN for name classification [Code und Daten, updated 30 October ]
Hausaufgabe (bis Dienstag, 6. November, 10:00)
Hausaufgabe (Lösung)
Penn Treebank POS tags, Chunking, Named Entity Recognition
Zusätzliche Literatur (für Interessierte):
30.10.2018 Praktische Sitzung: Character-level RNN for name classification [Code und Daten, updated 30 October ]
Hausaufgabe (bis Dienstag, 6. November, 10:00)
Hausaufgabe (Lösung)
Penn Treebank POS tags, Chunking, Named Entity Recognition
Zusätzliche Literatur (für Interessierte):
Woche 5: Neural POS-tagging + word embeddings
05.11.2018 Multilayer Perzeptronen.
06.11.2018 Praktische Sitzung: Neural POS-tagging mit Recurrent Neural Networks. [Code und Daten, aktualisiert am 6. November]
Zusätzliche Lektüre (für Interessierte):
06.11.2018 Praktische Sitzung: Neural POS-tagging mit Recurrent Neural Networks. [Code und Daten, aktualisiert am 6. November]
Zusätzliche Lektüre (für Interessierte):
- Jacob Zweig (2018). Elmo Embeddings in Keras with TensorFlow hub.
- Chris McCormick (2016). Word2Vec Tutorial - The Skip-Gram Model
Woche 6: Neural POS-tagging + word embeddings
12.11.2018 Backpropagation und Gradient Descent.
13.11.2018 Praktische Sitzung: Neural POS-tagging + word embeddings (2) [Code und Daten, aktualisiert am 12. November].
[Keras Visualisierung und Implementierung (Handout von heute)].
[Hausaufgabe (Abgabe bis 20. November)].
[Hausaufgabe (Lösung)].
Zusätzliche Lektüre (für Interessierte):
13.11.2018 Praktische Sitzung: Neural POS-tagging + word embeddings (2) [Code und Daten, aktualisiert am 12. November].
[Keras Visualisierung und Implementierung (Handout von heute)].
[Hausaufgabe (Abgabe bis 20. November)].
[Hausaufgabe (Lösung)].
Zusätzliche Lektüre (für Interessierte):
Woche 7: Neural POS-tagging + word embeddings: Word2Vec, GloVe, Sketch Engine, ELMo
19.11.2018 (TBA)
20.11.2018 Praktische Sitzung: Neural POS-tagging + word embeddings: Word2Vec, GloVe, Sketch Engine, ELMo.
[Neural POS-tagging mit GloVe Word Embeddings, Code und Daten]
[Learning Word Embeddings mit Word2Vec, Code und Daten]
[Word2vec: Online Demo]
[Wevi: word embedding visual inspector]
Zusätzliche Literatur:
20.11.2018 Praktische Sitzung: Neural POS-tagging + word embeddings: Word2Vec, GloVe, Sketch Engine, ELMo.
[Neural POS-tagging mit GloVe Word Embeddings, Code und Daten]
[Learning Word Embeddings mit Word2Vec, Code und Daten]
[Word2vec: Online Demo]
[Wevi: word embedding visual inspector]
Zusätzliche Literatur:
Woche 8: Sentiment analysis for tweets (1)
26.11.2018 (TBA)
27.11.2018 Praktische Sitzung: Sentiment analysis for tweets. [Aufgabenstellung und Daten]
Word Embeddings für Tweets:
Datensatz mit Tweets:
27.11.2018 Praktische Sitzung: Sentiment analysis for tweets. [Aufgabenstellung und Daten]
Word Embeddings für Tweets:
Datensatz mit Tweets:
Woche 9: Sentiment analysis for tweets (2)
03.12.2018 (TBA)
04.12.2018 Praktische Sitzung: Sentiment analysis for tweets.
04.12.2018 Praktische Sitzung: Sentiment analysis for tweets.
Woche 10: Sentiment analysis for tweets (3)
10.12.2018 (TBA)
11.12.2018 Praktische Sitzung: Sentiment analysis for tweets.
Code und Daten:
[Sentiment Analysis for Tweets 11.12.18, updated]
11.12.2018 Praktische Sitzung: Sentiment analysis for tweets.
Code und Daten:
[Sentiment Analysis for Tweets 11.12.18, updated]
Woche 11: Neural machine translation with seq2seq models
17.12.2018 (TBA)
18.12.2018 Praktische Sitzung: seq2seq models for machine translation. Hassan Sajjad and Fahim Dalvi, DGfS Fall School 2017 "Sequence to sequence models".
Code und Daten:
[seq2seq neural machine translation, updated 18 December]
Hausaufgabe (bis Dienstag, 8. Januar, 10:30)
Zusätzliche Lektüre (für Interessierte):
18.12.2018 Praktische Sitzung: seq2seq models for machine translation. Hassan Sajjad and Fahim Dalvi, DGfS Fall School 2017 "Sequence to sequence models".
Code und Daten:
[seq2seq neural machine translation, updated 18 December]
Hausaufgabe (bis Dienstag, 8. Januar, 10:30)
Zusätzliche Lektüre (für Interessierte):
- Keras 10 minute introduction to seq2seq models https://blog.keras.io/a-ten-minute-introduction-to-sequence-to-sequence-learning-in-keras.html
- Ilya Sutskever, Oriol Vinyals, Quoc V. Le (2014). Sequence to Sequence Learning with Neural Networks.
- Cho et al. (2014). Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation
- Bahdanau et al. (2015). Neural Machine Translation by Jointly Learning to Align and Translate
Woche 12: Neural Semantic Role Labeling (1)
07.01.2019 Semantic Role Labeling. [Slides]
08.01.2019 Praktische Sitzung: End-to-end Neural Semantic Role Labeling. [Code und Daten]
Zusätzliche Lektüre (für Interessierte):
08.01.2019 Praktische Sitzung: End-to-end Neural Semantic Role Labeling. [Code und Daten]
Zusätzliche Lektüre (für Interessierte):
Woche 13: Neural Semantic Role Labeling (2)
14.01.2019 (TBA)
15.01.2019 Praktische Sitzung: Fit generator and evaluation metrics. Introduction to LaTex. [Code und Daten, updated 15 January].
Zusätzliche Lektüre (für Interessierte):
(tba)
15.01.2019 Praktische Sitzung: Fit generator and evaluation metrics. Introduction to LaTex. [Code und Daten, updated 15 January].
Zusätzliche Lektüre (für Interessierte):
(tba)
Woche 14: Neural text generation
22.01.2019 Theoretische Sitzung: Evaluation Metrics
Woche 15: Neural Text Generation
28.01.2019 Summary / Takeaway
29.01.2019 Praktische Sitzung: Neural text generation. [ Code and Data]
Zusätzliche Lektüre (für Interessierte):
29.01.2019 Praktische Sitzung: Neural text generation. [ Code and Data]
Zusätzliche Lektüre (für Interessierte):
- NaNoGenMo: National Novel Generation Month. Write Code that generates a novel of 50k+ words.
- Max Woolf: How to quickly train your own text-generating neural network.
- Jason Brownlee: Text Generation With LSTM RNNs in Keras.
- Ziang Xie: Neural Text Generation: A Practical Guide.
- Neil Yager: How to generate text using conditional language models.