有序列表匹配方法和设备、文档字符匹配方法和设备组成比例

技术编号:10252325 阅读:142 留言:0更新日期:2014-07-24 13:07
本发明专利技术公开了有序列表匹配方法和设备、文档字符匹配方法和设备。有序列表包括源列表和目标列表,源列表和目标列表中的每一个包含至少一个元素,并且源列表和目标列表以单调映射关系彼此对应。该有序列表匹配方法包括选择步骤,用于从源列表选择元素;匹配步骤,用于在目标列表匹配所选择的元素;以及分割步骤,用于当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于匹配步骤的结果将目标列表分割成两个子目标列表,这两个子目标列表与两个子源列表以该单调映射关系一一对应,其中,对于两个子源列表中的每一个及其对应的子目标列表,依次执行所述选择步骤、所述匹配步骤和所述分割步骤。

【技术实现步骤摘要】
有序列表匹配方法和设备、文档字符匹配方法和设备
本专利技术涉及用于有序列表匹配的方法和设备。此外,本专利技术涉及用于文档字符匹配的方法和设备。
技术介绍
在文档处理的领域中,文档中的字符往往被转换成有序列表以便被处理。因此,常常对有序列表进行处理以在有序列表之间实现匹配。当前,在索引系统(诸如全文搜索(FTS)系统)中常常使用两个有序列表的匹配。在索引系统中,如本领域公知的,使用许多倒排表(invertedtable)来帮助提高搜索/操作速度。每个倒排表均是有序列表,并且不同元素类型(诸如字符、单词、词干(trunk)等)涉及不同的倒排表。因此,利用倒排表,文档中包含的内容将被转换成有序列表以用于进一步的处理,诸如匹配、搜索等。下文,将参照图1A至1D描述现有技术中的常用的用于文档字符索引和匹配的处理。如图1A所示,许多文档中的汉语词语“日本”将被处理。在识别期间,该词语中的每个字符、即“日”和“本”将分别被索引。例如,文档中的字符“日”将用分别指示包含该字符的文档以及该字符在各文档中的位置的文档索引和字符位置索引来索引。通过这样的处理,字符“日”和“本”中的每一个将具有两个有序列表,一个有序列表对应于文档索引,另一个有序列表对应于字符位置索引。此后,将处理所获得的字符“日”和“本”的有序列表。更具体而言,将所获得的字符“日”和“本”的有序列表进行匹配,其中一方面,如图1B所示,字符“日”和“本”中的每一个的文档索引列表将被进行匹配,其中为了清楚起见,字符“日”和“本”的文档索引列表已被处理以便不包括重复元素,但是文档索引列表可具有重复元素,并且另一方面,如图1C所示,字符“日”和“本”中的每一个的字符位置索引列表将被进行匹配。最终,如图1D所示,各文档中的词语“日本”将被找到。存在多种类型的对两个有序列表进行匹配的方法,并且这些类型的匹配方法通常使用二值搜索方法(binarysearchmethod)以及其他类型的搜索方法来实现匹配,其中二值搜索方法是用于有序列表的快速方法。现有技术中的用于对两个有序列表进行匹配的常用方法可在下文被称为二值搜索方法,在该方法中,输入两个有序列表,其中这两个有序列表之一用作源列表并且另一个有序列表用作目标列表,并且源列表通常具有比目标列表中的元素更少的元素,该方法对于源列表中的元素进行循环(loop)并且搜索目标列表中的与该源列表中的各元素对应的匹配元素。将参照图2以及图3A至3F描述二值搜索方法。图2示出现有技术中的二值搜索方法的流程图,并且图3A至3F示出应用该二值搜索方法的实例。在图2中的步骤100中,输入两个有序列表分别作为源列表和目标列表。通常,尺寸较小的列表被设定为源列表,并且尺寸较大的列表被设定为目标列表。这意味着该方法从源列表中选择元素,并且在目标列表中搜索该元素。在图2的步骤200中,确定源列表中的所有元素是否已被搜索。更具体而言,该方法循环源列表,并且判断所有元素是否已被选择。如果存在一些还未被选择的元素,则在步骤300中,该方法依次从源列表中的未被选择的元素中获得一个元素,特别地,该方法获得源列表中的紧接在前一元素之后的元素。在步骤400中,执行二值搜索以搜索目标列表中的与源列表中选择的元素匹配的元素,并且记录找到的位置。然后,该过程返回步骤200以进一步确定源列表中的所有元素是否已被搜索。当确定源列表中的所有元素已被搜索时,则该过程前进到步骤500,在该步骤中,所有找到的位置信息被获得并且记录为最终匹配结果。下文,将参照图3A至3F来描述应用二值搜索方法的示例。如图3A中所示,选择小尺寸列表作为源列表并选择大尺寸列表作为目标列表,并且从源列表中选择第一个元素、即起点“3”。然后,如图3B所示,通过循环目标列表的整个范围在目标列表中找到具有值“3”的元素。此后,由于在源列表中仍存在一些未被选择的元素,因此如图3C所示,从源列表中选择源列表中的下一个元素,即“7”,并且如图3D所示,仍通过循环目标列表的整个范围在目标列表中找到具有值“7”的元素。应注意,对于第二个被选择的元素的匹配处理仍是针对目标列表的整个范围执行的,就如同第一个元素的情况下的处理那样。这样,源列表中的元素被依次选择,并且对于源列表中的每个选择的元素,均搜索目标列表的整个范围以找到匹配元素,以便获得最终匹配结果,如图3E和3F所示。当前,用户希望更快且花费更少时间地对源列表和目标列表进行匹配,然而在匹配期间经过的时间的大部分是用于定位匹配元素对,也就是说,对于源列表中的所选择的元素,在目标列表中找到其匹配元素。但是,如上所述,当前的二值搜索方法依次选择源列表中的元素,并且对于每一个选择的元素,该方法都是在目标列表中的整个范围中进行搜索以找到该选择的元素的匹配元素。如果源列表和目标列表非常大,则匹配元素的寻找将浪费大量时间,因此该方法是慢的算法。当源列表和目标列表都大时,速度非常重要。例如,在处理大规模的文档时,FTS需要快速获得两个大的列表中的匹配位置信息,因此必须提高匹配速度以节约时间。但是,当前的二值搜索方法的对于两个有序列表匹配的速度慢,并且不能满足用户要求。如何提高匹配的速度成为挑战。此外,现有技术中没有关注于如何对源列表中先前选择的元素在目标列表中的匹配结果加以利用以便有助于针对当前选择的元素的匹配操作。换句话说,已知的方法和技术在每次搜索时都是针对目标列表的整个范围,而没有考虑如何缩小搜索范围。鉴于上文,需要更好的方法来进行两个有序列表的匹配以提高匹配速度。并且,新的方法应该大大提高匹配速度而几乎不会占据更多的存储空间。
技术实现思路
本专利技术旨在解决上述问题。本专利技术的一个目的是提供一种解决上述问题中的任一个的方法和设备。更具体而言,本专利技术的一个目的是提高两个有序列表的匹配的速度。在本专利技术的一个方面中,提供了一种有序列表匹配方法,该有序列表包括源列表和目标列表,该源列表和目标列表中的每一个包含至少一个元素,并且该源列表和目标列表以单调映射关系彼此对应,该方法包括:选择步骤,用于从源列表选择元素;匹配步骤,用于在目标列表匹配所选择的元素;以及分割步骤,用于当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于所述匹配步骤的结果将目标列表分割成两个子目标列表,这两个子目标列表与所述两个子源列表以所述单调映射关系一一对应,其中,对于所述两个子源列表中的每一个及其对应的子目标列表,依次执行所述选择步骤、所述匹配步骤和所述分割步骤。在本专利技术的另一方面中,提供了一种有序列表匹配设备,该有序列表包括源列表和目标列表,该源列表和目标列表中的每一个包含至少一个元素,并且该源列表和目标列表以单调映射关系彼此对应,该设备包括:选择单元,被配置为从源列表选择元素;匹配单元,被配置为在目标列表匹配所选择的元素;以及分割单元,被配置为当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于所述匹配单元所获得的结果将目标列表分割成两个子目标列表,这两个子目标列表与所述两个子源列表以所述单调映射关系一一对应,其中,对于所述两个子源列表中的每一个及其对应的子目标列表,依次由所述选择单元、所述匹配单元和所述分割单元处理。在本专利技术的还另一方面本文档来自技高网
...
有序列表匹配方法和设备、文档字符匹配方法和设备

