码迷,mamicode.com
首页 > 编程语言 > 详细

双数组原理在分词字典中的应用

时间:2015-01-08 23:57:53      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:

首先是将分词字典构造成检索树。通常情况下,分词字典是完全的文本文件,其中每一行代表一个词

技术分享

例如表3-1所示的字典可以构造成如图3-8所示字典检索树的形式。

技术分享

由此一来,当利用该字典进行分词时,可以将待匹配字符串作为状态转移的字符输入,在字典检索树中进行遍历,从而判断该字符串是否为字典中存在的词。其算法如下:

1 Begin

2   c = FirstCharacter(s); //s为待匹配字符串

3   while(c不为空)

4          Begin

5                  if(NoBrunchInDictionary(c))     //无转移路径

6                         return false;           

7                  endif

8                c = NextCharacter(s);

9          End

10  if(此时状态为结束状态)

11         return true

12  else

13         return false

14  endif

15End

 

字典检索树在计算机中可以利用双数组进行存储。当分词系统频繁的调用分词字典进行分词时,由于系统对分词字典进行了索引并采取了双数组原理进行性能优化,从而使分词速度得到极大提高。

双数组原理在分词字典中的应用

标签:

原文地址:http://www.cnblogs.com/way1987/p/4212023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!