标签:
写这篇博客的时候自己在已经读到第六章分词器了,在写代码之前,这个分词器,让我起了浓厚的兴趣。
//===========================================================================================//
以下四条分词器适用于英文,不适用于中文
//===========================================================================================//
1、WhitespaceAnalyzer
仅仅是去除空格,对字符没有lowcase化,不支持中文;
并且不对生成的词汇单元进行其他的规范化处理。
2、SimpleAnalyzer
功能强于WhitespaceAnalyzer, 首先会通过非字母字符来分割文本信息,然后将词汇单元统一为小写形式。该分析器会去掉数字类型的字符。
3、StopAnalyzer
StopAnalyzer的功能超越了SimpleAnalyzer,在SimpleAnalyzer的基础上增加了去除英文中的常用单词(如the,a等),也可以更加自己的需要设置常用单词;不支持中文
4、StandardAnalyzer
英文的处理能力同于StopAnalyzer.支持中文采用的方法为单字切分。他会将词汇单元转换成小写形式,并去除停用词和标点符号。
//=============================================================================================//
以下2条分词器适用于中文
//==============================================================================================//
5、CJKAnalyzer
中日韩分析器,能对中,日,韩语言进行分析的分词器,但是对中文支持效果一般,一般不用
6、SmartChineseAnalyzer
对中文支持稍好,但扩展性差,扩展词库,禁用词库和同义词库等不好处理
5、CJKAnalyzer
中日韩分析器,能对中,日,韩语言进行分析的分词器,但是对中文支持效果一般,一般不用
简单的测试:
网络代码:
//=========================================================================//
MAIN方法”:
private TokenizerDemo demo = null;
//private String msg = "我喜欢你,我的祖国!china 中国";
private String msg = "I love you, China!B2C";
@Before
public void setUp() throws Exception {
demo=new TokenizerDemo();
}
@Test
public void testWhitespaceAnalyzer(){
demo.whitespaceAnalyzer(msg);
}
@Test
public void testSimpleAnalyzer(){
demo.simpleAnalyzer(msg);
}
@Test
public void testStopAnalyzer(){
demo.stopAnalyzer(msg);
}
@Test
public void testStandardAnalyzer(){
demo.standardAnalyzer(msg);
}
}
中日韩分析器,能对中,日,韩语言进行分析的分词器,但是对中文支持效果一般,一般不用
标签:
原文地址:http://blog.csdn.net/u012965373/article/details/44870855