CN1786962A - 完美双数组trie树词典管理与检索方法 - Google Patents

完美双数组trie树词典管理与检索方法 Download PDF

Info

Publication number
CN1786962A
CN1786962A CN 200510130690 CN200510130690A CN1786962A CN 1786962 A CN1786962 A CN 1786962A CN 200510130690 CN200510130690 CN 200510130690 CN 200510130690 A CN200510130690 A CN 200510130690A CN 1786962 A CN1786962 A CN 1786962A
Authority
CN
China
Prior art keywords
dictionary
trie tree
array
arrays
state
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
CN 200510130690
Other languages
English (en)
Other versions
CN100444167C (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.)
Ling Zhong Zhongke software (Beijing) Co., Ltd.
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2005101306903A priority Critical patent/CN100444167C/zh
Publication of CN1786962A publication Critical patent/CN1786962A/zh
Application granted granted Critical
Publication of CN100444167C publication Critical patent/CN100444167C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及自然语言处理领域和信息检索领域,特别是一种完美双数组TRIE树词典管理与检索方法。将Trie树结构转换成两个线性数组表示,并在构造过程中提出了一种优化策略。同时提出一种自适应编码方案,以字节为编码单位对字符进行自动编码。包括步骤:(1)将词典用Trie树结构表示;(2)将Trie树转换成两个线性数组;(3)根据用户的输入,利用生成的两个数组实现对词典的检索。其具体步骤包括:步骤1,对词典以字节为单位进行自动编码生成序列码文件;步骤2,将词典用Trie树表示,利用序列码文件将Trie树转换成两个数组来表示;步骤3,在生成的两个线性数组中检索用户提交的词。

Description

