Point de départ, article de Mitchell & Lapata

État de l’art

Sémantique formelle et sémantique lexicale

En sémantique formelle, un engouement renouvelé pour la sémantique lexicale s’est fait sentir récemment avec des travaux comme le Lexique génératif de Pustejovsky [Puj91], étudiant la nature distributive de la compositionnalité du langage naturel ou encore Asher [Ash11]et sa théorie des types. La limite de ces travaux est qu’ils ne sont pas généralisables et applicables à grande échelle. Notre approche combinant sémantique distributionnelle et approche par l’usage, c’est-à-dire ascendante (bottom-up) doit permettre à terme de fournir des informations sur de grandes quantités de données, à partir de celles-ci.

Sémantique distributionnelle

L’hypothèse distributionnelle de Harris [Har54]selon laquelle les mots qui apparaissent dans le même contexte sont sémantiquement semblables a donné lieu à de nombreux travaux dans le domaine de l’extraction sémantique automatique. Par exemple celui de Turney & Pantel [T&P10], développe des algorithmes pour tenter de capturer la sémantique des mots grâce à leur distribution.

Compositionnalité

L’étude de la compositionnalité découle naturellement de ces travaux. Un des premiers articles en la matière est celui de Mitchell & Lapata [M&L08]. Il compare différentes méthodes basées sur les vecteurs, principalement les modèles additifs et multiplicatifs. Ces modèles sont évalués sur une tâche de notation de la similarité entre des groupes verbes-noms. Nous développerons cet article plus tard car il a servi de base de comparaison à notre modèle.
Le modèle de Baroni & Zamparelli [B&Z10] étudie quant à lui les couples adjectif-nom avec l’hypothèse que l’adjectif est une fonction linéaire sur le vecteur du nom qui mène au vecteur adjectif-nom. La transformation linéaire est ainsi une matrice extraite automatiquement d’un corpus à l’aide d’une méthode partielle des moindres carrés qui permet une généralisation et une pondération des données erronées. Coecke & al [CSC10]prennent le parti d’étudier la phrase entière comme un vecteur issu du produit de Kronecker sur les vecteurs de tous les mots la composant. Cette méthode a ensuite été testée par Grefenstette & Sadrzadeh [GSa11]et [GSb11]avec l’idée que les adjectifs et les verbes, éléments multi-dimensionnels, agissent comme les filtres de leurs arguments.

Sens des mots dans leur contexte

Étroitement liés à la compositionnalité, il existe aussi plusieurs travaux sur la sémantique des mots en contexte. Erk & Padó [EPa08]et [EPb09]par exemple ont travaillé sur les « selectional preferences », c’est-à-dire la tendance d’un mot à apparaître en cooccurrence avec des mots de même champ lexical (exemple : l’adjectif délicieuxapparaît très souvent avec des noms du champ lexical de la nourriture). Leur modèle multiplie le vecteur du mot avec un vecteur qui capture l’inverse des selectional preferencesde l’argument. Ce modèle a inspiré les travaux de Thater et al. [TDP09] et [TFP10] qui l’ont étendu aux cooccurrences de second ordre. Enfin, Dinu & Lapata [D&L10]ont développé une méthode où le sens des mots est une distribution de probabilités sur les facteurs latents. Le sens en contexte est donc modélisé comme un changement par rapport à la distribution originale du sens.
Pour résumer, les travaux précédents se sont principalement concentrés sur la compositionnalité modérée d’un verbe sur son complément ou d’un couple adjectif-nom avec des méthodes plus ou moins complexes, mais la plus efficace semble rester la simple multiplication des vecteurs adjectif et nom.

Factorisation de tenseur

La modélisation de la langue naturelle par factorisation de tenseur a été plutôt fructueuse jusqu’à présent. Griesbrecht [Gie10] a notamment décrit une méthode de factorisation de tenseur pour construire un modèle distributionnel sensible à l’ordre des mots. Dans les travaux précédents de mon tuteur de stage, Van De Cruys [VDC10]et [VPK13], un modèle de factorisation de tenseur a été utilisé pour l’induction multi-dimensionnelle des selectional preferenceset la modélisation de la compositionnalité. Ce modèle n’était néanmoins pas encore assez généralisant, d’où la poursuite des recherches durant ce stage.

Réseaux de Neurones

