全文检索系统及方法

文档序号:6649326阅读:211来源:国知局
专利名称:全文检索系统及方法
技术领域
本发明涉及适合从电子化的庞大的文档信息之中,利用全文检索技术快速检索符合指定的检索条件的文档的全文检索系统及方法。
背景技术
从电子化的庞大的文档信息之中,检索符合指定的检索条件的文档的检索系统,以前已经开发很多种。作为在这种检索系统中应用的文档检索的代表性的检索方法,公知的有基于N-gram(N连字串)索引的检索方法、或者基于词素(morpheme)索引的检索方法。基于N-gram索引的检索方法,用于全文检索中。另一方面,基于词素索引的检索方法用于自然语言检索(概念检索)中。这些检索方法的概要如下。
<基于N-gram索引的检索方法>
构成文档的字符串,在将字符位置每1个字符错开的同时分割(划分)为长度N的字符串(字串(gram))。结果,在文档中出现的全部字符,作为长度N的连续字符串(字串)登记到索引。N的值可预先确定。在检索时也一样,作为检索条件的检索字符串(检索词),分割为长度N的字符串(字串)的群。于是,可以利用下述的步骤,通过从索引得到相同字符串出现的信息而进行检索。
在基于N-gram索引的检索(N-gram检索)中,首先进行一次检索。在此一次检索中,只以有无与由检索词所分割的长度N的字符串符合的字符串(即有无命中(hit))来选出候选文档。之后进行二次检索。在此二次检索中,通过检查各词的相邻关系,从选出的候选文档中选中包括检索词的文档。这样,在基于N-gram索引的检索中,通过一次检索和二次检索两个阶段的检索,可以实现无漏检的全文检索。
已知,为了提高一次检索的检索精度,可以加大N-gram的N的值。然而,由于加大N的值时,索引的规模会变得极大,检索有可能需要大量时间。另一方面,在减小N的值时,检索干扰增加,检索精度下降。由于二次检索是以命中的全部文档作为对象,所以命中数越多(与实际干扰的多少无关),效率越低。
<基于词素索引的检索方法>
通过对文档的分析,从该文档中,在具有意义的最小语言单位(词素)的范围内,提取应该加索引的词素(单词)。对提取的每个词素分配文档信息。分配了此文档信息的词素,登记到索引。在检索时也一样,将检索词分割为词素。于是,可以利用下述的步骤,通过从索引得到与相同词素符合的文档信息而进行检索。
在基于词素索引的检索(词素检索)中,索引的容量很小就足够,并且可进行快速检索。其理由是与N-gram不同,在各个词素之间没有重复的部分。但是,在作为检索对象的文档和检索词之间词素不一致时,会发生漏检。
这样,在基于N-gram索引的检索中,无漏检,并且一次检索速度快。然而,在基于N-gram索引的检索中,用来去除干扰的二次检索的速度慢。另一方面,在基于词素索引的检索中,可以进行快速检索,但有可能发生漏检。就是说,在全文检索中使用的基于N-gram索引的检索方法和在自然语言检索中使用的基于词素索引的检索方法各有长短。
于是,比如,在日本特开2001-092831号公报(Jpn.Pat.Appln.KOKAIPublication No.2001-092831)中记述有发挥全文检索和自然语言检索的长处,用来实现漏检少的文档检索的文档检索技术(以下称其为第1先行技术)。此第1先行技术的特征在于,执行全文检索和自然语言检索两种检索并将两种检索的结果汇总(结合)这一点。在此第1先行技术中,从全文检索的检索结果中,利用自然语言检索选中检索结果。另外,在第1先行技术中,与此相反,也可以从利用自然语言检索(粗略的自然语言检索)得到的检索结果中,利用全文检索选中检索结果。在此场合,可从利用自然语言检索得到的检索结果中检索包括指定文本的文档。
这样,第1先行技术的特征在于,将全文检索和自然语言检索作为各自独立的检索处理并将两种检索的结果汇总这一点。就是说,在第1先行技术中,从利用全文检索及自然语言检索的任一方所得到的检索结果中,通过该全文检索及自然语言检索的另一方,选中检索结果。因此,在第1先行技术中,必须执行全文检索和自然语言检索。不过,全文检索与自然语言检索相比,其速度慢。因此,在将基于N-gram索引的检索方法应用于全文检索时,该全文检索需要基于N-gram索引的总计的检索执行时间(一次检索时间+二次检索时间)。就是说,第1先行技术,不具有用来消除全文检索的缺点使该全文检索本身快速化的结构。因此,第1先行技术在检索命中数多的场合就出现问题。
另一方面,在日本特开2003-308335号公报(Jpn.Pat.Appln.KOKAIPublication No.2003-308335)中记述有,相应于作为检索条件的检索式,使用基于N-gram索引的全文检索或基于词素索引的检索中的一个的文档检索技术(以下称其为第2先行技术)。在此第2先行技术中,预先评定(判定)检索式是关键词型还是“自然语言型(概念检索)”。如果检索式是关键词型,就进行全文检索,如果是自然语言型,就进行基于词素索引的检索。
在此第2先行技术中,在判定检索式是关键词型的场合,检索处理需要基于N-gram索引的总计的检索执行时间(一次检索的执行时间+二次检索的执行时间)。所以,在第2先行技术中也与第1先行技术一样,不能有助于全文检索本身快速化。
如上所述,在第1先行技术中,必定执行全文检索。并且,在第2先行技术中,在检索式是关键词型时也执行基于N-gram索引的全文检索。这一基于N-gram索引的全文检索需要大量的时间。可是,第1及第2先行技术中的任何一个都不具有用来使全文检索本身快速化的结构。