完美双数组TRIE树词典管理与检索方法
技术领域
本发明涉及自然语言处理领域和信息检索领域,特别是一种完美双数组TRIE树词典管理与检索方法。
背景技术
对于大量数据的存储和搜索,目前通常都采用索引结构来实现。一般常用的索引结构包括线性索引表、倒排表、散列(Hash)表以及各种搜索树。
线性索引是一种静态的索引结构,不利于更新,每当做依次更新时需要改变索引表中各个索引项的位置。倒排表也是静态索引,它与线性索引表一样,搜索其中数据的时候都只能顺序搜索或者折半搜索。
散列(Hash)方法则是在表项的存储位置与它的关键码之间建立一个确定的对应函数关系Hash(),使每个关键码与结构中的一个存储位置相对应。搜索时只需要对表项的关键码进行函数计算,求得的函数值即是表项的存储位置,避免了多次关键码比较,因此搜索速度比较快。由于有可能经过散列函数的计算,把不同的关键码映射到同一个散列地址上,也就是产生冲突(一般较常用的解决冲突的办法是利用Hash桶,将地址相同的关键码放入一个桶内,然后再在桶内进行查找)。所以对于散列方法来说,散列函数的设计很关键,应该选择一个计算简单并且地址分布比较均匀的散列函数,尽量减少冲突。Douglas C.Schmidt提出过一种完美Hash函数(Perfect Hash Function)生成方法,该方法生成的Hash函数能保证得到的Hash值没有冲突,也就是说每一个Hash值都是唯一的。但是这种方法目前来说还有缺陷,实验显示,关键词总数为300时生成的Hash表大小为1042,还只是关键词总数的3倍多一点;当关键词增长到685时,Hash表大小会增长到3833,是关键词总数的5倍还不止。由此可知,当数据量较大时用该方法生成的Hash表会很大,空间浪费会很严重。并且数据量较大时,生成一个完美Hash函数极费时间。
搜索树包括B树、B+树、Trie树等以及它们的各种变形。不同的树根据自身的特点应用于不同的数据环境中。索引树的数据结构相对来说比其他索引结构要复杂,但是好的搜索树方法用在合适的环境下可以具有很高的查询效率。
Trie树的查询效率就比较高,用Trie树搜索一个关键码的时间与关键码自身及其长度有关,最快是O(1),即在树的第一层即可判断是否搜索到,最坏的情况是O(n),n为Trie树的层数。由于很多时候Trie树的大多数结点分支很少,因此Trie树结构空间浪费比较多。而当Trie树结点分支数非常多时,进行折半查找又会增加更多的时间开销。
对于一个词典来说,最重要的功能就是查找,尤其是像自然语言处理这类应用中,需要频繁的在词典中进行查询以获取词语信息。所以数据查找的效率对词典方法来说是非常重要的。
目前用于组织词典最常用的索引方法主要有两种,一种是Trie索引树,一种是散列(Hash)表结构。
基于Trie索引树的词典机制一般是对词的首字计算hash值,建立首字hash表,然后建立Trie索引树。检索时只需沿树链进行逐字匹配,不需预知待查词的长度,查找一个词所需的时间只与该词的长度有关。但是由于单词树枝比较多,所以Trie索引树的空间浪费比较严重。有实验结果表明,Trie树结构的词典占用空间要比基于Hash索引的词典占用空间大上将近一倍。
基于Hash索引的词典机制就是构造一种Hash函数来计算词语的Hash值,将Hash值相同的词语放入一个桶内,检索时先计算待查词的Hash值,然后进入相应的Hash桶内进行二分查找。常用的有首字Hash和两字Hash法。首字Hash是利用首字生成Hash值,将Hash值相同的词放在同一个Hash桶中,然后在桶中进行二分查找。两字Hash则是在首字Hash基础上的一种改进。目前两字Hash有两种方法,一是对词语的前两个字依次顺次建立Hash索引,构成深度为2的Trie子树,对剩余的字符串再进入相应的Hash桶内进行二分查找;二是根据前两字内码计算Hash值,建立一级Hash索引表,然后进入Hash值相同的表中进行二分查找。采用Hash索引机制的词典查找时间复杂度为O(log2N),N为Hash值相同的词条数最大值。
发明内容
本发明提出一种基于完美双数组TRIE树结构的词典管理和检索方法。将Trie树结构转换成两个线性数组表示,并在构造过程中提出了一种优化策略,在处理Trie树结点时,对当前活动结点按分支结点数进行排序,优先处理分支结点数最多的结点,以降低数组稀疏程度。同时提出一种自适应编码方案,以字节为编码单位对字符进行自动编码,使本发明不仅可以支持各种编码体系,而且能进一步提高空间利用率。基于完美双数组TRIE树结构的词典首先将词典中的词项用Trie树表示,然后转换成相应的数组。对该词典中词项的检索在数组的结构上进行。检索一个长度为n个字符的词最多只需进行n-1次整数相加即可获得结果。检索时间复杂度为O(n)。
本发明的目的是为了解决Trie树结构现有的缺点,提供一种比现有词典方法查询效率更高,占用空间更少的词典管理和检索方法。
1.双数组TRIE树结构
本发明将Trie树结构简化成两个线性数组,如图1所示。
base数组和check数组中的元素是一一对应的,base数组中的每一个元素相当于Trie树的一个节点,其值做状态转移的基值,check数组中相应位置的值相当于校验值,用于检查该状态是否存在。对于从状态s到状态t的一个转移,必须满足如下两个条件:
1.base[s]+c=t
2.check[t]=s
其中c是输入变量。
令i为数组下标,base[i]和check[i]均为0时表示该位置为空,base[i]为负值时表示该状态为一个可结束状态。两个数组的构造方法如下:
假定有状态AB1、AB2、AB3…ABn,状态A在数组中下标为i。对于正整数k,如果
base[k+B1]=0,check[k+B1]=0,base[k+B2]=0,check[k+B2]=0,…,base[k+Bn]=0,check[k+Bn]=0,则A的base值base[i]=k。
也就是说,k只要能使A的直接子结点都能放入数组即可。base[i]值确定以后,状态AB1、AB2、AB3…ABn在数组中的下标随即确定,分别为k+B1,k+B2,k+B3,...,k+Bn
且check[k+B1]=check[k+B2]=...=check[k+Bn]=i。
数组构造完成之后,要查找一个关键码Ab,只需判断check[base[A]+b]是否等于A,如果是,则表示Ab在Trie树中搜索到,否则,搜索返回失败。
双数组Trie树(Double-Array Trie)方法有效的降低了Trie树结构的空间浪费,但是利用该方法生成的数组中仍然还会存在较大的数据稀疏。为了进一步减少数组空间浪费,本发明对构造数组的方法进行了优化,在构造数组的时候加入一种排序策略,即每一次都先处理当前分支结点最多的结点。
2.完美双数组TRIE树的优化访问策略
考虑到在双数组Trie树方法中,每一个结点在数组中的位置,都是由其父亲结点也就是上一状态的base值决定。而一个结点其base值的确定取决于数组的当前空闲位置以及该结点的直接子结点。一个结点的直接子结点越多,该结点在找base值时所遇到的冲突也就越多。因此优先处理分支较多的结点,有利于减少冲突,避免数组增长过大,减少数据稀疏。
设一个词表为:“aa,aab,aad,bc,be,bed,cd”,则该词表对应的Trie树如图2。
采用优化策略后的构造方法如下:
1.读入词典文件,构造Trie树;
2.初始化活动结点列表,把第一层结点加入该列表。
3.如果活动结点列表不为空,则在活动结点列表中选取直接子结点数最多的结点为当前结点。否则方法结束,数组构造完成。
4.访问当前结点,决定其在base数组中的值,确定各直接子结点在两个数组中的位置,令各直接子结点在check数组中的值为当前结点的数组下标。
5.将当前结点的直接子结点加入活动结点列表。重复步骤2。
构造完后相应的检索方法如下:
1.令x等于首字符序列号。
2.读入输入变量c,c的序列号为y。
3.t:=base[x]+y
   If check[t]==x then
   x:=t
  else fail
  endif
