“Colorless green ideas sleep furiously.”
Dall’Intelligenza Artificiale al Natural Language Processing
Matteo Conci
Clara Craffonara
Martina Delladio
www.pinobruno.it
Talk to ELIZA
I'm unhappy.
Do you believe it is normal to be unhappy?
Yes, sometimes, but not always. I am always unhappy.
Did you come to me because you are always unhappy?
Yes. I want to be happy again.
What would it mean to you if you got to be happy again?
It would be great. I would live my life with a new motivation.
Can you elaborate on that?
I would go out with my friends and I maybe find a boyfriend.
You don't seem quite certain.
My father doesn't believe that I find a boyfriend.
I'm not sure I understand you fully.
ELIZA
è una macchina o
una persona?

ELIZA è un chatterbot, cioè un programma che
simula una conversazione con una persona

programma creato nel 1966 da J. Weizenbaum

simula una seduta da una psicoterapeuta, dove
l’utente è il paziente
http://www.planet-source-code.com
Test di Turing

test di intelligenza per
macchine

ideato da Alan Turing e
pubblicato la prima volta
nel 1950

l’elaborazione del
linguaggio naturale non è
condizione sufficiente e
nemmeno necessaria per
l’intelligenza
http://en.wikipedia.org/
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 una 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
Esempio: “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 “donazione” a “dona”
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
Il correttore ortografico
L’utente inserisce una parola
Vindiamo
Il software verifica se essa è Si Il software non
presente nel dizionario
segnala errori
No
Il software esegue lo stemming
(Vind)
Il software verifica se il tema è
Si
presente nel dizionario
No
Il software cerca nel dizionario le
parole con distanza di
Levenshtein minore e le
suggerisce all’utente
Il correttore ortografico
La distanza di Levenshtein misura il numero di caratteri
che devo modificare per trasformare una stringa in
un’altra.
Dist. Levenshtein (CANE, PANE) = 1
Dist. Levenshtein (CANE, GATTO) = 4
Limiti e problematiche
dei correttori ortografici
 Quante e quali parole devo inserire nel dizionario?
 In che ordine presentare i suggerimenti?
 Come riconoscere errori ortografici di parole
singolarmente corrette? (Es. I’m going too sleep.)
La semantica
È la branca della linguistica che si occupa di studiare il
significato delle frasi.
Ad esempio
Mangio una pesca e una pera
La pesca del tonno è in crisi
Si riferiscono a due ambiti semantici differenti.
Come facciamo a far capire automaticamente il campo
semantico ad un PC?
La classificazione semantica delle parole
Ad ogni parola viene associato un certo numero di etichette
che ne identificano la semantica.
Es: Espresso {Colazione, Treno, Caffè, Pasto, ... }
Il software analizza le parole contenute in un documento e
cerca l’area semantica d’appartenenza per intersezione.
Colazione
Trasporti
Treno
Cappuccino
Espresso
Brioches
Ritardo
Problemi legati a questo tipo di trattazione
È sufficiente un approccio meramente statistico, che non tenga in
considerazione la grammatica?
(Es: Dopo una sana ed abbondante colazione ho preso
l’espresso delle 8. Semantica dell’espresso: colazione)
È possibile catalogare tutte le parole?
Come possiamo trovare una classificazione universale?
Ogni termine usato come “etichetta” è a sua volta
classificabile?
Il filtro web: DansGuardian
L’utente chiede una
pagina al server
(www.repubblica.it)
Il proxy la carica al suo
interno
DansGuardian la legge
Se al suo interno ci sono
troppe parole vietate, la
pagina non viene
mostrata
Se non trova troppe
parole sospette, la pagina
viene trasmessa
all’utente
Dimmi chi? e ti rispondo
Servizio della Provincia Autonoma di Trento.
Esegue l’analisi delle domande allo stesso modo di un
chatterbots e fornisce informazioni sull’anagrafe della
pubblica amministrazione trentina (indirizzi, numeri di
telefono, orari).
Basta inviare un sms al 338 8888 188 con la domanda e
il sistema invia la risposta.
Es:
DOMANDA: “A che ora parte un Bus da Trento per Arco
domani?”
RISPOSTA: PART Trento (autostaz.)Ore 6.23 ARR Arco
(autostaz.) ore: 7.25 Tipo: Bus Extraurbano – INFO TEL
0461 821000
Il web semantico
Attraverso dei formati standard l’utente etichetta tutte le
informazioni contenute nel suo sito manualmente e crea
un’ONTOLOGIA, ovvero una serie di regole che leggano
queste etichette e le possano tradurre in testo completo,
secondo una gramamtica semplice e strutturata.
E’ in questo modo possibile che da frasi come:
Giorgio Napolitano, Presidente della Repubblica, vive a Roma
Si estraggano informazioni in linguaggio naturale:
Giorgio Napolitano è il Presidente della Repubblica
Il presidente della repubblica vive a Roma
Talk to ELIZA
asdjas maybe djskal djsakd
Can't you be more positive?
no. thfd dfladf dark and negative
You are being a bit negative.
dnaskd you djaksdj djaskfjhvd
You're not really talking about me, are you?
the color of dkas is green
That is quite interesting.
I want to be fdskafa again
What if you never got to be fdskafa again?
all the adhfakdf are dkfsfe
What does that suggest to you?
Conclusioni

ELIZA non capisce il linguaggio naturale

anche i chatterbots di ultima generazione non
sono in grado di capire il linguaggio naturale

non esistono per il momento applicazioni che
riescano a trattare in modo completo un testo
qualsiasi

sono stati fatti grandi passi avanti nel
delineare i vari problemi che ci sono nel
trattamento automatico del linguaggio naturale
Conclusioni

la ricerca nel settore del NLP diventa sempre
più importante
–
–
–


traduzione automatica di testi di vario genere
riassunto di articoli e altri testi
ricerca più veloce ed efficace di informazioni nel
web
sono stati finanziati grandi progetti
“We can only see a short distance ahead, but
we can see plenty there that needs to be
done." A. Turing
Riferimenti bibliografici

Jackson P., I. Moulinier, Natural Language Processing
for Online Applications, John Benjamins Publishing
Company, Amsterdam/Philadelphia, 2002

http://www.mondodigitale.net

http://en.wikipedia.org/wiki/

http://dizionari.corriere.it/dizionario_italiano

http://www.manifestation.com/neurotoys/eliza.php3
Scarica

Presentazione del wiki - Colorless green ideas sleep furiously.