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

申请号 : CN201080064700.7

文献号 : CN102770863B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 冈登洋平岩崎知弘花沢利行

申请人 : 三菱电机株式会社

摘要 :

索引生成部(20)将检索对象数据(10)的各名称数据分割为单词单位以及字符单位,计算表示单词单位以及字符单位的始终端的始终端得分,作为列表(名称ID/位置/始终端得分)链接到构成名称数据的各目录,并保存于索引保存部(30)。检索部(40)将输入字符串分解为部分字符串,从索引保存部(30)获取对应的候补目录,根据列表判定候补目录彼此的连续性,赋予与连续性对应的对照得分。

权利要求 :

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

部分字符串分解部,抽出构成输入字符串的部分字符串;

部分字符串索引参照部,从预先制作的索引,针对每个名称数据,获取与所述部分字符串对应的目录的位置信息以及边界信息;以及候补得分更新部,根据所述位置信息,判定所述名称数据中的所述部分字符串索引参照部获取的目录彼此的连续性,对判定为连续的目录赋予最大的对照得分,对判定为不连续的目录,根据所述边界信息,赋予与和前后的目录的连接的妥当性对应的对照得分,候补得分更新部在输入字符串中包含的任意的部分字符串彼此的距离、和与该任意的部分字符串彼此对应的名称数据中的目录彼此的距离分别是规定距离内的情况下,判定为连续。

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

候补得分更新部根据名称数据中的目录彼此的位置关系,调整对照得分。

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

候补得分更新部对名称数据中包含的各目录的对照得分进行相加来计算候补得分,按照该候补得分从高到低的顺序排列所述名称数据并输出。

4.根据权利要求1所述的检索装置,其特征在于,还具备:

名称解析部,以单词单位以及字符单位分割由字符串构成的名称数据而设为部分数据,生成表示该部分数据的始终端的边界信息;

始终端信息赋予部,抽出构成所述名称数据的部分字符串而作为目录,并针对每个该目录,赋予所述名称数据中的位置信息、以及该目录中包含的所述部分数据的边界信息;以及部分字符串索引制作部,生成按照目录顺序排列了所述始终端信息赋予部的输出结果的索引。

5.一种检索方法,其特征在于,包括:

部分字符串分解步骤,抽出构成输入字符串的部分字符串;

部分字符串索引参照步骤,从预先制作出的索引,针对每个名称数据,获取与所述部分字符串对应的目录的位置信息以及边界信息;以及候补得分更新步骤,根据所述位置信息,判定所述名称数据中的通过所述部分字符串索引参照步骤获取的目录彼此的连续性,对判定为连续的目录赋予最大的对照得分,对判定为不连续的目录,根据所述边界信息,赋予与和前后的目录的连接的妥当性对应的对照得分,在候补得分更新步骤中,在输入字符串中包含的任意的部分字符串彼此的距离、和与该任意的部分字符串彼此对应的名称数据中的目录彼此的距离分别是规定距离内的情况下,判定为连续。

说明书 :

检索装置以及检索方法

技术领域

[0001] 本发明涉及从预先制作的索引检索出检索对象的名称的检索装置以及检索程序。

背景技术

