文档管理方法和装置以及文档搜索方法和装置的制作方法

文档序号:6556678阅读:160来源:国知局
专利名称:文档管理方法和装置以及文档搜索方法和装置的制作方法
技术领域
本发明涉及用于有效地管理登录的文档以搜索保存在存储器中的大量文档中与检索关键字匹配的文档的文档管理方法,用于搜索文档的文档搜索方法,以及有效管理文档的文档管理系统。
背景技术
已知一种索引生成方法,用于在保存文档数据到存储器中时生成索引,以便当从大量保存在数据库中的一组文档数据中搜索与搜索关键字匹配的文档数据时加速检索。一种用于以文档数据中的连续N个字符为单位编制N字符索引的方法是已知的。这被称作N-Gram索引系统。N表示大于1的整数,对于日文文献来说,常规的是以N=2(双Gram)为单位来剪辑Gram。对于英文文献来说,通常是以N=3以上为单位来剪辑Gram。在例如N=2的情况下,字符串例如“XMLデ一タベ一ス”被剪辑成”XM”,”ML”,”Lデ”,”デ一”,”一タ”,”タベ”,”ベ一”,”一ス”。在检索文档数据组时,使用从检索关键字剪辑的Gram作为索引进行搜索。
该N-Gram索引系统不需要依赖于语言的词典,并且便于多语种应用。其对于没有任何词汇分隔符(例如空格)的日语和汉语来说特别有用。如果利用与偏移量(文档数据中Gram出现的位置)合并的Gram进行检索,则可以减少搜索损耗。
虽然具有这种优点,但是N-Gram索引系统具有相对于Gram的大小(N的大小)而折衷的问题。换句话说,如果N的大小增加,就要精拣对应于作为索引的Gram的文档数据的候选,从而提高检索速度。Gram信息区(存储器中用于存储有关Gram的信息的区域)呈指数增长。相反,如果N的大小减少,就要增加对应于Gram的文档数据的候选数目。因此,用于调配位置的次数增加,从而增加搜索时间。此外,如果N的大小增加,索引的类型数目(Gram类)也增加。当从例如N=2的日文文献中提取索引时,出现多于3M字节的Gram类。因此,当N增加大于2时,很明显索引数据的大小会进一步增加。
针对有关N的大小的折衷问题,日本专利公开No.2000-57151提供了一种为了增加搜索速度并抑制索引数据大小的增长到最小而增加N的大小的方法。换句话说,通过对应于检索项的子串的索引,提取使位置关系作为检索项子串的文本数据的位置信息,并且将与该文本数据子串对应的索引的大小与预定的参考索引大小进行比较。当该索引的大小大于参考索引的大小时,确定是否与该索引对应的子串最可能被搜索。当其最可能被搜索时,通过添加字符串到所述子串中获得扩展字符串,并生成对应于该扩展字符串的索引。
根据日本专利公开No.2000-57151,如果N的大小增加,则当给出较长的搜索关键字时,Gram类的数目可以减少。然而,要精确地设置用于确定是否最有可能搜索对应于该索引的字符串以及有效的增加N的大小是困难的。因此,存在缩短登录和检索文档的时间的限制。

发明内容
本发明的目的是提供一种能够实现缩短登录和搜索文档的时间、同时使用N-Gram索引系统的文档管理方法,使用N-Gram索引系统的文档检索方法,及其文档管理系统。
本发明的一个方面提供了一种用于管理存储在存储单元的文档数据区中的文档数据的文档管理方法,包括从文档数据移动给定字符数量的字符串并剪辑该字符串以产生管理Gram;确定该管理Gram是小于阈值的较低发生频率的第一Gram和不小于该阈值的较高发生频率的第二Gram中的一个;与通过计算第一Gram的字符串获得的Gram值相关,将第一登记(post)数据存储在存储单元的第一登记区中,该第一登记数据被配置具有指示包含第一Gram的字符串的文档数据的一组文档标识符(ID)和指示该第一Gram的字符串位置的文档内偏移量;以及与第二Gram的字符串相关,将第二登记数据存储在存储单元的第二登记区域中,该第二登记数据被配置具有指示包含第二Gram的字符串的文档数据的一组文档标识符(ID)和指示该第二Gram的字符串位置的文档内偏移量。
附图的简要说明附

