欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

php使用PHPAnalysis提取关键字中文分词

程序员文章站 2024-02-22 11:30:22
...

需求:做SEO的keywords时,需要从标题或者正文里提取关键字

1.PHPAnalysis下载地址

https://github.com/feixuekeji/PHPAnalysis

下载后解压放到extend目录下(以tp5为例,其他目录也行)

 

php使用PHPAnalysis提取关键字中文分词

 2.封装

<?php
/**
 * @auther: xxf
 * Date: 2019/8/19
 * Time: 11:04
 */
 
namespace WordAnalysis;
 
/**
 * 中文分词提取关键字
 */
class Analysis
{
    /**
     * Notes:关键字提取
     * @auther: xxf
     * Date: 2019/8/19
     * Time: 11:09
     * @param string $content
     * @param int $num 获取数量
     * @return string
     */
    public static function getKeywords($content = "",$num = 3) {
        if (empty ( $content )) {
            return '';
        }
 
        require_once 'phpanalysis.class.php';
 
 
        \PhpAnalysis::$loadInit = false;
        $pa = new \PhpAnalysis ( 'utf-8', 'utf-8', false );
        $pa->LoadDict ();
        $pa->SetSource ($content);
        $pa->StartAnalysis ( true );
 
        $tags = $pa->GetFinallyKeywords ($num); // 获取文章中的n个关键字
        return $tags;//返回关键字
    }
 
}


使用

$data['seo']['keyword'] = Analysis::getKeywords($article_info['title']);

========================================================================

根据上例,自己把下载的这个类库放到extend文件夹中

在控制器中,引用这个类库:

import('WordAnalysis.Analysis', EXTEND_PATH,'.php');

在方法中

    /**
     * 分词查询
     * @return [type] [description]
     */
    public function fenciselect(){
        $obj = new \WordAnalysis\Analysis();
        $title="碳fdd的风格的法国红酒法国还法师风格";
        $keyword = $obj::getKeywords($title);
        var_dump($keyword);

    }

前台输出的结果是

string(24) "风格,法国,fdd,红酒"