检索装置及检索方法

文档序号:6537399阅读:107来源:国知局
检索装置及检索方法
【专利摘要】检索装置及检索方法,具备:存储单元,存储包含在两端附加分界字符的检索对象字符串的文档数据;获取单元,获取关键字;生成单元,在获取单元获取的关键字的两端附加分界字符,生成检索字符串;指定单元,从生成单元生成的检索字符串中提取多个部分串,指定该提取的部分串出现在文档数据的检索对象字符串中的出现位置;确定单元,基于指定单元的指定结果,确定与检索字符串的部分串共通的部分串在检索对象字符串中以与检索字符串相似的位置关系出现的频率;评价单元,基于确定单元的确定结果以及检索对象字符串与检索字符串的字符长度的差,评价检索对象字符串与检索字符串的相似度;输出单元,基于评价单元的评价结果输出检索对象字符串。
【专利说明】检索装置及检索方法【技术领域】
[0001]本发明涉及一种检索装置、检索方法。
【背景技术】
[0002]对于检索文档,有一种公知的检索系统,其具备将与检索关键字不完全一致的部分作为命中部位的模糊检索功能。例如,专利文献I (日本特开平8 - 235212号公报)中公开了一种使用将检索对象的文本中出现的字符的位置进行了记录的检索索引来执行模糊检索的技术。专利文献I的技术中,首先获取检索关键字中出现的字符在检索对象文本中出现的位置。然后,在该字符也在从关键字中出现的位置起以预定范围内的误差出现在检索对象字符串中的情况下,相加计算相似度。基于这样计算出的相似度来实施模糊检索。
[0003]专利文献I中记载的技术中,对于在从关键字中出现的位置起以预定范围内的误差也出现在检索对象中的字符的数量相等的检索对象字符串,计算出相同相似度。因此,导致与检索关键字非常接近的检索对象的字符串、和只是分散杂乱出现检索关键字所包含字符的字符串具有相同的相似度。所以,存在检索结果即为用户所期望的文档的精度低的问题。

【发明内容】

[0004]本发明是鉴于这种情况而提出的,目的是提供一种能够以高精度执行模糊检索的检索装置、检索方法。
[0005]本发明涉及的检索装置,具备:
[0006]存储单元,其存储包含在两端部附加了分界字符的检索对象字符串的文档数据;
[0007]获取单元,其获取关键字;
[0008]生成单元,其在所述获取单元获取的关键字的两端部附加分界字符,生成检索字符串;
[0009]指定单元,其从所述生成单元生成的检索字符串中提取多个部分串,指定该提取的部分串出现在所述文档数据的检索对象字符串中的出现位置;
[0010]确定单元,其基于所述指定单元的指定结果,确定在所述检索对象字符串中,与所述检索字符串的部分串共通的部分串以与所述检索字符串相似的位置关系出现的频率;
[0011]评价单元,其基于所述确定单元的确定结果、以及所述检索对象字符串与所述检索字符串的字符长度的差值,评价该检索对象字符串与该检索字符串的相似度;以及
[0012]输出单元,其基于所述评价单元的评价结果,输出所述检索对象字符串。根据本发明,能够以高精度执行模糊检索。
【专利附图】