4.若base[t]不为负,重复步骤2。否则,t为一个可结束状态。
检索一个词只需要进行几次简单的整数相加即可。检索开销只与检索词长度有关,方法时间复杂度为O(n),n为检索词的词长。
3.完美双数组TRIE树的自适应字符编码优化
可以看到,在将词典构造为双数组Trie树之前,必须确定字符在双数组Trie树结构中的表示方式。TRIE树以及双数组TRIE树中转移状态的输入为字符,通常的做法是直接采用字符的值进行检索定位,比如直接采用ASCII码,对于汉字计算其内码,最终作为状态转移的输入值。由于当前的文本编码种类繁多,本发明提出了一种自适应字符编码的优化策略,可以支持各种语言和编码体系。其基本思路为:为了减少高频字符状态转移的偏移量,使用频率越高的字符编码值越小。具体的方法为:
1.扫描词表中的字符,统计字频;
2.按照字频从高往低排序;
3.字符编码值为其排序的序列号。
设一个词表为:“aa,aab,aad,bc,be,bed,cd”,则字频表如下:
  字符   字频   编码值
  a   6   1
  b   4   2
  c   2   4
  d   3   3
  e   2   5
因此每个输入变量值即为输入字符的序列号。为了适应双字节字符编码(如GB2312、BIG5),我们引入了一个64K的整数数组Charset存储字符的编码值。计算公式为:
Code=Charset[Char],其中Char为字符对应的整数值,即:单字节字符的Byte值或者双字节字符的高位*256+双字节字符的低位。Code为存储出来的编码值。
这种编码方案在输入文本编码方案不同的情况下,无需修改词典方法的代码。而且还能进一步减少数组稀疏,提高空间利用率。
4.完美双数组TRIE树的性能测试
对于80283词条的汉语词典,我们采用完美双数组TRIE树方法,空间利用率为91.71%,每秒平均可检索各种随机词条163.5万条,利用该词典进行最大匹配分词,单机(CPU3.0G,内存1G)速度为23.81MB/s。
一种完美双数组TRIE树词典管理与检索方法,包括步骤:
(1)将词典用Trie树结构表示;
(2)将Trie树转换成两个线性数组;
(3)根据用户的输入,利用生成的两个数组实现对词典的检索。
所述的方法,对词典中的词项以字节为单位进行编码,统计词典中各编码单位出现的频率,按照频率大小赋予不同编码单位不同的序列号;对频率越大的编码单位,赋予的序列号越小。
所述的方法,Trie树转换成的两个线性数组一个为基值数组,一个为校验值数组,两个数组中的元素一一对应;基值数组中的一个元素对应于Trie树的一个结点,该元素值作为状态转移的基值;校验值数组中对应位置的元素值作为校验值,用于检查该状态是否存在。
所述的方法,将Trie树结构转换成双数组结构的构造过程中,对当前活动结点进行排序,每一次都先处理当前分支结点最多的结点。
所述所述的检索方法,一个状态转移到另一个状态,表现为前一状态在基值数组中对应位置的元素值加上输入字符的序列号,作为下一个状态在两个数组中的对应位置;下一状态在校验值数组中相应位置的校验值应该等于前一状态的数组位置。
本发明使用双数组TRIE树结构,将词典用Trie树结构表示,Trie树转换成两个线性数组,再对词典中的词项以字节为单位进行编码的数字方法和手段,克服现有的词典方法查询缺点,解决词典管理和检索的问题。达到提高查询效率,减少空间的效果。
附图说明
图1是本发明将Trie树结构简化成两个线性数组图。
图2是词表对应的Trie树示意图。
图3是本发明的完美双数组TRIE树词典管理与检索方法的流程图。
具体实施方式
图1是Trie树结构转化为双数组Trie树结构的示意图。
图2是将词典中的所有词用Trie树结构表示。
图3是本发明的完美双数组TRIE树词典管理与检索方法的流程,其步骤:
步骤1,对词典中的词条以两个字节为一个编码单位,统计词典中各编码单位出现的频率,按照频率大小赋予不同编码单位不同的序列码;对在词典中出现频率越大的编码单位,赋予的序列码越小,最后将所有的编码单位和相应的序列码保存在序列码文件中;
步骤2,读入词典所有词条,用Trie树表示,读入序列码文件,按照分支结点数较多的结点优先处理的策略,依次处理所有Trie树结点,最终将整个Trie树转换成两个整数数组,一个是基值数组,一个是校验值数组,并将两个数组保存为文件;
步骤3,以用户提交的检索词第一个编码单位的序列码为基值数组下标,后续的编码单位依次作为输入变量,当前状态的基值加上输入变量作为下一个状态在数组中的下标。如果当前状态的校验值等于上一状态的数组下标,则继续判断下一状态,最终返回检索成功或者失败。

