thinkphp jieba 中文分词、关键词提取 2022-0
2022-05-22 本文已影响0人
阿然学编程
- GitHub地址:https://github.com/fukuball/jieba-php
- composer安装:
composer require fukuball/jieba-php:dev-master
<?php
/**
* Created by PhpStorm.
* User: 14280
* Date: 2022-05-23
* Time: 22:24
*/
namespace app\index\controller;
use Fukuball\Jieba\Jieba;//必须
use Fukuball\Jieba\Finalseg;
use Fukuball\Jieba\JiebaAnalyse;//关键词提取
ini_set('memory_limit', '1024M');//设置PHP运行占用内存,必须
//实例化:第一个参数表示开启测试模式 dict表示读取small词库,如果是繁体需要改成big
//Jieba::init();
Jieba::init(array('mode' => 'test', 'dict' => 'small'));//必须
Finalseg::init();
JiebaAnalyse::init();//关键词提取
class JiebaChinese
{
/**
* 中文分词
* 注意:必须是 utf-8 字符串
*/
public function fenci()
{
//默认精确模式
$seg_list = Jieba::cut("我来到北京清华大学");
dump($seg_list);
//全局模式
$seg_list = Jieba::cut("我来到北京清华大学",true);
dump($seg_list);
//搜索引擎模式
$seg_list = Jieba::cutForSearch("小明硕士毕业于中国科学院计算所,后在日本京都大学深造");
dump($seg_list);
}
/**
* 关键词提取
* 注意:必须是 utf-8 字符串
*/
public function tiQu()
{
//越小精确度越高|提取的关键词越准|默认20
$top_k = 10;
$content = "我来到北京清华大学";
//关键词提取
$tags = JiebaAnalyse::extractTags($content, $top_k);
dump($tags);
}
/**
* 导入自定义词库并分词
*/
public function importCikuFenci()
{
//导入自定义的词库(一个词语占一行)
jieba::loadUserDict("../public/upload/ciku.txt");///重点在这里,导入自定义的词库
//词库中就会有你导入的词库
$seg_list = Jieba::cut("结巴中文分词:做最好的中文分词!");
dump($seg_list);
}
/**
* 导入自定义词库并提取关键词
*/
public function importCikuTiqu()
{
//导入自定义的词库(一个词语占一行)
jieba::loadUserDict("../public/upload/ciku.txt");//自定义的词语
//越小精确度又高|提取的关键词越准|默认20
$top_k = 10;
$content = "这是自定义的词库并且提取自定义关键词";
//定义截断性比重占比分析(有问题,无法获取到自定义关键词)
JiebaAnalyse::setStopWords('../public/upload/stop_words.txt');
//关键词提取
$tags = JiebaAnalyse::extractTags($content, $top_k);
dump($tags);
}
}