2017-08-04 4 views
1

En comparant les mesures de similarité wordnet pour voir qui est le plus pertinent/utile à mon corpus - est venu à travers ce message d'erreur lorsque vous essayez de calculer LST -Similarité LCH - Besoin du même point de vente? Python

« Le calcul de la similitude LST nécessite synset ('home'.n.01) et Synset ('chronological.a.01') pour avoir la même partie du discours. " Est-ce que je dois normaliser tous les mots dans ma liste pour être le même point de vente avant d'essayer lch? Pour référence, j'ai pu calculer wup_similarity avec succès sans aucune normalisation POS. La liste des mots que j'essaie de calculer la similarité ont tous été lemmatisés en utilisant WordNetLemmatizer.

Répondre

0

Vous ne pouvez pas résoudre ce problème en changeant une partie du discours, car tous les mots ne peuvent faire partie du discours. "chronologique" ne peut pas être un nom, par exemple. Une approche consiste à attraper des exceptions comme celle-ci, ou à vérifier les différentes parties de la parole, et d'attribuer une similitude de 0. WordNet gère également parfois cela en simulant une racine partagée à travers différentes parties du discours, ce qui est probablement la raison pour laquelle certaines de vos mesures de similarité ont fonctionné. Cependant, la façon dont fonctionne is confusing, donc vous ne devriez probablement pas compter dessus.

Si vous voulez une similarité pour des mots arbitraires, essayez d'utiliser des vecteurs de mots (Word2Vec ou GloVe) au lieu de WordNet.

+0

Va vérifier les deux, merci! – Ksofiac