Ma question peut être stupide. Je m'excuse donc à l'avance.
J'essayais d'utiliser le modèle GLOVE pré-formé par Stanford NLP group ( lien ). Cependant, j'ai remarqué que mes résultats de similitude montraient des chiffres négatifs.
Cela m'a immédiatement incité à regarder le fichier de données mot-vecteur. Apparemment, les valeurs dans les vecteurs de mots pouvaient être négatives. Cela explique pourquoi j'ai vu des similitudes de cosinus négatives.
Je suis habitué au concept de similitude en cosinus des vecteurs de fréquence, dont les valeurs sont limitées dans [0, 1]. Je sais pertinemment que le produit scalaire et la fonction cosinus peuvent être positifs ou négatifs, selon l'angle entre le vecteur. Mais j'ai vraiment du mal à comprendre et à interpréter cette similitude cosinus négative.
Par exemple, si j'ai une paire de mots donnant une similitude de -0,1, sont-ils moins similaires qu'une autre paire dont la similitude est de 0,05? Que diriez-vous de comparer la similitude de -0,9 à 0,8?
Ou devrais-je simplement regarder la valeur absolue de la différence d'angle minimale par rapport à ? Valeur absolue des scores?
Merci beaucoup.
An angular-type similarity coefficient between two vectors. It is like correlation, only without centering the vectors.
La seule différence entre les deux est que dans la corrélation, les écarts (moments) - qui sont multipliés croisés - sont de la moyenne, tandis que dans le cosinus les écarts sont du 0 d'origine - c'est-à-dire qu'ils sont les valeurs telles qu'elles sont .Réponses:
Soit deux vecteurs et , l'angle est obtenu par le produit scalaire et la norme des vecteurs:a b θ
Étant donné que la valeur situe dans la plage :cos(θ) [−1,1]
Exemple : Soit deux utilisateurs et , et la similitude entre ces deux utilisateurs selon leur goût pour les films:U1 U2 sim(U1,U2)
la source
N'utilisez pas les valeurs absolues, car le signe négatif n'est pas arbitraire. Pour acquérir une valeur cosinus entre 0 et 1, vous devez utiliser la fonction cosinus suivante:
(Code R)
(Code Python)
la source
La similitude des cosinus est similaire à la corrélation de Pearson, mais sans soustraire les moyennes. Vous pouvez donc comparer la force relative de 2 similitudes de cosinus en examinant les valeurs absolues, tout comme vous compareriez les valeurs absolues de 2 corrélations de Pearson.
la source
Il est vrai que la similitude en cosinus entre les vecteurs de fréquence ne peut pas être négative car le nombre de mots ne peut pas être négatif, mais avec des incorporations de mots (comme un gant), vous pouvez avoir des valeurs négatives.
Une vue simplifiée de la construction d'incorporation de mots est la suivante: vous affectez chaque mot à un vecteur aléatoire dans R ^ d. Exécutez ensuite un optimiseur qui essaie de rapprocher deux vecteurs similaires v1 et v2 l'un de l'autre ou de séparer deux vecteurs différents v3 et v4 (selon une certaine distance, disons cosinus). Vous exécutez cette optimisation pour suffisamment d'itérations et à la fin, vous avez des incorporations de mots avec le seul critère que les mots similaires ont des vecteurs plus proches et des vecteurs différents sont plus éloignés. Le résultat final peut vous laisser avec certaines valeurs de dimension négatives et certaines paires ayant une similitude cosinus négative - simplement parce que le processus d'optimisation ne s'est pas soucié de ce critère. Il peut avoir poussé certains vecteurs bien dans les valeurs négatives. Les dimensions des vecteurs ne correspondent pas au nombre de mots,
la source