LITERARY AND LINGUISTIC COMPUTING

Anno accademico
2024/2025 Programmi anni precedenti
Titolo corso in inglese
LITERARY AND LINGUISTIC COMPUTING
Codice insegnamento
FM0484 (AF:508198 AR:285010)
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea magistrale (DM270)
Settore scientifico disciplinare
L-LIN/01
Periodo
II Semestre
Anno corso
1
Sede
VENEZIA
Spazio Moodle
Link allo spazio del corso
L'insegnamento si inquadra nelle attività della Laurea Magistrale in Digital and Public Humanities e ha lo scopo di fornire allo/alla studente/essa gli strumenti tecnici fondamentali per l'annotazione automatica e per l'analisi computazionale del testo.

Obiettivi dell’insegnamento sono:

- fornire allo/alla studente/essa le tecniche di base per l'analisi computazionale di dati testuali
- fornire allo/alla studente/essa le tecniche di base per l'estrazione automatica di conoscenza dal testo
- consolidare la familiarità dello/la studente/essa con il linguaggio di Programmazione Python ed introdurre alcuni suoi moduli di trattamento automatico del linguaggio, quali Stanza e gensim
- esercitare la capacità di formulare e testare ipotesi alternative
1. Conoscenza e comprensione
- familiarità con l'ambiente di programmazione Python e con i suoi moduli di NLP/text mining (Stanza, gensim)
- familiarità con le più comuni tecniche di annotazione automatica del testo
- acquisizione delle tecniche di base per l'estrazione di informazione linguistica da corpora
- familiarità con i principali approcci all'estrazione e rappresentazione di informazione strutturata da testo

2. Capacità di applicare conoscenza e comprensione
- conoscenza delle caratteristiche e dei limiti dei più comuni approcci per il trattamento automatico del linguaggio, in modo tale da poterli sfruttare per la propria ricerca
- utilizzo dell'ambiente di programmazione Python per lo sviluppo di moduli per il trattamento automatico del testo
- capacità di avanzare, in maniera fondata e critica, proposte originali

3. Capacità di giudizio
- capacità di mettere in atto autonomamente strategie di rafforzamento della propria competenza tecnica
- sensibilità alle problematiche tecniche e deontologiche connesse all'analisi quantitativa ed automatica del linguaggio
- capacità di valutare ipotesi in competizione e operare sintesi tra ipotesi alternative

4. Abilità comunicative
- capacità di stesura di un testo scritto di carattere argomentativo su un tema di ricerca originale
- capacità di interazione con i pari e con il docente, in modo critico e rispettoso

5. Capacità di apprendimento
- capacità di acquisire facilmente dimestichezza con altri linguaggi di scripting (p.e. R, PERL, Matlab, Javascript, Julia)
- capacità di acquisire conoscenze utili per la gestione di problemi non direttamente collegati al trattamento automatico del linguaggio (p.e. per l'analisi statistica)
- capacità di acquisire dimestichezza con nuovi strumenti tecnologici per il trattamento automatico del linguaggio (p.e. sistemi di annotazione)
Conoscenze di base del linguaggio di programmazione Python
- Manipolare dati testuali con Python
- Riconoscimento Ottico dei Caratteri con Python
- Espressioni Regolari
- L'annotazione automatica dei corpora
- Semantica distribuzionale
- Topic modeling
Unitamente al materiale didattico disponibile sulla [piattaforma di e-learning di ateneo](https://moodle.unive.it/ ) in formato Jupyter notebook, le seguenti letture forniranno allo/alla studente/essa una spiegazione più dettagliata dei concetti chiave del corso:

- M. Baroni (2009) *Distributions in text*. In A. Lüdeling and M. Kytö (eds.), Corpus linguistics: An international handbook, Vol. 2, Mouton de Gruyter: 803-821.
- D.M. Blei (2012) *Probabilistic topic models*. Communications of the ACM, 55 (4): 77-84.
- M. Davies (2015) Corpora: An introduction. In D. Biber and R. Reppen (eds.), The Cambridge Handbook of English Corpus Linguistics, Cambridge University Press: 11-31.
- M. C. de Marneffe and J. Nivre (2019) Dependency Grammar. Annual Review of Linguistics 5: 197-218.
- S.T. Gries and A. L. Berez (2017) Linguistic Annotation in/for Corpus Linguistics. In N. Ide and J. Pustejovsky (eds.), Handbook of Linguistic Annotation, Springer: 379-409.
- M. Hammond (2020) Python for Linguists. Cambridge University Press
- D. Hovy (2021) Text Analysis in Python for Social Scientists: Discovery and Exploration. Cambridge University Press
- D. Jurafsky and J. H. Martin (2020) Speech and Language Processing, 3rd edition, DRAFT (ch. 4, 6).
- A. Lenci (2018) Distributional Models of Word Meaning, Annual Review of Linguistics, 4: 151-171.
- T. Neal, K. Sundararajan, A. Fatima, Y. Yan, Y. Xiang, Y. and D. Woodard (2017) Surveying stylometry techniques and applications. ACM Computing Surveys (CSUR), 50 (6): 1-36.
La verifica dell'apprendimento avviene attraverso la discussione orale di un progetto di programmazione concordato con il docente. Il progetto dovrà focalizzarsi sulla costruzione ed analisi computazionale di un corpus e dovrà essere documentato da un report corredato di codice che dovrà essere inviato telematicamente al docente almeno una settimana prima dell'esame orale cui si intende partecipare.

Il lavoro finale verrà valutato come segue:
- qualità (appropriatezza, funzionamento, stile) del codice: 40% del voto finale
- conoscenza del problema affrontato e della rilevante letteratura scientifica: 20% del voto finale
- chiarezza e completezza del report: 30% del voto finale
- discussione con il docente: 10% del voto finale
Lezioni frontali e laboratori di apprendimento attivo. Ogni sessione sarà strutturata nel seguente modo:
- discussione su alcuni esercizi della precedente sessione;
- breve introduzione da parte del docente dei concetti chiave del nuovo gruppo di esercizi;
- svolgimento, da parte degli studenti, di esercizi di programmazione disponibili sulla piattaforma di e-learning di ateneo in formato Jupyter notebook
Inglese
orale
Programma definitivo.
Data ultima modifica programma: 23/02/2024