Strumenti Utente

Strumenti Sito


Text Analytics (635AA) A.Y. 2022/23


Lucia Passaro (lucia.passaro [at] unipi [dot] it)

Office hours: Monday 16-18 via Teams


Day Hour Room
Monday 9-11 Fib M1
Friday 11-13 Fib M1

Team of the class


The course targets text analytics systems and applications to respond to business problems by discovering and presenting knowledge that is otherwise locked in textual form. The main objectives of the course are:

  1. Learning essential techniques, algorithms, and models used in natural language processing.
  2. Understanding of the architectures of typical text analytics applications and of libraries for building them.
  3. Expertise in design, implementation, and evaluation of applications that exploit analysis, interpretation, and transformation of texts.


  • Background: Natural Language Processing, Information Retrieval and Machine Learning
  • Mathematical background: Probability, Statistics and Algebra
  • Linguistic essentials: words, lemmas, morphology, Part of Speech (PoS), syntax
  • Basic text processing: regular expression, tokenisation
  • Data collection: scraping
  • Basic modelling: collocations, language models
  • Introduction to Machine Learning: theory and practical tips
  • Libraries and tools: NLTK, Spacy, Keras, pytorch
  • Classification/Clustering
  • Sentiment Analysis/Opinion Mining
  • Information Extraction/Relation Extraction/Entity Linking
  • Transfer learning
  • Quantification

Lecture Notes

Date Lecture Slides Material / Reference
2022/09/16 Introduction to the course, NLP & Text Analytics. 1 - Introduction to the Text Analytics courseJ. Eisenstein. Introduction to Natural Language Processing. MIT Press. Chp. 1.
2022/09/19 Reminds on Probability. Language and Probability. 2 - Reminds on Probability
2022/09/23 Introduction to Python. 3 - Introduction to PythonIntroduction to Python - Notebook.
2022/09/30 Introduction to Python (continued). Project Presentation and Important Dates. Project and Dates
2022/10/03 Probabilistic Language Models. 5 - Probabilistic Language modelsD. Jurafsky, J.H. Martin. Chp. 3. Probabilistic Language Models - Notebook.
2022/10/07 Text Indexding: Strings, Regular Expressions and BS4. 6 - Text Indexing-1D. Jurafsky, J.H. Martin. Chp. 2. Strings, Regular Expressions and BS4 - Notebook.
2022/10/10 Text Indexding: Linguistic annotation. NLTK. 6 - Text Indexing-2 Linguistic annotation with NLTK - Notebook.
2022/10/14 Text Indexding: Collocations with Gensim. stanza. spacy. Feature selection. 6 - Text Indexing-3 L6.3.4 - collocations - stanza - spacy - Notebooks.
2022/10/17 Text Indexding: Vector space models. 6 - Text Indexing-4D. Jurafsky, J.H. Martin. Chp. 6. L6.5 - Vector space model - toy example - Notebook.
2022/10/21 Machine Learning for Text Analytics. 10 - Machine Learning for Text Analytics
2022/10/24 Student project presentations: proposal, brainstorming, discussion.
2022/10/28 Student project presentations: proposal, brainstorming, discussion.
2022/11/04 Machine Learning for Text Analytics. Experiments and Practice. 13 - Experiments Classification sklearn - Notebook.
2022/11/07 Topic Modeling. 14 - Topic modeling Zhai and Massung (2016) Text Data Management and Analysis. Chp 17. Topic Modeling - Notebooks.
2022/11/11 A primer on Neural Networks. 15 - A Primer on Neural Networks
2022/11/14 A primer on Neural Networks (continued). Practice. From SVM to NN, Classification with Keras - Notebooks.
2022/11/18 Neural Language Models. Word2vec 17 - Neural Language Models-1Word2vec with Gensim - Notebook.
2022/11/21 Neural Language Models. Doc2vec. Transformer. BERT. 18 - Neural Language Models-2D. Jurafsky, J.H. Martin. Chps. 7 911.Doc2vec with Gensim - Notebook.
2022/11/25 Seminar (Alessandro Bondielli). Evaluating strategies for Automatic Profiling of Résumés. A case study.
2022/12/02 Student project presentations: ongoing experiments. Discussion.
2022/12/05 Student project presentations: ongoing experiments. Discussion.
2022/12/09 Fine-tuning BERT. Advanced applications (Conversational Agents, Affective Computing). 22 - Advanced applications BERT finetune - Notebooks. Recommended chapters: D. Jurafsky, J.H. Martin.20;24.


Attending students

The exam for attending students will consist of the development of a project to be agreed upon with the teacher and an oral exam. The outcome of the project will be some code and a report of the activity (4-10 pages is the typical length range). The oral exam will consist of the presentation and discussion of the project. Projects may be based on challenges proposed in either research forums (Semeval, Evalita) or other platforms (Kaggle). Students are also invited to propose a project based on other sources (e.g., recent papers on ArXiv CL or AI), or their own interests. Students may work in 3-5 people groups.

Non-Attending students

The exam for non attending students will consist in a written exam with open question and exercises, and an oral discussion on the topics of the course.

Written test example.


It is recommended to read selected chapters from:

  1. D. Jurafsky, J.H. Martin, Speech and Language Processing. 3nd edition, Prentice-Hall, 2018.
  2. S. Bird, E. Klein, E. Loper. Natural Language Processing with Python.

Further bibliography will be indicated as a material for the single lessons.

Previous editions

mds/txa/start.txt · Ultima modifica: 20/12/2022 alle 09:37 (5 mesi fa) da Lucia Passaro