发明内容
本发明的目的在于在一定程度上确保检索精度,并可以快速执行全文检索。
根据本发明的一种实施方式,可以提供一种全文检索系统,其构成包括利用按照检索条件语句的一次检索和针对该一次检索的结果的二次检索,执行基于N-gram索引的检索的第1检索单元;对上述检索条件语句进行词素分析的词素分析单元;以及按照利用上述词素分析单元所得到的词素分析结果,执行基于词素索引的词素检索的第2检索单元。此全文检索系统具有判定作为上述基于N-gram索引的一次检索的命中数的第1命中数和作为上述基于词素索引的词素检索的命中数的第2命中数的近似度的近似度判定单元;以及在利用上述近似度判定单元判定为上述第1命中数和上述第2命中数近似时,以省略上述基于N-gram索引的二次检索的方式控制上述第1检索单元,采用上述一次检索的结果或上述词素检索的结果作为检索结果的全文检索执行控制单元。


图1为示出本发明的一实施方式的全文检索系统的构成的框图。
图2为示出同一实施方式的快速检索处理的步骤的流程图。
图3为示出检索界面画面的一例的示图。
图4为示出检索结果画面的一例的示图。
图5为示出上述实施方式的第1变形例的快速检索处理的步骤的流程图。
图6为示出上述实施方式的第2变形例的快速检索处理的步骤的流程图。
具体实施例方式
下面参照附图对本发明的一实施方式进行说明。图1为示出本发明的一实施方式的全文检索系统的构成的框图。此全文检索系统,是根据来自用户的检索要求,进行基于N-gram索引的检索(即全文检索)及基于词素索引的检索(即自然语言检索)的系统。其中,在图1的全文检索系统中,在满足一定的条件的场合,全文检索的一部分(基于N-gram索引的二次检索)可以省略。
图1的全文检索系统的构成包括用户界面11、检索执行/应答服务器12、N-gram检索引擎13、N-gram索引数据库14、词素分析机构15、词素检索引擎16、词素索引数据库17以及全文检索执行控制机构18。
用户界面11,具有接收来自用户的检索要求并向用户提示检索结果的界面功能。在本实施方式中,用户界面11,构成全文检索系统的一部分。然而,用户界面11,也可以不是全文检索系统的构成要素。比如,用户界面11,也可以是设置在介由通信线路(比如,网络)与图1的全文检索系统相连接的客户终端中的构成。
检索执行/应答服务器12,将由用户界面11接收的表示检索要求的检索条件传达给N-gram检索引擎13及词素分析机构15。此处,假设使用字符串(检索字符串),即检索条件语句,作为检索条件。将利用检索执行/应答服务器12、N-gram检索引擎13及词素分析机构15得到的检索结果通过用户界面11向用户提示。
N-gram检索引擎13,使用存储于N-gram索引数据库14中的N-gram索引进行全文检索。N-gram检索引擎13,包括一次检索执行单元131和二次检索执行单元132。一次检索执行单元131,利用由检索条件语句得到的长度N的字符串的群(即依照检索条件语句)进行基于N-gram索引的一次检索。长度N的字符串的群,是通过把检索条件语句边将字符位置每1个字符错开边分割(划分)为长度N的字符串(字串)而得到的。二次检索执行单元132,进行基于N-gram索引的二次检索(针对一次检索的结果的二次检索)。存储于N-gram索引数据库14中的N-gram索引用于,把可以成为检索对象的所有文档中所出现的全部字符作为预先确定的长度N的连续字符串(字串)进行管理。在此N-gram索引中,对每个长度N的连续字符串,登记表示该字符串存在的文档的位置的位置信息。
词素分析机构15,对检索条件(检索条件语句)进行词素分析。词素检索引擎16,按照由词素分析机构15得到的词素分析结果,利用存储于词素索引数据库17中的词素索引进行词素检索。在存储于词素索引数据库中的词素索引中,登记包含对于分配给从可以成为检索对象的文档中提取的每一个词素的表示该词素存在的文档的位置的位置信息的文档信息。
全文检索执行控制机构18,为了快速执行利用N-gram索引的全文检索,按照设定信息文件19的设定内容来控制N-gram检索引擎13及词素检索引擎16。在设定信息文件19中,预先设定利用全文检索执行控制机构18的全文检索的执行的控制所必需的条件等的信息。设定信息文件19,可以由CD-ROM、存储卡等存储媒体提供。另外,也可以经网络将设定信息文件19下载到图1的全文检索系统中。
全文检索执行控制机构18,包括词素分析结果判定单元181、一次检索结果数判定单元182以及近似度判定单元183。词素分析结果判定单元181,根据利用词素分析机构15得到的对检索条件语句的词素分析结果,确定应该执行基于词素索引的检索(即词素检索)或基于N-gram索引的二次检索中的哪一个。一次检索结果数判定单元182,根据基于N-gram索引的一次检索的结果,确定是否应该执行基于N-gram索引的二次检索。检索结果数近似度判定单元183,根据基于N-gram索引的一次检索的结果和词素检索结果,确定是否应该执行基于N-gram索引的二次检索。
下面参照图2的流程图,对在图1的全文检索系统中执行的快速检索模式中的全文检索处理(快速检索处理)的步骤进行说明。另外,在本实施方式中,作为检索模式,除了上述快速检索模式之外,还准备有标准检索模式。应用快速检索模式和标准检索模式中的哪一个检索模式,如后所述,可以由用户选择。快速检索模式的特征,如下所述,在于在满足一定的条件的场合,可以省略基于N-gram索引的二次检索这一点。另一方面,标准检索模式的特征在于,在任何场合都一直进行到基于N-gram索引的二次检索为止这一点。
下面,假设希望进行全文检索的用户,通过利用客户终端进行输入操作,从该终端对图1的全文检索系统发送指定全文检索的检索要求。用户界面11,接收到这一检索要求,提取该检索要求所表示的检索条件。用户界面11,将已提取的检索条件发送到检索执行/应答服务器12。另外,用户界面11,将检索要求所表示的检索类别(比如,全文检索)通知检索执行/应答服务器12。检索执行/应答服务器12,在指定全文检索的场合,为了执行全文检索,将从用户界面11传来的检索条件发送到N-gram检索引擎13。
N-gram检索引擎13内的一次检索执行单元131,接收从检索执行/应答服务器12发送来的检索条件。在本实施方式中,此检索条件是检索条件语句(检索字符串)。一次检索执行单元131,按照此检索条件语句,利用存储于N-gram索引数据库14中的N-gram索引,执行公知的一次检索(步骤S1)。一次检索执行单元131,在N-gram检索引擎13内部保持一次检索结果。另外,一次检索执行单元131,将在一次检索中命中的数目(命中数)N1与检索条件语句一起发送给全文检索执行控制机构18。
全文检索执行控制机构18内的一次检索结果数判定单元182,将从一次检索执行单元131发送来的命中数N1与基准命中数(命中数阈值)K进行比较,判定其大小(步骤S2)。此命中数阈值K,在设定信息文件19中设定。如果命中数N1小于等于阈值K,则全文检索执行控制机构18,要求N-gram检索引擎13进行二次检索。阈值K,如后所述,可以通过用户操作进行改变(调整)。
与此相对,在命中数N1大于阈值K的场合,全文检索执行控制机构18,在将命中数N1保持在内部之后,将检索条件语句发送到词素分析机构15。词素分析机构15,在接收到来自全文检索执行控制机构18的检索条件语句时,就对该检索条件语句进行词素分析(步骤S3)。然后,词素分析机构15,将词素分析的结果返回给全文检索执行控制机构18。
全文检索执行控制机构18内的词素分析结果判定单元181,对由词素分析机构15得到的词素分析结果进行判定(步骤S4)。就是说,词素分析结果判定单元181,判定是否可以将检索条件语句分割为可以进行基于词素索引的检索(词素检索)的单词。所谓可以进行词素检索的单词,指的是其本身具有意义的单词(比如,以名词、动词、形容词为代表的独立词)。如果检索条件语句不能分割为可以进行词素检索的单词,则全文检索执行控制机构18要求N-gram检索引擎13进行二次检索。
与此相对,在检索条件语句可以分割为可以进行词素检索的单词的场合,词素分析结果判定单元181,将利用词素分析机构15得到的词素分析的结果发送到词素检索引擎16。词素检索引擎16,在从词素分析结果判定单元181接收到词素分析结果时,就利用该词素分析结果和词素索引数据库17,进行公知的词素检索(步骤S5)。然后,词素检索引擎16,将词素检索的结果保持在内部。另外,词素检索引擎16,将在词素检索中命中的数目(命中数)N2发送到全文检索执行控制机构18。
全文检索执行控制机构18内的检索结果数近似度判定单元183,判定一次检索中的命中数(第1命中数)N1和词素检索中的命中数(第2命中数)N2是否近似(N1N2)(步骤S6)。命中数N1,表示在利用N-gram检索引擎13内的一次检索执行单元131进行的一次检索中命中的数目,如上所述,保持在全文检索执行控制机构18的内部。命中数N2,表示在利用词素检索引擎16的词素检索中命中的数目,从该词素检索引擎16送出。在步骤S6中,检索结果数近似度判定单元183,判定N1和N2的近似度(%)是否在近似比率(近似度阈值)P(%)以内。此近似比率P,表示用作近似度判定的基准的近似度,在设定信息文件19中设定。在本实施方式中,N1和N2的近似度,以|N1-N2|×100%/N1或|N1-N2|×100%/N2表示。就是说,N1和N2的近似度,以N1和N2的差分的绝对值与N1或N2的比率(%)表示。此近似度越小,就表示N1和N2越近似。近似比率P,如后所述,可以通过用户操作进行调整。
检索结果数近似度判定单元183,在N1和N2的近似度超过P的场合,就判定N1和N2不近似。在此场合,全文检索执行控制机构18,要求N-gram检索引擎13进行二次检索。
与此相对,在N1和N2的近似度在P以内的场合,检索结果数近似度判定单元183,就判定N1和N2近似。在此场合,全文检索执行控制机构18,不要求N-gram检索引擎13进行二次检索。这一点,与全文检索执行控制机构18以省略基于N-gram索引的二次检索省略的方式控制N-gram检索引擎13等价。然后,全文检索执行控制机构18,确定使N-gram检索或词素检索中的哪一个优先。这一确定的必要条件(采用条件),在设定信息文件19中设定。这一采用条件,如后所述,可以通过用户操作进行调整。
如果使N-gram检索优先,则全文检索执行控制机构18,要求N-gram检索引擎13将一次检索结果返回到检索执行/应答服务器12。另一方面,在使词素检索优先的场合,全文检索执行控制机构18,要求词素检索引擎16将词素检索结果返回到检索执行/应答服务器12。就是说,全文检索执行控制机构18,使利用N-gram检索引擎13(内的一次检索执行单元131)得到的一次检索的结果或利用词素检索引擎16得到的词素检索的结果,从该N-gram检索引擎13或词素检索引擎16返回到检索执行/应答服务器12(步骤S7)。此处,一次检索结果,保持在N-gram检索引擎13的内部。另外,词素检索结果,保持在词素检索引擎16的内部。
检索执行/应答服务器12,在从全文检索执行控制机构18或词素检索引擎16接收到一次检索结果或词素检索结果时,就将该检索结果经由用户界面11(及检索应用程序)通知用户。在此检索结果中附加表示通过什么判定来执行检索的信息。
此处,对条件a1、a2及a3的定义如下。
a1基于N-gram索引的一次检索中的命中数N1超过命中数阈值K(N1>K)。
a2可以将检索条件语句分割为可以进行词素检索的单词。
a3基于N-gram索引的一次检索中的命中数N1和词素检索中的命中数N2近似(N1N2)。
从上述说明可知,在本实施方式中,在条件a1、a2及a3全部成立的场合,即在步骤S2、S4及S6中的判定结果全部为“是”的场合,基于N-gram索引的二次检索的执行可以省略。在此场合,作为对检索要求的检索结果,可采用一次检索结果或词素检索结果。
条件a3的特征在于,作为用来判定是否可以省略二次检索的执行的评定值,使用基于词素索引的检索的命中数N1及基于N-gram索引的一次检索的命中数N2这一点。此处,在N1和N2近似时,就是说,上述3个条件a1、a2及a3中只要条件a3满足时,即使是省略基于N-gram索引的二次检索的执行,也可以确保一定程度的检索精度。
于是,在上述3个条件a1、a2及a3中至少条件a3成立的场合,省略基于N-gram索引的二次检索的执行也没有关系。在此场合,也可以在抑制检索精度下降的同时,通过省略基于N-gram索引的二次检索,实现全文检索的快速化。但是,在上述条件a1不成立的场合,就是说,基于N-gram索引的一次检索的命中数未达到命中数阈值K的场合,即使是进行基于N-gram索引的二次检索,对性能的影响也小。因此,在条件a1不成立的场合,省略二次检索的好处很少。
条件a2,在可以将检索条件语句分割为可以进行词素检索的单词的场合成立。可以想象,由于这一条件a2成立,对于词素分析结果和包含于词素索引中的词素,单词的分割方法在很多情况下相同。所以,在利用此时的词素分析结果进行基于词素索引的词素检索的场合,在一定程度上可以保证作为评定值的词素检索的结果(命中数N2)的精度(可靠性)。这一点,表示在条件a2成立的场合,也可以在一定程度上保证包含命中数N2的条件a3是否成立的判定(步骤S6的判定)的精度。相反,在条件2不成立时,条件a3成立与否的判定的可靠性降低。所以,优选是如本实施方式这样,在条件a1、a2及a3全部成立的场合,省略基于N-gram索引的二次检索的执行。
此外,在本实施方式中,N-gram检索引擎13内的二次检索执行单元132,只在全文检索执行控制机构18要求进行二次检索的场合,对基于N-gram索引的一次检索的结果执行二次检索(步骤S8)。此处,对条件b1、b2及b3的定义如下。
b1基于N-gram索引的一次检索中的命中数N1小于等于命中数阈值K。
b2不可以将检索条件语句分割为可以进行词素检索的单词。
b3基于N-gram索引的一次检索中的命中数N1和词素检索中的命中数N2不近似。
在条件b1、b2及b3中的至少一个成立的场合,即在步骤S2、S4及S6中的判定结果至少一个为“否”的场合,全文检索执行控制机构18要求N-gram检索引擎13进行二次检索。在上述条件b1成立的场合,即使是为了确保足够高的检索精度进行基于N-gram索引的二次检索,对检索速度(检索执行时间)的不利影响也很小。另一方面,在上述条件b2或b3成立的场合,只利用基于词素索引的检索(词素检索)或基于N-gram索引的一次检索,不保证可以确保一定程度的检索精度。在此场合,在本实施方式中,虽然检索速度降低,但为了确保足够高的检索精度,进行基于N-gram索引的二次检索。
此外,在本实施方式中,用户界面11具有第1检索界面及第2检索界面(未图示)。第1检索界面,用于使用户选择全文检索的精度。此精度与检索模式相对应。就是说,第1检索界面,用于使用户选择快速检索模式及标准检索模式之中的某一种应用于全文检索。第2检索界面,用于使用户指定在执行上述快速检索之际使用的调整参数。用户界面11,向用户提示用来实现这些第1及第2检索界面的检索界面画面。
图3示出在指定全文检索的场合的检索界面画面的一例。此检索界面画面是检索执行画面之一。检索界面画面,除了检索条件域(field)31和检索按钮32之外,还包括检索精度选择区33和调整参数区34。检索条件域31,用于通过用户的输入操作来指定(输入),比如,关键词(检索字符串)作为检索条件。检索按钮32,用于用户指示图1的全文检索系统执行检索。
在检索精度选择区33中配置有“快速”选择按钮331和“标准”选择按钮332。“快速”选择按钮331,用于通过用户的输入操作指示图1的全文检索系统使用快速检索模式。“标准”选择按钮332,用于通过用户的输入操作指示图1的全文检索系统使用标准检索模式。
在调整参数区34中配置有命中数域341、近似比率域342和采用条件域343。命中数域341用于通过用户的输入操作指定命中数阈值(作为基准的命中数)K。另一方面,近似比率域342用于通过用户的输入操作指定近似比率(近似度阈值)P。另外,采用条件域343用于通过用户的输入操作指定采用条件。命中数阈值K、近似比率P及采用条件各个分别称为调整参数。
检索界面画面在最初显示的状态(即初始检索界面画面)中,在域341、342及343中显示命中数阈值K、近似比率P及采用条件的各个默认值。这些命中数阈值K、近似比率P及采用条件的各个默认值,预先在设定信息文件19中设定(保存)。如果用户使用域341、342及343指定调整参数(命中数阈值K、近似比率P及采用条件),则优先使用所指定的调整参数。与此相对,用户不使用域341、342及343指定调整参数时,使用在设定信息文件19中保存的默认值。
下面对使用“标准”选择按钮332、“快速”选择按钮331、命中数域341、近似比率域342及采用条件域343分别指定标准检索模式、快速检索模式、命中数阈值K、近似比率P及采用条件的场合予以说明。
<标准检索模式>
在选择“标准”选择按钮332指示进行检索的场合,执行标准检索模式的全文检索处理(标准检索处理)。在此,进行基于N-gram索引的检索(一次检索和二次检索)。在此场合,检索结果完全,但检索速度降低。
<快速检索模式>
另一方面,在选择“快速”选择按钮331指示进行检索的场合,执行快速检索模式的全文检索处理(快速检索处理)。在此,进行按照上述图2的流程图的检索。于是,在基于N-gram索引的一次检索的结果和基于词素索引的检索的结果近似的场合,可以在确保一定程度的检索精度的同时,进行快速检索。
这样,借助在检索界面画面中配置的“标准”选择按钮332或“快速”选择按钮331,可由用户指定标准检索或快速检索中的任何一方而反映用户对检索速度优先或检索精度优先的意愿。
<命中数阈值K>
首先,通过用户的输入操作,使用命中数域341指定命中数阈值K。在此场合,在步骤S1中,判定基于N-gram索引的一次检索的命中数N1是否超过指定的命中数阈值K。此处,假设命中数N1超过命中数阈值K,在此场合,就作为在全文检索系统中可以省略基于N-gram索引的二次检索的多个条件中的一个(条件a1)成立而进行处理。另一方面,在命中数N1不到命中数阈值K的场合,对基于N-gram索引的一次检索的结果进行二次检索。其理由如下。首先,在基于N-gram索引的一次检索中的命中数N1少的场合,即使是进行二次检索,对全文检索系统的检索速度的不利影响也很小。于是,在此场合进行二次检索。通过此二次检索,可求得精度高的完全的检索结果。
这样,由于借助配置在检索界面画面中的命中数域341,用户可以指定命中数阈值(作为基准的命中数)K,所以在快速检索处理中用户可以进行相应于环境的调整。
<近似比率P>
首先,通过用户的输入操作,可使用近似比率域342指定近似比率P。在此场合,在步骤S6中,判定基于N-gram索引的一次检索中的命中数N1和基于词素索引的检索的命中数N2的近似度是否小于指定的近似比率P。就是说,判定命中数N1和命中数N2是否近似。如果命中数N1和命中数N2近似,就作为在全文检索系统中可以省略基于N-gram索引的二次检索的多个条件中的一个(条件a3)成立而进行处理。另一方面,在上述近似度超过上述近似比率P的场合,即命中数N1和命中数N2不近似时,对基于N-gram索引的一次检索的结果进行二次检索(步骤S8)。就是说,在基于N-gram索引的一次检索的结果与基于词素索引的检索(词素检索)的结果相差悬殊的场合,可以认为该一次检索及词素检索的检索精度很差。在此场合,虽然检索速度低,但为了确保足够高的检索精度,可进行基于N-gram索引的二次检索。
这样,由于借助配置在检索界面画面中的近似比率域342,用户可以指定近似比率(作为基准的近似度)P,所以在快速检索处理中可以进行相应于检索条件语句或作为检索的对象的文档群的特征的调整。
采用条件在命中数N1和N2近似的场合,采用基于N-gram索引的一次检索的结果和基于词素索引的检索的结果中的任何一个都可以获得合适的检索结果。然而,在由对检索条件语句(关键词)进行词素分析的结果所得到的单词数于等于某一单词数(最小单词数)的场合,如下所述,基于词素索引的检索的一方得到更高精度的检索结果的可能性高。首先,将通过对检索条件语句进行词素分析而分割的单词数称为分割单词数。在此分割单词数少(比如,1单词)的场合,可以期待几乎不存在词素检索的漏检。因此,在分割单词数少的场合,可以认为词素检索的结果一方比基于N-gram索引的一次检索的结果的精度高。
于是,在本实施方式中,导入最小单词数作为分割单词数的基准。此最小单词数,表示用来确定采用基于N-gram索引的一次检索的结果或基于词素索引的检索的结果中的哪一个的条件(采用条件)。就是说,最小单词数,表示用来确定是使N-gram检索优先还是使词素检索优先的采用条件。此处,通过用户的输入操作,可以使用采用条件域343指定采用条件(最小单词数)。
全文检索执行控制机构18,在步骤S7中,根据作为此采用条件的最小单词数和上述分割单词数,确定采用基于N-gram索引的一次检索的结果或词素检索的结果中的哪一个作为检索结果。此处,在分割单词数少于等于最小单词数的场合,全文检索执行控制机构18,判断词素检索的结果一方比基于N-gram索引的一次检索的结果的精度高。在此场合,全文检索执行控制机构18,使词素检索优先,采用词素检索的结果作为针对检索要求的检索结果。与此相对,在分割单词数超过最小单词数的场合,全文检索执行控制机构18,使N-gram检索优先,采用基于N-gram索引的一次检索的结果作为针对检索要求的检索结果。
这样,由于借助配置在检索界面画面中的采用条件域343,用户可以指定作为采用条件的最小单词数,故在快速检索处理中可以进行相应于检索条件语句的调整。
图4为示出表示利用检索执行/应答服务器12借助用户界面11通知用户的检索结果的检索结果画面的一例。此检索结果画面是检索执行画面之一。检索结果画面,除了与图3所示的检索界面画面同样的检索条件域31、检索按钮32、检索精度选择区33及调整参数区34之外,包括检索精度区41及检索结果区42。
如上所述,在执行快速检索处理的场合,按照图2的流程图,利用基于N-gram索引及基于词素索引的两种检索的结果和调整参数的信息,求得通知给用户的检索结果。此检索结果,借助图4所示的检索结果画面的检索结果区42通知用户。该通知给用户的检索结果,是以下3种之一(a)基于N-gram索引的检索(一次检索及二次检索)的结果(b)基于词素索引的检索的结果(c)基于N-gram索引的检索(仅一次检索)的结果另一方面,在执行了标准检索处理的场合,经常采用上述(a)的结果作为在检索结果区42中显示的检索结果。
在执行快速检索处理的场合,对于采用上述(a)、(b)及(c)中的哪一个的检索结果,比如,可利用抽象地表现与该检索结果相对应的“检索精度”的用语在检索精度区41中示出。此处,作为抽象地表现与(a)、(b)及(c)的检索结果相对应的“检索精度”的用语,可以分别使用“适当”、“较粗略”、“粗略”。
<第1变形例>
下面参照图5的流程图对上述实施方式的第1变形例予以说明。另外,在图5中,对于与示出快速检索处理的步骤的图2的流程图等价的处理步骤赋予同一参照符号。
第1变形例的特征在于,步骤S1及S2的处理(基于N-gram索引的一次检索)和步骤S3至S5的处理(基于词素索引的检索),是以与图2的流程图相反的顺序执行这一点。此处,在不能将检索条件语句分割为可以进行词素检索的单词的场合(步骤S4),执行与上述步骤S1相当的处理,即基于N-gram索引的一次检索(步骤S11),然后执行基于N-gram索引的二次检索(步骤S8)。
另外,即使是可以将检索条件语句分割为可以进行词素检索的单词,在该单词数(分割单词数),比如,超过比最小单词数多的基准单词数的场合,词素分析的结果的精度低。在此场合,对于基于词素索引的检索的结果,不能保证可以确保一定程度的精度。在此,比如,可以在上述步骤S4中增加分割单词数是否少于等于基准单词数的判定。于是,在此判定结果是分割单词数超过基准单词数的场合,可以进行基于N-gram索引的一次检索及二次检索(步骤S11及S8)。这样一来,在指定了进行基于N-gram索引的二次检索这样的长检索条件语句的场合,由于不进行命中数N1的大小判定(步骤S2),故可以缩短检索时间。此处,在分割单词数少于等于基准单词数并且满足上述条件a1、a2及a3的场合,可以省略基于N-gram索引的二次检索。
<第2变形例>
下面参照图6的流程图对上述实施方式的第2变形例予以说明。另外,在图6中,对于与图2的流程图等价的处理步骤赋予同一参照符号。
第2变形例的特征在于,步骤S1及S2的处理(基于N-gram索引的一次检索)和步骤S3至S5的处理(基于词素索引的检索),是并行执行的这一点。即在第2变形例中,利用N-gram检索引擎的一次检索执行单元131的检索和利用词素检索引擎16的检索并行执行。这样,通过并行执行双方的检索,可以进行更快速的检索。
其他的特征和改变对于该技术领域的技术人员是可以想象的。因此,本发明立足于更广的观点之上,不受限于特定细节和在此处说明的代表性的实施方式。所以,在不脱离后附的技术方案所定义的广的发明概念及与其等同的解释和范围内可以进行各种变更。
权利要求
1.一种全文检索系统,其包括利用按照检索条件语句的一次检索和针对该一次检索的结果的二次检索,执行基于N-gram索引的检索的第1检索单元;对上述检索条件语句进行词素分析的词素分析单元;以及按照利用上述词素分析单元所得到的词素分析结果,执行基于词素索引的词素检索的第2检索单元;上述全文检索系统的特征在于,具有判定作为上述基于N-gram索引的一次检索的命中数的第1命中数和作为上述基于词素索引的词素检索的命中数的第2命中数的近似度的近似度判定单元;以及在利用上述近似度判定单元判定为上述第1命中数和上述第2命中数近似时,以省略上述基于N-gram索引的二次检索的方式,控制上述第1检索单元,采用上述一次检索的结果或上述词素检索的结果作为检索结果的全文检索执行控制单元。
2.如权利要求1所述的全文检索系统,其特征在于还具有,根据利用上述词素分析单元所得到的词素分析结果,判定是否可以将上述检索条件语句分割为可以进行词素检索的单词的词素分析结果判定单元;上述全文检索执行控制单元,在由上述词素分析结果判定单元判定为可以将上述检索条件语句分割为可以进行词素检索的单词时,以执行基于上述词素索引的词素检索的方式,控制上述第2检索单元。
3.如权利要求1所述的全文检索系统,其特征在于上述全文检索执行控制单元,根据由上述词素分析单元的分析结果所示出的作为分割后的单词数的分割单词数,确定采用上述一次检索的结果或上述词素检索的结果中的哪一个作为检索结果。
4.如权利要求3所述的全文检索系统,其特征在于上述全文检索执行控制单元,在上述分割单词数超过作为基准的最小单词数时,采用上述一次检索的结果作为检索结果;在上述分割单词数小于等于上述最小单词数时,采用上述词素检索的结果作为检索结果。
5.如权利要求4所述的全文检索系统,其特征在于,还具备用于可由用户指定上述最小单词数的用户界面。
6.如权利要求4所述的全文检索系统,其特征在于上述全文检索执行控制单元,在上述分割单词数超过比上述最小单词数多的基准单词数时,以执行上述基于N-gram索引的二次检索的方式,控制上述第1检索单元,采用上述二次检索的结果作为检索结果。
7.如权利要求1所述的全文检索系统,其特征在于还具备,通过比较上述第1命中数与基准的命中数来判定上述一次检索的命中数是多或是少的一次检索结果数判定单元;上述全文检索执行控制单元,在利用上述一次检索结果数判定单元判定为上述第1命中数少时,以执行上述基于N-gram索引的二次检索的方式控制上述第1检索单元,采用上述二次检索的结果作为检索结果。
8.如权利要求7所述的全文检索系统,其特征在于,还具备用于可由用户指定上述基准的命中数的用户界面。
9.如权利要求1所述的全文检索系统,其特征在于上述近似度判定单元,通过比较表示上述第1命中数和上述第2命中数近似的程度的近似度和作为判定的基准的近似度阈值,判定上述第1命中数和上述第2命中数的近似度。
10.如权利要求9所述的全文检索系统,其特征在于,还具备用于可由用户指定上述近似度阈值的用户界面。
11.如权利要求1所述的全文检索系统,其特征在于,还具备用于可由用户指定标准检索及快速检索中的某一个的用户界面,上述标准检索在任何情况下都一直进行到上述基于N-gram索引的二次检索,上述快速检索根据利用上述近似度判定单元所得到的判定结果有可能省略上述基于N-gram索引的二次检索。
12.如权利要求1所述的全文检索系统,其特征在于上述全文检索执行控制单元,以使上述基于N-gram索引的一次检索和上述基于词素索引的词素检索并行执行的方式,对上述第1检索单元和上述第2检索单元分别进行控制。
13.一种应用于系统的全文检索方法,上述系统具备利用按照检索条件语句的一次检索和针对该一次检索结果的二次检索执行基于N-gram索引的检索的第1检索单元;对检索条件语句进行词素分析的词素分析单元;以及按照利用上述词素分析单元所得到的词素分析结果执行基于词素索引的词素检索的第2检索单元;上述全文检索方法包括判定上述基于N-gram索引的一次检索的命中数和上述基于词素索引的词素检索的命中数的近似度的步骤;在判定为上述基于N-gram索引的一次检索的命中数和上述基于词素索引的词素检索的命中数近似时,省略通过上述第1检索单元进行的上述基于N-gram索引的二次检索,采用上述一次检索的结果或上述词素检索的结果作为检索结果的步骤;以及在判定为上述基于N-gram索引的一次检索的命中数和上述基于词素索引的词素检索的命中数近似时,使上述第1检索单元执行上述基于N-gram索引的二次检索,采用该二次检索的结果作为检索结果的步骤。
14.如权利要求13所述的全文检索方法,其特征在于,还包括根据利用上述词素分析单元所得到的词素分析结果,判定是否可以将上述检索条件语句分割为可以进行词素检索的单词的步骤;以及在判定为可以将上述检索条件语句分割为可以进行词素检索的单词时,使上述第2检索单元执行上述基于词素索引的词素检索的步骤。
15.如权利要求13所述的全文检索方法,其特征在于在采用上述一次检索的结果或上述词素检索的结果作为检索结果的步骤中,根据由上述词素分析单元的分析结果示出的作为分割后的单词数的分割单词数,确定采用上述一次检索的结果或上述词素检索的结果中的哪一个作为检索结果。
16.如权利要求13所述的全文检索方法,其特征在于还包括,通过比较上述第1命中数和基准的命中数,判定上述一次检索的命中数是多或是少的步骤;在判定为上述第1命中数少时,执行上述基于N-gram索引的二次检索,采用该二次检索的结果作为检索结果。
全文摘要
第1检索单元(13)利用按照检索条件语句的一次检索和针对该一次检索的结果的二次检索执行基于N-gram索引(14)的检索。词素分析单元(15)对上述检索条件语句进行词素分析。第2检索单元(16)按照词素分析单元(15)的词素分析结果执行基于词素索引(17)的词素检索。近似度判定单元(183)判定上述基于N-gram索引的一次检索的命中数的第1命中数和上述基于词素索引的词素检索的命中数的第2命中数的近似度。全文检索执行控制单元(18),在上述第1命中数和上述第2命中数近似时,省略上述基于N-gram索引的二次检索地控制第1检索单元(13),采用上述一次检索的结果或上述词素检索的结果作为检索结果。
文档编号G06F17/30GK1755691SQ200510108009
公开日2006年4月5日 申请日期2005年9月29日 优先权日2004年9月29日
发明者高知尾胜彦, 笹气光一, 加藤阳二 申请人:株式会社东芝, 东芝解决方案株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1