当前位置:首页 > php > 正文内容

thinkphp jieba 中文分词、关键词提取

zhangsir3年前 (2023-06-12)php265

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);
    }
}


zhangsir版权t6防采集https://mianka.xyz

扫描二维码推送至手机访问。

版权声明:本文由zhangsir or zhangmaam发布,如需转载请注明出处。

本文链接:https://www.mianka.xyz/post/167.html

分享给朋友:

“thinkphp jieba 中文分词、关键词提取” 的相关文章

迅睿CMS:常用标签汇总+模板常用调用总结

一、系统调用标签二、模板调用标签1、首页网站名称:{SITE_NAME} {$meta_title}(列表页通用) {$meta_keywords} {$meta_description}2、封面页 3、列表页迅睿cms调用本栏目基础信息标签代码:当前栏目ID:$catid 单独调用...

php 显示当前时间的代码实例

在 PHP 中,date() 函数格式化本地日期和时间,并返回格式化的日期字符串。显示当前时间:<?php $a1 = date("Y-m-d H:i:s",time()); echo $a1;显示一天前的时间<?php...

thinkphp6 大数据分页,计算分页总量,layui分页

官方文档给的解决方法:$list = Db::name('user')->where('status',1)->paginateX(50);但这个方法能分页,不能给出总数来,所以总数需要自己算一下。$page = i...

PHP教程一

欢迎来到PHP编程教程!在本教程中,您将学习如何使用PHP编写动态网页,包括创建表单、连接数据库、处理用户输入以及生成动态内容。什么是PHP?PHP(Hypertext Preprocessor)是一种流行的服务器端编程语言,用于创建动态网页和Web应用程序。 PHP脚本在服务器上运行,并生成HTM...

用PHP写个递归函数

以下是一个使用 PHP 编写的递归函数示例,该函数将计算给定数字的阶乘:function factorial($n) {     if ($n <= 1) {   &nb...

PHP数组转字符串

在PHP中,可以使用implode()函数将一个数组转换为一个字符串。implode()函数接受两个参数,第一个参数是用于连接数组元素的字符串,第二个参数是要转换的数组。例如:$array = array('apple', 'banana'...