时时商务社区
标题:
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
[打印本页]
作者:
wx_pylelnL4
时间:
2018-2-14 05:53
similar_text()中文汉字版
[U]复制代码[/U] 代码如下:
levenshtein()中文汉字版
[U]复制代码[/U] 代码如下:
$d[$mb_len1][$mb_len2], 'count_same_letter' => $count_same_letter);
}
最长公共子序列LCS()
[U]复制代码[/U] 代码如下:
$len_2 ? $len_1 : $len_2;
$dp = array();
for ($i = 0; $i $dp[$i][$j - 1] ? $dp[$i - 1][$j] : $dp[$i][$j - 1];
}
}
}
return $dp[$len_1][$len_2];
}
//拆分字符串
function mbStringToArray($string, $encoding = 'UTF-8') {
$arrayResult = array();
while ($iLen = mb_strlen($string, $encoding)) {
array_push($arrayResult, mb_substr($string, 0, 1, $encoding));
$string = mb_substr($string, 1, $iLen, $encoding);
}
return $arrayResult;
}
//最长公共子序列中文版
function LCS_cn($str1, $str2, $encoding = 'UTF-8') {
$mb_len1 = mb_strlen($str1, $encoding);
$mb_len2 = mb_strlen($str2, $encoding);
$mb_str1 = mbStringToArray($str1, $encoding);
$mb_str2 = mbStringToArray($str2, $encoding);
$len = $mb_len1 > $mb_len2 ? $mb_len1 : $mb_len2;
$dp = array();
for ($i = 0; $i $dp[$i][$j - 1] ? $dp[$i - 1][$j] : $dp[$i][$j - 1];
}
}
}
return $dp[$mb_len1][$mb_len2];
}
您可能感兴趣的文章:
php 大数据量及海量数据处理算法总结
php数字游戏 计算24算法
PHP中计算字符串相似度的函数代码
关于PHP的相似度计算函数:levenshtein的使用介绍
如何使用php绘制在图片上的正余弦曲线
PHP大转盘中奖概率算法实例
PHP实现的简易版图片相似度比较
php计算两个整数的最大公约数常用算法小结
php查询相似度最高的字符串的方法
php编写的抽奖程序中奖概率算法
使用PHP similar text计算两个字符串相似度
PHP数据分析引擎计算余弦相似度算法示例
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2