整词二分、逐字二分的分词词典机制

整词二分、逐字二分的分词词典机制:

这是一种广为使用的分词词典机制.其结构通常分为三级,前两级为索引

1.首字散列表

  词首字散列函数根据汉字的国标区位码给出。通过一次Hash运算即可直接定位汉字在首字散列表中的序号。也就是将词首字的国标码与其在首字散列表中的序号相对应。

  我国的GB2312-80标注规定汉语字符的交换码由两个ASCII码构成:第一个是区码,取值从OxA1到OxF7,共87个区,第二个是位码,从OxA1到0xFE,共94位。区码为OxA1到0xAE的存储全角符号,如标点、字母等。GB2312-80汉字的编码空间是BOA1-FIFE,共有72 * 94 = 6768个码位,实有6763个汉字,其中一级汉字3755个,接着是5个空位,后面是3008个二级汉字。设id是词首字在首字散列表中的序号,c1和c2是词首字的区码和位码,利用Hash方法求Id则有:

Id = (c1–176) * 94 + (c2 - 161)

这种Hash方法实质上是一种一一映射。

首字散列表的一个单元包括两项内容:

1) 入口项数(4字节):以该字为首字的词的个数。

2) 第一入口项指针(4字节):指向第一入口项在词索引表中的位置。

2.词索引表

因为词的长度可变(实际系统中还包括附属于该词的各类信息),故以选择不定长存储为宜,此外必须实现对词的随机访问,这两条决定了必须建立词索引表。

词索引表的一个单元仅含一项内容:

1) 词典正文指针(4字节):指向词在词典正文中的位置。

3.词典正文

以词为单位的有序表,词典中的同一首字的词条按升序排列,通过词索引表和词典正文的配合,很容易实现指定词在词典正文中的整词二分快速查找。

 

转载于:https://www.cnblogs.com/lijingpeng/archive/2012/04/18/2455881.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值