php分词

php备忘

php分词在某些需求中还是很重要的,特开一贴来备忘一下分词的东西。

目前,分词的在线api很多,由于担心api挂掉,所以本网站并没有用开放的api去做分词,而是用的SCWS自动获取关键词

下面是

Pscws.zip

调用:

        require_once('./Pscws/Pscws.php');
        $pscws = new Pscws();
        $pscws->set_dict('./Pscws/scws/dict.utf8.xdb');
        $pscws->set_rule('./Pscws/scws/rules.utf8.ini');
        $pscws->set_ignore(true);
        $pscws->send_text($title);
        $words = $pscws->get_tops(5);
        $tags = array();
        $tags[] = $title;
        foreach ($words as $val) {
            $tags[] = $val['word'];
        }
        $pscws->close();
        return $tags;



还有一个比较好的是discuze关键词提取 api


代码:

 public static function discuz ($title = '', $content = '')
    {
        $subjectenc = rawurlencode(strip_tags($title));
        $messageenc = rawurlencode(strip_tags(preg_replace("/\[.+?\]/U", '', $content)));
        $data = @implode('', file("http://keyword.discuz.com/related_kw.html?title=$subjectenc&content=$messageenc&ics=utf-8&ocs=utf-8"));
        
        if ($data) {
            $parser = xml_parser_create();
            xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
            xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
            xml_parse_into_struct($parser, $data, $values, $index);
            xml_parser_free($parser);
            
            $kws = array ();
            foreach ($values as $valuearray) {
                if ($valuearray['tag'] == 'kw' || $valuearray['tag'] == 'ekw')
                    $kws[] = trim($valuearray['value']);
            }
            $return = '';
            if ($kws) {
                foreach ($kws as $kw) {
                    $kw = CHtml::encode(strip_tags($kw));
                    $return .= $dot.$kw ;
                    $dot = ',';
                }
                $return = trim($return);
            }
            
            return $return;
        }
    
    }


测试:不同于使用自己的服务器进行分词,Discuz!在线中文分词服务是基于API返回分词结果的。在项目中,我们只需要一个函数即可方便地进行分词、关键词提取。

结果:

Array(    [state] => success    [message] => 成功获取    [datas] => 服务器,关键词,在线,中文,项目)



2014-12-30 10:44:46

php
php

这是介绍的地方

本文相关标签

推荐应用

友情链接


皖ICP备14007051号-2 关于穆子龙