最近工作中正好遇到文字相似度問題,嘗試了好幾種方法,在這裡稍微總結下吧,也讓自己理解更透徹些。
import numpy as np
def cos_sim(vector_a, vector_b):
vector_a = np.mat(vector_a)
vector_b = np.mat(vector_b)
num = float(vector_a * vector_b.t)
denom = np.linalg.norm(vector_a) * np.linalg.norm(vector_b)
sim = num / denom
return sim
str1="重慶是乙個好地方"
str2="重慶好吃的在**"
str3= "重慶是好地方"
sim1=cosine_similarity(str1,str2)
sim2=cosine_similarity(str1,str3)
print("sim1 :",sim1)
print("sim2:",sim2)
輸出結果為:
2 編輯距離
3 詞移距離(wmd)
4 word2vec
5
余弦相似度的計算方法及在文字相似度方面的應用
源自 余弦計算相似度度量 相似度度量 similarity 即計算個體間的相似程度,相似度度量的值越小,說明個體間相似度越小,相似度的值越大說明個體差異越大。對於多個不同的文字或者短文本對話訊息要來計算他們之間的相似度如何,乙個好的做法就是將這些文字中詞語,對映到向量空間,形成文字中文字和向量資料的...
計算文字相似度
計算文字相似度 推薦2收藏 簡單講解 文字相似度計算在資訊檢索 資料探勘 機器翻譯 文件複製檢測等領域有著廣泛的應用。比如 控制,我們假設你開發了乙個微博 並且已經把世界上罵人的句子都已經收錄進了資料庫,那麼當乙個使用者發微博時會先跟罵人句子的資料庫進行比較,如果符合裡面的句子就不讓使用者發出。通常...
文字相似度計算
一 簡介 文字相似度是進行文字聚類的基礎,和傳統的結構化數值資料的聚類方法相似,文字聚類是通過計算文字之間的 距離 來表示文字之間的相似度,並產生聚類。文字相似度的常用計算反法有餘弦定理。但是文字資料和普通的資料不同,它是一種半結構化的資料,在進行聚類之前必須要對文字資料來源進行處理,如分詞 向量化...