今天和大家推荐的是结巴分词的PHP版本,相信接触过搜索的同学们对分词并不陌生,过多的介绍不用多说,直接看它的使用方法。
"结巴"中文分词:做最好的 PHP 中文分词、中文断词组件。现在已经可以支援繁体中文!只要将字典切换为 big 模式即可!
安装方式
自动安装:使用 composer 安装后,透过 autoload 引用 代码示例
代码语言:javascript复制composer require cyd622/nlp-jieba:dev-master
代码示例
代码语言:javascript复制require_once "/path/to/your/vendor/autoload.php";
手动安装:将 nlp-jieba 放置适当目录后,透过 require_once 引用 代码示例
代码语言:javascript复制require_once "/path/to/your/vendor/multi-array/MultiArray.php";
require_once "/path/to/your/vendor/multi-array/Factory/MultiArrayFactory.php";
require_once "/path/to/your/class/Jieba.php";
require_once "/path/to/your/class/Finalseg.php";
使用方式
这里我只展示一个例子,让大家感受一下它的强大,其余的例子大家可以参考github上官方写的(当然我的例子也是从官方拿的)。
输入词
代码语言:javascript复制ini_set('memory_limit', '1024M');
require_once "/path/to/your/vendor/multi-array/MultiArray.php";
require_once "/path/to/your/vendor/multi-array/Factory/MultiArrayFactory.php";
require_once "/path/to/your/class/Jieba.php";
require_once "/path/to/your/class/Finalseg.php";
use NLPJiebaJieba;
use NLPJiebaFinalseg;
Jieba::init();
Finalseg::init();
$seg_list = Jieba::cut("怜香惜玉也得要看对象啊!");
var_dump($seg_list);
$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);
输出词
代码语言:javascript复制array(7) {
[0]=>
string(12) "怜香惜玉"
[1]=>
string(3) "也"
[2]=>
string(3) "得"
[3]=>
string(3) "要"
[4]=>
string(3) "看"
[5]=>
string(6) "对象"
[6]=>
string(3) "啊"
}
Full Mode:
array(15) {
[0]=>
string(3) "我"
[1]=>
string(3) "来"
[2]=>
string(6) "来到"
[3]=>
string(3) "到"
[4]=>
string(3) "北"
[5]=>
string(6) "北京"
[6]=>
string(3) "京"
[7]=>
string(3) "清"
[8]=>
string(6) "清华"
[9]=>
string(12) "清华大学"
[10]=>
string(3) "华"
[11]=>
string(6) "华大"
[12]=>
string(3) "大"
[13]=>
string(6) "大学"
[14]=>
string(3) "学"
}
Default Mode:
array(4) {
[0]=>
string(3) "我"
[1]=>
string(6) "来到"
[2]=>
string(6) "北京"
[3]=>
string(12) "清华大学"
}
array(6) {
[0]=>
string(3) "他"
[1]=>
string(6) "来到"
[2]=>
string(3) "了"
[3]=>
string(6) "网易"
[4]=>
string(6) "杭研"
[5]=>
string(6) "大厦"
}
(此处,“杭研“并没有在词典中,但是也被 Viterbi 算法识别出来了)
Search Engine Mode:
array(18) {
[0]=>
string(6) "小明"
[1]=>
string(6) "硕士"
[2]=>
string(6) "毕业"
[3]=>
string(3) "于"
[4]=>
string(6) "中国"
[5]=>
string(6) "科学"
[6]=>
string(6) "学院"
[7]=>
string(9) "科学院"
[8]=>
string(15) "中国科学院"
[9]=>
string(6) "计算"
[10]=>
string(9) "计算所"
[11]=>
string(3) "后"
[12]=>
string(3) "在"
[13]=>
string(6) "日本"
[14]=>
string(6) "京都"
[15]=>
string(6) "大学"
[16]=>
string(18) "日本京都大学"
[17]=>
string(6) "深造"
}
最后分享一下获取链接和演示地址
网站网址:http://jieba-php.fukuball.com 网站原始码:https://github.com/cyd622/nlp-jieba