nutch的中文分词 imdict-chinese-a…

改造nutch,将原来的中文分词程序改成imdict-chinese-analyzer,这个是根据中科院的c版分词程序而来的纯java版。

 

下载imdict-chinese-analyzer 

我下的是imdict-chinese-analyzer-java5.zip

 

nutch1.0

 

  1. 下载来的imdict-chinese-analyzer-java5.zip里面只是一个eclipse工程,我们要利用这个工程生成一个jar来用,或者也可以直接放到nutch的源代码项目中。这里注意的是如果要编译imdict-chinese-analyzer-java5.zip需要在项目中加入lucene-core-2.4.0.jar  和junit-4.1.jar。
  2. 将jar放入nutch的类路径。
  3. 修改org.apache.nutch.analysis下NutchAnalysis.jj文件。

    | <SIGRAM: <CJK> >
    改成
    | <SIGRAM: (<CJK>)+ >

    然后用javacc编译NutchAnalysis.jj文件,编译出7个java源文件。
  4. 将这7个文件放到nutch的源工程中,修改org.apache.nutch.analysis.ParseException.java。
    原来是
    Java代码 复制代码
    1. public class ParseException extends Exception  
    public class ParseException extends Exception
    

    改成
    Java代码 复制代码
    1. public class ParseException extends IOException  
    public class ParseException extends IOException
    
     
    因为nutch原来的这个源文件就是这么写的,用jj文件编译出来的源文件就不对,不改的话会提示ParseException 未被捕获。

  5. 确保这7个文件放入工程后还能都编译过去。

  6. 修改org.apache.nutch.analysis.NutchDocumentAnalyzer.java
    将源文件最后的那个函数修改为下面
    就是使用了新的分词程序。
    Java代码 复制代码
    1.   
    2.   public TokenStream tokenStream(String fieldName, Reader reader) {   
    3.     Analyzer analyzer;   
    4.       
    5.        
    6.     analyzer new org.apache.lucene.analysis.cn.SmartChineseAnalyzer(true);   
    7.     //   
    8.     return analyzer.tokenStream(fieldName, reader);   
    9.    
      public TokenStream tokenStream(String fieldName, Reader reader) {
        Analyzer analyzer;
        
        
        analyzer = new org.apache.lucene.analysis.cn.SmartChineseAnalyzer(true);
        //
        return analyzer.tokenStream(fieldName, reader);
      }
    
     

  7. 运行程序,本人亲自试验可以通过。

转自网络

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值