Les réseaux de neurones sont de plus en plus populaires dans le domaine du TAL. Bengio & al [BD+03], Mnih & Hinton [M&H07] et Collobert & Weston [C&W08]les ont utilisés pour la modélisation du langage naturel avec succès. Ils dépassent les difficultés que rencontre la représentation en n-grammes lorsqu’elle est confrontée à des données creuses (sparseness).
Plusieurs chercheurs ont utilisé les réseaux de neurones pour tenter de modéliser la compositionnalité comme Socher & al [SH+12]et Tsubaki & al [TD+13].
Le modèle que le projet Italodisco étudie est un réseau de neurones tenseur ( Neural Tensor Network) qui a notamment été utilisé pour la reconnaissance vocale par Yu & al [YD+13], l’extraction de connaissance par Socher & al [S+a13], et la détection des sentiments par Socher & al [S+b13]. Le modèle utilisé au cours du stage sera détaillé ci-après. Nous n’utilisons pas de tenseurs pour l’instant car il s’agit d’une évaluation préliminaire pour déterminer si le modèle est viable pour notre usage avant que les acteurs du projet Italodisco ne se risquent à l’utiliser avec des tenseurs.

Point de départ, article de Mitchell & Lapata

L’article de référence qui nous a servi de comparaison de résultats sur la tâche de similarité est celui de Mitchell & Lapata [M&L10](« Composition in Distributional Models of Semantics »). Ce dernier nous a fourni un corpus de couples adjectif-nom pour tester notre modèle, une méthode d’évaluation et les résultats d’autres modèles sur cette même tâche afin de pouvoir nous comparer à d’autres.

Compositionnalité

Cet article fait une représentation mathématique des définitions de la compositionnalité en s’appuyant sur un état de l’art relativement fourni. La définition de la compositionnalité qu’il garde est celle de Partee [Par95], c’est à dire que le sens du tout est la fonction du sens de ses parties et de la façon dont ces parties se combinent syntaxiquement, à laquelle ils ajoutent la connaissance paradigmatique qu’apporte le locuteur lorsqu’il émet l’énoncé. Cela donne la représentation suivante oùpest le sens du syntagme, Rest la relation syntaxique entre les parties u et v , etK est le savoir complémentaire du locuteur : p=f (u , v , R , K ) Malgré tout, ils délaissent l’élément K afin de tester ce qui peut déjà être accompli sans la connaissance du contexte d’un point de vue fondamental. Ils avancent néanmoins la piste de l’utilisation de ressources telles que WordNet [Fel98]pour explorer cet aspect.

Corpus

Les syntagmes utilisés pour cette tâche de similarité, à savoir adjectif-nom, nom-nom, et verbe-objet, ont été obtenus à partir du British National Corpus (BNC) parmi les syntagmes les plus récurrents étiquetés par RASP (Briscoe & Carroll [B&C12]). Le défi était de ne pas faire des paires dont la similarité était trop facile à juger pour ne pas trop généraliser, mais pas non plus trop difficiles, de peur de n’avoir qu’une faible entente entre annotateurs et de rendre ainsi le test peu fiable.
Pour les paires très similaires, ont été prises seulement celles qui apparaissant au moins 100 fois dans le BNC (100 millions de mots). Ces paires devaient avoir également la caractéristique qu’en échangeant leurs têtes, la paire apparaissait toujours au moins 100 fois (ex: practical difficulty-economic problem >100 et practical problem-economic difficulty >100). L’hypothèse étant que cette recombinaison gagerait d’une redondance sémantique. Afin d’affiner les résultats, les auteurs de l’article ont utilisé une mesure de similarité basée sur un dictionnaire [Les86] pour classer les paires les plus similaires en fonction des renvois qu’elles se faisaient dans WordNet. Ils ont calculé la similarité entre les deux couples, et la somme de la similarité entre leurs constituants.
Les 36 mieux notés étaient gardés dans la catégorie « hautement similaires », puis ces derniers ont été recombinés entre eux afin de donner les catégories « moyennement similaires » et « peu similaires ». Cette recombinaison avait pour but de discriminer les catégories selon la relation entre les mots et non un choix de vocabulaire différent pour ne pas perdre les annotateurs. On peut s’interroger sur le bien fondé de cette décision car les mots sont placés dans les catégories les uns par rapport aux autres, selon le nombre qu’ils sont dans chacune de ces catégories, et non jugés de façon absolue. Par exemple, les « moyennement similaires » peuvent être des « peu similaires » quand on compare à d’autres couples. Néanmoins, la position se défend et la recherche dans WordNetpermet de pondérer ces possibles erreurs.

Similarité

