检索装置以及检索方法转让专利

申请号 : CN201110112548.1

文献号 : CN102236697B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 佐藤胜彦

申请人 : 卡西欧计算机株式会社

摘要 :

本发明提供一种检索装置以及检索方法。检索装置(10)具备存储部(11),存储部(11)存储以从检索对象的多个文档数据提取出的N-Gram的出现位置和出现频度为构成元素的倒排索引。在检索装置(10)中,N-Gram提取部(13)从检索字符串提取N-Gram,最少频度导出部(14)从由检索字符串提取出的N-Gram中导出在多个文档数据中具有最少出现频度的N-Gram,检索N-Gram选定部(15)从由检索字符串提取出的N-Gram中选定涵盖检索字符串并包含导出的具有最少出现频度的N-Gram的多个检索N-Gram,文档指定部(16)针对选定的多个检索N-Gram,从多个文档数据中指定包含检索字符串的文档数据。

权利要求 :

1.一种检索装置,其特征在于,具备:

存储单元,其存储倒排索引,该倒排索引表示从检索对象的多个文档数据提取出的每个N字符的字符串即N-Gram在所述多个文档数据中的出现位置和出现频度,其中N为自然数;

N-Gram提取单元,其从检索字符串提取N-Gram;

最少频度导出单元,其基于所述倒排索引的出现频度,从由所述检索字符串提取出的N-Gram中导出在所述多个文档数据中具有最少出现频度的N-Gram;

检索N-Gram选定单元,其

(a)从由所述N-Gram提取单元提取出的全部N-Gram中的所述检索字符串的起始字符依次以N-Gram为单位不重复地进行分割,选定分割后的N-Gram,(b)在无法通过所述选定的N-Gram构成所述检索字符串的情况下,追加选定包含所述检索字符串的末尾的字符的N-Gram,(c)在通过所述(a)和(b)选定的N-Gram中不包含通过所述最少频度导出单元导出的出现频度为最少的N-Gram的情况下,追加选定所述出现频度最少的N-Gram;以及文档指定单元,其根据所述倒排索引求出所述选定的多个检索N-Gram的出现位置信息,基于该出现位置信息,从所述多个文档数据中指定包含所述检索字符串的文档数据。

2.根据权利要求1所述的检索装置,其特征在于,

所述文档指定单元用于基于所述倒排索引的出现频度信息,从所述选定的多个检索N-Gram中按照检索N-Gram的出现频度由少到多的次序指定文档数据。

3.一种检索装置,其特征在于,

存储单元,其存储倒排索引,该倒排索引表示从检索对象的多个文档数据提取出的每个N字符的字符串即N-Gram在所述多个文档数据中的出现位置和出现频度,其中N为自然数;

N-Gram提取单元,其从检索字符串提取N-Gram;

最少频度导出单元,其基于所述倒排索引的出现频度,从由所述检索字符串提取出的N-Gram中导出在所述多个文档数据中具有最少出现频度的N-Gram;

检索N-Gram选定单元,其

(a)选定由所述N-Gram提取单元提取出的全部N-Gram中包含所述检索字符串的起始和/或末尾的字符的N-Gram,(b)追加选定通过所述最少频度导出单元导出的出现频度最少的N-Gram,(c)向所述出现频度最少的N-Gram在所述检索字符串中的位置的前方和/或后方,以N-Gram为单位不重复地进行分割,追加选定未在所述(a)中选定的分割后的N-Gram;以及文档指定单元,其根据所述倒排索引求出所述选定的多个检索N-Gram的出现位置信息,基于该出现位置信息,从所述多个文档数据中指定包含所述检索字符串的文档数据。

4.根据权利要求3所述的检索装置,其特征在于,

所述文档指定单元用于基于所述倒排索引的出现频度信息,从所述选定的多个检索N-Gram中按照检索N-Gram的出现频度由少到多的次序指定文档数据。

5.一种检索方法,其为具备存储单元的检索装置中的检索方法,该存储单元存储倒排索引,该倒排索引以从检索对象的多个文档数据提取出的每个N字符的字符串即N-Gram在所述多个文档数据中的出现位置和出现频度为构成元素,其中N为自然数,该检索方法的特征在于,具备:N-Gram提取步骤,从检索字符串提取N-Gram;

