#python #gensim #word2vec
#python #gensim #word2vec
Вопрос:
Я пытаюсь реализовать word2vec
на python, чтобы использовать обученную модель пропуска грамма для пары слов. но я не могу определить ошибку:
допустимыми индексами являются только целые числа, срезы (
:
), многоточие (...
), numpy.newaxis (None
) и целочисленные или логические массивы.
Вот код, который я попробовал :
model = Word2Vec.load(r"C:UsersLenovomodelword2vecforlaw.model")
z=gensim.models.word2vec.score_sg_pair(model, "patent", "law")
print(z)
Ответ №1:
Если вам нужна помощь в понимании ошибки, вы должны предоставить полный стек ошибок, который вы видите: со всей информацией о том, где именно произошла ошибка.
Но также score_sg_pair()
метод принимает в качестве слов не строки, а Vocab
объекты, специфичные для модели gensim Word2Vec
, согласно документации на:
https://radimrehurek.com/gensim/models/word2vec.html#gensim.models.word2vec.score_sg_pair
(Эти Vocab
объекты находятся в model.wv.vocab
словаре, обозначаемом строковыми словами.)
Обратите также внимание, что эти методы ‘score’ существуют только для поддержки определенного, несколько своеобразного способа использования модели, более подробно описанного в документе и демонстрационной записной книжке, ссылки на которые приведены в документах для score()
метода:
https://radimrehurek.com/gensim/models/word2vec.html#gensim.models.word2vec.Word2Vec.score