文字相似度計算

2021-07-14 09:03:57 字數 1074 閱讀 7259

一、簡介

文字相似度是進行文字聚類的基礎,和傳統的結構化數值資料的聚類方法相似,文字聚類是通過計算文字之間的「距離」來表示文字之間的相似度,並產生聚類。文字相似度的常用計算反法有餘弦定理。但是文字資料和普通的資料不同,它是一種半結構化的資料,在進行聚類之前必須要對文字資料來源進行處理,如分詞、向量化表示等,其目的就是使用向量化的數值來表達這些半結構化的文字資料。使其適用於文字分析。

二、tf-idf演算法

在乙份給定的檔案裡,詞頻(term frequency,tf)指的是某乙個給定的詞語在該文字中出現的次數(該次數一般會歸一化處理,以防止它偏向長文字)。

在給定的檔案裡,詞頻

其中,逆向檔案頻數(inverse document frequency,idf)是乙個詞語普遍重要性的度量。某一特定詞語的idf,可以由總檔案數目除以包含該詞語之檔案的數目,再對商求對數。

其中:

d檔案的總數

然後:二、餘弦定理

文字1中出現的字:z1c1,z1c2,z1c3,z1c4……z1cn

它們在文字1中出現的個數:z1n1,z1n2,z1n3……z1nm;文

本2中出現的字:z1c1,z1c2,z1c3,z1c4……z1cn

它們在文字2中出現的個數:z1n1,z1n2,z1n3……z1nm

;那麼相似度為:

三、jaccard similarity

該方法簡單,易實現,實際上就是兩個集合的交集除以兩個集合的並集,所得的就是兩個集合的相似度,直**就是下面的這個圖

例如,有world和could兩個文字,設k為2通過k-shingle拆分以後,分別變成了[wo,or,rl,ld]和[co,ou,ul,ld]那麼他們的特徵矩陣就是

通過特徵矩陣,很容易看出來,兩個文字的相似度是他們公共元素除以所有元素,也就是1/7,也可以把特徵矩陣修改一下,列上面儲存的是該集合中詞語出現的個數,這樣可靠性更高一些

計算文字相似度

計算文字相似度 推薦2收藏 簡單講解 文字相似度計算在資訊檢索 資料探勘 機器翻譯 文件複製檢測等領域有著廣泛的應用。比如 控制,我們假設你開發了乙個微博 並且已經把世界上罵人的句子都已經收錄進了資料庫,那麼當乙個使用者發微博時會先跟罵人句子的資料庫進行比較,如果符合裡面的句子就不讓使用者發出。通常...

計算文字相似度

來自 簡單講解 文字相似度計算在資訊檢索 資料探勘 機器翻譯 文件複製檢測等領域有著廣泛的應用。比如 控制,我們假設你開發了乙個微博 並且已經把世界上罵人的句子都已經收錄進了資料庫,那麼當乙個使用者發微博時會先跟罵人句子的資料庫進行比較,如果符合裡面的句子就不讓使用者發出。通常情況下,很多任務程師就...

計算文字相似度

不僅要考慮語義,還要考慮順序。計算距離的方式 余弦,歐式 1.向量表示 1 distributed representation 最大的貢獻就是讓相關或者相似的詞,在距離上更接近了。2 word2vec模型 通過神經網路機器學習演算法來訓練n gram 語言模型,並在訓練過程中求出word所對應的v...