文本相似度 之余弦夾角 度量算法

相似度度量(Similarity),即計算個體間的相似程度番官,相似度度量的值越小位衩,說明個體間相似度越小,相似度的值越大說明個體差異越大琼讽。

對于多個不同的文本或者短文本對話消息要來計算他們之間的相似度如何必峰,一個好的做法就是將這些文本中詞語,映射到向量空間钻蹬,形成文本中文字和向量數(shù)據(jù)的映射關(guān)系吼蚁,通過計算幾個或者多個不同的向量的差異的大小,來計算文本的相似度。下面介紹一個詳細(xì)成熟的向量空間余弦相似度方法計算相似度

向量空間余弦相似度(Cosine Similarity)

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

上圖兩個向量a,b的夾角很小可以說a向量和b向量有很高的的相似性,極端情況下能曾,a和b向量完全重合度硝。如下圖:

上圖中:可以認(rèn)為a和b向量是相等的,也即a寿冕,b向量代表的文本是完全相似的蕊程,或者說是相等的。如果a和b向量夾角較大驼唱,或者反方向存捺。


如上圖三: 兩個向量a,b的夾角很大可以說a向量和b向量有很底的的相似性,或者說a和b向量代表的文本基本不相似曙蒸。那么是否可以用兩個向量的夾角大小的函數(shù)值來計算個體的相似度呢捌治?

向量空間余弦相似度理論就是基于上述來計算個體相似度的一種方法。下面做詳細(xì)的推理過程分析纽窟。

直角三角形的余弦計算

直角三角形余弦θ

想到余弦公式肖油,最基本計算方法就是初中的最簡單的計算公式,計算夾角的余弦定值公式為:

直角三角形余弦計算公式

普通三角形的余弦計算

普通三角形的余弦夾角

但是這個是只適用于直角三角形的,而在非直角三角形中,余弦定理的公式是
三角形中邊a和b的夾角 的余弦計算公式為:

普通三角形余弦計算公式

二維向量的余弦計算

在向量表示的三角形中臂港,假設(shè)a向量是(x1, y1)森枪,b向量是(x2, y2),那么可以將余弦定理改寫成下面的形式:


二維向量間的夾角
二維向量余弦計算公式

多維空間余弦夾角計算

擴(kuò)展审孽,如果向量a和b不是二維而是n維县袱,上述余弦的計算法仍然正確。假定a和b是兩個n維向量佑力,a是 式散,b是 ,則a與b的夾角 的余弦等于:

多維空間向量余弦夾角計算公式

文本余弦相似度計算過程

下面舉一個例子打颤,來說明余弦計算文本相似度

舉一個例子來說明暴拄,用上述理論計算文本的相似性。為了簡單起見编饺,先從句子著手乖篷。

句子A

這只皮靴號碼大了。那只號碼合適

句子B

這只皮靴號碼不小透且,那只更合適

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

基本思路是:如果這兩句話的用詞越相似,它們的內(nèi)容就應(yīng)該越相似。因此鲸沮,可以從詞頻入手畅形,計算它們的相似程度。

第一步诉探,分詞日熬。

句子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)

到這里馆匿,問題就變成了如何計算這兩個向量的相似程度。我們可以把它們想象成空間中的兩條線段燥滑,都是從原點(diǎn)([0, 0, ...])出發(fā)甜熔,指向不同的方向。兩條線段之間形成一個夾角突倍,如果夾角為0度腔稀,意味著方向相同、線段重合,這是表示兩個向量代表的文本完全相等羽历;如果夾角為90度焊虏,意味著形成直角,方向完全不相似秕磷;如果夾角為180度诵闭,意味著方向正好相反。因此澎嚣,我們可以通過夾角的大小疏尿,來判斷向量的相似程度。夾角越小易桃,就代表越相似褥琐。

使用上面的多維向量余弦計算公式

計算兩個句子向量

句子A

(1,1晤郑,2敌呈,1贸宏,1,1磕洪,0吭练,0,0)

和句子B

(1析显,1鲫咽,1,0谷异,1分尸,1,1晰绎,1寓落,1)

的向量余弦值來確定兩個句子的相似度。

計算過程如下:

計算結(jié)果中夾角的余弦值為0.81非常接近于1荞下,所以伶选,上面的句子A和句子B是基本相似的

由此,我們就得到了文本相似度計算的處理流程是:

(1)找出兩篇文章的關(guān)鍵詞尖昏;
⊙鏊啊(2)每篇文章各取出若干個關(guān)鍵詞,合并成一個集合抽诉,計算每篇文章對于這個集合中的詞的詞頻
≡纱亍(3)生成兩篇文章各自的詞頻向量;
〖L省(4)計算兩個向量的余弦相似度河绽,值越大就表示越相似。

數(shù)學(xué)公式在線編輯網(wǎng)站:

在線數(shù)學(xué)公式編輯器

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末唉窃,一起剝皮案震驚了整個濱河市耙饰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌纹份,老刑警劉巖苟跪,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蔓涧,居然都是意外死亡件已,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門元暴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來篷扩,“玉大人,你說我怎么就攤上這事昨寞≌巴铮” “怎么了厦滤?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵援岩,是天一觀的道長歼狼。 經(jīng)常有香客問我,道長享怀,這世上最難降的妖魔是什么羽峰? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮添瓷,結(jié)果婚禮上梅屉,老公的妹妹穿的比我還像新娘。我一直安慰自己鳞贷,他們只是感情好坯汤,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著搀愧,像睡著了一般惰聂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咱筛,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天搓幌,我揣著相機(jī)與錄音,去河邊找鬼迅箩。 笑死溉愁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的饲趋。 我是一名探鬼主播拐揭,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼敛惊,長吁一口氣:“原來是場噩夢啊……” “哼彻犁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起忘分,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤爵川,失蹤者是張志新(化名)和其女友劉穎敷鸦,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寝贡,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扒披,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了圃泡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碟案。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖颇蜡,靈堂內(nèi)的尸體忽然破棺而出价说,到底是詐尸還是另有隱情辆亏,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布鳖目,位于F島的核電站扮叨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏领迈。R本人自食惡果不足惜彻磁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望狸捅。 院中可真熱鬧衷蜓,春花似錦、人聲如沸尘喝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朽褪。三九已至置吓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鞍匾,已是汗流浹背交洗。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留橡淑,地道東北人构拳。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像梁棠,于是被迫代替她去往敵國和親置森。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 相似度度量(Similarity)符糊,即計算個體間的相似程度凫海,相似度度量的值越小,說明個體間相似度越小男娄,相似度的值越...
    MiracleJQ閱讀 5,449評論 1 6
  • 原文:http://blog.csdn.net/nishiwodeangel/article/details/12...
    mogu醬閱讀 1,168評論 0 7
  • 轉(zhuǎn)自:http://www.cnblogs.com/heaad/archive/2011/03/08/197773...
    羅田閱讀 1,439評論 0 4
  • 簡介:余弦相似度行贪,即兩物體之間的cos$值,值越大模闲,表示兩物體的相似度越大建瘫。 1、向量空間余弦相似度:即向量空間中...
    __0_0__閱讀 2,141評論 0 0
  • 前面的文章主要從理論的角度介紹了自然語言人機(jī)對話系統(tǒng)所可能涉及到的多個領(lǐng)域的經(jīng)典模型和基礎(chǔ)知識尸折。這篇文章啰脚,甚至之后...
    我偏笑_NSNirvana閱讀 13,881評論 2 64