首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

偷天换日:MMSeg4j借用庖丁解牛的词库

2012-06-30 
偷梁换柱:MMSeg4j借用庖丁解牛的词库?  “……他不回答,对柜里说,“温两碗酒,要一碟茴香豆。”便排出九文大钱。他

偷梁换柱:MMSeg4j借用庖丁解牛的词库

?  “……他不回答,对柜里说,“温两碗酒,要一碟茴香豆。”便排出九文大钱。他们又故意的高声嚷道,“你一定又偷了人家的东西了!”孔乙己睁大眼睛说,“你怎么这样凭空污人清白……”“什么清白?我前天亲眼见你偷了何家的书,吊着打。”孔乙己便涨红了脸,额上的青筋条条绽出,争辩道,“窃书不能算偷……窃书!……读书人的事,能算偷么?”接连便是难懂的话,什么“君子固穷”,什么“者乎”之类,引得众人都哄笑起来;店内外充满了快活的空气。” 

?

  哈哈,在实际分词切词当中,庖丁解牛和MMSeg4j各有千秋,但MMSeg4j的思想更先进一些,提供两种类型的分词:Simple和Complex,都是基于正向最大匹配。Complex 加了四个规则过虑。从技术实现原理上,MMSeg4j更先进些,但是效果并不理想,究其原因,原来是词库太少,默认的带dic的jar包只有三个dic文件,太少太少。

  而庖丁解牛的分词效果,我觉得跟他的词库有很关系,效果当然跟词库有关系,所以,本人就想了一个办法:MMSeg4j来借用庖丁解牛的词库,“借书算窃吗?”偷天换日:MMSeg4j借用庖丁解牛的词库

  从MMSeg4j官方说明,可以看出如何指定词库的位置:有关说明如下:

-----------------------------------------------------?

6、运行,词典用mmseg.dic.path属性指定、在classpath 目录下或在当前目录下的data目录,默认是 classpath/data 目录。如果使用 mmseg4j-with-dic.jar 包可以不指定词库目录(如果指定也可以,它们也可以被加载)。

java -jar mmseg4j-core-1.8-with-dic.jar 这里是字符串。

java -cp .;mmseg4j-1.6.jar -Dmmseg.dic.path=./other-dic com.chenlb.mmseg4j.example.Simple 这里是字符串。

java -cp .;mmseg4j-1.6.jar com.chenlb.mmseg4j.example.MaxWord 这里是字符串

?

8、词库(强制使用 UTF-8):

data/chars.dic 是单字与语料中的频率,一般不用改动,1.5版本中已经加到mmseg4j的jar里了,我们不需要关心它,当然你在词库目录放这个文件可以覆盖它。 data/units.dic 是单字的单位,默认读jar包里的,你也可以自定义覆盖它,这功能是试行,如果不喜欢它,可以空的units.dic文件(放到你的词库目录下)覆盖它。 data/words.dic 是词库文件,一行一词,当然你也可以使用自己的,1.5版本使用 sogou 词库,1.0的版本是用 rmmseg 带的词库。 data/wordsxxx.dic 1.6版支持多个词库文件,data 目录(或你定义的目录)下读到"words"前缀且".dic"为后缀的文件。如:data/words-my.dic。 由于 utf-8 文件有带与不带 BOM 之分,建议词库第一行为空行或为无 BOM 格式的 utf-8 文件。

-----------------------------------------------------?

更多的请参考官网。 

????? 开始动手了。

  第一步,把庖丁解牛下载后,有一个dic的目录,把其中第二级的目录location里面的文本COPY到一级目录后。

  第二步,把庖丁解牛的所有dic文件,前面加一个前缀words-xxx,最后的结果如图所示:


偷天换日:MMSeg4j借用庖丁解牛的词库

   第三步,在程序中动态执行的加入字典目录,如下所示:

? 呵呵,同样了,你也可以自己加入一些词库,比如拉登,奥巴马,还有中地沟油,中国加油贵,中国加油真贵.....

?? "引得众人都哄笑起来;店内外充满了快活的空气。"
?

热点排行