PHP中文分词 自动获取关键词介绍

 更新时间:2012年11月13日 17:07:58   作者:  
用了大家熟知的scws 还有phpanalysis ,需要的朋友可以参考下
复制代码 代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
define('APP_ROOT', str_replace('\\', '/', dirname(__FILE__)));
$test = '这里是一段中文测试代码!';
function get_tags_arr($title)
{
require(APP_ROOT.'/pscws4.class.php');
$pscws = new PSCWS4();
$pscws->set_dict(APP_ROOT.'/scws/dict.utf8.xdb');
$pscws->set_rule(APP_ROOT.'/scws/rules.utf8.ini');
$pscws->set_ignore(true);
$pscws->send_text($title);
$words = $pscws->get_tops(5);
$tags = array();
foreach ($words as $val) {
$tags[] = $val['word'];
}
$pscws->close();
return $tags;
}
print_r(get_tags_arr($test));
//============================================================
function get_keywords_str($content){
require(APP_ROOT.'/phpanalysis.class.php');
PhpAnalysis::$loadInit = false;
$pa = new PhpAnalysis('utf-8', 'utf-8', false);
$pa->LoadDict();
$pa->SetSource($content);
$pa->StartAnalysis( false );
$tags = $pa->GetFinallyResult();
return $tags;
}
print(get_keywords_str($test));

相关下载地址

SCWS – 简易中文分词系统

SCWS 在概念上并无创新成分,采用的是自行采集的词频词典,并辅以一定程度上的专有名称、人名、地名、数字年代等规则集,经小范围测试大概准确率在 90% ~ 95% 之间,已能基本满足一些中小型搜索引擎、关键字提取等场合运用。 SCWS 采用纯 C 代码开发,以 Unix-Like OS 为主要平台环境,提供共享函数库,方便植入各种现有软件系统。此外它支持 GBK,UTF-8,BIG5 等汉字编码,切词效率高。

系统平台:Windows/Unix
开发语言:C
使用方式:PHP扩展

演示网址:http://www.ftphp.com/scws/demo.php
开源官网:http://www.ftphp.com/scws/

晴枫附注:作为PHP扩展,容易与现有的基于PHP架构的Web系统继续集成,是其一大优势。

PhpanAlysis - PHP无组件分词系统

PhpanAlysis分词系统是基于字符串匹配的分词方法 ,这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配 和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。 

系统平台:PHP环境

开发语言:PHP

使用方式:HTTP服务

演示网址:http://www.itgrass.com/phpanalysis/
开源官网:http://www.itgrass.com/phpanalysis/

晴枫附注:实现简单,容易使用,能做一些简单应用,但大数据量的计算效率不如前几种。

试用了几个系统,基本分词功能都没什么问题,只是在个别一些词的划分上存在一些差异;对于词性的确定,系统间有所不同。

https://www.jb51.net/codes/40139.html

相关文章

  • Laravel中任务调度console使用方法小结

    Laravel中任务调度console使用方法小结

    这篇文章主要给大家简单介绍了Laravel中任务调度console使用方法,并附上一个简单的示例,希望对大家学习使用console能够有所帮助
    2017-05-05
  • MacOS下PHP7.1升级到PHP7.4.15的方法

    MacOS下PHP7.1升级到PHP7.4.15的方法

    这篇文章主要介绍了MacOS下PHP7.1升级到PHP7.4.15的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • php nginx 实时输出的简单实现方法

    php nginx 实时输出的简单实现方法

    本文通过实例代码给大家介绍了php nginx 实时输出的简单实现方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2018-01-01
  • smarty模板局部缓存方法使用示例

    smarty模板局部缓存方法使用示例

    这篇文章主要介绍了smarty模板局部缓存方法,需要的朋友可以参考下
    2014-06-06
  • Smarty环境配置与使用入门教程

    Smarty环境配置与使用入门教程

    这篇文章主要介绍了Smarty环境配置与使用方法,较为详细的分析了Smarty环境的搭建与配置参数的功能含义,非常简单易懂,需要的朋友可以参考下
    2016-05-05
  • php不使用插件导出excel的简单方法

    php不使用插件导出excel的简单方法

    这篇文章主要介绍了php不使用插件导出excel的简单方法,首先获取需要导出的数据的数组,数组的格式在下面。之后就是定义文件名称和需要导出的excel的样式,最后就是循环数组,输出数据了
    2014-03-03
  • PHP实现多条件查询实例代码

    PHP实现多条件查询实例代码

    在我们的网站设计过程中,经常会用到多条件查询,本文的源码是一个二手房屋查询的例子。在本例中,我们要实现能够通过地理位置,物业类型,房屋价格,房屋面积及信息发布日期等多个条件查询到客户所需的资料。
    2010-07-07
  • 基于laravel belongsTo使用详解

    基于laravel belongsTo使用详解

    今天小编就为大家分享一篇基于laravel belongsTo使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • thinkPHP框架中layer.js的封装与使用方法示例

    thinkPHP框架中layer.js的封装与使用方法示例

    这篇文章主要介绍了thinkPHP框架中layer.js的封装与使用方法,结合实例形式分析了thinkPHP中调用layer.js的具体操作技巧与注意事项,需要的朋友可以参考下
    2019-01-01
  • THINKPHP5分页数据对象处理过程解析

    THINKPHP5分页数据对象处理过程解析

    这篇文章主要介绍了THINKPHP5分页数据对象处理过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10

最新评论