设为首页 收藏本站
| 数控仿真 | 技术文章 | 公路造价 | 文档管理软件 |
| 幸运之门彩票网 | 彩票新闻 | 免费招聘 | 百科问吧 | 百姓族谱 | 小游戏网 |
奥运会各项比赛简介级规则全接触
文档管理 | 数据库技术 | 全文检索 | 中文分词 | 文件格式 | Lucene | FireBird | IIS | 免费小游戏 | 彩票论坛
Google
北京紫气东来网络公司 > 技术文章 > Lucene > 向LUCENE增加中文分词功能
全文检索 | Lucene |
向LUCENE增加中文分词功能

发表:北京紫气东来网络公司www.chianwiss.com,本文被阅读: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个字母,n,u已有他用。
Ng名语素名词性语素。名词代码为n,语素代码g前面置以N。
n名词取英语名词noun的第1个字母。
nr人名名词代码n和"人(ren)"的声母并在一起。
ns地名名词代码n和处所词代码s并在一起。
nt机构团体"团"的声母为t,名词代码n和t并在一起。
nz其他专名"专"的声母的第1个字母为z,名词代码n和z并在一起。
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条是相关的。


wiss文档协同系统三分钟解决一切文档管理的烦恼,帮您完成公司文档到资产的转变!!!
更多功能欢迎访问 http://www.chinawiss.com

 北京紫气东来网络公司 > 技术文章 > Lucene
·一个例子学懂搜索引擎(LUCENE) (7)
·用LUCENE为数据库搜索建立增量索引 (7)
·LUCENE 索引数据库 (7)
·ANNOTATED LUCENE(中文版) (6)
·LUCENE索引文件格式分析 (22)
 最新文章
·向LUCENE增加中文分词功能
·统计语言模型在中文处理中的一个应用
·文档管理防止企业内部泄密
·浅析企业文档管理排序问题及方法
·数据库的要求与特性
·数据库的基本结构
·数据库的定义
·什么叫关键字密度?
·搜索引擎的索引和搜索
·BAIDU分词算法分析之一
·中文分词和搜索引擎
·中文分词算法精髓上
·中文分词的应用
·分词中的难题
·中文分词技术
·中文分词和搜索引擎
·什么是中文分词
·一个例子学懂搜索引擎(LUCENE)
·用LUCENE为数据库搜索建立增量索引
·LUCENE 索引数据库
·一个关于FIREBIRD数据库的SQL查询方法
·MSSQL数据库转到FIREBIRD数据库的问题
·FIREBIRD的备份工具(NBACKUP)介绍
·FIREBIRD常用SQL
·FIREBIRD/INTERBASE内置函数使用说明
·用了下FIREBIRD,发现真的不错哦
·FIREBIRD数据库的修复
·数据库中LOW CACHE RBA和ON DISK RBA的区
·使用DB2DART降低管理表空间的高水位标记
·快速了解数据仓库及数据建模的常用新术语
·国外数据中心流行“液冷门”
·IT业成为压力最大行业之一
·软件测试工程师笔试题中数据库试题集锦
·数据库开发程序员在开发过程中的注意事项
·带你深入了解高效的内存数据库系统FASTD
·使用链接服务器在异构数据库中查询数据
·数据库审计系统核心指标浅析
·设计应用程序时避免阻塞的八个准则
·ORACLE新手经常碰到的六个错误及解决方案
·嵌入式数据库的现状和未来
·分区表、分区索引和全局索引
·开源数据库SHARDING技术
·甲骨文数据库涨价18% IBM降价抢客户
·数据库的三重境界
·浅谈数据库管理系统在近些年内的发展趋势
·数据库技术的发展趋势
·WISS“三不”原则 引发内容管理新变革
·WISS:企业文档管理的百元级解决方案
·中文搜索引擎技术揭密:中文分词
·ANNOTATED LUCENE(中文版)
 热门文章
·PDF转成WORD TXT EXCEL RTF软件
·JAVA抽取WORD和PDF格式文件的四种武器
·对PDF文件的文本抽取(PDFBOX处理中文PDF
·PDF与WORD之间提取和转换经验浅谈
·用C#制作PDF文件全攻略
·希望PDFLIB TET― 理想的文本提取软件包
·LUCENE索引文件格式分析
·从HTML文件中抽取正文的简单方案
·全文检索概念
·天灾还是人祸,让你知道最爱是谁?
·LUCENE系统结构分析
·C#抽取WORD文档内容
·LUCENE的应用、特点及优势
·中文搜索引擎技术揭密:网络蜘蛛
·DELPHI自动化控制EXCEL
·DELPHI与WORD之间的融合技术
·VC实现类似EXCEL文件夹式样的标签控制
·用DELPHI编制WINDOWS95下的钩子函数
·网页搜索引擎竞争分析
·刑侦角度看搜索
·论数据库技术的发展史
·信息检索的核心支撑技术
·真正搜索高手
·搜索引擎优化
·JDBC HIBERNATE 连接数据库连接字符串大
·搜索引擎ANTISPAM系统设计指南
·一个关于FIREBIRD数据库的SQL查询方法
·用DELPHI编制WINDOWS95下的钩子函数
·全文检索概念
·文档资产,"固定"还是"流动"?
免费小游戏
宠物连连看

真人美女换装

美女脱衣服

美女胴体猜猜看

调戏床上美女

黄金矿工
“法西斯”这个词由什么演化而来?A:人名 B:地名 C:刑法名 D:刑具名
| 2008-09-05 | 首页 | 功能介绍 | 免费下载 | 产品购买 | 在线服务 | 典型应用 | 技术文章 | 联系我们 |