XB_0085Year 2 · Period 26ECOfficial study guide
Difficulty
Moderate
Tap a star to rate this course

Text Mining for AI

NLP, linguistics, text mining: rule-based systems, machine learning, deep learning, text classification, sentiment, entity recognition, topic modeling.

Attendance info

Lectures and labs are not checked for attendance, but the lab assignments themselves are mandatory to pass the course and you have to be in a group of four. Groups are formed in week 1 through the Groups tab on Canvas; if you have not joined a group by the deadline the staff assume you are not taking the course.

Learning objectives

Knowledge and understanding: at the end of the course, students will be familiar with basic knowledge of some of the core aspects of Natural Language Processing, Linguistics and Text Mining: rule-based systems, machine learning, deep learning, text classification, sentiment extraction, entity recognition and topic modeling of texts. Applying knowledge and understanding: students will be able to implement NLP processing systems and modules and evaluate these. Making judgements: students will have a basic understanding of the ethical and societal implications of the developments in NLP. Communication skills: students will be able to write a scientific reports about a specific research question in a group of students. Learning skills: students will be trained in acquiring a set of complex NLP and text mining topics in a restricted period of time, come up with a research question and perform the necessary (empirical) research. Basic concepts from Linguistics and foundational concepts from Natural Language Processing. Skills to use, apply and critically assess text mining techniques. Adapt and build text mining techniques to specific target domains and applications.

Text Mining is the NLP course of the bachelor, and it runs over six weeks with two meetings per week: a lecture and a lab session. The lectures walk through the layers of information hidden in text, roughly one per week: an intro to text mining, linguistics (morphology, syntax, semantics, pragmatics), NLP and machine learning in two parts, sentiment analysis, named entity recognition and classification, and finally text categorisation and topic modelling.

In the labs you work with the standard Python toolkits, mostly NLTK, spaCy, scikit-learn and Hugging Face transformers, on real data such as airline tweets. You form groups of four in week 1 and stay in that group for the four weekly lab assignments and the final project, which you present as a poster.

You need Python and command-line skills before you start. The course assumes you can install Anaconda, work in a virtual environment and run Jupyter notebooks on your own laptop, and there is a self-test on Canvas to check whether your command-line skills are good enough.

If you are curious about how LLMs and chatbots actually work under the hood, this is where the bachelor gets closest to it: tokenisation, embeddings, sequence labelling, fine-tuning BERT and where each of those approaches breaks down.

Assessment

Two graded components: the group project report/poster (40%) and an individual multiple-choice exam (60%). You need at least a 5 for each component separately and an average of 5.5 or higher to pass. Completing the weekly lab assignments is a requirement to pass, even though they carry no weight in the grade. You may resubmit at most two weekly lab assignments, with a one-week deadline; a group member who did not contribute has to resubmit individually within a week. The exam is based on the lecture slides and the compulsory literature. Each lecture comes with an ungraded Canvas self-test quiz, and those quizzes are the only exam-style practice you get, since the course explicitly does not provide a separate practice exam.

Teaching methods

Six weeks with a lecture and a lab session each week. Lectures are prepared by reading the compulsory literature listed per module. Lab sessions are hands-on Python work in groups of four, supported by TAs, building towards the final project. Questions can be submitted anonymously through per-lecture and per-lab Google spreadsheets.

Literature

Maynard, Bontcheva & Augenstein, Natural Language Processing for the Semantic Web (chapters 1, 2, 3, 7). Jurafsky & Martin, Speech and Language Processing (3rd ed. draft, chapters 4, 5, 17, 22). Bird, Klein & Loper, Natural Language Processing with Python / NLTK book (chapters 6, 7, 8). Plus papers on transformers (Wolf et al. 2020), NER (Yadav & Bethard 2019), topic modelling (Vayansky & Kumar 2020; Churchill & Singh 2021), fine-tuning (Church et al. 2021; Sun et al. 2019) and SVM text classification (Saigal & Khanna 2020). All links are in the Canvas modules.

Prerequisites

Working knowledge of Python and the command line, plus your own laptop (Windows 10+, macOS or Linux) with Anaconda installed. Set up a separate virtual environment for the course before the first lab to avoid package conflicts.

nlptext-miningrequired