最少频度导出步骤,基于所述倒排索引的出现频度信息,从由所述检索字符串提取出的N-Gram中导出在所述多个文档数据中具有最少出现频度的N-Gram;

检索N-Gram选定步骤,

(a)从由所述N-Gram提取步骤提取出的全部N-Gram中的所述检索字符串的起始字符依次以N-Gram为单位不重复地进行分割,选定分割后的N-Gram,(b)在无法通过所述选定的N-Gram构成所述检索字符串的情况下,追加选定包含所述检索字符串的末尾的字符的N-Gram,(c)在通过所述(a)和(b)选定的N-Gram中不包含通过所述最少频度导出单元导出的出现频度为最少的N-Gram的情况下,追加选定所述出现频度最少的N-Gram;以及文档指定步骤,根据所述倒排索引求出所述选定的多个检索N-Gram的出现位置信息,基于该出现位置信息,从所述多个文档数据中指定包含所述检索字符串的文档数据。

6.根据权利要求5所述的检索方法,其特征在于,

所述文档指定步骤,用于基于所述倒排索引的出现频度信息,从所述选定的多个检索N-Gram中按照检索N-Gram的出现频度由少到多的次序指定文档数据。

7.一种检索方法,其为具备存储单元的检索装置中的检索方法,该存储单元存储倒排索引,该倒排索引以从检索对象的多个文档数据提取出的每个N字符的字符串即N-Gram在所述多个文档数据中的出现位置和出现频度为构成元素,其中N为自然数,该检索方法的特征在于,具备:N-Gram提取步骤,从检索字符串提取N-Gram;

最少频度导出步骤,基于所述倒排索引的出现频度信息,从由所述检索字符串提取出的N-Gram中导出在所述多个文档数据中具有最少出现频度的N-Gram;

检索N-Gram选定步骤,

(a)选定由所述N-Gram提取步骤提取出的全部N-Gram中包含所述检索字符串的起始和/或末尾的字符,(b)追加选定通过所述最少频度导出步骤导出的出现频度最少的N-Gram,(c)向所述出现频度最少的N-Gram在所述检索字符串中的位置的前方和/或后方,以N-Gram为单位不重复地进行分割,追加选定未在所述(a)中选定的分割后的N-Gram;以及文档指定步骤,根据所述倒排索引求出所述选定的多个检索N-Gram的出现位置信息,基于该出现位置信息,从所述多个文档数据中指定包含所述检索字符串的文档数据。

8.根据权利要求7所述的检索方法,其特征在于,

所述文档指定步骤用于基于所述倒排索引的出现频度信息,从所述选定的多个检索N-Gram中按照检索N-Gram的出现频度由少到多的次序指定文档数据。

说明书 :

检索装置以及检索方法

技术领域

[0001] 本发明涉及从多个文档中对包含所指定的检索字符串的文档进行检索的检索装置以及检索方法。

背景技术

[0002] 随着文档电子化的增多,从累积至今的大量文档集中发现期望的文档的检索技术的重要性日益提高。
[0003] 英语等诸多语言一般以单词作为索引单位生成索引文件,并用其来实现高速的检索处理。但是,对于日语来讲,由于不以空格等来明确显示单词的切分点,因此经常采用以N-Gram为索引单位的方法。
[0004] N-Gram是指由连续的N个字符构成的部分字符串。由于在生成基于N-Gram的索引文件(后述为“倒排索引”)时仅仅是基于字符串来进行生成,因此没有识别词的必要。
但是,由于被检索处理的检索语被分割为多个N-Gram来处理,因此在以长的检索语进行检
索处理的情况下,存在检索时间增加的问题。
[0005] 针对这样的问题,非专利文献1(小川泰嗣,松田透,“n-gram索引を用いた効率的な文書検索法”,電子情報通信学会論文誌(D-I),vol.J82-D-I,No.1,pp.121-129,1999年1月)中公开了一种检索处理高速化的技术。具体地讲,在非专利文献1中,通过计算
N-Gram的文档频度的和来作为处理高速化的推定值并用来选定用于实际的文档检索处理
的N-Gram,从而进行检索处理的高速化。
[0006] 对于这种使用了N-gram进行的检索的、检索处理的高速化,希望能够以更加简单的处理来实现高速化。也就是说,即便是搭载于手机、小型电子设备上的小型电子辞书等有限的处理速度、容量,也期望实现有效率的检索。

