中文搜索引擎的自动分词算法

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中文搜索引擎的自动分词算法
!"#$%&’#(#($)!*+$’(#,-.$/#,01,()0.01,&’&2#0’30&’2,4)+()0

微5
西南财经大学成都
67889:;
<摘要=提出了基于关键词搜索的两种自动分词算法>均以双词及三词作为搜索的最小单位5或基本单位;>
一种以栈实现?一种不借助栈且动态匹配实现>通过此两种算法均可进行发布网站@网页前网名入数据库的关键词标识提取及实现匹配后有效性的确认?以提高中文搜索引擎的搜索准确率及获得由网名入数据库前后同步性决定的快速响应><
关键词=中文搜索引擎?自动分词?栈?非栈?关键词搜索
!A 3B C !1B D E FG H I F J G K I L I L F MG N O F K L I P Q RS G R T UF MV T W E F K UR T G K X P L M OG K TO L Y T ML MI P L RG K I L X N T ?L ME P L X PI E FE F K U RF K I P K T T
E F K U R G K T H R T U G R I P T Q L M L Q H Q H M L I 5F K S G R L X H M L I ;L MR T G K X P L M O ?F M T L R L Q J N T Q T M I T U S W H R T F Z R I G X V ?G M U I P T F I P T K L R M F I S H I S W I P T
E G W
F Z U W M
G Q L X Q G I X P L M O [\F I PG N O F K L I P Q R X G MT ]I K G X I I P T V T W E F K U L U T M I L Z L X G I L F MZ K F Q G M T I E F K VM G Q T T M I T K L M O I P T U G I G S G R T S T Z F K T S K F G U X G R I M T I M F U ?Z K F M I J G O T ?G M U X F M Z L K Q I P T Y G N L U L I W G Z I T K Q G I X P L M O R F G R I F L Q J K F Y T I P T P L O PG X X
H K G X W F Z ^P L M T R T X P G K G X
I T K R T G K X P
T M O L M OG M UG X P L T Y T _H L X VK T R J F M R T U T I T K Q L M T US WR W M X P K F M L R Q S T Z F K T G M UG Z I T K M T I E F K VM G Q T T M I T K L M OI P T U G I G S G R T [‘4a bc C d 3^P L M T R T X P G K G X I T K R T G K X PT M O L M O ?G H I F J G K I L I L F M ?R I G X V ?M F M R I G X V ?V T W E F K UR T G K X P
自动分词系统是为中文搜索做预期和基础性的工作>通过常用词库的支持?它能在一定程度上智能地根据用户需要搜索到相关网站@网页及内容>本文将以类^语言描述两种不同的分词算法>
e 算法的支撑
e [e 操作对象
定义75双词;f 存在于词库中以两个字构成的常用词>
定义g 5三词;f 存在于词库中以三个字构成的常用词>
算法的操作对象?即基本单位为双词或三词>范围缩小的依据为f h 单字词应以直接匹配的方式实现i j 四字或五字构成的词可用直接匹配的方式实现?其中可分解成若干双词或三词的词也可用逻辑组合的方式实现搜索>
e [k 基本词词性针对网名?l 自动分词m 的分词范围缩小在动词和名词上?
其余为非重要成分>e [n 词库
作为自动分词系统的基础和载体?词库是必然的>要求对汉语常用词作穷举式的逐一调整录入?并以名词和动词进行分类得到词库>词库是本文算法的前提>
k 算法的实现
k [e 算法
k [e [e 算法框架
此算法从左至右?以双词为基准?向右扩展>若发
现同一个字或一个词包含在左右相邻的两常用词内?则经判断分析?筛选出合乎逻辑的关键词入关键词组?
防止了l 断章取义m 的可能>特点为实现了无回溯的确定性算法>
注意f 此算法以双词为研究起点?同时进行关键词为三个字的词即三词的提取>前两字不为词?三个字才
为词的情况由子程序X P G K o p T ]I qF K U 5X F M R I X P G K o
;解决>
k [e [k 算法的实现
变量说明f R H Q rr 关键词计数器>
s \
rr 作为当前基准的双词对象>V T W t u rr 关键词组>v D r 当前双词向右扩展一位所得为三词>
\
r 当前双词的右两个字组成双词>w r 当前双词的右字向右扩展一位成双词>
D r 当前双词的右三个字组成三词>
o g 88g 8789收到?g 88g 8x g y 改回
oo
蒋微?女?7y z 7年生?y y 级在读本科生?
攻读方向f 信息工程?信息管理>{6g {5
总g z z ;中文搜索引擎的自动分词算法
g 88g 年
表!研究生态学课题
"#$%&’()’)*+,-$./*+,01$2#3456
789:研究;:研究生;:生态;:生态学;9:研究;:生态;<:生态;:生态学;1=>>1=>><:生态学;:课题;?:课题;1=>>1=>>1=>>?:课题;1=>>
表@AA 操作词入栈过程AA
"#$%
"#B C D
E F
9F/:研究;G 90/:研究生;G 90<F/:研究;G 90/:研究生;G 90?F/:研究;G 90/:研究生;G 90/:生态;G 90/:生态学;G 90H F/:研究;G 90/:研究生;G 90/:生态;G 90/:生态学;G 90I F/:研究;G 90/:研究生;G 90/:生态;G 90/:生态学;G 90J
F/:研究;G 90/:研究生;G 90/:生态;G 90/:生态学;G 90/:课题;G 90
表K AA 分词过程AA
"#$%"#B C D
&3)3*+,-$./*+,0L C #M 4N
E
F/:研究;G 90/:研究生;G 90/:生态;G 90/:生态学;G 90/:课题;90
E
9F/:研究;G 90/:研究生;G 90/:生态;G 90/:生态学;G 90/:课题;G 90
/:生态学;G 90
9:
课题;<F/:研究;G 90/:研究生;G 90/:生态;G 90/:生态学;G 90/:生态;G 90<
:
生态学;/:生态;G E 0
?F/:研究;G 90/:研究生;G 90/:生态;G E 0/:研究生;G 90/:研究生;G E 0
H F/:研究;G 90/:研究生;G E 0/:研究;G 90
I
F
/:研究;G 90
?
:
研究;O
P 当前双词的右字向右扩展两位成三词Q 用到的数据结构R F 6$S M N $19
E #.%$6$S *#5+C #T C U B 5V 456/W 0G X )Y Z $,$N #G )Y Z $,$N #D $./10G M N #*+,G 因篇幅所限[算法程序略Q
@\!\K 分析过程举例例:研究生态学课题;[如表9所示Q @\@算法二
@\@\!算法框架
从算法一可以看出[自动分词的实质在于以当前词为基准[尽可能地向右扩展[在正确分词的基础上[取当前词字数最大Q 若换一个思路[从左至右分词[算法将更简炼[层次将更清晰Q 本节将介绍此种算法Q 特点为R 用栈实现且栈内元素内含有淘汰标识符的结构体Q @\@\@算法的实现变量说明R
&’P 作为当前操作对象的"$Z $,$N #
元素Q )3P 栈顶"$Z $,$N #元素Q &3\V 6
78P 作为当前操作对象的基本词Q &3\*N P 当前基本词的淘汰标识量Q )3\V 6
78P 栈顶基本词Q )3\*N P 栈顶基本词的淘汰标识量Q *+,P 关键词计数器Q D $.
/0P 关键词组Q ’[)P ]N M #"%子程序的局部变量Q
V 67M 8P M 为正[表基本词的前M 个字G M
为负[表基本词的后M 个字G M 属于7^<[^9[9[<8Q 用到的数据结构R
F 6$S M N $")L _-]1])"]‘Y <E F 6$S M N $")L _-]1_&Y aY 1)9E F 6$S M N $19
E #.%$6$S *#5+C #T C U B 5V 6
/W 0G M N #*N G X "Y Z $,$N #
G #.%$6$S *#5+C #T "Y Z $,$N #A b B *$
G "Y Z $,$N #A #4%
G M N #*#B C D *M c $G X >"#B C D
G #.%$6$S *#5+C #T C U B 5D V /W 0G X -Y Z $,$N #G -Y Z $,$N #D $./10G M N #*+,dE
G >"#B C D"
G 因篇幅所限[算法二程序略Q
@\@\K 分析过程举例例R :研究生态学课题;[如表<e
表?所示Q K 实验结果
实验对象为:搜狐;网中随机抽取的<E E 句网名Q 实验结果7准确率8为R 算法一9E E f[算法二g g \I fQ
h 分析及结论
两种算法对自动分词有较高的准确率Q 算法一可完全胜任中文的自动分词G 算法二有E \I f 的偏差[均为某一网名中有两个或两个以上不相互覆盖且相隔不远的基本词[包含有同一个字或双词而丢失了其中一个基本词Q 解决的办法[可以对栈内元素增添一个覆盖位标识Q
针对内容搜索[拟定对中文搜索的下一个研究目标为实现内容搜索的按语义查找Q
参考文献
9严蔚敏[吴伟民\数据结构G 北京R 清华大学出版社[9g g J R H J
iH W
j
W <j 第9I 卷第J 期
电脑开发与应用
7总<k g 8。

相关文档
最新文档