向量空间模型(VSM)在文档相似度计算上的简单介绍
?
向量空間模型(VSM:Vector space model)是最常用的相似度計算模型,在自然語言處理中有著廣泛的應用,這里簡單介紹一下其在進行文檔間相似度計算時的原理。
?
假設共有十個詞:w1,w2,......,w10,而共有三篇文章,d1,d2和d3。統計所得的詞頻表(杜撰的,為了便于演示用法)如下:
?
?
常用的向量空間公式見下圖:
?
?
?
假設計算d1和d2的相似度,那么ai和bi分別表示d1和d2中各個詞的詞頻,我們以Cosine為例:
?
?
?
(得數請讀者自己計算,各個數代表什么從上表中可以輕易看出)
?
為什么叫向量空間模型呢?其實我們可以把每個詞給看成一個維度,而詞的頻率看成其值(有向),即向量,這樣每篇文章的詞及其頻率就構成了一個i維空間圖,兩個文檔的相似度就是兩個空間圖的接近度。假設文章只有兩維的話,那么空間圖就可以畫在一個平面直角坐標系當中,讀者可以假想兩篇只有兩個詞的文章畫圖進行理解。
?
我們看到,上面公式的計算量是很大的,尤其當文檔中詞數量巨大時。那么怎么樣來提高運算的效率呢?我們可以采取降維的方法。其實只要理解了向量空間模型原理,就不難理解降維的概念。所謂降維,就是降低維度。具體到文檔相似度計算,就是減少詞語的數量。常見的可用于降維的詞以功能詞和停用詞為主(如:"的","這"等),事實上,采取降維的策略在很多情況下不僅可以提高效率,還可以提高精度。這也不難理解,比如下面兩句話(可能舉地不是特別恰當,見諒):
這是我的飯。
那是你的飯。
如果把"這"、"那"、"你"、"我"、"是"、"的"都當功能詞處理掉,那么相似度就是100%。如果都不去掉,相似度可能只有60%。而這兩句話的主題顯示是一樣的。
倒排詞頻平滑(Inverse Document Frequency)方法,就是用整個語料中所有詞語的詞頻來調整某篇語料中詞語的權重,可以理解為把某篇內詞語的頻率與全局詞頻相乘后再代入公式(因為相似度是個相對值,所以只要保證它的值落在0和1之間即可)。
這是一個簡單的向量空間模型,實際應用中使用的見《改進向量空間模型》。
?
http://blog.csdn.net/felomeng/archive/2009/03/25/4024078.aspx
總結
以上是生活随笔為你收集整理的向量空间模型(VSM)在文档相似度计算上的简单介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文本向量表示及TFIDF词汇权值
- 下一篇: 你想带一顶什么样的硕士帽(转载)