scws分词

这段PHP代码展示了如何使用SCWS扩展进行分词服务。它定义了一个`split_words`函数,该函数接收一个字符串参数,初始化SCWS处理器,设置字符集、忽略符号和二元分词选项,然后发送文本进行分词处理。最后返回分词结果。
摘要由CSDN通过智能技术生成
<?php
/**
* 分词服务
* @author lichaoyong  2015-7-10  16:42:12
*/


 /**
 * 传入词语
 * @author lichaoyong  2015-7-10  16:52:23
 * @param string $words 字符串
 */
function split_words($words){
        if(empty($words)){
            return false;
        }
       if (!extension_loaded('scws')) dl('scws.' . PHP_SHLIB_SUFFIX);

        //2. check again
        if (!extension_loaded('scws'))
        {
            echo "ERROR: scws extension was not found.\n";
            exit(0);
        }
        //3. test data
        define ('SCWS_TEST_MULTI_SHORT',    0x01);
        define ('SCWS_TEST_MULTI_DUALITY',    0x02);
        define ('SCWS_TEST_MULTI_ZMAIN',    0x04);
        define ('SCWS_TEST_MULTI_ZALL',        0x08);
        define ('SCWS_TEST_MULTI_MASK',        0x0f);
        define ('SCWS_TEST_IGNORE_SYMBOL',    0x10);
        define ('SCWS_TEST_DUALITY',        0x20);
        //options: multi(default=0), ignore(symbol, default: false), duality(default:false)
        //3. build scws handler
        $so = scws_new();
        $so->set_charset('utf8');
        $so->set_ignore(true);//清楚标点符号 true or false
        $so->set_duality(true);//散列二元字符 true or falsse  
        //$so->set_multi($multi);// 1 最短分词 2 二元分词  4 重要单子 8 全部单子    $multi =多个选择的结果
        $so->set_multi(3);
        // 这里没有调用 set_dict 和 set_rule 系统会自动试调用 ini 中指定路径下的词典和规则文件
        $so->send_text($words);
        $tmp_arr = array();
        while ($tmp = $so->get_result()){
            if(is_array($tmp)){
                foreach($tmp as $k=>$v){
                    $tmp_arr[]   = $v;
                }
            }else{
                $tmp_arr[]   = $tmp;
            }
        }
        $so->close();
        return $tmp_arr;

}


?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值