Het doel van de cursus is om studenten uitgebreide kennis bij te brengen van fundamentele technieken en methoden op het gebied van natuurlijke taalverwerking (NLP) en machine learning. Gedurende het semester leren studenten de programmeertaal Python en de toepassing ervan bij diverse tekstverwerkingstaken, waaronder webscraping, tekstvoorbereiding, tokenisatie en lemmatisatie. De cursus behandelt vectormodellen, probabilistische modellen en verschillende soorten machine learning-modellen, waardoor studenten in staat zijn teksten samen te vatten, te classificeren en diverse taalkundige modellen en tekstmodelleringstechnieken toe te passen. Naast theoretische kennis zullen studenten hun inzicht verdiepen door middel van praktische oefeningen, waardoor ze worden voorbereid op het toepassen van geavanceerde NLP-oplossingen in praktijkcontexten.
Cursusonderwerpen en rooster (op basis van een semester van 14 weken):
1) Inleiding tot kunstmatige intelligentie en NLP
2) Python I: Basisbewerkingen, variabelen, bestanden lezen
3) Python II: If-Else-bewerkingen, strings, verzamelingen, lijsten, lijstfuncties, lussen
4) Python III: Webscraping, verzamelingen, tuples, woordenboeken
5) Vectormodellen: Tekstvoorbereiding, tokenisatie, lemmatisatie
6) Vectormodellen: TF-IDF, neurale woordembeddings
7) Probabilistische modellen: Markov-model, tekstclassificatie
8) Probabilistische modellen: Taalmodellen, tekstgeneratie, poëzie schrijven
9) Probabilistische modellen: Op N-grams gebaseerde woordvervanging
10) Machine learning-modellen: Naïeve Bayes – Hoe bepaal ik of mijn model geschikt is?
11) Machine learning-modellen: Logistische regressie – Sentimentanalyse
12) Machine learning-modellen: Tekstsamenvatting
13) Machine learning-modellen: Latent Dirichlet Allocation – Onderwerpmodellering, niet-negatieve matrixfactorisatie (NMF)
14) Machine learning-modellen: Latente semantische analyse (Latent Semantic Indexing)
Aan het einde van de cursus zal de cursist in staat zijn om grote tekstdatasets te analyseren met behulp van technieken op het gebied van natuurlijke taalverwerking (NLP) en machine learning.
Aan het einde van de cursus zal de cursist in staat zijn om zijn of haar programmeervaardigheden in Python toe te passen bij het uitvoeren van taken zoals webscraping, tekstvoorbereiding, tokenisatie en lemmatisatie.
Aan het einde van de cursus zal de cursist in staat zijn om vectormodellen, probabilistische modellen en machine learning-modellen te gebruiken om teksten samen te vatten, te classificeren en te modelleren.
Aan het einde van de cursus zal de cursist in staat zijn om taalmodellen voor tekstgeneratie te ontwikkelen en sentimentanalyses uit te voeren met behulp van logistische regressie.
Aan het einde van de cursus zal de cursist in staat zijn om machine learning-technieken zoals Naïeve Bayes, Latent Dirichlet Allocation (LDA) en Topic Modeling toe te passen om patronen in tekstuele gegevens te onderzoeken.
Aan het einde van de cursus zal de cursist in staat zijn om de effectiviteit van NLP-modellen te beoordelen door de resultaten van algoritmen voor machine learning te interpreteren.
Aan het einde van de cursus zal de cursist in staat zijn om in groepsprojecten mee te werken aan het ontwikkelen van Python-scripts, NLP-methoden toe te passen en bevindingen te presenteren op basis van de analyse van praktijkgegevens.
Geen vereisten.
Verplichte lectuur:
Elhadad, M. (2010). Natural Language Processing with Python, Steven Bird, Ewan Klein en Edward Loper, O’Reilly Media.
Antić, Z. (2021). Python Natural Language Processing Cookbook. Packt Publishing Ltd.
Wittgenstein, L. (1998). Filosofische onderzoekingen. Atlantis Boedapest.
Chomsky, N. (1968). Taalkundige bijdragen aan de studie van de geest: de toekomst. Taal en denken.
Gadamer, H.G. (2003). Waarheid en methode: schets van een filosofische hermeneutiek. Sapientia Humana Osiris.
Aanbevolen lectuur:
Shannon, C. (2001). Een wiskundige theorie van communicatie. ACM SIGMOBILE Mobile Computing and Communications Review.
Barrios, F., López, F., Argerich, L., & Wachenchauzer, R. (2016). Variaties in de gelijkenisfunctie van TextRank voor geautomatiseerde samenvatting.
Steinberger, J., & Jezek, K. (2004). Het gebruik van latente semantische analyse bij het samenvatten van teksten en het evalueren van samenvattingen.
Metsis, V., Androutsopoulos, I., & Paliouras, G. (2006). Spamfiltering met Naïeve Bayes – Welke Naïeve Bayes?
Aizawa, A. (2003). Een informatie-theoretisch perspectief op TF-IDF-maatstaven.
Mihalcea, R., & Tarau, P. (2004). TextRank: Orde scheppen in teksten.
Gong, Y., & Liu, X. (2001). Algemene tekstsamenvatting met behulp van een relevantie-maatstaf en latente semantische analyse.
Ramadhan, W.P., Novianty, S.A., & Setianingsih, S.C. (2017). Sentimentanalyse met behulp van multinomiale logistische regressie.
Blei, D.M., Ng, A.Y., & Jordan, M.I. (2003). Latent Dirichlet Allocation. Journal of Machine Learning Research.
Interactieve sessies die aanzetten tot discussie, analyse en praktische verkenning van NLP-technieken en machine learning-modellen. De studenten gaan aan de slag met praktijkvoorbeelden, casestudy’s en wetenschappelijke artikelen.
Groepswerk:
Samenwerkingsprojecten waarbij studenten in teams aan de slag gaan om methoden voor machine learning toe te passen bij het analyseren van tekstdatasets. Dit omvat het schrijven van Python-scripts, het uitvoeren van taken op het gebied van gegevensverwerking en het presenteren van hun bevindingen.
Praktische labsessies:
Praktische programmeeroefeningen die worden uitgevoerd in een computerlokaal. De studenten passen de in de colleges geleerde technieken, zoals webscraping, tokenisatie, tekstclassificatie en samenvatting, toe met behulp van Python.
De studenten zullen hun groepsprojecten aan de klas presenteren, wat hen de kans biedt om hun presentatievaardigheden te ontwikkelen en feedback te krijgen van medestudenten en de docent.
Cijferlijst