时时商务社区

标题: 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