nutch的中文分词 imdict-chinese-a…
2013-02-25 18:35
190 查看
改造nutch,将原来的中文分词程序改成imdict-chinese-analyzer,这个是根据中科院的c版分词程序而来的纯java版。
下载imdict-chinese-analyzer
我下的是imdict-chinese-analyzer-java5.zip
nutch1.0
下载来的imdict-chinese-analyzer-java5.zip里面只是一个eclipse工程,我们要利用这个工程生成一个jar来用,或者也可以直接放到nutch的源代码项目中。这里注意的是如果要编译imdict-chinese-analyzer-java5.zip需要在项目中加入lucene-core-2.4.0.jar
和junit-4.1.jar。
将jar放入nutch的类路径。
修改org.apache.nutch.analysis下NutchAnalysis.jj文件。
将
| <SIGRAM: <CJK>
>
改成
| <SIGRAM: (<CJK>)+
>
然后用javacc编译NutchAnalysis.jj文件,编译出7个java源文件。
将这7个文件放到nutch的源工程中,修改org.apache.nutch.analysis.ParseException.java。
原来是
Java代码
imdict-chinese-analyzer" />
public class ParseException extends Exception
改成
Java代码
imdict-chinese-analyzer" />
public class ParseException extends IOException
因为nutch原来的这个源文件就是这么写的,用jj文件编译出来的源文件就不对,不改的话会提示ParseException
未被捕获。
确保这7个文件放入工程后还能都编译过去。
修改org.apache.nutch.analysis.NutchDocumentAnalyzer.java
将源文件最后的那个函数修改为下面
就是使用了新的分词程序。
Java代码
imdict-chinese-analyzer" />
public TokenStream tokenStream(String fieldName, Reader reader) {
Analyzer analyzer;
analyzer = new org.apache.lucene.analysis.cn.SmartChineseAnalyzer(true);
//
return analyzer.tokenStream(fieldName, reader);
}
运行程序,本人亲自试验可以通过。
转自网络
下载imdict-chinese-analyzer
我下的是imdict-chinese-analyzer-java5.zip
nutch1.0
下载来的imdict-chinese-analyzer-java5.zip里面只是一个eclipse工程,我们要利用这个工程生成一个jar来用,或者也可以直接放到nutch的源代码项目中。这里注意的是如果要编译imdict-chinese-analyzer-java5.zip需要在项目中加入lucene-core-2.4.0.jar
和junit-4.1.jar。
将jar放入nutch的类路径。
修改org.apache.nutch.analysis下NutchAnalysis.jj文件。
将
| <SIGRAM: <CJK>
>
改成
| <SIGRAM: (<CJK>)+
>
然后用javacc编译NutchAnalysis.jj文件,编译出7个java源文件。
将这7个文件放到nutch的源工程中,修改org.apache.nutch.analysis.ParseException.java。
原来是
Java代码
imdict-chinese-analyzer" />
public class ParseException extends Exception
public class ParseException extends Exception
改成
Java代码
imdict-chinese-analyzer" />
public class ParseException extends IOException
public class ParseException extends IOException
因为nutch原来的这个源文件就是这么写的,用jj文件编译出来的源文件就不对,不改的话会提示ParseException
未被捕获。
确保这7个文件放入工程后还能都编译过去。
修改org.apache.nutch.analysis.NutchDocumentAnalyzer.java
将源文件最后的那个函数修改为下面
就是使用了新的分词程序。
Java代码
imdict-chinese-analyzer" />
public TokenStream tokenStream(String fieldName, Reader reader) {
Analyzer analyzer;
analyzer = new org.apache.lucene.analysis.cn.SmartChineseAnalyzer(true);
//
return analyzer.tokenStream(fieldName, reader);
}
public TokenStream tokenStream(String fieldName, Reader reader) { Analyzer analyzer; analyzer = new org.apache.lucene.analysis.cn.SmartChineseAnalyzer(true); // return analyzer.tokenStream(fieldName, reader); }
运行程序,本人亲自试验可以通过。
转自网络
相关文章推荐
- Run&nbsp;Chinese&nbsp;CAJviewer&nbsp;by&nbsp;wine
- Prostitute&nbsp;boycotts&nbsp;Chinese&nbsp;on&nbsp;e…
- nutch添加imdict-chinese-analyzer实现中文分词
- Nutch 抓取数据到MySQL详细过…
- nutch&nbsp;elipse&nbsp;配置的一些事项
- 为Nutch&nbsp;1.0添加JE中文分词
- nutch-1.0添加imdict-chinese-anal…
- java 生成pdf文件 注解…
- android SDK Manager 下载慢
- Unity3D&nbsp;事件處理
- Android&nbsp;Resource介绍
- ACM: 图论题 poj 1275 差分约束题
- android&nbsp;EditView&nbsp;文本密码显示与…
- ACM: 简单题 uva 10881
- smartforms 翻译 SE63
- 如何解决DEDE文章 内容分页 竖排
- Android&nbsp;4.0应用界面设计分析
- ACM: uva 10382
- svn 出错信息总汇
- Matlab dlmwrite函数 将…