Information-Retrieval

測量文檔相似度

  • September 8, 2010

要對(文本)文檔進行聚類,您需要一種測量文檔對之間相似性的方法。

兩種選擇是:

  1. **使用餘弦相似度**將文檔作為術語向量進行比較- 並將 TF/IDF 作為術語的權重。
  2. 使用 f 散度比較每個文檔的概率分佈,例如**Kullback-Leibler 散度**

是否有任何直觀的理由比另一種方法更喜歡一種方法(假設平均文檔大小為 100 個術語)?

對於文本文檔,特徵向量在任何標準表示(詞袋或 TF-IDF 等)下都可以是非常高維和稀疏的。直接在這種表示下測量距離可能不可靠,因為眾所周知的事實是,在非常高的維度上,任何兩點之間的距離開始看起來相同。解決這個問題的一種方法是通過使用PCA或 LSA(潛在語義分析;也稱為潛在語義索引)來降低數據維度,然後測量新空間中的距離。在 PCA 上使用 LSA 之類的東西是有利的,因為它可以在“語義概念”方面給出有意義的表示,除了在低維空間中測量距離。

基於概率分佈比較文檔通常是通過首先計算每個文檔的主題分佈(使用類似潛在狄利克雷分配的方法),然後計算一對文檔的主題分佈之間的某種散度(例如,KL 散度)。在某種程度上,它實際上有點類似於先進行 LSA,然後使用向量之間的 KL 散度(而不是餘弦相似度)測量 LSA 空間中的距離。

KL-divergence 是一種用於比較分佈的距離度量,因此如果文檔表示是根據某種分佈(實際上通常是這種情況——例如,文檔表示為主題上的分佈,如在 LDA 中),它可能會更可取。另請注意,在這種表示下,特徵向量中的條目總和為 1(因為您基本上將文檔視為主題或語義概念的分佈)。

另請參閱此處的相關線程

引用自:https://stats.stackexchange.com/questions/2476

comments powered by Disqus

相關問答