Получить все похожие документы с doc2vec - PullRequest
0 голосов
/ 07 мая 2019

Я на самом деле работаю с doc2vec из библиотеки gensim, и я хочу получить все сходства с вероятностями, а не только 10 лучших сходств, предоставляемых model.docvecs.most_similar()

Как только моя модель обучена

In [1]: print(model)
Out [1]: Doc2vec(...)

Если я использую model.docvecs.most_similar(), я получаю только 10 лучших похожих документов

In [2]: model.docvecs.most_similar('1')
Out [2]: [('2007', 0.9171321988105774),
 ('606', 0.5638039708137512),
 ('2578', 0.530228853225708),
 ('4506', 0.5193327069282532),
 ('2550', 0.5178008675575256),
 ('4620', 0.5098666548728943),
 ('1296', 0.5071642994880676),
 ('3943', 0.5070815086364746),
 ('438', 0.5057751536369324),
 ('1922', 0.5048809051513672)]

И я надеюсь получить все вероятности, а не только 10 лучших для некоторого анализа.

Спасибо за вашу помощь :)

1 Ответ

1 голос
/ 08 мая 2019

most_similar() принимает необязательный параметр topn со значением по умолчанию 10, что означает, что будут возвращены только первые 10 результатов.

Если указать другое целое число, например общее числоиз док-векторов, известных модели, то будет предоставлено много отсортированных результатов.

(Вы также можете указать Python None, который возвращает все сходства несортированные в том же порядке, в котором векторы хранятся в модели.)

Обратите внимание на этизначения косинус сходства , с диапазоном значений от -1,0 до 1,0, не 'вероятности'.

...