余弦相似度計算

2021-09-26 22:02:47 字數 1510 閱讀 1751

余弦相似度計算

余弦相似度用向量空間中兩個向量夾角的余弦值作為衡量兩個個體間差異的大小。余弦值越接近1,就表明夾角越接近0度,也就是兩個向量越相似,這就叫"余弦相似性"。

我們知道,對於兩個向量,如果他們之間的夾角越小,那麼我們認為這兩個向量是越相似的。余弦相似性就是利用了這個理論思想。它通過計算兩個向量的夾角的余弦值來衡量向量之間的相似度值。余弦相似性推導公式如下:

【下面舉乙個例子,來說明余弦計算文字相似度】

舉乙個例子來說明,用上述理論計算文字的相似性。為了簡單起見,先從句子著手。

句子a:這只皮靴號碼大了。那只號碼合適

句子b:這只皮靴號碼不小,那只更合適

怎樣計算上面兩句話的相似程度?

基本思路是:如果這兩句話的用詞越相似,它們的內容就應該越相似。因此,可以從詞頻入手,計算它們的相似程度。

第一步,分詞。

句子a:這只/皮靴/號碼/大了。那只/號碼/合適。

句子b:這只/皮靴/號碼/不/小,那只/更/合適。

第二步,列出所有的詞。

這只,皮靴,號碼,大了。那只,合適,不,小,很

第三步,計算詞頻。

句子a:這只1,皮靴1,號碼2,大了1。那只1,合適1,不0,小0,更0

句子b:這只1,皮靴1,號碼1,大了0。那只1,合適1,不1,小1,更1

第四步,寫出詞頻向量。

句子a:(1,1,2,1,1,1,0,0,0)

句子b:(1,1,1,0,1,1,1,1,1)

到這裡,問題就變成了如何計算這兩個向量的相似程度。我們可以把它們想象成空間中的兩條線段,都是從原點([0, 0, …])出發,指向不同的方向。兩條線段之間形成乙個夾角,如果夾角為0度,意味著方向相同、線段重合,這是表示兩個向量代表的文字完全相等;如果夾角為90度,意味著形成直角,方向完全不相似;如果夾角為180度,意味著方向正好相反。因此,我們可以通過夾角的大小,來判斷向量的相似程度。夾角越小,就代表越相似。

使用上面的公式(4)

計算兩個句子向量

句子a:(1,1,2,1,1,1,0,0,0)

和句子b:(1,1,1,0,1,1,1,1,1)的向量余弦值來確定兩個句子的相似度。

計算過程如下:

相似度計算之余弦相似度

一 定義及概念 余弦取值範圍為 1,1 求得兩個向量的夾角,並得出夾角對應的余弦值,此余弦值就可以用來表徵這兩個向量的相似性。夾角越小,趨近於0度,余弦值越接近於1,它們的方向更加吻合,則越相似。當兩個向量的方向完全相反夾角余弦取最小值 1。當余弦值為0時,兩向量正交,夾角為90度。因此可以看出,余...

計算向量相似度 余弦相似度

1.余弦相似度可用來計算兩個向量的相似程度 對於如何計算兩個向量的相似程度問題,可以把這它們想象成空間中的兩條線段,都是從原點 0,0,出發,指向不同的方向。兩條線段之間形成乙個夾角,如果夾角為0度,意味著方向相同 線段重合 如果夾角為90度,意味著形成直角,方向完全不相似 如果夾角為180度,意味...

余弦cos計算相似度

余弦計算相似度度量 相似度度量 similarity 即計算個體間的相似程度,相似度度量的值越小,說明個體間相似度越小,相似度的值越大說明個體差異越大。對於多個不同的文字或者短文本對話訊息要來計算他們之間的相似度如何,乙個好的做法就是將這些文字中詞語,對映到向量空間,形成文字中文字和向量資料的對映關...