PHP中文分词,自动获取关键词

jerry thinkphp 2015年11月18日 收藏

<?php
header("Content-Type:text/html; charset=utf-8");
define('APP_ROOT', str_replace('\\', '/', dirname(__FILE__)));

$test = '真怕有一天我们再次成为交叉线,我想那时就再也不可能回归了,快乐永远是拿痛苦做代价,你现在多幸福,多快乐,你以后就会越伤心越难过,不想发生!';

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

print_r(get_tags_arr($test));

function get_keywords_str($content){
    require(APP_ROOT.'/phpanalysis.class.php');
    PhpAnalysis::$loadInit = false;
    $pa = new PhpAnalysis('utf-8', 'utf-8', false);
    $pa->LoadDict();
    $pa->SetSource($content);
    $pa->StartAnalysis( false );
    $tags = $pa->GetFinallyResult();
    return $tags;
}

print(get_keywords_str($test));
上面是我做的实例,大家稍微修改下就可以用到TP做的项目上了。

实例里包含了很多人熟知的scws,另一个是IT柏拉图做的phpanalysis。