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


发布时间:2016-11-18     内容来源:乐邦建站     文章编辑:乐邦建站     浏览次数:0
分享到: 更多
【字体:
用了大家熟知的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/

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

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

下一篇:    php+ajax注册验证实例(完整代码)      [2015-07-15 ]