文献检索的方法和装置的制作方法

文档序号:6580586阅读:193来源:国知局
专利名称:文献检索的方法和装置的制作方法
技术领域
本发明一般涉及一种文献检索装置、方法和其中包含文献检索程序的存储介质文献检索技术用来从文献数据库中检索包括有查询字符串的文献。这种文献检索技术之一是一种可能相关的检索方案,即利用这种检索方案检索的文献包括有与查询字符串相似的字符串。
例如,在待审查的日本专利申请No.11-85776号公报中披露了可能相关的检索技术。这种技术对构成查询字符串的一部分的部分字符串根据其出现的频率而计算它们的排序分数,然后通过利用所得到的排序分数寻找文献的查询字符串。
在1997年3月出版的自然语言联合会第3年度会议记录汇编的第361-364页所记录的“全文献检索系统‘检索快递’的发展和评估”中发现了所述可能相关的检索技术的另一例子。这种技术根据部分字符串的出现为基础而得到部分字符串在文献中出现的所有的位置,从而得到一个查询字符串在一篇文献中出现的频率,然后对于所述的文献而计算查询字符串的排序分数。
但是,上述待审查的专利申请所披露的技术仅在单篇文献中检索查询字符串,而不能从多篇文献中检索出包含有一个查询字符串的一篇文献。
此外,查询字符串越长,在检索中考虑的部分字符串的数目就越大。另外,查询字符串越长,用来计算排序分数的文献段的数目就越大。这样就增加了检索的时间。例如,一个查询字符串为“ABCDEF”(为易于解释的目的,每个大写字母代表一个日语字符),将每包括2个字符的部分字符串作为一个程序单位,这样就可得到5个部分字符串,即“AB”、“BC”、“CD”、“DE”和“EF”。通常情况下,在查询字符串由m个字符组成而一个程序单位由n个字符组成时,就可得到(m-n+1)个部分字符串。因为需要在至少抽取的部分字符串之一出现的每个位置处计算排序分数,因此,随着部分字符串数目的增加,需要进行计算的位置的数目也增加。
文献中的部分字符串的排序分数是以部分字符串在文献中出现的频率为基础来计算的。文献中出现的一些部分字符串或许对查询字符串没有关系,但这些事件被认为引起排序分数不应有的增加,这样就降低了检索的准确性。例如,在一篇给定的文献中查询字符串“ABCDEF”也许只出现一次,而另一个具有完全不同意义的字符串“WXYZEF”在这篇文献中也许出现了许多次。在这种情况下,部分字符串“EF”出现的次数为“ABCDEF”事件的数目与“WXYZEF”事件的数目二者之和。因此,尽管查询字符串出现率低,但部分字符串“EF”却具有不合理的高排序分数,这样就导致了查询字符串的不合理的排序分数。
另一个问题在于如果查询字符串的长度小于一个程序单位,则就不能进行检索。这是因为查询字符串不能被分解为具有程序单位长度的部分字符串。例如,如果查询字符串为“B”,而两个字符构成一个程序单位,因为查询字符串比程序单位短,所以不能进行这种方法的检索。
在1977年3月出版的自然语言联合会第3年度会议记录汇编的第361-364页所记录的“全文献检索系统‘检索快递’的发展和评估”所披露的技术中存在的问题与上述待审查的专利申请披露的技术中存在的问题相同。即,在一篇文献中所统计的一个查询字符串事件数随着查询字符串的长度的增加而增大,这样就导致了文献检索时间的加长。一个查询字符串事件数越大,检索文献所用的时间增加的越显著。
因此,对检索方案的一个要求为可以以较高速度较容易地检索一篇文献。
对检索方案的另一个要求为减少选择文献和计算排序分数的计算负荷,从而达到高速的处理。
对检索方案的另一个要求为不受其他与查询字符串无关的字符串的影响,从而提高检索的准确性。
对检索方案的另一个要求为减少得到一个查询字符串事件的位置的计算负荷,从而达到高速的文献检索。
对检索方案的另一个要求为减小计算检索的数目,这样可提高检索速度。
对检索方案的另一个要求为即使在查询字符串的长度小于程序单位的情况下也可检索文献。
对检索方案的另一个要求为减少计算排序分数的计算负荷,从而达到高速的检索。
本发明的一个总的目的是提供一种可基本排除由现有技术的局限及缺点所引起的一个或多个问题的文献检索方案。
本发明的特点和优点将在下面的内容中进行陈述,并通过下面的描述和附图将会使其部分地明确化,或根据描述中所提供的技术而通过对本发明的实践可理解本发明,通过以完整、清晰、简洁和准确的术语所特别指出的进行文献检索所用的方法和装置,可实现并可得到本发明的目的及其他特点和优点,这样也可使本领域的普通技术人员来实践本发明。
为达到根据此处所体现和广泛描述的本发明的上述和其他优点和目的,本发明提供了一种用来进行文献检索的方法,该方法包括如下步骤将查询字符串分解为部分字符串;从多篇已记录的文献中选择一篇或多篇文献,这样所选择的一篇或多篇文献中的每一篇文献均包含所有的部分字符串;计算一篇或多篇文献中的每篇文献中的部分字符串的相应的分数,对一篇或多篇文献中的每篇文献来说,还应计算来自部分字符串的相应分数的查询字符串的分数。
在上述的方法中,在计算分数之前选择包括有与查询字符串相似的部分字符串的一篇或多篇文献。因为存在这个分级过程,可进行高速文献检索而从多篇记录的文献中检索出一篇文献。
根据本发明的一个方面,上述方法中将查询字符串分解为通常不重叠且覆盖查询字符串的整个长度的部分字符串。
在上述的方法中,可减少选择一篇或多篇文献和计算分数的计算负荷,这样就可达到高速的文献检索。
根据本发明的另一个方面,上述首先描述的方法为部分字符串的相应的分数的计算步骤包括如下步骤,即,得到指示包括有给定部分字符串之一的已记录文献多少的第一计数;得到指示相应的部分字符串之一在给定的一篇或多篇文献中出现的次数多少的第二计数;得到最小的第二计数;得到来自于第一计数和最小的第二计数和所给定的一篇或多篇文献中的给定的部分字符串之一的分数,这样,随着第一计数的减少及第二个最小数字的增加,所给定的部分字符串之一的分数就增加。
在上述的方法中,在计算分数时,可减小不相关的部分字符串出现的影响,这样就提高了检索的准确性。
根据本发明的另一方面,上面首先描述的方法为部分字符串的相应分数的计算步骤包括如下步骤,即,得到指示包括有给定部分字符串之一的已记录文献多少的第一计数;得到指示一个相应的查询字符串在给定的一篇或多篇文献之一中出现的次数多少的第二计数;得到来自于第一计数和第二计数的所给定的一篇或多篇文献之一中的给定的一个部分字符串的分数,这样,随着第一计数的减少及第二计数的增加,所给定的部分字符串之一的分数就增加。
在上述的方法中,在计算分数时,在一篇文献中可消除不相关的部分字符串出现的影响,从而可提高检索的准确性。
根据本发明的另一个方面,上面所述的方法中的得到第二计数的步骤还包括为第二计数设置一个上限这一步骤。
在上述的方法中,可减少检索查询字符串的位置的计算负荷,这样有助于达到高速的文献检索。
根据本发明的另一方面,上面首先描述的方法为通过选择一篇或多篇文献的步骤来选择一篇或多篇文献,所选择的一篇或多篇文献中的每篇文献均包括查询字符串,部分字符串的相应的分数的计算步骤如下,即,得到用来指示包含查询字符串的已记录文献多少的第一计数;得到用来指示给定的部分字符串之一在给定的一篇或多篇文献中出现的次数多少的第二计数;得到来自于第一计数和第二计数的所给定的一篇或多篇文献之一中的给定的字符串之一的分数,这样,随着第一计数的减少及第二计数的增加,所给定的部分字符串之一的分数就增加。
在上述的方法中,可消除跨不同文献的不相关的部分字符串的出现的影响,这样有助于提高文献检索的准确性。
根据本发明的另一方面,上面首先描述的方法为通过选择一篇或多篇文献的步骤来选择一篇或多篇文献,所选择的一篇或多篇文献中的每篇文献均包括查询字符串,部分字符串的相应的分数的计算步骤如下,即,得到用来指示包含查询字符串的已记录文献多少的第一计数;计算来自第一计数的界限;得到用来指示一个查询字符串在给定的一篇或多篇文献之一中出现的次数多少的第二计数;同时将第二计数的上端限制在其界限内;得到来自于第一计数和第二计数的所给定的一篇或多篇文献之一中的给定的部分字符串之一的分数,这样,随着第一计数的减少及第二计数的增加,所给定的部分字符串之一的分数就增加。
在上面描述的方法中,可消除不相关的部分字符串产生的影响,并可减小检索查询字符串的位置的计算负荷,这样就达到准确且高速的文献检索。
根据本发明的另一个方面,一种进行文献检索的方法包括如下步骤提供相应的文献检索目录,每个检索目录中均列举出在相应的文献中发现的部分字符串及部分字符串在相应文献中的相应位置;选择起始字符串与查询字符串相一致的部分字符串;从文献中选择一篇或多篇文献,这样一篇或多篇文献中的每篇文献均包含至少一个所选择的字符串;对于一篇或多篇文献中的每篇文献均计算其所选择字符串的相应的分数;对于一篇或多篇文献中的每篇文献,从每篇文献的所选择的部分字符串的相应的分数来计算查询字符串的分数。
在上面所述的方法中,即使在查询字符串的长度小于部分字符串的长度的情况下也可进行适当的文献检索。


