Как сравнить тематическое сходство между двумя документами в Python Gensim и их темами? - PullRequest
1 голос
/ 22 марта 2019

Я тренировал модель LDA на корпусе с использованием Gensim.Теперь, когда у меня есть распределение тем для каждого документа, как я могу сравнить, насколько похожи два документа в темах?Я хотел бы иметь сводную меру.Например, ниже приведены тематические рассылки двух документов.Всего 75 тем.Для краткости я показываю только первые 10 тем с наибольшей вероятностью (поэтому темы не в порядке).(40, 0,5523168) означает, что тема № 40 имеет вероятность 0,5523168 для DOC # 1.Должен ли я рассчитать евклидово или косинусное расстояние между двумя векторами?И, используя эту сводную меру, могу ли я сказать, что, например, DOC 1 больше похож на DOC2, чем на DOC3, или DOC1 и DOC 2 больше похожи друг на друга, чем DOC 3 и DOC 4 тематически?Спасибо!

DOC #1:
[(40, 0.5523168), (60, 0.12225048), (43, 0.07556598), (41, 0.065885976), 
(22, 0.05838573), (24, 0.044774733), (74, 0.019839266), (65, 0.019544959), 
(51, 0.015470431), (36, 0.013449047)]


DOC #2:
[(73, 0.58864516), (41, 0.16827711), (51, 0.09783472), (63, 0.06510383), 
(24, 0.04722658), (32, 0.014467965), (44, 0.012267662), (47, 0.0031533625), 
(18, 0.0022214972), (0, 1.2154361e-05)]

1 Ответ

1 голос
/ 14 апреля 2019

Функциональность Генсима

Gensim предоставляет функциональность similarities.docsim - для "вычисления сходства между коллекцией документов в модели векторного пространства". Вы можете посмотреть документацию здесь, также есть учебник здесь для запросов на сходство.

Меры сходства документов

Использование евклидовых расстояний было бы редким выбором - вы могли бы, но есть потенциальные проблемы. Вы можете использовать косинусное сходство (ссылка на урок по питону) - здесь берется косинус угла двух векторов документа, что дает преимущество в простоте понимания (1 = документы абсолютно одинаковы, до -1 = документы не имеют никакого сходства вообще) и да, вы можете сравнить косинусное сходство документов 1 и 2 и сравнить его с таковым в документах 3 и 4 или рассчитать значения сходства doc1 с doc2 и doc1 и doc3 и сравнить их , Здесь есть хороший хороший учебник.

Вы также можете найти мой ответ на этот вопрос в CrossValidated информативным, даже если ваш вопрос несколько отличается.

Gensim также имеет другие метрики расстояния . Все они в основном включены в matutils.

Дженсима.

Местные расстояния

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

...