You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
4.0 KiB
109 lines
4.0 KiB
# think-pullword
|
|
ThinkPHP 分词/抽词 扩展包 `5.1` `6.0`
|
|
|
|
使用梁厂的产品 http://www.pullword.com/
|
|
|
|
[![Latest Stable Version](https://poser.pugx.org/xiaodi/think-pullword/version)](https://packagist.org/packages/xiaodi/think-pullword)
|
|
[![Latest Unstable Version](https://poser.pugx.org/xiaodi/think-pullword/v/unstable)](https://packagist.org/packages/xiaodi/think-pullword)
|
|
[![License](https://poser.pugx.org/xiaodi/think-pullword/license)](https://packagist.org/packages/xiaodi/think-pullword)
|
|
[![Total Downloads](https://poser.pugx.org/xiaodi/think-pullword/downloads)](https://packagist.org/packages/xiaodi/think-pullword)
|
|
|
|
## 安装
|
|
```
|
|
composer require xiaodi/think-pullword
|
|
```
|
|
|
|
## 使用
|
|
#### 常规实例化
|
|
```php
|
|
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}"
|
|
}
|
|
}
|
|
```
|
|
|
|
#### 依赖注入
|
|
```php
|
|
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);
|
|
}
|
|
}
|
|
```
|
|
|
|
#### 门面
|
|
```php
|
|
use PullWord\Facade\PullWord;
|
|
|
|
class Index
|
|
{
|
|
public function index()
|
|
{
|
|
$source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
|
|
$result = PullWord::pull($source')->get();
|
|
var_dump($result);
|
|
}
|
|
}
|
|
```
|
|
|
|
#### 助手函数
|
|
```php
|
|
class Index
|
|
{
|
|
public function index()
|
|
{
|
|
$source = '352净水器K10家用直饮大通量1000G 厨下RO反渗透纯水机';
|
|
$result = app('pullword')->pull($source)->get();
|
|
var_dump($result);
|
|
}
|
|
}
|
|
|
|
```
|
|
|
|
### 其它链式方法
|
|
#### json返回
|
|
```php
|
|
$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"}]
|
|
```
|
|
#### 调试模式
|
|
结果含有出词概率
|
|
```php
|
|
$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%有把握的词才出
|
|
```php
|
|
$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":"水机"}]
|
|
```
|
|
|