• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP实现的最大正向匹配算法示例

    本文实例讲述了PHP实现的最大正向匹配算法。分享给大家供大家参考,具体如下:

    正向最大匹配算法:从左到右将待分词文本中的几个连续字符与词表匹配,如果匹配上,则切分出一个词。但这里有一个问题:要做到最大匹配,并不是第一次匹配到就可以切分的 。

    函数中包含三个参数:

    $query   查询词
    $dict    词典
    $max_len 最大长度(这里默认值设置为15)

    词典示例:

    $dict = array(
      '脚本之家'=>'脚本之家',
      '脚本下载'=>'脚本下载',
      'JS编程'=>'JS编程'
    );

    函数定义:

    /*
     * $query 查询词
     * $dict 词典
     * $max_len 最大长度
     */
    function extractWords($query,$dict,$max_len=15){
        $feature = "";
        $slen=mb_strlen($query,'UTF8');
        $c_bg = 0;
        while($c_bg$slen){
          $matched = false;
          $c_len =(($slen-$c_bg)>$max_len)?$max_len:($slen-$c_bg);
          $t_str = mb_substr($query, $c_bg,$c_len,'UTF8');
          for($i=$c_len;$i>1;$i--){
            $ttts = mb_substr($t_str, 0,$i,'UTF8');
              if(!empty($dict[$ttts])){
    //          echo 'matched = '.$ttts.PHP_EOL;
                $matched = true;
                $c_bg += $i;
                if(!empty($feature)){
                  $feature.=",";
                }
                $feature.=$ttts;
                break;
              }
          }
          if(!$matched){
            $c_bg++;
          }
        }
        echo $feature.PHP_EOL;
    }
    
    

    使用方法:

    $query='欢迎访问脚本之家!脚本之家是国内专业的网站,提供各种脚本下载及JS、Python、php等编程资料';
    extractWords($query,$dict);

    运行结果:

    脚本之家,脚本之家,脚本下载 
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • python中文分词教程之前向最大正向匹配算法详解
    • PHP实现的字符串匹配算法示例【sunday算法】
    • 基于PHP实现栈数据结构和括号匹配算法示例
    • php中最简单的字符串匹配算法
    • PHP基于二分法实现数组查找功能示例【循环与递归算法】
    • PHP实现机器学习之朴素贝叶斯算法详解
    • PHP基于回溯算法解决n皇后问题的方法示例
    • PHP实现找出数组中出现次数超过数组长度一半的数字算法示例
    • php 二维数组快速排序算法的实现代码
    • PHP实现的贪婪算法实例
    • PHP实现的折半查询算法示例
    上一篇:PHP实现的字符串匹配算法示例【sunday算法】
    下一篇:PHP性能分析工具xhprof的安装使用与注意事项
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    PHP实现的最大正向匹配算法示例 PHP,实现,的,最大,正向,匹配,