搜索
首页php教程php手册Thinkphp3.2使用scws中文分词 提取关键词,

Thinkphp3.2使用scws中文分词 提取关键词,

Jun 13, 2016 am 08:52 AM
thinkphp3.2中文使用关键词分词提取

Thinkphp3.2使用scws中文分词 提取关键词,

SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。
1.下载scws官方提供的类(这里使用的是pscws第四版的)
http://www.xunsearch.com/scws/down/pscws4-20081221.tar.bz2
下载XDB 词典文件 (这里使用的是utf8简体中文词典包)
http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2
2.解压scws类Pscws.class.php(这里我把pscws4.class.php文件名换成了pscws.class.php)和XDB_R.class.php(这里我把xdb_r.class.php文件名换成了大写的XDB_R.class.php)放到ThinkPHP\Library\Org\Util目录下面。
3.然后修改Pscws.class.php
加入命名空间

<span>1</span> namespace Org\Util;

将类的名称改为Pscws

把require_once (<span>dirname</span>(<span>__FILE__</span>) . '/XBD_R.class.php');这段代码删除掉。

修改XDB_R.class.php
加入命名空间

namespace Org\Util;

4.解压XDB 词典文件
在Public\admin目录下新建一个dict文件夹,然后将XDB 词典文件的dict.utf8.xdb解压到词目录下,再把scws类中的etc下面的rules.utf8.ini放到此目录下面。
5.在入口文件加入一行常量定义代码(其实就是定义词典文件和配置文件的路径)

<span>define</span>("CONF_PATH", <span>dirname</span>(<span>__FILE__</span>)."/Public/admin/dict/");

6.在IndexController.class.php控制器里面建立一个私有方法,供其他方法调用

 <span>/*</span><span>*
     * 中文分词  
         * @params string $title 需要分词的语句 
         * @params int $num  分词个数,默认不用填写
     *</span><span>*/</span>
    <span>private</span> <span>function</span> get_tags(<span>$title</span>,<span>$num</span>=<span>null</span><span>){        
        </span><span>$pscws</span> = <span>new</span> \Org\Util\Pscws('utf8'<span>);
        </span><span>$pscws</span>->set_dict(CONF_PATH . 'dict.utf8.xdb'<span>);
        </span><span>$pscws</span>->set_rule(CONF_PATH . 'rules.utf8.ini'<span>);
        </span><span>$pscws</span>->set_ignore(<span>true</span><span>);
        </span><span>$pscws</span>->send_text(<span>$title</span><span>);
        </span><span>$words</span> = <span>$pscws</span>->get_tops(<span>$num</span><span>);
        </span><span>$pscws</span>-><span>close();
        </span><span>$tags</span> = <span>array</span><span>();
        </span><span>foreach</span> (<span>$words</span> <span>as</span> <span>$val</span><span>) {
            </span><span>$tags</span>[] = <span>$val</span>['word'<span>];
        }
        </span><span>return</span> <span>implode</span>(',', <span>$tags</span><span>);
    }
      </span><span>/*</span><span>*
     * 商品搜索结果页
     *</span><span>*/</span>
    <span>public</span> <span>function</span><span> search(){
        </span><span>$rzt</span>=<span>$this</span>->get_tags("新款 牛漆皮小尖头直跟高跟单鞋910033 灰羊猄(7.31发货) 39"<span>);
        </span><span>print_r</span>(<span>$rzt</span><span>);
    }</span>

显示的结果为:

漆皮,单鞋,尖头,高跟,新款,发货,910033,7.31,39

 

 

 

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版