INTRODUZIONE ALLA LINGUISTICA COMPUTAZIONALE E LABORATORIO

Anno accademico 2021/2022 - 1° anno
Docenti Crediti: 12
SSD: INF/01 - INFORMATICA
Organizzazione didattica: 300 ore d'impegno totale, 228 di studio individuale, 72 di lezione frontale
Semestre: 1° e 2°
ENGLISH VERSION

Obiettivi formativi

  • MODULO A INTRODUZIONE ALLA LINGUISTICA COMPUTAZIONALE

    Il corso prevede l’acquisizione da parte degli studenti della filosofia della programmazione strutturata e l’apprendimento delle principali tecniche per l’elaborazione del testo, attraverso l’utilizzo del linguaggio Python.


Modalità di svolgimento dell'insegnamento

  • MODULO A INTRODUZIONE ALLA LINGUISTICA COMPUTAZIONALE

    L'insegnamento sarà svolto attraverso delle lezioni frontali in cui verranno presentati i contenuti del corso, anche attraverso delle dimostrazioni pratiche di programmazione in aula. L’insegnamento prevede l’applicazione dei concetti attraverso l’utilizzo del linguaggio Python. Lo studente avrà a disposizione ulteriori ore di lezione frontale (previste dal modulo di Laboratorio), durante le quali avrà la possibilità di perfezionare la propria preparazione sulla programmazione strutturata in Python. Inoltre, lo studente avrà a disposizione una piattaforma di apprendimento attraverso la quale sarà possibile esercitarsi durante le ore di studio e autovalutarsi sui contenuti appresi a lezione. La medesima piattaforma fornisce un valido strumento per la preparazione all'esame.

    Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.

  • MODULO B LABORATORIO DI LINGUISTICA COMPUTAZIONALE

    Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.


Prerequisiti richiesti

  • MODULO A INTRODUZIONE ALLA LINGUISTICA COMPUTAZIONALE

    Lo studente che accede al corso dovrà conoscere i fondamenti dell'Informatica. In particolare, lo studente dovrà avere dimestichezza con il concetto di informazione e con i principi di funzionamento del sistema di elaborazione e del sistema operativo.


Frequenza lezioni

  • MODULO A INTRODUZIONE ALLA LINGUISTICA COMPUTAZIONALE

    Obbligatoria

  • MODULO B LABORATORIO DI LINGUISTICA COMPUTAZIONALE

    Obbligatoria


Contenuti del corso

  • MODULO A INTRODUZIONE ALLA LINGUISTICA COMPUTAZIONALE

    Il corso è diviso in due moduli principali.

    Nel primo modulo lo studente apprenderà le basi della programmazione e del linguaggio Python. Apprenderà l’utilizzo dei costrutti di base, delle funzioni, della ricorsione, e delle principali strutture di dati disponibili in Python. Il secondo modulo del corso ha lo scopo di fornire gli strumenti essenziali per l’elaborazione del testo e del linguaggio naturale, come la divisione in token, lo stemming e l’utilizzo del dizionario WordNet. Saranno acquisite inoltre competenze sul part-of-speech tagging, il chunking e named-entity-recognition. Lo studente imparerà come realizzare ogni task richiesto per l’analisi e l’interpretazione del testo in maniera automatica mediante la libreria NTLK e il linguaggio di programmazione Python. Successivamente la stessa pipeline di lavorazione verrà replicata mediante la libreria SpaCy, confrontando il funzionamento e le finalità delle due librerie. Con quest’ultima verranno anche provati due semplice sistemi di visualizzazione dei risultati.


Testi di riferimento

  • MODULO A INTRODUZIONE ALLA LINGUISTICA COMPUTAZIONALE

    Il testo di riferimento al primo modulo è “Pensare in Python: come pensare da informatico” di Allen B. Downey, edito da O’Reilly Media (anno 2019, verranno svolte le prime 213 di 259 pagine). Il libro rappresenta uno strumento ideale per imparare le basi della programmazione, utilizzando il linguaggio Python. Nello specifico il testo introduce al linguaggio in modo graduale, iniziando con i concetti base della programmazione per poi passare a funzioni, ricorsione, strutture di dati e progettazione orientata agli oggetti. Gli esercizi, presenti in ogni capitolo, consentono di testare immediatamente i concetti appresi.

    Il testo di riferimento al secondo modulo è “Python 3 Text Processing with NLTK 3 Cookbook” (in lingua inglese, verranno svolte 228 di 279 pagine complessive), di Jacob Perkins, edito da Packt Publishing (anno 2014). Il testo introduce lo studente alle tecniche essenziali di elaborazione del testo e del linguaggio naturale. La seconda parte del secondo modulo, relativa al Natutal Language Processing tramite SpaCy verrà trattata seguendo dispense fornite dal docente (28 pagine) e la documentazione ufficiale di SpaCy reperibile online (https://spacy.io/usage).

     

    Si ricorda che, ai sensi dell’art. 171 della legge 22 aprile 1941, n. 633 e successive disposizioni, fotocopiare libri in commercio, in misura superiore al 15% del volume o del fascicolo di rivista, è reato penale.

    Per ulteriori informazioni sui vincoli e sulle sanzioni all’uso illecito di fotocopie, è possibile consultare le Linee guida sulla gestione dei diritti d’autore nelle università (a cura della Associazione Italiana per i Diritti di Riproduzione delle opere dell’ingegno - AIDRO).

    I testi di riferimento possono essere consultati in Biblioteca.


Programmazione del corso

MODULO B LABORATORIO DI LINGUISTICA COMPUTAZIONALE
 ArgomentiRiferimenti testi
1Tokenizzazione del testoCap.1  
2Rimozione stopwordsCap. 1 
3Utilizzo di WordNetCap. 1 
4CollocationsCap. 1 
5Sostituzione e corezione di paroleCap. 2 
6Creazione di CorporaCap. 3 
7Part of speech taggingCap. 4 
8Chunk ExtractionCap. 5 
9ClassificazioneCap. 7 e Dispense 
10Named Entity Recognition con SpaCyDispense 
11Dependency Tree visualizerDispense 
12NER visualizerDispense 

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

  • MODULO A INTRODUZIONE ALLA LINGUISTICA COMPUTAZIONALE

    Prova orale

    Prova pratica

    La prova sarà svolta prevalentemente in forma orale. Allo studente verrà richiesta la risoluzione al computer di problemi computazionali su temi di programmazione di base in python e natural language processing.

    La valutazione dell’esame terrà conto della padronanza dei contenuti e delle competenze acquisite, dell’accuratezza linguistica e proprietà lessicale, nonché della capacità argomentativa dimostrata dal/la candidato/a.

    La verifica dell'apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.

  • MODULO B LABORATORIO DI LINGUISTICA COMPUTAZIONALE

    Prova orale

    Prova pratica

    La prova sarà svolta prevalentemente in forma orale. Allo studente verrà richiesta la risoluzione al computer di problemi computazionali su temi di programmazione di base in python e natural language processing.

    La valutazione dell’esame terrà conto della padronanza dei contenuti e delle competenze acquisite, dell’accuratezza linguistica e proprietà lessicale, nonché della capacità argomentativa dimostrata dal/la candidato/a.

    La verifica dell'apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.