INTRODUZIONE ALLA LINGUISTICA COMPUTAZIONALE E LABORATORIO

Anno accademico 2020/2021 - 1° anno
Docenti Crediti: 12
SSD: INF/01 - INFORMATICA
Modalità di erogazione: Tradizionale
Organizzazione didattica: 300 ore d'impegno totale, 228 di studio individuale, 72 di lezione frontale
Semestre: Insegnamento annuale
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.

  • MODULO B LABORATORIO DI 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

    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.


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.

  • MODULO B LABORATORIO DI 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

    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.

  • MODULO B LABORATORIO DI LINGUISTICA COMPUTAZIONALE

    Questo 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à replicate 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 è “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.

     

    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.

  • MODULO B LABORATORIO DI LINGUISTICA COMPUTAZIONALE

    Il testo di riferimento è “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 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 A INTRODUZIONE ALLA LINGUISTICA COMPUTAZIONALE
 ArgomentiRiferimenti testi
1Imparare a programmare Cap.1 di [A]  
2Variabili, espressioni ed istruzioni Cap.2 di [A]  
3Funzioni Cap.3 di [A]  
4Istruzioni condizionali e ricorsione Cap.4 di [A]  
5Funzioni produttive Cap.5 di [A]  
6Iterazione Cap.6 di [A]  
7Stringhe Cap.7 di [A]  
8Liste Cap.8 di [A]  
9Tuple Cap.9 di [A]  
10Dizionari Cap.10 di [A]  
11File ed eccezioni Cap.11 di [A]  
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 pratica al PC e orale

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

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

  • MODULO B LABORATORIO DI LINGUISTICA COMPUTAZIONALE

    Prova pratica al PC e orale.

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

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