COMPUTATIONAL LINGUISTICS: DIGITAL TEXT ANALYSIS
- Anno accademico
- 2022/2023 Programmi anni precedenti
- Titolo corso in inglese
- COMPUTATIONAL LINGUISTICS: DIGITAL TEXT ANALYSIS
- Codice insegnamento
- LM5870 (AF:356157 AR:209420)
- Modalità
- In presenza
- Crediti formativi universitari
- 6
- Livello laurea
- Laurea magistrale (DM270)
- Settore scientifico disciplinare
- L-LIN/01
- Periodo
- II Semestre
- Anno corso
- 2
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
Obiettivi dell’insegnamento sono:
- fornire allo/alla studente/essa le tecniche di base per l'analisi computazionale dei testi
- fornire allo/alla studente/essa le tecniche di base per l'estrazione automatica di conoscenza dal testo
- introdurre lo/la studente/essa all'utilizzo del linguaggio di Programmazione Python per il trattamento di dati testuali, con particolare attenzione ad alcuni suoi moduli quali stanza e gensim
- esercitare la capacità di formulare e testare ipotesi alternative
Risultati di apprendimento attesi
- familiarità con l'ambiente di programmazione Python e con i suoi moduli spanza e 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 divulgazione delle principali teorie linguistiche ad un pubblico con un background scientifico variegato
- 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, SQL)
- capacità di acquisire conoscenze utili per la gestione di problemi non direttamente collegati al trattamento automatico del linguaggio (p.e. per l'analisi statistica, per la creazione di siti web dinamici, per la gestione di database)
- capacità di acquisire dimestichezza con nuovi strumenti tecnologici per il trattamento automatico del linguaggio (p.e. sistemi di annotazione, tool di interrogazione di corpora)
Prerequisiti
Familiarità con l'uso del computer. Non è richiesta alcuna conoscenza pregressa di programmazione o di qualche software specifico.
Contenuti
2. Primi passi con Python
3. Tipi di variabili
4. Manipolare dati testuali
5. Scrivere programmi strutturati
6. L'annotazione automatica dei corpora
7. Statistica descrittiva del testo / La legge di Zipf
8. Collocazioni e misure di associazione
9. Rappresentazione grafica di dati linguistici
10. Semantica Distribuzionale
11. Topic modeling
Testi di riferimento
LETTURE DI RIFERIMENTO:
- M. Hammond (2020) Python for Linguists. Cambridge University Press
- D. Hovy (2021) Text Analysis in Python for Social Scientists. Cambridge University Press
LETTURE INTEGRATIVE:
- 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. Available online at: http://sslmit.unibo.it/~baroni/publications/hsk_39_dist_rev2.pdf
- 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.
- S. Evert (2009) Corpora and collocations. In A. Lüdeling and M. Kytö (eds.), Corpus linguistics: An international handbook, Vol. 2, Mouton de Gruyter: 1212-1248 (sections 1-4). Available online at: http://www.stefan-evert.de/PUB/Evert2007HSK_extended_manuscript.pdf
- 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. Available online at: http://www.stgries.info/research/2017_STG-ALB_LingAnnotCorpLing_HbOfLingAnnot.pdf
- A. Lenci (2018) Distributional Models of Word Meaning, Annual Review of Linguistics, 4: 151-171. Available online at: http://colinglab.humnet.unipi.it/wp-content/uploads/2012/12/annurev-linguistics-030514-125254.pdf
Modalità di verifica dell'apprendimento
ESERCIZI DI PROGRAMMAZIONE (STUDENTI FREQUENTANTI)
Per gli/le studenti/esse che sono stati presenti almeno al 70% delle lezioni la verifica dell'acquisizione delle competenze informatiche avviene attraverso tre gruppi di problemi di programmazione che verranno assegnati ogni 4/5 settimane e che dovranno essere consegnati in formato telematico prima della scadenza indicata dal docente.
Il voto parziale sarà così calcolato:
- primo gruppo di problemi: 20% del voto parziale
- secondo gruppo di problemi: 40% del voto parziale
- terzo gruppo di problemi: 30% del voto parziale
- partecipazione all'attività didattica: per il calcolo di questa voce verrà chiesto agli studenti di consegnare, all'inizio di ogni sessione di laboratorio, gli esercizi di programmazione assegnati la settimana precedente. Gli studenti che non avranno cercato di rispondere ad almeno il 50% degli esercizi verranno penalizzati nella misura dell'1% del voto parziale per ogni notebook insufficiente o non consegnato (penalizzazione massima: 10% del voto parziale).
È facoltà degli/delle studenti/esse frequentanti decidere in qualsiasi momento di svolgere questa parte della valutazione con le modalità degli studenti non frequentanti. In questo caso, le prove in itinere già sostenute non verranno considerate per il calcolo del voto finale.
ESERCIZI DI PROGRAMMAZIONE (STUDENTI NON FREQUENTANTI)
Per gli/le studenti/esse non frequentanti la verifica dell'acquisizione delle competenze informatiche avviene attraverso un unico insieme di problemi di programmazione che dovrà essere consegnato in formato telematico prima della scadenza indicata dal docente.
Metodi didattici
- 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.