Connecting Words and Images in Distributional Semantics
11 juillet 2016
Computational Linguistics
Introduction by Serge Sharoff
Très bien. D'accord. Voici donc une introduction très rapide. L'une des choses habituelles dans toute introduction est de dire que nous sommes ravis d'accueillir un tel conférencier. Ce qui est différent dans ce cas, c'est que je suis vraiment ravi parce que Marco est absolument génial et que c'était un plaisir de travailler avec lui. L'autre point très pertinent pour cette conférence est son parcours de vie. Hier, nous avons un peu parlé de la différence entre la linguistique traditionnelle, avec son modèle de type château, et la linguistique informatique, avec son modèle commercial. Marco est la preuve vivante qu'il est possible de combiner les deux domaines, car ses recherches initiales, son doctorat, portaient sur la phonologie. C'était un style de recherche très traditionnel. Puis il s'est tourné de plus en plus vers des outils informatiques. L'une des choses qu'il a produites dans ce processus est BootCaT, un outil utilisé par de nombreux linguistes pour collecter des corpus sur le web. L'idée d'avoir des corpus jetables — on collecte un corpus et on l'oublie une fois son but atteint — vient de Marco. Ensuite, il s'est dirigé vers le domaine de la sémantique distributionnelle, couvrant non seulement le style traditionnel mais aussi les modalités. De ce que je vois, c'est une partie de la conférence. Quel est le lien entre les mots et les images ? Je laisse la parole à Marco.
The Distributional Hypothesis and Semantic Models
En fait, c'est une très belle introduction, Serge. J'ai entendu plusieurs intervenants avant moi proposer au public de choisir entre le russe ou l'anglais. Je ne peux pas faire cela, mais je peux peut-être proposer l'italien. Est-ce que quelqu'un préférerait ? D'accord. Merci beaucoup de m'avoir invité. C'est une expérience très intéressante, entre ma première journée à Moscou chez ABBYY et hier et ce matin ici. Je suis également reconnaissant, car je pense que Vladimir n'était pas très content que je ne connaisse pas le climat russe typique. Hier et aujourd'hui, il régnait une température sibérienne dans cette salle, mais je vois que le problème est peut-être résolu. Je vais parler de recherches récentes que j'ai menées sur un sujet qui, comme l'a dit Serge, réunit dans une certaine mesure la linguistique informatique et théorique. Les méthodes viennent de la linguistique informatique, mais j'espère que les linguistes théoriciens verront la pertinence potentielle de ce que nous faisons pour la sémantique en général. Je vois beaucoup de visages familiers de ma présentation chez ABBYY. Je vais donc commencer par quelques diapositives générales sur la sémantique distributionnelle identiques à celles de l'exposé ABBYY, bien que je les passerai beaucoup plus vite. Je vous aurais bien dit que vous pouviez consulter vos e-mails en attendant, mais apparemment le réseau sans fil est en panne, donc je suppose qu'il vous suffit de sortir 10 minutes et de revenir quand j'en aurai fini avec la sémantique distributionnelle. Bien sûr, le travail que je vais présenter n'est pas un travail solitaire. En particulier, la première moitié concerne un travail empirique réalisé principalement par Elia Bruni, ancien doctorant du groupe, et la seconde moitié, un travail d'Angeliki Lazaridou, actuellement en deuxième année chez nous. Plusieurs autres personnes ont contribué d'autres manières. Comme je l'ai dit, je commencerai par une introduction rapide du cadre général de la sémantique distributionnelle, puis je passerai au sujet de ma présentation : comment enrichir la sémantique distributionnelle de manière intéressante en allant au-delà du texte et en combinant les données des corpus textuels avec des données extraites d'images par vision par ordinateur. Je traiterai deux sujets. L'un est la construction de représentations sémantiques plus ancrées, où la vision peut aider à rendre les représentations moins abstraites, plus liées à notre expérience perceptuelle du monde. Et ensuite, un travail très récent sur la façon dont nous pouvons utiliser les techniques de vision par ordinateur pour connecter les représentations sémantiques textuelles au monde réel. La sémantique distributionnelle est une approche de collecte et d'utilisation de représentations du sens basée sur l'hypothèse distributionnelle, selon laquelle le sens d'un mot est l'ensemble des contextes dans lesquels il apparaît. C'est une idée ancienne, notamment dans le structuralisme américain avec Zellig Harris dans les années 50. Si vous n'en avez jamais entendu parler, cela semble contre-intuitif. Mais quand on pense au nombre de mots qu'un enfant acquiert — environ 50 000 à 60 000 à la fin du lycée — il est clair qu'il n'a pas vu de définitions explicites pour tous. Nous appliquons tous un apprentissage distributionnel. Il existe des preuves psycholinguistiques que les sujets peuvent induire le sens d'un mot rapidement d'après le contexte. Voici une petite expérience. Si je vous disais : « Nous avons trouvé un petit wampimuk poilu dormant derrière l'arbre. » Même sans définition ou image, vous savez déjà beaucoup de choses sur les wampimuks. Alors, qu'est-ce qu'un wampimuk ?
Un animal.
C'est certainement un animal. Il est poilu, donc c'est probablement un mammifère. Il est probablement inoffensif, voire mignon. Vous apprenez beaucoup sur un wampimuk juste en regardant le contexte et en raisonnant par analogie. Que vous croyiez ou non en la sémantique distributionnelle comme théorie linguistique, c'est une approche très pratique pour extraire des informations sémantiques. Dans ces modèles, le plus célèbre étant l'Analyse Sémantique Latente de Landauer et Dumais (il y a aussi les modèles de thèmes ou les modèles de langage neuronaux), le point commun est que pour récolter ces représentations, nous collectons de grandes quantités de textes. Pour chaque mot cible, nous enregistrons les modèles de cooccurrence avec le contexte, souvent d'autres mots. On représente chaque mot comme un vecteur, une liste ordonnée de nombres suivant la fréquence d'apparition dans chaque contexte. Ici, je n'ai que six contextes, mais on travaille typiquement avec 10 000 ou 20 000 dimensions. Comme cette méthode est sans connaissances préalables, non supervisée et peu exigeante, je peux extraire des représentations vectorielles pour des milliers de mots. Que faire de ces représentations ? Puisqu'un vecteur est un point dans l'espace, on utilise la géométrie pour trouver la similitude entre les mots via la distance géométrique. Voici un exemple simplifié en deux dimensions. Les mots lune et soleil apparaissent tous deux avec des contextes comme ombre et briller. Leurs vecteurs auront des valeurs similaires. En revanche, chien a un motif de cooccurrence très différent, ce qui se reflète géométriquement par l'angle formé par les points. La mesure standard est le cosinus entre deux vecteurs : plus l'angle est étroit, plus le cosinus est élevé, plus les mots sont proches et donc probablement sémantiquement similaires. Ces modèles fonctionnent bien empiriquement pour trouver des synonymes. Pour le mot chute, on obtient comme voisins montée, augmentation, fluctuation, baisse, diminution, etc. Mais on peut faire bien plus que la simple similitude. On peut modéliser l'adéquation thématique. Les arguments syntaxiques d'un verbe ont des restrictions sémantiques. L'objet typique du verbe tuer est rarement une entité abstraite et presque certainement un être animé. Nous avons des intuitions robustes là-dessus. Comment simuler cela ? Sebastian et Ulrike Pado ainsi que Katrin Erk ont eu l'idée de construire un vecteur prototype de l'objet de tuer en regardant les noms qui apparaissent souvent comme objets : victime, soldat, chien. En faisant la moyenne de ces vecteurs, on obtient un vecteur killee (tué) prototypique. Pour tout autre nom, on mesure sa proximité avec ce prototype. Il y a une forte corrélation avec les intuitions humaines sur la probabilité qu'un nom soit sujet ou objet. Par exemple, tuer un kangourou est plausible, tuer une personne aussi. Tuer un robot est moins plausible. En revanche, on ne peut pas tuer le plaisir ou la conversation (au sens littéral). C'est intéressant car tuer un kangourou n'apparaissait jamais dans le corpus source, alors que tuer le plaisir y est fréquent à cause de l'usage métaphorique. Certains linguistes formels objectent qu'on n'apprend que ce qui est déjà dans le corpus, mais c'est faux si on utilise ces méthodes de manière créative. Tuer le plaisir n'a pas de sens littéral malgré sa fréquence. Une application potentielle est la détection automatisée de métaphores. Je pense que la sémantique distributionnelle doit être prise au sérieux comme théorie de la sémantique lexicale, au même titre que le lexique génératif de Pustejovsky, avec l'avantage de pouvoir apprendre ces représentations à grande échelle à partir de données. C'est prometteur, mais il y a des problèmes. Je veux en aborder deux. Le premier est le problème de l'ancrage. Vous connaissez l'expérience de la chambre chinoise de Searle. On peut faire la même chose avec ce que j'appelle la chambre vectorielle chinoise. Puisque la sémantique distributionnelle ne nécessite pas de connaissances, je pourrais construire un modèle parfait du chinois sans comprendre un mot de chinois. Je pourrais tromper quelqu'un, mais l'intuition est qu'en obtenant seulement des informations contextuelles, on n'accède pas vraiment au sens.
The Grounding Problem and Structural Similarities
Au fait, je sais que Serge peut probablement comprendre les mots sur cette diapositive.
Oui, mais en même temps, je pense que tout le monde le peut car, au-delà du sens, le fait que les caractères soient dans le bon groupe est frappant. Ils sont probablement liés. Les radicaux dans le groupe de gauche sont aussi identiques pour au moins deux d'entre eux. Il y a donc des similitudes structurelles.
Étant donné que cette méthode est entièrement sans connaissances, non supervisée et peu exigeante sur le plan informatique, je peux extraire de cette manière des représentations vectorielles pour des milliers et des milliers de mots.
Et que puis-je faire ensuite avec ce genre de représentations ? Eh bien, puisque vous pouvez représenter n'importe quel vecteur, n'importe quelle liste ordonnée de nombres comme un point dans l'espace, je peux ensuite utiliser les outils standards de la géométrie pour découvrir la similitude des mots entre eux en termes de distance géométrique.
Voici donc un exemple fictif où j'ai réduit mes dimensions à deux seulement pour pouvoir montrer un graphique standard du genre de ceux qu'on étudie au collège, mais les mathématiques et la géométrie sont exactement les mêmes, que nous travaillions avec deux dimensions ou 200 000 dimensions.
L'idée ici serait que les mots lune et soleil apparaissent tous deux avec des contextes tels que ombre et briller. Leurs vecteurs auront donc des valeurs similaires pour ces contextes. D'autre part, chien n'a pas tendance à apparaître avec ce genre de contextes, et il pourrait donc avoir d'autres valeurs si ce vecteur avait plus de dimensions, mais il a un schéma de cooccurrence très différent de lune et soleil, et cela se reflète géométriquement dans l'angle formé par les points qui représentent les vecteurs correspondants.
Et par exemple, la mesure standard en sémantique distributionnelle est le cosinus entre deux vecteurs, qui est une mesure liée de façon monotone à la largeur de l'angle. Ainsi, plus l'angle est grand, plus le cosinus est bas ; plus l'angle est étroit, plus le cosinus est élevé. Un cosinus élevé signifie donc que deux mots sont proches dans cet espace distributionnel, ce qui signifie qu'ils ont tendance à partager le même contexte, ce qui signifie qu'si l'hypothèse distributionnelle est correcte, ils sont également susceptibles d'être sémantiquement similaires.
Et il existe de nombreuses preuves que ces modèles fonctionnent réellement de manière empirique. Plus évidemment, ils fonctionnent pour trouver des synonymes ou des mots étroitement liés à nos mots d'intérêt, où nous regardons simplement les vecteurs de tous les mots possibles et cherchons, par exemple pour le mot chute, quels sont les vecteurs qui forment les angles les plus étroits. Vous voyez qu'en général, nous obtenons des résultats très raisonnables. Pour chute, nous obtenons comme voisins les plus proches des choses comme montée, augmentation, fluctuation, baisse, diminution, et ainsi de suite.
Mais au fil des ans, les chercheurs en sémantique distributionnelle ont montré qu'avec la similitude, on peut faire bien plus que simplement approximer des intuitions sur ce qui est similaire ou non. Il y a beaucoup de travail sur l'utilisation de ces méthodes de manière intelligente pour modéliser d'autres types de phénomènes sémantiques.
Par exemple, un domaine dans lequel la sémantique distributionnelle a obtenu de très bons résultats empiriques est la modélisation des intuitions sur la préférence de sélection ou ce que les psycholinguistes appellent parfois l'adéquation thématique.
Le phénomène ici est que je devrais probablement plutôt parler de fentes syntaxiques-sémantiques, mais disons pour une approximation de surface que les arguments syntaxiques typiques d'un verbe ont tendance à avoir des restrictions sur certaines propriétés sémantiques.
Par exemple, l'objet typique du verbe tuer est très peu susceptible d'être une entité abstraite et doit presque certainement être une sorte de chose animée. Les gens ont des intuitions très robustes sur ce qui est, disons, un objet probable de tuer et ce qui ne l'est pas.
Comment simuler cela avec la sémantique distributionnelle ? Une idée très ingénieuse de Sebastian et Ulrike Pado et Katrin Erk il y a quelques années est de construire un vecteur prototype pour l'objet de tuer en cherchant dans un corpus quels sont les noms qui apparaissent souvent comme objets de ce verbe.
Je vais donc trouver victime, soldat, chien, etc., des choses typiquement tuées. Ensuite, si je prends les 20 objets les plus fréquents, je peux obtenir leurs vecteurs distributionnels et en faire la moyenne pour avoir un vecteur killee (tué) moyen.
À ce stade, pour n'importe quel autre nom, je peux mesurer la proximité de son vecteur avec mon vecteur prototype. Erk et Pado ont montré qu'il y a une corrélation très élevée entre l'angle formé par un nom avec ce prototype et les intuitions humaines sur la probabilité que ce nom soit un objet, un sujet, un instrument, etc.
Voici des exemples pour le verbe tuer : tuer un kangourou est plausible, tuer une personne aussi. On peut probablement tuer un robot, mais c'est moins plausible. En revanche, on ne peut pas tuer le plaisir ou la conversation.
C'est intéressant car, dans le corpus source, tuer un kangourou n'apparaissait jamais, alors que tuer le plaisir ou la conversation sont fréquents à cause de l'usage métaphorique.
Une objection courante des linguistes formels est qu'avec cette approche, on n'apprend que ce qui est déjà dit dans le corpus. Mais en utilisant ces méthodes de façon créative, ce n'est pas vrai. On peut déterminer que tuer un kangourou est plausible, même si je ne vous encourage pas à aller chasser le kangourou, ce qui serait difficile à Besakih.
Inversement, tuer le plaisir ou la conversation ne font pas sens au sens littéral. Une application potentielle est la détection automatique des métaphores.
La sémantique distributionnelle doit être vue comme une théorie de la sémantique lexicale, au même titre que le lexique génératif de Pustejovsky, car elle est basée sur des traits (les contextes de nos vecteurs). L'avantage est que nous avons un moyen pratique d'apprendre ces représentations à grande échelle à partir des données.
C'est prometteur, mais il y a des problèmes. Je veux en aborder deux pour lesquels nous avons un début de solution.
Le premier est le problème de l'ancrage. Vous connaissez l'expérience de la chambre chinoise de Searle. On peut reproduire la même chose avec ce que j'appelle la chambre vectorielle chinoise.
L'idée est que, comme la sémantique distributionnelle n'a besoin que d'un corpus, je pourrais construire un modèle parfait pour le chinois sans comprendre la langue. Tout fonctionnerait (similitudes, préférences de sélection), mais ni moi ni mon ordinateur ne connaîtrions mieux le chinois.
On pourrait tromper quelqu'un, mais l'intuition est forte qu'en n'obtenant que des informations contextuelles, on n'accède pas au sens réel des mots.
Beaucoup trouvent cet argument convaincant. Au fait, je sais que Serge peut probablement comprendre les mots sur cette diapositive.
Ah oui, mais je pense que tout le monde le peut car ce n'est pas le sens qui compte, mais le fait que les caractères soient dans le bon groupe. Ils sont probablement liés. On voit aussi des radicaux identiques à gauche. Il y a des similitudes structurelles.
C'est un autre sujet, mais en sémantique distributionnelle, on ignore souvent la phonologie ou l'orthographe, qui révèlent pourtant beaucoup sur le sens.
Bref, mon post-doctorant a préparé cette diapositive : à gauche les animaux, à droite les véhicules, n'est-ce pas ? C'est ça.
L'intuition est que la sémantique distributionnelle est une théorie non incarnée du sens, représentant les mots par leur cooccurrence avec d'autres mots. Ce n'est pas ainsi que les humains se représentent le sens.
Si je pense au mot chien, je connais ses collocatifs, mais je sais aussi à quoi il ressemble, la sensation de son pelage, son odeur.
C'est aussi un problème empirique. Les modèles distributionnels sont étonnamment mauvais pour capturer des propriétés perceptuelles simples comme la couleur typique des objets.
On obtient des résultats comme le brouillard est vert, l'or est violet, le ciel est vert. C'est parce que les propriétés évidentes ne sont pas mentionnées dans les textes.
Adam Kilgarriff montrait qu'il y a plus de résultats Google pour les bananes sont bleues que pour les bananes sont jaunes.
Le problème ne vient pas de l'hypothèse distributionnelle en soi, mais de la restriction aux contextes textuels.
Multimodal Distributional Semantics: Integrating Vision
L'hypothèse dit que le sens est l'ensemble des contextes. Pourquoi se limiter au texte ? Avant, c'était par nécessité pratique.
Mais depuis 10 ans, le web regorge d'images. On ne capture pas encore l'odorat ou le toucher, mais la vision est disponible.
L'idée avec Elia Bruni était de construire des matrices avec des collocatifs textuels ET visuels, ces derniers étant extraits automatiquement des images.
Aller sur Flickr, prendre des images taguées lune, et extraire les propriétés visuelles typiques.
Nous ne connaissions rien à la vision par ordinateur, mais la communauté avait déjà développé le pipeline des sacs de mots visuels, très compatible avec nos idées.
On extrait de chaque pixel un vecteur de bas niveau représentant des formes spécifiques.
Par regroupement (clustering), on transforme cela en unités discrètes appelées mots visuels. L'image entière est alors un vecteur comptant ces mots visuels.
C'est analogue à la façon dont on représente les documents en recherche d'information. Les mots visuels capturent des formes simples.
Si nous avons des images de lune sur Flickr, nous extrayons cette représentation pour chaque image et nous les agrégeons (par simple somme) pour représenter le mot lune.
Le vecteur visuel de lune sera le décompte des mots visuels dans toutes les images étiquetées lune.
Elia a créé la boîte à outils VSEM pour faciliter cette extraction pour les linguistes.
Pour le texte, nous utilisons UKWaC (2 milliards de mots) et Wikipedia.
Pour les images, nous utilisons le jeu de données ESP Game. C'est volumineux (100 000 images) mais bruité.
Par exemple, pour homme, on aura des images de chanteur, de soldat, mais aussi d'homme sur une pièce de monnaie.
On ne localise pas encore les concepts dans la scène.
Notre approche multimodale consiste à concaténer le vecteur textuel et le vecteur visuel, puis à mesurer la similitude dans cet espace.
On évalue cela par rapport aux jugements humains (ex: WordSim-353, échelle de 1 à 10 pour dollar/buck vs professeur/concombre).
Les vecteurs d'images seuls obtiennent déjà une corrélation significative, ce qui a surpris les experts en vision.
En combinant texte et image, les résultats sont systématiquement et significativement meilleurs qu'avec le texte seul.
L'apport des vecteurs multimodaux est qualitativement différent. Pour des concepts jugés similaires par l'humain, le modèle multimodal réussit là où le texte échoue parfois.
On capture mieux les relations taxonomiques étroites (vélo/bicyclette), les co-hyponymes (pomme/cerise), les parties d'objets (pattes/moustaches, guépard/lion).
Le texte est meilleur pour l'abstrait (grossesse/enceinte) ou le concret non imageable (aube/crépuscule).
Nous travaillons sur la détection automatique de l'imageabilité. Le texte capture aussi mieux le savoir encyclopédique (raisin/vin).
Sur la couleur des objets, les modèles textuels sont mauvais. Le multimodal fait mieux.
Par exemple pour weed (herbe), le texte prédit violet à cause de la marijuana purple weed vendue en Hollande.
On apprend que les cochons sont roses et les gorilles noirs. Une erreur : les cerfs sont verts parce qu'ils sont souvent dans l'herbe sur les photos.
Cela montre l'importance du contexte visuel, tout comme le contexte textuel.
Reference and Mapping Vision to Text
Passons au deuxième sujet : la référence. Les modèles distributionnels ne parlent pas de choses spécifiques.
On a une représentation générique de chien, mais comment évaluer la vérité de il y a un chien dans cette pièce ?
L'idée est de voir le vecteur visuel comme représentant le monde et d'apprendre à traduire d'un vecteur visuel vers un vecteur textuel.
Si je peux traduire la représentation visuelle de cette pièce en un vecteur textuel proche de mon vecteur chien, alors c'est vrai.
Nous apprenons une fonction de correspondance (mapping) entre l'espace visuel et l'espace textuel.
C'est un peu comme de la traduction automatique. On apprend à partir d'exemples (ex: image de chat -> vecteur chat).
On utilise la régression linéaire ou des réseaux de neurones.
Une fois entraîné, on peut tester le modèle sur des images d'objets jamais vus.
Si la topographie des espaces est similaire, un chien inconnu sera projeté entre chat et cheval, et on pourra lui donner un nom.
Dans des conditions difficiles, nous faisons mieux que le hasard. Dans le top 50 des voisins textuels sur 10 000, le bon nom apparaît une fois sur trois.
Les erreurs sont intéressantes : pour méduse, on obtient anémone ; pour vache, on obtient bison.
Pour instrument, on obtient sitar. C'est le problème de Gavagai : une image d'instrument est forcément une image d'un instrument spécifique.
Pour baiser, on saisit au moins le thème. Pour participer, le modèle a cru que c'était lié à la nourriture.
D'un point de vue cognitif, est-ce réaliste ? Oui, on peut lire sur des choses (samovars) et les reconnaître plus tard sans en avoir jamais vu.
Mais le plus courant est l'apprentissage simultané du mot et de l'objet, comme le fast mapping chez les enfants.
Exemple : un roman fantastique parle de dwongors maléfiques et de wampimuks poilus. Si je vous montre une image, vous saurez identifier le wampimuk.
Même avec très peu de contexte linguistique (10 phrases), on arrive à apprendre presque aussi bien qu'avec tout le corpus UKWaC.
Nous faisons des tests avec Wikipedia simplifié et le corpus CHILDES. Les erreurs restent sémantiquement cohérentes (scooter pour voiture). Il y a de l'espoir.
(Applaudissements)
Q&A Session
Merci Marco. C'est l'heure des questions. Utilisez les micros dans les allées s'il vous plaît.
Merci pour cet exposé. Avez-vous essayé de modéliser des phrases ou des collocations ?
Nous y travaillons. L'idée est de traduire une image de samovar rouge en un vecteur, puis d'apprendre à le diviser en vecteurs adjectif et nom. C'est complexe car beaucoup d'adjectifs peuvent être vrais pour une image (métal vs rouge). Nous voulons aussi voir comment le sens des adjectifs change selon le nom (feu rouge vs visage rouge).
Merci.
Deux suggestions : utiliser des images populaires de Google avec les mots des liens pour les vecteurs, et mesurer la distance WordNet entre les mots quand vous passez d'un espace à l'autre.
Merci. Nous regardons ImageNet pour des données plus propres. Pour WordNet, l'étude de Frome et al. l'utilise déjà pour montrer que les erreurs sont sémantiquement proches.
Quels sont vos plans à long terme et le produit final visé ?
Je compte sur les progrès de la vision par ordinateur (réseaux de neurones) pour améliorer nos modèles de langage. L'application évidente est la reconnaissance d'objets à grande échelle, sans entraînement supervisé coûteux pour chaque objet. Linguistiquement, je veux répondre aux sémanticiens formels en montrant que nos modèles peuvent capturer le monde réel.
Question philosophique : que pense la sémantique distributionnelle des prédicats (verbes, adjectifs) ? N'obtient-on pas le sens du nom via ses prédicats ?
C'est intéressant. Nous traitons les noms comme des entités et les adjectifs/verbes comme des fonctions opérant sur elles. On a découvert qu'en entraînant le modèle sur les noms, il prédit mieux les adjectifs. Les adjectifs dénotent des ensembles de noms.
Les noms sont plus imageables que les verbes.
Pour les verbes, il faudrait de la vidéo. Certains travaillent sur des graphes d'entités où le sens d'une phrase est l'ensemble des images pour lesquelles elle est vraie.