编程点滴.LUCENE.常用分词器

在LUCENE中分词器可是非常重要的一环.它把一个整句经过提取,去标点,转换成小写,还原,去除停止词等操作后,形成若干个有意义的Term.

 

常用内置分词器

WhitespaceAnalyzer,空白分词器.顾名思义,通过空格来进行分析.

SimpleAnalyzer,简单分词器.转换小写,去除非字母(注意,数字也会移除).

StopAnalyzer,停止词分析器.在SimpleAnalyzer的基础上移除停止词(the,a,of...etc)默认是英文,可以自行设置停止词库.

StandardAnalyzer,标准分词器.这个很重要,是Lucene中最复杂的一个核心分词器.是先用WhitespaceAnalyzer后,去停止词,小写化后再还原拼写.

实例一:

原文:"The quick brown fox jumped over the lazy dogs"
WhitespaceAnalyzer :
[The] [quick] [brown] [fox] [jumped] [over] [the] [lazy] [dogs]
SimpleAnalyzer :
[the] [quick] [brown] [fox] [jumped] [over] [the] [lazy] [dogs]
StopAnalyzer :
[quick] [brown] [fox] [jumped] [over] [lazy] [dogs]
StandardAnalyzer:
[quick] [brown] [fox] [jumped] [over] [lazy] [dogs]

 

实例二:

原文: "XY&Z Corporation - xyz@example.com"
WhitespaceAnalyzer:
[XY&Z] [Corporation] [-] [xyz@example.com]
SimpleAnalyzer:
[xy] [z] [corporation] [xyz] [example] [com]
StopAnalyzer:
[xy] [z] [corporation] [xyz] [example] [com]
StandardAnalyzer:
[xy&z] [corporation] [xyz@example.com]

 

中文分词

由于汉字的词可以是一个或多个汉字组成的,既有简繁之分,又有不同语意的用法.所以中文分词是个很复杂的工作,还得有一个非常庞大,而完备的字典作为辅助.

这方面做的好的有ICTCLAS(支持C/C++、C#、Delphi、Java等主流的开发语言),Paoding(支持Java),盘古(支持.Net)等.

LUCENE.NET QQ交流群(81361051) 

posted @ 2010-09-07 16:59  寒 刚入门  阅读(733)  评论(0编辑  收藏  举报
刚入门的寒