zoukankan      html  css  js  c++  java
  • SCWS中文分词,demo演示

    上文已经讲了关于SCSW中文分词的安装配置,本节进入demo演示:

    <?php
    header('Content-Type:text/html;charset=UTF-8');
    echo '<pre>';
    //////////////////////////////////////////////////////////////////////////////
    echo $text="我是一个中国人,我会C++语言,我也有很多T恤衣服,我想知道奥迪A6与第八代索纳塔哪个油耗低,谢谢花好月圆二手奥拓芽菜好吃悦翔V3怎么样卧槽日系车Q5";
    echo '<br />';
    
    $so = scws_new();           //创建并返回一个 `SimpleCWS` 类操作对象
    $so->set_charset('utf8');   //设定分词词典、规则集、欲分文本字符串的字符集(utf8 和 gbk)
    //$so->set_dict('D:/Program Files/AppServ/scws/etc/dict.utf8.xdb');  //强行设定分词所用的词典(注:如果做此设置会使php.ini中已设置的词典失效,如无需要可不设此项)
    //$so->set_rule('D:/Program Files/AppServ/scws/etc/rules.utf8.ini'); //强行设定分词所用的新词识别规则集(用于人名、地名、数字时间年代等识别)(注:如果做此设置会使php.ini中已设置的规则失效,如无需要可不设此项)
    $so->set_ignore('yes');     //设定分词返回结果时是否去除一些特殊的标点符号之类
    $so->set_duality(false);    //设定是否将闲散文字自动以二字分词法聚合
    
    //设定分词返回结果时是否复式分割,如“中国人”返回“中国+人+中国人”三个词。
    //也可用 1-15 来表示:(1)短词  (2)二元(将相邻的2个单字组合成一个词) (4)重要单字  (8)全部单字
    $so->set_multi(0);
    
    //发送设定分词所要切割的文本
    //执行本函数时,若未加载任何词典和规则集,则会自动试图在 ini 指定的缺省目录下查找缺省字符集的词典和规则集
    $so->send_text($text);
    
    $getWords = $so->get_words('~v'); //n,nz,un,ns,i
    /*
       根据 send_text 设定的文本内容,返回系统中词性符合要求的关键词汇
       > **参数 attr** 是一系列词性组成的字符串,各词性之间以半角的逗号隔开,
       > 这表示返回的词性必须在列表中,如果以~开头,则表示取反,词性必须不在列表中,若为空则返回全部词。  
       > **返回值** 成功返回符合要求词汇组成的数组,返回 false。返回的词汇包含的键值参见 `scws_get_result`
    */
    print_r($getWords);
    
    echo '<br />---------------------------------------------------------------------<br />';
    
    $getTops = $so->get_tops(20,'~v,~r');
    /*
      根据 send_text 设定的文本内容,返回系统计算出来的最关键词汇列表
       > **参数 limit** 可选参数,返回的词的最大数量,缺省是 10  
       > **参数 attr** 可选参数,是一系列词性组成的字符串,各词性之间以半角的逗号隔开,
       > 这表示返回的词性必须在列表中,如果以~开头,则表示取反,词性必须不在列表中,缺省为NULL,返回全部词性,不过滤。  
       > **返回值** 成功返回统计好的的词汇组成的数组,返回 false。返回的词汇包含的键值如下:
       >   word   _string_ 词本身
       >   times  _int_   词在文本中出现的次数
       >   weight _float_ 该词计算后的权重
       >   attr   _string_ 词性
    */
    print_r($getTops);
    
    echo '<br />/////////////////////////////////////////////////////////////////////<br />';
    
    while($getResult = $so->get_result()){
        /*
          根据 send_text 设定的文本内容,返回一系列切好的词汇
           > word _string_ 词本身
           > off  _int_    该词在原文本路的位置-
           > len  _int_    词长度 
           > idf  _float_  逆文本词频 
           > attr _string_ 词性
        */
        print_r($getResult);
    }
    
    
    echo $version = $so->version(); //获取版本
    
    $so->close(); //关闭
    
    ?>
  • 相关阅读:
    f5版本升级
    f5申请并激活License
    f5时间设置
    f5 SNMP配置
    f5 Syslog管理
    f5单台安装配置
    f5负载均衡算法
    f5 Seldom used
    f5售后查询
    f5基本介绍
  • 原文地址:https://www.cnblogs.com/martinzhang/p/3209725.html
Copyright © 2011-2022 走看看