Можно ли рассчитать сходство документов для каждого документа в корпусе LDA? - PullRequest
1 голос
/ 24 февраля 2020

Я рассматриваю эту записную книжку о LDA и сходстве документов:

https://www.kaggle.com/ktattan/lda-and-document-similarity

В этой записной книжке вычисляется сходство документов для небольшого набора документов однако я хочу вычислить сходство для всего корпуса.

Вместо использования test_df, как в Блокноте:

new_bow = dictionary.doc2bow(test_df.iloc[random_article_index,7])
new_doc_distribution = np.array([tup[1] for tup in lda.get_document_topics(bow=new_bow)])

Я хочу использовать train_df:

new_bow= [id2word.doc2bow(doc) for doc in train_df['tokenized']]
new_doc_distribution = np.array([[tup[1] for tup in lst] for lst in model.get_document_topics(bow=new_bow)])

Однако это не работает. Я предполагаю, что это невозможно, поскольку списки, используемые для создания массива numpy (в данном случае tup [1]), не имеют одинаковую длину. Поэтому невозможно создать правильный массив, необходимый для вычисления расхождения Дженсена.

Может ли кто-нибудь более опытный, чем я, сказать мне, возможно ли то, что я пытаюсь?

...