Robbe-1.6.0 发布 - PHP开源中文分词扩展, GBK支持

狮子的魂
 狮子的魂
发布于 2013年12月31日
收藏 61

Robbe是建立在Friso中文分词器上的一个高性能php中文分词扩展。同时支持对UTF-8/GBK编码的切分。

Robbe-1.6.0:

1.更改接口适用Friso-1.6.0。

2.修改了UTF-8的测试程序,增加多个配置测试选项,同时增加了GBK测试程序。

3.更改了rb_split,可以自定义的返回切分结果的词条,类别,长度,真实长度,偏移量,词性(待实现),具体可以参考附件中的robbe.fun.php:

$_str = "研究生命起源,robbe高性能php中文分词组件。";
echo "rb_split(\"" . $_str . "\"):<br />";

//API:
//rb_split(string, Array, [long])
//1.string: 要被切分的字符串。
//2.Array: 配置选项,使用NULL来选择默认的配置(friso.ini中的配置)。
//3.long: 可选参数,自定义切分返回选项,查看下面的$_rargs

//1.完整的配置: 
//array('max_len'=>5, 'r_name'=>0, 'mix_len'=>2, 'lna_len'=>1, 'add_syn'=>1,
//	'clr_stw'=>1, 'keep_urec'=>0, 'spx_out'=>0, 'en_sseg'=> 1, 'st_minl'=>2, 'kpuncs'=>'.+#', 'mode'=>RB_CMODE);
//1.在不了解friso内核的情况下, 请不要随便更改nthreshold
//2.使用NULL来使用php.ini中指定的friso.ini文件中的配置

//2.返回选项:
//词条: RB_RET_WORD, 类别:RB_RET_TYPE, 长度:RB_RET_LENGTH, 真实长度:RB_RET_RLEN, 
//偏移量:RB_RET_OFF,词性:RB_RET_POS(待实现)
$_rargs = RB_RET_TYPE | RB_RET_LEN | RB_RET_RLEN | RB_RET_OFF | RB_RET_POS;
//$_rargs = 0;

//3.切分类别:
//CJK词条:RB_TYP_CJK, 英中混合词(b超):RB_TYP_ECM,中英混合词(卡拉ok):RB_TYP_CEM,
//英文标点混合词(c++):RB_TYP_EPUN,标点:RB_TYP_PUN,未知类别:RB_TYP_UNK,其他类别(同义词):RB_TYP_OTR
$_result = rb_split($_str, array('mode'=>RB_CMODE), $_rargs);
unset($_str);
foreach ( $_result as $_val )
{
	$_str = $_val['word'];
	if ( $_rargs != 0 ) {
		$_str .= '[';
		if ( ($_rargs & RB_RET_TYPE) != 0 )
			$_str .= ', type: '.$_val['type'];
		if ( ($_rargs * RB_RET_LEN) )
		$_str .= ', len: ' . $_val['len'];
		if ( ($_rargs * RB_RET_RLEN) )
		$_str .= ', rlen: ' . $_val['rlen'];
		if ( ($_rargs * RB_RET_OFF) )
		$_str .= ', off: ' . $_val['off'];
		if ( ($_rargs * RB_RET_POS) )
			$_str .= ', pos: ' . $_val['pos'];
		$_str .= ']';
	}

	$_str .= '/ ';
	echo $_str;
}

4.增加了rb_charset()函数来获取当前使用的编码。

5.增加了rb_version()/friso_version()函数来获取版本信息。

6.去除源码下所有Friso的头文件,改成了系统include目录下搜索。
    Friso-1.6.0默认会拷贝所有头文件到$(include)/friso目录下。


感谢网友的关注和反馈,祝您工作愉快。。。  


本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Robbe-1.6.0 发布 - PHP开源中文分词扩展, GBK支持
加载中

最新评论(24

狮子的魂
狮子的魂

引用来自“cccccccccchu”的评论

请问下为什么robbe.fun.php不能用。我现在的是1.6.0,很多接口都改了吧?rb_split($_str, array('mode'=>RB_CMODE), $_rargs); 第三个参数用不了。

引用来自“狮子的魂”的评论

该项目已经被合并到了 git.oschina.net/lionsoul/friso 中了,附件中又详细的开发帮助文档。

引用来自“cccccccccchu”的评论

谢谢回复,这个分词算法能不能去掉类似 ‘我' '的' '了''是''现在'等类型的词,比如我现在好饿,想看电影,分出来的是饿和电影。。。

引用来自“狮子的魂”的评论

支持停止词过滤的,请到git.oschina.net/lionsoul/friso 下载附件,参考里面的开发帮助文档。

引用来自“cccccccccchu”的评论

好的,谢谢。 我用上friso了,但我看demo里$_rargs = FRISO_RET_TYPE | FRISO_RET_LEN | FRISO_RET_RLEN | FRISO_RET_OFF | FRISO_RET_POS;
  //$_rargs = 0;
  
  //3.切分类别:
  //CJK词条:FRISO_TYP_CJK, 英中混合词(b超):FRISO_TYP_ECM,中英混合词(卡拉ok):FRISO_TYP_CEM,
  //英文标点混合词(c++):FRISO_TYP_EPUN,标点:FRISO_TYP_PUN,未知类别:FRISO_TYP_UNK,其他类别(同义词):FRISO_TYP_OTR
  $_result = friso_split($_str, array('mode'=>FRISO_COMPLEX), $_rargs);

但$_rargs这个参数还是不支持。
_rargs类别是确定支持了。 他是用来定义切分返回的信息类型,和后面的切分类别要区分对待(后台的是词库的类别)
cccccccccchu
cccccccccchu

引用来自“cccccccccchu”的评论

请问下为什么robbe.fun.php不能用。我现在的是1.6.0,很多接口都改了吧?rb_split($_str, array('mode'=>RB_CMODE), $_rargs); 第三个参数用不了。

引用来自“狮子的魂”的评论

该项目已经被合并到了 git.oschina.net/lionsoul/friso 中了,附件中又详细的开发帮助文档。

引用来自“cccccccccchu”的评论

谢谢回复,这个分词算法能不能去掉类似 ‘我' '的' '了''是''现在'等类型的词,比如我现在好饿,想看电影,分出来的是饿和电影。。。

引用来自“狮子的魂”的评论

支持停止词过滤的,请到git.oschina.net/lionsoul/friso 下载附件,参考里面的开发帮助文档。
好的,谢谢。 我用上friso了,但我看demo里$_rargs = FRISO_RET_TYPE | FRISO_RET_LEN | FRISO_RET_RLEN | FRISO_RET_OFF | FRISO_RET_POS;
  //$_rargs = 0;
  
  //3.切分类别:
  //CJK词条:FRISO_TYP_CJK, 英中混合词(b超):FRISO_TYP_ECM,中英混合词(卡拉ok):FRISO_TYP_CEM,
  //英文标点混合词(c++):FRISO_TYP_EPUN,标点:FRISO_TYP_PUN,未知类别:FRISO_TYP_UNK,其他类别(同义词):FRISO_TYP_OTR
  $_result = friso_split($_str, array('mode'=>FRISO_COMPLEX), $_rargs);

但$_rargs这个参数还是不支持。
狮子的魂
狮子的魂

引用来自“cccccccccchu”的评论

请问下为什么robbe.fun.php不能用。我现在的是1.6.0,很多接口都改了吧?rb_split($_str, array('mode'=>RB_CMODE), $_rargs); 第三个参数用不了。

引用来自“狮子的魂”的评论

该项目已经被合并到了 git.oschina.net/lionsoul/friso 中了,附件中又详细的开发帮助文档。

引用来自“cccccccccchu”的评论

谢谢回复,这个分词算法能不能去掉类似 ‘我' '的' '了''是''现在'等类型的词,比如我现在好饿,想看电影,分出来的是饿和电影。。。
支持停止词过滤的,请到git.oschina.net/lionsoul/friso 下载附件,参考里面的开发帮助文档。
cccccccccchu
cccccccccchu

引用来自“cccccccccchu”的评论

请问下为什么robbe.fun.php不能用。我现在的是1.6.0,很多接口都改了吧?rb_split($_str, array('mode'=>RB_CMODE), $_rargs); 第三个参数用不了。

引用来自“狮子的魂”的评论

该项目已经被合并到了 git.oschina.net/lionsoul/friso 中了,附件中又详细的开发帮助文档。
谢谢回复,这个分词算法能不能去掉类似 ‘我' '的' '了''是''现在'等类型的词,比如我现在好饿,想看电影,分出来的是饿和电影。。。
狮子的魂
狮子的魂

引用来自“cccccccccchu”的评论

请问下为什么robbe.fun.php不能用。我现在的是1.6.0,很多接口都改了吧?rb_split($_str, array('mode'=>RB_CMODE), $_rargs); 第三个参数用不了。
该项目已经被合并到了 git.oschina.net/lionsoul/friso 中了,附件中又详细的开发帮助文档。
cccccccccchu
cccccccccchu
请问下为什么robbe.fun.php不能用。我现在的是1.6.0,很多接口都改了吧?rb_split($_str, array('mode'=>RB_CMODE), $_rargs); 第三个参数用不了。
狮子的魂
狮子的魂

引用来自“蓝浩”的评论

引用来自“狮子的魂”的评论

引用来自“蓝浩”的评论

怎么使用啊?安装配置怎么弄?

查看 @ueaner 的详细教程: http://blog.aboutc.net/php/59/php-installation-robbe-chinese-word-extension

或者查看:http://www.oschina.net/question/853816_119031

兄弟,我成功了,还是得用1.4。我用friso1.6配robbe1.4就不行,有空再研究下。

接口有变化,版本需要对应。QQ: 1187582057
狮子的魂
狮子的魂

引用来自“蓝浩”的评论

引用来自“狮子的魂”的评论

引用来自“蓝浩”的评论

怎么使用啊?安装配置怎么弄?

查看 @ueaner 的详细教程: http://blog.aboutc.net/php/59/php-installation-robbe-chinese-word-extension

或者查看:http://www.oschina.net/question/853816_119031

兄弟,我成功了,还是得用1.4。我用friso1.6配robbe1.4就不行,有空再研究下。

Friso-1.6.0需要使用最新版本的robbe-1.6.0的,安装方法一样的,建议使用Friso-1.6.0+robbe-1.6.0,无论是从性能还是功能,都是低版本不能比的。
蓝浩
蓝浩

引用来自“狮子的魂”的评论

引用来自“蓝浩”的评论

怎么使用啊?安装配置怎么弄?

查看 @ueaner 的详细教程: http://blog.aboutc.net/php/59/php-installation-robbe-chinese-word-extension

或者查看:http://www.oschina.net/question/853816_119031

兄弟,我成功了,还是得用1.4。我用friso1.6配robbe1.4就不行,有空再研究下。
蓝浩
蓝浩

引用来自“狮子的魂”的评论

引用来自“蓝浩”的评论

怎么使用啊?安装配置怎么弄?

查看 @ueaner 的详细教程: http://blog.aboutc.net/php/59/php-installation-robbe-chinese-word-extension

或者查看:http://www.oschina.net/question/853816_119031

我按着做了,在编译好模块以后,写到php.ini,但是apache启动失败,能给点指导吗?我qq:540590988
返回顶部
顶部