Afin de comparer leur notes de similarité avec une notation humaine, une expérience a été menée sur 72 participants pour les couples adjectif-nom, 56 pour les couples nom-nom et 76 pour les couples verbe-objet, tous de langue maternelle anglaise et non-spécialistes de linguistique. Parmi ces participants, il y avait 73 femmes et 94 hommes de 17 à 66 ans (moyenne 31 ans). Chaque participant devait attribuer à la totalité des couples une note de similarité allant de 1 à 7. Afin de juger de leur entente, la technique de validation croisée par échantillonnage (n-fold crossvalidation) [W&K91]a été utilisée ainsi que la corrélation de Spearman que nous détaillerons plus loin. Au final les interrogés ont trouvé la tâche très difficile mais ont été relativement constants dans leur notation. La corrélation de Spearman entre la notation calculée et celle des sujets d’étude a donné un résultat de 0,52 ; ce qui sert de point de comparaison aux auteurs de l’article. Le but est de s’approcher du résultat des sujets humains (0,52) et non de la notation exacte calculée. Le meilleur résultat est obtenu par le modèle multiplicatif.

Les réseaux de neurones

Généralités

Un réseau de neurones est un ensemble de fonctions optimisé par des techniques d’apprentissage automatique. On les utilise principalement dans le domaine des statistiques mais pas seulement. Ils fonctionnent sur le principe d’induction depuis les données à l’aide d’un entraînement. Le but initial était d’imiter le fonction du cerveau humain à travers ses neurones et ses synapses, en particulier les capacités d’apprentissage, de mémorisation et de traitement d’informations incomplètes. Chaque processeur du réseau calcule une sortie unique à partir des informations qu’il reçoit en entrée puis les sorties sont mises en commun. C’est une vision extrêmement simplifié du fonctionnement des neurones humains qui reçoivent des signaux de centaines de milliers de synapses à la fois contre une dizaine maximum pour un « neurone » artificiel et la communication entre eux est très complexe. D’abord à la mode, puis laissés de côté, les réseaux de neurones ont connus un renouveau en 1985 avec l’arrivée de la rétropropagation en gradient utilisée notamment dans le modèle de perceptron multicouche toujours utilisé aujourd’hui. Ils sont particulièrement appréciés pour leur capacité de classification et de généralisation. C’est cette dernière qui nous intéresse afin d’induire et de généraliser la compositionnalité entre les membres d’un couple adjectif-nom. Pour être efficace en revanche, un réseau de neurones doit disposer de grandes quantités de données pour ne pas faire de sur-apprentissage sur des données non-représentatives. Il existe plusieurs modèles de réseau de neurones. Celui que nous utilisons est basé sur un autoencodeur. Il s’agit d’un modèle de type « denoising » c’est-à-dire « débruitant » en français. Nous utiliserons le nom anglais faute d’une traduction officielle plus heureuse. Denoising auto-encoder.Le principe d’un autoencodeur (Figure 1) est qu’il apprend grâce à une phase d’entraînement une représentation compressée et distribuée d’un jeu de données (ce qu’on appelle l’encodage) afin notamment d’en réduire la dimension. La forme la plus connue est le perceptron multicouche créé pour pouvoir résoudre des problèmes non linéaires. Il comprend une couche d’entrée à laquelle on applique une fonction pour obtenir une à plusieurs couches cachées auxquelles on applique une fonction pour calculer une couche de sorties, se voulant être la reconstruction de la couche d’entrée.

Outils et librairies

Python 2.7, Anaconda, pickle, SciPy and NumPy

Notre modèle de réseau de neurones a été développé en python 2.7, un langage très utilisé lorsqu’il s’agit de créer des prototypes grâce à la vitesse d’écriture du code et à sa lisibilité. Il existe en outre une très grande variété de bibliothèques qui permettent de tester rapidement si une solution est possible puisqu’il suffit d’importer les fonctions appropriées, comme nous l’avons fait avec le package Anaconda. Voici une présentation des principales bibliothèques utilisées au cours de ce stage.
Les données que nous utilisons sont très lourdes, nous avons donc utilisé le format Pickle qui transforme un objet python en fichier binaire dans un processus de sérialisation. Ces fichiers peuvent alors être reconstruits plus tard. Pour accélérer encore le traitement de ces données, nous avons utilisé Cpickle qui implémente le même algorithme mais en langage C au lieu de Python, ce qui le rend beaucoup plus rapide. Utiliser des matrices nous a également poussés à utiliser SciPy et NumPy. Ces derniers permettent de manipuler aisément des tableaux multidimensionnels, notamment grâce à la fonction « array » de NumPy, et de faire de nombreux calculs pré-codés tels que les manipulations de matrices ou encore la corrélation de Spearman.

