Mysoo2 站内搜索引擎安装指南
百度阿拉丁平台剑指垂直搜索
谷歌测试在搜索建议中放广告
谷歌与百度的八年“暗战”
Google公布2008年度搜索排行榜
传戴尔PC将放弃谷歌选择微软Live搜索引擎
雅虎高级搜索专家陆奇将任微软数字部门高管
微软不娶雅虎 只想买搜索业务
微软退出搜索市场能对Google造更大伤害
雅虎打造BOSS垂直搜索引擎
谷歌百度口水战升级 比拼"谁更懂中文"
从百度“竞价门”看企业的社会责任感
山寨版搜索引擎“百谷虎”雷倒网友
雅虎搜索技术高管跳槽至微软
面对“搜索门” 百度公司力挽声誉
内容更新频率对SEO的影响


 ·Larbin网站爬虫简明使用说明
 ·从Larbin看互联网爬虫设计
 ·Lucene1.9搜索引擎改进特性列表
 ·全文检索引擎Lucene源码分析-a...
 ·自建Web搜索引擎和站内搜索引擎攻略...





如何为Lucene增加中文分词功能


 共1页 

一、分词功能介绍

分词模块对于搜索的重要性不言而喻。例如,没有分词时,搜索“和服”会出现“产品和服务”,搜索“海尔”会出现“海尔德”,搜索“华为”会出现“清华为何”。所以有必要给文本增加词的边界信息以提高检索精确度。

       本文将介绍猎兔推出的支持Lucene的准确可用的中文分词模块。

二、执行方法

       可以在命令行执行分词测试:

>java "-Ddic.dir=D:/lg/work/SSeg/Dic" -classpath D:\JAVA\lib\lucene-1.4.jar;D:\JAVA\lib\seg.jar test.seg.result.CnTokenizer

       其中系统参数dic.dir指定数据文件路径,如:

"-Ddic.dir=D:/lg/work/SSeg/Dic"

       或者编写一个用于测试的Jsp页面。

三、调用接口

seg.result.CnTokenizer,该类继承org.apache.lucene.analysis.Tokenizer

一个简单的使用例子是:

import java.io.Reader;

import java.util.Set;

import org.apache.lucene.analysis.Analyzer;

import org.apache.lucene.analysis.LowerCaseFilter;

import org.apache.lucene.analysis.StopFilter;

import org.apache.lucene.analysis.TokenStream;

/**

 * @author luogang

 *

 */

public class CnAnalyzer extends Analyzer {

       //~ Static fields/initializers ---------------------------------------------

       /**

        * An array containing some Chinese words that are not usually

        * useful for searching.

        */

       private static String[] stopWords = {

              "www","","","","","",

              "","","","","","",

              "","","","","","",

              ""};

       //~ Instance fields --------------------------------------------------------

       /** stop word list */

       private Set stopSet;

       //~ Constructors -----------------------------------------------------------

       /**

        * Builds an analyzer which removes words in STOP_WORDS.

        */

       public CnAnalyzer() {

              stopSet = StopFilter.makeStopSet(stopWords);

       }

       /**

        * Builds an analyzer which removes words in the provided array.

        *

        * @param stopWords stop word array

        */

       public CnAnalyzer(String[] stopWords) {

              stopSet = StopFilter.makeStopSet(stopWords);

       }

       //~ Methods ----------------------------------------------------------------

       /**

        * get token stream from input

        *

        * @param fieldName lucene field name

        * @param reader input reader

        *

        * @return TokenStream

        */

       public final TokenStream tokenStream(String fieldName, Reader reader) {

              TokenStream result = new CnTokenizer(reader);

              return new StopFilter(result, stopSet);

       }      

}

四、输出结果介绍

输出结果中的词性标注代码说明如下:

代码

名称

帮助记忆的诠释

Ag

形语素

形容词性语素。形容词代码为a,语素代码g前面置以A

a

形容词

取英语形容词adjective的第1个字母。

ad

副形词

直接作状语的形容词。形容词代码a和副词代码d并在一起。

an

名形词

具有名词功能的形容词。形容词代码a和名词代码n并在一起。

b

区别词

取汉字“别”的声母。

c

连词

取英语连词conjunction的第1个字母。

Dg

副语素

副词性语素。副词代码为d,语素代码g前面置以D

d

副词

adverb的第2个字母,因其第1个字母已用于形容词。

e

叹词

取英语叹词exclamation的第1个字母。

f

 

方位词

取汉字“方”

g

 

语素

 

绝大多数语素都能作为合成词的“词根”,取汉字“根”的声母。

h

 

前接成分 

取英语head的第1个字母。

i

 

成语

取英语成语idiom的第1个字母。

j

 

简称略语 

取汉字“简”的声母。

k

 

后接成分

 

l

习用语 

习用语尚未成为成语,有点“临时性”,取“临”的声母。

m

 

数词 

取英语numeral的第3个字母,nu已有他用。

Ng 

名语素 

名词性语素。名词代码为n,语素代码g前面置以N

n

 

名词

取英语名词noun的第1个字母。

nr 

人名

名词代码n和“人(ren)”的声母并在一起。

ns

 

地名

名词代码n和处所词代码s并在一起。

nt

 

机构团体

“团”的声母为t,名词代码nt并在一起。

nz 

其他专名 

“专”的声母的第1个字母为z,名词代码nz并在一起。

o

 

拟声词 

取英语拟声词onomatopoeia的第1个字母。

p

介词

取英语介词prepositional的第1个字母。

q

 

量词

 

取英语quantity的第1个字母。

r 

代词 

取英语代词pronoun的第2个字母,p已用于介词。

s 

处所词 

取英语space的第1个字母。

Tg

时语素 

时间词性语素。时间词代码为t,在语素的代码g前面置以T

t

时间词 

取英语time的第1个字母。

u

助词 

取英语助词auxiliary

Vg

 

动语素 

动词性语素。动词代码为v。在语素的代码g前面置以V

v

 

动词

取英语动词verb的第一个字母。

vd

副动词

直接作状语的动词。动词和副词的代码并在一起。

vn 

名动词 

指具有名词功能的动词。动词和名词的代码并在一起。

w

标点符号

 

x 

非语素字 

非语素字只是一个符号,字母x通常用于代表未知数、符号。

y

 

语气词 

取汉字“语”的声母。

z 

状态词 

取汉字“状”的声母的前一个字母。

五、分词效果

搜索“美的”,我们的结果是前22条全部是与“美的”品牌相关的新闻,百度的结果是前4条是相关的,中搜的结果是前10条中有4条是相关的。

 共1页 

来源: | 作者: | 发表时间: 2006-12-22 11:35:00

 

 


Copyright © 2000-2008 Mysoo.com.cn, All Rights Reserved Mysoo.com.cn 版权所有                                  把Mysoo添加到 Google   沪ICP备06051139