Я пытаюсь найти косинусное сходство между двумя предложениями неравной длины, используя word2ve c корпус новостей Google, но я получаю сообщение об ошибке: AxisError: axis 1 is out of bounds for array of dimension 1
Ниже приведен мой код:
from gensim.models import KeyedVectors
EMBEDDING_FILE = '/root/input/GoogleNews-vectors-negative300.bin.gz' # from above
word2vec = KeyedVectors.load_word2vec_format(EMBEDDING_FILE, binary=True)
vocab = word2vec.vocab.keys()
wordsInVocab = len(vocab)
import numpy as np
def sent_vectorizer(sent, model):
sent_vec = np.zeros(50)
numw = 0
for w in sent:
try:
vc=model[w]
vc=vc[0:50]
sent_vec = np.add(sent_vec, vc)
numw+=1
except:
pass
return sent_vec / np.sqrt(sent_vec.dot(sent_vec))
a = sent_vectorizer('Football is played in Brazil',word2vec)
b =sent_vectorizer('Cricket is played in India',word2vec)
word2vec.cosine_similarities(b,a)
Я преобразую предложения в векторы, так как cosine_simility принимает векторный массив в качестве входных данных. Как мне решить эту проблему?