當下較常用的相似度計算大致分為兩類:
一、主題模型:
代表方式: lsa/lsi、nmf、lda、word2vec等。
描述:這類演算法可算作最簡單的機器學習,對於基礎文件進行主題過濾,計算出主題和詞語、主題和文件的關聯性,對於文件中語義的判定提供支援。
二、特徵向量+距離演算法
代表方式:simhash+漢明距離、余弦相似性、jaccard相似性係數等。
描述:此類演算法先對文件進行分詞,根據詞頻等權重量,將詞語抽象為空間向量,對其偏移進行計算,以作為相似性依據。
三、最終選擇
余弦相似性演算法。
一、分詞方案
二、儲存方案三、匹配方案一、相關技術
分詞:jieba
key-value:redis
二、檔案分析專案改動點
對於解析完成後的檔案內容,進行【分詞方案】、【儲存方案】、【匹配方案】的操作,並將結果存入file_similar表。
新增file_similar表,表結構:
字段型別
說明id
long
主鍵md5
varchar (128)
被對比檔案md5
md5_compare
varchar (128)
歷史檔案中篩選出的檔案md5
similar_flag
varchar (1)
相似判定標誌(1:是,0:否)
similarity
varchar (10)
相似度
相似性度量
二元向量的相似性度量 每一維都少的資訊量,主要是0,1等有 or 沒有屬性 dice 2 x y x y 2保證 0,1 維數不一致時,差別大。jaccard x y x y 交疊程度小時,值較低 交疊係數 x y min 互相之間的包含性,1 cosine x y 根號 x y 對於實值 只有co...
資料相似性
首先模擬一些資料出來 假設有這樣一些id是1 5的條目,然後有幾個人對他們看過的條目進行了評分 1 5 那麼我們可能有這樣的一組資料,格式是 人名 a b c 給定兩個人,如何計算他們的相似度,比如,在b和c裡,誰和a的評分最相似?給出一些方法 1 簡單匹配係數 matching coefficie...
相似性度量
一般而言,定義乙個距離函式d x,y 需要滿足以下幾個準則 1.d x,x 0 到自己的距離為0 2.d x,y 0 距離要非負 3.對稱性,d x,y d y,x 如果a到b距離是a,那麼b到a的距離也應該是a 4.三角形法則 兩個之和大於第三邊 d x,k d k,y d x,y 滿足這4個條件...