Claims (6)

1.一种完美双数组TRIE树词典管理与检索方法,包括步骤:
(1)将词典用Trie树结构表示;
(2)将Trie树转换成两个线性数组;
(3)根据用户的输入,利用生成的两个数组实现对词典的检索。
2.如权利要求1所述的方法,其特征在于:对词典中的词项以字节为单位进行编码,统计词典中各编码单位出现的频率,按照频率大小赋予不同编码单位不同的序列号;对频率越大的编码单位,赋予的序列号越小。
3.如权利要求1所述的方法,其特征在于:Trie树转换成的两个线性数组一个为基值数组,一个为校验值数组,两个数组中的元素一一对应;基值数组中的一个元素对应于Trie树的一个结点,该元素值作为状态转移的基值;校验值数组中对应位置的元素值作为校验值,用于检查该状态是否存在。
4.如权利要求1所述的方法,其特征在于:将Trie树结构转换成双数组结构的构造过程中,对当前活动结点进行排序,每一次都先处理当前分支结点最多的结点。
5.如权利要求3所述所述的检索方法,其特征在于:一个状态转移到另一个状态,表现为前一状态在基值数组中对应位置的元素值加上输入字符的序列号,作为下一个状态在两个数组中的对应位置;下一状态在校验值数组中相应位置的校验值应该等于前一状态的数组位置。
6.如权利要求1或2或3所述的方法,其特征在于:其具体步骤:
步骤1,对词典中的词条以两个字节为一个编码单位,统计词典中各编码单位出现的频率,按照频率大小赋予不同编码单位不同的序列码;对在词典中出现频率越大的编码单位,赋予的序列码越小,最后将所有的编码单位和相应的序列码保存在序列码文件中;
步骤2,读入词典所有词条,用Trie树表示,读入序列码文件,按照分支结点数较多的结点优先处理的策略,依次处理所有Trie树结点,最终将整个Trie树转换成两个整数数组,一个是基值数组,一个是校验值数组,并将两个数组保存为文件;
步骤3,以用户提交的检索词第一个编码单位的序列码为基值数组下标,后续的编码单位依次作为输入变量,当前状态的基值加上输入变量作为下一个状态在数组中的下标,如果当前状态的校验值等于上一状态的数组下标,则继续判断下一状态,最终返回检索成功或者失败。
CNB2005101306903A 2005-12-21 2005-12-21 完美双数组trie树词典管理与检索方法 Active CN100444167C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101306903A CN100444167C (zh) 2005-12-21 2005-12-21 完美双数组trie树词典管理与检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101306903A CN100444167C (zh) 2005-12-21 2005-12-21 完美双数组trie树词典管理与检索方法

