Java中計算漢字相似度

2021-09-25 04:18:12 字數 876 閱讀 5810

編輯距離,又稱levenshtein距離,是指兩個字串之間,由乙個轉成另乙個所需的最少編輯操作次數。許可的編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字元。

例如將kitten一字轉成sitting:

sitten (k→s)

sittin (e→i)

sitting (→g)

俄羅斯科學家vladimir levenshtein在2023年提出這個概念

//**是網上找的,適用了下感覺還不錯,值得試一試

public class test1   

if (m == 0)

d = new int[n + 1][m + 1];

for (i = 0; i <= n; i++)

for (j = 0; j <= m; j++)

for (i = 1; i <= n; i++) else

// 左邊+1,上邊+1, 左上角+temp取最小

d[i][j] = min(d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + temp);}}

return d[n][m];

}private int min(int one, int two, int three)

/*** 獲取兩字串的相似度

* * @param str

* @param target

* * @return

*/public float getsimilarityratio(string str, string target)

public static void main(string args)

}

相似度計算

從多個維度分析兩組資料的相似度,比如大的文字使用word2vec轉成向量,類別根據最大的類別數量n拆成n維0或1表示的vector,數值型別歸一化之後表示乙個維度,然後根據cos l1 l2等方式計算相似度 可以用於推薦系統 協同過濾等演算法 注意double值的精度處理 將向量根據座標值,繪製到向...

相似度計算

author wepon blog machine learning in action 筆記,相似度計算,基於python numpy。假如我們希望相似度的值在0 1之間,並且越相似,值越大,有哪些辦法?1 計算歐式距離,然後根據 相似度 1 1 距離 計算相似度。2 皮爾遜相關係數,在numpy...

相似度計算之余弦相似度

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