【附图说明】
[0013]图1是表示本发明的实施方式I涉及的文本检索装置的一个例子的立体图。
[0014]图2是表示实施方式I涉及的文本检索装置的一个结构例的图。[0015]图3是表示实施方式I涉及的文本检索装置执行的数据等生成处理的一个例子的流程图。
[0016]图4是表示实施方式I涉及的文本检索装置的功能结构的一个例子的框图。
[0017]图5(A)是表示文本检索装置存储的词典数据的一个例子的图。(B)是表示文本检索装置存储的重新配置内容文本数据的一个例子的图。
[0018]图6是表示实施方式I涉及的文本检索装置显示的文本检索的结果显示画面的一个例子的图。
[0019]图7是表示实施方式I涉及的文本检索装置存储的词典表的一个例子的图。
[0020]图8是表示包含由实施方式I涉及的文本检索装置存储的转置索引的电子文件的一个例子的图。
[0021]图9是表示实施方式I涉及的文本检索装置执行的文本检索处理的一个例子的流程图。
[0022]图10是表示实施方式I涉及的文本检索装置执行的N元组提取处理的概要的图。
[0023]图11是表示实施方式I涉及的文本检索装置执行的模糊检索处理的一个例子的流程图。
[0024]图12是表示实施方式I涉及的位置检索结果的一个例子的图。
[0025]图13(A)是表示实施方式I涉及的检索模式的N元组在关注字符串中出现的位置信息的例子的图。(B)是表示位置信息的组合的例子的图。
[0026]图14是用于说明实施方式I涉及的文本检索装置执行的求出一致度的处理的概要的图。
【具体实施方式】
[0027]以下,参照附图对本发明的实施方式涉及的文本检索装置100进行说明。
[0028]本发明的实施方式涉及的文本检索装置100由如图1所示的电子词典构成,具备:按照用户的操作输入检索关键字的键盘1001、以及将基于检索关键字检索词典所得的检索结果进行显不的 LCD (Liquid Crystal Display) 100h。
[0029]在文本检索装置100的内部内置有图2所示的CPU (Central ProcessingUnit) 100a、R0M (Read Only Memory) 100b>RAM (Random Access Memory) 100c、硬盘 100d、介质控制器100e、视频卡IOOg以及扬声器100j,经由总线与图1所示的IXDlOOh及键盘IOOi连接。
[0030]CPUlOOa通过保存在ROMlOOb或硬盘IOOd中的程序,为了下述检索处理而控制文本检索装置100的各部分或执行内部处理。RAMIOOc作为工作区使用,在由CPUlOOa执行程序时将作为处理对象的数据暂时性存储等。
[0031]硬盘IOOd存储保存各种数据的表以及英日词典等的词典数据。另外,文本检索装置100也可以具备闪速存储器,取代硬盘100d。
[0032]介质控制器IOOe 从包含闪速存储器、CD (Compact Disc)、DVD (Digital VersatileDisc)以及蓝光光盘(Blu-ray Disc)(注册商标)的记录介质中读取各种数据及程序。
[0033]视频卡IOOg基于从CPUlOOa输出的数字信号绘制图像(即渲染),同时输出表示所绘制的图像的图像信号。IXDlOOh按照从视频卡IOOg输出的图像信号显示图像。另外,文本检索装置 100 也可以具备 F1DP (Plasma Display Panel)或 EL (Electroluminescence)显示器来取代IXDlOOh。扬声器IOOj基于从CPUlOOa输出的信号输出声音。
[0034]若用户将记录词典数据的记录介质向图2所示的介质控制器IOOe插入该记录介质,则CPUlOOa从介质控制器IOOe接收词典数据的信号。CPUlOOa从介质控制器IOOe获取词典数据时,将词典数据保存在硬盘IOOd中。随后,CPUlOOa执行如图3所示的数据等生成处理,即生成用于基于检索关键字检索由词典数据表示的词典的数据及电子文件。由此,CPUlOOa与文本检索装置100的其他结构要素合作,作为如图4所示的生成部120发挥功能。图4是表示CPUlOOa执行的功能的功能框图。然后,CPUlOOa通过与文本检索装置100的其他结构要素、特别是硬盘IOOd合作,作为信息存储部110发挥功能。
[0035]信息存储部110存储本实施方式中作为检索对象的词典数据。该词典数据如图5A所示,由表示词条的文本(以下称为词条文本)、表示词条的解释的文本(以下称为解释文本)、例如表示熟语或复合词等(以下称为成语)词条的用例的文本(以下称为用例文本)构成。解释文本和用例文本合起来称为正文文本。换句话说,词典数据中包含的文本可以分类为表示词条的文本(词条文本)和用于说明词条的正文(正文文本)这两个类别(词条类别、正文类别)。属于正文类别的文本可以进一步分类为词条的解释、以及其用例这两种(解释类别、用例类别)。
[0036]另外,在词典数据中将词条文本占据的部分称为词条部CE,将正文文本占据的部分称为正文部CB。
[0037]解释文本由表示该文本所表示的内容是解释的解释标签包围,用例文本由表示该文本所表示的内容是用例的用例标签包围。
[0038]词典数据以词条部CE和正文部CB的组作为一个结构单位,由该结构单位连接构成。例如词典数据如果为英日辞典,则各结构单位以配置在词条部CE中的词条文本的字母表顺序排列。各结构单位中,紧跟在包含词条文本的词条部CE后面,配置有包含用于说明该词条的正文文本的正文部CB。
[0039]另外,对词条部CE预先分配了识别词条部CE的词条号码。词典数据中,以词条的数量包含将表示该词条号码的信息、表示存放用该词条号码识别的词条部CE的信息存储部110中的存储区域的先头地址的信息、以及表示紧跟在该词条部CE后面存放的正文部CB的先头地址的信息对应起来的信息。该结构单位也称为一个单位的“作为检索对象的文档(字符串)”。这时,词典数据可以表现为将多个作为检索对象的文档捆绑所得的数据。
[0040]在正文部CB中,将多个解释文本按照电子词典的编辑者确定的排列顺序配置。作为具体例,将对词条更具普遍性的含义内容进行解释的解释文本存放在对词条更为特殊的含义内容进行解释的解释文本更靠前的位置。或者,也可以将对使用频率更高的含义内容进行解释的解释文本存放在对使用频率更低的含义内容进行解释的解释文本更靠前的位置。
[0041]当用户使用键盘IOOi输入检索关键字并执行确定操作时,本实施方式的文本检索装置100将上述词条中,基于与检索关键字的相似度计算的评价值比预定的阈值大的词条按照评价值从高到低的顺序显示(图6)。关于评价值的计算方法将在后面叙述。
[0042]该实施方式中,存储在文本检索装置100中的词典(参照图7)里由用户指定的检索对象词典(图6的例子中为英日词典I以及百科全书)中包含的词条即为模糊检索的对象文档。
[0043]这里,参照图3对生成用于本实施方式的检索处理的检索用索引(转置索引)的数据等生成处理进行说明。生成部120当获取词典数据时,开始图3所示的数据等生成处理。
[0044]数据等生成处理中,首先由生成部120读取表示存储在信息存储部110中的词典内容的词典数据(步骤Si)。
[0045]然后,从读取的词典数据中提取词条文本和正文文本(解释文本和用例文本)(步骤S2)。具体进行说明。在正文部CB中解释文本和用例文本混合存在,因此生成部120首先根据内容将这些文本进行分类。为此,生成部120使用表示在词典数据中包含的词条号码的信息、表示词条部CE的先头地址的信息以及表示正文部CB的先头地址的信息,从词典数据中提取多个词条文本和正文文本。
[0046]进一步地,生成部120在步骤S2中,针对每个提取出的词条文本,基于解释标签从正文文本中提取多个对词条文本表示的词条进行解释的解释文本,并基于用例标签从正文文本中提取多个表示词条的用例的用例文本。
[0047]然后, 在作为模糊的对象的类别的文本(这里为词条)的开头和末尾,插入表示为端部的标记(分界字符,这里为半角空格)(步骤S3)。还有,词条为英语时,在单词和单词由半角空格分界的地方不插入半角空格,而只在开头没有半角空格的部分、以及单词的末尾为句号”、逗号“,”、感叹号“ ! ”、问号“? ”等单词的前后不是半角空格的部分插入半角空格。其结果是重新生成对作为检索对象的多个文本(这里为多个词条)插入了分界字符(半角空格)的字符串。该包含分界字符的字符串在后述的处理中成为模糊检索处理的对象,因此也称为对象字符串。
[0048]随后,生成部120生成图5B所示的重新配置内容文本数据(CTD)并保存(步骤S4)。具体来说,对词条文本提取分界字符(这里在图中以“ ?”代替表示)后,针对每个结构单位,把提取的解释文本不改变排列顺序地汇总配置,由此生成配置有提取的多个解释文本的部位(以下称为解释部CC)。
[0049]同样地,生成部120针对每个结构单位,把提取的多个用例文本不改变排列顺序地汇总配置,由此生成配置有提取的多个用例文本的部位(以下称为用例部CX)。
[0050]还有,这里对在词条部CE的两端部(例如对于词条“salad”,在s之前和d之后)插入分界字符的例子进行了说明。分界字符的插入位置不限于此,可以任意设定。例如,当解释文本及用例文本为模糊检索的对象时,也可以在解释部CC及用例部CX中出现的各单词的两端部插入分界字符。或者也可以在解释部CC及用例部CX中出现的短语中,只在重要的短语的前后插入分界字符。
[0051]这样,生成部120生成与词条部CE、解释部CC、用例部CX对应的多个数据(重新配置内容文本数据、或者重新配置CTD)。然后,生成部120将生成的重新配置内容文本数据保存在信息存储部110中(步骤S4)。
[0052]随后,生成部120生成对用重新配置内容文本数据表示的词典进行识别的词典号码。然后,生成部120在图7所示的词典表中,将与表示生成的词典号码的信息、表示词典的名称的信息、表示存放重新配置内容文本数据的信息存储部110的存储区域的先头地址的信息对应的信息保存在信息存储部110中(步骤S5)。[0053]随后,生成部120对于用重新配置内容文本数据表示的文本(也就是配置在词条部CE、解释部CC以及用例部CX中的文本),分别从开头逐个错开I个字符并切除I个字符,由此提取一元组(monogram)字符串模式。另外,同样地,生成部120从用重新配置内容文本数据表示的文本的开头逐个错开I个字符并切除2个字符,由此提取二元组(bigram)字符串模式。以下,将一元组字符串模式、二元组字符串模式统称为N元组字符串模式。另外,本实施方式中,字符被包含在字符串中,除了有特殊区别的记载以外,对字符和字符串不进行区别。
[0054]然后,生成部120对于各个N元组字符串模式,将N元组字符串模式在重新配置内容文本数据表示的文本(以下称为重新配置文本)中出现的位置(以下称为出现位置)指定I个或多个。随后,生成部120对每个N元组字符串模式,计算重新配置文本中N元组字符串模式的出现频率。这里,以出现频率例如为重新配置文本中N元组字符串模式出现的总次数进行说明,但并不局限于此。
[0055]然后,生成部120对于每个N元组字符串模式,生成将表示出现N元组字符串模式的出现位置的地址(以下称为出现位置地址)的I个或多个信息与表示该N元组字符串模式的出现频率的信息加以对应的出现位置信息。
[0056]然后,生成部120生成包含I个或多个出现位置信息的电子文件(以下称为出现位置信息文件或者AP文件),保存在信息存储部110中(图3的步骤S6)。
[0057]图8中,出现位置信息文件(AP文件)用“position, idx”这一名称(文件名)表示。另外,保存在出现位置信息文件中的出现位置信息,在从先头地址开始到出现频率用的预定字节数为止的区域内存放表示出现频率的信息,从紧跟该区域后开始每隔出现位置用的预定字节数存放表示出现位置地址的信息。表示出现位置地址的信息例如可以是记录词典数据的硬盘IOOd中,与对象N元组在词典数据上出现的位置对应的地址的信息。
[0058]然后,生成部120生成包含多个将表示N元组的信息(以下称为N元组字符串模式信息)与表示存放有该N元组字符串模式的出现位置信息的信息存储部110的存储区域的先头地址(以下称为出现位置信息存放地址)的信息加以对应的信息的电子文件(以下称为N元组字符串模式文件或者S文件)。随后,生成部120将S文件保存在信息存储部110中(步骤S7)。
[0059]图8中、S文件用“pattern, idx”这一名称(文件名)表示。
[0060]然后,生成部120生成包含多个将识别包含词条文本的词条部CE的词条号码、表示存放该词条部CE的信息存储部110的存储区域的先头地址(以下称为表示词条部CE的开始位置的地址)的信息、表示配置对该词条文本中表示的词条进行解释的解释文本的解释部CC的先头地址(以下称为表示解释部CC的开始位置的地址)的信息、表示配置有表示该词条的用例的用例文本的用例部CX的先头地址(以下称为表示用例部CX的开始位置的地址)的信息、表示该用例部CX的用例个数的信息、表示将该用例部CX的用例部开始位置信息存放在信息存储部110的区域的开头位置进行表示的地址(以下称为用例部开始位置信息存放地址)的信息、以及表示收录该词条的词典的词典号码的信息加以对应的信息的电子文件(以下称为词条等文件或者T文件)(步骤S8)。这里,从词条部的开始位置开始到解释部的开始位置紧前面为止是存放与词条号码对应的词条的范围。另外,从解释部的开始位置开始到用例部的开始位置紧前面为止是存放与词条号码对应的解释部的范围。另夕卜,从用例部的开始位置开始到下一个词条部的开始位置紧前面为止是存放与词条号码对应的用例部的范围。用例部中包含多个用例时,各用例的范围根据存放在用例开始信息存放地址中的用例开始地址确定。图8的从词条的开始位置到词条号码为止的、与一个词条号码对应的信息(词条等信息)为固定长度(例如IK字节)。图8中,T文件用“number,idx”这一名称(文件名)表示。
[0061]然后,生成部120生成词条组信息(G文件)(步骤S9),其表示将重新配置CTD中包含的词条里字符长度相同的词条汇总的组的信息。G文件将该组的字符数(η个字符)以及与η个字符(η = I?MAX)的词条的位置对应的信息(这里为词条号码)加以对应并记录。生成部120在制作G文件时,首先生成MAX个与I?MAX的字符数对应的组。MAX的值为重新配置CTD中包含的词条的最大长度,预先被测定并存储在存储部110中。然后,逐个参照由T文件定义的词条部的信息,提取与从词条部的开始位置到解释部的开始位置紧前面为止的区域对应的词条的字符数和该词条的词条号码。然后,在提取的字符数的组中记录提取的词条号码。生成部120对由T文件定义的全部词条部执行这个处理,生成G文件。生成部120在将生成的G文件保存在信息存储部110中之后(图3所示的步骤S9),结束执行数据等生成处理。图8中,T文件以“ngroup.1dx”这一名称(文件名)表示。由于词条等信息为固定长度的信息,因此参照作为已知值的T文件的开头,即可根据词条号码获得对应的词条等信息的先头地址。还有,作为与词条的位置对应的信息,也可以将对应的词条等信息的先头地址记录在G文件中。
[0062]将图8(特别是“pattern, idx”和“position, idx”)所示的、将字符串(这里为N元组)和作为字符串的检索对象的文档中的出现位置加以对应并记录的索引结构称为转置索引。本实施方式中,通过数据等生成处理,针对预定的类别(这里为词条)的文本,生成重新配置CTD的转置索引,其在文档的分界(词条的前后)处添加了表示分界的分界字符(半角空格)。
[0063]将转置索引存储在信息存储部110中时,完成使用这个转置索引来执行检索处理的准备。在这个状态下,用户使用键盘IOOi执行将用于检索词典的检索关键字输入的操作时,CPUlOOa接收该信息,执行图9所示的文本检索处理。
[0064]通过执行该文本检索处理,CPUlOOa作为图4所示的获取部130、包含附加部1410、提取部1420以及指定部1430的检索部140、计算部150、确定部160以及输出部170发挥功能。另外,CPUlOOa与图2所示的视频卡IOOg及IXDlOOh协作,作为显示部180发挥功倉泛。
[0065]用户使用键盘IOOi指定对象词典后并输入检索关键字时,CPUlOOa开始图9所示的文本检索处理。文本检索处理中,首先获取部130获取到当前为止输入的关键字(检索关键字)及指定作为检索对象的词典的信息(步骤Sll)。这里,指定的检索关键字包含分界字符(空格等)时,假定用该分界字符将输入的字符分界,获取多个检索关键字。
[0066]然后,附加部1410在检索关键字的前后插入分界字符(半角空格),作为检索字符串(步骤S12)。检索关键字有多个时,在各个检索关键字中插入分界字符。
[0067]进一步地,提取部1420从插入了分界字符的检索字符串中提取N元组的串(检索模式)(步骤S13)。步骤S13中执行的提取处理的例子如图10所示。以下,以用户将英语单词“salad”错误输入为“salaed”的情况为例进行说明。这时,作为N元组,提取包含分界字符的二元组“.S”和“d.”(.表示半角空格)、以及一元组“s”、“a”、“l”、“a”、“e”、“d”。这8个N元组成为N元组字符串模式(检索模式)。其中,一元组“e”是由于打字错误产生的错误的一元组(错误率1/8)。通过这样将开头和末尾的N元组作为具有二元组以上的字符数的N元组,能够防止丢失检索字符串中检索关键字的部分(这里为s和d)与分界的位置关系。另外,检索字符串中包含的全部字符都包含在某个N元组中,因此在求检索字符串与对象字符串的相似度时,能够反映检索字符串整体的长度。
[0068]另外,针对不包含分界字符的部分(关键字的部分),通过提取一元组,在打错一个字符的情况下防止错误殃及前后的N元组以及后述的相似度下降过大。例如全部以二元组提取时,上述的例子中从关键字的部分中提取二元组“.s”、“sa”、“al”、“le”、“ea”、“ad”、“d.”。这时,由于打错一个字而产生2个不恰当的二元组(“le”和“ea”)(错误率2/7),相似度大幅下降。本实施方式中,通过从在步骤S12中生成的检索字符串中不包含分界字符的部分(检索关键字的部分)提取一元组,使得打字错误的影响不会变得过大。
[0069]然后,检索部140执行用附加了分界字符的检索关键字对作为检索对象的词典数据中包含的多个文档(本实施方式中为重新配置CTD里包含的词条文本)模糊地检索的处理(模糊检索处理)(步骤S14)。
[0070]参照图11对步骤S14中执行的模糊检索处理进行说明。
[0071]模糊检索处理中,检索部140获取检索字符串的字符数(步骤S101)。例如检索字符串为“.salaed.”时,获取字符数(字符串的长度)8。
[0072]然后,检索部140参照G文件,提取作为检索对象的字符串(对象字符串)(步骤S102)。具体来说,检索部140首先根据步骤SlOl中获取的字符数计算预先确定的误差值的范围内的数值。例如,步骤SlOl中字符数为8且误差值被设定为4时,4?12为误差值的范围内的数值。误差值可以是工厂出货时设定的数值或者由用户的设定操作设定的数值。本实施方式中,这个范围内的词条为对象字符串。然后,检索部140从G文件的组中提取字符长度为误差值的范围内的组。进一步地,检索部140提取记录在所提取的组中的词条号码。检索部140使用提取的词条号码表示的词条等信息,提取存放有对象字符串的存储器区域。具体来说,将从提取的词条号码的词条等信息的“词条部的开始位置”到“解释部的开始位置”紧前面为止的区域作为存在对象字符串的出现区域来提取。还有,作为检索对象的词典被指定时,所指定的词典号码以外的词条部不作为上述处理对象。
[0073]然后,指定部1430指定包含在图9的步骤S13中生成的检索字符串里的N元组的位置(步骤S103)。例如,指定部1430从图8的S文件中获取与文本检索处理的步骤S13中生成的N元组串(检索模式)的N元组一致的N元组字符串模式信息。然后,获取与从S文件获取的N元组字符串模式信息对应的出现位置信息存放地址。然后,读取记录在信息存储部110上的获取的地址的AP文件,获取在检索字符串中包含的N元组出现的位置信息。该结果例如图12所示,获得将步骤S13中生成的各N元组和对应于该N元组记录在AP文件中的N元组的出现位置(词典数据上出现的位置的地址)加以对应的信息。
[0074]指定部1430在步骤S103中进一步从图12的表中记录的地址提取在检索对象的范围(步骤S102中提取的区域)中包含的地址。作为其结果而获得的地址(位置信息)即为检索字符串中包含的N元组出现在对象文档(词条)中的出现位置。在各出现位置出现的N元组为既在检索字符串中也在对象字符串中出现的部分串,因此也称为共通字符串。还有,为了减小处理量,也可以将步骤S102中提取的检索对象中、对于检索字符串所包含的N元组一个也不包含的检索对象在这个阶段从检索对象中排除。
[0075]然后,检索部140从步骤S102中提取的对象字符串中选择作为当前处理对象的字符串(关注字符串)(步骤S104)。具体来说,选择在步骤S102中提取的对象字符串中、尚未执行下述处理的词条号码最小的字符串作为关注字符串。
[0076]然后,计算部150使用确定部160计算附加等级评价值,作为关注字符串与检索字符串的相似度的评价(步骤S105~步骤S112)。具体来说,首先计算部150确定作为比较对象的出现位置的组合(步骤S105)。关于出现位置的组合,参照图13进行说明。例如在将检索字符串“.salaed.”的检索模式(“.s”、“s”、“a”、“l”、“a”、“e”、“d”及t/“d.,,)与关注字符串“.salad.”进行比较时,检索模式的N元组在关注字符串中出现在图13A所示的位置。“.s”、“s”、“l”、“d”以及“d.”分别出现在I个地方。另一方面,“a”出现在从关注字符串的开头起第2字符和第4字符这两处,“e”不包含在关注字符串中,所以一处出现位置也没有。还有,为了求出图13的表,例如从步骤S103中检测的检索模式在对象字符串中的出现位置的表中,仅提取关注字符串的范围中包含的位置信息。然后,从提取的位置信息减去关注字符串的开头位置即可。
[0077]如图13A的“a”那样,检索模式中包含存在多个出现位置的N元组时,如图13B那样针对各N元组提取多个将出现位置逐个选择的组合。步骤S105中计算部150依次选择该组合,作为该循环中的检 索字符串与关注字符串的比较处理的对象。
[0078]然后,在确定部160在关注字符串的步骤S105中确定的组合中,确定检索字符串中包含的N元组以与检索字符串相似的位置关系出现的频率(步骤S106~步骤S109)。
[0079]首先,确定部160从关注字符串中出现的N元组中选择作为处理对象的关注N元组(步骤S106)。这里,假定在关注字符串的出现位置中,选择尚未选择为关注位置的、在最开头的地址出现的N元组。
[0080]然后,确定部160以关注N元组出现的位置作为基准,在从检索字符串获得的N元组串(检索模式)和从关注字符串获得的N元组串(关注模式)中,对相对位置一致(或者相似)的N元组进行计数(步骤S107)。还有,以关注位置为基准的N元组的相对位置,是从关注位置的地址减去对象的N元组的先头地址所得的值。计数的结果可以认为是以出现在关注位置的N元组(关注N元组)为基准的、关注模式与检索模式的一致度。
[0081]以检索字符串为“.salaed.”、关注字符串为“.salad.”、步骤S105中确定的组合为“组合2”的情况为例,参照图14A~图14C说明步骤S107的处理。这里为了便于理解,对将检测模式和关注模式(从关注字符串中以与提取部1420相同的规则提取N元组时的N元组串)排列比较的情况进行说明。
[0082]检索字符串为“.salaed.”、关注字符串(作为比较对象的词条)为“.salad.”时,检索模式是排列了二元组“.S”、一元组“s”、“a”、“l”、“a”、“e”以及“d”、二元组“d.”的N元组串。另一方面,关注模式是排列了二元组“.S”、一元组“s”、“a”、“l”、“a”以及“d”、二元组“d ?”的N元组列。图14A~图14C的星号是在出现位置(检索模式中包含的N元组出现的部位)出现的N元组。
[0083]模糊检索处理中选择开头的出现位置(“*s”的先头地址)作为最初的关注位置。这时,关注出现位置处出现的关注N元组为“.S”。若在关注N元组出现的位置排列关注模式和检索模式,则如图14A的左侧所示。
[0084]其结果是可知在关注模式和检索模式中^元组“*8”、“8”、“&”、“1”以及“&”这5个重叠(位置关系一致)。图14A~图14C中,将相对位置一致的N元组的组合用〇表示,不一致的组合用X表示。因此,在一致度的柱状图的一致数g = 5的部分加上I (图14A)。该计数结果“5”表示以在关注模式和检索模式中均出现的N元组“.s”为基准,与作为基准的N元组位置关系一致的共通的N元组的数量。
[0085]步骤S107中对相对位置一致的共通的N元组的数量进行计数,然后针对全部出现位置判别计数处理是否完成(步骤S108)。存在未处理的出现位置时(步骤S108 ;否)返回步骤S106,将下一个出现位置作为关注位置,选择关注N元组。
[0086]然后,将各出现位置作为关注位置,将出现在关注位置的N元组(共通部分串)作为基准,对位置关系一致的共通的N元组的数量进行计数。检索模式中关注N元组出现2次以上时,对多个出现位置中当前选择的组合(本例中为“组合2”)的出现位置进行计数(图 14B)。
[0087]计数到末尾的N元组为止,将一致的数量记录在柱状图中(图14C),则在步骤S108中判别为全部出现位置已处理结束(步骤S108 ;是),然后确定部160将计数结果汇总,求出检索字符串和关注字符串的相似系数(FuzzyEstidxid, hdlid)(步骤S109)。本实施方式中,使用下面的式(I)进行计算。
[0088]数学式I
[0089]
【权利要求】
1.一种检索装置,其特征在于,具备: 存储单元,其存储包含在两端部附加了分界字符的检索对象字符串的文档数据; 获取单元,其获取关键字; 生成单元,其在所述获取单元获取的关键字的两端部附加分界字符,生成检索字符串; 指定单元,其从所述生成 单元生成的检索字符串中提取多个部分串,指定该提取的部分串出现在所述文档数据的检索对象字符串中的出现位置; 确定单元,其基于所述指定单元的指定结果,确定在所述检索对象字符串中,与所述检索字符串的部分串共通的部分串以与所述检索字符串相似的位置关系出现的频率; 评价单元,其基于所述确定单元的确定结果、以及所述检索对象字符串与所述检索字符串的字符长度的差值,评价该检索对象字符串与该检索字符串的相似度;以及输出单元,其基于所述评价单元的评价结果,输出所述检索对象字符串。
2.根据权利要求1所述的检索装置,其特征在于, 所述指定单元包含提取单元,其提取多个部分串,使得所述检索字符串包含的字符串全部被包含在某个部分串之中; 所述指定单元针对所述提取单元提取的部分串执行所述指定的处理。
3.根据权利要求2所述的检索装置,其特征在于, 在所述提取单元提取的部分串之内,包含所述分界字符的部分串的任一个都包含2个以上的字符。
4.根据权利要求3所述的检索装置,其特征在于, 还具备存储单元,其存储表示多个所述检索对象字符串中包含的、包含预定数量的字符的部分串分别在所述检索对象字符串中出现的位置的索引; 所述指定单元使用所述索引,指定所述部分串出现的位置。
5.根据权利要求4所述的检索装置,其特征在于, 所述索引包含将所述多个检索对象字符串基于字符长度分组后,针对这些组的每一组汇总了对检索对象字符串的参照的信息; 所述指定单元,针对所述组的字符长度和所述检索字符串的字符长度的误差比预定的阈值小的组所包含的检索对象字符串,执行所述指定的处理,另外,针对比所述预定的阈值大的组所包含的检索对象字符串,省略所述指定的处理。
6.根据权利要求3所述的检索装置,其特征在于, 所述提取单元提取的部分串中,不包含所述分界字符的部分串的任一个都由I个字符构成。
7.一种检索方法,其根据包含在两端部附加了分界字符的检索对象字符串的文档数据对期望的检索对象字符串进行检索,所述检索方法的特征在于, 具有以下步骤: 获取关键字; 在所述获取的关键字的两端部附加分界字符,生成检索字符串; 从所述生成的检索字符串中提取多个部分串,指定该提取的部分串出现在所述文档数据的检索对象字符串中的出现位置;基于所述指定的结果,确定在所述检索对象字符串中,与所述检索字符串的部分串共通的部分串以与所述检索字符串相似的位置关系出现的频率; 基于所述确定的结果、以及所述检索对象字符串与所述检索字符串的字符长度的差值,评价该检索对象字符串与该检索字符串的相似度; 基于所述评价结果,输出所述检索对象字符串。
8.根据权利要求7所述的检索方法,其特征在于, 指定所述出现位置的步骤包含:提取多个部分字符列,使得所述检索字符串包含的字符串全部被包含在某个部分串之中的步骤, 指定所述出现位置的步骤,针对所述提取步骤提取的部分串进行所述指定。
9.根据权利要求8所述的检索方法,其特征在于, 在所述提取步骤提取的部分串之内,包含所述分界字符的部分串的任一个都包含2个以上的字符。
10.根据权利要求9所述的检索方法,其特征在于, 所述文档数据被存储在存储器中,该存储器还具备存储区域,其存储表示多个所述检索对象字符串中包含的、包含预定数量的字符的部分串分别在所述检索对象字符串中出现的位置的索引; 指定所述出现位置的步骤,使用所述索引来指定所述部分串出现的位置。
11.根据权利要求10所述的检索方法,其特征在于, 所述索引包含将所述多个检索对象字符串基于字符长度分组后,针对这些组的每一组汇总了对检索对象字符串的参照的信息; 指定所述出现位置的步骤,针对所述组的字符长度和所述检索字符串的字符长度的误差比预定的阈值小的组所包含的检索对象字符串,执行所述指定,另外,针对比所述预定的阈值大的组所包含的检索对象字符串,省略所述指定的处理。
12.根据权利要求9所述的检索方法,其特征在于, 所述提取步骤提取的部分串中,不包含所述分界字符的部分串的任一个都由I个字符构成。
【文档编号】G06F17/30GK103970826SQ201410044001
【公开日】2014年8月6日 申请日期:2014年1月29日 优先权日:2013年1月30日
【发明者】佐藤胜彦 申请人:卡西欧计算机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1