91258 - NATURAL LANGUAGE PROCESSING

Anno Accademico 2022/2023

  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Forli
  • Corso: Laurea Magistrale in Specialized translation (cod. 9174)

    Valido anche per Laurea Magistrale in Specialized translation (cod. 9174)

Conoscenze e abilità da conseguire

Lo/a studente/ssa conosce i principi teorici di base del trattamento automatico delle lingue o Natural Language Processing (NLP); è capace di svolgere compiti basilari del NLP quali tokenizzazione, vettorizzazione e identificazione delle somiglianze fra testi; è capace di costruire e analizzare corpora per la creazione di modelli predittivi; è capace di applicare modelli supervisionati a problemi tipici del NLP quali topic identification o sentiment analysis.

Contenuti

Mentre i contenuti potrebbero essere (leggermente) adattati in base alle competenze e agli interessi degli studenti, la struttura generale del corso sarà la seguente.

  1. Introduzione alla linguistica computazionale
  2. Parole e modello spaziale vettoriale
  3. Naive Bayes
  4. Vettori di parole
  5. Dai conteggi al significato
  6. Formazione e valutazione nell'apprendimento automatico
  7. Introduzione a LSA
  8. Introduzione alle reti neurali
  9. Embeddings di parole
  10. Dalle rappresentazioni di documenti alle sequenze
  11. Reti Convoluzionali per il testo
  12. Reti sequenziali per il testo
  13. Oltre

(contenuti post-editati dalla traduzione automatica con deepl)



Testi/Bibliografia

  1. Hobson Lane, Cole Howard, Hannes Hapke (2019). Natural Language Processing in Action Understanding, analyzing, and generating text with Python. Manning Publications.

    Optional
  2. Dirk Hovy (2020). Text Analysis in Python for Social Scientists. Cambridge University Press.
  3. Kenneth Ward Church. Unix for poets.
  4. Dan Jurafsky and James H. Martin. Speech and Language Processing (3rd ed. draft) Draft chapters in progress, October 16, 2019
  5. Steven Bird, Ewan Klein, and Edward Loper. Natural Language Processing with Python.
  6. Yoav Goldberg. (2017). Neural Network Methods for Natural Language Processing (G. Hirst, ed.). Morgan & Claypool Publishers.
  7. Emily M. Bender (2013). Linguistic Fundamentals for Natural Language Processing: 100 Essentials from Morphology and Syntax Synthesis Lectures on Human Language Technologies. Morgan & Claypool Publishers.


Metodi didattici

Il corso sarà una combinazione di seminari e sessioni pratiche. In entrambi i casi è prevista la partecipazione attiva degli studenti. Prima dell'inizio della classe, si farà un corso d'introduzione alla programmazione con Python (data/luogo da definire).

In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, in modalità e-learning.

(contenuti post-editati dalla traduzione automatica con deepl)



Modalità di verifica e valutazione dell'apprendimento

Lo studente lavorerà per affrontare una problematica nell'ambito dei propri interessi di ricerca con le conoscenze acquisite durante il corso. Una volta concordato l'argomento con l'insegnante, lo studente lavorerà alla soluzione del problema e scriverà una relazione scritta. A seguito, si farà un'esame orale per valutare le conoscenze acquisite in vista del progetto sviluppato.

La valutazione finale sarà calcolata considerando la qualità della relazione e dell'orale. La relazione deve essere presentata una settimana prima dell'esame, al più tardi.

Modalità di valutazione

  • 30-30L: Conoscenza approfondita dell'argomento, eccezionale capacità di applicare i concetti. La/o studente(ssa) esegue rigorosi esperimenti formali e produce una relazione eccezionale, di qualità paragonabile a una presentazione nell'ambito di una conferenza nazionale nel campo.
  • 27-29: Conoscenza approfondita dell'argomento, solida capacità di applicare i concetti e buone capacità analitiche. La/o studente(ssa) esegue buoni esperimenti formali e produce una relazione di alta qualità.
  • 24-26: Discreta conoscenza dell'argomento e ragionevole capacità di applicare correttamente i concetti. La/o studente(ssa) esegue alcuni esperimenti ragionevoli e produce una buona relazione.
  • 21-23: Conoscenza adeguata, ma non approfondita, dell'argomento e parziale capacità di applicare i concetti. La/o studente(ssa) esegue esperimenti imprecisi e produce una relazione ragionevole.
  • 18-20: Conoscenza appena adeguata e solo superficiale dell'argomento che denota scarsa coerenza nell'applicare i concetti. La/o studente(ssa) esegue esperimenti sbagliati e produce una relazione approssimativa.
  • < 18 insufficiente: Conoscenza inadeguata dell'argomento, errori significativi nell'applicazione dei concetti. Sia gli esperimenti che la relazione sono di scarsa qualità.

Strumenti a supporto della didattica

I seminari si svolgeranno con diapositive e la codifica sarà effettuata con jupyter notebooks. Saranno effettuati esercizi continui.

(contenuti post-editati dalla traduzione automatica con deepl)


Link ad altre eventuali informazioni

https://albarron.github.io/teaching/natural-language-processing/

Orario di ricevimento

Consulta il sito web di Luis Alberto Barron Cedeno