** Pourquoi la représentation distribuée des mots est-elle importante pour le traitement du langage naturel? ** **
Si vous lisez cet article, vous connaissez peut-être ** Word2vec ** (Mikolov et al., 2013). Word2vec vous permet d'effectuer des opérations comme si vous capturiez la signification d'un mot. Par exemple, c'est un exemple célèbre que la reine est obtenue en soustrayant l'homme du roi et en ajoutant la femme (roi - homme + femme = reine).
from https://www.tensorflow.org/get_started/embedding_vizEn fait, à l'intérieur de cela, les mots sont exprimés par un vecteur d'environ 200 dimensions appelé ** expression distribuée ** (ou expression intégrée), et les vecteurs sont ajoutés et soustraits. On pense que les caractéristiques de chaque mot sont stockées à l'intérieur de ce vecteur à 200 dimensions. Par conséquent, l'ajout et la soustraction de vecteurs peuvent donner des résultats significatifs.
** La représentation distribuée des mots est une technique importante qui est couramment utilisée dans le traitement du langage naturel d'aujourd'hui. ** Récemment, un grand nombre de modèles basés sur des réseaux neuronaux (NN) ont été proposés dans l'étude du traitement du langage naturel. Ces modèles basés sur NN utilisent souvent des représentations distribuées de mots en entrée.
Dans cet article, j'expliquerai "** Pourquoi l'expression distribuée de mots est-elle importante pour le traitement du langage naturel? **". Le flux d'explication consiste d'abord à expliquer brièvement l'expression distribuée des mots et à partager la compréhension. Ensuite, j'expliquerai pourquoi le thème principal, la représentation distribuée des mots, est important pour le traitement du langage naturel. Enfin, j'expliquerai les enjeux des expressions distribuées.
Ici, nous allons donner une brève explication dans le but de comprendre l '** expression distribuée ** des mots. Nous discuterons également de l '** expression unique ** des mots à comparer pour illustrer leurs avantages. Quant au déroulement de l'histoire, après avoir expliqué l'expression one-hot et ses problèmes, nous passerons à l'explication de l'expression distribuée.
La première façon possible de représenter un mot sous forme de vecteur est la représentation one-hot. Une expression one-hot est une méthode dans laquelle un seul élément est 1 et les autres éléments sont 0. En définissant 1 ou 0 pour chaque dimension, "qu'il s'agisse ou non du mot" est indiqué.
Par exemple, disons que l'expression one-hot représente le mot python. Ici, le vocabulaire qui est un ensemble de mots est de 5 mots (nlp, python, word, ruby, one-hot). Ensuite, le vecteur représentant python sera le suivant.
La représentation one-hot est simple, mais elle a la faiblesse que vous ne pouvez pas obtenir de résultats significatifs avec des opérations entre vecteurs. Par exemple, disons que vous prenez le produit interne pour calculer la similitude entre les mots. Dans l'expression one-hot, différents mots ont des 1 à différents endroits et d'autres éléments sont 0, donc le résultat de la prise du produit interne entre différents mots est 0. Ce n'est pas le résultat souhaité. De plus, puisqu'une dimension est attribuée à un mot, elle devient de très grande dimension à mesure que le nombre de vocabulaire augmente.
Les représentations distribuées, en revanche, représentent les mots comme des vecteurs à valeur réelle de faible dimension. Il est souvent exprimé dans environ 50 à 300 dimensions. Par exemple, les mots mentionnés précédemment peuvent être exprimés comme suit dans une expression distribuée.
Vous pouvez résoudre le problème de l'expression one-hot en utilisant l'expression distribuée. Par exemple, vous pourrez calculer la similitude entre les mots en effectuant des opérations entre les vecteurs. En regardant le vecteur ci-dessus, la similitude entre python et ruby est probablement plus élevée que la similitude entre python et word. De plus, même si le nombre de vocabulaire augmente, il n'est pas nécessaire d'augmenter le nombre de dimensions de chaque mot.
Cette section décrit l'importance de la représentation distribuée des mots dans le traitement du langage naturel. En ce qui concerne le déroulement de l'histoire, après avoir parlé de l'entrée dans la tâche de traitement du langage naturel, nous parlerons de l'utilisation de l'expression distribuée comme entrée. Et je parlerai de la façon dont cette représentation distribuée affecte la performance des tâches.
Il existe diverses tâches dans le traitement du langage naturel, mais de nombreuses tâches donnent une chaîne de mots en entrée. Plus précisément, pour la classification des documents, entrez un ensemble de mots contenus dans le document. Le balisage partiel donne une chaîne de mots séparée, et la reconnaissance de l'expression propre donne également une chaîne de mots divisée. L'image est la suivante.
Dans le traitement moderne du langage naturel, les réseaux neuronaux sont souvent utilisés, mais les chaînes de mots sont souvent données en entrée. C'est aussi un mot à saisir dans le RNN qui est couramment utilisé dans le passé, et il arrive souvent que l'entrée du modèle utilisant le CNN, qui a récemment attiré l'attention, soit également entrée au niveau du mot. L'image est la suivante.
En fait, nous utilisons souvent des expressions distribuées comme expressions de mots donnés à ces réseaux de neurones [^ 1]. Il est basé sur l'espoir que l'utilisation d'expressions qui saisissent mieux la signification des mots en entrée améliorera également les performances des tâches. Il est également possible d'utiliser une représentation distribuée apprise avec une grande quantité de données non étiquetées comme valeur initiale du réseau et de la régler avec une petite quantité de données étiquetées.
Cette représentation distribuée est importante car elle affecte les performances de la tâche. Il a également été rapporté pour améliorer les performances par rapport à la non-utilisation de la représentation distribuée [2]. Comme vous pouvez le voir, la représentation distribuée des mots est importante car elle est souvent utilisée comme entrée pour de nombreuses tâches et a un effet considérable sur les performances.
Il n'est pas vrai que la représentation distribuée des mots soit une solution miracle dans le traitement du langage naturel. À la suite de nombreuses études, on sait qu'il existe divers problèmes. Ici, je vais en présenter deux.
Le premier problème à résoudre est que même de bons résultats dans l'ensemble de données d'évaluation n'améliorent pas les performances plus que ce que vous vous attendez à utiliser dans une tâche réelle (comme la classification de documents). En premier lieu, la façon dont l'expression distribuée des mots est évaluée est souvent évaluée par le degré de corrélation avec l'ensemble d'évaluation de la similitude des mots créée par les humains (Schnabel, Tobias, et al, 2015). En d'autres termes, l'utilisation de la représentation distribuée obtenue à partir d'un modèle qui peut produire des résultats en corrélation avec l'évaluation humaine des tâches réelles n'améliore pas les performances.
La raison en est que la plupart des ensembles de données d'évaluation ne font pas de distinction entre la similitude des mots et la pertinence. La similitude et la pertinence des mots sont, par exemple, que (homme, homme) sont similaires et (ordinateur, clavier) sont liés mais pas similaires. Il a été rapporté que les ensembles de données distinctifs ont une corrélation de performance positive avec la tâche réelle (Chiu, Billy, Anna Korhonen et Sampo Pyysalo, 2016).
En conséquence, des tentatives sont actuellement en cours pour créer des ensembles de données d'évaluation qui correspondent aux tâches réelles (Oded Avraham, Yoav Goldberg, 2016). Nous essayons de résoudre deux problèmes qui existent dans les ensembles de données existants (la similitude des mots et la pertinence ne sont pas distinguées, les notes d'annotation varient selon les évaluateurs).
En plus de créer des ensembles de données d'évaluation, des recherches ont été menées pour évaluer les représentations distribuées afin que les tâches réelles puissent être facilement évaluées (Nayak, Neha, Gabor Angeli et Christopher D. Manning, 2016). On s'attend à ce que cela facilite la vérification de l'efficacité de l'expression distribuée apprise pour les tâches proches de la tâche que vous souhaitez réellement effectuer.
Personnellement, j'espère qu'en évaluant avec de nouveaux ensembles de données et de nouvelles tâches, le modèle précédemment enterré sera revu.
Le deuxième problème est que les expressions distribuées actuelles ne prennent pas en compte l'ambiguïté des mots. Les mots ont de nombreuses significations. Par exemple, le mot «banque» a le sens de «banque» en plus du sens de «banque». De cette façon, il y a une limite à l'expression avec un vecteur sans tenir compte de l'ambiguïté des mots.
Pour résoudre ce problème, plusieurs méthodes d'apprentissage des expressions pour chaque sens ont été proposées [5] [6] [7] [8]. Chez SENSE EMBED, nous apprenons des expressions pour chaque sens en éliminant l'ambiguïté de la signification des mots. À la suite de l'apprentissage d'expressions pour chaque signification de mot, il est rapporté que la performance dans l'évaluation de la similitude des mots s'est améliorée.
Le référentiel suivant contient des informations sur les représentations distribuées de mots et de phrases, les vecteurs appris et les implémentations Python. awesome-embedding-models
Ce sera encourageant si vous pouvez ajouter une étoile m (_ _) m
L'expression distribuée des mots est un domaine intéressant qui est activement étudié. J'espère que cet article vous aidera à comprendre.
Le compte Twitter suivant fournit des informations faciles à comprendre sur les derniers articles sur ** Machine Learning / Natural Language Processing / Computer Vision **. Nous attendons que vous nous suiviez car nous fournissons un contenu intéressant pour ceux qui liront cet article. @arXivTimes
Je tweet également des informations sur l'apprentissage automatique et le traitement du langage naturel dans mon compte, alors j'aimerais avoir des nouvelles de toute personne intéressée par ce domaine. @Hironsan
[^ 1]: En fait, après avoir donné une expression one-hot, il est converti en expression distribuée.