Для текстовых документов векторы признаков могут быть очень большими по размеру и разреженными в любом из стандартных представлений (пакет слов или TF-IDF и т. Д.). Измерение расстояний непосредственно при таком представлении может быть ненадежным, поскольку известно, что при очень больших измерениях расстояние между любыми двумя точками начинает выглядеть одинаково. Один из способов справиться с этим - уменьшить размерность данных с помощью PCA или LSA ( скрытый семантический анализ ; также известный как скрытый семантический индекс ) и затем измерить расстояния в новом пространстве. Использование чего-то вроде LSA поверх PCA выгодно, поскольку оно может дать значимое представление в терминах «семантических концепций», помимо измерения расстояний в пространстве более низких измерений.
Сравнение документов, основанных на распределениях вероятности, обычно выполняется сначала путем вычисления тематического распределения каждого документа (используя что-то вроде скрытого распределения Дирихле ), а затем вычисление некоторого расхождения (например, расхождения KL) между тематическими распределениями пары документов. В некотором смысле это на самом деле похоже на выполнение сначала LSA, а затем измерение расстояний в пространстве LSA с использованием KL-дивергенции между векторами (вместо косинусного сходства).
KL-дивергенция - это мера расстояния для сравнения распределений, поэтому она может быть предпочтительнее, если представление документа выражается в некотором распределении (что часто имеет место, например, документы, представленные в виде распределения по темам, как в LDA). Также обратите внимание, что при таком представлении записи в векторе объектов будут суммироваться в единицу (поскольку вы в основном рассматриваете документ как распределение по темам или семантическим понятиям).
Спасибо. LDA требует, чтобы вы знали темы заранее? В нашем случае мы не знаем, к какой теме относится каждый документ, и мы будем использовать меру сходства для выполнения кластеризации (EM-G-Means или GAAC)
@Joel: Нет, LDA не предполагает, что вы заранее знаете темы для каждого документа. Кстати, для ясности, LDA представляет каждый документ как совокупность тем, а не только по одной теме. Таким образом, каждая тема будет вносить свой вклад в некоторую долю в документах (а отдельные фракции составят 1). По сути, LDA предполагает, что каждое слово в документе генерируется определенной темой.
ebony1
@ebony - спасибо! Риск перефразировать вопрос и повторить себя, требует ли LDA, чтобы вы знали количество незаметных тем?
Возможно, вы захотите попробовать этот онлайн-сервис для сходства документов косинуса http://www.scurtu.it/documentSdentifity.html
источник