Il gruppo di ricerca CLIC dove si svolge il progetto Composes, foto di German Kruszewski

Ricerca

SINGING HAMSTERS AND TALKING MACHINES

Notes from the Composes ERC project: Compositional Operations in Semantic Space

13 novembre 2015
Versione stampabile
Marco Baroni
by Marco Baroni
Associate Professor in Computational Linguistics at the Center for Mind/Brain Sciences of the University of Trento, where he is also affiliated with the Department of Information Engineering and Computer Science.

English version
Versione italiana

Language is the most powerful tool we possess to express our ideas, to acquire new knowledge and to communicate with others. However, the increasingly more useful and pervasive machines that surround us - laptops, phones, robotic vacuum cleaners - are not endowed with the ability to communicate through language, which makes interacting with them slow and cumbersome.

Compositionality and context-dependence are two of the fundamental aspects of language that make it so difficult to program in a machine. Through compositionality, we can create and understand an infinite number of utterances by composing the meaning of their parts. When you hear the sentence: "last night I dreamt that my hamster sang the Over The Rainbow", you can immediately understand what it describes, despite the fact that you've never heard of hamsters singing the Over The Rainbow before. You can make sense of it because you know the meaning of words such as hamster and singing, and how they combine to form the meaning of longer phrases (if you think that Apple's Siri or Microsoft's Cortana understand language, try having a conversation about singing hamsters with them). The property of context-dependence means that, for many words, we can get their intended meaning only in context. Consider for example a color adjective such as white--apparently, it has a single, straightforward meaning. However, a white wall, a white face and white wine are white in very different ways. This implies that the process of composition cannot be characterized by a small set of general rules, but it is highly dependent on the words being composed.

The Composes project builds on previous research on computational representations of word meaning. This line of research relies on the intuition, known as the distributional hypothesis, that a word's meaning is indirectly encoded in the linguistic contexts in which the word occurs. For example, if you read: "a cute little wampimuk was sleeping behind the tree", the context will suggest you that a wampimuk must be some kind of harmless little mammal. Based on this intuition, a class of programs known as Distributional Semantic Models can automatically extract meaning representations for thousands of words by performing a statistical analysis of the contexts in which such words occur in large amounts of texts (e.g., the whole Wikipedia). In Composes, we have extended the same methods to automatically induce composition rules that can derive the meaning of phrases and sentences. For example, our programs might take in input sentences with the adjective white followed by various nouns, and, by performing a statistical analysis of how the contexts change depending on the nouns, automatically learn a rule composing the meaning of the adjective-noun phrase in a context-sensitive manner. After being trained on large amounts of text, our program can apply the composition rules it has learned to new phrases and sentences. It can for example predict the meaning of white cat even if this phrase was never encountered in the input data. The software we wrote to induce and apply composition rules is publicly available from the project website.

We have tested our system in a number of settings, to check whether it behaves in human-like ways. We found, for example, that the system can automatically detect that, while neither legendary province nor residential steak occur in the data it was exposed to during the learning stage, the former phrase refers to a meaningful concept, and the second doesn't. As another example, the system is able to generate paraphrases (short definitions) of single words (e.g., given the word jurisdiction as input, it generated legal authority as output), and even produce short phrases that describe pictures (e.g., given the picture of a fluffy cat as input, to generate the phrase fluffy cat to describe it).

Still, for all the challenges that we have successfully dealt with, we have uncovered many more that will have to be addressed in future research. To mention just one we are currently particularly interested in, the Composes system handles only very local cases of context-dependence (e.g., white face, where the meaning of white can be determined by simply considering the likely way in which faces are white). However, very often understanding the meaning of a phrase requires taking a much broader context into account. Consider an apparently simple sentence such as: "the white cat moved first". Fully understanding the meaning of white cat requires scanning the whole linguistic exchange in which the sentence occurred, and possibly the visual surroundings in which it was uttered, in order to identify the animal the phrase refers to. We are still far from being able to write programs that can track such factors in any general way. Despite the best efforts of Composes, it will take a while before you can have a meaningful conversation with your vacuum cleaner!


CRICETI CANTERINI E MACCHINE PARLANTI
Note dal progetto ERC Composes: Compositional Operations in Semantic Space

Grazie al linguaggio, siamo in grado di esprimere idee, acquisire nuove conoscenze e comunicare con gli altri. I macchinari che occupano un ruolo sempre più importante nella nostra vita quotidiana - portatili, telefoni, aspirapolvere robotici - purtroppo non sono ancora in grado di parlare, il che rende interagire con essi lento e scomodo.

