Для текстовых документов векторы признаков могут быть очень большими по размеру и разреженными в любом из стандартных представлений (пакет слов или TF-IDF и т. Д.). Измерение расстояний непосредственно при таком представлении может быть ненадежным, поскольку известно, что при очень больших измерениях расстояние между любыми двумя точками начинает выглядеть одинаково. Один из способов справиться с этим - уменьшить размерность данных с помощью PCA или LSA ( скрытый семантический анализ ; также известный как скрытый семантический индекс ) и затем измерить расстояния в новом пространстве. Использование чего-то вроде LSA поверх PCA выгодно, поскольку оно может дать значимое представление в терминах «семантических концепций», помимо измерения расстояний в пространстве более низких измерений.
Сравнение документов, основанных на распределениях вероятности, обычно выполняется сначала путем вычисления тематического распределения каждого документа (используя что-то вроде скрытого распределения Дирихле ), а затем вычисление некоторого расхождения (например, расхождения KL) между тематическими распределениями пары документов. В некотором смысле это на самом деле похоже на выполнение сначала LSA, а затем измерение расстояний в пространстве LSA с использованием KL-дивергенции между векторами (вместо косинусного сходства).
KL-дивергенция - это мера расстояния для сравнения распределений, поэтому она может быть предпочтительнее, если представление документа выражается в некотором распределении (что часто имеет место, например, документы, представленные в виде распределения по темам, как в LDA). Также обратите внимание, что при таком представлении записи в векторе объектов будут суммироваться в единицу (поскольку вы в основном рассматриваете документ как распределение по темам или семантическим понятиям).
Также см. Связанную тему здесь .