fukuball / jieba-php

"結巴"中文分詞:做最好的 PHP 中文分詞、中文斷詞組件。 / "Jieba" (Chinese for "to stutter") Chinese text segmentation: built to be the best PHP Chinese word segmentation module.
http://jieba-php.fukuball.com
MIT License
1.32k stars 260 forks source link

如何设置初始化参数选择Jieba分词模式? #70

Closed gary101 closed 3 years ago

gary101 commented 4 years ago

根据文档,Jieba支持三种分词模式:

  1. 默認精確模式,試圖將句子最精確地切開,適合文本分析;
  2. 全模式,把句子中所有的可以成詞的詞語都掃描出來,但是不能解決歧義。(需要充足的字典)
  3. 搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。

请问如果使用init方法进行初始化时,如和通过init参数设定分词模式?如下:

Jieba::init(array('mode'=>'test','dict'=>'small'));

即init初始化参数各字段可取值为哪些? 如果'mode'参数是设置分词模式,那么它有哪几种可选值?

建议完善一下文档,感谢!

fukuball commented 3 years ago

@gary101 分詞模式不是在初始化去決定的,而是在 run time 時可以隨時切換,如:

$seg_list = Jieba::cut("我来到北京清华大学", true);
var_dump($seg_list); #全模式

$seg_list = Jieba::cut("我来到北京清华大学", false);
var_dump($seg_list); #默認精確模式

$seg_list = Jieba::cut("他来到了网易杭研大厦");
var_dump($seg_list); #默認精確模式

$seg_list = Jieba::cutForSearch("小明硕士毕业于中国科学院计算所,后在日本京都大学深造"); 
var_dump($seg_list); #搜索引擎模式