【技术保护点】
一种有序列表匹配方法,所述有序列表包括源列表和目标列表,该源列表和目标列表中的每一个包含至少一个元素,并且该源列表和目标列表以单调映射关系彼此对应,该方法包括:选择步骤,用于从源列表选择元素;匹配步骤,用于在目标列表中匹配所选择的元素;以及分割步骤,用于当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于所述匹配步骤的结果将目标列表分割成两个子目标列表,这两个子目标列表与所述两个子源列表以所述单调映射关系一一对应,其中,对于所述两个子源列表中的每一个及其对应的子目标列表,依次执行所述选择步骤、所述匹配步骤和所述分割步骤。

【技术特征摘要】
1.一种有序列表匹配方法,所述有序列表包括源列表和目标列表,该源列表和目标列表中的每一个包含至少一个元素,并且该源列表和目标列表以单调映射关系彼此对应,该方法包括:选择步骤,用于从源列表选择元素;匹配步骤,用于在目标列表中匹配所选择的元素;以及分割步骤,用于当源列表中包含的元素的数量大于1时,基于所选择的元素将源列表分割成两个子源列表,并且基于所述匹配步骤的结果将目标列表分割成两个子目标列表,这两个子目标列表与所述两个子源列表以所述单调映射关系一一对应,其中,对于所述两个子源列表中的每一个及其对应的子目标列表,依次执行所述选择步骤、所述匹配步骤和所述分割步骤。2.根据权利要求1所述的方法,其中,所述选择步骤包括:选择所述源列表中的特定选择范围中的元素,其中,所述特定选择范围由所述源列表的两个黄金分割点确定,所述特定选择范围的起点和终点分别是一个黄金分割点和另一个黄金分割点。3.根据权利要求1所述的方法,其中,所述选择步骤包括:选择所述源列表的中央位置处的元素。4.根据权利要求1所述的方法,其中,所述匹配步骤包括:根据所述单调映射关系,确定在目标列表中是否存在针对所述源列表中的所选择的元素的匹配元素。5.根据权利要求4所述的方法,其中,所述匹配元素和所选择的元素之间的匹配关系是所述匹配元素与所选择的元素具有相同的值。6.根据权利要求4所述的方法,其中,所述匹配元素和所选择的元素之间的匹配关系是所述匹配元素与所选择的元素的值之间的差为预定值。7.根据权利要求1所述的方法,其中,基于所选择的元素将所述源列表分割成两个子源列表包括:分割所述源列表以使得所述两个子源列表包括第一子源列表和第二子源列表,所述第一子源列表包含所述源列表中的在所选择的元素之前的所有元素,所述第二子源列表包含所述源列表中的在所选择的元素之后的所有元素。8.根据权利要求1所述的方法,其中,基于所述匹配步骤的结果将所述目标列表分割成两个子目标列表包括:当所述源列表中的所选择的元素在所述目标列表中具有匹配元素时,对所述目标列表进行分割以使得所述两个子目标列表中的第一子目标列表包含所述目标列表中的在所述匹配元素之前的所有元素,并且所述两个子目标列表中的第二子目标列表包含所述目标列表中的在所述匹配元素之后的所有元素;并且当所述源列表中的所选择的元素在所述目标列表中不具有匹配元素时,对所述目标列表进行分割以使得所述两个子目标列表中的第一子目标列表包含所述目标列表中的从起始元素至紧接在潜在匹配元素之前的元素的所有元素,并且所述两个子目标列表中的第二子目标列表包含所述目标列表中的从紧接在所述潜在匹配元素之后的元素至结束元素的所有元素。9.根据权利要求8所述的方法,其中,如果所选择的元素在所述源列表中具有重复元素,并且所述源列表中的所选择的元素在所述目标列表中具有匹配元素时,所述第一子目标列表和所述第二子目标列表均还包含所述匹配元素。10.根据权利要求7-9中任一项所述的方法,其中,当所述源列表和所述目标列表以单调增的映射关系彼此对应时,所述第一子源列表对应于所述第一子目标列表,并且所述第二子源列表对应于所述第二子目标列表;并且其中,当所述源列表和所述目标列表以单调减的映射关系彼此对应时,所述第一子源列表对应于所述第二子目标列表,并且所述第二子源列表对应于所述第一子目标列表。11.根据权利要求10所述的方法,其中,所述单调增的映射关系指的是所述源列表和所述目标列表具有相同顺序,并且所述单调减的映射关系指的是所述源列表和所述目标列表具有相反顺序。12.根据权利要求1所述的方法,其中,所述源列表中包含的元素的数量远小于所述目标列表中包含的元素的数量。13.一种文档字符匹配方法,包括:分别对文档中包含的字符以及要被匹配的字符进行索引,以便获得所述字符的有序索引列表以及所述要被匹配的字符的有序索引列表;以及将根据权利要求1-12中任一项所述的方法应用于分别作为源列表和目标列表的所述字符的有序索引列表以及所述要被匹配的字符的有序索引列表,以便实现匹配。14.一种有序列表匹配设备,所述有序列表包...

【专利技术属性】
技术研发人员:黄耀海谭诚陈明
申请(专利权)人:佳能株式会社
类型:发明
国别省市:日本;JP

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1