近来一直致力于实现mahout 0.9 的中文文本聚类,网上关于mahout 0.9 的英文文本聚类实现资料较为丰富,这里不再赘述。
遇到的问题是:mahout 0.9在处理中文时默认的分词器是 StandardAnalyzer, 其会将中文按单字分词,显然不符合我们的期望。
我们需要添加自己的分词工具,这里使用mmseg4j,它可支持lucene 4.6.1。
首先,修改mahout源码中examples目录下的pom.xml配置文件,添加依赖Jar包mmseg4j
添加代码:
<dependency>
<groupId>com.chenlb.mmseg4j</groupId>
<artifactId>mmseg4j-solr</artifactId>
<version>2.0.0</version>
</dependency>
接着,将mahout源码examples导入到maven project中,maven会自动下载所需Jar包,不报错的情况下,Run As -> maven install,会在项目target文件夹中生成新的Jar包。
最后,用新Jar包替换mahout原Jar包,重新运行mahout相关命令。
注:在运行seq2sparse命令时,指定分词器
-a com.chenlb.mmseg4j.analysis.SimpleAnalyzer
还可以选择 ComplexAnalyzer or MaxWordAnalyzer
——————————————————————————————————————————————————
默认条件:
linux + eclipse + maven插件 + hadoop
知道如何使用maven,并知道如何将mahout源码导入到maven project 中
__________________________________________________________________________________________
参考资料链接:
http://my.oschina.net/u/1047640/blog/262468
http://blog.csdn.net/authorzhh/article/details/7904560