Python >> Tutoriel Python >  >> Python Tag >> Gensim

Python Calculer la similarité de deux phrases avec Gensim - Tutoriel Gensim

Dans le tutoriel précédent, nous utilisons python difflib bibliothèque pour calculer la similarité de deux phrases, voici le détail.

Python Calculer la similarité de deux phrases - Tutoriel Python

Cependant, nous pouvons également utiliser python gensim bibliothèque pour calculer leur similarité, dans ce tutoriel, nous vous dirons comment faire.

Dans cet exemple, nous allons utiliser gensim pour charger un modèle d'entraînement word2vec afin d'obtenir des incorporations de mots, puis calculer la similarité cosinus de deux phrases.

Importer la bibliothèque

import gensim

Charger le fichier d'intégration word2vec

model = gensim.models.KeyedVectors.load_word2vec_format('yelp-2013-embedding-200d.txt', binary=False)

Nous pouvons obtenir chaque intégration de mots à partir du fichier d'intégrations word2vec dans la phrase, puis nous obtiendrons les incorporations de phrases.

Créer deux phrases

sen_1 = "i love this book"
sen_2 = 'this book is my favorite'

Pour comparer avec la bibliothèque python difflib, nous utilisons deux phrases.

Comment obtenir des représentations vectorielles ?

Dans cet exemple, nous allons faire la moyenne de chaque mot incorporé dans une phrase pour obtenir des incorporations de phrase.

Avis : C'est une méthode simple, mais pas bonne. Parce que chaque mot peut apporter une sémantique différente dans la phrase.

Calculer la similarité cosinus de deux phrases

sen_1_words = [w for w in sen_1.split() if w in model.vocab]
sen_2_words = [w for w in sen_2.split() if w in model.vocab]

sim = model.n_similarity(sen_1_words, sen_2_words)
print(sim)

Tout d'abord, nous divisons une phrase en une liste de mots, puis calculons leur similarité cosinus. La similarité est :

0.839574928046

Quant à python difflib bibliothèque, la similarité est de :0,75. Cependant, 0,75 <0,839574928046, ce qui signifie que gensim est meilleur que python difflib bibliothèque.

En attendant, si vous voulez calculer la similarité de deux mots avec gensim, vous pouvez lire ce tutoriel.

Python Gensim lit les incorporations de mots Word2Vec et calcule la similarité des mots


Post précédent