CN100454305C - 文档管理方法和装置以及文档搜索方法和装置 - Google Patents
文档管理方法和装置以及文档搜索方法和装置 Download PDFInfo
- Publication number
- CN100454305C CN100454305C CNB2006100547428A CN200610054742A CN100454305C CN 100454305 C CN100454305 C CN 100454305C CN B2006100547428 A CNB2006100547428 A CN B2006100547428A CN 200610054742 A CN200610054742 A CN 200610054742A CN 100454305 C CN100454305 C CN 100454305C
- Authority
- CN
- China
- Prior art keywords
- gram
- document
- data
- registration
- character string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
Abstract
一种文档管理方法,包括从文档数据移动多个字符的字符串并剪辑它,确定通过剪辑所获得的管理Gram是第一低频Gram和第二高频Gram中的一个,将第一登记数据存储在与通过计算第一Gram的字符串获得的Gram值相关的第一登记区中,该第一登记数据具有指示包含第一Gram的文档数据的一组文档标识符(ID)和指示其字符串位置的文档内偏移量,以及将第二登记数据存储在与第二Gram的字符串相关的第二登记区中,该第二登记数据具有指示包含第二Gram的文档数据的一组文档标识符(ID)和指示其字符串位置的文档内偏移量。
Description
技术领域
本发明涉及用于有效地管理登录的文档以搜索保存在存储器中的大量文档中与检索关键字匹配的文档的文档管理方法,用于搜索文档的文档搜索方法,以及有效管理文档的文档管理系统。
背景技术
已知一种索引生成方法,用于在保存文档数据到存储器中时生成索引,以便当从大量保存在数据库中的一组文档数据中搜索与搜索关键字匹配的文档数据时加速检索。一种用于以文档数据中的连续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中的一个,其中该较低发生频率小于阈值且该较高发生频率不小于该阈值;将第一登记(post)数据存储在存储单元的第一登记区中,其中该第一登记区与通过计算第一Gram的字符串获得的Gram值相关,该第一登记数据被配置具有一组文档标识符(ID)和文档内偏移量,该第一登记数据的一组文档标识符指示包含第一Gram的字符串的文档数据,该第一登记数据的文档内偏移量指示该第一Gram的字符串位置;以及将第二登记数据存储在存储单元的第二登记区中,其中该第二登记区与第二Gram的字符串相关,该第二登记数据被配置具有一组文档标识符(ID)和文档内偏移量,该第二登记数据的一组文档标识符指示包含第二Gram的字符串的文档数据,该第二登记数据的文档内偏移量指示该第二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登记区35中。如果Gram确定单元24的确定结果为除集成Gram之外的Gram,即普通Gram,则通过普通Gram登录器26从文档数据计算对应于普通Gram的登记数据,并存储在数据文件13的普通Gram登记区36中。
登记数据是字符串的一组文件内偏移量和指示包含Gram字符串的文档数据的文档标识符(ID)。文档ID是用于唯一地标识存储在文档数据区37中的每个文档数据的ID。文档内偏移量是指示在由对应于该文档内偏移量的文档ID表示的文档数据中产生的Gram的字符串的产生位置的信息,通常使用普通偏移量0作为起始点进行计算。
索引搜索器23访问Gram确定单元24、集成Gram扫描器27以及普通Gram扫描器28,并从数据文件13的文档数据区37中搜索与从客户机11发送的检索关键字匹配的一组文档数据。换句话说,使用从检索关键字剪辑的作为索引的Gram(被称为检索Gram)搜索文档数据区37中的文档数据。此时,Gram确定单元24确定从检索关键字剪辑的Gram是集成Gram还是普通Gram。
在搜索文档时,如果Gram确定单元24的确定结果是集成Gram,则通过集成Gram扫描器27仅扫描数据文件13中的集成Gram登记区35以读取对应于该集成Gram的登记数据组。如果Gram确定单元24的确定结果是普通Gram,则通过集成Gram扫描器27和普通Gram扫描器28扫描数据文件13中的集成Gram登记区35和普通Gram登记区36,以读取分别对应于集成Gram和普通Gram的登记数据组并合并。
索引搜索器23合并对应于从所述检索关键字剪辑的多个Grams的多个登记数据组,以获得包含该检索关键字的一组文档ID。最后索引搜索器23使用包含该检索关键字的文档ID组通过文档ID从文档数据区中提取一组文档数据,并将其发送至客户机11。
下面将参照附图2和3对索引数据区31进行描述。附图2示出了普通Gram信息区34和集成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中。假定文档ID:105被分配给该文档数据。从字符串“燃料电池とは”中剪辑五个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的文档ID:985给被称为“燃料电池とは”的文档数据。在此情况下,类似于前一个例子,从字符串“燃料电池とは”中剪辑五个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确定参数,可以在检索时间和登录时间之间提供优化平衡。
对于那些本领域技术人员来说很容易想到其他优点和修改方式。因此本发明按其广义来说并不局限于这里所示和所描述的特定内容和典型实施例。因此,在不脱离由所附权利要求书及其等效物定义的总的发明概念的精神和范围的情况下可以进行各种修改。
Claims (16)
1.一种文档管理方法,用于管理存储在存储单元的文档数据区中的文档数据,包括:
从文档数据移动给定字符数量的字符串,并剪辑该字符串以产生管理Gram;
确定该管理Gram是较低发生频率的第一Gram和较高发生频率的第二Gram中的一个,其中该较低发生频率小于阈值且该较高发生频率不小于该阈值;
将第一登记数据存储在存储单元的第一登记区中,其中该第一登记区与通过计算该第一Gram的字符串获得的Gram值相关,该第一登记数据被配置具有一组文档标识符和文档内偏移量,该第一登记数据的一组文档标识符指示包含该第一Gram的字符串的文档数据,该第一登记数据的文档内偏移量指示该第一Gram的字符串位置;以及
将第二登记数据存储在该存储单元的第二登记区中,其中该第二登记区与该第二Gram的字符串相关,该第二登记数据被配置具有一组文档标识符和文档内偏移量,该第二登记数据的一组文档标识符指示包含该第二Gram的字符串的文档数据,该第二登记数据的文档内偏移量指示该第二Gram的字符串位置。
2.根据权利要求1所述的文档管理方法,其中所述确定包括当满足Rk(g)<V1时,确定所述管理Gram为该第一Gram,
其中,g表示所述管理Gram,V1表示该管理Gram的减小发生频率的顺序中最小的序,Rk(g)表示在按减小发生频率的顺序排列的所有管理Grams中该管理Gram的序。
3.根据权利要求1所述的文档管理方法,其中所述确定包括当满足Oc(g)<Oave×V2时,确定该管理Gram为该第一Gram,
其中,g表示所述管理Gram,V2表示代表在开始将文档数据存入该文档数据区的初始状态下,用于计算该第一Gram的发生频率的Gram的平均发生频率的倍数的值,Oc(g)表示该管理Gram的发生频率,并且Oave=∑gOc(g)表示该管理Gram的平均发生频率。
4.根据权利要求1所述的文档管理方法,还包括计算该第一Gram的字符串的哈希值以获取Gram值。
5.根据权利要求1所述的文档管理方法,其中剪辑字符串包括从日文文档的文档数据中剪辑两个日文字符,同时以一个日文字符为单位移动该字符串。
6.一种文档检索方法,用于根据检索关键字搜索存储在文档数据区中的文档数据,该方法包括:
准备存储单元,该存储单元包含:其中存储有文档数据的文档数据存储区;用于存储第一登记数据的第一登记区,该第一登记区与通过计算具有小于阈值的较低发生频率的第一Gram的字符串获得的Gram值相关,该第一登记数据被配置具有一组文档标识符和文档内偏移量,该第一登记数据的一组文档标识符指示包含该第一Gram的字符串的文档数据,该第一登记数据的文档内偏移量指示该字符串的位置;以及用于存储第二登记数据的第二登记区,该第二登记区与具有不小于该阈值的较高发生频率的第二Gram的字符串相关,该第二登记数据被配置具有一组文档标识符和文档内偏移量,该第二登记数据的一组文档标识符指示包含该第二Gram的字符串的文档数据,该第二登记数据的文档内偏移量指示该第二Gram的字符串的位置;
从检索关键字移动给定字符数量的字符串,并剪辑该字符串以产生检索Gram;
根据由计算该检索Gram的字符串所获得的Gram值,通过扫描该第一登记区来从该第一登记区中读取该第一登记数据;
根据由计算该检索Gram的字符串所获得的该Gram值,通过扫描该第二登记区来从该第二登记区中读取该第二登记数据;以及
使用所读取的第一登记数据和第二登记数据,在该文档数据区中搜索与所述检索关键字匹配的文档数据。
7.根据权利要求6所述的文档检索方法,其中,该第一登记区为每个Gram值存储指示存在或缺乏与该Gram值对应的管理Gram的标记,并且读取该第一登记数据包括在扫描该第一登记区时检查该第一登记区中的该标记,并跳过该第一登记区中的不包含该管理Gram的区域。
8.根据权利要求6所述的文档检索方法,用于搜索日文文档的文档数据,其中剪辑该字符串包括从日文文档的文档数据中剪辑两个日文字符,同时以一个日文字符为单位移动该字符串。
9.一种文档管理装置,包括:
存储单元,具有其中存储有文档数据的文档数据区;
确定单元,被配置成确定管理Gram对应于较低发生频率的第一Gram和较高发生频率的第二Gram中的一个,其中该较低发生频率小于阈值且该较高发生频率不小于该阈值,该管理Gram通过从该存储单元的文档数据移动给定字符数量的字符串并剪辑该字符串而产生;
第一写入单元,被配置成在该存储单元的第一登记区中存储第一登记数据,其中该第一登记区与通过计算该第一Gram的字符串获得的Gram值相关,该第一登记数据被配置具有一组文档标识符和文档内偏移量,该第一登记数据的一组文档标识符指示包含该第一Gram的字符串的文档数据,该第一登记数据的文档内偏移量指示该第一Gram的字符串的位置;以及
第二写入单元,被配置成在该存储单元的第二登记区中存储第二登记数据,该第二登记区与该第二Gram的字符串相关,该第二登记数据被配置具有一组文档标识符和文档内偏移量,该第二登记数据的一组文档标识符指示包含该第二Gram的字符串的文档数据,该第二登记数据的文档内偏移量指示该第二Gram的字符串的位置;
产生单元,被配置成通过从检索关键字移动给定字符数量的字符串并剪辑该字符串,产生检索Gram,该检索关键字用于搜索存储在该存储单元的文档数据区中的文档数据;
第一读出单元,被配置成根据通过计算该检索Gram的字符串获得的Gram值,从该第一登记区中读取第一登记数据;
第二读出单元,被配置成根据通过计算该检索Gram的字符串获得的该Gram值,从该第二登记区中读取第二登记数据;以及
搜索单元,被配置成使用该第一登记数据和该第二登记数据,搜索该文档数据区中与该检索关键字匹配的文档数据。
10.根据权利要求9所述的文档管理装置,其中该确定单元包括被配置成当满足Rk(g)<V1时,确定该管理Gram为第一Gram的确定单元,
其中,g表示所述管理Gram,V1表示在该管理Gram的减小发生频率的顺序中最小的序,Rk(g)表示在按减小发生频率的顺序排列的所有管理Gram中该管理Gram的序。
11.根据权利要求9所述的文档管理装置,其中所述确定单元包括被配置成当满足Oc(g)<Oave×V2时,确定该管理Gram为第一Gram的确定单元,
其中,g表示所述管理Gram,V2表示代表在开始将该文档数据存入该文档数据区中的初始状态下,用于计算该第一Gram的发生频率的Gram的平均发生频率的倍数的值,Oc(g)表示所述管理Gram的发生频率,并且Oave=∑gOc(g)表示该管理Gram的平均发生频率。
12.根据权利要求9所述的文档管理装置,还包括被配置成计算该第一Gram的字符串的哈希值以获取该Gram值的计算单元。
13.根据权利要求9所述的文档管理装置,其中所述确定单元包括被配置成从日文文档的文档数据中剪辑两个日文字符,同时以一个日文字符为单位移动该字符串的剪辑单元。
14.一种文档搜索装置,用于根据检索关键字搜索存储在文档数据区中的文档数据,该装置包括:
存储单元,包含文档数据存储区、第一登记区和第二登记区,该文档数据存储区中存储有文档数据,该第一登记区与通过计算具有小于阈值的较低发生频率的第一Gram的字符串获得的Gram值相关,其存储被配置具有一组文档标识符和文档内偏移量的第一登记数据,该第一登记数据的一组文档标识符指示包含该第一Gram的字符串的文档数据,该第一登记数据的文档内偏移量指示该字符串的位置,并且该第二登记区与具有不小于阈值的较高发生频率的第二Gram的字符串相关,其存储被配置具有一组文档标识符和文档内偏移量的第二登记数据,该第二登记数据的一组文档标识符指示包含该第二Gram的字符串的文档数据,该第二登记数据的文档内偏移量指示该第二Gram的字符串的位置;
剪辑单元,被配置成从检索关键字移动给定字符数量的字符串,并剪辑该字符串以产生检索Gram;
第一读取单元,被配置成根据由计算所述检索Gram的字符串获得的Gram值,通过扫描该第一登记区来从该第一登记区中读取该第一登记数据;
第二读取单元,被配置成根据由计算所述检索Gram的字符串获得的该Gram值,通过扫描该第二登记区来从该第二登记区中读取该第二登记数据;以及
搜索单元,被配置成使用所读取的第一登记数据和第二登记数据,在该文档数据区中搜索与所述检索关键字匹配的文档数据。
15.根据权利要求14所述的文档搜索装置,其中,该第一登记区为每个Gram值存储指示存在或缺乏与该Gram值对应的管理Gram的标记,并且读取该第一登记区包括在扫描该第一登记区时检查该第一登记区中的该标记,并跳过该第一登记区中的不包含该管理Gram的区域。
16.根据权利要求14所述的文档搜索装置,用于搜索日文文档的文档数据,其中所述剪辑单元被配置成从日文文档的文档数据剪辑两个日文字符,同时以一个日文字符为单位移动该字符串。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP069823/2005 | 2005-03-11 | ||
JP2005069823A JP4314204B2 (ja) | 2005-03-11 | 2005-03-11 | 文書管理方法、システム及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1831825A CN1831825A (zh) | 2006-09-13 |
CN100454305C true CN100454305C (zh) | 2009-01-21 |
Family
ID=36972286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100547428A Active CN100454305C (zh) | 2005-03-11 | 2006-03-10 | 文档管理方法和装置以及文档搜索方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7979438B2 (zh) |
JP (1) | JP4314204B2 (zh) |
CN (1) | CN100454305C (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516130B2 (en) * | 2005-05-09 | 2009-04-07 | Trend Micro, Inc. | Matching engine with signature generation |
JP2008084132A (ja) * | 2006-09-28 | 2008-04-10 | Toshiba Corp | 文書検索装置、文書検索方法および文書検索プログラム |
IL179582A0 (en) * | 2006-11-26 | 2007-05-15 | Algotec Systems Ltd | Comparison workflow automation by registration |
US8352855B2 (en) * | 2009-01-02 | 2013-01-08 | Apple Inc. | Selection of text in an unstructured document |
JP5083367B2 (ja) * | 2010-04-27 | 2012-11-28 | カシオ計算機株式会社 | 検索装置、検索方法、ならびに、コンピュータプログラム |
JP5512489B2 (ja) * | 2010-10-27 | 2014-06-04 | 株式会社日立ソリューションズ | ファイル管理装置及びファイル管理方法 |
EP2498206A1 (en) * | 2011-03-10 | 2012-09-12 | Adalbert Gubo | Process and apparatus to control multi-step processes |
JP5737079B2 (ja) * | 2011-08-31 | 2015-06-17 | カシオ計算機株式会社 | テキスト検索装置、テキスト検索プログラム、及びテキスト検索方法 |
WO2013179348A1 (ja) * | 2012-05-31 | 2013-12-05 | 富士通株式会社 | インデックス生成プログラム及び検索プログラム |
CN104079450B (zh) * | 2014-06-23 | 2017-10-17 | 北京邮电大学 | 特征模式集生成方法及装置 |
US11188594B2 (en) * | 2018-02-07 | 2021-11-30 | Oracle International Corporation | Wildcard searches using numeric string hash |
CN112783896B (zh) * | 2021-01-12 | 2023-05-23 | 湖北宸威玺链信息技术有限公司 | 一种用于加载文件减少内存使用率的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1158460A (zh) * | 1996-12-31 | 1997-09-03 | 复旦大学 | 一种跨语种语料自动分类与检索方法 |
JP2000057151A (ja) * | 1998-08-05 | 2000-02-25 | Hitachi Ltd | 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体 |
WO2002027541A1 (en) * | 2000-08-23 | 2002-04-04 | Intel Corporation | A method and apparatus for concept-based searching across a network |
CN1402160A (zh) * | 2001-08-10 | 2003-03-12 | 株式会社理光 | 用缩减大小的索引进行文献检索 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9220404D0 (en) * | 1992-08-20 | 1992-11-11 | Nat Security Agency | Method of identifying,retrieving and sorting documents |
US5440723A (en) * | 1993-01-19 | 1995-08-08 | International Business Machines Corporation | Automatic immune system for computers and computer networks |
US5752051A (en) * | 1994-07-19 | 1998-05-12 | The United States Of America As Represented By The Secretary Of Nsa | Language-independent method of generating index terms |
US5706365A (en) * | 1995-04-10 | 1998-01-06 | Rebus Technology, Inc. | System and method for portable document indexing using n-gram word decomposition |
WO1996041281A1 (en) * | 1995-06-07 | 1996-12-19 | International Language Engineering Corporation | Machine assisted translation tools |
US6157905A (en) * | 1997-12-11 | 2000-12-05 | Microsoft Corporation | Identifying language and character set of data representing text |
US6092038A (en) * | 1998-02-05 | 2000-07-18 | International Business Machines Corporation | System and method for providing lossless compression of n-gram language models in a real-time decoder |
JP3622503B2 (ja) * | 1998-05-29 | 2005-02-23 | 株式会社日立製作所 | 特徴文字列抽出方法および装置とこれを用いた類似文書検索方法および装置並びに特徴文字列抽出プログラムを格納した記憶媒体および類似文書検索プログラムを格納した記憶媒体 |
US20030069873A1 (en) * | 1998-11-18 | 2003-04-10 | Kevin L. Fox | Multiple engine information retrieval and visualization system |
US7617176B2 (en) * | 2004-07-13 | 2009-11-10 | Microsoft Corporation | Query-based snippet clustering for search result grouping |
-
2005
- 2005-03-11 JP JP2005069823A patent/JP4314204B2/ja not_active Expired - Fee Related
-
2006
- 2006-03-10 US US11/371,947 patent/US7979438B2/en active Active
- 2006-03-10 CN CNB2006100547428A patent/CN100454305C/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1158460A (zh) * | 1996-12-31 | 1997-09-03 | 复旦大学 | 一种跨语种语料自动分类与检索方法 |
JP2000057151A (ja) * | 1998-08-05 | 2000-02-25 | Hitachi Ltd | 文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体 |
WO2002027541A1 (en) * | 2000-08-23 | 2002-04-04 | Intel Corporation | A method and apparatus for concept-based searching across a network |
CN1402160A (zh) * | 2001-08-10 | 2003-03-12 | 株式会社理光 | 用缩减大小的索引进行文献检索 |
Non-Patent Citations (4)
Title |
---|
一种基于N-Gram技术的中文文献自动分类方法. 何浩,杨海棠.情报学报,第21卷第4期. 2002 |
一种基于N-Gram技术的中文文献自动分类方法. 何浩,杨海棠.情报学报,第21卷第4期. 2002 * |
一种基于N-Gram改进的文本特征提取算法. 于津凯,王映雪,陈怀楚.图书情报工作,第48卷第8期. 2004 |
一种基于N-Gram改进的文本特征提取算法. 于津凯,王映雪,陈怀楚.图书情报工作,第48卷第8期. 2004 * |
Also Published As
Publication number | Publication date |
---|---|
JP4314204B2 (ja) | 2009-08-12 |
US7979438B2 (en) | 2011-07-12 |
CN1831825A (zh) | 2006-09-13 |
US20060206527A1 (en) | 2006-09-14 |
JP2006252324A (ja) | 2006-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100454305C (zh) | 文档管理方法和装置以及文档搜索方法和装置 | |
US11899641B2 (en) | Trie-based indices for databases | |
US9519687B2 (en) | Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices | |
US8255398B2 (en) | Compression of sorted value indexes using common prefixes | |
US8171029B2 (en) | Automatic generation of ontologies using word affinities | |
EP0764305B1 (en) | System and method for portable document indexing using n-gram word decomposition | |
US9129010B2 (en) | System and method of partitioned lexicographic search | |
CN101488147B (zh) | 用于信息搜索的设备、系统和方法 | |
US8190591B2 (en) | Bit string searching apparatus, searching method, and program | |
CN107844493B (zh) | 一种文件关联方法及系统 | |
EP2804115A1 (en) | Index scanning apparatus and index scanning method | |
CN111899821A (zh) | 处理医疗机构数据的方法、构建数据库的方法和装置 | |
CN111899822B (zh) | 医疗机构数据库构建方法、查询方法、装置、设备和介质 | |
JP5448428B2 (ja) | データ管理システム及びデータ管理方法及びデータ管理プログラム | |
CN101452459B (zh) | 利用索引查找相似翻译结果的系统及其方法 | |
CN113326363A (zh) | 搜索方法及装置、预测模型训练方法及装置、电子设备 | |
JP2009104669A (ja) | 文書検索方法、システム及びプログラム | |
CN115794861A (zh) | 基于特征摘要的离线数据查询复用方法及其应用 | |
CN114840487A (zh) | 分布式文件系统的元数据管理方法和装置 | |
US20220035792A1 (en) | Determining metadata of a dataset | |
JP3863041B2 (ja) | 文書作成システム、文書テンプレート登録装置及び方法、プログラム、並びに文書テンプレート登録データ | |
CN110347804B (zh) | 一种线性时间复杂度的敏感信息检测方法 | |
RU2669143C1 (ru) | Способ преобразования данных геоинформационных систем (гис), система для его реализации и способ поиска по сформированной этим способом базе данных | |
EP3036663B1 (en) | Thin database indexing | |
CN116258143A (zh) | 一种银行卡识别匹配方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |