CN101299212A - 一种基于比特映射的压缩键树的单词检索方法 - Google Patents

一种基于比特映射的压缩键树的单词检索方法 Download PDF

Info

Publication number
CN101299212A
CN101299212A CNA2008100289073A CN200810028907A CN101299212A CN 101299212 A CN101299212 A CN 101299212A CN A2008100289073 A CNA2008100289073 A CN A2008100289073A CN 200810028907 A CN200810028907 A CN 200810028907A CN 101299212 A CN101299212 A CN 101299212A
Authority
CN
China
Prior art keywords
word
node
key
tree
bit mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008100289073A
Other languages
English (en)
Other versions
CN101299212B (zh
Inventor
罗笑南
麦章灿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUANGZHOU ZHONGHENG ELECTRONIC TECHNOLOGY Co Ltd
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN2008100289073A priority Critical patent/CN101299212B/zh
Publication of CN101299212A publication Critical patent/CN101299212A/zh
Application granted granted Critical
Publication of CN101299212B publication Critical patent/CN101299212B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于比特映射的压缩键树的单词检索方法,它涉及到一种电子词典中单词检索的技术。它定义了非完全的压缩规则,可以将关键字为单字符的键树的结点进行压缩,形成关键字为多字符的结点。关键字为单字符的结点和关键字为多字符的结点不会为兄弟结点,并且使用了比特映射的方法表示了键树结构中是否存在对应的子结点且不需要经过比较,而是通过计算直接定位到该子结点的位置,虽然牺牲了一定的存储空间,但是检索速度将可以得到大大的提高。

Description

一种基于比特映射的压缩键树的单词检索方法
技术领域
本发明属于电子学习产品的技术领域,特别是涉及一种基于比特映射的压缩键树的单词检索方法。
背景技术
实用的电子词典单词量一般较大,通常需要使用索引改善词典结构,并使用相应的检索算法提高查找速度。
词典数据是一种与字符密切相关的数据,并且单词检索的过程可以看作一个树从根到叶子的路径,因此电子词典一般采用树的结构进行单词检索。
树结构的检索方式目前比较通用,如B树检索,B-树检索,B+树检索,hB*树检索,键树检索(也称TRIE索引树),PATRICIA树检索等。树结构检索方式,一般进行查找包含两种基本操作:(1)在树中查找结点;(2)在结点中查找关键字。
为了节省空间,一般采用压缩后的键树表示。键树的压缩方式有多种多样。为了最大限度的节省空间,完全压缩型的键树是如果存在度为1的子树,而因为度为1的子树的检索是唯一的,因此可以将一些度为1的子树进行压缩,使之成为单个结点。
树结构的单词检索,在一次查询过程中,不需预知待查询单词的长度,沿着树链逐字匹配即可;缺点是它的构造和维护比较复杂,在搜索的过程中也是需要进行单词比较,查询效率较低。而且每个结点一般都具备左右子树结点,浪费了一定的空间。
发明内容
本发明的目的在于克服现有键树检索技术的不足,提出一种非完全压缩型的键树表示,并在该非完全压缩型键树结构上采用了比特映射的单词检索方法,来提高电子词典中单词检索的效率,它可以在牺牲少量存储空间的基础上达到更加快速的查找单词的目的。
为了实现发明目的,采用的技术方案如下:
一种基于比特映射的压缩键树的单词检索方法,包括了以下步骤:
(1)根据单词分布生成非完全压缩的键树;
(2)在非完全压缩的键树上采用比特映射的数据结构;
(3)在基于比特映射关系的键树中进行单词检索。
上述的非完全压缩的键树的每一个结点都是定长的数据形式,其数据结构包括了:
(1)关键字:若关键字是数值,则结点中只包含一个数位,若关键字是单词,则结点中只包含一个文字或者一个字符;
(2)长子结点的指针:如果在单词词库中,根结点到其本身结点的路径所对应的单词前缀具有n个后继关键字,则该结点具有n个子结点;
(3)单词记录指针:如果根结点到其本身结点的路径所对应的字符串在词典中存储相应的单词对应,则存在单词记录指针指向对应单词的物理存储位置。
键树的非完全压缩是基于一定条件下进行的压缩,如果关键字为Value[i]的树结点TreePoint[i]和关键字为Value[k]的子结点TreePoint[k]可以进行非完全压缩合并,形成新的关键字为STRCAT(Value[i],Value[k])的子树结点TreePoint[i,k],我们定义其压缩规则如下:
(1)TreePoint[i]没有兄弟结点,即TreePoint[i]的父亲结点只有唯一的子结点;
(2)TreePoint[i]没有对应的单词,即根结点到TreePoint[i]的路径对应的字符串在词典中没有对应的单词存在,TreePoint[i]没有单词记录指针;
(3)TreePoint[k]没有兄弟结点,即TreePoint[i]只有唯一的儿子结点TreePoint[k]。
当遍历键树的时候,发现存在符合上述的压缩规则时,则可以进行键树的非完全压缩,压缩后的新结点TreePoint[i,k]的子结点的指针和单词记录指针是保存了压缩的两个结点中的子结点TreePoint[k]中的数据。键树的非完全压缩将关键字为单字符的键树的结点进行压缩,形成关键字为多字符的结点。没有压缩的树结点是定长的存储结构,压缩后的新结点TreePoint[i,k]是变长的存储结构。
鉴于基于Hash函数的检索方式在文件组织中越来越重要,Hash函数的快速定位在检索中的优越性,因此本发明采用了基于映射关系的压缩键树的检索方式。
在非完全压缩的键树中,如果某结点的子结点个数大于1,则该结点的所有子结点均为关键字为单字符的结点,即关键字为单字符的结点和关键字为多字符的结点不会为兄弟结点,因此我们在检索时只需要考虑关键字为单字符的结点的检索。
为了在压缩的键树上实现快速的映射方式,本发明在压缩后的键树上新建一个字段:比特映射码。比特映射码根据词典的字符个数而定,有多少个字符便有多少个比特,因此基于映射关系的压缩键树的检索方式一般只适合于单词中字符较少的词典,如英文词典中英文字符的个数为26个。
本发明采用了比特映射码的压缩键树,在单词检索的时候,可以根据键树中的比特映射码的比特流,不需要经过关键字的比较就能计算出需要检索的下一个结点的位置,因此能快速的进行单词检索的定位。
本发明的技术特点体现如下:
1、将电子词典中的单词进行键树的非完全压缩,节省了一定的存储空间,由于将结点进行压缩,键树结构的结点变得更少,因此在检索的时候同时也提高了检索的速度。
2、非完全压缩的键树中,关键字为单字符的结点和关键字为多字符的结点不会为兄弟结点,并且单字符关键字的结点都是定长的,因此可以采用比特映射码来实现单词的关键字为单字符的子结点的位置关系。
3、基于比特映射的单词检索方法,虽然占有了少量的存储空间,但是检索速度将可以大大的提高。
附图说明
图1为压缩后的键树表示图;
图2为基于映射关系的压缩键树示意图。
具体实施方式
下面结合附图对本发明进行进一步阐述:
图1中是单词的非完全压缩的键树表示图,左图为进行压缩前的键树表示,右图为压缩后的键树表示,其中的单框结构表示关键字为单字符的结点,双框结构表示关键字为多字符的结点。
图2为基于映射关系的压缩键树示意图,其中结点的数据结构分别包括了关键字,长子结点的指针,单词解释的记录指针和比特映射码。而单词的比特映射关系体现在比特码上。
本发明中的一种基于比特映射的压缩键树的单词检索方法,当单词检索到键树结点TreeNode[i](i从0开始)时,如果所要查找的单词的下一个字符为e(或者a~z),可以通过检测其比特映射码BITCODE[i],依次检测BITCODE[i]的比特流,看第5(对应1~26)个比特是否为1,如果该比特为1,则表示存在该结点存在关键字为e(或者为a~z)的后继子结点,否则,如果该比特为0,则表示没有该子结点,即单词的键树结构中,不存在所需要查找的单词,并返回。
由于键树的结点中都只有长子结点的指针,并且非完全压缩的键树中,关键字为单字符的结点和关键字为多字符的结点不会为兄弟结点,并且单字符关键字的结点都是定长的。因此我们检索多子结点的键树结构中,只需要考虑到关键字为单字符的结点的指针的定位关系。
通过查看键树结点TreeNode[i]的比特映射码BITCODE[i]的比特流,如果所查找的单词的下一个字符为e(或者a~z),我们可以计算出BITCODE[i]比特流中从开始到第5个比特(对应1~26)为止,值为1的比特个数Offset[i]个,并且TreeNode[i]的长子结点的指针为Position[i],关键字为单字符的键树结点的数据存储大小为NODESIZE,则第i+1个字符所对应键树结点的指针为Position[i]+Offset[i]*NODESIZE。
本发明中的一种基于比特映射的压缩键树的单词检索方法,其检索流程为:
(1)初始化输入单词的要对第i个字符进行匹配,i=0,键树开始检索结点为键树的根结点,进入(2);
(2)查看比特映射码,如果键树结点不存在关键字为输入单词第i个字符的结点,返回查无此词,退出,否则,进入(3);
(3)查看比特映射码,查找出键字为输入单词第i个字符的子结点的位置,进入该子结点进行下一步查找,进入(4);
(4)如果该子结点为所需要查找的单词,则找出该结点对应的单词记录指针,并查找到该记录显示出来,否则i+1,进入(2)。测试实例
算法的存储分析主要是针对普通的键树,完全压缩后的键树和非完全压缩的键树,其中的数据我们采用英英马词典EEM(总单词个数62852),并且在结点生成时采用忽略英文单词大小写和按单词名称升序排列的方式进行。
键树的存储情况统计对比如下表所示。
表1键树结构的存储情况对比表
  普通键树   完全压缩的键树   非完全压缩键树
  结点总数(个)   311450   93789   148827
  合并的结点个数(个)   0   55038   40876
  总存储空间大小(byte)   3114500   1155551   1650893
  存储空间比例   100%   37.10%   53.01%
通过上表的比较,我们可以得出,压缩后的键树较没有压缩的普通键树存储空间更小,存储空间节省了将近46.99%-62.90%,压缩的显著效果在于:普通键树中有超过65.34%的结点进行了压缩合并,把接近20多万个单字符关键字的结点压缩成4-5万个多字符关键字的结点。
采用比特码映射关系的检索算法效率如下所示。
表2键树结构的存储和检索性能对比表
  二分法的普通键树   顺序检索的完全压缩键树   比特映射的非完全压缩键树
  总存储空间大小(byte)   3425950   1155551   2082697
  最坏检索次数(次)   70   88   21
  平均检索次数(次)   23.55   37.02   8.04
  存储*检索(MB*次)   76.94   40.80   15.97
由表1和表2可得,完全压缩的键树比非完全压缩的键树多使用了将近50%的存储空间,完全压缩的键树在存储空间这方面具有巨大的优势。
此外,采用了比特映射关系的非完全压缩键树,在单词的检索过程中,检索性能非常明显,其平均检索次数8.04次更是远远低于其它键树20次左右的平均检索次数,并且采用比特映射关系的非完全压缩键树,其最坏检索次数也只有21次,可见其检索性能显著高于其他结构的键树检索。

Claims (7)

1、一种基于比特映射的压缩键树的单词检索方法,其特征在于包括以下步骤:
(1)根据单词分布生成非完全压缩的键树;
(2)在非完全压缩的键树上采用比特映射的数据结构;
(3)在基于比特映射关系的键树中进行单词检索。
2、根据权利要求书1所述的一种基于比特映射的压缩键树的单词检索方法,其特征在于定义了非完全的压缩规则,可以将关键字为单字符的键树的结点进行压缩,形成关键字为多字符的结点。
3、根据权利要求书1或2所述的一种基于比特映射的压缩键树的单词检索方法,其特征在于关键字为单字符的结点和关键字为多字符的结点不会为兄弟结点,如果某结点的子结点个数大于1,则该结点的所有子结点均为关键字为单字符的结点。
4、根据权利要求书1所述的一种基于比特映射的压缩键树的单词检索方法,其特征在于关键字为单字符的键树结点都是定长结构形式,关键字为多字符的键树结点是变长的数据流形式。
5、根据权利要求书1所述的一种基于比特映射的压缩键树的单词检索方法,其特征在于比特映射码根据词典的字符个数而定,有多少个字符便有多少个比特。
6、根据权利要求书1所述的一种基于比特映射的压缩键树的单词检索方法,其特征在于采用了比特映射码的压缩键树,在单词检索的时候,可以根据键树中的比特映射码的比特流,查找出是否有对应子结点存在。
7、根据权利要求书1所述的一种基于比特映射的压缩键树的单词检索方法,其特征在于采用了比特映射码的压缩键树,在单词检索的时候,可以根据键树中的比特映射码的比特流,不需要经过关键字的比较就能计算出需要检索的下一个结点的位置。
CN2008100289073A 2008-06-20 2008-06-20 一种基于比特映射的压缩键树的单词检索方法 Expired - Fee Related CN101299212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100289073A CN101299212B (zh) 2008-06-20 2008-06-20 一种基于比特映射的压缩键树的单词检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100289073A CN101299212B (zh) 2008-06-20 2008-06-20 一种基于比特映射的压缩键树的单词检索方法

Publications (2)

Publication Number Publication Date
CN101299212A true CN101299212A (zh) 2008-11-05
CN101299212B CN101299212B (zh) 2010-12-08

Family

ID=40079043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100289073A Expired - Fee Related CN101299212B (zh) 2008-06-20 2008-06-20 一种基于比特映射的压缩键树的单词检索方法

Country Status (1)

Country Link
CN (1) CN101299212B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989063A (zh) * 2015-02-09 2016-10-05 大唐软件技术股份有限公司 视频检索方法和装置
CN107862026A (zh) * 2017-10-31 2018-03-30 北京小度信息科技有限公司 数据存储方法及装置、数据查询方法及装置、电子设备
CN111046938A (zh) * 2019-12-06 2020-04-21 邑客得(上海)信息技术有限公司 基于字符串多模式匹配的网络流量分类识别方法和设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989063A (zh) * 2015-02-09 2016-10-05 大唐软件技术股份有限公司 视频检索方法和装置
CN105989063B (zh) * 2015-02-09 2019-11-12 大唐软件技术股份有限公司 视频检索方法和装置
CN107862026A (zh) * 2017-10-31 2018-03-30 北京小度信息科技有限公司 数据存储方法及装置、数据查询方法及装置、电子设备
CN107862026B (zh) * 2017-10-31 2021-01-01 北京小度信息科技有限公司 数据存储方法及装置、数据查询方法及装置、电子设备
CN111046938A (zh) * 2019-12-06 2020-04-21 邑客得(上海)信息技术有限公司 基于字符串多模式匹配的网络流量分类识别方法和设备
CN111046938B (zh) * 2019-12-06 2020-12-01 邑客得(上海)信息技术有限公司 基于字符串多模式匹配的网络流量分类识别方法和设备

Also Published As

Publication number Publication date
CN101299212B (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
Ferragina et al. An alphabet-friendly FM-index
US10498357B2 (en) Method, apparatus, system, and computer program product for data compression
CN102024047B (zh) 数据检索方法及装置
CN104283567A (zh) 一种名称数据的压缩、解压缩方法及设备
CN107609356A (zh) 基于标签模型的文本无载体信息隐藏方法
CN101241499B (zh) 在高内存访问位宽下实现Patricia查找树的方法
CN102103416B (zh) 一种汉字输入方法和装置
US7199729B2 (en) Character code conversion methods and systems
EP1197885A3 (en) Method of and apparatus for retrieving data representing a postal address from a database of postal addresses
CN103020054B (zh) 模糊查询方法及系统
CN106557777B (zh) 一种基于SimHash改进的Kmeans文档聚类方法
CN110196968B (zh) 一种基于特定字符串查找的简体中文编码方式自动识别系统及方法
CN101299212B (zh) 一种基于比特映射的压缩键树的单词检索方法
CN101727499B (zh) 一种存储单词库、及搜索单词的方法及系统
CN103646029A (zh) 一种针对博文的相似度计算方法
CN100498794C (zh) 索引压缩的方法和装置
CN101271478A (zh) 基于聚类分块的只读兴趣点数据库压缩存储方法
CN100578943C (zh) 一种优化的霍夫曼解码方法和装置
CN102722526B (zh) 基于词性分类统计的重复网页和近似网页的识别方法
CN115982436A (zh) 一种流数据的高效检索、压缩系统及压缩方法
CN101271466B (zh) 一种基于自适应字典树的电子词典单词检索方法
CN102073682A (zh) 一种基于编码方式的文档数据恢复系统及其快速恢复方法
CN110263339B (zh) 一种基于维吾尔文音节的可检索式压缩和解压方法
CN112506876A (zh) 一种支持sql查询的无损压缩查询方法
CN112417815B (zh) 一种大数据处理中类别组合数据的动态编码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: GUANGZHOU ZHONGHENG ELECTRONIC TECHNOLOGY CO., LTD

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20100721

Address after: 510275, room 415, 401 Garden Road, Zhongshan University, Xingang West Road, No. 135, Guangzhou West Road, Guangzhou, Guangdong

Applicant after: Sun Yat-sen University

Co-applicant after: Guangzhou Zhongheng Electronic Technology Co., Ltd.

Address before: 510275, room 415, 401 Garden Road, Zhongshan University, Xingang West Road, No. 135, Guangzhou West Road, Guangzhou, Guangdong

Applicant before: Sun Yat-sen University

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101208

Termination date: 20140620

EXPY Termination of patent right or utility model