Publications (2)

Publication Number Publication Date
CN1786962A true CN1786962A (zh) 2006-06-14
CN100444167C CN100444167C (zh) 2008-12-17

Family

ID=36784419

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101306903A Active CN100444167C (zh) 2005-12-21 2005-12-21 完美双数组trie树词典管理与检索方法

Country Status (1)

Country Link
CN (1) CN100444167C (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495402C (zh) * 2006-12-31 2009-06-03 中国科学院计算技术研究所 一种构造用于处理大规模词典的完美哈希函数的方法
CN101916263A (zh) * 2010-07-27 2010-12-15 武汉大学 基于加权编辑距离的模糊关键字查询方法及系统
CN102521418A (zh) * 2011-12-31 2012-06-27 青岛海信宽带多媒体技术有限公司 用于存储拼音的存储结构及拼音输入方法
CN101398830B (zh) * 2007-09-27 2012-06-27 阿里巴巴集团控股有限公司 词库模糊查询方法及词库模糊查询系统
CN102651026A (zh) * 2012-04-01 2012-08-29 百度在线网络技术(北京)有限公司 通过预计算优化搜索引擎分词的方法及搜索引擎分词装置
CN103365991A (zh) * 2013-07-03 2013-10-23 深圳市华傲数据技术有限公司 一种基于一维线性空间实现Trie树的词典存储管理方法
CN103365992A (zh) * 2013-07-03 2013-10-23 深圳市华傲数据技术有限公司 一种基于一维线性空间实现Trie树的词典检索方法
CN103823814A (zh) * 2012-11-19 2014-05-28 腾讯科技(深圳)有限公司 一种信息处理方法及装置
CN104331397A (zh) * 2014-06-19 2015-02-04 深圳市迪威泰实业有限公司 一种机器翻译方法及系统
CN106250526A (zh) * 2016-08-05 2016-12-21 浪潮电子信息产业股份有限公司 一种基于内容及用户行为的文本类推荐方法和装置
CN107305567A (zh) * 2016-04-21 2017-10-31 北京智能管家科技有限公司 一种基于双层trie树的语句查询方法及装置
CN108021569A (zh) * 2016-11-01 2018-05-11 中国移动通信有限公司研究院 Ac自动机的构建和中文多模式匹配方法及相关装置
CN108509505A (zh) * 2018-03-05 2018-09-07 昆明理工大学 一种基于分区双数组Trie的字符串检索方法及装置
CN108628907A (zh) * 2017-03-24 2018-10-09 北京京东尚科信息技术有限公司 一种用于基于Aho-Corasick的Trie树多关键词匹配的方法
CN109426358A (zh) * 2017-09-01 2019-03-05 百度在线网络技术(北京)有限公司 信息输入方法和装置
CN110347804A (zh) * 2019-07-22 2019-10-18 同方知网数字出版技术股份有限公司 一种线性时间复杂度的敏感信息检测方法
CN110888886A (zh) * 2019-11-29 2020-03-17 华中科技大学 一种索引结构及构建方法、键值存储系统及请求处理方法
CN111309970A (zh) * 2020-03-27 2020-06-19 北京奇艺世纪科技有限公司 一种数据检索方法、装置、电子设备及存储介质
US10929374B2 (en) 2019-03-04 2021-02-23 Advanced New Technologies Co., Ltd. Constructing blockchain world state Merkle Patricia Trie subtree
CN114254082A (zh) * 2021-12-20 2022-03-29 浪潮软件科技有限公司 基于双数组字典树的模板匹配方法及系统

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100495402C (zh) * 2006-12-31 2009-06-03 中国科学院计算技术研究所 一种构造用于处理大规模词典的完美哈希函数的方法
CN101398830B (zh) * 2007-09-27 2012-06-27 阿里巴巴集团控股有限公司 词库模糊查询方法及词库模糊查询系统
CN101916263A (zh) * 2010-07-27 2010-12-15 武汉大学 基于加权编辑距离的模糊关键字查询方法及系统
CN101916263B (zh) * 2010-07-27 2012-10-31 武汉大学 基于加权编辑距离的模糊关键字查询方法及系统
CN102521418A (zh) * 2011-12-31 2012-06-27 青岛海信宽带多媒体技术有限公司 用于存储拼音的存储结构及拼音输入方法
CN102651026B (zh) * 2012-04-01 2015-02-18 百度在线网络技术(北京)有限公司 通过预计算优化搜索引擎分词的方法及搜索引擎分词装置
CN102651026A (zh) * 2012-04-01 2012-08-29 百度在线网络技术(北京)有限公司 通过预计算优化搜索引擎分词的方法及搜索引擎分词装置
CN103823814B (zh) * 2012-11-19 2017-12-01 腾讯科技(深圳)有限公司 一种信息处理方法及装置
CN103823814A (zh) * 2012-11-19 2014-05-28 腾讯科技(深圳)有限公司 一种信息处理方法及装置
CN103365992B (zh) * 2013-07-03 2017-02-15 深圳市华傲数据技术有限公司 一种基于一维线性空间实现Trie树的词典检索方法
WO2015010508A1 (zh) * 2013-07-03 2015-01-29 深圳市华傲数据技术有限公司 一种基于一维线性空间实现Trie树的词典存储管理方法
CN103365992A (zh) * 2013-07-03 2013-10-23 深圳市华傲数据技术有限公司 一种基于一维线性空间实现Trie树的词典检索方法
CN103365991B (zh) * 2013-07-03 2017-03-08 深圳市华傲数据技术有限公司 一种基于一维线性空间实现Trie树的词典存储管理方法
CN103365991A (zh) * 2013-07-03 2013-10-23 深圳市华傲数据技术有限公司 一种基于一维线性空间实现Trie树的词典存储管理方法
WO2015010509A1 (zh) * 2013-07-03 2015-01-29 深圳市华傲数据技术有限公司 一种基于一维线性空间实现Trie树的词典检索方法
CN104331397A (zh) * 2014-06-19 2015-02-04 深圳市迪威泰实业有限公司 一种机器翻译方法及系统
CN104331397B (zh) * 2014-06-19 2017-07-07 深圳市迪威泰实业有限公司 一种机器翻译方法及系统
CN107305567A (zh) * 2016-04-21 2017-10-31 北京智能管家科技有限公司 一种基于双层trie树的语句查询方法及装置
CN106250526A (zh) * 2016-08-05 2016-12-21 浪潮电子信息产业股份有限公司 一种基于内容及用户行为的文本类推荐方法和装置
CN108021569A (zh) * 2016-11-01 2018-05-11 中国移动通信有限公司研究院 Ac自动机的构建和中文多模式匹配方法及相关装置
CN108628907A (zh) * 2017-03-24 2018-10-09 北京京东尚科信息技术有限公司 一种用于基于Aho-Corasick的Trie树多关键词匹配的方法
CN109426358A (zh) * 2017-09-01 2019-03-05 百度在线网络技术(北京)有限公司 信息输入方法和装置
CN108509505A (zh) * 2018-03-05 2018-09-07 昆明理工大学 一种基于分区双数组Trie的字符串检索方法及装置
CN108509505B (zh) * 2018-03-05 2022-04-12 昆明理工大学 一种基于分区双数组Trie的字符串检索方法及装置
US10929374B2 (en) 2019-03-04 2021-02-23 Advanced New Technologies Co., Ltd. Constructing blockchain world state Merkle Patricia Trie subtree
TWI720712B (zh) * 2019-03-04 2021-03-01 開曼群島商創新先進技術有限公司 構建區塊鏈世界狀態默克爾帕特里夏字典樹子樹
CN110347804A (zh) * 2019-07-22 2019-10-18 同方知网数字出版技术股份有限公司 一种线性时间复杂度的敏感信息检测方法
CN110888886A (zh) * 2019-11-29 2020-03-17 华中科技大学 一种索引结构及构建方法、键值存储系统及请求处理方法
CN110888886B (zh) * 2019-11-29 2022-11-11 华中科技大学 一种索引结构及构建方法、键值存储系统及请求处理方法
CN111309970A (zh) * 2020-03-27 2020-06-19 北京奇艺世纪科技有限公司 一种数据检索方法、装置、电子设备及存储介质
CN114254082A (zh) * 2021-12-20 2022-03-29 浪潮软件科技有限公司 基于双数组字典树的模板匹配方法及系统

Also Published As

Publication number Publication date
CN100444167C (zh) 2008-12-17

Similar Documents

Publication Publication Date Title
CN1786962A (zh) 完美双数组trie树词典管理与检索方法
US8572126B2 (en) Systems and methods for optimizing very large n-gram collections for speed and memory
CN107153647B (zh) 进行数据压缩的方法、装置、系统和计算机程序产品
CN102142038B (zh) 用于记号空间资料库的多级查询处理系统与方法
Hsu et al. Space-efficient data structures for top-k completion
CN1183683C (zh) 使用前缀预测的位自适应编码方法
EP1265160A2 (en) Data structure
CN111801665B (zh) 用于大数据应用的分层局部敏感哈希(lsh)分区索引
JP2012529105A (ja) 分散連想メモリベースを提供する方法、システム、及びコンピュータプログラム製品
CN1845104A (zh) 信息智能检索加工的系统和方法
CN1282934A (zh) 相似字选取和文件检索的方法和系统
Pibiri et al. Efficient data structures for massive n-gram datasets
CN101075252A (zh) 一种网络搜索方法及系统
CN1831825A (zh) 文档管理方法和装置以及文档搜索方法和装置
Conway et al. Optimal hashing in external memory
CN107038225A (zh) 信息智能检索系统的检索方法
CN108197313B (zh) 通过16位Trie树实现空间优化的词典索引方法
CN101051309A (zh) 在数字图书馆中所采用的检索系统和检索方法
CN1492361A (zh) 嵌入式数据库查询的处理方法
CN101398830B (zh) 词库模糊查询方法及词库模糊查询系统
Flor A fast and flexible architecture for very large word n-gram datasets
CN1889080A (zh) 一种用于检索字符串的方法
CN1851706A (zh) 基于本体学习的智能主题式网络爬虫系统构建方法
CN103064841A (zh) 检索装置和检索方法
Xu et al. Enhancing HDFS with a full-text search system for massive small files

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING SKYVEIN NET COMPUTER CO., LTD.

Free format text: FORMER OWNER: INSTITUTE OF COMPUTING TECHNOLOGY, CHINESE ACADEMY OF SCIENCE

Effective date: 20120406

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 HAIDIAN, BEIJING TO: 100190 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20120406

Address after: 100190, room 225, North building, No. 6 science South Road, Haidian District, Beijing, Zhongguancun

Patentee after: Beijing Skyvein Net Computer Co., Ltd.

Address before: 100080 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

ASS Succession or assignment of patent right

Owner name: LING-JOIN ZHONGKE SOFTWARE (BEIJING) CO., LTD.

Free format text: FORMER OWNER: BEIJING SKYVEIN NET COMPUTER CO., LTD.

Effective date: 20131218

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100190 HAIDIAN, BEIJING TO: 100081 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20131218

Address after: 100081 Beijing Haidian District Suzhou Street No. 49-3 hospital Ying Zhi Building 5

Patentee after: Ling Zhong Zhongke software (Beijing) Co., Ltd.

Address before: 100190, room 225, North building, No. 6 science South Road, Haidian District, Beijing, Zhongguancun

Patentee before: Beijing Skyvein Net Computer Co., Ltd.