Java 對比兩字串的相似度

2021-08-25 23:33:39 字數 960 閱讀 5307

* 編輯距離演算法,首先由**科學家levenshtein提出的,又叫levenshtein distance

* 主要用來計算從原串(s)轉換到目標串(t)所需要的最少的插入,刪除和替換的數目,

* 在nlp中應用比較廣泛,同時也常用來計算你對原文所作的改動數

public class levenshtein else {

temp = 1;

// 左邊+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) {

return (one = one < two ? one : two) < three ? one : three;

* 獲取兩字串的相似度

* @param str

* @param target

* @return

public float getsimilarityratio(string str, string target) {

return 1 - (float) compare(str, target)

/ math.max(str.length(), target.length());

public static void main(string args) {

levenshtein lt = new levenshtein();

string str = "abcdef";

string target = "fecdba";

system.out.println("similarityratio="

+ lt.getsimilarityratio(str, target));

python字串相似度對比

import difflib def string similar s1,s2 return difflib.sequencematcher none,s1,s2 quick ratio print string similar 愛爾眼科滬濱醫院 滬濱愛爾眼科醫院 print string simi...

java字串相似度演算法

按順序匹配的,如下 判斷兩個字串相似度,可設定level param strsource 原字串 param strcompared 比較字串 param level 評分閥值 param morecount 比較字串比原字串多多少個限制 return public staticboolean is...

Java字串相似度匹配

原文 package com.xfl.boot.common.utils created by xfl time on 2018 11 16 0 10 description public class similarityutils param str1 param str2 public stat...