Эффективное обращение к объекту сходства gensim с 2d массивом (документ по сравнению со всеми другими документами) - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть список документов (corpus).Каждый документ сравнивался с любым другим документом в списке с использованием TFIDF и LSI, и был возвращен объект сходства gensim:

dictionary = corpora.Dictionary(corpus)
corpus_gensim = [dictionary.doc2bow(doc) for doc in corpus]
tfidf = TfidfModel(corpus_gensim)
corpus_tfidf = tfidf[corpus_gensim]
lsi = LsiModel(corpus_tfidf, id2word=dictionary, num_topics=200)
lsi_index = Similarity('shard_suffix',lsi[corpus_tfidf],len(dictionary))

Как получить объект сходства lsi_index в состояние, в котором я могузапросить его, как двумерный массив, не покрывая его двумерным массивом?

Что-то вроде ..

value = lsi_index[0,1]

... если бы я хотел получить значение косинусного сходства для документа с индексом 0 по сравнению с документом с индексом 1.

IЯ понимаю, что я мог бы выполнить следующее, чтобы заставить работать вышеупомянутую операцию запроса,

lsi_index = np.array(lsi_index)

, но возвращаемый массив с плотным массивом приводит к нехватке памяти на моем устройстве.

Я такжехочу избежать зацикливания объекта сходства.Похоже, что я должен иметь возможность запрашивать объект по своему усмотрению, не делая этого, так как лежащая в основе структура выглядит как двумерный массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...