Natural Language Processing

Natural Language Processing

Academic Year 2026/2027

(frontpage illustration produced with deepai’s tool in October 2024; using prompt natural language processing class for translation and technology masters).

Visit the UniBO website of the lecture for official and administrative details.

Prerequisites

A gentle introduction to Python

This topic wont be covered in class.

if you are a student of TraTec:
  you had the intro to Python in PBR
elif you are a student of SpecTra:
  you had the intro to python in APS

Regardless of whether you attended either of the introductions, I suggest you to do (or re-visit) all the exercises ASAP.

Homework

Homework is going to be handled through virtuale. No further contents are expected to be shared there. By 30th September, you should obtained the password to access from me. If you did not, ping me. Homework has associated a hard deadline.

Course contents

Whereas the contents could be (slightly) adapted according to the students skills and interests, the general structure of the course is as follows.

Lessons with a star (*) are tentative.

1. Introduction to Natural Language Processing

  • Lesson 1. MO 28/09/26 Slides Introduction

2. Words and the vector space model

  • Lesson 2. WE 30/09/26 Slides Tokens and normalisation

  • Lesson 2. WE 30/10/26 Notebook Tokens and normalisation

  • Lesson 3. MO 05/10/26 Vector Space Model

3. Rule-based and Naïve Bayes’ classifier

  • Lesson 4. WE 07/10/26 Rule-based sentiment analysis
  • Lesson 5. MO 12/10/26 Naïve Bayes’ classifier

4. Word vectors

  • Lesson 6. WE 14/10/26 Term Frequency–Inverse Document Frequency
  • Lesson 7. MO 19/10/26 Term Frequency–Inverse Document Frequency

5. From Word Counts to Meaning

  • Lesson 8. WE 21/10/26 [Slides] From word counts to meaning (introducing topic modelling)
  • Lesson 9. MO 26/10/26 Introduction to LSA and SVD*

6. Training and Evaluation

  • Lesson 10. WE 28/10/26 Training and evaluation

7. Intro to NN

  • Lesson 11. MO 02/11/26
  • Lesson 12. WE 04/11/26 Neural networks and keras

8. Word Embeddings

  • Lesson 13. MO 09/11/26 Word2vec
  • Lesson 14. WE 11/11/26 Hands on word embeddings

9. Doc2Vec

  • Lesson 15. MO 16/11/26 From word back to document representations (doc2vec)

10. Visualisation*

  • Lesson 16. WE 18/11/26 Visualisation

11. Convolutions for text

  • Lesson 17. MO 23/11/26 CNNs
  • Lesson 18. WE 25/11/26 CNNs

(big thanks to P. Gajo for helping with making the notebooks more memory-efficient)

11. Text is Sequential / LSTM

  • Lesson 19. MO 30/11/26 RNNs
  • Lesson 20. WE 02/12/26 BiRNNs and LSTMs
  • Lesson 21? LSTMs*

12. Text generation*

FIN

Selected topics in NLP

From this year, NLP has one follow-up lesson:

  • Selected Topics in Natural Language Processing is an optional (with credits). Further information about it is available on the UniBO website.

Projects

For your final mark, 80% comes from the final project. Look for inspiration, in the projects presented in previous years

Some project ideas

Eventually, I will drop here more ideas for final projects.

Previous final projects

2026-2027

yours will be here

2025-2026

to be updated

2024-2025

  • Santangelo D.P. (2025) No Stupid Questions, Only Labeled Ones: Intent Classification for University FAQs
    🗎

  • Forzatti A. (2025) Benchmarking Bilingual Text Anonymization and Automatic Term Extraction Approaches
    🗎

2023-2024

  • Cupin E., Galiero L., and Ciminari D. (2023). Back to the Roots: Tracing Source Languages in Wikipedia with LABSE
    🗎

2022-2023

  • Mainardi. P (2023). Identifying masculine generics in Italian
    🗎

2021-2022

  • Gajo, P. (2022). Hate Speech Detection in Incel Online Spaces
    🗎

  • Kovacs, M. (2022). Fishing for catfishes: using a model trained on Twitter data to predict author gender in Reddit posts
    🗎

2020-2021

  • Hopkins, D. (2022). Assessing Semantic Similarity between Original Texts and Machine Translations
    🗎
  • Galletti, E. (2021). Identifying Characters’ Lines in Original and Translated Plays. The case of Golden and Horan’s Class
    🗎

  • Yu, X. (2021). Classifying An Imbalanced Dataset with CNN, RNN, and LSTM
    🗎

2019-2020

  • Fernicola F. and Zhang S. (2020). AriEmozione: Identifying Emotions in Opera Verses
    (developed under CRICC; published in CLiC-it 2020)
    🗎 🎦

  • Muti, A. (2020). UniBO@AMI: A Multi-Class Approach to Misogyny and Aggressiveness Identification on Twitter Posts Using AlBERTo
    (top-performing model in Evalita’s 2020 AMI shared task)
    🗎 🎦