发明内容

[0007] 本发明用以解决以上课题,目的在于提供一种适合于从多个文档有效地检索包含所指定的检索字符串的文档的检索装置以及检索方法。
[0008] 为了达成上述目的,本发明涉及的检索装置具备:存储单元,其存储倒排索引,该倒排索引以从检索对象的多个文档数据提取出的每个N字符的字符串即N-Gram在所述多个文档数据中的出现位置和出现频度为构成元素,其中N为自然数;N-Gram提取单元,其
从检索字符串提取N-Gram;最少频度导出单元,其基于所述倒排索引的出现频度信息,从
由所述检索字符串提取出的N-Gram中导出在所述多个文档数据中具有最少出现频度的
N-Gram;检索N-Gram选定单元,其从由所述检索字符串提取出的N-Gram中选定涵盖所述检
索字符串并包含所述导出的具有最少出现频度的N-Gram的多个检索N-Gram;以及文档指
定单元,其针对所述选定的多个检索N-Gram,基于所述倒排索引的出现位置信息,从所述多个文档数据中指定包含所述检索字符串的文档数据。
[0009] 另外,本发明涉及的检索方法为具备存储单元的检索装置中的检索方法,该存储单元存储倒排索引,该倒排索引以从检索对象的多个文档数据提取出的每个由N字符组成
的字符串即N-Gram在所述多个文档数据中的出现位置和出现频度为构成元素,其中N为自
然数。该检索方法具备:N-Gram提取步骤,从检索字符串提取N-Gram;最少频度导出步骤,基于所述倒排索引的出现频度信息,从由所述检索字符串提取出的N-Gram中导出在所述
多个文档数据中具有最少出现频度的N-Gram;检索N-Gram选定步骤,从由所述检索字符串
提取出的N-Gram中选定涵盖所述检索字符串并包含所述导出的出现频度最少的N-Gram的
多个检索N-Gram;以及文档指定步骤,针对所述选定的多个检索N-Gram,基于所述倒排索
引的出现位置信息,从所述多个文档数据中指定包含所述检索字符串的文档数据。

附图说明

[0010] 图1是检索装置的构成概要图。
[0011] 图2A表示构成检索装置的计算机装置的概要构成的一个示例。
[0012] 图2B表示构成检索装置的计算机装置的构成概要的另一示例。
[0013] 图3是表示检索装置的检索处理流程的流程图。
[0014] 图4表示倒排索引的具体构成。
[0015] 图5是表示实施方式1的检索N-Gram选定处理的流程的流程图。
[0016] 图6是表示实施方式2的检索N-Gram选择处理的流程的流程图。

具体实施方式

