搜索
系统检测到您的用户名不符合规范:

ThinkPHP 3.2 中文分词 提取关键字

浏览:8824 发布日期:2015年04月20日 分类:功能实现 关键字: 中文分词 提取关键字
由于业务的需求,公司研发团队正在基于ThinkPHP为底层框架的CMS系统。今天遇到了提取标题中的关键词这一个功能,我们在一起研究了很长时间。决定用Pscws4中文分词开源系统。中建出了一些小小的问题,所以委托小编我在此记录一下,为各位PHPer提供一下参考。
由于业务的需求,公司研发团队正在基于ThinkPHP为底层框架的CMS系统。今天遇到了提取标题中的关键词这一个功能,我们在一起研究了很长时间。决定用Pscws4中文分词开源系统。中建出了一些小小的问题,所以委托小编我在此记录一下,为各位PHPer提供一下参考。

SCWS 中文分词

SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。

这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开, 所以如何准确并快速分词一直是中文分词的攻关难点。

SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK、UTF-8 等。此外还提供了 PHP 扩展模块, 可在 PHP 中快速而方便地使用分词功能。

分词算法上并无太多创新成分,采用的是自己采集的词频词典,并辅以一定的专有名称,人名,地名, 数字年代等规则识别来达到基本分词,经小范围测试准确率在 90% ~ 95% 之间, 基本上能满足一些小型搜索引擎、关键字提取等场合运用。首次雏形版本发布于 2005 年底。

第一步:准备好Pscws4资料

下载 XDB 词典文件 【简体中文(UTF-8)】
下载PSCWS4【pscws4-20081221.tar.bz2】
下载规则集文件【rules.tgz】

第二步:将下载的文件解压,其中的 dict.utf8.xdb 和 规则集文件 按照下图放置



第三步:将解压出来的PSCWS4类Pscws4.class.php 和 xdb_r.class.php 放到 ThinkPHP/Library/Vendor/Pscws下

第四步:在控制器里面实力类。

function get_tags($title,$num){
import("Vendor.Pscws.Pscws4");
$pscws = new \PSCWS4('utf8');
$pscws->set_dict(CONF_PATH . 'etc/dict.utf8.xdb');
$pscws->set_rule(CONF_PATH . 'etc/rules.utf8.ini');
$pscws->set_ignore(true);
$pscws->send_text($title);
$words = $pscws->get_tops($num);
$pscws->close();

$tags = array();
foreach ($words as $val) {
$tags[] = $val['word'];
}

return implode(',', $tags);
}
本来到这个时候就应该做好了,实现我们需要的分词功能了,但是却出现乱码了。这个问题折腾我们技术很长时间,怎么调试都不对,什么文件的读取权限之类的,全部都试一遍都不行。最后只好看源码。最终发现问题
在PSCWS4的构造函数中。

将构造函数修改为:function __construct($charset = 'gbk') { $this->PSCWS4($charset); }

ThinkPHP整合PSCWS4到此完满结束。

本文转载自:西安网站建设-陕西企尚网络科技有限公司 http://www.sxqswl.net/show-22-107-1.html
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
afeidesinian
积分:844 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /