ThinkPHP的中英文分词扩展[演示][下载]
http://www.easyustc.com/fenci/
分词扩展提供下载啦
大家可以试用一下。如果平时使用过程中发现有一些分词不正确,可以到
http://www.easyustc.com/fenci/build_sqlite.php
来修正字典,帮助我们优化字典。同时你也可以在这里下载最新的字典版本。
可以对全半角混合了标点的中英文句子进行分词。可以自己选择最大词组字长、标点断句最小词组字长、是否保留分词结果中的单个字、是否保留标点符号等功能。更加详细的说明请查看下载包里面的Readme.txt
默认提供一个sqlite的字典文件。如果你的虚拟主机不支持sqlite,你可以将其导入mysql或自己造其他的字典。
由于本人能力有限,可能效率上不能令大家满意,请多包含。
字典的挂载、卸载和查询都将函数分离了,修改起来应该很容易。核心分词算法只需要findinDict返回一个true或者false告诉我字典中是否有这个词就行了。
还有一个需要注意的就是mbstring的扩展是必须的。没办法啊,中英文、全半角混合在一起分词,不用mbstring在计算句子长度等方面都很困难。
程序默认是作为ThinkPHP的扩展提供的,但是你可以去掉extends Base,直接使用分词类。Apache2开源协议,SO,用于商业闭源也无所谓啦,如果你不嫌弃我的程序的话
如果你对分词扩展有什么建议,或者发现程序有问题,请到ThinkPHP论坛来发帖
http://bbs.thinkphp.cn/forumdisplay.php?fid=5
关于分词算法问题,大家看看程序应该没有太多问题,我都写了注释的。
这里有一篇我很久以前写的关于分词的文章
http://hi.baidu.com/yhustc/blog/ ... 3fa9ef0a1dbb58f31f4