Theano

Theano est une bibliothèque Python qui permet de définir, d’optimiser et d’évaluer des expressions mathématiques impliquant des tableaux multi-dimensionnels. Ainsi, la communauté a déjà modélisé de nombreuses fonctions , dont la régression logistiqueutilisée dans le modèle de réseau de neurones que nous désirons utiliser. De plus, un exemple de « denoising autoencoder » est entièrement disponible gratuitement sur lesite de la documentation de Theano.
Ce modèle prend donc les données d’entrée x, et les encode dans la couche cachée ypar une fonction non-linéaire telle que la sigmoïde (s). On pondère à l’aide de paramètres générés aléatoirement qui feront partie des paramètres « appris » (W) avec le deuxième paramètre appelé biais (b) puis leurs doubles W’et b’utilisés lorsqu’on reconstruit la couche de sortie.

Corpus d’entraînement et de test

Corpus

Notre corpus est extrait de Wikipédia. Outre sa particularité d’être très imposant au niveau de la quantité de données, il n’est pratiquement composé que de texte au mode affirmatif, des informations brutes, ce qui nous épargne beaucoup de mauvaises interprétations sémantiques dues à la modalité. De plus, le contenu est entièrement libre et gratuit, ce qui en fait un outil très populaire pour la recherche en traitement automatique des langues. Ce corpus a ensuite été lemmatisé et étiqueté grâce au Stanford NLP pipeline ,un outil programmé en java qui prend en entrée un texte brut, le lemmatise et l’étiquette, même les noms propres, grâce au NER ( name entity recognizer), aussi connu sous le nom de CRF Classifier, qui analyse les chaînes de champs inconnus. Il normalise également les dates et heures et s’utilise avec très peu de lignes de codes. Il possède différentes options d’analyse qu’on peut aisément désactiver ou activer comme l’analyse de sentiment. Cet outil utilise pour l’anglais la liste d’étiquettes appelée « Penn Treebank tag set » [MMS93]et [San90]composée de 36 étiquettes.
Dans le corpus, les mots ont ainsi pu être transformés en indices selon leur fréquence et les adjectifs et les noms ont pu être sélectionnés. L’outil word2vec a ensuite été appliqué afin d’obtenir automatiquement les vecteurs associés à chaque adjectif, nom et couple adjectif-nom.

Word2vec

Word2vec est un outil dont l’algorithme a été écrit par Tomas Mikolov. Nous utilisons l’implémentation dela bibliothèque Gensim créé par Radim Rehurek. Cet outil est fondé sur les sacs-de-mots continus. Cette représentation de texte est basée sur le principe qu’un document est représenté par l’histogramme des occurrences des mots le composant. À chaque mot, on associe sa fréquence dans le document, créant ainsi un vecteur de la même taille que le dictionnaire du document qu’il conviendra de normaliser. Word2vecutilise également les architectures Skip-Grams (voir formule 1) [GA+06] qui fonctionnent comme les n-grammes mais où les tokens adjacents peuvent être « sautés ». Par exemple pour les 2-skips-bigrammes sur la phrase « Insurgents killed in ongoing fighting », on obtiendra : Bi-grams={insurgents killed, killed in, in ongoing, ongoing fighting} 2-skip-bi-grams={insurgents killed, insurgents in, insurgents ongoing, killed in, killed ongoing, killed fighting, in ongoing, in fighting, ongoing fighting} Donc, si on cherche à récupérer les couples adjectif-nom de la phrase « She has gorgeous curly red hair. », on obtiendra les couples « red hair », mais aussi « curly hair » et même « gorgeous hair ».

Modèles et paramètres testés