Due degli aspetti fondamentali del linguaggio che lo rendono così difficile da emulare in una macchina sono la sua composizionalità e dipendenza dal contesto. Con il primo termine ci riferiamo al fatto che siamo in grado di produrre e capire un numero infinito di enunciati componendo il significato delle loro parti. Leggendo la frase "la notte scorsa ho sognato che il mio criceto cantava Over The Rainbow”, potete farvi immediatamente un'idea della scena descritta, nonostante che sia improbabile che vi sia capitato, in precedenza, di sentir parlare di criceti che cantano Over The Rainbow. La ragione per la quale avete capito la frase alla prima lettura è che conoscete già il significato di parole quali criceto e cantare, nonché le regole che determinano come si combinano per formare il significato di locuzioni più ampie (se pensate che assistenti digitali quali Siri o Cortana capiscano il linguaggio, provate a fare una chiacchierata sul tema dei criceti canterini con loro, e poi ne riparliamo). La proprietà della dipendenza dal contesto implica invece che siamo in grado di assegnare un senso appropriato alle parole solo considerando il contesto in cui capitano. Si consideri per esempio un aggettivo che denota un colore, quale bianco: si direbbe che abbia un solo significato, piuttosto ovvio. Tuttavia, una parete bianca, un volto bianco e il vino bianco sono “bianchi” in maniere molto diverse tra loro.  Per via della dipendenza dal contesto, il processo di composizione non può venir caratterizzato da un numero ristretto di regole generali, e cambia invece a seconda delle parole che vengono composte.

Il progetto Composes prende spunto da ricerche precedenti sulla rappresentazione computazionale del significato delle parole. In particolare, tali ricerche hanno sfruttato l'intuizione, nota come ipotesi distribuzionale, che il significato di una parola è implicitamente codificato nei contesti linguistici in cui la parola viene usata. Per esempio, leggendo "Un wampimuk piccolo e carino stava dormendo dietro all'albero", il contesto vi suggerirà probabilmente che il wampimuk debba essere un mammifero piccolo ed innocuo. Seguendo questa intuizione, una classe di programmi noti come “Modelli Semantici Distribuzionali” sono in grado di estrarre automaticamente rappresentazioni del significato di migliaia di parole tramite un'analisi statistica dei contesti in cui tali parole occorrono in grandi collezioni testuali (per esempio, analizzando Wikipedia nella sua interezza). In Composes abbiamo esteso i medesimi metodi all'induzione automatica delle regole che derivano il significato di locuzioni composte, frasi ed enunciati. Per esempio, il nostro programma può prendere in input frasi che contengono l'aggettivo bianco seguito da vari nomi, condurre un'analisi statistica di come i contesti cambiano a seconda del nome che segue l'aggettivo e da questo elaborare, in automatico, una regola che combina il significato di nome e aggettivo in maniera appropriata ai rispettivi contesti. Dopo essere stato "addestrato" su grandi quantità di testo, il nostro programma è in grado di estendere le regole di composizione che ha appreso a nuove frasi e locuzioni. Può per esempio predire il significato di gatto bianco, anche se non ha mai incontrato questa locuzione nella fase di addestramento. Il software per l'apprendimento automatico di regole di composizione che abbiamo sviluppato può venire liberamente scaricato dal sito web del progetto.

Il sistema è stato valutato in vari scenari concreti, verificando che il suo comportamento fosse in accordo con le nostre intuizioni linguistiche. Per esempio, il sistema, benché non abbia incontrato né provincia leggendaria né bistecca residenziale nella fase di addestramento, è in grado di determinare, automaticamente, che la prima locuzione ha senso, la seconda no. Il sistema è anche in grado di produrre parafrasi (brevi definizioni) di parole (per esempio, per la parola giurisdizione genera automaticamente la parafrasi autorità legale), e può perfino produrre brevi descrizioni di immagini (per esempio, prendendo come input la foto di un gatto molto peloso, il sistema genera appunto la descrizione linguistica gatto peloso).

Composes ha dato risposte convincenti a molte questioni riguardanti la composizione delle parole. Ciononostante, nel corso del progetto abbiamo anche scoperto molti problemi nuovi, che andranno affrontati in futuro. Per menzionarne solo uno, al quale siamo al momento molto interessati, il sistema è in grado di gestire solo casi in cui l'influenza del contesto è molto localizzata (per esempio, volto bianco, dove è sufficiente capire in che modo una faccia possa essere bianca per assegnare il significato corretto a bianco). Tuttavia, molto spesso la comprensione di una locuzione dipende da contesti molto più ampi. Si consideri la semplice frase: "il gatto bianco fece la prima mossa". Per capire in pieno il significato di gatto bianco in questa frase dobbiamo considerare l'intero scambio linguistico di cui fa parte, e forse anche il contesto visivo in cui la frase è stata prodotta, in modo da capire a che animale si riferisca l'espressione gatto bianco. Non siamo ancora in grado di scrivere programmi che possano tener conto di tali fattori. Nonostante i progressi di Composes, il giorno in cui potremo avere delle conversazioni sensate con i nostri aspirapolvere è ancora lontano!