图1是与本发明的实施例有关的文档管理系统的框图。
附图2是表示根据附图1的集成Gram信息区和集成Gram登记区的配置示例的示意图。
附图3是表示根据附图1的普通Gram信息区和普通Gram登记区的配置示例的示意图。
附图4是指示使用文档数量作为参数的Gram的顺序与发生频率之间的关系的示意图。
附图5是表示在所述实施例中文档登录处理的示意过程的流程图。
附图6是表示根据附图5的索引登录处理的过程流程图。
附图7是表示将要新存储在数据文件中的文档数据的示例图。
附图8是表示当最初输入附图7中的文档数据时,集成Gram信息区和集成Gram登记区的内容示例图。
附图9是表示当最初输入附图7中的文档数据时,普通Gram信息区和普通Gram登记区的内容示例图。
附图10是表示当再次输入附图7中的文档数据时,集成Gram信息区和集成Gram登记区的内容示例图。
附图11是表示当再次输入附图7中的文档数据时,普通Gram信息区和普通Gram登记区的内容示例图。
附图12是表示在所述实施例中文档检索处理的过程流程图。
附图13是表示在所述实施例中文档检索处理的索引扫描处理的过程流程图。
附图14是表示在所述实施例中文档检索处理的一个具体例子的示意图。
具体实施例方式
下面将参照附图对本发明的实施例进行描述。
<文档管理系统的总体配置>
如附图1所示,有关本发明的实施例的文档管理系统包括客户机11和服务器12。客户机11例如是个人计算机。服务器12访问作为外部存储单元的数据文件13以登录和搜索文档。换句话说,由客户机11输入的文档数据和索引数据在登录该文档时被存储在数据文件13中。假定当搜索文档时,存储在数据文件13中的一组文档数据是将被搜索的对象。使用N-Gram作为索引搜索包含由客户机11指定的字符串构成的检索关键字(被称为检索项)的文档。客户机11、服务器12和数据文件13通过网络14(例如互联网)连接。服务器12和数据文件13可以直接相互连接。
客户机11发布集成参数设置、文档登录和利用索引的文档搜索三个请求。服务器12通过输入输出接口20接收请求并处理这些请求,并将结果返回给客户机11。在文档登录请求的情况下,从客户机11发送至服务器12的数据为文档数据。在文档搜索请求的情况下,从客户机11发送至服务器12的数据为检索关键字。服务器12具有集成参数设置单元21、文档登录单元22和索引检索单元23三个大的处理器。
数据文件13包括集成参数区31、索引数据区32和文档数据区37。索引数据区32包括集成Gram信息区33、普通Gram信息区34、集成Gram登记(post)区35和普通Gram登记区36。后面将对这些区进行详细说明。
<服务器>
下面对服务器12进行详细说明。集成参数设置单元21设置集成参数,用于管理小至不会对搜索造成影响之范围的频率的Gram,以便减少表观的Gram类的数目。以下将对集成参数的一个具体例子进行描述。
文档登录单元22访问Gram确定单元24、集成Gram登录单元25,以及普通Gram登录单元26以记录文档。Gram确定单元24确定从客户机11发送的文档数据剪辑的Gram(被称为管理Gram)是集成Gram还是普通Gram。正如以下详细描述的,集成Gram是小于阈值的较低发生频率的Gram,普通Gram是除集成Gram以外不小于该阈值的较高发生频率的Gram。
在登录文档时,如果Gram确定单元24的确定结果为集成Gram,则通过集成Gram登录器25从文档数据计算对应于该集成Gram的登记数据,并存储在数据文件13的集成Gram登记区34中。如果Gram确定单元24的确定结果为除集成Gram之外的Gram,即普通Gram,则通过普通Gram登录器26从文档数据计算对应于普通Gram的登记数据,并存储在数据文件13的普通Gram登记区35中。
登记数据是字符串的一组文件内偏移量和指示包含Gram字符串的文档数据的文档标识符(ID)。文档ID是用于唯一地标识存储在文档数据区37中的每个文档数据的ID。文档内偏移量是指示在由对应于该文档内偏移量的文档ID表示的文档数据中产生的Gram的字符串的产生位置的信息,通常使用普通偏移量0作为起始点进行计算。
索引搜索器23访问Gram确定单元24、集成Gram扫描器27以及普通Gram扫描器28,并从数据文件13的文档数据区36中搜索与从客户机11发送的检索关键字匹配的一组文档数据。换句话说,使用从检索关键字剪辑的作为索引的Gram(被称为检索Gram)搜索文档数据区37中的文档数据。此时,Gram确定单元24确定从检索关键字剪辑的Gram是集成Gram还是普通Gram。
在搜索文档时,如果Gram确定单元24的确定结果是集成Gram,则通过集成Gram扫描器27仅扫描数据文件13中的集成Gram登记区34以读取对应于该集成Gram的登记数据组。如果Gram确定单元24的确定结果是普通Gram,则通过集成Gram扫描器27和普通Gram扫描器28扫描数据文件13中的集成Gram登记区34和普通Gram登记区35,以读取分别对应于集成Gram和普通Gram的登记数据组并合并。
索引搜索器23合并对应于从所述检索关键字剪辑的多个Grams的多个登记数据组,以获得包含该检索关键字的一组文档ID。最后索引搜索器23使用包含该检索关键字的文档ID组通过文档ID从文档数据区中提取一组文档数据,并将其发送至客户机11。
下面将参照附图2和3对索引数据区31进行描述。附图2示出了普通Gram信息区33和集成Gram登记区35的配置示例。附图3示出了Gram信息区34和普通Gram登记区36的配置示例。
有关普通Grams例如“燃料”或“电池”的信息存储在普通Gram信息区34中。有关普通Gram的信息代表指示例如普通Gram的字符串,到对应于该普通Gram的头登记块的链接以及登记发生的数目的信息。登记发生的数目表示发生在存储在文档数据区37中的文档数据组中的Gram的生成数目。
普通Gram登记区36包括多个登记块,每个块以阵列形式存储有关相同Gram的一组登记数据。该登记数据如前所述是一组文档ID和文档内偏移量。
集成Gram信息区33存储有关各种类型的集成Gram值的信息。集成Gram是通过集成小至不会对搜索造成影响的范围的发生频率的Gram获得的Gram(发生频率小于阈值的Gram,以下被称为低频Gram)。有关集成Gram值的信息是指示集成Gram值的信息和到对应于该集成Gram值的头登记块的链接的信息。
集成Gram登记区35包括多个登记块,每个登记块存储对应于相同的集成Gram值的一组登记数据。登记数据如前所述指示一组文档ID和文档内偏移量。
例如,低频Gram的最小序(V1)和初始低频Gram参考值(V2)(指示平均频率是Gram发生频率的多少倍的值,即用于计算Gram的发生频率的平均频率的倍数)被用作用于集成低频Gram以获得集成Gram的确定参考值。
假定作为当前将被确定的对象的Gram是Gram g,并且Gram g的发生频率为Oc(g)。假定当所有Gram按减小发生频率的顺序排列时,在所有Gram中Gram g的序为Rk(g)。假定Gram的平均发生频率为Oave=∑gOc(g)。如果已建立由以下不等式(1)和(2)表示的条件中的至少一个条件,则确定Gram g为集成Gram。
Rk(g)<V1 (1)Oc(g)<Oave×V2(2)参照附图4,所有Gram的发生频率在开始文档登录的初始阶段,即多个文档数据已开始被存储在文档数据区37(其中文档数量减少的区域)中的阶段是非常小的。因此,所有Gram由于公式(1)将属于附图4所示的稀少Gram区,并且被确定为集成Gram。在初始阶段时及之后的阶段(附图4中包含大量文档的区域),除了属于频繁出现区的给定数量的Gram之外的Gram由于公式(2)将属于稀少Gram区,并且被确定为集成Gram。低频Gram与高频Gram之间的差如附图4所示极大,因此相对于Gram序的发生频率以指数曲线变化。
集成Gram值是用于指定集成Gram的值,对应于配置集成Gram的Gram的字符串的哈希值,并且通过普通的哈希计算进行计算。作为一个例子,计算JIS码的和,其分别表示对应于配置集成Gram的Gram的字符串的字符。最好是,假定对此和的值V3的模为哈希值,即集成Gram值。值V3是该集成Gram的类的大小,即Gram的数量(参照附图4)。
有关本发明的文档管理系统的处理包括两个阶段文档登录处理,包含索引登录以实现使用Gram作为索引的文档搜索处理,和使用N-Gram作为索引的文档搜索处理。首先对文档登录处理进行说明。
<文档登录处理>
如附图5所示,在本实施例中的文档登录处理包括读取将被新存储在数据文件13的文档数据区37中的文档数据(步骤S101),分配文档ID给读取的文档数据(步骤S102),并将用于搜索读取的文档数据的索引数据存储在数据文件13的索引数据区33中(步骤103)。
参照附图6对索引登录处理步骤S103进行说明。在索引登录处理步骤S103中,产生一组Gram和文档内偏移量,同时逐个移动在附图5的步骤S101读取的文档数据的字符(步骤S201),并且对于步骤S201中产生的所有Gram和文档内偏移量重复步骤S202与S214之间的处理。
检查对应于在步骤S201产生的Gram的Gram是否存在于普通Gram信息区34中(步骤S203)。如果存在,则更新有关该普通Gram信息区34中的相应Gram的信息(步骤S204)。如果不存在,则将有关在步骤S201产生的Gram的信息添加到该普通Gram信息区34中(步骤S205)。
确定在步骤S201产生的Gram是否是集成Gram(步骤S206)。如果在步骤S206所产生的Gram被确定为集成Gram,则计算集成Gram值,并且将有关该集成Gram值的信息存储在集成Gram信息区33中(步骤S207)。此外,检查对应于该集成Gram登记区35中的集成Gram值的集成登记块是否可用(步骤S208)。如果该集成登记块不可用,则添加新的集成登记块(步骤S209)。
当在步骤S208中集成登记块是可用的,则添加<集成Gram,文档ID和偏移量>组到集成登记块中作为登记数据。当其不可用时,添加<集成Gram,文档ID和偏移量>组到在步骤S209添加的集成登记块中作为登记数据(步骤S210)。
如果在步骤S206中确定在步骤S201产生的Gram是除集成Gram之外的Gram,即普通Gram,则检查对应于该普通Gram值的普通登记块在普通Gram登记区36中是否可用(步骤S211)。如果该普通登记块是不可用的,则添加新的普通登记块(步骤S212)。
当在步骤S211中该普通的登记块是可用的,则添加<文档ID和文档内偏移量>组到普通登记块中作为登记数据。当其是不可用时,添加<文档ID和文档内偏移量>组到在步骤S212添加的集成登记块中作为登记数据(步骤S213)。
参照附图7-9对附图1所示的索引数据区31的具体内容进行说明。假定指示如附图7所示的字符串“燃料电池とは”的文档数据,例如存储在数据文件13中。假定文档ID105被分配给该文档数据。从字符串“燃料电池とは”中剪辑五个Gram,即“燃料”,“料电”,“电池”,“池と”和“とは”。为这些Gram产生由“Gram”<文档ID,文档内偏移量>构成的主数据。
(1)“燃料”<105,0>
(2)“料电”<105,2>
(3)“电池”<105,4>
(4)“池と”<105,6>
(5)“とは”<105,8>
当通过用于确定其是集成Gram还是普通Gram的参考值,假定这些Gram中的每个Gram都是集成Gram时,将对应于集成Gram的登记数据存储在集成Gram登记区35的集成登记块中,如附图8所示。
换句话说,如果例如计算“燃料”的哈希值,并且集成Gram值变为0,则对应于被称为“燃料”的集成Gram的登记数据<“燃料”,105,0>被存储在集成Gram值0的登记块中。类似地,如果计算例如“电池”的哈希值,并且集成Gram值变为1,则对应于被称为“nr”的集成Gram的登记数据<“电池”,105,4>被存储在集成Gram值1的登记块中。
另一方面,在此步骤中,五个Gram,即“燃料”,“料电”,“电池”,“池と”和“とは”都被确定为集成Gram,从而新的登记数据不存储在普通Gram登记区中,如附图9所示。
在一定数量文档的文档数据存储在文档数据区37中的状态下,假定字符串“燃料电池とは”的文档数据存储在文档数据区37中,如附图7所示。然后,分配不同于前一个文档ID的文档ID985给被称为“燃料电池とは”的文档数据。在此情况下,类似于前一个例子,从字符串“燃料电池とは”中剪辑五个Gram,即“燃料”,“料电”,“电池”,“池と”和“とは”,并且为这些Gram产生以下“Gram”<文档ID,文档内偏移量>。
(1)“燃料”<985,0>
(2)“料电”<985,2>
(3)“电池”<985,4>
(4)“池と”<985,6>
(5)“とは”<985,8>
通过用于确定集成Gram或普通Gram的参考值,这些Gram的Gram“燃料”及“电池”被确定为普通Gram,并且除它们之外的Gram“料电”、“池と”和“とは”被确定为集成Gram。在此情况下,对应于集成Gram的登记数据被存储在集成Gram登记区35的集成登记块中,如附图10所示。此外,对应于普通Gram的登记数据被存储在普通Gram登记区36的普通登记块中,如附图11所示。
换句话说,“料电”、“池と”和“とは”三个Gram被再次确定为集成Gram,并且将登记数据分别存储在集成Gram登记区35的对应登记块中。被确定为普通Gram的“燃料”的登记数据<985,0>和“电池”的登记数据<985,4>被分别存储在普通Gram登记区36的对应于“燃料”的登记块及其对应于“电池”的登记块中。
因此如在本实施例中所描述的,较高频登记数据的普通Gram存储在普通Gram登记区36中,并与关于存储在普通Gram信息区34中的普通Gram的信息(普通Gram的字符串)相关。至于较低频的集成Gram,登记数据存储在集成Gram登记区35中,并与存储在集成Gram信息区33中的集成Gram值相关。因此,减少Gram类的表观数量,并且可以缩短登录时间。在如附图6的步骤S208和S210中所示的集成Gram登记的附加处理中,由于只有由V3定义的类的集成登记块区域必须写入盘中,与传统的将对应于期望多于V3的所有Gram类的登记块写入盘中的技术相比,处理时间显著减少。
<文档检索处理>
参照附图12-13对本实施例中的文档检索处理进行说明。如图12所示读取检索关键字(步骤S301),并且从该检索关键字剪辑Gram以产生Gram组(步骤S302)。通过从该检索关键字重复剪辑N个字符的字符串,同时例如逐个移动所述字符来从检索关键字剪辑这些Gram。
对在步骤S302产生的Gram组中的每个Gram重复步骤S303与S308之间的处理。换句话说,首先,在“索引扫描处理中”,对在步骤S302产生的Gram组中的每个Gram,扫描索引数据区31的集成Gram登记区35和普通登记区36,以从登记块中导出登记数据组(步骤S304)。
检查在得到的登记数据中是否存在当前的登记数据组(步骤S305)。如果存在当前的登记数据组,则通过偏移量合并当前登记数据组与在步骤S304得到的登记数据组,以产生新的当前登记数据组(步骤S306)。如果不存在当前登记数据组,则步骤S304得到的登记数据组产生当前登记数据组(步骤S307)。
如果为在步骤S302产生的Gram组中的所有Gram提供当前登记数据组,则通过由当前登记数据组访问文档数据区37,得到包含检索关键字的一组文档数据(包含检索关键字的一组文档ID)(步骤S309)。
附图13示出了在附图12中的索引扫描处理步骤S305的具体过程。初始化在附图12中的步骤S304得到的登记数据组(步骤S401),并计算集成Gram值(步骤S402)。通过计算的集成Gram值访问集成Gram信息区33以得到有关集成Gram值的信息,并且通过到头登记块的链接的信息指定头登记块的位置(步骤S403)。
检查集成登记块是否存在于在步骤S403所指定的头登记块位置(步骤S404)。如果该集成登记数据在头登记块位置,则扫描集成登记块,将在附图12的步骤S304得出并在步骤S401初始化的登记数据组添加到存储在集成登记块的登记数据组中(步骤S405)。指定跟在头块位置之后的下一个登记块位置,然后所述处理返回到步骤S404(步骤S406)。重复步骤S404-S406的处理,直到在步骤404确定该集成登记块没有存在于指定的登记块位置上。
当在步骤S404确定不存在登记块时,访问普通Gram信息区34以得到有关普通Gram值的信息,并且通过到头登记块的链接的信息来指定头登记块的位置(步骤S407)。
检查普通登记块是否存在于在步骤S407指定的头登记块位置(步骤S408)。如果普通登记数据存在于头登记块位置,则扫描普通登记块。向存储在普通登记块中的登记数据组添加在附图12的步骤S304中得到的并在步骤S401初始化的登记数据组(步骤S409)。接着,指定头块位置之后的登记块位置(步骤S410),然后所述处理返回到步骤S408。重复在步骤S408中步骤S408-S410的处理,直到确定没有普通登记块存在于指定的登记块位置为止。由上述处理提供的登记数据组返回到附图12中的步骤S305(步骤S411),并且附图12中步骤S305的索引扫描处理结束。
在索引扫描处理中,步骤S402-S406的处理,即扫描集成登记块和添加集成Gram的登记组的处理被特征化。在此情况下,通过选择一个用于充分确定Gram是集成Gram还是普通Gram的参考值,可以缩短登录时间而不会延长检索时间。
参照附图14对本实施例中的文档搜索处理的具体例子进行说明。在该例子中,从检索关键词“电池とは”剪辑两个Gram“电池”和“とは”,确定这些Grams中的每个Gram是集成Gram还是普通Gram,并且扫描其中存储有适当的登记块的登记区。
由于例如“电池”被确定为普通Gram,扫描集成Gram登记区35和普通Gram登记区36。因此,提供以下登记数据组。
<…,…>,<105,4>,<…,…>,<985,4>,<…>。
另一方面,由于“とは”被确定为集成Gram,因此只扫描集成Gram登记区35。
因此,提供以下登记数据组。
<…,…>,<105,30>,<…,…>,<985,30>,<…>。
合并这两个登记数据组。由于两个字符在“电池”与“とは”之间偏离,根据登记数据<文档ID,文件内偏移量>合并其中文档内偏移量之间的差为+4的登记数据组。合并结果为<…>,<105>,<…>,<985>,<…>,并且此为文档ID列表。
通过以此方式提供的文档ID列表访问文档数据区37,从而获取包含被称为“电池とは”的检索关键字的文档数据组作为搜索结果。
根据本发明的另一个实施例,为每个集成Gram值指示存在或缺乏对应于集成Gram值的集成Gram的标记(例如比特串)存储在集成登记区中。当在文档搜索时从集成登记区读取登记数据时,可以在扫描集成登记区时检查该标记,以跳过其中没有集成Gram的集成登记区的区域。因此,可以进一步缩减检索时间。
根据本发明,与较低频率的第一Gram的Gram值相关,将登记数据存储在登记区中,并且与较高频率的第二Gram的Gram的字符串相关,将登记数据存储在登记区中。因此,减少了Gram类的表观数量,从而可以减少包含文档数据存储设备和登记数据存储器的文档登录所需的时间。
此外,通过充分地选择用于确定该Gram是第一Gram还是第二Gram的参考值,可以缩减登录时间,而不会延长检索时间。
此外,通过根据使用环境(例如,硬件存储设备,以及应用程序数据大小)调节Gram确定参数,可以在检索时间和登录时间之间提供优化平衡。
对于那些本领域技术人员来说很容易想到其他优点和修改方式。因此本发明按其广义来说并不局限于这里所示和所描述的特定内容和典型实施例。因此,在不脱离由所附权利要求书及其等效物定义的总的发明概念的精神和范围的情况下可以进行各种修改。
权利要求
1.一种文档管理方法,用于管理存储在存储单元的文档数据区中的文档数据,包括从文档数据移动给定字符数量的字符串,并剪辑该字符串以产生管理Gram;确定该管理Gram是小于阈值的较低发生频率的第一Gram和不小于该阈值的较高发生频率的第二Gram中的一个;与通过计算该第一Gram的字符串获得的Gram值相关,将第一登记数据存储在存储单元的第一登记区中,该第一登记数据被配置具有指示包含该第一Gram的字符串的文档数据的一组文档标识符(ID)和指示该第一Gram的字符串位置的文档内偏移量;以及与该第二Gram的字符串相关,将第二登记数据存储在该存储单元的第二登记区中,该第二登记数据被配置具有指示包含该第二Gram的字符串的文档数据的一组文档标识符(ID)和指示该第二Gram的字符串位置的文档内偏移量。
2.根据权利要求1所述的文档管理方法,其中所述确定包括当满足Rk(g)<V1时,确定所述管理Gram为该第一Gram,其中V1表示该管理Gram的减小发生频率的顺序中最小的序,Rk(g)表示在按减小发生频率的顺序排列的所有管理Grams中该管理Gram的序。
3.根据权利要求1所述的文档管理方法,其中所述确定包括当满足Oc(g)<Oave×V2时,确定该管理Gram为该第一Gram,其中V2表示代表在开始将文档数据存入该文档数据区的初始状态下,用于计算该第一Gram的发生频率的Gram的平均发生频率的倍数的值,Oc(g)表示该管理Gram的发生频率,并且Oave=∑gOc(g)表示该管理Gram的平均发生频率。
4.根据权利要求1所述的文档管理方法,还包括计算该第一Gram的字符串的散列值以获取Gram值。
5.根据权利要求1所述的文档管理方法,其中剪辑字符串包括从日文文档的文档数据中剪辑两个日文字符,同时以一个字符为单位移动该字符串。
6.一种文档检索方法,用于根据检索关键字搜索存储在文档数据区中的文档数据,该方法包括准备存储单元,该存储单元包含其中存储有文档数据的文档数据存储区;与通过计算第一Gram的字符串获得的Gram值相关、用于存储第一登记数据的第一登记区,该第一登记数据被配置具有指示包含该第一Gram的字符串的文档数据的一组文档标识符(ID)和指示该字符串的位置的文档内偏移量;以及与第二Gram的字符串相关、用于存储第二登记数据的第二登记区,该第二登记数据被配置具有指示包含该第二Gram的字符串的文档数据的一组文档标识符(ID)和指示该第二Gram的字符串的位置的文档内偏移量;从检索关键字移动给定字符数量的字符串,并剪辑该字符串以产生检索Gram;根据由计算该检索Gram的字符串所获得的Gram值,通过扫描该第一登记区来从该第一登记区中读取该第一登记数据;根据所述检索Gram的字符串,通过扫描该第二登记区来从该第二登记区中读取该第二登记数据;以及使用第一读取的登记数据和第二登记数据,在该文档数据区中搜索与所述检索关键字匹配的文档数据。
7.根据权利要求6所述的文档检索方法,其中,该第一登记区为每个Gram值存储指示存在或缺乏与该Gram值对应的管理Gram的标记,并且读取该第一登记数据包括在扫描该第一登记区时检查该第一登记区中的该标记,并跳过不包含该管理Gram的该第一登记区中的区域。
8.根据权利要求6所述的用于搜索日文文档的文档数据的文档检索方法,其中剪辑该字符串包括从日文文档的文档数据中剪辑两个日文字符,同时以一个字符为单位移动该字符串。
9.一种文档管理装置,包括存储单元,具有其中存储有文档数据的文档数据区;确定单元,被配置成确定管理Gram与小于阈值的较低发生频率的第一Gram和不小于该阈值的较高发生频率的第二Gram中的一个对应,该管理Gram通过从该存储单元的文档数据移动给定字符数量的字符串并剪辑该字符串而产生;第一写入单元,被配置成与通过计算该第一Gram的字符串获得的Gram值相关、在该存储单元的第一登记区中存储第一登记数据,该第一登记数据被配置具有指示包含该第一Gram的字符串的文档数据的一组文档标识符(ID)和指示该第一Gram的字符串的位置的文档内偏移量;以及第二写入单元,被配置成与该第二Gram的字符串相关、在该存储单元的第二登记区中存储第二登记数据,该第二登记数据被配置具有指示包含该第二Gram的字符串的文档数据的一组文档标识符(ID)和指示该第二Gram的字符串的位置的文档内偏移量;产生单元,被配置成通过从检索关键字移动给定字符数量的字符串并剪辑该字符串,产生检索Gram,该检索关键字用于搜索存储在该存储单元的文档数据区中的文档数据;第一读出单元,被配置成根据通过计算该检索Gram的字符串获得的Gram值,从该第一登记区中读取第一登记数据;第二读出单元,被配置成根据该检索Gram的字符串,从该第二登记区中读取第二登记数据;以及搜索单元,被配置成使用该第一登记数据和该第二登记数据,搜索该文档数据区中与该检索关键字匹配的文档数据。
10.根据权利要求9所述的文档管理装置,其中该确定单元包括被配置成当满足Rk(g)<V1时,确定该管理Gram为第一Gram的确定单元,其中V1表示在该管理Gram的减小发生频率的顺序中最小的序,Rk(g)表示在按减小发生频率的顺序排列的所有管理Gram中该管理Gram的序。
11.根据权利要求9所述的文档管理装置,其中所述确定单元包括被配置成当满足Oc(g)<Oave×V2时,确定该管理Gram为第一Gram的确定单元,其中V2表示代表在开始将该文档数据存入该文档数据区中的初始状态下,用于计算该第一Gram的发生频率的Gram的平均发生频率的倍数的值,Oc(g)表示所述管理Gram的发生频率,并且Oave=∑gOc(g)表示该管理Gram的平均发生频率。
12.根据权利要求9所述的文档管理装置,还包括被配置成计算该第一Gram的字符串的散列值以获取该Gram值的计算单元。
13.根据权利要求9所述的文档管理装置,其中所述确定单元包括被配置成从日文文档的文档数据中剪辑两个日文字符,同时以一个字符为单位移动该字符串的剪辑单元。
14.一种文档搜索装置,用于根据检索关键字搜索存储在文档数据区中的文档数据,该装置包括存储单元,包含其中存储有文档数据的文档数据存储区、第一登记区和第二登记区,其中,该第一登记区与通过计算第一Gram的字符串获得的Gram值相关、存储被配置具有指示包含该第一Gram的字符串的文档数据的一组文档标识符(ID)和指示该字符串的位置的文档内偏移量,并且该第二登记区与第二Gram的字符串相关、存储被配置具有指示包含该第二Gram的字符串的文档数据的一组文档标识符(ID)和指示该第二Gram的字符串的位置的文档内偏移量;剪辑单元,被配置成从检索关键字移动给定字符数量的字符串,并剪辑该字符串以产生检索Gram;读取单元,被配置成根据由计算所述检索Gram的字符串获得的Gram值,通过扫描该第一登记区来从该第一登记区中读取该第一登记数据;读取单元,被配置成根据所述检索Gram的字符串,通过扫描该第二登记区来从该第二登记区中读取该第二登记数据;以及搜索单元,被配置成使用该第一读取的登记数据和该第二登记数据,在该文档数据区中搜索与所述检索关键字匹配的文档数据。
15.根据权利要求14所述的文档搜索装置,其中,该第一登记区为每个Gram值存储指示存在或缺乏与该Gram值对应的管理Gram的标记,并且读取该第一登记区包括在扫描该第一登记区时检查该第一登记区中的该标记,并跳过不包含该管理Gram的该第一登记区中的区域。
16.根据权利要求14所述的搜索日文文档的文档数据的文档搜索装置,其中所述剪辑单元被配置成从日文文档的文档数据剪辑两个日文字符,同时以一个字符为单位移动该字符串。
全文摘要
一种文档管理方法,包括从文档数据移动多个字符的字符串并剪辑它,确定通过剪辑所获得的管理Gram是第一低频Gram和第二高频Gram中的一个,将第一登记数据存储在与通过计算第一Gram的字符串获得的Gram值相关的第一登记区中,该第一登记数据具有指示包含第一Gram的文档数据的一组文档标识符(ID)和指示其字符串位置的文档内偏移量,以及将第二登记数据存储在与第二Gram的字符串相关的第二登记区中,该第二登记数据具有指示包含第二Gram的文档数据的一组文档标识符(ID)和指示其字符串位置的文档内偏移量。
文档编号G06F17/30GK1831825SQ20061005474
公开日2006年9月13日 申请日期2006年3月10日 优先权日2005年3月11日
发明者服部雅一 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1