【转载】向量空间模型VSM及余弦计算
向量空間模型VSM及余弦計算
向量空間模型的基本思想是把文檔簡化為以特征項(關鍵詞)的權重為分量的N維向量表示。
這個模型假設詞與詞間不相關(這個前提造成這個模型無法進行語義相關的判斷,向量空間模型的缺點在于關鍵詞之間的線性無關的假說前提),用向量來表示文本,從而簡化了文本中的關鍵詞之間的復雜關系,文檔用十分簡單的向量表示,使得模型具備了可計算性。
在向量空間模型中,文本泛指各種機器可讀的記錄。
用D(Document)表示文本,特征項(Term,用t表示)指出現在文檔D中且能夠代表該文檔內容的基本語言單位,主要是由詞或者短語構成,文本可以用特征項集表示為D(T1,T2,…,Tn),其中Tk是特征項,要求滿足1<=k<=N。
下面是向量空間模型(特指權值向量空間)的解釋。
假設一篇文檔中有a、b、c、d四個特征項,那么這篇文檔就可以表示為
D(a,b,c,d)
對于其它要與之比較的文本,也將遵從這個特征項順序。對含有n個特征項的文本而言,通常會給每個特征項賦予一定的權重表示其重要程度,即
D=D(T1,W1;T2,W2;…,Tn,Wn)
簡記為
D=D(W1,W2,…,Wn)
我們把它叫做文本D的權值向量表示,其中Wk是Tk的權重,1<=k<=N。
在上面那個例子中,假設a、b、c、d的權重分別為30,20,20,10,那么該文本的向量表示為
D(30,20,20,10)
在向量空間模型中,兩個文本D1和D2之間的內容相關度Sim(D1,D2)常用向量之間夾角的余弦值表示,公式為:
其中,W1k、W2k分別表示文本D1和D2第K個特征項的權值,1<=k<=N。
下面是利用模型進行余弦計算的示例。
在自動歸類中,我們可以利用類似的方法來計算待歸類文檔和某類目的相關度。
假設文本D1的特征項為a,b,c,d,權值分別為30,20,20,10,類目C1的特征項為a,c,d,e,權值分別為40,30,20,10,則D1的向量表示為
D1(30,20,20,10,0)
C1的向量表示為
C1(40,0,30,20,10)
則根據上式計算出來的文本D1與類目C1相關度是0.86。
那么0.86具體是怎么推導出來的呢?
在數學當中,n維向量是
V{v1,v2,v3,...,vn}
模為
|v|=sqrt(v1*v1+v2*v2+…+vn*vn)
兩個向量的點積
m*n=n1*m1+n2*m2+......+nn*mn
相似度
sim=(m*n)/(|m|*|n|)
它的物理意義就是兩個向量的空間夾角的余弦數值。
下面是代入公式的過程:
d1*c1=30*40+20*0+20*30+10*20+0*10=2000
|d1|=sqrt(30*30+20*20+20*20+10*10+0*0)=sqrt(1800)
|c1|=sqrt(40*40+0*0+30*30+20*20+10*10)=sqrt(3000)
sim=d1*c1/(|d1|*|c1|)=2000/sqrt(1800*3000)=0.86066
完畢。
總結
以上是生活随笔為你收集整理的【转载】向量空间模型VSM及余弦计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flink批处理
- 下一篇: java核心技术-多线程并发设计原理以及