• 技术文章 >后端开发 >PHP问题

    php 无法加载scws怎么办

    藏色散人藏色散人2021-09-06 09:06:44原创118

    php无法加载scws是因为没有安装成功,其解决办法:1、找到“scws-1.2.1.tar.bz2”;2、通过“make install”进行安装;3、安装scws的PHP扩展;4、安装词库即可。

    本文操作环境:windows7系统、PHP5.4版、Dell G3电脑。

    php 无法加载scws怎么办?开源php中文分词系统SCWS安装和使用实例

    一、SCWS简介

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

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

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

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

    SCWS 由 hightman 开发, 并以 BSD 许可协议开源发布,源码托管在 github。

    二、scws安装

    代码如下:

    # wget -c http://www.xunsearch.com/scws/down/scws-1.2.1.tar.bz2
    # tar jxvf scws-1.2.1.tar.bz2
    # cd scws-1.2.1
    # ./configure --prefix=/usr/local/scws
    # make && make install

    三、scws的PHP扩展安装

    代码如下:

    # 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

    四、词库安装

    代码如下:

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

    五、php实例代码。可以详细看下SCWS官方API说明

    代码如下:

    //实例化分词插件核心类
     $so = scws_new();
     //设置分词时所用编码
     $so->set_charset('utf-8');
     //设置分词所用词典(此处使用utf8的词典)
     $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();

    返回数组结果说明:

    代码如下:

    word   _string_ 词本身 
    idf        _float_ 逆文本词频 
    off         _int_ 该词在原文本路的位置 
    attr       _string_ 词性

    推荐学习:《PHP视频教程

    以上就是php 无法加载scws怎么办的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php scws
    上一篇:php怎么拆分数组且不改变key值 下一篇:php怎么实现定位地图显示
    线上培训班

    相关文章推荐

    • php实现scws中文分词搜索的方法• Thinkphp32使用scws中文分词 提取关键词• 如何安装 php scws(分词组件)?• 中文分词 PHP 扩展 SCWS 安装方法

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网