Сравнение моделей тем в Gensim: LDA против Авторской модели тем - PullRequest
0 голосов
/ 19 декабря 2018

Этот вопрос касается двух разных объектов в теме библиотеки моделирования Gensim для Python.Gensim имеет функцию "diff ()", определенную для объектов типа "LdaModel".Его можно использовать для сравнения тематических моделей между двумя моделями LDA, например:

lda_model_1 = LdaModel() # some initialization, training etc omitted
lda_model_2 = LdaModel() # some initialization, training etc omitted

lda_model_1.diff(lda_model_2)

, где diff () имеет следующую строку документации:

Signature: model_lda.diff(other, distance='kullback_leibler', num_words=100, n_ann_terms=10, diagonal=False, annotation=True, normed=True)
Docstring:
Calculate the difference in topic distributions between two models: `self` and `other`.

Теперь я обучил LDAмодель типа "LdaModel" и модель "Авторская тема" типа "AuthorTopicModel".Последний наследует от "LdaModel".

Теперь при выполнении следующего выдается ошибка:

lda_model = LdaModel() # excluding some init code here 
at_model = AuthorTopicModel  # excluding some init code here 
at_model.diff(lda_model)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-74-cce096e96139> in <module>()
----> 1 at_model.diff(lda_model)

/home/xxx/lib/python3.5/site-packages/gensim/models/ldamodel.py in diff(self, other, distance, num_words, n_ann_terms, diagonal, annotation, normed)
   1428 
   1429         if not isinstance(other, self.__class__):
-> 1430             raise ValueError("The parameter `other` must be of type `{}`".format(self.__name__))
   1431 
   1432         distance_func = distances[distance]

ValueError: The parameter `other` must be of type `LdaModel`

... в то время как она работает наоборот:

lda_model.diff(at_model)

Теперь мой вопросдействительно ли Gensim производит значимый вывод для "diff" между LDA и авторскими моделями тем?Я не знаю о внутренних представлениях этих моделей, меня интересует, приводит ли приведенный выше код к значимым различиям или нет, обеспечивая правильное распределение между темами между двумя типами моделей.

...