澳门新萄京行使scws组件分词和phpanalysis分词类落成轻便的php分词找出

澳门新萄京行使scws组件分词和phpanalysis分词类落成轻便的php分词找出

应用scws组件分词和phpanalysis分词类达成简单的php分词寻觅

一、SCWS简介

关键字:php  分词  搜索

SCWS 是 Simple Chinese Word Segmentation
的首字母缩写(即:简易粤语分词系统)。
那是生机勃勃套基于词频词典的机械式粤语分词引擎,它能将一整段的中文文本基本科学地切分成词。
词是汉语的一丝一毫语素单位,但在挥洒时并不像俄文子禽在词之间用空格分开,
所以怎么样标准并飞快分词一向是汉语分词的攻关难题。
SCWS 接受纯 C
语言开采,不依赖于任何外界库函数,可径直行使动态链接库嵌入应用程序,
帮衬的华语编码富含 GBK、UTF-8 等。别的还提供了 PHP 扩大模块, 可在 PHP
中高速而平价地接受分词功效。
分词算法上并无太多立异成分,接收的是温馨征集的词频辞书,并辅以自然的专有名称,人名,地名,
数字时期等法规识别来抵达基本分词,经小范围测验正确率在 80% ~ 95% 之间,
基本上能满意一些袖珍寻找引擎、关键字提取等场馆使用。第二遍雏形版本公布于
二零零七 年末。
SCWS 由 hightman 开荒, 并以 BSD 许可商讨开源公布,源码托管在 github。

什么是scws:

二、scws安装

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

复制代码 代码如下:

这是意气风发套基于词频辞典的机械式粤语分词引擎,它能将一整段的国语文本基本科学地切分成词。
词是华语的小小语素单位,但在挥洒时并不像葡萄牙共和国语会在词之间用空格分开,
所以如何正确并火速分词一贯是普通话分词的攻关难题。

# wget -c
# tar jxvf scws-1.2.1.tar.bz2
# cd scws-1.2.1
# ./configure –prefix=/usr/local/scws
# make && make install

SCWS 接受纯 C
语言开拓,不依附任何外界库函数,可径直利用动态链接库嵌入应用程序,
扶助的中文编码包蕴 GBK、UTF-8 等。别的还提供了 PHP 扩大模块, 可在 PHP
中高速而方便地动用分词功效。

三、scws的PHP增加安装

分词算法上并无太多立异成分,选拔的是和煦征集的词频词典,并辅以自然的专盛名称,人名,地名,
数字时代等法规识别来达成基本分词,经小范围测量检验精确率在 十分之七 ~ 95% 之间,
基本上能满意一些微型找出引擎、关键字提取等场所使用。第贰次雏形版本公布于
二〇〇五 岁末。

复制代码 代码如下:

下载地址(必要下载SCWS法规集文件、xdb词典文件和相应版本的php_scws.dll扩展库)

# cd ./phpext
# phpize
# ./configure –with-php-config=/usr/local/php5410/bin/php-config
# make && make install
# echo “[scws]” >> /usr/local/php5410/etc/php.ini
# echo “extension = scws.so” >> /usr/local/php5410/etc/php.ini
# echo “scws.default.charset = utf-8” >>
/usr/local/php5410/etc/php.ini
# echo “scws.default.fpath = /usr/local/scws/etc/” >>
/usr/local/php5410/etc/php.ini

四、词库安装

安装php扩展

复制代码 代码如下:

将php_scws.dll的扩展库放入php目录下的ext目录中

# wget
# tar jxvf scws-dict-chs-utf8.tar.bz2 -C /usr/local/scws/etc/
# chown www:www /usr/local/scws/etc/dict.utf8.xdb

接下来再php.ini中增加以下配置,增多完成后重启

五、php实例代码。能够详细看下SCWS官方API表明

[scws]

复制代码 代码如下:

extension = php_scws.dll

//实例化分词插件大旨类
 $so = scws_new();
 //设置分词时所用编码
 $so->set_charset(‘utf-8’);
 //设置分词所用辞典(此处使用utf8的辞典State of Qatar
 $so->set_dict(‘/usr/local/scws/etc/dict.utf8.xdb’);
 //设置分词所用法则
 $so->set_rule(‘/usr/local/scws/etc/rules.utf8.ini ‘);
 //分词前去掉标点符号
 $so->set_ignore(true);
 //是不是复式分割,如“中夏族民共和国人”重回“中黄炎子孙民共和国+人+中夏族民共和国人”八个词。
 $so->set_multi(true);
 //设定将文字自动以二字分词法聚合
 $so->set_duality(true);
 //要举办分词的话语
 $so->send_text(“接待来到罗睺时期IT开采”卡塔尔国;
 //获取分词结果,如若提取高频词用get_tops方法
 while ($tmp = $so->get_result())
 {
     print_r($tmp);
 }
 $so->close();

scws.default.charset = gbk

重返数组结果表达:

scws.default.fpath = “C:\Program Files\scws\etc”

复制代码 代码如下:

注:extension的门道要保管能加载ext目录下的.dll增添。

word   _string_ 词本身 
idf        _float_ 逆文本词频 
off         _int_ 该词在原作本路的地点 
attr       _string_ 词性

      scws.default.fpath的目录是分词法规文件的断然目录

六、在线API
也能够选拔在线API达成普通话分词,API地址:

新建二个目录(C:\Program Files\scws),将xdb文件放入。如图:

 

 澳门新萄京 1

将准绳集文件(法规集文件在scws的全部源代码的减削包中能够找到)放到etc目录下,如图:

 澳门新萄京 2

$sc = scws_new(卡塔尔国;   //实例分词类

$sc->set_charset(‘utf-8’卡塔尔(قطر‎;      //设置分词时所用的编码

$sc->set_dict(‘C:\Program Files\scws\dict.utf8.xdb’卡塔尔国;  
//设置分词所用的词典包

$sc->set_rule(‘C:\Program Files\scws\etc\rules.utf8.ini’卡塔尔;   
//设置分词所用的中规中矩

$sc->set_ignore(trueState of Qatar;    //去掉标点符号后在分词

$sc->set_multi(trueState of Qatar;           //复式分割

$sc->send_text(‘江西,厨具。’State of Qatar;    //分词的言语

while($tmp[] = $sc->get_result(State of Qatar卡塔尔国{         //获取分词结果

}

//连接数据库

mysql_connect(‘localhost’,’root’,’root’);

mysql_select_db(‘tdmalls’);

mysql_query(‘set names utf8’);

//组合sql

$sql = “select article_title from th_article where “;

$len2 = count($tmp[0]);

for($j=0;$j<$len2;$j++){

      if($j == $len2-1){

           $sql .= ” article_title like
‘%”.$tmp[0][$j][‘word’].”%'”;

      }else{

           $sql .= ” article_title like
‘%”.$tmp[0][$j][‘word’].”%’ and “;

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图