[0002] 在进行全文检索的情况下,使用大量的文档数据,事先,根据构成检索对象的名称的部分字符串,制作能够参照该名称的索引,从而能够高速地进行针对大规模的索引的部分一致检索。作为检索的最小单位,使用单词或者字符N-gram。在将检索单位设为单词的情况下,能够期待语言上妥当的检索结果,但另一方面,如果在事先的语言解析中存在错误,则产生漏检。另外,无法按照比单词短的单位进行检索。另一方面,在将检索单位设为字符N-gram的情况下,虽然不产生漏检,但另一方面,有可能涌出语言上不妥当的分隔符的名称候补。例如,针对单词分隔符“东京/都”(斜杠表示分隔符)不可能对应“京都”这样的单词,但针对字符分隔符“东/京/都”能够部分一致地对应“京/都”这样的字符。因此,如果以单词单位检索“东京都”,则“京都”不被包含于检索结果,但如果以字符单位进行检索,则“京都”被包含于检索结果,由此在语言上欠缺妥当性。
[0003] 为了解决该问题,还能够并用单词单位和字符单位这两者来检索,但存在索引制作时间以及检索时间也增大为这两者之和这样的课题。相对于此,在专利文献1公开的信息检索装置中,对字符单位的索引赋予单词信息,并按照单词单位和字符单位复合地检索,从而抑制了处理时间的增大。
[0004] 另外,在例如将用户发声的名称作为检索词,来进行从索引检索出部分一致的名称的名称检索的情况下,由于用户不一定发出部分一致的名称,所以模糊检索技术是有用的。作为应用了全文检索用的索引的模糊检索技术,提出了专利文献2、3。在专利文献2的字符串检索装置中,将检索词分割为字符N-gram单位,从索引检索出与字符N-gram分别部分一致的名称,将部分一致的字符N-gram多的名称作为检索结果而输出。另外,在专利文献3的文本检索装置中,对在检索词和索引中的各名称中出现位置关系一致或者处于规定范围内的位置的字符的个数进行计数来计算类似度,将类似度高的名称作为检索结果而输出。
[0005] 专利文献1:日本专利第3636941号
[0006] 专利文献2:日本专利第3665112号
[0007] 专利文献3:日本专利第3715672号

发明内容

[0008] 以往的检索装置如以上那样构成,所以存在如下课题:在使用索引的全文检索装置中的模糊检索中,由于各种对照被允许,所以容易产生涌出错误,检索精度低。特别是,在根据检索的单位是日语的假名(约100种)、英语的音素符号(约40种)等接近于声音表现的检索词来进行检索的情况下,相比于单词以及汉字,种类数少且模糊性大,所以候补数的增加显著。但是,在将索引设为单词单位时,如果如上所述在索引制作阶段产生了解析错误,则除了产生漏检以外,在检索时也有可能产生错误地进行检索词的单词分割,并且,无法对应于在日语中经常出现的简并单词的缩写(例如将“综合研究所”省略为“总研”)。进而,存在如下问题:在检索词是声音数据的情况下,即使声音的误识别是1个字符,单词的获取也失败,大幅偏离了本来的检索词的候补被选择。
[0009] 本发明是为了解决上述那样的课题而完成的,其目的在于,根据最小单位检索检索对象的输入字符串,另一方面,还考虑更长的单位的语言的妥当性,从而实现高精度的模糊检索。
[0010] 本发明的检索装置,具备:名称解析部,以至少1种类以上的单位分割由字符串构成的名称数据而设为部分数据,生成表示该部分数据的始终端的边界信息;始终端信息赋予部,抽出构成名称数据的部分字符串而作为目录,并针对每个该目录,赋予名称数据中的位置信息、以及该目录中包含的部分数据的边界信息;以及部分字符串索引制作部,生成按照目录顺序排列了始终端信息赋予部的输出结果的索引。
[0011] 另外,本发明的检索程序,使计算机作为如下单元发挥功能:名称解析单元,以至少1种类以上的单位分割由字符串构成的名称数据而设为部分数据,生成表示该部分数据的始终端的边界信息;始终端信息赋予单元,抽出构成名称数据的部分字符串而作为目录,并针对每个该目录,赋予名称数据中的位置信息、以及该目录中包含的部分数据的边界信息;以及部分字符串索引制作单元,生成按照目录顺序排列了始终端赋予单元的输出结果的索引。
[0012] 根据本发明,以至少1种类的单位分割由字符串构成的名称数据而生成表示部分数据的始终端的边界信息,针对抽出了构成名称数据的部分字符串的每个目录,赋予位置信息以及该目录中包含的部分数据的边界信息来生成索引,所以能够根据最小单位检索检索对象的输入字符串,另一方面,还能够考虑更长的单位的语言的妥当性,其结果,能够实现高精度的模糊检索。

附图说明

