использование word2vec.score.sg pair () вызывает ошибку Python — только целые числа ….. целые или логические массивы являются допустимыми индексами

#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