La première étape de nos expérimentations consistait à faire baisser le résultat de la fonction de coût. Pour cela, nous avons testé différentes valeurs de learning rate, à savoir : 1 ; 0,1 ; 0,01 ; 0,02 et 0,001. On calcule également l’efficacité du modèle avec ces différentes valeurs de learning rate grâce à la corrélation de Spearman. Les valeurs ci-dessus ont été testées avec différentes versions de l’autoencodeur correspondant à deux fonctions non-linéaires différentes permettant de généraliser les résultats.
La première utilisait une fonction d’unité linéaire rectifiée ( rectified linear unit), une méthode de réduction du tenseur par création d’une matrice composée de zéros. On sélectionne le maximum, élément par élément, entre cette matrice de zéros et le résultat du calcul du réseau de neurones afin d’éliminer toutes les valeurs négatives. Avec cette méthode, les résultats de la fonction de coût obtenus variaient de 0,86 à 0,36 et la corrélation de Spearman entre une valeur infinitésimale et 0,25 suivant la valeur de learning rateutilisée.
La deuxième méthode utilisait la fonction sigmoïde, une fonction de régression logistique.
La régression logistique permet de prédire une variable à partir de données. Cette méthode donne des valeurs de prédictions entre 0 et 1. Avec ce modèle, on obtient des résultats de fonction de coût entre 0,86 et 0,23 et une corrélation de Spearman entre 0,09 et 0,44, le meilleur résultat étant obtenu avec le learning ratede 0,01. C’est donc la fonction de sigmoïde avec cette valeur delearning rate qui a été sélectionnée pour être également évaluée par le Mean Reciprocal Rank.

Évaluation et résultats

Dans ce chapitre, nous présentons nos deux méthodes d’évaluation, leurs résultats et les conclusions que nous avons pu en tirer. La première méthode consiste à évaluer les modèles sur une tâche de notation de similarité entre deux couples adjectif-nom et à comparer cette notation à celle qu’ont donné des humains pour ces mêmes couples. La deuxième consiste à reconstruire le vecteur de contexte d’un couple adjectif-nom à partir des vecteurs de contexte de l’adjectif et du nom composant ce couple. Ce vecteur reconstruit est alors comparé aux vecteurs calculés par Word2vecpour voir si celui dont il est le plus proche est bien celui qu’il fallait trouver.

1ère méthode de test : corrélation de Spearman

Nous avons évalué notre modèle sur deux tâches différentes. La première, comme dans l’article de Mitchell & Lapata [M&L10]est une tâche de calcul de similarité. Nous avons récupéré le corpus de notation de l’article et en avons extrait celles des duos de couples adjectif -nom uniquement. Ensuite, en recherchant les vecteurs de chaque adjectif et de chaque nom des duos, par exemple pour le duo [Adj1 Nom1; Adj2 Nom2], notre modèle a calculé les vecteurs adjectif-nom de chaque couple (vAN1 et vAN2), les a normalisé, puis a calculé le cosinus de similarité entre les deux vecteurs. Ce cosinus est ensuite utilisé comme notation de similarité du duo. La corrélation de Spearman a ensuite été calculée entre la liste de nos notations et celle des notateurs humains du corpus afin d’en estimer la proximité malgré le fait que nos notes aillent de -1 à 1 et les leurs de 1 à 7. Cette méthode permet justement de comparer les notations malgré les échelles différentes. Nous avons ensuite calculé les notes de similarités avec les modèles de l’article cités précédemment, à savoir additif, additif pondéré, multiplicatif et le modèle basique puis comparé leur notation à celle des humains avec cette même corrélation. Ainsi, nous avons pu mesurer notre autoencodeur aux modèles existants avec des résultats comparables car obtenus à partir du même corpus.
La corrélation de Spearman (nommée d’après Charles Spearman) est une méthode statistique visant à déterminer si des fonctions sont corrélés.Il existe également la corrélation de Pearson qui s’applique aux relations linéaires. La corrélation de Spearman, elle, s’applique aux relations non-linéaires. Elle est également appelée « corrélation de rang » puisqu’elle observe la différence des rangs entre les individus des deux éléments comparés. On peut ainsi détecter des relations dites « monotones » (croissantes ou décroissantes) qu’elle que soit leurs formes (linéaire, exponentiel, puissance). Le résultat de cette corrélation oscille entre -1 et +1 avec.

 

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières
Introduction
L’entreprise et l’équipe MELODI
Italodisco
Mes tâches
I.Contexte
1.État de l’art
Sémantique formelle et sémantique lexicale
Sémantique distributionnelle
Compositionnalité
Sens des mots dans leur contexte
Factorisation de tenseur
Réseaux de Neurones
2.Point de départ, article de Mitchell & Lapata
Compositionnalité
Modèles comparés
Corpus
Similarité
3.Les réseaux de neurones
Généralités
Denoising auto-encoder
II.Notre système de réseau de neurones
1.Outils et librairies
Python 2.7, Anaconda, pickle, SciPy and NumPy
Theano
2.Corpus d’entraînement et de test
Corpus
Word2vec
3.Modèles et paramètres testés
III.Évaluation et résultats
1.1ère méthode de test : corrélation de Spearman
2.2ème méthode: Mean Reciprocal Rank
3.Analyse
Conclusion
Bilan
Perspectives

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *