Natural Language Processing (NLP) Natural Language Processing (NLP) settore di ricerca integrato all'Intelligenza Artificiale e alla linguistica computazionale si occupa del trattamento automatico del linguaggio naturale scopo: implementare strumenti informatici per analizzare, comprendere e generare testi nel linguaggio naturale Natural Language Understanding (NLU) problema dell’Intelligenza Artificiale completo richiede conoscenza estesa del mondo e una grande capacità di manipolarlo differenza profonda tra linguaggio formale di programmazione e linguaggio naturale Un po’ di Linguistica Morfologia: parte della Grammatica che studia le forme linguistiche, le norme che regolano la struttura, la flessione, la composizione e la derivazione delle parole Sintassi: studia l'insieme delle relazioni grammaticali tra le parole che costituiscono una frase o, in generale, un'espressione linguistica di più elementi Semantica: studia il linguaggio dal punto di vista del significato Pragmatica: studia il linguaggio in rapporto all’uso che ne fa il parlante Esempio: “Sai che ore sono?” Trasformazione dell’input scritto e orale in una rappresentazione macchina interna Analisi lessicale Nome: DELIMITATORE DI FRASE Compito: suddividere un testo in singole frasi Osservazioni: non sempre i segni d’interpunzione indicano la fine di una frase Esempio: “Geom. Rossi” Nome: TOKENIZER Compito: segmentare un flusso di caratteri in unità minime lessicali significative (=parole) Osservazioni: una parola non può essere sempre vista come la sequenza di caratteri fra due spazi bianchi Esempi: “Città del Vaticano” Analisi grammaticale Nome: STEMMER Compito: ridurre la forma flessa di una parola al suo lemma (=parola scelta per convenzione per rappresentare tutte le forme di una flessione) Esempio: riduzione di “dormirò” a “dormire” Osservazioni: spesso vengono usati dei cosiddetti stemmer euristici che eliminano gli elementi lessicali di superficie (prefissi e suffissi) al fine di scoprire il tema della parola (=parte della parola composta di radice del tema più vocale tematica, a esclusione dei suffissi) Esempio: riduzione di “addormentato” a “dorm” Analisi grammaticale Nome: PART OF SPEECH TAGGER Compito: etichettare ogni parola con la corretta parte del discorso Osservazioni: frequenti problemi di ambiguità Esempio: “Visiting aunts can be a nuisance.” “Visiting” deve essere etichettato come verbo o come aggettivo? Risoluzione dell’ambiguità con regole sintattiche o facendo riferimento ad un corpus (=collezione di testi) taggato manualmente Analisi sintattica Nome: PARSER Compito: costruire la struttura sintattica di una frase per verificarne la correttezza; indicare quali combinazioni di parti del discorso generano strutture sintatticamente corrette “Colorless green ideas sleep furiously.” usata nel 1957 dal linguista statunitense Noam Chomsky, fondatore della grammatica generativo-trasformazionale evidenzia la necessità di distinguere sintassi e semantica frase sintatticamente corretta, ma priva di significato Rappresentazioni di strutture sintattiche Struttura inscatolata (S: (NP: (ADJ: Colorless) (ADJ: green) (N: ideas)) (VP: (V: sleep) (ADV: furiously)) Parse tree SHRDLU programma sviluppato da T. Winograd alla fine degli anni ’60 il nome deriva dalla sequenza ETAOIN SHRDLU, la disposizione dei tasti su una macchina Linotype l’utente interagisce con un braccio robot all’interno del piccolo “blocks world” scrivendo dei comandi la comprensione del linguaggio naturale da parte del programma risulta credibile grazie alla semplicità del mondo in cui opera http://www.uv.es