Ex.2 Analisi Computazionale di un Corpus per lo Studio di Fenomeni Linguistici
Esercizio incentrato su metodologie NLP, modellazione linguistica e riflessione critica sul trattamento computazionale del linguaggio:
Titolo: Analisi Computazionale di un Corpus per lo Studio di Fenomeni Linguistici
Obiettivi formativi:
Applicare tecniche di elaborazione del linguaggio naturale (NLP) a dati linguistici.
Costruire e interrogare un corpus annotato.
Valutare criticamente gli strumenti NLP alla luce delle teorie linguistiche.
Consegna dell’esercizio
Scegli o costruisci un corpus (dimensione minima: 50.000 token) coerente per ambito e varietà linguistica (es. italiano giornalistico, letterario, parlato trascritto, social media, ecc.). Svolgi le seguenti attività:
- Preparazione e annotazione del corpus
Descrivi il dominio, la varietà linguistica, il genere testuale e il tipo di dato.
Effettua le seguenti operazioni di preprocessing:
Tokenizzazione e normalizzazione
POS tagging e lemmatizzazione (es. con spaCy, UDPipe o Stanza)
Parsing dipendente o costituente
In alternativa (o in aggiunta), utilizza un corpus già annotato in formato CoNLL-U (es. UD Treebanks) e adattalo alle tue finalità.
- Analisi linguistica computazionale
Scegli uno (o più) dei seguenti assi di indagine:
Morfosintassi: distribuzione di categorie grammaticali, ambiguità lessicale o tagger errors.
Sintassi: schemi ricorrenti, misure di complessità sintattica, dipendenze.
Lessico: misure di densità e ricchezza, distribuzioni di lemma, analisi TF-IDF.
Semantica computazionale: Named Entity Recognition, word embeddings, topic modeling.
Pragmatica/dialogo (se corpus dialogico): turni, marcatori discorsivi, atti linguistici computazionalizzati.
- Modellazione e visualizzazione
Implementa script in Python o R per estrarre pattern, calcolare statistiche e generare visualizzazioni (matplotlib, seaborn, spaCy displaCy, networkx, ecc.).
Crea almeno due visualizzazioni significative (reti sintattiche, istogrammi, mappe semantiche, ecc.).
Spiega il processo e le scelte metodologiche.
- Discussione critica
Redigi un saggio (1000–1500 parole) in cui:
Interpreti i risultati ottenuti dal punto di vista linguistico.
Rifletti sui limiti e i bias dello strumento NLP adottato (ad es. coverage del modello, errori sistematici, disallineamenti tra teoria e computazione).
Proponi estensioni o miglioramenti (es. training di modelli, uso di dizionari lessicali, risorse semantiche come WordNet o BabelNet).
Strumenti suggeriti
Python: NLTK, spaCy, Stanza, UDPipe, sklearn, matplotlib, seaborn
Corpus linguistici: Universal Dependencies, ItWac, TUT (Turin University Treebank), CORIS/CODIS
Visualizzazione: displaCy, seaborn, matplotlib, Gephi (per grafi sintattici)
Consegna finale
Una cartella compressa con:
Il corpus (o subset) annotato e documentazione
Script di analisi/commentati o notebook Jupyter
Le visualizzazioni (formato PNG/SVG o integrato)
Il saggio critico in PDF
Criteri di valutazione
Accuratezza tecnica e replicabilità (30%)
Aderenza linguistica e solidità delle ipotesi (30%)
Qualità delle visualizzazioni e dell’interpretazione (20%)
Capacità critica e riflessiva (20%)
Codice sorgente per ipynb
Contiene un workflow base con spaCy per:
- analizzare un testo italiano,
- visualizzare la struttura sintattica,
- estrarre i lemmi più frequenti.