[0017] 以下针对本发明的实施方式涉及的检索装置进行说明。以下所说明的实施方式是用于对本发明进行说明,并非限定本发明的范围。
[0018] (实施方式1)
[0019] 以下参照图1对实施方式1的检索装置10进行说明。
[0020] 检索装置10具备存储部11、输入部12、N-Gram提取部13、最少频度导出部14、检索N-Gram选定部15、文档指定部16以及输出部17。
[0021] 存储部11存储倒排索引,该倒排索引对于从检索对象的多个文档数据提取出的N-Gram,以在多个文档数据中的出现位置和出现频度为构成元素。存储部11例如由硬盘装
置构成。
[0022] 具体地讲,在一个文档数据是由Ndoc个字符的字符串构成的情况下,提取出Ndoc-N+1个N-Gram(N文字串),并且,对于多个文档数据同样提取N-Gram,关于同一类型的N-Gram,在存储部11中存储记载了各自的出现位置和出现频度的倒排索引。
[0023] 输入部12从用户接收检索字符串。具体地讲,通过键盘、触摸式面板等输入装置接受用户输入的检索字符串。然后,将接收到的检索字符串提供给N-Gram提取部13。
[0024] N-Gram提取部13从由输入部12接收到的检索字符串中提取N-Gram。也就是说,通过计算机装置的CPU等从构成检索字符串的N-Gram中将能够提取的N-Gram提取出来。
然后,将提取出的N-Gram提供给最少频度导出部14。
[0025] 具体地讲,当用户输入M字符的检索字符串时,N-Gram提取部13从检索字符串中提取能够提取的全部N-Gram(N字符串)。也就是说,M-N+1个N-Gram被提取出来。
[0026] 最少频率导出部14基于存储部11中存储的倒排索引的出现频度信息,从由N-Gram提取部13提取出的N-Gram中导出在多个文档数据中具有最少出现频度的N-Gram。
最少频度导出部14将导出的具有最少出现频度的N-Gram的信息附加到由N-Gram提取部
13提取出的N-Gram上,提供给检索N-Gram选定部15。
[0027] 也就是说,上述M-N+1个N-Gram中在多个文档数据中出现频度最少的N-Gram由最少频度导出部14导出。
[0028] 检索N-Gram选择部15从由N-Gram提取部13提取出的N-Gram中选定涵盖检索字符串并且包含由最少频度导出部14导出的具有最少出现频度的N-Gram的多个检索
N-Gram。检索N-Gram选定部15将选定的多个检索N-Gram提供给文档指定部16。
[0029] 即,由于在由N-Gram提取部13提取出的所有N-Gram中,位置相邻的N-Gram存在重叠,因此在后述的文档数据的指定中,没有必要使用提取出的所有N-Gram,只要存在涵盖检索字符串的N-Gram即可。因此,检索N-Gram选定部15从由N-Gram提取部13提取出的
N-Gram中选定被覆检索字符串的检索N-Gram。
[0030] 此处,在选定的N-Gram中必定含有由最少频度导出部14导出的具有最少出现频度的N-Gram。通过将具有该最少出现频度的N-Gram用于后述的文档数据的指定,就能够有
效进行文档数据的检索。
[0031] 文档指定部16针对由检索N-Gram选定部15选定出的多个检索N-Gram,基于存储部11中存储的倒排索引的出现位置信息,从多个文档数据中指定包含检索字符串的文档
数据。然后,向输出部17提供被指定的文档数据。
[0032] 即,在文档特定部16中判断多个检索N-Gram的出现位置是否是以在检索字符串中的顺序连续地出现,指定被判定为连续出现的位置的文档数据。
[0033] 输出部17接受由文档指定部16指定的文档数据,输出给用户。具体地讲,使用例如显示器等输出装置来输出文档数据的信息。
[0034] 以下,使用图2A以及图2B,说明物理上构成图1所示的检索装置10的一般的计算机装置的概要构成。
[0035] 在图2A中,计算机装置20由CPU(Central Processing Unit)21、ROM(Rrad OnlyMemory)22、RAM(Random Access Memory)23、HDD(Hard Disk Drive)24、输入装置25、输出装置26以及通信控制装置27构成。各构成元素通过用于传输命令、数据的传输路径即系
统总线相互连接。
[0036] CPU21控制计算机装置20整体的动作,与各构成要素连接并交换控制信号、数据。
[0037] ROM22存储计算机装置20全体的动作控制所需的计算机程序、各种数据。尤其是在本实施方式中,为了进行检索处理,存储必要的计算机程序、各种数据。
[0038] RAM23用于暂时存储数据、计算机程序,保存有从ROM22读取的计算机程序、数据、以及其他处理的进行所必要的数据。
[0039] HDD24用于存储进行检索处理的动作所需的数据等,特别是在本实施方式中,设定其作为存储部11进行动作,其存储检索对象的多个文档数据28、以及以从多个文档数据28提取出的每个N-Gram在多个文档数据28中的出现位置和出现频度为构成元素的倒排索引
29。
[0040] 输入装置25由例如键盘、触摸屏等构成,接受来自用户的输入。本实施方式中,接受提供给N-Gram提取部13的由用户输入的检索字符串。
[0041] 输出装置26由例如显示器等构成,输出计算机装置20的处理结果。本实施方式中,向用户输出包含由文档指定部16指定的检索字符串的文档数据28。
[0042] 通信控制装置27用于使计算机装置20与因特网等计算机通信网连接,在与计算机通信网连接并交换数据的情况下是必需的。例如在本实施方式中,也能经由通信控制装
置27来取得存储在上述HDD24中的作为检索对象的多个文档数据28。
[0043] 本实施方式中,多个文档数据28也可以存在于计算机装置20之外,而非HDD24内。关于此例,使用图2B进行说明。
[0044] 图2B是与图2A相同的图,但是在此例中,多个文档数据28存在于计算机装置20之外,而在HDD24内不存在。该情况下,通过通信控制装置27经计算机通信网连接到文档
数据28。
[0045] 因此,在图2B的实施方式中,与图2A中的实施方式相比,没有必要在计算机装置20内存储文档数据28,只要是能够适当连接到因特网的环境,即便是小型电子辞书这样的
有限容量的装置也容易实现。
[0046] 关于通过这样的构成来实现的检索装置10的具体的检索处理的详细过程,以下参照图3,使用流程图进行说明。
[0047] 在检索装置10的处理开始时,首先检索装置10通过输入装置25从用户接受检索字符串(步骤S301),由N-Gram提取部13从接受的检索字符串中提取N-Gram(步骤S302)。
[0048] 具体地讲,比如用户输入了“高速化全文検索処理”这一9字符的检索字符串。此时,在进行N=2的检索处理的情况下,提取出的N-Gram(bigram:双连字串)从前往后依次为“高速”、“速化”、“化全”、“全文”、“文検”、“検索”、“索処”、“処理”,共8个(9-2+1个)。
另外,例如在进行N=3的检索处理的情况下,提取出的N-Gram(三连字串)从前往后依次
为“高速化”、“速化全”、“化全文”、“全文検”、“文検索”、“検索処”、“索処理”,共7个(9-3+1个)。
[0049] 此处N的值为检索装置10中预先设定的值,可取N=2、N=3或者之外的自然数的值,在后述中,为了便于表述,分别采用N=2、N=3等情况进行说明。
[0050] 然后,由最少频度导出部14从提取出的N-Gram中导出最少出现频度的N-Gram(步骤S303)。此处,出现频度的信息通过存储部11中存储的倒排索引29来获取。
[0051] 以下使用图4来说明本实施方式涉及的倒排索引29的具体构成。如本图所示,倒排索引29包括三个文件:记载有N-Gram字符串类型和出现位置信息储存地址的文件
(pattern.idx)、记载有各N-Gram字符串类型的出现频度和出现位置的文件(position.
idx)、记载有文档编号和各文档的起始字符位置的文件(number.idx)。
[0052] 此处,出现位置是将检索对象的文档集以文档编号顺序排列的文本中起始字符位置作为基准的位置。同样,本图中各文档编号的起始字符位置也是将检索对象的文档群以
文档编号顺序排列的文本中起始字符位置作为基准的位置。
[0053] 返回图3,使用该种倒排索引29的信息,在步骤S303中,从通过步骤S302提取出的N-Gram中导出出现频度最少的N-Gram。
[0054] 此处,当存在多个最少出现频度的N-Gram时,导出任一个N-Gram,典型的是导出检索字符串的位置靠前的N-Gram。另外,在即便是存在1个最少出现频度为0的N-Gram的
情况下,即表示多个文档数据28中不存在检索字符串,因此不进入后续步骤,典型的是向
用户输出“未发现检索字符串”等,结束处理(未图示)。
[0055] 然后,检索装置10通过检索N-Gram选定部15从提取出的N-Gram中选定检索N-Gram,其中包含最少出现频度的N-Gram(步骤S304)。该处的选定处理的详细内容参照以
下图5的流程图进行说明。
[0056] 以下,使用图5说明实施方式1涉及的检索N-Gram选定处理的流程。
[0057] 首先,在选定处理中,从检索字符串的起始字符不重复地选定检索N-Gram(步骤S501)。
[0058] 具体地讲,考虑上述的针对“高速化全文検索処理”9字符的检索字符串进行N=2的检索处理而提取出“高速”、“速化”、“化全”、“全文”、“文検”、“検索”、“索処”、“処理”这8个N-Gram(双连字串)的情况。在步骤S501中,从起始字符不重复地选定“高速”、“化全”、“文検”、“索処”这4个。
[0059] 然后,判断选定出的检索N-Gram是否涵盖检索字符串(步骤S502)。例如,上述选择出的4个N-Gram(双连字串)未能涵盖检索字符串末尾的“理”这个字符(步骤S502:
NO)。因此,追加选定包含检索字符串末尾字符的N-Gram作为检索用字符串(步骤S503)。
[0060] 具体地讲,追加选定包含上述未被涵盖的末尾的“理”字符的双连字串,即“処理”。该状态下,选择出“高速”、“化全”、“文検”、“索処”、“処理”这5个双连字串,该5个双连字串涵盖了“高速化全文検索処理”这一9字符的检索字符串。此处选定的5个双连字串为
能够涵盖9个字符的检索字符串的最小限度数目(〔9字符/2字符=5个,〔x〕为x以上
的最小自然数)。之后,转移到步骤S504。
[0061] 另一方面,例如在进行上述N=3的三连字串的检索处理的情况下,通过步骤S501选定的N-Gram(三连字串)为“高速化”、“全文検”、“索処理”这3个,由于该3个三连字串能够涵盖(〔9字符/3字符〕=3个)检索字符串(步骤S502:YES),因此不进行步骤S503
中的处理,而是转移到步骤S504。
[0062] 然后,判断选择出的检索N-Gram是否具有最少出现频度的N-Gram(步骤S504)。此处,使用在步骤S303中导出的最少出现频度的N-Gram的信息进行判断。
[0063] 具体地讲,在进行上述N=2的双连字串的检索处理的情况下,在即将进入步骤S504之前,处于选定“高速”、“化全”、“文検”、“索処”、“処理”这5个双连字串的状态。例如,在最少出现频度的双连字串为“索処”的情况下,由于其包含在选定的5个双连字串中(步骤S504:YES),因此就这样结束检索N-Gram的选定处理。
[0064] 另一方面,例如在最少出现频度的双连字串为“速化”的情况下,由于其不包含在选定的5个双连字串中(步骤S504:NO),因此追加选定最少出现频度的N-Gram即“速化”这一双连字串作为检索N-Gram(步骤S505),结束检索N-Gram的选定处理。在该例中最终
选定“高速”、“速化”、“化全”、
[0065] “文検”、“索処”、“処理”这6个双连字串作为检索N-Gram。
[0066] 返回图3,从此开始转移到使用在上述步骤S304中选定的检索N-Gram并通过文档指定部16指定包含检索字符串的文档数据28的处理。具体地讲,考虑针对“高速化全文検
索処理”这一9字符的检索字符串进行N=2的检索处理的情况下通过步骤S304选定的检
索用双连字串为上述“高速”、“化全”、“文検”、“索処”、“処理”这5个双连字串的情况。
[0067] 首先,对选定的检索N-Gram以出现频度由少到多的顺序进行排列(步骤S305)。该处理基于倒排索引29的各N-Gram的出现频度信息来进行。也就是说,在上述5个双连
字串的出现频度分别为“高速”10次、“化全”8次、“文検”5次、“索処”3次、“処理”13次时,按照出现频度由少到多的顺序,重新排列为“索処”、“文検”、“化全”、“高速”、“処理”。
[0068] 此处以出现频度由少到多的顺序排列检索N-Gram的理由如下:应该被指定的文档数据28应该包含所有的检索N-Gram,比起以出现频度多的N-Gram为基准检索文档数据
28,以出现频度少的N-Gram为基准检索文档数据28能够更有效地进行检索。
[0069] 然后,判断最少出现频度N-Gram的出现位置中是否存在未评价的出现位置(步骤S306)。也就是说,出现频度最少的双连字串“索処”3次的出现位置在多个文档数据28
中为“第100个字符”、“第300个字符”、“第700个字符”的情况下,此处均为未评价的状态(步骤S306:YES),转移到步骤S307。
[0070] 然后,着眼于未评价的出现位置(步骤S307)。即,上述最少出现频度的双连字串“索処”3次的出现位置为“第100个字符”、“第300个字符”、“第700个字符”时,此处均为未评价的状态,因此典型的是首先着眼于最初的出现位置即“第100个字符”。
[0071] 然后,判断其他的所有检索N-Gram是否具有与着眼点的出现位置连续的出现位置(步骤S308)。具体地讲,以出现频度由少到多的顺序选定双连字串,进行下述(a)~(d)
的判断处理。也就是说,如果各双连字串的出现位置构成了检索字符串“高速化全文検索処理”,那么判断各双连字串存在于哪个出现位置。
[0072] (a)检索用双连字串“文検”应该位于最少出现频度的双连字串“索処”的2字符前方,因此判断其5次的出现位置中是否具有“第98(=100-2)个字符”的出现位置。
[0073] (b)检索用双连字串“化全”应该位于比最小出现频度的双连字串“索処”的前方4字符的位置,因此判断其8次的出现位置中是否具有“第96个字符(=100-4个字符)”
这一出现位置。
[0074] (c)因为检索用双连字串“高速”应该位于最少出现频度双连字串“索処”的6字符前方,所以判断其10次的出现位置中是否具有“第94(=100-6)个字符”这一出现位置。
[0075] (d)检索用双连字串“処理”应该位于最少出现频度的双连字串“索処”的1字符后方,因此判断其13次的出现位置中是否具有“第101(=100+1)个字符”这一出现位置。
[0076] 此处,在上述(a)~(d)中,在检索用双连字串一个也没有的情况下(步骤S308:NO),返回到步骤S306的判断,在步骤S307中重新着眼于最少出现频度的双连字串“索処”的未评价的出现位置,也就是“第300个字符”。然后对于着眼的“第300个字符”再次重复进行步骤S308的判定处理。
[0077] 另一方面,在上述(a)~(d)的判定中判定为所有的检索用双连字串均具有对应的连续的出现位置的情况下(步骤S308:YES),那么该连续的出现位置上具有检索字符串
“高速化全文検索処理”。因此,此处检索装置10根据连续的出现位置和文档编号的先头字符位置特定文档编号并保持(步骤S309)。也就是说,将检索字符串的出现位置与倒排索引
29的文档编号及其起始字符位置进行比较,指定包含此处的出现位置的文档编号并保存。
[0078] 然后,返回步骤S306,再次判定最少出现频度的N-Gram的出现位置中是否存在未评价的出现位置。具体地讲,在上述例中,最少出现频度的双连字串“索処”3次的出现位置在多个文档数据28中为“第100个字符”、“第300个字符”、“第700个字符”的情况下,如果当前的处理为着眼于最初的“第100个字符”的处理,则由于存在未评价的“第300个字
符”、“第700个字符”的出现位置(步骤S309:YES),因此返回步骤S307,重复着眼于未评价的出现位置的处理。
[0079] 另一方面,最少出现频度的N-Gram的出现位置均被评价的情况下(步骤S306:NO),向用户输出与步骤S309中保存的所有文档编号对应的文档数据28(步骤S310)。之
后,结束处理。即,在步骤S306~S309的重复处理中,文档数据28被输出的次数为通过了
步骤S309的次数,换言之,为指定为包含检索字符串的文档数据28的数目。
[0080] 此处,如果指定为包含检索字符串的文档数据28一个也不存在,那么在步骤S310中不输出任何文档数据28,典型的是向用户输出“未发现检索字符串”等,结束处理。
[0081] 由上,在实施方式1中能够实现高速的检索N-Gram选定处理和有效率的文档指定处理这两种处理,其中,高速度检索N-Gram选定处理基于从检索字符串的起始字符依次不
重复地进行选定这一简单的处理,高效的文档指定处理通过选定必定包含最少出现频度的
N-Gram的少数(涵盖检索字符串的最小限度或者最小限度加1所得的数)检索N-Gram来
实现。
[0082] 据此,能够实现例如搭载于手机、小型电子设备上的小型电子辞书等有限的处理速度、容量下的有效率的检索。
[0083] (实施方式2)
[0084] 接下来针对本发明实施方式2进行说明。实施方式1中,在选定检索N-Gram时,最初从检索字符串的起始字符开始依次不重复地进行选择。在实施方式2中,以最少出现
频度的N-Gram在检索字符串中的位置作为基准,来选定检索N-Gram。以下进行详细说明。
[0085] 此处,在实施方式1的说明中使用的检索装置的概要构成图(图1)、构成检索装置的计算机装置的概要构成图(图2)、表示检索处理的流程的流程图(图3)以及倒排索
引29的具体构成(图4)在实施方式2中通用,因此,省略对其说明。在实施方式2中,检
索N-Gram选定处理的流程(图5)与实施方式1不同,以下使用新的流程图进行说明。
[0086] 以下使用图6说明实施方式2涉及的检索N-Gram选定处理的流程。
[0087] 首先,检索装置10从由N-Gram提取部13抽出的N-Gram中选定包含检索字符串起始或者末尾字符的2个N-Gram作为检索N-Gram(步骤S601)。
[0088] 具体地讲,例如针对“高速化された全文検索処理”这一12字符的检索字符串进行N=2的检索处理而提取出“高速”、“速化”、“化さ”、“され”、“れた”、“た全”、“全文”、“文検”、“検索”、“索処”、“処理”这11个N-Gram(双连字串)的情况下,在步骤S601中,选定包含起始字符的N-Gram“高速”以及包含末尾字符的N-Gram“処理”这2个N-Gram。
[0089] 然后,追加选定最少出现频度的N-Gram作为检索N-Gram(步骤S602)。然后,以选定的最少出现频度的N-Gram的位置为基准,向前方不重复地追加选定检索N-Gram(步骤
S603),同样向后方不重复地追加检索N-Gram并选择(步骤S604)。
[0090] 具体地讲,在上述例中,在最少出现频度的双连字串为“れた”的情况下,首先在步骤S602中该双连字串“れた”被选定。并且在步骤S603中,向前方不重复地进行选定,即此处选定“化さ”。最后,在步骤S604中,向后方不重复地进行选定,即此处选定“全文”及“検索”这2个双连字串。
[0091] 即,由于最少出现频度的双连字串的起始字符在检索字符串中位于第奇数个,所以就选定以第奇数个字符为起始字符的其他双连字串。另外,对于N-Gram的情况,一般选
定如下N-Gram即可:其在检索字符串中的位置除以N后的余数与最少出现频度N-Gram相
等。
[0092] 结果,连同步骤S601中选定的2个双连字串,“高速”、“化さ”、“れた”、“全文”、“検索”、“処理”这6个双连字串被选作了检索N-Gram。这是包含最少出现频度的双连字串并涵盖上述12字符的检索字符串的最小限度个数的双连字串。
[0093] 另外,作为另一具体例子,在最少出现频度的双连字串为“た全”的情况下,首先在步骤S602中该双连字串“た全”被选定。并且在步骤S603中,向前方不重复地进行选定,即此处选定“化さ”以及“速化”。最后,在步骤S604中,向后方不重复地进行选定,即此处选定“文検”及“索処”这2个双连字串。
[0094] 也就是说,由于最小出现频率的双连字串的起始字符在检索字符串中位于第偶数个,所以就选定以第偶数个字符为起始字符的其他双连字串。另外,对于N-Gram的情
况,一般选定如下N-Gram即可:其在检索字符串中的位置除以N后的余数与最少出现频度
N-Gram相等。
[0095] 结果,连同步骤S601中选定的2个双连字串,“高速”、“速化”、“され”、“た全”、“文検”、“索処”、“処理”这7个双连字串被选作了检索N-Gram。这是包含最少出现频度的双连字串并比涵盖上述12字符的检索字符串的最小限度的个数多1个的双连字串。
[0096] 以根据该种处理选择的检索N-Gram为基准,如在实施方式1中说明的那样,转移到文档指定部16进行的处理。
[0097] 由上,在实施方式2中,通过以最少出现频度的N-Gram为基准选定涵盖检索字符串的N-Gram,能够选定必定包含最少出现频度的N-Gram的少数(涵盖检索字符串的最小限
度或者最小限度加1所得的数)检索N-Gram。由此,能够同时实现高速的检索N-Gram选定
处理和有效率的文书指定处理这两种处理。
[0098] 另外,本发明中的实施方式不限于上述的实施方式,还可以是由使计算机装置20发挥功能的计算机程序来作为上述检索装置10。
[0099] 上述计算机程序能够存储在光盘、软盘、硬盘、磁光盘、数字视盘、磁带、半导体存储器等计算机可读取的信息存储介质中。
[0100] 另外,上述计算机程序能够独立于执行计算机程序的计算机装置20通过计算机通信网分发和销售。
[0101] 另外,上述信息存储介质能够独立于计算机装置20进行分发和销售。