文本字符串搜索设备、文本字符串搜索方法和文本字符串搜索程序的制作方法_5

文档序号:9713574阅读:来源:国知局
缀分数或字符串分数中识别具有最高分数的前缀或搜索目标字符串,在最高分数是字符串分数的情况下,可以从队列移除具有字符串分数的搜索目标字符串,以及,在最高分数是前缀分数的情况下,可以从队列移除具有前缀分数的前缀。此外,前缀识别单元82,可以识别相对于从队列移除的如缀的如缀分数具有次尚的如缀分数的如缀;以及字符串识别单兀83,在最尚分数是字符串分数的情况下,在以与被用于从队列移除的搜索目标字符串的前缀相同的前缀开始的搜索目标字符串中,可以识别相对于移除的搜索目标字符串的字符串分数的次高字符串分数,以及在最高分数是前缀分数的情况下,从以由前缀识别单元识别的前缀开始的搜索目标字符串中,可以识别具有最高字符串分数的搜索目标字符串。
[0147]用这种方式,一个队列保持两个配对:前缀与前缀分数的配对;以及搜索目标字符串与字符串分数的配对,由此基于队列中保持的前缀分数或字符串分数,能够确定最高分数是前缀分数还是字符串分数。前缀识别单元82和字符串识别单元83基于最高分数重复上述过程,由此实现了对具有较高字符串分数的搜索目标字符串的有效识别。
[0148]此外,字符串搜索设备还可以包括搜索信息存储单元(例如,搜索信息存储单元50),该搜索信息存储单元存储前缀的集合和Patricia树,该前缀的集合是根据由特里树数据结构表示的搜索候选字符串的集合所产生的并具有XBW数据结构(例如,xbw),Patricia树根据特里树数据结构产生并仅具有表示节点之间的亲-子关系的树结构而不包括与Patricia树的节点相对应的字符串。此外,前缀识别单元82可以从具有XBW数据结构的前缀的集合中识别具有最高前缀分数的前缀的位置;以及搜索管理单元从所识别的前缀的位置中识别Patricia树的相应节点的位置(例如,uc)。该配置实现了搜索中使用的存储数据量的减小。
[0149]以上,字符串识别单元83可以从在由搜索管理单元识别的节点位置下呈现的搜索候选字符串中识别具有最高字符串分数的搜索候选字符串的位置(例如,ui),并从具有XBW数据结构的前缀中识别与所识别的位置相对应的搜索候选字符串。
[0150]此外,前缀识别单元82基于由第一RMQ结构表示的前缀与前缀分数之间的关系,通过使用第一 RMQ结构执行针对识别的前缀的集合的范围搜索,可以识别具有最高前缀分数的前缀。
[0151]此外,字符串识别单元83基于由第二RMQ结构表示的搜索候选字符串与字符串分数之间的关系,通过使用第二 RMQ结构执行针对以所识别的前缀开始的搜索候选字符串的范围搜索,可以识别具有最尚如缀分数的如缀。
[0152]尽管已经参照以上示例实施例和示例描述了本发明,但是本发明不限于此。本领域技术人员可以理解的是,可以在本发明的范围内对本发明的配置和细节中做出各种改变。
[0153]该申请要求在2013年8月21日递交的日本专利申请N0.2013-171291的优先权,并通过引用将其整个公开并入本文。
[0154]工业实用性
[0155]本发明优选地适用于搜索包含作为子字符串的输入字符串的关键字的字符串搜索设备。根据本发明的字符串搜索设备可用于例如提供搜索服务。
[0156]参考标记列表
[0157]10 输入单元
[0158]20 前缀集合识别单元
[0159]30 搜索管理单元
[0160]31 前缀识别单元
[0161]32 字符串识别单元
[0162]40 输出单元
[0163]50 搜索信息存储单元
【主权项】
1.一种字符串搜索设备,所述字符串搜索设备从与字符串分数相关联的搜索候选字符串的集合中搜索包括输入字符串的搜索候选字符串,每个字符串分数指示应当优先执行搜索的程度,所述字符串搜索设备包括: 前缀集合识别单元,所述前缀集合识别单元从下述前缀集合中识别以所述输入字符串结尾的前缀的集合,所述前缀集合中的每一个前缀是具有从每个搜索候选字符串的开始提取出的一个或更多个连续字符的字符串; 前缀识别单元,所述前缀识别单元从以所述输入字符串结尾的前缀的集合中识别具有最高前缀分数的前缀,所述前缀分数是针对每个前缀通过与以所述前缀开始的搜索候选字符串相关联的字符串分数中的最高字符串分数定义的;以及 字符串识别单元,所述字符串识别单元从以所识别的前缀开始的搜索候选字符串中识别具有最高字符串分数的搜索候选字符串。2.根据权利要求1所述的字符串搜索设备,还包括管理搜索范围的搜索管理单元,其中: 所述搜索管理单元识别从以所述字符串识别单元识别的搜索候选字符串的前缀开始的搜索候选字符串中排除已经识别的搜索候选字符串的搜索候选字符串的范围,并识别从所述前缀集合识别单元识别的前缀的集合中排除由所述前缀识别单元识别的前缀的前缀的范围; 所述前缀识别单元从所述搜索管理单元识别的前缀的范围中识别具有最高前缀分数的前缀;以及 所述字符串识别单元从所述搜索管理单元识别的搜索候选字符串的范围中识别具有最高字符串分数的搜索候选字符串。3.根据权利要求2所述的字符串搜索设备,其中: 所述搜索管理单元包括队列,所述队列用于保持由所述前缀识别单元识别的前缀与前缀分数的配对以及由所述字符串识别单元识别的搜索目标字符串与字符串分数的配对; 所述搜索管理单元从所述队列中保持的配对中识别具有前缀分数或字符串分数中的最高分数的前缀或搜索目标字符串,在所述最高分数是字符串分数的情况下,从所述队列移除具有所述字符串分数的搜索目标字符串并将所述搜索目标字符串识别为输出目标,以及在所述最高分数是前缀分数的情况下,从所述队列移除具有所述前缀分数的前缀; 在所述最高分数是前缀分数的情况下,所述前缀识别单元识别相对于从所述队列移除的前缀的前缀分数具有次高的前缀分数的前缀;以及 在所述最高分数是字符串分数的情况下,所述字符串识别单元从以与用于识别从所述队列移除的搜索目标字符串的前缀相同的前缀开始的搜索目标字符串中,识别相对于移除的搜索目标字符串的字符串分数的次高字符串分数;以及在所述最高分数是前缀分数的情况下,所述字符串识别单元从以所述前缀识别单元识别的前缀开始的搜索目标字符串中识别具有最高字符串分数的搜索目标字符串。4.根据权利要求1至3中任一项所述的字符串搜索设备,还包括搜索信息存储单元,所述搜索信息存储单元存储前缀的集合和Patr i c ia树,所述前缀的集合是根据由特里树数据结构表示的搜索候选字符串的集合产生的并具有XBW数据结构,所述Patricia树是根据所述特里树数据结构产生的并仅具有表示节点之间的亲-子关系的树结构而不包括与Patricia树的节点相对应的字符串,其中: 所述前缀识别单元从具有XBW数据结构的前缀的集合中识别具有最高前缀分数的前缀的位置;以及 所述搜索管理单元根据所识别的前缀的位置来识别Patricia树中的相应节点的位置。5.根据权利要求4所述的字符串搜索设备,其中所述字符串识别单元从所述搜索管理单元识别的节点的位置之下呈现的搜索候选字符串中识别具有最高字符串分数的搜索候选字符串的位置,并从具有XBW数据结构的前缀中识别与所识别的位置相对应的搜索候选字符串。6.根据权利要求1-5中任一项所述的字符串搜索设备,其中所述前缀识别单元基于由第一 RMQ结构表示的前缀与前缀分数之间的关系,通过使用第一 RMQ结构对所识别的前缀的集合执行范围搜索,来识别具有最高前缀分数的前缀。7.根据权利要求1-6中任一项所述的字符串搜索设备,其中所述字符串识别单元基于由第二 RMQ结构表示的搜索候选字符串与字符串分数之间的关系,通过使用第二RMQ结构对以所识别的前缀开始的搜索候选字符串执行范围搜索,来识别具有最高字符串分数的搜索候选字符串。8.—种字符串搜索方法,从与字符串分数相关联的搜索候选字符串的集合中搜索包括输入字符串的搜索候选字符串,每个字符串分数指示应当优先执行搜索的程度,所述字符串搜索方法包括: 前缀集合识别步骤,从下述前缀集合中识别以所述输入字符串结尾的前缀的集合,所述前缀集合中的每一个前缀是具有从每个搜索候选字符串的开始提取出的一个或更多个连续字符的字符串; 前缀识别步骤,从以所述输入字符串结尾的前缀的集合中识别具有最高前缀分数的前缀,所述前缀分数是针对每个前缀通过与以所述前缀开始的搜索候选字符串相关联的字符串分数中的最高字符串分数定义的;以及 字符串识别步骤,从以所识别的如缀开始的搜索候选字符串中识别具有最尚字符串分数的搜索候选字符串。9.根据权利要求8所述的字符串搜索方法,还包括管理搜索范围的搜索管理步骤,其中: 所述搜索管理步骤包括识别从以所述字符串识别步骤中识别的搜索候选字符串的前缀开始的搜索候选字符串中排除已经识别的搜索候选字符串的搜索候选字符串的范围,并识别从所述前缀集合识别步骤中识别的前缀的集合中排除所述前缀识别步骤中识别的前缀的如缀的范围; 所述前缀识别步骤包括从在所述搜索管理步骤中识别的前缀的范围中识别具有最高前缀分数的前缀;以及 所述字符串识别步骤包括从在所述搜索管理步骤中识别的搜索候选字符串的范围中识别具有最高字符串分数的搜索候选字符串。10.—种应用于计算机的字符串搜索程序,所述字符串搜索程序从与字符串分数相关联的搜索候选字符串的集合中搜索包括输入字符串的搜索候选字符串,每个字符串分数指示应当优先执行搜索的程度,所述字符串搜索程序使得所述计算机执行: 前缀集合识别过程,从下述前缀集合中识别以所述输入字符串结尾的前缀的集合,所述前缀集合中的每一个前缀是具有从每个搜索候选字符串的开始提取出的一个或更多个连续字符的字符串; 前缀识别过程,从以所述输入字符串结尾的前缀的集合中识别具有最高前缀分数的前缀,所述前缀分数是针对每个前缀通过与以所述前缀开始的搜索候选字符串相关联的字符串分数中的最高字符串分数定义的;以及 字符串识别过程,从以所识别的前缀开始的搜索候选字符串中识别具有最高字符串分数的搜索候选字符串。11.根据权利要求10所述的字符串搜索程序,还包括使得所述计算机执行管理搜索范围的搜索管理过程,其中: 在所述搜索管理过程中,使得所述计算机识别从以所述字符串识别过程中识别的搜索候选字符串的前缀开始的搜索候选字符串中排除已经识别的搜索候选字符串的搜索候选字符串的范围,并识别从所述前缀集合识别过程中识别的前缀的集合中排除所述前缀识别过程中识别的前缀的前缀的范围; 在所述前缀识别过程中,使得所述计算机从所述搜索管理过程中识别的前缀的范围中识别具有最尚iu缀分数的如缀;以及 在所述字符串识别过程中,使得所述计算机从所述搜索管理过程中识别的搜索候选字符串的范围中识别具有最高字符串分数的搜索候选字符串。
【专利摘要】前缀集合识别单元(81)从前缀的集合中识别以输入字符串结尾的前缀的集合,前缀的集合中的每一个前缀是具有从每个搜索候选字符串的开始提取出的一个或更多个连续字符的字符串。前缀识别单元(82)从以输入字符串结尾的前缀的集合中识别具有最高前缀分数的前缀,前缀分数是针对每个前缀通过与以前缀开始的搜索候选字符串相关联的字符串分数中的最高字符串分数定义的。字符串识别单元(83)从以所识别的前缀开始的搜索候选字符串中识别具有最高字符串分数的搜索候选字符串。
【IPC分类】G06F17/30
【公开号】CN105474214
【申请号】CN201480046496
【发明人】冈嶋穣, 山本康高
【申请人】日本电气方案创新株式会社
【公开日】2016年4月6日
【申请日】2014年7月18日
【公告号】EP3037986A1, US20160196303, WO2015025467A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1