Obiettivi formativi
Lo scopo del corso è quello di fornire competenze nel campo della programmazione in Python nell'ambito di semplici applicazioni di Natural Language Processing. Al termine del corso gli studenti e le studentesse: 1) conosceranno le strutture dati elementari e i costrutti di programmazione di base; 2) sapranno modificare e scrivere programmi scritti in Python che manipolano e analizzano testi acquisendo competenze utili per gli umanisti. 3) Conosceranno le basi di rappresentazione del testo al calcolatore.
Prerequisiti
Non è richiesta alcuna conoscenza pregressa se non la semplice attitudine all'uso elementare di un personal computer.
Contenuti dell'insegnamento
Gli argomenti del corso saranno i seguenti:
- Introduzione al Text Mining
- Introduzione alla programmazione in Python
- Esercitazioni pratiche di laboratorio
Programma esteso
1) Introduzione al Text Mining:
- Rappresentazione del testo al calcolatore (ASCII)
- N-grammi
- Tokenization
- Edit Distance
- Cenni agli approcci moderni basati sui word embedding e large language models
2) Introduzione al coding in Python
- Variabili e liste
- Ciclo for iterativo
- Istruzione if
- Ciclo while
- Dizionari
- Lettura e scrittura dai file
- Esercitazioni pratiche al calcolatore
Bibliografia
- How to Think Like a Computer Scientist (Learning with Python): http://openbookproject.net/thinkcs/python/english3e/
- Python 101: http://python101.pythonlibrary.org/index.htm
- Speech and Language Processing, Jurafsky (2023) (I primi capitoli introduttivi)
Metodi didattici
Lezioni in aula informatica in cui vengono combinate parti teoriche e attività pratiche laboratoriali con il computer.
Modalità verifica apprendimento
L'esame consisterà nella realizzazione di un progetto in Python da svolgere a casa e nella relativa discussione con il docente durante l’orale. La valutazione si baserà su:
- Correttezza e funzionamento del programma
- Complessità del lavoro svolto
- Qualità della documentazione
- Qualità della discussione del progetto all’orale
Durante la presentazione orale sarà comunque valutata la preparazione su tutti gli argomenti del corso attraverso domande di teoria o la risoluzione di semplici quesiti di programmazione.
Altre informazioni
La frequenza al corso è vivamente consigliata. Non c'è differenza di programma tra frequentanti e non frequentanti.
Obiettivi agenda 2030 per lo sviluppo sostenibile
- - -