图1所示为根据本发明的第一个实施例的一种文献检索装置的方框图;图2A至图2C显示了已记录文献;图3所示为图1中执行文献检索的装置的系统构造的方框图;图4所示为对多篇文献计算排序分数的流程图,其中的流程是由根据本发明的第一个实施例的文献检索装置来执行的;图5所示为计算排序分数的流程图,该步骤是在图4中的步骤S3处执行的;图6所示为根据本发明的第二个实施例的计算排序分数的流程图;图7所示为根据本发明的第三个实施例的计算排序分数的流程图;图8所示为根据本发明的第四个实施例而得到具有上限的查询字符串出现的次数的流程图;图9所示为根据本发明的第五个实施例而计算多篇文献的排序分数的流程图;图10所示为根据本发明的第六个实施例而计算多篇文献的排序分数的流程图;图11A至图11C所示为显示文献的例子的说明图,并显示了一个相应的目录单位的例子;图12所示为根据本发明的第七个实施例而计算多篇文献的排序分数的流程图;图13所示为根据本发明的第八个实施例的文献检索装置的方框图;图14所示为选择部分字符串的流程图,所选择的部分字符串不重叠且覆盖查询字符串的整个长度。
在下面的内容中,将参考附图而对本发明的实施例进行描述。
图1所示为根据本发明的第一个实施例的文献检索装置1的方框图。所述文献检索装置1包括文本分解单元2、目录单元3、文献选择单元4和一个分数计算单元5。
文本分解单元2将文本分解为部分字符串,此处所述的文本可为一篇已记录的文献或一个查询字符串。目录单元3用来储存通过将已记录的文献分解而得到的有关部分字符串的信息。文献选择单元4利用通过将查询字符串分解而得到的部分字符串来选择一篇文献,所选择的文献的排序分数将被计算出。分数计算单元5利用通过将查询字符串分解而得到的部分字符串来计算由文献选择单元4所选择的文献的排序分数。文本分解单元2执行分解步骤,文献选择单元4执行文献选择的步骤。此外,分数计算单元5执行分数计算的步骤。每一步的详细内容将在后面的内容中进行描述。
当一篇已记录的文献被提供时,文本分解单元2就将所述文献分解为部分字符串。部分字符串出现的信息就储存到目录单元3中。
在下面的内容中,将详细描述由文献检索装置1执行的一个过程。
图2A和图2B为记录文献的显示图。图2A和图2B均显示了一篇已记录文献。在每篇已记录的文献中,左边显示的数字指示了从文献的开始处至相应部分字符串的位置处所统计的字符的数目。在图2A所示的一篇文献中,字符串“ABCD”从文献开始的第11个字符开始,“EF”在从开始的第20个字符处和第60个字符处被发现。此外,字符串“ABCDEF”出现在从开始的第31个字符处。当将包含两个字符的字符串作为一个程序单位时,就将所有的包含两个字符的字符串从一篇文献中取出来,被取出的字符串连同其出现的位置(从文献的开始进行字符计数)一起记录到目录单元3中。
图2C显示了目录单元3的内容。例如,图2A所示的文献具有的字符串“AB”出现在从开始的第11个字符处和第31个字符处,文献具有的字符串“BC”始于从开始的第12个字符处和第32个字符处,这样这些字符串在文献中的出现的情况就被记录到图2C所示的目录单元3中。目录单元3不仅记录字符串出现的位置,而且还记录文献标识符,所述文献标识符用来识别与已记录出现的文献相关的文献。此外,也记录文献出现的次数。如图2C所示,字符串“AB”被记录为“(1,2,(11,31))”,这就指出字符串“AB”在图2A所示的具有文献标识符1的文献中出现了两次(出现的次数=2),字符串出现在从开始的第11个字符处和第31个字符处。
当为文献检索的目的而提供一个查询字符串时,文本分解单元2就将查询字符串分解为部分字符串。文献选择单元4选择一篇或多篇文献而计算其排序分数,根据部分字符串而进行选择。分数计算单元5利用部分字符串而计算出所选择的每篇文献的排序分数,从而提供文献检索的结果。
文献选择单元4通过鉴别包含查询字符串的所有部分字符串的文献而选择出一篇或多篇文献。另一种可选择的方式为,可选择包括有查询字符串本身的文献或满足一定的适当选择条件的文献。
分数计算单元5相对于每篇被选择的文献而计算查询字符串的排序分数。查询字符串的排序分数是根据部分字符串的排序分数而得到的。此处,部分字符串的排序分数可利用现有技术中已知的方法如tf法、tf.idf法等在数据检索中所用的典型的方法来计算。例如,可参考1992年PrenticeHall出版的W.B.Frakes Ed的“信息检索数据结构和算法”,特别是其中的文献部分第14部分。为了从部分字符串的排序分数中得到查询字符串的排序分数,人们可得到部分字符串的一个总和、一个平均值、一个最大值等。
参考图2C中所示的目录单元3,下面将对排序分数的计算进行描述。
当提供查询字符串“ABCDEF”时。文本分解单元2就从中抽取出部分字符串“AB”、“BC”、“CD”、“DE”和“EF”。然后,文献选择单元4就从已记录的多篇文献中选择出包含有所有部分字符串的一篇或多篇文献。在这个例子中,只有图2A中所示的文献满足要求的条件。在现有技术中,选择包括至少一个所选择部分字符串的文件。现有技术中的方案也会选择这个例子中的图2B中的文献,而本发明却不选择图2B中的文献。
在选择出一篇或多篇文献之后,分数计算单元5利用部分字符串而计算每篇所选择文献的排序分数。在下面的内容中,部分字符串的排序分数的计算参考下面的公式
SCORE(n)=tf(n)*(1+Log2(N/df(n)))..............(1)其中SCORE(n)为部分字符串n的排序分数,tf(n)为部分字符串n在相关的文献中出现的次数。此外,N指示的是已记录的文献的数目(在这个例子中为2),df(n)指示的是包含有部分字符串n的记录文献的数目。在下面的内容中,df(n)指示的是文献出现的次数。在这个实施例中,文献的排序分数为文献中所包含的部分字符串的排序分数的总和。对于图2A中的文献来说,部分字符串“AB”的排序分数SCORE(AB)是通过在等式(1)中利用2代替tf(AB)且用2代替df(AB)来得到的。在这种情况下,SCORE(AB)为2。根据同样的理由可得SCORE(BC)=4,SCORE(CD)=4,SCORE(DE)=1,SCORE(EF)=3。
因此,可得到查询字符串“ABCDEF”的排序分数SCORE(ABCDEF)为SCORE(ABCDEF)=SCORE(AB)+SCORE(BC)+SCORE(CD)+SCORE(DE)+SCORE(EF)=14这就是图2A中的文献中的查询字符串“ABCDEF”的排序分数。
图3所示为执行文献检索的装置1的系统构造方框图。
文献检索装置1包括一个CPU 11、一个ROM 12、一个RAM 13、一条总线14、一个硬驱动器15、一个CD-ROM驱动器16、一个输出装置17、一个输入装置18和一个连接控制装置20。CPU 11用来进行不同的操作和对不同的元件进行中心控制。ROM 12是一只存储BIOS程序及类似程序的只读存储器。RAM 13用来存储数据并为CPU 11提供一个工作区域。总线14在CPU11、ROM 12和RAM13之间进行连接。总线14也通过中间线和/或控制线(未显示)而连接到硬驱动器15、CD-ROM驱动器16、输出装置17如CRT显示器、LCD显示器或一个打印机、输入装置18如键盘和鼠标及与网络21相连的连接控制装置20上。
使文献检索装置1执行根据本发明的工作过程的程序记录在作为本发明的存储媒介的CD-ROM 19中。CD-ROM 19插入到CD-ROM驱动器16中,上述程序就存储到硬驱动器15中。程序存储到硬驱动器15中后,文献检索装置1就准备执行根据本发明的不同的工作过程。换句话说,图1中所示的不同的单元体现为由CPU 11执行程序的执行过程。目录单元3为建立在硬驱动器15中的数据库。
本发明的存储媒介并不仅限于CD-ROM,可为任何类型的存储媒介,如CD-RW、CD-R、DVD、FD或MO。程序可从网络19中下载。如可通过连接控制装置而从网络中下载,并可安装到硬驱动器15中。在这种情况下,用来储存在网络19的传输侧的程序的存储装置就作为本发明的存储媒介。所述程序在预先确定的操作系统上运行。
图4所示为计算多篇文献的排序分数的流程图,该过程是由根据本发明的第一个实施例的文献检索装置1来执行的。图4中的流程图利用了C语言的符号。
在步骤S1中,阵列目录m和文献识别符DocId均设为1。
在步骤S2中,对包含所有部分字符串及具有的最小文献ID不小于DocId的文献进行检索。如果发现了这样一篇文献,文献识别符DocId就设置为已得到的文献ID,然后该过程就进入步骤S3。否则,就结束该过程。
在步骤S3中,计算具有文献识别符的文献的排序分数。所得到的分数存入到具有文献识别符的C语言结构中,并且将所得到的分数作为其组成部分。
在步骤S4中,阵列目录m和文献识别符均增加1。然后,该过程就转回到步骤S2。
图5所示为在图4中的步骤S3中执行计算排序分数的流程图。
在步骤S11中,将用来指示一个部分字符串的参数n设置为1,而将分数设置为0。
在步骤S12,利用字符串STR[n]而计算等式(1),并将得到结果添加到分数中。
在步骤S13,对n是否等于一个整数进行检测。此处所述的整数为查询字符串中的所有部分字符串的数量。如果n等于上述的整数,该过程就结束。否则,该过程就进入步骤S14。
在步骤S14,将n增加1。然后,该过程就转回至步骤S12。
在下面的内容中,将描述本发明的第二个实施例。
在第二个实施例中,与第一个实施例中相同的单元利用同样的参考数字来指示,这样就省略了对它们的描述。
第二个实施例的文献检索装置1与第一个实施例中的不同点仅在于分数计算单元5的运行不同。在第一个实施例中,分数计算单元5根据部分字符串在文献中出现的次数而相对于所选择的文献来计算部分字符串的排序分数。在文献的内容中出现的部分字符串可能与查询字符串没有语义上的关联,这种不相关的部分字符串的出现就会影响所得到的排序分数,从而降低了检索的准确性。
在图2A所示的例子中,在第20个字符处和第60个字符处出现的部分字符串“EF”就可能与查询字符串无关。这是因为字符串“EF”在文献中出现了3次,但是,分数SCORE(EF)仅计算为3。从与查询字符串“ABCDEF”相关的角度来说,这个分数就可能太高了。
在第二个实施例中,文献检索装置1从相应的部分字符串在文献中多次出现的次数中选择一个最小的出现次数,并利用所选择的最小的出现次数来代替计算排序分数过程中的部分字符串的出现次数。在图2A所示的例子中,最小的出现次数为1,这就是部分字符串“DE”的出现次数,这样,为了计算排序分数的目的,就利用最小的出现次数1来代替其他的部分字符串“AB”、“BC”、“CD”和“EF”。因此,就得到SCORE(AB)=1、SCORE(BC)=2、SCORE(CD)=2、SCORE(DE)=1、SCORE(EF)=1,这样得到查询字符串“ABCDEF”的排序分数SCORE(ABCDEF)为7。
图6所示为根据本发明的第二个实施例来计算排序分数的流程图。除了计算排序分数的步骤之外,该流程图中的其他步骤与图4所示的第一个实施例的步骤相同。
在图6中的步骤S11中,用来指示部分字符串的参数n设置为1,用来表示所得到的出现的最小的次数的参数mintf设置为无穷大。
在步骤S12中,参数mintf设置为mintf和字符串str[n]的发生次数二者中的最小值。
在步骤S13中,对n是否等于一个整数进行检测。如前面所述,所述的整数为查询字符串中的所有部分字符串的数目。如果n不等于所述的整数,该过程就进入步骤S14,在步骤14处,将n增加1,然后将该过程转回步骤S12。如果n等于所述的整数,这就意味着mintf等于最小的出现次数,这样,该过程就继续进入下一个步骤。
在步骤S15处,将n设定为1,将分数设定为0。
在步骤S16处,将等式(1)中的tf(n)利用mintf来代替,利用字符串str[n]来计算等式(1),并将得到的结果添加到分数中。
在步骤S17中,检测n是否等于一个整数。如果n等于所述的整数,则该过程结束。否则,该过程进入下一步S18。
在步骤S18中,将n增加1,然后将该过程转回到步骤S16。
根据本发明的第二个实施例,在文本的内容与查询字符串无关的情况发生时,消除了来自于查询字符串的排序分数的不相关的部分字符串的出现的影响。这样就提高了检索的准确性。
在下面的内容中,将对本发明的第三个实施例进行描述。
在第三个实施例中,与第二个实施例中相同的单元利用同样的参考数字来指示,这样就省略了对它们的描述。
第三个实施例的文献检索装置1与第二个实施例中的不同点在于在消除不相关的部分字符串出现的影响方面,第三个实施例使用了与第二个实施例不同的方案。
为了消除不相关的部分字符串的出现的影响,对于所选择的文献得到查询字符串出现的次数,然后,为了得到排序分数的目的,利用查询字符串出现的次数代替部分字符串出现的次数。查询字符串出现的次数通过检测查询字符串在所选择的文献中出现的所有位置而得到。
为得到查询字符串出现的位置,可利用传统的方法,即与部分字符串的位置相对照的方法。例如,可利用在CHuichi kikuchi的“用于日本文本数据库的一种快速的全文检索方法”中所披露的一种技术,该文章在1992年的电子、信息和通信工程师的会刊的卷号为Vol.j75-D-I、第9篇第836-846页。
对于图2A所给的文献的例子,从图2C的目录可断定查询字符串“ABCDEF”从始端开始只出现在了第31个字符的位置处出现了一次。根据这个发现,将部分字符串“AB”、“BC”、“CD”、“DE”和“EF”的出现次数设为1,这也是查询字符串出现的次数。该过程所得到的排序分数与第二个实施例中相同。也就是说,得到的排序分数SCORE(ABCDEF)为7。
图7所示为根据本发明的第三个实施例计算排序分数的流程图。除了计算排序分数的步骤外,该过程中的其他步骤与图4中所示的第一个实施例中的步骤相同。
在图7所示的步骤S11中得到查询字符串出现的次数。将得到的出现的次数设定为wordtf。
在步骤S12,将用来指示部分字符串的参数n设置为1,将分数设置为0。
在步骤S13,利用字符串str[n]且将wordtf代替tf(n)来计算等式(1),并将计算出的结果添加到分数上。
在步骤S14中,对n是否等于一个整数进行检测。如果n等于上述的整数,则该过程就结束。否则,该过程转向步骤S15。
在步骤S15中,将n增加1。然后,将该过程转向步骤S13。
根据本发明的第三个实施例,在文本的内容与查询字符串无关的情况发生时,消除了来自于查询字符串的排序分数的不相关的部分字符串的出现的影响。这样就提高了检索的准确性。
在下面的内容中,将对本发明的第四个实施例进行描述。
在第四个实施例中,与第三个实施例中相同的单元利用同样的参考数字来指示,这样就省略了对它们的描述。
第四个实施例中的文献检索装置1与第三个实施例中的文献检索装置的不同在以下的方面。在第三个实施例中,分数计算单元5通过检测查询字符串在文献中出现的位置而得到查询字符串在所选择的文献中出现的次数。
但是,当查询字符串较长且多次出现时,得到所有出现位置的计算负荷非常大,这样检索一篇文献就要用去较长的一段检索时间。
在本发明的第四个实施例中,为查询字符串的出现次数设置了一个上限。如果查询字符串在一篇文献中的出现次数低于所述上限,所述的次数就作为查询字符串出现的次数。如果查询字符串在一篇文献中的出现次数高于所述的上限,就将所述的上限替代出现的次数。在这种情况下,就不需要利用各种方法来检测查询字符串出现的所有位置,当次数到达上限时如果停止计数,也可满足要求。
图8所示为根据本发明的第四个实施例得到具有上限的查询字符串出现的次数的流程图。
在第三个实施例中,查询字符串出现的次数是仅通过图7中所示的在步骤S11中查询字符串出现的所有次数来计算的。在第四个实施例中,查询字符串出现的次数是通过下面的过程得到的。
在步骤S21中,将wordtf设置为0。
在步骤S22中,寻找查询字符串的一次新的出现。如果找到了查询字符串的一次新的出现,则该过程进入步骤S23。否则,该过程结束。
在步骤S23中,将出现的次数wordtf增加1。
在步骤S24中,对wordtf是否等于L进行检测,此处,L确定了出现次数的上限。如果二者相等,则该过程结束。否则,该过程转回到步骤S22。
根据本发明的第四个实施例,与第三个实施例中的情况相比,该实施例中减小了检测查询字符串所有出现位置的计算负荷,这样就能进行较快的文献检索。
在下面的内容中,将对本发明的第五个实施例进行描述。
在第五个实施例中,与第三个实施例中相同的单元利用同样的参考数字来指示,这样就省略了对它们的描述。
第五个实施例中的文献检索装置1与第三个实施例中的不同点在以下几个方面。在第三个实施例中,分数计算单元5得到查询字符串在所选择的一篇文献中的出现的次数,并利用所得到的出现的次数来代替部分字符串出现的次数而得到排序分数。在这种方式中,当部分字符串出现在查询字符串的内容之外时,可消除来自于查询字符串的排序分数的不相关部分字符串的出现的影响。
在第三个实施例中,查询字符串的排序分数是从部分字符串的排序分数中派生出的,部分字符串的排序分数按顺序是以包含有部分字符串的已记录的文献的数目为基础产生的。因此,不相关文献的出现可影响排序分数,其中的不相关的文献包括有特殊的部分字符串而不包括查询字符串。换句话说,在第三个实施例中不能完全消除不相关的部分字符串出现的影响。
在图2A所示的文献的例子中,SCORE(AB)等于1,这是因为包括有字符串“AB”的文献的数目为两篇,其中字符串“AB”在图2A所示的文献中出现的次数设置为查询字符串出现的次数。但是,图2B中的文献是不相关的,这是因为这篇文献没有包括查询字符串“ABCDEF”。因此,在这种情况下,不相关文献的出现,即另一种类型的不相关字符串的出现就会影响查询字符串的排序分数。
考虑到这种情况,为了达到计算给定部分字符串的排序分数的目的,本发明的第五个实施例利用具有查询字符串的文献的数目来作为包含有给定部分字符串的文献的数目。在图2A和图2B所示的文献的例子中,包含有字符串“AB”的已记录文献的数目设置为1,这就是包含有查询字符串“ABCDEF”的文献的数目。因此,SCORE(AB)变为2。以同样的理由可得到“SCORE(BC)=2、SCORE(CD)=2、SCORE(DE)=2、SCORE(EF)=2。这样得到SCORE(ABCDEF)=10。
图9所示为根据本发明的第五个实施例而得到多篇文献的排序分数的流程图。
在图9中的步骤S101中得到包括有查询字符串的文献的数量。将所得到的文献的数量设置为一个常数为worddf。
在步骤S102中,将阵列目录m和文献标识符DocId均设置为1。
在步骤S103中,对包括有查询字符串及最小的文献ID不小于DocId的文献进行检索。如果能找到这样一篇文献,则将文献标识符DocId设置为所得到的文献ID,并将该过程进入到步骤S104。否则,结束该过程。
在步骤S104中,计算具有文献标识符DocId的文献的排序分数。此处,利用等式(1)来计算排序分数,并在步骤S104处用worddf代替df(str[n])。将所得到的分数存储到具有文献标识符的C语言结构中,并将该分数作为其组成部分。
在步骤S105中,将阵列m和文献标识符DocId均增加1。然后,将该过程就转回到步骤S103。
根据本发明的第五个实施例,当部分字符串在所选择的文献的内容之外出现时或在其他已记录的文献的内容之外出现时,相对于一篇所选择的文献来说,基本消除了来自于查询字符串的排序分数的不相关的部分字符串的出现的影响。这样就提高了检索的准确性。
在这个实施例中,每个部分字符串的排序分数均等于通过利用具有查询字符串的文献的数目和查询字符串出现的次数而得到的排序分数。因为这个原因,就不需要计算部分字符串的所有排序分数及为了得到查询字符串的目的而将它们组合在一起。另一种替代方方式为,查询字符串的排序分数直接从具有查询字符串的文献的数目和查询字符串出现的次数中得出。这样就可减少计算负荷,从而可达到高速度的可能相关的文献检索。
在下面的内容中,将对本发明的第六个实施例进行描述。
在第六个实施例中,与第四个实施例中相同的单元利用同样的参考数字来指示,这样就省略了对它们的描述。
第六个实施例中的文献检索装置1与第四个实施例中的不同点在以下几个方面。在第四个实施例中,为了达到提高文献检索速度的目的而为查询字符串出现的次数设置了一个上限。
但是,设置一个上限会降低检索的准确性,因为这是设置这样一个上限将会产生一个与没有上限的情况下不同的排序分数。由于设置一个上限而使排序分数变化的程度将依据包含有查询字符串的文献的数目而定。当利用等式(1)来计算排序分数时,包含有查询字符串的文献的数目越小,则由设置一个上限而引起的排序分数的差别就越大。考虑到这一点,为达到减小设置一个上限的影响的目的,所述上限最好根据具有查询字符串的文献的数目而进行动态变化。例如,在具有查询字符串的文献的数目为X(X1)的情况下,所用上限Lx按下式计算Lx=L1(1+log2(N/x))/(1+log2N)..........................(2)此处,L1为具有查询字符串的文献的数目为1的情况下所用的上限。根据等式(2),其中所用的具有查询字符串的文献的数目越小,则所述的上限越大。也就是说,其中的具有查询字符串的文献的数目越小,则由设置上限所引起的排序分数的差别越小。换句话说,由于修正了引入的上限,则减小了检索的准确性。应注意到等式(2)只是一个例子,只要随着具有查询字符串的文献的数目的增加而使上限增加,则可使用任何形式的公式。
图10所示为根据本发明的第六个实施例而计算多篇文献的排序分数的流程图。
在图10中的步骤S111中可得到包含有查询字符串的文献的数目。将所得到的文献数设置为一个参数worddf。
在步骤S112中,在等式(2)中通过用worddf代替X而得到上限Lx。
在步骤S113中,将阵列目录m和文献标识符DocId均设置为1。
在步骤S114中,对包含有查询字符串和具有的最小的文献ID不小于DocId的文献进行检索。如果能找到这样一篇文献,就将文献标识符DocId设置为所得到的文献ID,且该过程进入步骤S115。否则,该过程结束。
在步骤S115,计算具有文献标识符DocId的文献的排序分数。此处,在步骤S115处执行图7中的步骤S11至S15,步骤S13中的等式中的df(str[n])利用worddf来取代,等式中具有的wordtf利用上限Lx来限制。
在步骤S116,将阵列目录m和文献标识符DocId均增加1。然后将该过程转回至步骤S103。
在下面的内容中,将对本发明的第七个实施例进行描述。
在第七个实施例中,与第一个实施例中相同的单元利用同样的参考数字来指示,这样就省略了对它们的描述。
第七个实施例中的文献检索装置1与第一个实施例中的不同点在于以下几个方面。在第一个实施例中,当查询字符串的长度小于作为一个程序单位的部分字符串的长度(如字符的数量)时,文本分解单元2就不能将查询字符串分解为部分字符串,这样就会产生检索失败的情况。例如,当一个查询字符串为“A”而一个程序单位包括两个字符时,因为查询字符串比程序单位短,则不能进行检索。
当查询字符串的长度短于一个程序单位时,在本发明的第七个实施例中将用到下面的过程。
(1)文本分解单元2将所有的部分字符串从目录单元3中取出,这样,这些部分字符串以同样的字符开始,查询字符串也是这样进行。
(2)文献选择单元4区分出包含有通过文本分解单元2取出的至少一个部分字符串的一篇或多篇文献。
(3)分数计算单元5通过利用由文本分解单元2取出的部分字符串而计算出由文献选择单元4选择出的文献的排序分数。
图11A至图11C显示了文献的例子和相应的目录单元的一个例子。参考图11A至11C,下面将对上面的过程进行更加详细的描述。
在一个程序单位由两个字符构成时,目录单元3具有的内容如图11C所示,图11C所示的内容与图11A中的文献和图11B中的文献有关。此处,如图11C所示的目录单元3中的数据格式与图2C中所示的目录单元3中的数据格式相同。在下面的内容中,参考以“Y”作为给定的查询字符串的例子而对该检索过程进行描述。
文本分解单元2取出3个部分字符串“YI”、“YK”和“YB”作为在起始端与查询字符串具有同样字符的部分字符串。文献选择单元4选择图11A和图11B中的文献,因为这些文献包括至少一个所取出的部分字符串。然后,分数计算单元5通过利用由文本分解单元2取出的部分字符串来计算所选择文献的排序分数。
在计算排序分数时,分数计算单元5得到相对于所选择文献的查询字符串的排序分数,所述查询字符串的排序分数来自于在所选择的文献之内的部分字符串的排序分数。例如,通过计算部分字符串的排序分数的总和就可达到上述目的。在依据等式(1)计算部分字符串的排序分数时,可得到SCORE(YI)=0、SCORE(YK)=2、SCORE(YB)=2,这样可得到SCORE(Y)=4。
图12所示为根据本发明的第七个实施例计算多篇文献的排序分数的流程图。
在步骤S121,将阵列目录m和文献检索标识符DocId均设置为1。
在步骤S122,对包括有至少一个部分字符串具有的最小的文献ID不小于DocId的文献进行检索。此处,部分字符串被定义为以与查询字符串相同的字符开始的字符串。如果检索到这样的一篇文献,就将文献标识符设定为所得到的文献ID,该过程将进入到步骤S123。否则,该过程就结束。
在步骤S123中,计算具有文献标识符DocId的文献的排序分数。将所得到的分数储存到具有文献标识符的C语言结构中,并将分数作为其组成部分。
在步骤S124中将阵列目录m和文献标识符DocId均增加1。然后,将该过程转回到步骤S122。
通过依据上述的过程,即使查询字符串的长度小于一个程序单位,但仍能检索一篇文献。
在排序分数的计算过程中,反映具有查询字符串的文献的数目的文献数可以以与本发明的第三个实施例中的方式相同的方式进行应用。在图11A和图11B所示的例子中,有两篇文献包含有字符串“Y”。因此,对于图11A中的文献来说,可得到SCORE(YI)=0、SCORE(YK)=1、SCORE(YB)=1,因此可得到SCORE(Y)=2。这种计算过程可提高检索的准确性,这是因为为达到计算排序分数的目的,该计算过程利用了具有查询字符串的数目。
此外,为了计算排序分数的目的,分数计算单元5可利用查询字符串在文献中出现的次数。在图11A中所示的文献中,查询字符串“Y”出现了两次,而以在图11C中显示的“YI”、“YK”和“YB”的出现次数来计算。因为包含有“Y”的文献数为2,所以SCORE(Y)计算为2。在这个过程中,利用等式(1)计算的出现的次数的数目小于在前面的过程中出现的次数的数目,这样就可进行快速的文献检索。
在下面的内容中将对本发明的第八个实施例进行描述。
图13所示为根据本发明的第八个实施例的文献检索装置1A的方框图。
文本分解单元2将文本分解为部分字符串,其中的文本可为一篇已记录的文献或为一个查询字符串。目录单元3用来储存通过分解一篇已记录的文献而得到的部分字符串的有关信息。部分字符串选择单元6用来选择为文献检索的目的而应用的部分字符串,上述的被选择的字符串是从经分解查询字符串而得到的部分字符串中选择出来的。文献选择单元4利用通过部分字符串选择单元6选择出的部分字符串而选择一篇文献来计算其排序分数。分数计算单元5利用通过部分字符串选择单元6选择的部分字符串来计算经文献选择单元4选择的文献的排序分数。文本分解单元2执行分解步骤,文献选择单元4执行文献选择步骤。此外,分数计算单元5执行分数计算步骤,而部分字符串选择单元6执行部分字符串选择步骤。
文献的记录与第一个实施例中相同。
当为文献检索的目的而提供一个查询字符串时,文本分解单元2就将该查询字符串分解为部分字符串。部分字符串选择单元6从经分解字符串而得到的所有部分字符串中选择部分字符,这样,被选择的字符串就被用于文献检索。文献选择单元4就选择一篇或多篇文献来计算其排序分数,这种选择是根据所选择的字符串来进行的。分数计算单元5通过利用所选择的部分字符串来计算所选择文献的每篇文献的排序分数,这样就提供了进行文献检索的结果。
文本分解单元2、文献选择单元4和分数计算单元5的作用与在第一个实施例中的作用相同。部分字符串选择单元6应能尽可能少地选择部分字符串,但选择的部分字符串应能足够覆盖查询字符串的整个长度,上述部分字符串是从经文本分解单元2分解查询字符串而得到的所有部分字符串中选择出的。为了使选择的字符串正好覆盖查询字符串的整个长度,部分字符串选择单元6从查询字符串的始端一个接一个地选择部分字符串,这样所选择的部分字符串就不会相互重叠。如果所选择的部分字符串不相互重叠而不能覆盖查询字符串的整个长度,则添加选择与查询字符串的末端部分相应的一个部分字符串。
例如,在提供一个查询字符串“ABCDEF”时,文本分解单元2从中取出5个部分字符串“AB”、“BC”、“CD”、“DE”和“EF”。在这种情况下部分字符串选择单元6选择5个中的3个字符串“AB”、“CD”和“EF”而摒弃另外的两个字符串“BC”和“DE”。另一方面,当提供的查询字符串为“BCDEF”时,则首先选择两个部分字符串“BC”和“DE”。在不重叠的情况下不会选择更多的字符串,但是所选择的两个部分字符串不能覆盖查询字符串的整个长度(如不能覆盖查询字符串的最后的字符)。在这种情况下,就添加选择另一个部分字符串“EF”。这样,就从查询字符串“BCDEF”中选择出三个部分字符串“BC”、“DE”和“EF”。
所选择的部分字符串总是少于所有的部分字符串。当一个查询字符串包含有m个字符时,所选择的部分字符串的数量等于不小于m/n的最小的整数。也就是说,如果n为2而m为3,则不小于3/2的最小整数为2。如果n为2而m为4,则不小于4/2的最小整数为2。如果n为2而m为5,则不小于5/2的最小整数为3。所选择的部分字符串的数目小于(m-n+1),(m-n+1)即为待审查的日本专利No.11-85776中所用的部分字符串的数目。在这种方式中,本发明的第八个实施例可减少选择文献和计算排序分数的计算负荷,这样就可进行快速检索文献。
图14所示为选择不重叠且能覆盖一个查询字符串的整个长度的部分字符串的流程图。
在步骤S201中,将参数s设置为1。参数s用来指示一个部分字符串的起始位置。
在步骤S202中计算s加上sublen,并将所得到的和放入参数e中。此处,sublen为部分字符串的长度,即一个程序单位的长度。参数e用来指示与在位置s处开始的部分字符串的末端位置相邻的下一个位置。
在步骤S203中,对e是否大于(len+1)进行检测,其中的len为查询字符串的长度。如果上式不能成立,则该程序进入下一个步骤S204。
在步骤S204中,选择具有起始位置s的一个部分字符串来作为用于检索目的的部分字符串之一。
在步骤S205中,对e是否等于(len+1)进行检测,如果上式能够成立,则该程序结束。
在步骤S206中将起始位置s设为e。然后,将该程序转回至步骤S202。
如果在步骤S203的检测中发现e大于(len+1),则该程序进入步骤S207。
在步骤S207中选择具有起始位置(len-sublen+1)的一个部分字符串来作为用于检索目的的部分字符串之一。然后,该程序结束。
应注意到,本发明的第八个实施例可按着与第一个实施例相同的方式进行变更而提供前面所描述的第二至第七个实施例。
还应注意到,虽然所描述的第一至第八个实施例利用了本发明的特征的特殊的组合,但也可制造其他不同的组合而为相应的实施例提供不同的变化。
此外,本发明并不仅限于上述的实施例,但对本发明所作的不同的变化和变更应不脱离本发明的范围。
本申请是以1999年12月20日在日本专利申请的日本优先申请号为No.11-360369的申请为基础的,上述申请的全部内容在此作为参考使用。
权利要求
1.一种进行文献检索的方法,包括如下步骤将一个查询字符串分解为部分字符串;从已记录的文献中选择一篇或多篇文献,所选择的一篇或多篇文献均包含有所有的部分字符串;计算对于一篇或多篇文献中每篇文献的部分字符串的相应的分数;和计算对于一篇或多篇文献中每篇文献的各个部分字符串的相应分数中查询的字符串的分数。
2.如权利要求1所述的方法,其特征在于所述的分解步骤将查询字符串分解为相互邻近重叠的部分字符串。
3.如权利要求1所述的方法,其特征在于所述的分解步骤将查询字符串分解为部分字符串,所述的部分字符串通常不重叠且能覆盖查询字符串的整个长度。
4.如权利要求1所述的方法,其特征在于所述计算部分字符串的相应的分数的步骤包括得到用来指示已记录文献的数量的第一计数,所述的已记录的文献包含有给定的部分字符串之一;得到用来指示给定的部分字符串之一在给定的一篇或多篇文献之一中出现的次数的第二计数;根据第一计数和第二计数,得到对于一篇或多篇文献的给定那篇文献的各个部分字符串的给定那个部分字符串的分数,所述各个部分字符串中的那个给定的部分字符串的分数随着第一计数的减小和第二计数的增加而增加。
5.根据权利要求1所述的方法,其特征在于所述计算部分字符串的相应的分数的步骤包括得到用来指示已记录文献的数量的第一计数,所述的已记录的文献包含有给定的部分字符串之一;得到用来指示相应的部分字符串之一在给定的一篇或多篇文献之一中出现的次数的第二计数;得到一个最小的第二计数;根据第一个计数和第二个计数的最小值,得到对于一篇或多篇文献的给定那篇文献的各个部分字符串的给定一篇的分数,所述各个部分字符串中的给定的那篇的分数随着第一计数的减小和第二计数的最小值的增加而增加。
6.根据权利要求1所述的方法,其特征在于所述计算部分字符串的相应的分数的步骤如下得到用来指示已记录文献的数量的第一计数,所述的已记录的文献包含有给定的部分字符串之一;得到用来指示查询字符串在给定的一篇或多篇文献之一中出现的次数的第二计数;对于来自于第一计数和第二计数的一篇或多篇文献之一来说,得到给定部分字符串之一的一个分数,所述给定部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
7.根据权利要求6所述的方法,其特征在于所述得到第二计数的步骤还包括一个为第二计数设置一个上限的步骤。
8.根据权利要求1所述的方法,其特征在于利用选择一篇或多篇文献的步骤选择的一篇或多篇文献均包括查询字符串,所述计算部分字符串的相应分数的步骤如下得到用来指示已记录文献的数量的第一计数,所述的已记录的文献包含有查询字符串;得到用来指示给定的部分字符串之一在给定的一篇或多篇文献之一中出现的次数的第二计数;对于来自于第一计数和第二计数的一篇或多篇文献之一来说,得到给定部分字符串之一的一个分数,所述给定部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
9.根据权利要求1所述的方法,其特征在于利用选择一篇或多篇文献的步骤选择的一篇或多篇文献均包括查询字符串,所述计算部分字符串的相应分数的步骤如下得到用来指示已记录文献的数量的第一计数,所述的已记录的文献包含有查询字符串;从第一计数中计算出一个界限;得到用来指示查询字符串在给定的一篇或多篇文献之一中出现的次数的第二计数,同时将第二计数的上端限定至所述的界限;对于来自于第一计数和第二计数的一篇或多篇文献之一来说,得到给定部分字符串之一的一个分数,所述给定部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
10.一种进行文献检索的方法,包括如下步骤为文献提供相应的目录,在每个相应的目录中列举出在相应的文献中发现的部分字符串及所述的部分字符串在相应文献中的相应的位置。选择出部分字符串,所述的部分字符串以与查询字符串相一致的一个字符串开始;从文献中选择一篇或多篇文献,所选择的一篇或多篇文献均包含有至少所选择的部分字符串之一;计算对于一篇或多篇文献中的每篇文献的选定的各个部分字符串的相应的分数;根据对于一篇或多篇文献中的每篇文献选择的各个字符串的相应分数,计算一个查询字符串的分数。
11.根据权利要求10所述的方法,其特征在于所述计算所选择的部分字符串的相应的分数的步骤包括以下几个步骤得到用来指示已记录文献的数量的第一计数,所述的已记录的文献包含有给定的所选择的部分字符串之一;得到用来指示给定的所选择的部分字符串之一在给定的一篇或多篇文献之一中出现的次数的第二计数;对于来自于第一计数和第二计数的一篇或多篇文献之一来说,得到给定部分字符串之一的一个分数,所述给定部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
12.根据权利要求10所述的方法,其特征在于所述计算所选择的部分字符串的相应的分数的步骤包括以下几个步骤得到用来指示已记录文献的数量的第一计数,所述的已记录的文献包含有所选择的给定的部分字符串之一;得到用来指示查询字符串在给定的一篇或多篇文献之一中出现的次数的第二计数;根据第一计数和第二计数得到对于一篇或多篇文献的给定的那篇的各个选定的部分字符串的给定的那个部分字符串的分数,所述各个选定的部分字符串中的那个给定的部分字符串的分数随着第一个计数的减小和第二计数的增加而增加。
13.一种用于文献检索的装置,该装置包括一个分解单元,所述分解单元将一个查询字符串分解为部分字符串;一个文献选择单元,所述文献选择单元从多篇文献中选择一篇或多篇文献,所选择的一篇或多篇文献中均包含有所有的部分字符串;一个分数计算单元,所述分数计算单元用来计算一篇或多篇文献中的每篇文献中的部分字符串的相应的分数,此外,该计算单元还用来计算查询字符串的分数,所述查询字符串的分数来自于一篇或多篇文献中的每篇文献中部分字符串的相应的分数。
14.根据权利要求13所述的装置,其特征在于所述分解单元将查询字符串分解为相互邻近重叠的部分字符串。
15.根据权利要求14所述的装置,该装置还包括一个用来选择部分字符串的部分字符串选择单元,所述所选择的字符串通常不重叠且覆盖查询字符串的整个长度,被选择的部分字符串然后被用来计算所选择的部分字符串的相应的分数。
16.根据权利要求13所述的装置,其特征在于所述分数计算单元包括用来得到第一计数的装置,所述第一计数用来指示包括有一个给定的字部分符串之一的已记录文献的数目;用来得到第二计数的装置,所述第二计数用来指示给定的部分字符串之一在给定的一篇或多篇文献之一中出现的次数;用于从第一计数和第二个计数得到用于一篇或多篇文献中的给定的那篇的各个字符串中的给定的部分字符串的分数的装置,所述各个部分字符串中的给定的那个部分字符串的分数随着第一计数的减少和第二个计数的增加而增加。
17.根据权利要求13所述的装置,其特征在于所述分数计算单元包括用来得到第一计数的装置,所述第一计数用来指示包括有一个给定的部分字符串之一的已记录文献的数目;用来得到第二计数的装置,所述第二计数均用来指示相应的部分字符串之一在给定的一篇或多篇文献之一中出现的次数;用来得到第二计数的最小值的装置;用于从第一计数和第二计数的最小值,得到用于一篇或多篇文献的给定的一篇的各个部分字符串的给定那个部分字符串的分数的装置,所述各个部分字符串中的给定那个部分字符串的分数随着第一计数的减小和第二计数的最小值的增加而增加。
18.根据权利要求13所述的装置,其特征在于所述分数计算单元包括用来得到第一计数的装置,所述第一计数用来指示包括有给定的部分字符串之一的已记录文献的数目;用来得第二计数的装置到所述第二计数用来指示查询字符串在给定的一篇或多篇文献之一中出现的次数;用来得到根据第一和第二个计数,给定的一篇或多篇文献之一中的给定的部分字符串之一的分数的装置,这样,所给定的部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
19.根据权利要求18所述的装置,其特征在于所述得到第二计数的装置还包括用来对第二计数设置上限的装置。
20.根据权利要求13所述的装置,其特征在于所述文献选择单元选择一篇或多篇文献,所选择的一篇或多篇文献均包括查询字符串,所述的分数计算单元包括用来得到第一计数的装置,所述第一计数用来指示包括有查询字符串的已记录文献的数目;用来得到第二计数的装置,所述第二计数用来指示给定的部分符串之一在给定的一篇或多篇文献之一中出现的次数;用来得到给定的一篇或多篇文献之一中的给定的部分字符串之一的分数的装置,所述的一篇或多篇文献来自于第一计数和第一计数,这样,所给定的部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
21.根据权利要求13所述的装置,其特征在于所述文献选择单元选择一篇或多篇文献,所选择的一篇或多篇文献均包含有查询字符串,所述的分数计算单元包括用来得到第一计数的装置,所述第一计数用来指示包括有查询字符串的已记录文献的数目;用来计算来自于第一计数的界限的装置;用来得到第二计数的装置,所述第二计数用来指示查询字符串在给定的一篇或多篇文献之一中出现的次数,同时将第二计数的上端限定至所述的界限;用来得到给定的一篇或多篇文献之一中的给定的部分字符串之一的分数的装置,所述的一篇或多篇文献来自于第一计数和第一计数,这样,所给定的部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
22.一种进行文献检索所用的装置,该装置包括一个文本分解单元,该单元为文献提供相应的目录,所述的每个相应的目录均列举出在相应的文献中发现的部分字符串及发现的部分字符串在相应的文献中的相应的位置,所述文本分解单元选择起始字符串与查询字符串一致的部分字符串;一个文献选择单元,所述文献选择单元从文献中选择出一篇或多篇文献,这样所选出的一篇或多篇文献均包含有至少所选择的部分字符串之一;一个分数计算单元,所述分数计算单元用来计算一篇或多篇文献中的每篇文献中所选择的部分字符串的相应的分数,该单元还包括用来计算来自于一篇或多篇文献中的每一篇文献的所选择的部分字符串的相应的分数的查询字符串的分数。
23.根据权利要求22所述的装置,其特征在于所述分数计算单元包括用来得到第一计数的装置,所述第一计数用来指示包括有一个给定的部分符串之一的已记录文献的数目;用来得到第二计数的装置,所述第二计数用来指示给定的部分字符串之一在给定的一篇或多篇文献之一中出现的次数;用来得到给定的一篇或多篇文献之一中的给定的部分字符串之一的分数的装置,所述的一篇或多篇文献来自于第一计数和第一计数,这样,所给定的部分字符串一的分数随着第一计数的减小和第二计数的增加而增加。
24.根据权利要求22所述的装置,其特征在于所述分数计算单元包括用来得到第一计数的装置,所述第一计数用来指示包括有所选择的部分字符串之一的已记录文献的数目;用来得到第二计数的装置,所述第二计数用来指示查询字符串在给定的一篇或多篇文献之一中出现的次数;用来得到给定的一篇或多篇文献之一中的给定的部分字符串之一的分数的装置,所述的一篇或多篇文献来自于第一计数和第一计数,这样,所给定的部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
25.一种具有具体的程序而可由计算机认读的记录媒体,所述程序可使计算机进行文献检索,所述程序包括一个将查询字符串分解为部分字符串的分解编码单元;一个文献选择编码单元,该单元从多篇已记录的文献中选择出一篇或多篇文献,这样所选择的一篇或多篇文献中均包含有所有的部分字符串;一个分数计算编码单元,该单元用来计算一篇或多篇文献中的每一篇中的部分字符串的相应的分数,该单元还可用来计算来自于一篇或多篇文献中每一篇中的部分字符串的相应的分数的查询字符串的分数。
26.根据权利要求25所述的可由计算机认读的记录媒介,其特征在于所述分解编码单元将查询字符串分解为相互邻近重叠的部分字符串。
27.根据权利要求26所述的可由计算机认读的记录媒介,其特征在于所述的程序还包括一个部分字符串选择编码单元,该单元用来选择通常不重叠且覆盖查询字符串的整个长度的部分字符串,被选择的部分字符串然后被用来计算被选择的部分字符串的相应的分数。
28.根据权利要求25所述的可由计算机认读的记录媒介,其特征在于所述的分数计算编码单元包括用来得到第一计数的编码装置,所述第一计数用来指示包括有所选择的部分字符串之一的已记录文献的数目;用来得到第二计数的编码装置,所述第二计数用来指示给定的部分字符串之一在给定的一篇或多篇文献之一中出现的次数;用来得到给定的一篇或多篇文献之一中的给定的部分字符串之一的分数的编码装置,所述的一篇或多篇文献来自于第一计数和第一计数,这样,所给定的部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
29.根据权利要求25所述的可由计算机认读的记录媒介,其特征在于所述的分数计算机编码单元包括用来得到第一计数的编码装置,所述第一计数用来指示包括有部分符串之一的已记录文献的数目;用来得到第二计数的编码装置,所述第二计数中的每个数字均用来指示相应的部分字符串之一在给定的一篇或多篇文献之一中出现的次数;用来得到所述第二计数的最小值的编码装置;用于根据第一计数和第二计数的最小值得到用于一篇或多篇文献的给定的那篇的各个部分字符串的给定那个字符串的分数的编码装置,所述各个部分字符串的给定的那个的分数随着第一计数的减小和第二计数的最小值的增加而增加。
30.根据权利要求25所述的可由计算机认读的记录媒介,其特征在于所述的分数计算编码单元包括用来得到第一计数的编码装置,所述第一计数用来指示包括有给定的部分符串之一的已记录文献的数目;用来得到第二计数的编码装置,所述第二计数用来指示查询字符串在给定的一篇或多篇文献之一中出现的次数;用来得到给定的一篇或多篇文献之一中的给定的部分字符串之一的分数的编码装置,所述的一篇或多篇文献来自于第一计数和第一计数,这样,所给定的部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
31.根据权利要求30所述的可由计算机认读的记录媒介,其特征在于所述的用来得到第二计数的编码单元还包括为第二计数设置一个上限的编码装置。
32.根据权利要求25所述的装置,其特征在于所述的文献选择编码单元用来选择一篇或多篇文献,所选择的一篇或多篇文献中的每一篇文献中均包含有查询字符串,所述的分数计算单元包括用来得到第一计数的编码装置,所述第一计数用来指示包括有给定的部分字符串之一的已记录文献的数目;用来得到第二计数的编码装置,所述第二计数用来指示给定的部分字符串之一在给定的一篇或多篇文献之一中出现的次数;用来得到给定的一篇或多篇文献之一中的给定的部分字符串之一的分数的编码装置,所述的一篇或多篇文献来自于第一计数和第一计数,这样,所给定的部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
33.根据权利要求25所述的可由计算机认读的记录媒介,其特征在于所述的文献选择编码单元用来选择一篇或多篇文献,所选择的一篇或多篇文献中的每一篇文献中均包含有查询字符串,所述的分数计算单元包括用来得到第一计数的编码装置,所述第一计数用来指示包括有查询字符串的已记录文献的数目;用来计算来自于第一计数的界限的编码装置;用来得到第二计数的编码装置,所述第二计数用来指示查询字符串在给定的一篇或多篇文献之一中出现的次数,同时将第二计数的上端限定在所述的界限;用来得到给定的一篇或多篇文献之一中的给定的部分字符串之一的分数的编码装置,所述的一篇或多篇文献来自于第一计数和第一计数,这样,所给定的部分字符串之一的分数随着第一计数的减小和第二计数的增加而增加。
34.一种具有具体程序的可由计算机认读的记录媒介,所述程序可使计算机进行文献检索,所述程序包括一个文本分解编码单元,该单元为文献提供相应的索引,所述的每个相应的索引均列举出在相应的文献中发现的部分字符串及发现的部分字符串在相应的文献中的相应的位置,所述文本分解单元选择起始字符串与查询字符串一致的部分字符串;一个文献选择编码单元,所述文献选择单元从文献中选择出一篇或多篇文献,这样所选出的一篇或多篇文献均包含有至少一个所选择的部分字符串;一个分数计算编码单元,所述分数计算单元用来计算一篇或多篇文献中的每篇文献中所选择的部分字符串的相应的分数,该单元还包括用来计算来自于一篇或多篇文献中的每一篇文献的所选择的部分字符串的相应的分数的查询字符串的分数。
35.根据权利要求34所述的可由计算机认读的记录媒介,其特征在于所述分数计算编码单元包括用来得到第一计数的编码装置,所述第一计数用来指示包括有一个给定的部分字符串之一的已记录文献的数目;用来得到第二计数的编码装置,所述第二计数用来指示给定的所选择的部分字符串之一在给定的一篇或多篇文献之一中出现的次数;用于根据第一计数和第二计数得到用于一篇或多篇文献的给定一篇的各个部分字符串的给定那个字符串的分数的编码装置,以便使各个部分字符串的给定那个部分那个字符串的分数随着第一计数的减小和第二计数的增加而增加。
36.根据权利要求34所述的可由计算机认读的记录媒介,其特征在于所述分数计算编码单元包括用来得到第一计数的编码装置,所述第一计数用来指示包括有一个给定的所选择的部分字符串之一的已记录文献的数目;用来得到第二计数的编码装置,所述第二计数用来指示查询字符串在给定的一篇或多篇文献之一中出现的次数;用来得到给定的一篇或多篇文献之一中的给定的部分字符串之一的分数的编码装置,所述的一篇或多篇文献来自于第一计数和第一计数,这样,所给定的部分字符串一的分数随着第一计数的减小和第二计数的增加而增加。
全文摘要
一种进行文献检索的方法包括如下步骤:将一个查询字符串分解为部分字符串;从大量已记录的文献中选择一篇或多篇文献,这样所选择的一篇或多篇文献中的每一篇文献均包含有所有的部分字符串;计算一篇或多篇文献中的每一篇文献中的部分字符串的相应的分数;计算来自于一篇或多篇文献中的每一篇文献中的部分字符串的相应的分数的查询字符串的相应的分数。
文档编号G06F17/30GK1277398SQ00122538
公开日2000年12月20日 申请日期2000年6月9日 优先权日1999年6月9日
发明者小川泰嗣 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1