Kirin 93a3391a21 init 11 mesiacov pred
..
src 93a3391a21 init 11 mesiacov pred
LICENSE 93a3391a21 init 11 mesiacov pred
README.md 93a3391a21 init 11 mesiacov pred
composer.json 93a3391a21 init 11 mesiacov pred

README.md

think-pullword

ThinkPHP 分词/抽词 扩展包 5.1 6.0

使用梁厂的产品 http://www.pullword.com/

Latest Stable Version Latest Unstable Version License Total Downloads

安装

composer require xiaodi/think-pullword

使用

常规实例化

use PullWord\PullWord;
class Index
{
    public function index()
    {
        $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
        $pullWord = new PullWord($source);
        $result = $pullWord->pull()->toJson()->get();
        // $result = $pullWord->service('pull', $source)->get();
        // 结果 => string(169) "[{"t":"352净水器"},{"t":"净水器"},{"t":"家用"},{"t":"大通量"},{"t":"1000g"},{"t":"反渗透"},{"t":"反渗透纯水机"},{"t":"渗透"},{"t":"纯水机"}]


        // 商品分类
        // $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
        // $pullWord = new PullWord($source);
        // $result = $pullWord->classify()->get();
        // // $result = $pullWord->service('classify', $source)->get();
        // 结果 => string(27) "{"class":"电器","idx":11}"
    }
}

依赖注入

use PullWord\PullWord;
class Index
{
    public function index(PullWord $pullWord)
    {
        $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
        $result = $pullWord->pull($source)->get();
        var_dump($result);

        // $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
        // $result = $pullWord->classify($source)->get();
        // var_dump($result);
    }
}

门面

use PullWord\Facade\PullWord;

class Index
{
    public function index()
    {
        $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
        $result = PullWord::pull($source')->get();
        var_dump($result);
    }
}

助手函数

class Index
{
    public function index()
    {
        $source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
        $result = app('pullword')->pull($source)->get();
        var_dump($result);
    }
}

其它链式方法

json返回

$source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
PullWord::pull($source)->toJson()->get();
// 结果 [{"t":"352净水器","p":"1"},{"t":"净水器","p":"1"},{"t":"家用","p":"1"},{"t":"大通量","p":"0.923331"},{"t":"1000g","p":"0.959741"},{"t":"反渗透","p":"0.944082"},{"t":"反渗透纯水机","p":"0.964588"},{"t":"渗透","p":"0.838643"},{"t":"纯水机","p":"0.928798"}]

调试模式

结果含有出词概率

$source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
PullWord::pull($source)->debug()->get();
// 结果 [{"t":"352净水器","p":"1"},{"t":"净水器","p":"1"},{"t":"家用","p":"1"},{"t":"大通量","p":"0.923331"},{"t":"1000g","p":"0.959741"},{"t":"反渗透","p":"0.944082"},{"t":"反渗透纯水机","p":"0.964588"},{"t":"渗透","p":"0.838643"},{"t":"纯水机","p":"0.928798"}]

设置阈值

出词概率阈值(0-1之间的小数),1表示只有100%有把握的词才出

$source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
PullWord::pull($source)->threshold(0.4)->toJson()->get();
// 结果 [{"t":"352"},{"t":"352净水器"},{"t":"净水"},{"t":"净水器"},{"t":"家用"},{"t":"大通量"},{"t":"通量"},{"t":"1000g"},{"t":"反渗透"},{"t":"反渗透纯水机"},{"t":"渗透"},{"t":"纯水"},{"t":"纯水机"},{"t":"水机"}]