[0013] 图1是示出本发明的实施方式1的检索装置的结构的功能框图。
[0014] 图2是示出图1所示的索引生成部的内部结构的功能框图。
[0015] 图3是示出检索对象数据的一个例子的图。
[0016] 图4是示出将书写分割为单词单位的检索对象数据的一个例子的图。
[0017] 图5是示出将书写分割为字符单位的检索对象数据的一个例子的图。
[0018] 图6是示出始终端信息赋予部制作出的表的一个例子的图。
[0019] 图7是示出部分字符串索引制作部生成的列表(名称ID/位置/始终端得分)的一个例子的图。
[0020] 图8是示出检索部的内部结构的功能框图。
[0021] 图9是说明检索部的动作的流程图。
[0022] 图10是示出对照得分表的一个例子的图。

具体实施方式

[0023] 以下,为了更详细说明本发明,根据附图,说明具体实施方式。
[0024] 实施方式1.
[0025] 图1所示的检索装置具备:索引生成部20,根据检索对象数据10事先制作索引;索引保存部30,保存有索引;以及检索部40,将用于检索而输入的输入数据(输入字符串)与索引对照而获取类似的候补。图2示出索引生成部20的内部结构,图8示出检索部40的内部结构。该检索装置是用于从大量的名称候补进行基于读法字符串的检索,从包括词序的调换、部分性的遗漏等的部分一致候补中获取妥当性高的候补的装置。
[0026] 检索对象数据10是检索对象的名称数据,成为索引的基础。名称数据至少包括:读法,该读法是用于与输入数据对照的字符串;以及用于识别该名称数据的名称ID。在图3所示的检索对象数据10的一个例子中,各名称数据由名称ID、书写、以及读法构成。
[0027] 图2所示的索引生成部20中的名称解析部21读出检索对象数据10的信息,参照词典信息,将构成名称数据的字符串以1种以上的语言单位分割而设为部分数据。作为具体的语言单位,例如在日语的情况下,有单词(词素)单位和与书写1字符相当的字符单位,此处根据组合了单词单位和字符单位的2种的语言单位进行解析。根据2种的语言单位解析的理由是因为,两个单位下的解析精度不同,以及提供阶段性的每个缩写的容纳性。在单词单位下,语言上的制约强,但另一方面,有包含解析错误的可能性,并且,还存在无法对应于比单词短的缩写的可能性。在字符单位下,解析精度高,并且,在大部分的情况下,是缩写的最小单位。在词典中,保存了字符、单词以及其读法、和用于正确地赋予分隔符的表示单独或者与其他字符或者单词共同出现的程度的指标值。通常,根据包括正解的分隔符信息的大量的文本数据,针对正解的分隔符统计性地学习该指标值,以使成为指标值之和的得分变大。
[0028] 名称解析部21参照词典信息,作为解析结果输出将输入字符串分割为单词单位的读法和其得分、以及分割为字符单位的读法和其得分。在分隔符的赋予中,根据从词典读出的指标值,针对任意的分隔符方式计算得分,求出成为最大的得分的分隔符。图4示出将书写分割为单词单位的检索对象数据10的一个例子,图5示出将书写分割为字符单位的检索对象数据10的一个例子。在图4以及图5中,斜杠(/)表示单位分隔符。
[0029] 始终端信息赋予部22将名称解析部21的解析结果分解为保存于索引中的部分字符串(目录)单位,针对每个目录制作由在该部分字符串的名称中出现的位置、解析结果的单词开始点、单词结束点、字符开始点、字符结束点构成的表。图6示出始终端信息赋予部22制作出的表的一个例子。在该例子中,将读法(表中的读法)的目录设为短音节(mora)单位的二元语法(bigram)。短音节是与日语的节拍相当的单位。开始点“1”表示在该读法的第1个字符之前有单词或者字符的边界。结束点“1”表示在该读法的第2个字符之后有单词或者字符的边界。例如,可知名称ID“01”的“トウキョウト”的部分字符串“トウ”从位置“1”开始,是单词单位的开始点,并且,是字符单位的开始点并且是结束点。
[0030] 进而,始终端信息赋予部22使用单词单位、字符单位的开始点以及结束点的信息,针对每个目录赋予始终端边界信息。在该例子中,单词边界包含于字符边界,所以始终端边界信息是单词边界并且字符边界“2”、不是单词边界的字符边界“1”、其他“0”这3种。在图6所示的始终端边界信息的例子中,对于始端得分以及终端得分分配了基于以上的3种的得分值。
[0031] 部分字符串索引制作部23参照始终端信息赋予部22制作出的表,将目录与由名称ID、位置、始终端得分构成的列表对应起来,按目录排序而作为索引。图7示出部分字符串索引制作部23生成的列表(名称ID/位置/始终端得分)的一个例子。例如,目录“ウキョ”包含于名称“トウキョウト”和名称“ウキョウ”这两方,所以与2个名称ID“01”以及“02”对应。
[0032] 索引保存部30保存部分字符串索引制作部23所生成的目录的索引,使得能够获取与目录对应起来的列表(名称ID/位置/始终端得分)。
[0033] 图8所示的检索部40中的、部分字符串分解部41将输入到检索装置的检索对象的输入字符串,依照与索引生成部20将名称分解为目录单位时同样的基准,分解为部分字符串。此处,假设按照上述说明,将检索对象的输入字符串分解为短音节单位的二元语法。
[0034] 部分字符串索引参照部42从索引保存部30搜索与输入字符串中包含的部分字符串分别一致的目录,并针对每个部分字符串获取这些目录的列表(名称ID/位置/始终端得分)。
[0035] 候补得分更新部43针对部分字符串索引参照部42获取的候补目录的列表(名称ID/位置/始终端得分),更新对照历史以及候补得分,根据到达所输入的部分字符串的末尾时的候补得分,确定要输出的候补名称一览。对于候补得分更新部43的详细内容,后述。
[0036] 接下来,使用图9所示的流程图,说明检索部40的动作。
[0037] 假设检索部40具有候补名称列表,检索部40将该候补名称列表用作对照历史,来计算候补得分,所述对照历史临时保持部分字符串索引参照部42从索引保存部30获取的名称数据的各种信息。
[0038] 在该候补名称列表中,具体而言,针对成为候补的名称数据(以下,候补名称)的每个候补名称id(1≦id≦名称ID的最大值),包括:
[0039] score[id]:候补得分、
[0040] inpOfs[id]:输入字符串中的对照中的部分字符串的位置(以下称为输入字符串对照位置),
[0041] idxOfs[id]:候补名称中的对照中的目录的位置(以下称为候补名称对照位置),[0042] boundary[id]:候补名称中的上次对照的目录的终端得分(以下成为前一目录终端得分)。
[0043] 在步骤ST1中,检索部40对候补名称列表的候补得分、输入字符串对照位置、候补名称对照位置进行初始化,设为score[id]=inpOfs[id]=idxOfs[id]=0,并且将前一目录终端得分设为boundary[id]=2。此处,boundary[id]仅表示始端得分和终端得分中的终端得分,boundary[id]=2表示目录的终端是单词边界并且是字符边界“2”。
[0044] 在步骤ST2中,检索部40获取检索对象的输入字符串。接着在步骤ST3中,部分字符串分解部41将所获取的输入字符串分解为部分字符串,设为部分字符串列表。如上所述,部分字符串是短音节单位的二元语法。如果将输入字符串的读法表示为InpLen个短音节{s[1],s[2],…,s[InpLen]},则成为部分字符串s2[i]=(s[i],s[i+1])。下标i表示输入字符串中的字符位置,是1≦i≦InpLen-1。
[0045] 例如,在输入字符串的读法是“ウキョウ”的情况下,是InpLen=3个(“ウ”、“キョ”、“ウ”),在部分字符串列表中包括s2[1]的“ウキョ”和s2[2]的“キョウ”。
[0046] 在步骤ST4中,部分字符串分解部41初始化为下标i=1,从输入字符串中的开头的部分字符串s2[1]起开始进行对照处理。
[0047] 在步骤ST5中,部分字符串索引参照部42针对每个部分字符串参照索引保存部30,获取与部分字符串一致的目录(以下,候补目录)的列表(名称ID/位置/始终端得分),设为候补目录列表。与第i个字符位置对应的候补名称是IndexNum[i]个。另外,将与第i个字符位置的部分字符串对应的候补目录表示为Index[i][j](1≦j≦IndexNum[i]),下标j表示对照处理的候补目录。
[0048] 在候补目录列表中,具体而言,将与第j个候补目录对应起来的列表的名称ID、位置、始端得分、终端得分表示为:
[0049] Index[i][j].id:名称ID、
[0050] Index[i][j].ofs:位置、
[0051] Index[i][j].begin:始端得分、
[0052] Index[i][j].end:终端得分。
[0053] 例如,与输入字符串“ウキョウ”的部分字符串s2[1]“ウキョ”对应的候补目录是“ウキョ”(01,2,00)(02,1,20)。在该情况下,与第i=1个“ウキョ”对应的候补名称是名称ID01“トウキョウト”和名称ID02“ウキョウ”这2个(=IndexNum[1]),所以将第j=1个设为名称ID01的“ウキョ”(01,2,00),将第j=2个设为名称ID02的“ウキョ”(02,1,20)。因此,在候补目录列表中,与第j=1个候补目录“ウキョ”对应起来的信息是:
[0054] Index[1][1].id=01
[0055] Index[1][1].ofs=2
[0056] Index[1][1].begin=0
[0057] Index[1][1].end=0。
[0058] 部分字符串索引参照部42在步骤ST6中初始化为下标j=1,接着在步骤ST7中将候补名称列表变换为id=Index[i][j].id,在针对部分字符串s2[1]“ウキョ”的候补名称如“トウキョウト”以及“ウキョウ”那样有多个的情况下,首先从某一方的候补名称的开头的目录开始进行对照处理。
[0059] 在步骤ST8中,候补得分更新部43比较索引的候补名称列表以及候补目录列表、以及输入字符串的部分字符串列表,来判定输入字符串的连续性。在表示候补目录的名称ID的Index[i][j].id已经包含于候补名称列表、并且输入字符串对照位置inpOfs[id]和候补名称对照位置idxOfs[id]一个一个地(此处为按短音节单位)前进的状态、即满足候补名称上的对照位置的移动距离:Index[i][j].ofs-idxOfs[id]=1并且输入字符串上的对照位置的移动距离:i-inpOfs[id]=1的情况下,判定为维持了连续性,在其以外的情况下判定为没有维持连续性。
[0060] 但是,在检索对象的输入字符串是声音输入的识别结果的情况下,缓和连续性判定的制约,使得在输入字符串对照位置inpOfs[id]和候补名称对照位置idxOfs[id]每次前进任意的数D1、D2的状态、即满足候补名称上的对照位置的移动距离:1≦Index[i][j].ofs-idxOfs[id]=D1、并且输入字符串上的对照位置的移动距离:1≦i-inpOfs[id]=D2的情况下判定为维持了连续性,从而容许少许的变动。
[0061] 在维持了连续性的情况下(步骤ST8“是”),接着在步骤ST9中,候补得分更新部43针对对照中的候补目录设定对照得分sc(i,j)=1.0。对于对照得分sc(i,j),将维持了连续性的情况设为最大值,在没有维持连续性的情况下,根据候补目录彼此的语言上的妥当性的程度来调整值。
[0062] 在没有维持连续性的情况下(步骤ST8“否”),接着在步骤ST10中,候补得分更新部43针对对照中的候补目录,根据候补名称列表中保存的上次对照的候补目录(即,前一目录)的终端得分boundary[id]、和候补目录列表中保存的对照中的候补目录的始端得分Index[i][j].begin,从对照得分表中选择对照得分sc(i,j)。
[0063] 图10示出对照得分表的一个例子。在该例子中,在上次对照的候补目录是单词的结束点、且本次对照中的候补目录是候补名称中的单词的开始点的情况下,能够视为单词单位的词序调换,所以在语言上妥当,所以对照得分sc(i,j)被设定为最大值1.0。另外,在上次对照的候补目录是字符的结束点、且本次对照中的候补目录是候补名称中的单词的开始点的情况下,能够视为单词的末尾被省略了的缩写,所以设定为高的值0.9。
[0064] 这样,能够通过对照得分表的点数分配来制约等待估计的缩写的模式。
[0065] 另外,对于等待估计的缩写的模式的制约,不仅是上述对照得分sc(i.j),而且也可以例如在步骤ST7中计算出的移动距离成为负数的情况下施加惩罚。具体而言,在输入字符串可能包括遗漏错误、插入错误、置换错误等输入错误的情况下,如果候补名称上的对照位置的移动距离(即名称数据中的目录彼此的位置关系)是负数,则减小对照得分sc(i,j)的值。或者,也可以不对对照得分sc(i,j)直接进行调整,而使用与移动距离的正负对应的其他权重。
[0066] 由此,能够与上述同样地避免在检索结果中包含产生词序的调换的调换词。
[0067] 在步骤ST11中,候补得分更新部43针对候补名称id,对候补得分score[id]加上对照得分sc(i,j)(score[id]=score[id]+sc(i,j))。另外,候补得分更新部43在对照得分sc(i,j)>0时,对候补名称列表的候补得分以外的信息也进行更新。通过在该更新处理中更新输入字符串对照位置和候补名称对照位置,由此能够明示进行了对照处理,所以能够将这些对照位置的信息用作对照历史。
[0068] 具体而言,更新为
[0069] 候补得分:score[id]=score[id]+sc(i,j)、
[0070] 输入字符串对照位置:inpOfs[id]=i、
[0071] 候补名称对照位置:idxOfs[id]=Index[i][j].end、
[0072] 前一目录终端得分:boundary[id]=Index[i][j].end。
[0073] 例如,对于针对第i=1个部分字符串“ウキョ”的第j=1个候补目录“ウキョ”(候补名称id01),由于候补名称“トウキョウト”上的对照位置的移动距离是2(=2-0),并且输入字符串“ウキョウ”上的对照位置的移动距离是1(=1-0),所以判定为没有维持连续性,从图10的对照得分表赋予对照得分sc(1,1)=0.4。通过该对照处理,候补名称“トウキョウト”(候补名称id01)被更新为候补得分score[01]=0+0.4=0.4。
[0074] 在步骤ST12中,检索部40更新为j=j+1,使得将对照中的第i个部分字符串与下一个候补名称对照,接着在步骤ST13中,确认是否将第i个部分字符串与IndexNum(i)个全部候补名称对照完。
[0075] 如果尚未对照完第i个部分字符串和全部候补名称(j≦IndexNum[i]、步骤ST13“是”),则返回到步骤ST7,对剩余的全部候补名称实施步骤ST7~ST11的对照处理。但是,在输入字符串的不同位置存在多个相同名称ID的情况下,优先选择相加后的候补得分成为最大的位置。
[0076] 例如,在尚未与全部候补名称对照完的情况下,关于针对第i=1个“ウキョ”的第j=2个候补目录“ウキョ”进行对照。对于该候补目录“ウキョ”,由于候补名称“ウキョウ”(候补名称id02)上的对照位置的移动距离是1(=1-0)、并且输入字符串“ウキョウ”上的对照位置的移动距离是1(=1-0),所以判定为维持了连续性,赋予对照得分sc(1,2)=1.0。通过该对照处理,候补名称“ウキョウ”(候补名称id02)被更新为候补得分score[02]=0+1.0=1.0。
[0077] 如果对照完第i个字符位置和全部候补名称(j>IndexNum[i]、步骤ST13“否”),则检索部40接着在步骤ST14中更新为i=i+1,使得将输入字符串中的下一个部分字符串与各候补名称对照,进而,在步骤ST15中确认输入字符串中包含的InpLen个全部部分字符串的对照处理是否结束。
[0078] 例如,在尚未结束全部部分字符串的对照的情况下,在接下来的对照处理中,针对第i=2个即输入字符串“ウキョウ”的部分字符串s2[2]的“キョウ”进行对照。
[0079] 在结束了InpLen个全部部分字符串的对照处理的情况下(i>InpLen-1、步骤ST15“否”),接着在步骤ST16中,部分字符串索引制作部23按照基于候补得分的顺序(例如按照值从大到小的顺序)重排到达输入字符串的末尾时的、候补名称列表中包含的各候补名称,并作为候补名称一览输出,并向用户提示。
[0080] 另一方面,在尚未结束InpLen个全部部分字符串的对照处理的情况下(i≦InpLen-1、步骤ST15“是”),检索部40返回到步骤ST5而针对下一个部分字符串进行对照处理。
[0081] 这样,检索部40使用由索引生成部20制作出的索引的、构成名称的各目录上赋予的表示语言上的妥当性的始终端边界信息,来进行输入字符串的模糊检索,所以相比于不使用始终端边界信息而检索的情况,检索精度得到改善。另外,能够根据对照处理中的移动距离的制约、以及对照得分表的点数分配,来调整容纳的缩写的模式,所以能够考虑输入字符串的声音误识别等所致的遗漏错误、插入错误、置换错误来灵活地应对,例如缓和缩写的抽出制约而宽幅地抽出等待词、或者相反地重视精度来制约缩写词的抽出。
[0082] 另外,在上述说明中,在例子中使用了日语的书写和读法,但不限于此,即使在将检索装置例如应用于英语的情况下,通过作为字符单位而使用音节,代替读法而使用音素或者音节,作为字符单位而使用音节或者词素,也能够进行同样的处理。
[0083] 以上,根据实施方式1,检索装置具备:名称解析部21,以单词以及字符的单位,分割由字符串构成的名称数据,生成表示单词单位的始终端以及字符单位的始终端的始终端得分;始终端信息赋予部22,抽出构成名称数据的部分字符串而作为目录,针对每个该目录,赋予表示名称数据中的位置、以及该目录中包含的单词单位以及字符单位的始终端得分的列表(名称ID/位置/始终端得分);以及部分字符串索引制作部23,生成按照目录顺序排列了始终端信息赋予部22的输出结果的索引。因此,能够制作包括作为最小单位的字符单位和作为更长的单位的单词单位的语言信息的索引,其结果,能够实现高精度的模糊检索。
[0084] 另外,根据实施方式1,检索装置具备:部分字符串分解部41,抽出构成输入字符串的部分字符串;部分字符串索引参照部42,从预先制作并保存于索引保存部30的索引,针对每个名称数据,获取与部分字符串对应的候补目录的列表(名称ID/位置/始终端得分);以及候补得分更新部43,根据列表(名称ID/位置/始终端得分),判定候补名称数据中的部分字符串索引参照部42获取的候补目录彼此的连续性,对判定为连续的候补目录赋予最大的对照得分sc(i,j),对判定为不连续的候补目录,根据始终端得分,赋予与和前后的候补目录的连接的妥当性对应的对照得分sc(i,j),对候补名称中包含的各候补目录的对照得分sc(i,j)进行相加,计算出候补得分score[id],按照候补得分score[id]从高到低的顺序排列候补名称而输出。因此,能够根据作为最小单位的字符单位进行检索,另一方面,还能够考虑作为更长的单位的单词单位的语言的妥当性。因此,即使名称候补不是输入字符串本身、或者不是完全的部分一致,也能够检索,能够实现高精度的模糊检索。特别是,能够提高输入为声音且在输入字符串中包含误识别的情况下的鲁棒性。
[0085] 另外,根据实施方式1,候补得分更新部43在输入字符串中包含的上次对照的部分字符串与本次对照中的部分字符串的移动距离、和与该部分字符串对应的候补名称中的候补目录彼此的移动距离分别为规定的移动距离内的情况下,判定为连续。因此,通过调整用于判定连续性的上述规定的移动距离,从而能够计算考虑了单词以及字符的边界、输入错误以及调换词的变形模式的候补得分。因此,相比于未考虑这些的以往的模糊检索方式,能够得到更高的检索精度。
[0086] 另外,根据实施方式1,候补得分更新部43根据名称候补中的候补目录彼此的移动距离,调整对照得分sc(i,j)。因此,在移动距离是负数的情况下,如果对对照得分sc(i,j)施加惩罚,则能够抑制从索引抽出缩写,能够使检索精度进一步提高。
[0087] 另外,在由计算机构成检索装置的情况下,也可以将记述了索引生成部20、索引保存部30、检索部40的处理内容的检索程序保存到计算机的存储器,并使计算机的CPU执行存储器中保存的检索程序。
[0088] 产业上的可利用性
[0089] 如以上说明,本发明的检索装置通过考虑字符单位以及单词单位的边界、输入错误、以及调换词的变形模式来进行检索,从而能够从包括词序的调换、部分性的遗漏等的部分一致候补中获取妥当性高的候补,所以适用于声音识别用的检索装置等。