[转]用自定义scws词库进行分词
By seven on 十月 8th, 2012
- 需求:
一个项目需要将文字里面的关键词进行连接替换。 - 分析
但此项目关键词库巨大,而且服务器众多。咋个搞呐?
进行了很多方案筛选,也用了网上说的逆向最大匹配,可是耗费0.3s以上,内存就不用说了。看来php处理这种情况确实刚不住啊。
在网上搜索一番,发现了SCWS,测试了下速度不错,减少了2个数量级。初步选用SCWS做文章分词,然后匹配。but问题又出现了,这个匹配出来的词包罗万象,废柴一堆,咋个和我的关键词库匹配?hold,他文档里面写道:支持自定义词库,偶耶,豁然开朗。我把我的关键词库作为SCWS的关键词库,就ok。实验了下,可行,然后提供个接口给其他服务器,这样就不用把它安装得到处都是。 - 安装
这个别人官网很详细了,win linux都有。笔者两个都测试了。可行。 - 开始
首先要制作词库。SCWS提供了php的制作词库的工具,只用把你的关键词库输出到文本中
# WORD TF IDF ATTR
木门 11.26 14.12 jc
这样就可以了。生成个词库。注意 ATTR可以自定义,笔者定义为jc,但是只能是字母哦
然后程序中调用这个词库就ok.在此过程中我发现还有些不是我词库中的,原来他配置文件里面有些特殊关键词,
没关系,SCWS还可以自定义配置文件,把相应的rules.ini拷一份,删除里面所有的特殊关键词就搞定.
取结果的时候用get_words(‘xx’),这个xx就是你之前的ATTR。
ok,到这里就结束了。不懂的留言,不过留言也不一定帮你解决。。。。请谅解 - 附件:scws附件
安装配置请个人搞定,附程序包。
dump_xdb_file.php解压词库
make_xdb_file.php生成词库 这两个文件在命令行下执行
dict.txt 笔者的测试关键词文本
–scws
原文转自:http://blog.52xiaoqu.com/27.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。