CN1053852A - 目录数据库中的名字判定 - Google Patents
目录数据库中的名字判定 Download PDFInfo
- Publication number
- CN1053852A CN1053852A CN90106018A CN90106018A CN1053852A CN 1053852 A CN1053852 A CN 1053852A CN 90106018 A CN90106018 A CN 90106018A CN 90106018 A CN90106018 A CN 90106018A CN 1053852 A CN1053852 A CN 1053852A
- Authority
- CN
- China
- Prior art keywords
- name
- field
- project
- explanation
- word
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/47—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker using translators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90348—Query processing by searching ordered data, e.g. alpha-numerically ordered data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
- H04M3/4931—Directory assistance systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
说明名和项目名各有第一、第二和第三字段。说
明名以规范格式供给名字判定过程,确定一确切的匹
配分数;建立具有与说明名第一(姓)字段匹配的第一
(性)字段的所有索引项目的集合。在“姓”字段进行
初始猜测并识别姓与说明姓字段最后一字相同的所
有索引项目。而后选择说明名的第二字段并与项目
名比较。然后通过比较所选字和项目名第三字段相
同位置的字从说明名中选择第三字段。如果这些字
相匹配,过程选择说明名的第三段中的下一字并回到
开始。
Description
本发明涉及数据库中的信息的位置,更具体地说,是涉及信息的位置与信息标识符的判定的关系,例如存贮在数据库目录中的名字与由用户提供的说明的名字的关系。
数据库中的递归问题,特别是在计算机系统中实现那些递归问题,是对存贮在数据库项目中的信息专门项进行检索和定位。这种检索通常是通过建立数据库的目录来实现的,其中该目录包括了数据库项目的索引。索引本身也包含了与存贮在数据库项目中的项有关的关键字,並且对于每个关键字而言,它也包含了对应项目的数据库中的地址。用户则可以使用与项目中的给定的数据项有关的关键字来检索目录的索引以便寻找项目的地址。用于目录索引中的关键字的最普通的格式之一是对信息具有某些区分关系的名字。例如,包括一个用于判定名字的方法专利的正文的字处理文件的一个项目可以指定为名字“nameres”。然后,用户可以通过检索目录中的“nameres”来找到正文文件。
使用存贮在索引中的名字来定位数据库中的信息,本身引发了一些特殊的问题。如果用户不熟悉给定的信息项或者不熟悉起名的约定,则在索引中寻找名字时会遇到困难,且这样的索引经常是太长,而不能随机检索。而且即使用户熟悉给定数据库的项目和起名的约定,用户也经常会忘记给定项目的确切名字。因此要解决的一个问题是提供一种对用户非常“友好”的目录名字检索和判定的方法。
由人的信息目录组成的数据库大概多数是用图形描述上述问题的。例如,这样的数据库可能包含关于连到大型计算机或通信网络的人员的所有信息,加上他们的电话号码、地址、网络地址、状态等等信息。这种情况下,对数据库中的目录索引的名字进行区分或定位並且判定可能是最复杂的,它是经常用在本发明下述讨论的例证,尽管本发明並不局限于数据库的这种特殊格式或者索引起名的约定。
在先有技术中,经常使用的起名的一种方法是“描述名”,其中每个名字是由一组属性组成的。每个属性是关于数据库中目标或项目的特殊类型的一个信息,並且在给定情况下属性的特殊的“值”是由对应于数据库项目的特别的信息决定的。例如,项目的建立日期可能是目录名字的属性,而且该属性的值就是该项目建立的日期。因此,可以通过一个或几个属性值的格式,即属性类型/属性值这一对,来指定给定的“名字”。通常,属性值的格式的次序不是重要的,只是需要用户提供的是明显区分相应的数据项目所需的那么多的属性值的格式。这种方法的问题是用户不但必须熟悉组成“名字”所选择的特别的属性,而且必须得到正好同他们在名字中出现的、至少为格式的最少数的值。即如果存贮在索引中的属性值为“Kate”的话,则使用“Katy”作为属性值是不能正配的。
“别名”的名字也已经考虑成作为提供给用户表示友善的某种等级,其中名字可以通过它的属性变量来加的区分。例如,目录含有具有属性值格式的名字“CountryName=US”和StateOrProvinceName=Massachusetts”,则用户可以用别名“CountryName=US,StataOrProvince Name=Mass”或“Country Name=US,StataOrProvinceName=Ma”来定位具有那个名字的项目。
然而,这种方法具有严格的局限性,因为在这种方法中,对于每一个名字变量独立的别名项止,必须出现在目录中,而且具有多种可能复量的属性值格式将需要许多别名。这就大大地加大了目录的规模,也大大地增加了维护目录的管理开销。该问题增加了由给定名字组成的属性值格式的数量。即,支持名字所需的别名的总数为该名字中的每一个属性值格式与复量数的积。此外,给定的属性值格式可能出现在许多不同的名字中並且可能出现与其相联系的其它属性的变量集中。例如,“StataOrProvince Name=Massachusetts”可能与“Country Name=US”一起出现作为一个名字,它也可能与“Organization=HBI”一起出现作为另一个名字,因此,在这种情况下,需要六个别名来支持“StateOrProvinceName=Massachusetts”的三个变量。
当目录的名字是根据“普通名字”的使用来作为属性时,上述所讨论的问题将变得更严重。“普通名字”频繁地被定义为“在某一所定义和限制的范围内通常所知的目标的名字”。例如,如果考虑到以说英语的国家的人们的“普通名字”为基础的目录时,一个个人的名字可能由下述几部分组成:个人的称呼如先生、夫人、女士或博士,名,一个或几个中间名,姓以及代与代之间的表示方法如小……(Jr)或第二代……(II.)等。在某些说英语的有教养的地区,普通名字可能还包括头衔、授勋和授奖情况。显然,同可能用在目录中的名字中的多数其它类型的属性相比,人的普通名字可能有非常大量的复量。然而,为了使目录对“用户友善”些,当普通名字的属性的某些部分或全部没有时,该目录应该能分辨目录项目的请求;当只是提供了所提供的组成部分就足以区分该项目时,则组成部分的另一种形式或者其变形应该能接受。
该问题的重要性可以用下面的例子加以描述,如名字“Mr、Robin Lachian Mcleod BSc(hons)CEng NIEE”可能一个典型的英国名字,要是姓能足以唯一地区分这个人的话,那么该目录应该能用全部称呼,名,中间名和省咯掉的授奖部分或用现在的这些部分和其它漏掉的部分的某种组合来判定名字。如果所提供的名或中间名为全名成大写字母时,或者用混名或它的大写字母来替换名时,目录应该能判定该名字。因此,对于每种称呼和授奖情况有二个复量,对于中间名有三个复量,而对于名则有五个复量。如不考虑中间名或其大写字母作为复量,也不虑名或其大写字母作为复量,则有效复量为52个。如果在名字中间有代与代之间的表示方法,如小……或第二代……,则有104个复量。而且如果这个人有二个或多的中间名的话,(因这在英国是普通的事),那么对于每个附加的名,其复量数为原来的三倍。如果考虑到在某个期间或不考虑期间的授奖情况和其大写字母的子集,则将进一步描述普通名字判定的问题题,在某些国家中,姓是在人的名字的第一部分出现的。而在其它国家中,多个字的名如在美国Mary Ann或Billy Bob则是相当普通的;又如多个字的姓,如De Tomaso,Conan Doyle和两个组成部分,用连字符连接的姓也是相当普通的。在说西班牙的国家中,一个男人的法定的名字由名、多个中间名、父亲的姓及母亲的少女名所组成的,而母亲的少女名在普通的用法中则常常被省略掉。
只是从这个例子就显而易见,详尽地制编不管是作为别名还是作为附加的属性值的所有普通名字属性可能接受的变量的这种目录在目录的大小和维护目录所需的努力这二方面都是不切实际的。
本发明对于数据库目录中普通名字判定的方法提供了解决上述先有技术的问题和其它问题的答案。
因此,本系统的目标是通过在目录的索引中的名字项目来提供定位数据库项目的改进方法,特别适用于在名字为个人的名字系统中通过用户提供的、大大不同于在索引中所对应的格式的普通名字来进行项目定位的。
本发明可以用在具有数据库的信息处理系统和数据库中项目的索引中。本发明提供了定位说明的普通名字的方法,以便识别数据库项目与存贮在索引中的数据库项目名字。每一个说明的名字和项目名字包括第一字段、第二字段、第三字段,並且无论如何第一字段至少有一个字。在这种情况下,其中数据库项目含有关于通过普通名字来定位的人的信息,而说明的和项目名字的第一、第二、三字段则包含了关于人的相应的姓、他们的代与代之间的表示方法、授奖的称呼、他们的名、中间名和混名等。
将说明名字以称之为“普通名字”格式的规范代格式提供给名字判定过程。这是简单的、自由型式的格式,使系统承担最小的标准化。其中字段是以“(个人名)(姓),(代与授奖情况)”的顺序出现的,而个人名字段含有名、中间名和混名字,例如其中混名或许是一个补充的名。个人名和姓字段的这些字中的一个与另一个是不分开的或者相反加以识别的,而且人名和姓字段这两者都可以具有多个字。在普通名字格式中的三个字段间的唯一的分隔符是出现在姓字段与代和授奖字段之间的,並且例如可以由逗号字符代码组成。存贮在索引中的项目名最好是以类似的标准、规范化的格式存贮的,尽管本发明揭示的项目名字格式较普通名字格式有较大的结构,但是本发明的过程预见並说明了用以普通名字格式存贮在索引中的项目名字的实现的方法。项目名字的字段更容易区分,然而其中与人有关的索引项目名字除了具有普通名字属性外还有姓的属性。
按照本发明,通过决定表示说明名和项目名之间确切匹配的匹配分数和一组计数值的初始来开始名字判定过程,其中每个计数值表示说明的名字的一个字段和对应的项目名字的一个字段之间的类似性。
然后,该过程通过从说明的名字中选择第一(姓)字段,然而区分具有与说明的名字的第一(姓)字段相同的第一(姓)字段的项目名字,来建立具有与说明的字的第一(姓)字段相匹配的第一(姓)字段的所有索引项目的集合。
在这一步,该过程通过区分在说明的名字的分隔符或逗号之后的所有部分,组成第二(代与授奖)字段,然后取说明的名字的余下部分,即在说明的名字的分隔符的前面的所有部分组成第一(姓)字段的方法来选择说明的名字的姓字段。
然后,该过程选择说明的名字的姓部分处最后一个字,以致于可以在说明的名字的姓部分处识别“姓”字段和初始的“猜测”。该过程再识别所有的索引项目,这些索引项目具有下述特点:(a)索引项目的姓等于说明的名字的“姓”字段的最后一个字,或者(b)多个字的姓的最后一个字等于说明的名字的“姓”字段的最后一个字。
在索引项目具有多个字的姓的例子中,其中索引项目的姓字段中字数为n,该过程将以初始“猜测”字为结束的说明的名、字的姓字段的最后n个字与索引名字的姓字段最后n个字相比较,如果二个名字的n个字是相同的话,则将它们视同为匹配。
当已经建立了按照姓字段可能与说明的名字相匹配的索引项目的集合时,对于该集合的每个项目名字,则该过程将该项目名字的第一字段与说明的名字的第一字段加以比较。如果说明的名字和项目名字的第一字段不匹配的话,则再从该集合中选择另一项目名字。应该值得注意的是该说明的名字的“第一字段”是根据该项目名字的姓中的字数而变化的。如果该说明的名字和项目名字的第一字段匹配的话,该过程按照该匹配以在单个字的姓之间还是多个字的姓之间发生的情况,增加其相应的计数值。
然后该过程从说明的名字中选择第二(代与授奖)字段,再将说明的和项目名字的第二字段加以比较。如果在第二字段发现匹配的话,该过程再济相应的计数值增加。在这种比较中,在第二(代与授奖情况)字段中的字的次序是不重要的,即只需考虑该字段中的匹配的字段,而不是该字段中它们的次序或顺序。对于每个所发现的匹配情况,增加计数字段的值。在说明的名字和索引项目名字的第二(代与授奖)字段的所有字之间找到匹配时,增加另一计数字段,同样也不考虑字的次序。
该过程从说明的名字中选择第三(个人名)字段,並且对于说明的名字中第三字段的每个字执行以下顺序的步骤。该第三字段包含了说明的名字中姓前面的所有的字。
该过程将说明的名字中所选的字与该项目名字的第三字段中的相同位置的字加以比较。如果比较的字匹配的话,该过程增加相应的计数值,並选择该说明的名字的第三(个人名)字段的下一个字,再返回到本顺序步骤的开始处。
如果比较的字不匹配,但是该字在和说明的名字的第三字段中所选的字相比较的该项目名字的第三字段中存在的话,该过程则比较说明的名字和项目名字的第三字段中的字的大写字母。如果一个名字的第三字段中的字是其它名字的第三字段的字的缩写即大写格式的话,过程则增加其相应的计数值,再从说明的名字的第三字段选择下一个字並返回本顺序步骤的开始处。
如果在上述两个步骤中,该过程在说明的名字的第三字段中所选的字与该项目名字的第三字段中的字之间发现确切的匹配或缩写的匹配並且这是该说明的名字的第三字段中的最后一个字的话,则该过程将增加另一个计数字段的值再处理计算比较分数的最后步骤。
如果从说明的名字的第三字段中所选的字既没有找到同该项目名字的第三字段中的字确切匹配也没有找到缩写匹配的话,则发生不匹配的情况。则该过程将该项目名字从项目名字集合中删掉,再找到该集合的下一个项目名字,並对该下一个项目名字重新开始整个过程。
对于第三(个人名)字段中的另外的名字或者别名,特别是个人名的第一字的另外的格式而言,本发明的过程的另一个或者说附加的实施例也用上述顺序的步骤提供了附加的比较。例如,如果一个项目名字的第三字段含有字“Ronald”,那个字可能与它的另外的或别名的字“Ron”有关。因此,使用“Ron”这个格式的说明的名字将找不到与“Ronald”格式确切匹配的情况,也找不到与“R”格式的缩写或大写字母匹配的情况,但确实能找到与“Ron”格式相匹配。
该过程的最后一步是从上述比较的结果中按照该计数值的加奖和来决定表示该说明的名字与项目名字之间的类似程度的比较分数。在这一点上,该过程会辨认该集合中的项目名字,看它是否多半像对应的说明的名字,如果有的话。如果比较的分数等于确切匹配的分数,则系统会结束名字的判定过程並且以相应的说明的名字来提供项目名字。如果比较分数不等于确切匹配的分数,系统将记录该比较分数,並从该集合中选择另一个项目名字,再为这个项目名字重复判定过程。如果在该集合中再也没有要判定的项目名字的话,系统不管怎样也会将结束名字的制定並且至少要将多半像项目名字的相应的说明的名字提供给项目名字。
本发明的上述和其它的自的、特点和优点可以从本发明和它的实施例的下面描述,及如附图说明的那样中明显地看出。附图中:
图1为典型的目录系统的框图表示;
图2为索引的单节点的结构和格式的图示;
图3为索引的图示;
图4为目录信息库项目的图示;
图5为描述名字规范化的流程图;且
图6为描述本发明的名字判定方法的流程图。
A、目录系统10的总述(图1)
参考图1,其中给出了可以包括本发明的目录系统10的框图。由于首先给出了目录系统10来说明本发明可以实践的环境,为了不对本发明的实施例产生限定或者限制。因而对目录系统10只是在总的方面加以描述。
在目录系统10中实现的目录和如在作为标准推荐的ISO9594与CCITT X.500系列中描述的那样是一个逻辑数据库,它含有关于目标集的信息。其中每个目标可以一般地定义为存贮数据、程序的逻辑“容器”,並且总的说来,它可以存贮任意形式的信息。每个这样的目标可以通过含有那个目标的一些属性的目录项目来表示。关于这一点,目标的属性是某些定义辨别那个目标的特性;例如,一个人的某些属性可以为姓、名与中间名、地址、电话号码和生日等。实际存贮在目录项目中的是对于那个目标的那些属性的特别的值,例如,他们实际的姓、名、中间名、他们的实际地址、电话号码和生日。为了用例子加以描述,设该定的目标具有性“姓”和“个人名”,並且在那个特定的目标的情形下,那些属性的值相应可以为“Cechony”和“Gerry”。
项目存贮在目录中的目标将经常与远程通信系统如名字、地址,电话和网络位置或人数,配置,存取点,计算机系统的资源和像OSI应用程序这样的事情等有关。在上面参考的标准化文件中以它们相关的属性类型定义了可允许的目标的类型,例如,对于人的目标的等级、名字、电话号码、网络地址和人的口令等。
该目录逻辑上设计为具有层次名空间的分布式层次数据库。每个项目在该名字空间内通过相对区别名(RDN)或者由一个或几个属性类型/属性值(AVA)对组成的本地名在本地加以辨别。作为父项的子项的给定项目的RDN在那个父项的全部其它的子项中是唯一的。
一个项目也可以相对于整个名字空间通过它的区别名(DN)加以辨别。区别名总是唯一的並且区别名将它的RDN和它的上面层次的项目的全部RDN,即与在下降的直线中在它的RDN之上的所有较高层次项目的RDN相连结。
如所示那样,典型的目录系统10是由一组为用户合作执行目录服务的子系统所组成的。作为例证而言,目录系统10其中要包括一个系统用户(USER)12,他请求並接收目录服务並且与目录用户代理(DUA)14通信,例如,通过CRT显示、键盘或鼠标器。因为它的名字是隐含的,DUA14为该用户並代表该用户执行操作,包括对特别的目录用户提供对目录的存取。在这种情况下,特别的目录用户並不局限于USER12,可以为一个人,即USER12或者为一个应用程序。
例如,DUA14可以为个人计算机、工作站或者具有终端的计算机系统,且它包括了程序接口(PI)16和一个或几个应用程序(AP)18。通过程序接口(PI)16,应用程序可以去访问该目录。应用程序18本身又包括用户接口(UI)20,它接收输入命令和USER12的请求並且向USER12提供输出信号,其本身也可以和PI16及其它的AP18通信。在目前展望的目录系统10的实施例中,UI20是基于图形用户接口程序的屏幕,例如Microsft公司的窗口软件的实现或者是基于MIT的X-窗口软件的开放系统互连(OSI)的图形接口。
PI16提供了可用于满足目录有关请求的功能。在现在的具体体现中,PI16接受以标准的C经言数据类型编码的自变量格式的目录请求,並将它们转化为工业标准的抽象语法符号1(ANSI.1)编码的串。PI16以ANST.1的串的格式接收目录操作的结果,並转换为标准的C语言的数据类型,再提供给应用程序。
DUA14的PI16通过目录存取规程(DAP)24的规程和过程与目录服务代理(DSA)22通信,並且DSA22本身也执行目录、目录信息库管理和存取操作。DSA可以用通用计算机系统加以实现。正像说明的那样,DSA包括目录操作管理程序(DOM)26,它执行类似操作系统的操作、提供目录请求管理的功能和与其它DSA22的操作。
DSA22也包括了与其相联系並作为DOM26一部分的目录管理程序(DM)28,它提供了目录、数据库管理、目录存取功能,DSA22也包括了名字判定程序(NR)30,名字判定程序是本发明的一部分並且将在下面详细地加以描述。
DSA22本身也通过DOM26,DM28和NR30与实际的目录32通信。目录32包括索引34和由目录信息库项目(DIBES)38)组成的目录信息库(DIB)36。值得注意的是DIB36指的是整个总的目录並且任意单个DSA22保持的是DIB36的片断。目录32首先是具有文件管理能力的海量存贮器设施,並且可以加以实现的,例如用具有相应的磁盘驱动器的通用计算机系统或者专门的文件服务器系统加以实现,这对于那些技术上一般熟练的人通常都是知道的。
索引34包括对由DIB36组成的目录的索引,而DIB36的DIBES38本身也包含了目录项目。下面将更详细地描述这些部分的每一部分。
最后,再谈到DSA22,可以看到图1示出某些细节的DOM26通过目录服务规程(DSP)40与一个或更多的其它的DSA22通信,並且也可以看到那些其它的DSA32本身也与其它的目录32、DUA14和用户12相联系。
如上所述,在目录系统10的本具体体现中可以想象出包括目录32、DSA22、一个或更多的DUA14和多个用户12的目录系统10应该在目录系统10的较大的系统或网络中包括一个区域或节点,並对非常大的分布式数据库提供目录服务。每个区域或节点应该包括由总的数据库和目录的子集组成的,对于本地驻留和维护的数据而言的数据库和相关的目录,並且应该存贮目录项目或类似其它的区域或节点的副本。因此,对于整个系统而言,对于在系统的域或节点上的用户12可以提供目录服务。因为整个系统的DSA22通过DSP40是互连的,所以它们可以交换目录信息並提供目录服务及整个系统上的数据库存取。
B.索引34的描述(图2与图3)
参考图2和图3,其中给出了本发明现在实现的索引34的图解说明。该索引34为前缀树结构,该结构在作者为Steven P.Nickel的“具有部分树转移的前缀检索树”-美国专利申请第414,045号,1989年8月28日递交-中有更完整地描述,上述专利已转变给本专利申请的受权人。
对数据库的索引经常配置为由分支连结的一个或更多的节点组成的树。每个节点通常包括一个或更多的具有指示检索信息的转移字段,其中每个这样的转移字段通常具有一个指向另一节点的指针或转移,和一个关联的转移关键字,用以指示沿着那个节点来的转移可用来定位的信息的范围或类型。树和任意该树的检索都在叫做根节点的单节点处开始並且通过多种转移节点向下发展直到达到具有信息项的节点或更通常的是达到具有指向信息项的指针的节点为止。有关节点的信息经常叫做节点,或者因为这是检索继续失败的级别,所以也叫失败节点。值得注意的是树内任意节点为根节点的根据是所有节点要依赖于那个节点,並且树内这样的子结构常常叫做关于那个节点的子树。
在检索中要遇到的每个节点上通过比较关键字或几个关键字及存贮在节点上的转移关键字来决定按什么方向前进或转移,在检索中是否要检索整个树。比较的结果决定了下一步检索要采用悬挂在给定节点上的哪一个转移。关于这一点,检索的关键字最通常是由与要检索的信息的项或几个项有关的字符串或数字组成的。
目录系统10的现在实现的索引34建立成前缀检索树,它提供了使用与关键字有关的变长字符的密集索引结构。在任意级别上的转移是由关键字的一部分决定的,而不是由整个关键字决定的,並且树的结构是独立于建立树的次序的。
首先考虑索引34的总体结构,索引34是一个要么是空的要么是高度大于或等于1的,即有一层或几层的树,並且满足下述特点:
(ⅰ)该树的任意的节点T为下述格式和类型:
P,S,(Pi…Pp),D,((Bi,Si)…(Bs,Ss))
其中Pi,O<i≤P,表示前缀串,
记录(Tuples)(BiSi),O<i<=S,相应为T的转移字
符和子树,D为数据记录的指针;
(ⅱ)前缀(Pi…Pp)具有由T中所有的每个关键字共享的前导字符的最长的串(並且子树悬在T上);
(ⅲ)D为具有关键字长度为P的记录指针,或者如果没有这样的关键字,则D为空的。
(ⅳ)每个Bi为相异的字符(O<i<=S),它为T中的某个关键字的P+1st字符,即属于悬在T上的子树,其长度大于P;
(ⅴ)Bi<Bi+1,O<i<S
(ⅵ)每个Si为悬在T上的前缀检索树的指针;並且
(ⅶ)从T中的关键字集合中组成由Si(O<i<=S)访问的子树的关键字,通过除去它们初始的P+1个字符,让Bi作为它们的P+1st字符。
索引34的上述结构如图2和图3所示。根据上面给出的定义,其中图2为树44的单个节点(T)42的结构和格式的图示。如图所示,T42包括一个前缀字段(PF)46,它含有一个由悬在节点T42的每个子树的所有关键字共享的最长的字符串组成的长度为P(Pi…Pp)的前缀。T42也包括一个含有具有关键字(Pi…Pp)的数据记录指针的数据指针字段(D)48,如果有这样的关键字和数据记录的话。T42还包括一个或更多的转移字段(BFS)50,每个转移字段由用于存贮转移字符Bi的转移字符字段(BC)52和用于存贮相应的转移指针Si的转移指针字段(BP)54所组成。如上所述,每个Bi为悬在T42上的树的长度大于P的关键词的第P+1st字符,而每个相应的Si为那个子树的节点T42的指针。最后,每个节点T42可以包括P字段56和S字段58,它们分别为存贮在PF46前缀中的长度或字符数和悬在节点T42上的子树(或数据记录)数,即在节点T42中的BF50的数。尽管P字段56和S字段58不是节点T42的结构的必要部分,但是可以用这些字段来帮助目录系统10来处理节点的。即通知处理机关于在PF48中的前缀长度和转移字段50的数比让系统从PF48和BF50中提取这些信息的效率要高。
树44的某些节点可以为“叶子”节点,除了“叶子”节点没有转移字段50外,它们在结构上是与转移节点T42相同的,因为该分支是空的,但是它们确实包含了访问目录10的数据库中的数据记录的D字段48。
图3进一步描述了使用关键字值为“Btree”,“Binary”,“BinarySearch”,“Binary Tree”,“HashTable”,“HashFunction”和“HashedFile”的树44的索引34的结构。
从本例子所用的关键字的分析中显然可以看到树44具有两个悬在根节点上的分枝或子树。一个分支含有具有大写字符“B”(Btree,Binary,Binary Search和Binary Tree)的关键字的节点,另一个分支则含有具有大写字符“H”(Hash Table,HashFunction和HashedFile)的关键字的节点。因此,根节点T42A的PF46将是空的,因为在以“B”开始的关键字和以“H”开始的关键字之间没有共享的公共前缀,並且T42A的D字段48也是空的,因为没有数据记录悬在T42A上。T42A包括用于具有大写字符“B”的全部关键字的T42A子树的第一个BF50字段和用于具有大写字符“H”的那些关键字的第二个BF50字段。当考虑第一个BF50字段时,在这个字段的BC52字段的Bj字符将是字符“B”,因为“B”是T42A的相应子树的关键字的P+1st字符並且BP54字段将包括一个指向这个子树中的第一个节点T42B的Sj指针SB。T42A的第二个BF50字段为字符“H”,作为BC52字段中它的Bj,因为这是相应子树的关键字的P+1st字符,並且在BP54字段中的Sj指针为指向该子树第一个节点T42C的指针SH。T42AP字段56和S字段58分别为0和2,0表示T42A的PF46字段没有前缀字符,即为空的,而2表示T42A有两个“孩子”,即从T42A处有两个分支。
当考虑到T42B时,在具有大写字符“B”的关键字中的下一个分支将在具有“t”作为它的第二个字符的关键字“Btree”和具有“j”作为它的第二个字符(Binary,Binary Search和Binary Tree)关键字之间产生。从这个节点转移的关键字之间没有共享的公共前缀字符,因此象T42B的D字段48一样,T42B的PF46字段也为空的。T42B再有二个BF50,其第一个Bj为“j”其第二个的Bj为“t”,“j”和“t”是悬在这些分支上的子树的关键字的P+1st字符。二个相应的Sj指针分别为指向节点T42D和T42E的指针。T42B的P字段56和S字段58分别为0和2,其中0表示该PF46字段无前缀字符,而2表示T42B有两个孩子成分支。
下面再考虑T42E,该节点关系到要访问的数据记录,但是不再转移到其它节点。因此,T42E的PF50字段为空值,即该节点没有PF50字段。T42E的PF46字段为相应的数据记录的关键字的最后部分,在T42E的例子中为字符串“ree”,並且D字段48为指向数据记录的指针。P字段56和S字段58分别为3和0,3表示该PF46字段有三个字符,0表示那个叶子42E没有任何分支到子树。
下面再考虑T42D-悬在节点T42B的另一个节点,以T42D为根节点的子树含有关键字“Binary”,“Binary Search”和“Binary Tree”,其中这些关键字的前缀“B”和“j”作为前缀分别存贮在T42A和T42B的BC52字段中。对于这些关键字的余下部分-即“nary”,“narySearch”和“naryTree”-的最长的公共前缀为字符串“nary”。因此,字符串“nary”作为前缀存贮在T42D的PF46字段中。
在这个子树的第三个关键字中,所有三个关键字在“nary”之后的下一个字符是不同的,因而T42D可能有三个分支。然而,“nary”是关键字“Binary”的最后部分,因此,其结果不是转移到另一节点,关键词“Binary”的结果是在与关键字“Binary”有关的数据记录的指针中,而该指针没写到T42D的D字段48中。
然而,关键字“Binary Search”和“BinaryTree”在“nary”之后均有余下的字符串,因而其结果是从T42转移。“Binary Search”的第P+1st字符为“S”,因此“S”作为第一个BF50中的Bj出现的,同时,在BP字段54中,Sj指针Ss指向相应的节点T42F。“BinaryTree”的P+1st字符为“T”,因此“T”作为第二个BF50中的Bj出现的,同时在BP字段54中的Sj指针ST指向相应的节点T42G。T42D的P字段56和S字段58分别为4和2。其中4表示PF46字段有一个字符的字符串,而又表示从T42D处有二个分支。
分别为4和2。其中4表示PF46字段有一个4个字符的字符串,而2表示从T42D处有二个分支。
T42F和T42G在下述几方面均类似于42E:这些节点不再转移到其它节点,因而不存在BF50字段,但是在它们相应的D48字段中有指向相应的数据记录的指针。T42F的PF46字段有字符串“earch”,它是关键字“Binarg Search”的最后部分,而T42G的PF46字段有字符串“ree”,它是关键字“Binary Tree”的最后部份。T42F的P字段56为5,表示在“earch”中有5个字符,且T42G的P字段56为3,表示在“ree”中有3个字符,而每个节点的S字段58为0,表示从这些节点不再有分支。
简单参考图3的树44的右手边的子树,它由节点T42C,T42H,T42I和T42J组成,这个子树是按照上面刚叙述的相同原理建立的。包含在这个子树的关键字为“Hash Table”、“Hash Function”和“Hashed File”,并且所有关键字的字符“H”是作为T42A的相应的BF50的Bg出现的,如同前缀的P+1ST字符是在T42A的PF46中出现的那样。正如前面所述的,T42A的PT46有一个空字符串,因为在从T42上悬的两个分支之间没有公共的前缀字符串。
对于这些关键字的余下部份,即对于“ashTable”,“ashFunction”和“ashedFile”,其最长的公共前缀串为字符串“ash”,因此“ash”在T42C的PF46字符中出现。因为有三个关键字具有公共前缀串“ash”,所以从T42C中有三个分支。在除去“ash”之后,这三个关键字的余下部份的P+1ST字符分别为“F”、“T”和“e”。因此,“F”、“T”和“e”作为在T42C的BF50中的Bg出现,同时相应的Sg指针SF、ST和Se指向T42H、T42I和T42J。T42C的P字段56和S字段58分别为3和3,其中前者表示在PF46中有一个三个字符的字符串,或者表示从T42C中有三个分支。
节点T42H、T42I和42J也是“叶子”节点,在这些节点的D字段48中有指向数据记录的指针,但是不再有分支并且也没有相应的BF50字段。T42H的PF46字段有字符串“unction”,它是关键字“HashFunction”的余下部份,而T42I和T42J的PF46字段分别为“able”和“dFile”,它们为关键字“HashTable”和“HashedFile”的最后部份。这些节点的每个S字段58均为0,因为从这些节点中再也没有分支了。这些节点的P字段56分别为7、4和5,它们表示存贮在它们的PF46字段中的关键字的余下部份的字符数。
为了检索索引34中任意给定的关键字值,系统10在根节点开始检索,并且通过索引34,一个节点接着一个节点继续进行,直到检索达到一个失败节点,即对于所检索的关键字没有达到正配的节点,或者直到通过找到该关键字所对应的数据记录使检索成功为止。
在每个节点中,系统要比较长度或字符数为K的检索关键字(K)和长度为P、存贮在该节点的PF46中的前缀字符串(P)以决定该前缀是否至少和该检索关键字的大写字符相正配,即对于所有i<=P时,决定是否K>=P和Ki=Pi。关于这一点,值得注意的是如果前缀P=0或者检索关键字K=0,即如果两者之一为空字符串,则认为没有要检索的关键字符和前缀字符是匹配的。
如果对于检索关键字字符串的至少某个大写部份找不到匹配的话则在该节点中设有该关键字的值并且该检索已经失败。如果检索关键字K和前缀P之间为完全匹配的话,即P=K,则存贮在该节点的D字段48的指针指向相应的数据记录。
如果长度为P的前缀字符串与检索关键字字符串的开始P个字符匹配的话,则系统检索BF50的BC52字段的Bg,以便找到与关键字K(KP+1)的第P+1ST字符相匹配的Bj。如果该检索没有找到Bj=KP+1,则在该节点中设有该关键字值且该检索已经失败。
如果该检索发现Bj=KP+1的话,则该检索沿着相关的Sj指针指向对应的下一个节点並继续检索,直到检索到达没有发现前缀与另一节点相匹配的分支为止,则检索失败;或者直到检索到达一个具有匹配前缀和指向数据项的指针的节点为止。应该记住,对于树中的每个随后节点的前缀,在除去已经包括在上一个节点的前缀中的前导前缀字符之后,由关键字的余下部份的最长的公共前缀串组成的。同样,用于检索树的下一个节点的关键字具有新的关键字值KP+2…Kk,即它是在除去与上一个节点中前缀相匹配的前导关键字字符和Bg字符之后,由该检索关键字的余下部份组成的。
因此,索引34的树结构适用于层次名字的判定,其中每个通过树传下来的连续的节点是由叫做相对识别名字(RDN)的前缀加以识别的,並且其中该节点的识别名字(DN)将它的RDN与它上面节点的所有RDN或前缀相连接。当然,节点的相对识别名字和识别名字是DIB36中的那些任意对应的目条项目(DIBES38)而且通过节点的D字段48的内容来指向这些目条项目的。
因而,正如以前描述的那样,节点中的每个前缀是由组成它的相对识别名字的一个或更多的AVA/,即属性类型/属性值对所组成。也正如所述的那样,给定节点的识别名字和它的在DLB36中的对应的DIBE38可以通过将所有上面节点的RDN与给定节点的RDN相连接来建立的。
总的来说,索引34的检索是在根节点开始的,并且通过不同的分支节点向下进行的,直到遇到有信息项的节点或者更通常的是遇到有指向信息项的指针的节点为止。在每个节点中,要判定由驻留在该节点的前缀字段46中的RDN所组成的AVA,或者将该AVA与用户提供的说明的识别名字所对应的AVA相比较,以便决定检索是否应该继续到另一节点及哪一个节点或者检索是否已经最后判定所说明的判别名字。如果用节点的识别名字成功地判定所说明的识别名字,则那个节点的D字段48的内容将指向具有那个识别名字的DIBE38。
C目录信息库(DIB)36(图4)
参考图4,图4是目录信息库项目(DIBE)38的图形表示正如上面刚描述的那样,每个驻留在目录32中的识别名字在索引34中有其对应的叶子节点,並在DIB36中也有其对应的DIBE38。正如下面所述那样,由驻留在叶子节点42的D字段48中的目录信息库头标(DIB头标)60区分并指向具有信息请求的DIBE38。
除了具有一组指向DIBE38的其它元素的指针的目录信息库头标(DIB头标)60外,DIBE38还可能包括访问块62和接收块64,並且包括RDN头标块66,项目头标块68和组成实际目录项目的项目数据块70。在组成本发明的系统的本具体实现中这些部分是包括在存贮在目录32数据库中的单个文件中。
每个DIB头标60有一个信息屏蔽字段72,它具有用于存贮信息的字段,对于相关的识别名字而言,该存贮信息可用于区分信息的类型或者存贮在DIBE60的数据。这样的信息可以包括,例如,数据是否为目录项目的主拷贝,其它的DSA22是否有该项目的拷贝或者该项目是否为由另一个DSA22保持的项目的“影子”拷贝。
取决于该项目所包含的信息的类型,DIB头标60也可能有一些其它字段。项目可能为,例如,用于“导航”的“知识参考”,即在总的DIB中定位项目。那么DIBE38会包括具有这样访问次数的计数和相应的用于记录具有这样的访问的偏移集的访问块62。然而DIB头标会有指向访问块62的访问头标字段74。
如果其它的DSA22具有该目录项目的影子拷贝的话,DIBE38会包括具有这样接收次数的计数和相应的对区分该接收的记录的偏移集的接收块64。然而DIB头标60会有指向接收块64的接收头标字段76。
DIB头标60将包括一个相对识别名字头标偏移/长度字段78,它含有RDN头标块66的目录32数据库中的地址和大小的信息。RDN头标块66又包括了AVA偏移/长度字段80的集合,它同样用于区分数据库中相应的AVA项目的集合的地址和大小。这些AVA项目再包括组成该目录项目的相对识别名字(RDN)的特别属性的值。RDN头标块66也包括指示组成RDN的属性类型/属性值项目的数的AVA号82。
DIB头标60也包括了在DIB38文件中含有项目头标块68的位置的项目头标偏移/长度字段84。项目头标块68也包括用于存贮区分系统的什么用户或元素可能存取该项目的存取控制列表块址的项目存取控制列表(项目ACL)偏移字段86,也包括用于存贮项目数据块70大小的项目数据记录长度字段88和存贮出现在项目中的属性的不同类型数的属性类型数字段90。最后,对于存贮在项目数据块70中的每个属性,项目头标块68有一个属性类型偏移字段92。正如下面将要描述的那样,出现在项目中的每个属性类型可能有多于1个的存贮在项目数据块70的值,每个属性类型偏移字段92具有对应于属性类型的第1个值项目的偏移相对于目录32中DIBE38文件的开始处。
关于项目数据块70,对于出现在项目中的每个属性而言它有一个属性字段94的集合。属性字段94包括区分用于整个属性的的任意存取控制列表的位置的属性类型存取控制列表(ACL)偏移字段96及对于该属性类型具有标识符的属性类型字段98。由项目头标块68的属性类型偏移字段92来指向属性字段94的开始。
属性字段94还包括一个第一个属性值字段100,该字段又有出现在该项目中的属性的第一个值的属性值字段104以及区分用于该属性的第一个值的任意存取控制列表的位置的属性值ACL偏移字段102。
对于出现在该项目中的该属性的每个余下的值而言,属性字段94也可能有一个属性值字段106,和第一个属性字段100同样的方法,每个属性值字段106具有属性值字段104和属性值ACL偏移字段102。
如果属性为项目的相对识别名字的一部份的话,则由RDN头标块66的AVA偏移/长度字段80来指向该项目的第一个属性字段94的位置。
最后,与出现在该项目中的每个属性的属性字段94有关的是一个在该属性之后的文件中出现的存取控制字段108的集合对于每个被保护的项(项目,整个属性或单个属性值)而言,存取控制字段108会区分存取权限、用户等级,和可以存取该属性的用户或用户组的识别名字。
最后,如果该项目为驻留在另一个DSA22中的项目的影子拷贝的话,DIB头标60将包括一个用以指示影子拷贝项目建立时间的日期/时间标记字段110。
前面的描述已经说明了本发明所实践的环境。下面将要描述的是如何通过从属性类型/属性值这些对中判定它们的识别和相对识别名字的方法,特别是如何通过本发明的对用户友善的名字判定方法来定位项目的。
D.名字的判定(图5和图6)
如前所述,本发明的目的是要提供一种与存贮在目录中的名字有关的或判定说明的名字的方法,而该说明的名字是由“用户”(例如使用系统的人),应用程序或系统级程序所提供的。特别是,当说明的名字完全与进入到目录中的识别名字不匹配时,例如,当说明的名字只有识别名字的部份与相应的识别名字的部份的表示不同时,下面描述了判定该名字的方法。
本发明的下列描述说明了个人名字的情况。正如以前讨论的那样,由于个人名字可以采取不同的形式。例如,由于国家和语言的特点以及用户可能表示其说明的名字的不同,所以个人名字判定方面表现出异常的困难。
首先必须考虑的是用户将以什么格式表示说明的名字及相对识别名字将以什么格式存贮在目录32中。
在说明的名字和项目名字这两种情况中,最好是至少採用最小程度的标准化以减少对名字判定程序的要求。然而,同样可取的是,没有更多的标准化要求必须採用,所以说明的名字的格式保留了足够的灵活性以适合于个人名字格式的可能最宽的范围,因而用户可以以其通常的或熟悉的方式自由地表示说明的名字。
由于这些理由,对于说明的名字和项目名字这两者而言,目录系统10使用的普通名字格式(PurportedcN)可以以扩展的Backus-Naur格式表示为:
PurportedCN::=〔personalName〕Surname
〔,generationAwards〕。
personalName(个人名字这一子部份包括一个可能为多字的名或者为另一个名(有时称作别名,尽管“别名”也可能为与该人的实际名字完全无关的名字),以及按次序包括一个或更多的中间名,並且这些名字部份的其中任意一部份可以由大写字母其后可以化也可以不化句号(“.”)。连接符名字如Jean-Paul可以以任意三种方式之一加以缩写,即:“J”,“JP”或“J-P”,Surname(姓)这一部份可能包括多于一个字,而且可能有连接符部份,但是必须以完整的格式加以提供。generatienAndAwards(代与授奖情况)这一部份,即Jr.(小)或Ⅱ(第二代)或荣眷的和授奖的称呼可以以任意次序和以任意的个人的实际的代和授奖名字部份的子集加以提供,尽管代这一部份在次序上是首先出现的,这种标准对于多数的说明的普通名字而言可以允许进行足够精确的语法分析,但是在数情况下,对用户包括外国用户的偶然的不符合该标准是不那么严格的。
至于识别名字的格式,目录系统10打算使用以前定义的普通名字来判定识别名字,並且普通名字是目录系统10中的相应的属性类型。
在包括在本发明中的系统的另一个实施例中,例如,其中该系统是处于单方面管理的完全控制下并且不必与“外部”系统通信,或者可以容许可能为较高程度的不兼容性,则以较高程度的结构和定义来使用名字格式是可能的。
对于允许个人名字的子部份确切区分的普通名字属性类型的值而言,本系统的另一具体体现相应定义3另一种格式。如前所述,目录系统10是基于系统的目标,并且定义3相对于个人目标等级和子等级的个人的目标。
目录系统10的另一个具体体现相应使用了对应的PersonName(个人名字)的属性类型来定义个人等级目标的属性。
PersonName对于个人名字是专门的,並且在目录系统10中加以定义,使用ASN。1为:
PersonName::=SEQUENCE{
surname nameComponent,
firtname 〔0〕nameComponent OPTIONAL,
alternatefirstname 〔1〕SET OF nameComponent
OPTIONAL,
middlename 〔2〕SEQUENCE OF
nameComponent OPTIONAL,
decorationOrAward 〔3〕SET OF
nameComponent OPTIONAL,
generationalQual 〔4〕nameComponent
OPTIONAL}。
其中,每个“nameComponent”表示对字符大小写不受影响的串。
在将存贮在DIB36中的说明的名字和个人名字RDN用于名字判定操作前,应将它们的普通名字格式规范化为一种普通格式。
从效率的理由看,每个存贮在DIB36中的RDN的普通名字属性对于每个索引34的检索操作而言,是不要规范化的,但是当建立索引34的节点和将DIB36 RDN的它们规范化形式存贮在索引34的前缀字段46时,如前所述是要规范化的。如果必要的话个人名字RDN的原始的普通名字属性格式可从目录项目中加以检索的。当然,当提交检索操作时,用于索引34中检索操作的由用户提交的说明名字是规范化的。
如图5所示的规范化通常存在四个阶段,并且每个阶段再处理上一次规范化操作的结果而且每个阶段是按着一个AVA接着一个AVA为基础执行的。由于这样的规范化操作对于技术上一般熟练者而言是众所周知的,所以下面只是简单地描述规范化操作,并且对普通名字格式是按照图5中的一步接着一步的基础上说明的。
第一阶段发生在ASN.1级别上并且将属性的ANS.1的编码减少到标准格式,该标准格式可以允许允许直接比较ANS.1编码,以便决定两个编码是否相同。在该阶段中:
第112步-将建立的串还原到开始的串,
第114步-将无限长的格式转换为有限长的格式并且,如果可能的话,将长的格式转换为短的格式;并且
第116步-将属性的值有化为标准的格式,如布尔值和位串的格式并且按照它们的标和值的次序来存贮这些集合的元素。
第二阶段发生在语法这一级上,并且:
第118步-按照它的属性语法所指示的那样重新格式化每个属性值;並且
第120步-检查属性值和属性语法的符合情况。这些操作依赖于每种语法的类型。
规范化的第三阶段发生在属性类型这一级上并且:
第122步-测试这些属性值是否属于属性值的范围之列并且按照属性类型所指出的那样重新建立这些值。
正是在规范化的第三阶段用本发明的名字判定方法重新建立普通名字属性值来加以使用的。只是重新建立实际用在名字判定中的属性值,且该操作必须有下列步骤:
第124步-将小写字母转换为大写字母,
第126步-除去前面或后面的空格及冗余的嵌入的空格(注:该步骤实际上是在第118步执行的,但是如果在以前第118步没有做的话,则可以在第126步执行);
第128步-除去所有句号(“.”)字符;
第130步-从属性值中除去除最左边的逗号以外的全部逗号;
下述步骤只是使用在当系统能执行确切匹配算法时,正如在本文别处描述的那样,以便对附加的索引34去规范化说明的普通名字。否则,该过程将直接到第136步去处理。
第132步-区分姓的部份;
在说明的普通名字的情况下:
第134步-在最后的逗号前,定位名字的最后的“字”,如果有的话;或者,
第135步-在属性值中定位最后的字
第138步-区分普通名字的姓,姓是人的类别的目标的所需属性,如前所述那样,或者如果新的项目不对应于人的类别的目标的话,则在第134步和135步之后为;
並且
第138步-将姓的部份移到属性值的开始处;
第140步-在姓字段之后插入二进制零字节,其功能为字符分离符;
第142步-如果在目录32中新的数据项目中找到该姓的话,并且它有1个以上的字,则将该姓的字的次序转换为姓的重新格式化的形式。
最后,规范化的第四阶段只是调用那些存贮在索引34中的AVA。该最后的操作为:
第144步-从属性值的编码中除去最初的可能是唯一的长度字段;
第146步-用另一个空值填到在该值中找到的每个空字节中;并且,
第148步-加上AVA和RDN结束字节代码。
值得注意的是,在名字的检索,长度字段的内容方面,在规范化过程的第四阶段中,从属性值的编码中除去最初的长度字段则将索引34的前缀检索树中的转移点(分支点)从长度字段传送到属性值的内容中,因而增强了索引的压缩并且使转移发生在属性值上面不是相对不重要的内容上。
在这一点,说明的普通名字已准备就绪,可用于索引34的检索中,或者在PersonalName要被加到目录32的情况下,个人名字的规范化格式已准备就绪,可以进到索引34的节点的前缀字段中。
现在下面将描述本发明的方法,通过该方法,目录系统10可以判定由用户,或者由个别的或者由应用的或者由系统级程序提供的说明的普通名字,并且用以规范化格式存贮在索引34中的相对识别名字来寻找对应于该说明名字的目录32的项目。
值得注意的是,对于名字判定而言,目录系统10最普通地能使用一些不同的方法,例如,直接的AVA至AVA的匹配算法,或者如果更直接的方法失败的话或者用户专门请求使用本发明的方法,则可以用本发明的方法。正如以前描述的那样,本发明的名字判定的方法是打算用在那种情况,即当在索引34中要检索的说明的普通名字与存贮在那儿的规范化的相对识别名字不同时。例如,该说明的普通名字可能不完全或者可能有与存贮在索引34中的那些规范化的个人名字不同表示的某些属性时。
用于寻找最接近匹配的说明的普通名字的索引34项目的本发明的方法如图6A,6B,6C和6D所示,并且按照一步一步的方法描述如下:
第150步-规范化说明的普通名字值,如上所述和如图5所示。
第152步-计算出现在说明的普通名字字(purported CN)中的字数,且由空格或逗号限定的每个字符串认为为单独的字。
第154步-根据表达式
EM=N5+N4+2
的结果,决定在这个说明的普通名字和索引34项目之间表示确切匹配(EM)的分数。正如从说明的普通名字与索引34项目比较的下面描述中明显地看到那样,当在说明的普通名字和索引34项目之间有确切匹配时,上述EM表达式表示该比较操作的结果。
第156步-初始化-组五个计数字段值,C1、C2、C3C4和C5,并显为0。正如将要描述的那样,在从索引34得来的每个这种的规范化名字与说明名字比较间,这些计数字段值用来存贮表示说明的普通名字部份与相应地从索引34读到的规范化名字部份相比较的结果的值。然后,对于每个名字的比较,最后的计数字段值用来生成表示说明名字与索引34名字匹配程度的分数。
所生成的比较分数(CS)作为说明的名字的每个部份与索引34名字的相应部份相比较的结果的加权和,并且CS可表示为:
其中,如上所述,N为说明的名字中的字数。值得注意的是比较分数也取决于在说明的普通名字中的字数N,因为它是确切匹配的分数。
更明确地描述,将在名字判定过程的下述描述中加以描述。无论何时只要说明的名字和项目名字中的一个字确切匹配或大约匹配的话,C1加1;而无论何时只要说明的名字和项目名字中的一个字确切匹配的话,C2加1;无论何时在项目名字中的另外的名的字和说明的名字中的个人名字子部份中的相应的字确切匹配的话,C3加1。无论何时项目名字的个人名字子部份中的一个字为说明的名字的个人名字子部份中的对应的字的大写形式或反过来的话,则C4加1并且,如果项目名字和说明的名字的代与授奖子部份具有相同的字数的话,或者如果项目和说明的名字的个人名字子部份具有相同的字数的话,则C5加1。
计数字段值的不同组合,与CS等式中的N的不同次方和它们的组合一起,可以对名字的不同部份的比较分数进行加权,因此在决定两个名字之间匹配的程度时,可以对名字的某一部份或者匹配的不同程度或者名字之间的匹配类型分配较大的或较小的有效数。在本例中对普通名字中的所有的字分配相同的权,但是对子部份或字之间的确切匹配已经分配的权较对子部份或字之间大概匹配分配的权要大。
第158步-通过从说明的普通名字中选择任意逗号之前的最后一个字或者如果没有逗号的话在名字中选择最后一个字的办法,在说明的普通名字的姓字段中做一个初始的猜测,指定为G。
第160步-构成在目录32中所有存贮的目标的集合S,这些目标具有字G作为它们姓字段的最后一个字,并且具有恰当的较高的次序AVA,如果有的话。
关于这一点,正如前面所述的那样,按照包括树中项目名字的AVA的降序方式从根节点向下组成包括索引34的树。索引34中的项目给定识别名字的AVA可以通过连接存贮在节点的前缀字段中的AVA加以找到,该节点对于具有项目和AVA或者具有项目的节点的前缀字段的AVA的节点而言,是它们的较高层次(祖先)的节点。则如此区分的较高顺序的AVA可以和说明的普通名字的相应的较高顺序的AVA相比较,以便区分具有与说明的普通名字相同的较高顺序的AVA的节点的集合S。应该注意的是前缀可能会具有AVA的碎片,而不是整个AVA。而且,按照RDN接着RDN的基础,名字判定过程会通过前缀检索树向下进行。因而,在普通名字AVA被判定时,较高顺序AVA已经成功地匹配了。
第162步-对于具有字G作为它们姓字段的最后一个字的索引34项目的集合S的每一个元素部份,执行下述步骤:
第164步-检查姓e,并且
第166步-如果姓e具有单个字时,将1加到计数字段值C1和C2上。
第168步-如果姓e为多字的姓,n个字长,如Conan Doyle,通过对在说明的普通名字中,前面有(n-1)个字的G′加前缀的办法,在说明的姓中组成另一猜想G。
第170步-如果G′不等于姓e,从S中除去e,再从集合S中选择另一元素e并返回到第162步,否则
第172步-将n加到计数字段值C1和C2中。
第174步-在规范化的说明的普通名字中的逗号后面的字中如果有的话,组成说明的generationAndAnards字段GA;
第176步-对于GA中的每个字,在元素e的generationAndAwards字段的任意位置寻找相同的字。
第178步-如果发现匹配的话,将1加到计数字段值C1和C2中。
第180步-此外,如果GA和e的generationAnd Awards字段有完全相同的字,而不考虑字的次序,将1加到计数字段值C5。
第182步-从说明的普通名字的姓之前的所有字中即在G或G′之前,组成说明的PersonalName,P.
第184步-对于从P中选出的每个连续的字W以从左到右的次序执行下列步骤:
第186步-从索引34项目的PersonalName部份选择字W′,如同W在P中做的那样,W′在索引34项目Personwl Name部份中占据相同位置。
第188步-如果没有这样的字W′存在的话,则到第212步处理。
第190步-如果W=W′,将1加到计数字段值C1和C2中。
第192步-如果W不等于W′,则通过下列步骤来决定W是否为W′的“大写”格式:
第194步-用下列表达式表示字W′,再从字W′提取“大写”字符:
ir〔-ir〕m
其中i为没有连字符的W′的子串的大写字符,
r为那个子串的可能为空值的余下部份,且
m为大于等于0的整数。
该表达式是在子串原有的次序和设有连字符的情况时,如果这样的话,产生每个组成PersonalName字段W′的子串的大写字符。用例子说明如下,设个人名字字段W′由子串“JOhn”和“Paul”组成的。在第一个子串中,i为“J”而r为“Ohn”,且在第二个子串中,i为“P”而r为“aul”,因此大写字符为J和P。如果PersonalName字段W′是以连字符形式表示的话,JOhn-Paul”,则该过程也不会再产生J和P
第196步-将从第194步提取的W′的大写字符与W相比较,如果W有格式
i〔i l-i〕n其中n<=m,
即如果它至少有某些与W′相同的大写字符,且和W′有相同的顺序及不考虑连字符情况时,则W为W′的大写格式,再将1加到计数字段值C1和C4。
第198步-如果W不是W′的大写格式,因为这是由第194-196步的结果所决定的,则返回到第192步。并且通过交换W′和W这二者关系,再按第194-196步的过程处理,来决定W′是否为W的大写格式。如果W′为W的大写格式,则将1加到计数字段值C1和C4中。
第200步-如果W′不是W的大写格式,并且W也不是W′的大写格式,则将元素e从集合S中除去,再从集合S中选择另一元素e并返回到第162步,否则
第202步-如果W为说明的personalName P的最后一个字且W为存贮在索引34中的个人名字的最后一个字,则将1加到计数字段值C5中。
第204步-用下述表达式决定元素e的“比较分数”。
CS=C1N4+C2N3+C3N2+C4N+C5
第206步-比较由第204步决定的分数CS和由第154步决定的完全匹配的分数(EM)
第208步-如果在第206步中CS=EM,则该名字判定完成了,且该处理过程结束并将D字段48的内容返回到该名字判定过程,以便识别对应于说明的普通名字的DIBE38。
第210步-如果CS不等于EM且该名字判定请求没有指定可以接受“大约匹配”的话,或者目录项目不是适宜的目标等级的项目,例如,不是在个人名字的判定情况下的个人目标等级的项目,则将元素e从集合S中除去,再从集合S中选择另一个元素e并返回到第162步。否则,
第212步-如果元素e对于“另外的名字”属性有一个或几个值的话,包括对每一个连续的另外的名而言,重复第184步至210步。对于另外的名的这些反复的第184步至210步的每一次而言,用每个另外的名替换存贮在索引34中的普通名字Personal Name部份的第一个字,但是只要从另外的名中得到现行字“W”时,就在190步中将计数字段值C3加1而不是将计数字段值C2加1。
第214步-对于原始的Personal Name部份和全部另外的名而言,保存由第182步至210步全部通过而产生的最大的分数并且存贮具有这个最大分数的所有项目名字的计数和标识,或者如果在第218步选择另一种实现的方法,则存贮具有分数在给定的最大分数的项目名字的计数和标识。
第216步-选择集合S的另一个元素并返回到第162步。
第218步-如果集合S的所有元素已经被检查过,但是在存贮于索引34中的普通名字中没有找到确切匹配的说明的普通名字的话,则会到达该过程的这一步。如果没有找到确切匹配的话,则从S中选择元素或者具有由第204步决定的最高分数的元素。如果只有一个元素有那个分数,则返回那个元素的标识,並将它作为最适合于说明的普通名字,如果多于一个元素具有该分数,则或者返回义结果的信息或者将所有具有该分数的元素的标识返回。除非该过程已经在第208步结束,这一步结束了名字判定过程。
E.名字判定过程的实例
为了说明名字判定过程,假设目录具有的项目有下述普通名字:
Arthur(Conan Doyle,其中“Conan Doyle为姓;
Arthur Doyle;
Arthur C.Doyle,具有另一个名为“Art”;
Edward Doyle。
这些名字以规范化的格式存贮在目录索引中,例如,“Arthur Conan Doyle”规范化为Doyle Conan〔姓分隔符〕Arthur〔AVA分隔符〕〔RDN分隔符〕。
给定的说明的普通名字=“A.Doyle”,通过除去“.”将该说明的普通名字加以规范化。
计算确切匹配的分数,其中N=2,给出EM=50,並且该计数字段初始化为0(零)。
说明的姓的第一次猜测G组成为“Doyle”。
然后,该过程建立其姓的“Doyle”结束的所有索引项目的集合S,因此S具有上述项目的全部格式。
对于S中的每个连续的元素e,该过程将说明的名字和e相比较:
(ⅰ)e=“Arthur Conan Doyle”
因为该项目名字具有多个字的姓,就组成说明的姓的第二次猜测G′,其中G′=“A.Doyle”。因为G′不等于项目的姓“Conan Doyle”该元素e从集合S中除去。
(ⅱ)e=“Arthur Doyle”
该项目名具有单个字的姓“Doyle”,它和G相匹配,可以C1加到1且C2也加到1。
说明名字和项目名字都没有代与授奖部份。
说明的个人名字P为“A”,因为这是在说明的姓G前面的全部字符。
在P中的唯一的字W为“A”且在项目名字中的相应的字W′为“Arthur”;“A”与“Arthur”是不匹配的。
因为“A”=i“Arthur”的大写字符,所以W是W′的大写格式,且C1加至为2,C4加至为1。
因为W(“A”)是说明的个人名字P中的最后一个字,W′(“Arthur”)是项目的个人名字中的最后一个字,所以C5加至为1。
则计算这个元素的比较分数为:
CS=C1N4+C2N3+C3N2+C4N+C5
=2×24+1×23+0×22+1×2+1=43
且对于项目名字“Arthur Doyle”保存该分数。
(ⅲ)e=“Arthur C.Doyle”
该项目再一次具有单个字的姓“Doyle”并等于G,所以C1加至为1且C2加至为1。
说明的和项目的这两个名字的代与授奖字段是空的。
说明的个人名字P为“A”,P的第一个字W为“A”且相应的项目字W′为“Arthur”,如上所述,W不等于W′,但是W是W′的大写格式,所以C1加至为2且C4加至为1。
由于W是P中的最后一个字,但是在项目个人名字中,W′后面为C,所以如前所述,C5是不加的。
则,
CS=2×24+1×23+0×21+0=42
由于该项目有另一个名“Art”,则该过程重复下述步骤:即企图寻找说明名字的个人名字部份“A”与具有替换的另一个名的项目个人名字“Artc”相匹配的步骤。“A”是“Art”的大写格式,所以C1加至为2而且C4加至为1。
再一次计算比较分数,并且再一次得到CS=42。
由于该项目的这两个分数均小于前面项目产生的分数(43),因此该分数42)不保留3。
(ⅳ)e=“Edward Doyle”
再一次,这个项目具有与G匹配的单个字姓,所以C1加至为1並且C2也加至为1。
说明的个人名字P为“A”,且项目的个人名字为“Edward”“A”既不和“Edwcrd”匹配,也不和“Edward”的大写格式匹配。
则计算CS为:
CS=1×24+1×23+0×22+0×21+0=24
这个分数再一次小于现行最大值43,因此这个项目不是最匹配说明的名字。
因此,第二个项目“Arthur Doyle”可以考虑为最匹配于说明的名字“A.Doyle”。由名字判定过程返回单个的这个项目或者返回最大分数的某些指定范围内的所有项目。
F.名字判定的另外的实施例
上述名字判定方法的最佳实施例取决于目录系统10中的所希望具有的特别特点,可以具有一些另外的实施例或者变型。
例如,从前述计数字段值C的分配到用于匹配说明的名字和索引34的名字的各种标准,显然通过修改比较分数的表达式可以对匹配标准的相对加权作实质性的改变。为了说明这一点,参考在第168步中计算比较分数的表达式:
该表达式偏向于普通名字部分的确切匹配稍差的表达式的数字大一些的标识而不是确切匹配较好的但数字小一些的标识。如果从表达式中删除C1N4这一项,则会转换这种偏向性。
在另外的例子中,该过程不是只返回名字或具有最高匹配分数的名字,它可以返回具有匹配分数属于由最高匹配分数决定上界的范围内的所有名字。这就会给请求者一组可能匹配的名字,因此,如果请求者提供这样的说明的名字,该说明名字偶然最接近匹配于某个名字,而不是希望的名字,因此含有一个合理的概率,使在一组可能匹配的名字中返回所希望的名字,並且可以由请求者加以分辨。
可以通过在说明的普通名字、个人名字和规范化的格式中对名字属性部分提供更扩展的定义也可以改变名字判定方法的能力。例如,现在说明的名字的代与授奖属性必须与存贮在索引34中的名字的等效串确切匹配;即,Jr.与Junior不匹配。在说明的名字的代与授奖属性与存贮名字的代与授奖属性之间匹配的概率可以通过下述方法增大,例如,为存贮的名字中的这些串提供别名或另外的名。
在还有的另一例子中,对于姓的匹配将不会被识别,除非说明的普通名字的姓与存贮在索引34中的名的姓完全匹配。这可能是个问题,在西班牙文化的国家中,一个人可能还会有另外的姓。再次指出,通过允许和检查姓属性中的另外的姓可以用作解决问题的办法。
同样,对于名字和这样的名字的判定方法而言,属性格式的现在的实现方法对于说明的或存贮的普通名字中的名和中间名不能提供精确的分离。在用到另外的姓的名字的判定期间这会引起异常。即,在判定过程的本实现中,另外的姓总是替换从索引34中存贮的普通名字值的第一个字,即使当个人的名实际具有多于一个字的话,如Mary Ann。例如,假设目录32有项目〔普通名字=“Mary Ann”和另外的名字=“Buffy”〕,其中Mary Ann为多个字的名,和项目〔普通名字=“Mary Smith”和另外的名字“Buffy”〕。“Buffy Ann Smith”的说明的名字将被认为与“Mary Ann Smith”匹配比与“Mary Smith”匹配更接近,尽管这两者是逻辑上相等的好匹配。再次,通过提供在说明的普通名字、个人名字和规范化格式中的名字属性部分的进一步的区别的方法,在名字判定过程中为这种情况作准备。然而,这会需要进一步的标准化和普通名字格式的定义及目录系统10间在表示普通名字的方式上相应较少的灵活性。正如以前描述的那样,目录系统10的本实现已经选择了在目录系统10之间的普通名字格式上提供最大的活性。
最后,在可以决定相应索引34项目的目标等级表,全部判定说明的名字在本实现中是必需的。因此,具有作为命名属性的普通名字的以有目录32的项目必须以个人名、姓和代与授奖格式存贮那个属性的值以用于如上所述的普通名字的判定过程。然而,只有对个人目标等级的目录项目而言,这些区别是有意义的。对于不是个人目标等级的目录项目而言,判定说明的名字的需求可以通过下述方式在目录32的另外的具体体现中删除或减少,例如,通过在相应的索引34项目的D字段48中包括一个项目所属的目标等级的指示。因此,当到达了索引34的具有可能匹配名字的项目时,目录32能从该节点的D字段48读该目标等级指示符並且如果该项目不是属于该个人目标等级的话,就不执行该名字的判定过程。
Claims (19)
1、在具有数据库和数据库中项目的索引的信息处理系统中用于判定说明的普通名字以便区分数据库项目与存贮在索引中的数据库项目名字的方法,其中每个说明的名字和每个项目的名字包括姓字段,代与授奖字段和个人名字段並且其中无论如何姓字段要至少包括一个字,该方法包括下列步骤:
(a)在说明的名字和项目名字间决定表示确切匹配的匹配分数,
(b)初始化一组计数值,其中每个计数值表示说明的名字字段和相应的项目名字字段的相似性,
(c)从说明的名字中选择姓字段,
(d)建立所有具有与说明的姓字段相同的姓字段的项目名字的集合,並且
(e)对于该集合中的每一个项目名字,
(f)将该项目名字的姓字段与说明的名字的姓字段相比较,
(g)如果说明的名字的姓字段与项目名字的姓字段不匹配,返回到第(e)步且从该集合中选择另一个项目名字,
(h)如果说明的与项目名字的姓字段匹配的话,增加相应的计数值,
(i)从该说明的名字中选择代与授奖字段,
(j)比较说明的与项目名字的代和授奖字段,且如果在代和授奖字段中发现匹配的话,则增加相应的计数值,
(k)从该说明的名字中选择个人名字段並且,对于说明的名字的个人名字段中的每个字而言,
(l)将说明名字的所选择的字与该项目名字的个人名字段中的相同位置的字相比较,
(m)如果在该项目名字的个人名字段中没有可比较的字存在,则转移到第(r)步,
(n)如果该字匹配,则增加相应的计数值並且转移到第(r)步,
(o)如果该字不匹配,则比较说明的与项目名字的个人名字段中的每个字的大写字符,並且,
(p)如果一个名字的个人名字段的字是其它名字的字的简写形式,则增加相应的计数值並转移到第(r)步,
(q)如果名字中的任意一个名字的个人名字段的字不是其它的缩写形式的话,则从该集合中选择另一个项目名字並返回到第(e)步,
(r)决定在说明的名字和项目名字之间表示相似程度的以计算值的加权和所表示的比较分数,並且
(s)识别最相似于相应的说明的名字的该集合中的项目名字。
2、在具有数据库和数据库中项目的索引的信息处理系统中用于判定说明的普通名字以便区分数据库项目与存贮在索引中的数据库项目名字的方法,其中每个说明的名字和每个项目的名字包括第一字段、第二字段和第三字段,並且其中无论如何第一字段应至少包括一个字,该方法包括下列步骤:
(a)在说明的名字与项目名字之间决定表示确切匹配的匹配分数,
(b)初始化一组计数值,其中每个计数值表示说明的名字的字段和项目名字的相应字段之间的相似性,
(c)从说明的名字中选择第一字段,
(d)建立所有具有与说明的第一字段相同的第一字段的项目名字的集合,
(e)对于该集合中的每一个项目名字,
(f)将该项目名字的第一字段与说明的名字的第一字段相比较,
(g)如果说明的名字与项目名字的第一字段不匹配的话,则返回到第(e)步並且从该集合选择另一个项目名字,
(h)如果说明的名字与项目名字的第一字段匹配的话,则增加相应的计数值,
(i)从该说明的名字中选择第二字段,
(j)比较该说明的与项目名字的第二字段,且在第二字段中发现匹配的话,增加相应的计数值,
(k)从说明的名字中选择第三字段並且,对于该说明的名字的第三字段中的每个字而言,
(l)将说明的名字的所选择的字与该项目名字的第三字段中的相同位置的字相比较,
(m)如果在该项目名字的第三字段中没有可比较的字存在的话,则转移到第(r)步,
(n)如果该字匹配,增加相应的计数值並转移到第(r)步,
(o)如果该字不匹配,则比较说明的与项目名字的第三字段中的每个字的大写字符,並且
(p)如果一个名字的第三字段的字是其它名字的第三字段的字的缩写形式的话,增加相应的计数值並转移到第(r)步,
(q)如果名字中的任意一个名字的第三字段的字不是其它的缩写形式,则从该集合中选择另一个项目名字並且返回到第(e)步,
(r)决定在说明的和项目名字之间表示相似程度的以计数值的加权和所表示的比较分数,並且
(s)识别最相似于相应的说明的名字的该集合中的项目名字。
3、如权利要求2的名字判定方法,其中:
数据库项目具有关于人的信息並且说明的名字和项目名字是关于人的名字,
说明的和项目名字的第一字段是具有关于人的姓的信息的姓字段,
说明的和项目名字的第二字段是具有关于人的代与授奖信息的代与授奖字段,並且
说明的和项目名字的第三字段是具有关于人的个人名的信息的个人名字段。
4、如权利要求3的名字判定方法,其中姓可以由多个字所组成。
5、如权利要求4的名字判定方法,其中多个字的个人的两个或更多的字可以用连字符连接。
6、如权利要求3的名字判定方法,其中个人名字段具有关于个人的名和中间名的信息。
7、如权利要求6的名字判定方法,其中个人名字段可以有另外的名。
8、如权利要求6的名字判定方法,其中个人名字段可以有这个人的名和中间名的大写字符。
9、如权利要求6的名字判定方法,其中名可以由多个字所组成。
10、如权利要求2的名字判定方法,其中:
在第(c)步所选的第一字段是在说明的名字的第一字段上的最初的猜测,並且
第(e)步还包括下述步骤:
(e1)检查项目名字的第一字段,
(e2)如果该项目名字的第一字段具有单个字的话,增加相应的计数值,
(e3)如果该项目名字的第一字段具有n个字的话,其中n大于1,
(e4)通过在说明名字的第一个字的第一字段处的初始的猜测得到的字的第一个字后的(n-1)个字前加前缀的办法在说明的名字的第一字段处组成第二次猜测。
(e5)将在说明的名字的第一字段中的第二次猜测与该项目名字的第一字段相比较,
(e6)如果在说明的名字的第一字段中的第二次猜测与该项目名字的第一字段不匹配,则从该集合中选择另一个项目名字並且返回到第(e1)步,
(e7)如果在说明的名字的第一字段中的第二次猜测与该项目名字的第一字段匹配,则增加其相应的计数值。
11、如权利要求2的名字判定方法,其中:通过下述步骤来执行说明的名字与项目名字的第二字段的比较:
(j1)对于说明的名字的第二字段中的每个字而言,
检查该项目名字的第二字段是否有在该项目名字的第二字段中的任意位置上的相同的字。
12、如权利要求11的名字判定方法,其中第(j)步还包括下列步骤:
(j2)如果说明的和项目名字的第二字段有确实相同的字,可以为任意次序,则增加其相应的计数值。
13、如权利要求2的名字判定方法,其中第(o)步的说明的和项目名字的第三字段的大写字符的比较还包括下述步骤:
(o1)按照表达式
ir〔-ir〕m
来表示该项目名字的第三字段,其中
i为没有连接符的该项目名字的第三字段的子串的大写字符,
r为可能为空值的那个子串的余下部分,
m为大于等于0的整数,並且
(o2)决定该说明的名字的第三字段是否有下述格式:
i〔i|-i〕n式中n<=m,
其中该说明的名字的第三字段是该项目名字的第三字段的大写格式,如果该说明的名字的第三字段是属于这种格式的话,並且
(o2)如果该说明的名字的第三字段不是该项目名字的第三字段的大写格式的话,则将项目名字的第三字段和说明的名字的第三字段交换,再重复第(o1)步和(o2)步,以便决定该项目名字的第三字段是否为该说明的名字的第三字段的大写格式。
14、如权利要求2的名字判定的方法,其中该项目名字的第三字段可能有另外的名字並且其中的第(p)步还包括下述步骤:
(p1)如果名字中的任意一个名字的第三字段的字不是其它的缩写形式,则选择对应于该项目名字的现在的第三字段的字的另外的名字的字,並且
(p2)对于对应于该项目名字的现在的第三字段字的每一个连续的另外的字,重复第(m)步至第(p)步。
15、如权利要求2的名字判定的方法,其中第(s)步包括下列步骤:
(s1)如果该比较分数等于确切匹配分数,结束该名字判定过程並且提供作为对应于该说明的名字的该项目名字。
(s2)如果比较分数不等于该确切匹配的分数,则记录该比较分数,再从该集合中选择另一个项目名字,並返回到第(e)步,並且
(s3)如果在该集合中再没有要被判定的项目名字,则结束该名字的判定並且无论如何要提供最相似于相应的说明的名字的该项目名字。
16、专利范围3的名字判定的方法,其中每个说明的名字是属于下述格式,並以下述次序列出,
一个〔个人名字段〕,
一个〔姓字段〕,並且
一个〔,代与授奖字段〕。
17、如权利要求16的名字判定的方法,其中从该说明的名字中选择第一字段的第(c)步还包括下述步骤:
从该说明的名字的任意的逗号以前,或者没有逗号,的最后一个字中选择该说明的名字中的最后一个字。
18、如权利要求16的名字判定的方法,其中选择该说明的名字的第二字段的第(i)步包括下述步骤,
在该说明的名字中选择其后为逗号的字。
19、如权利要求16的名字判定的方法,其中选择该说明的名字的第三字段的第(k)步包括下述步骤:
从第一字段前面的该说明的名字中的所有的字中建立该第三字段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45546689A | 1989-12-22 | 1989-12-22 | |
US07/455,466 | 1989-12-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1053852A true CN1053852A (zh) | 1991-08-14 |
Family
ID=23808918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN90106018A Pending CN1053852A (zh) | 1989-12-22 | 1990-12-21 | 目录数据库中的名字判定 |
Country Status (8)
Country | Link |
---|---|
US (1) | US5333317A (zh) |
EP (1) | EP0433964B1 (zh) |
JP (1) | JP2638307B2 (zh) |
CN (1) | CN1053852A (zh) |
AU (1) | AU631276B2 (zh) |
CA (1) | CA2030909A1 (zh) |
DE (1) | DE69032693T2 (zh) |
ES (1) | ES2121744T3 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102713834A (zh) * | 2009-11-13 | 2012-10-03 | 起元技术有限责任公司 | 管理记录格式信息 |
CN109784721A (zh) * | 2019-01-15 | 2019-05-21 | 东莞市友才网络科技有限公司 | 一种就业数据分析与数据挖掘分析的平台系统 |
WO2019223597A1 (zh) * | 2018-05-23 | 2019-11-28 | 杭州海康威视数字技术股份有限公司 | 一种注释信息确定、前缀树构建方法及装置 |
Families Citing this family (159)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5311586A (en) * | 1991-10-31 | 1994-05-10 | At&T Bell Laboratories | Dynamic routing-administration |
CA2067650C (en) * | 1991-07-24 | 1996-10-22 | Eric Jonathan Bauer | Method and apparatus for operating a computer-based file system |
US5289535A (en) * | 1991-10-31 | 1994-02-22 | At&T Bell Laboratories | Context-dependent call-feature selection |
US5333188A (en) * | 1991-10-31 | 1994-07-26 | At&T Bell Laboratories | Dialed number recognition arrangement |
US5329582A (en) * | 1991-10-31 | 1994-07-12 | At&T Bell Laboratories | Dynamic tone-administration |
US5343517A (en) * | 1991-10-31 | 1994-08-30 | At&T Bell Laboratories | Use-code based call-treatment selection |
US5311584A (en) * | 1991-10-31 | 1994-05-10 | At&T Bell Laboratories | Telecommunications call-processing arrangement |
US5299261A (en) * | 1992-02-24 | 1994-03-29 | At&T Bell Laboratories | Arrangement for effecting segmentation of a dialed number |
US5412714A (en) * | 1992-02-24 | 1995-05-02 | At&T Corp. | Mnemonic and synonymic addressing in a telecommunications system |
US5515534A (en) * | 1992-09-29 | 1996-05-07 | At&T Corp. | Method of translating free-format data records into a normalized format based on weighted attribute variants |
US5446883A (en) * | 1992-10-23 | 1995-08-29 | Answer Systems, Inc. | Method and system for distributed information management and document retrieval |
JPH0798669A (ja) * | 1993-08-05 | 1995-04-11 | Hitachi Ltd | 分散データベース管理システム |
US5689700A (en) * | 1993-12-29 | 1997-11-18 | Microsoft Corporation | Unification of directory service with file system services |
US5724597A (en) * | 1994-07-29 | 1998-03-03 | U S West Technologies, Inc. | Method and system for matching names and addresses |
US7315860B1 (en) | 1994-09-01 | 2008-01-01 | Computer Associates Think, Inc. | Directory service system and method with tolerance for data entry storage and output |
JPH10505690A (ja) | 1994-09-01 | 1998-06-02 | データクラフト テクノロジーズ プロプライエタリー リミテッド | X.500システムおよび方法 |
AU3734395A (en) * | 1994-10-03 | 1996-04-26 | Helfgott & Karas, P.C. | A database accessing system |
US5617568A (en) * | 1994-12-14 | 1997-04-01 | International Business Machines Corporation | System and method for supporting file attributes on a distributed file system without native support therefor |
US5566328A (en) * | 1995-01-23 | 1996-10-15 | Tandem Computers Incorporated | Reconstructing directory pathnames from file handles in a computer system |
US5724512A (en) * | 1995-04-17 | 1998-03-03 | Lucent Technologies Inc. | Methods and apparatus for storage and retrieval of name space information in a distributed computing system |
US5682524A (en) * | 1995-05-26 | 1997-10-28 | Starfish Software, Inc. | Databank system with methods for efficiently storing non-uniform data records |
US8065338B2 (en) * | 1995-08-30 | 2011-11-22 | Computer Associates Think, Inc. | Directory searching methods and systems |
US5873092A (en) * | 1995-12-14 | 1999-02-16 | International Business Machines Corporation | Information handling system, method, and article of manufacture including persistent, distributed object name services including shared properties |
GB9601925D0 (en) * | 1996-01-31 | 1996-04-03 | British Telecomm | Database access |
US6430596B1 (en) * | 1996-03-27 | 2002-08-06 | Intel Corporation | Managing networked directory services with auto field population |
US5923848A (en) | 1996-05-31 | 1999-07-13 | Microsoft Corporation | System and method for resolving names in an electronic messaging environment |
US6412017B1 (en) | 1996-07-01 | 2002-06-25 | Microsoft Corporation | Urgent replication facility |
US5857196A (en) * | 1996-07-19 | 1999-01-05 | Bay Networks, Inc. | Method for storing a tree of potential keys in a sparse table |
US5873078A (en) * | 1996-07-19 | 1999-02-16 | Bay Networks, Inc. | Radix tree search logic |
IL118959A (en) * | 1996-07-26 | 1999-07-14 | Ori Software Dev Ltd | Database apparatus |
US5745898A (en) * | 1996-08-09 | 1998-04-28 | Digital Equipment Corporation | Method for generating a compressed index of information of records of a database |
EP0831631A1 (fr) * | 1996-09-18 | 1998-03-25 | Koninklijke Philips Electronics N.V. | Procédé de recherche d'une entrée dans un recueil d'informations, et équipement électronique dans lequel un tel procédé est mis en oeuvre |
US6647393B1 (en) * | 1996-11-22 | 2003-11-11 | Mangosoft Corporation | Dynamic directory service |
US6401099B1 (en) | 1996-12-06 | 2002-06-04 | Microsoft Corporation | Asynchronous binding of named objects |
US6460058B2 (en) * | 1996-12-06 | 2002-10-01 | Microsoft Corporation | Object-oriented framework for hyperlink navigation |
US5890147A (en) * | 1997-03-07 | 1999-03-30 | Microsoft Corporation | Scope testing of documents in a search engine using document to folder mapping |
US6029169A (en) * | 1997-05-01 | 2000-02-22 | Stratum Technologies Corporation | Universal software structure for representing model structures |
US7631012B2 (en) | 1997-05-22 | 2009-12-08 | Computer Associates Think, Inc. | System and method of operating a database |
US5991758A (en) * | 1997-06-06 | 1999-11-23 | Madison Information Technologies, Inc. | System and method for indexing information about entities from different information sources |
US6065003A (en) * | 1997-08-19 | 2000-05-16 | Microsoft Corporation | System and method for finding the closest match of a data entry |
US6192362B1 (en) * | 1997-12-15 | 2001-02-20 | International Business Machines Corporation | System and method for creating a search form for accessing directory information |
JP4004619B2 (ja) * | 1998-01-08 | 2007-11-07 | 富士通株式会社 | 自動在庫引当が可能な在庫管理装置 |
US6675173B1 (en) | 1998-01-22 | 2004-01-06 | Ori Software Development Ltd. | Database apparatus |
US8855998B2 (en) | 1998-03-25 | 2014-10-07 | International Business Machines Corporation | Parsing culturally diverse names |
US6963871B1 (en) * | 1998-03-25 | 2005-11-08 | Language Analysis Systems, Inc. | System and method for adaptive multi-cultural searching and matching of personal names |
US8812300B2 (en) | 1998-03-25 | 2014-08-19 | International Business Machines Corporation | Identifying related names |
DE60002835T2 (de) * | 1999-02-01 | 2004-03-11 | Honeywell International Inc. | Verfahren und vorrichtung zur erzeugung einer bodennäherungswarnung und computerprogramm zum kontrollierten verändern der basisbreite einer alarmhülle |
FI991261A (fi) * | 1999-06-02 | 2000-12-03 | Nokia Networks Oy | Trie-rakenteeseen perustuva funktionaalinen muisti |
US6529892B1 (en) * | 1999-08-04 | 2003-03-04 | Illinois, University Of | Apparatus, method and product for multi-attribute drug comparison |
US7904317B1 (en) * | 1999-10-14 | 2011-03-08 | The TriZetto Group | Method and apparatus for repricing a reimbursement claim against a contract |
US6532476B1 (en) * | 1999-11-13 | 2003-03-11 | Precision Solutions, Inc. | Software based methodology for the storage and retrieval of diverse information |
CA2312540A1 (en) * | 2000-06-27 | 2001-12-27 | Neteka Inc. | Network address name resolution server |
KR100856149B1 (ko) * | 1999-11-26 | 2008-09-03 | 네테카 인코포레이티드 | 전자 메일 서버 및 전자 메일 통신을 용이하게 하기 위한 방법 |
AUPQ428499A0 (en) | 1999-11-26 | 1999-12-23 | Computer Associates Pty. Ltd. | A method and apparatus for operating a data base |
US6879959B1 (en) * | 2000-01-21 | 2005-04-12 | Quality Care Solutions, Inc. | Method of adjudicating medical claims based on scores that determine medical procedure monetary values |
US6675370B1 (en) * | 2000-02-02 | 2004-01-06 | International Business Machines Corporation | System and method for imbedding hyperlinked language grammar notation in a “literate” programming environment |
US6952805B1 (en) * | 2000-04-24 | 2005-10-04 | Microsoft Corporation | System and method for automatically populating a dynamic resolution list |
JP2001337980A (ja) * | 2000-05-29 | 2001-12-07 | Sony Corp | 電子番組ガイド検索方法及び電子番組ガイド検索装置 |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US6874143B1 (en) | 2000-06-21 | 2005-03-29 | Microsoft Corporation | Architectures for and methods of providing network-based software extensions |
US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7117435B1 (en) | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
WO2001098928A2 (en) | 2000-06-21 | 2001-12-27 | Microsoft Corporation | System and method for integrating spreadsheets and word processing tables |
US7624356B1 (en) | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US6556991B1 (en) | 2000-09-01 | 2003-04-29 | E-Centives, Inc. | Item name normalization |
US7624026B2 (en) | 2000-11-21 | 2009-11-24 | The Trizetto Group, Inc. | Health plan management method and apparatus |
US6804677B2 (en) * | 2001-02-26 | 2004-10-12 | Ori Software Development Ltd. | Encoding semi-structured data for efficient search and browsing |
US6625600B2 (en) | 2001-04-12 | 2003-09-23 | Telelogue, Inc. | Method and apparatus for automatically processing a user's communication |
IES20020647A2 (en) * | 2001-08-03 | 2003-03-19 | Tristlam Ltd | A data quality system |
US6944610B2 (en) * | 2001-10-31 | 2005-09-13 | Bellsouth Intellectual Property Corporation | System and method for searching heterogeneous electronic directories |
US20030149566A1 (en) * | 2002-01-02 | 2003-08-07 | Esther Levin | System and method for a spoken language interface to a large database of changing records |
US7287033B2 (en) * | 2002-03-06 | 2007-10-23 | Ori Software Development, Ltd. | Efficient traversals over hierarchical data and indexing semistructured data |
JP2003271656A (ja) * | 2002-03-19 | 2003-09-26 | Fujitsu Ltd | 関係付候補生成装置,関係付候補生成方法,関係付システム,関係付候補生成プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体 |
US6691103B1 (en) | 2002-04-02 | 2004-02-10 | Keith A. Wozny | Method for searching a database, search engine system for searching a database, and method of providing a key table for use by a search engine for a database |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7516145B2 (en) | 2003-03-31 | 2009-04-07 | Microsoft Corporation | System and method for incrementally transforming and rendering hierarchical data files |
US7168035B1 (en) | 2003-06-11 | 2007-01-23 | Microsoft Corporation | Building a view on markup language data through a set of components |
US7451392B1 (en) | 2003-06-30 | 2008-11-11 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
US7197515B2 (en) | 2003-06-30 | 2007-03-27 | Microsoft Corporation | Declarative solution definition |
US7581177B1 (en) | 2003-08-01 | 2009-08-25 | Microsoft Corporation | Conversion of structured documents |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
CN100437573C (zh) * | 2003-09-17 | 2008-11-26 | 国际商业机器公司 | 标识相关姓名的系统及方法 |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US7430711B2 (en) | 2004-02-17 | 2008-09-30 | Microsoft Corporation | Systems and methods for editing XML documents |
US7318063B2 (en) | 2004-02-19 | 2008-01-08 | Microsoft Corporation | Managing XML documents containing hierarchical database information |
US20070005586A1 (en) * | 2004-03-30 | 2007-01-04 | Shaefer Leonard A Jr | Parsing culturally diverse names |
US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
US7568101B1 (en) | 2004-05-13 | 2009-07-28 | Microsoft Corporation | Digital signatures with an embedded view |
US7281018B1 (en) | 2004-05-26 | 2007-10-09 | Microsoft Corporation | Form template data source change |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US7516399B2 (en) | 2004-09-30 | 2009-04-07 | Microsoft Corporation | Structured-document path-language expression methods and systems |
US8768729B2 (en) | 2004-10-14 | 2014-07-01 | Trizetto Corporation | System and method for using a first electronic representation of contract terms for generating a second electronic representation of the contract terms |
US8487879B2 (en) | 2004-10-29 | 2013-07-16 | Microsoft Corporation | Systems and methods for interacting with a computer through handwriting to a screen |
US7890492B2 (en) * | 2004-11-15 | 2011-02-15 | Zi Corporation Of Canada, Inc. | Organizing pointers to objects in an array to improve the speed of object retrieval |
US7584417B2 (en) | 2004-11-15 | 2009-09-01 | Microsoft Corporation | Role-dependent action for an electronic form |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7509353B2 (en) | 2004-11-16 | 2009-03-24 | Microsoft Corporation | Methods and systems for exchanging and rendering forms |
US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
US7437376B2 (en) | 2004-12-20 | 2008-10-14 | Microsoft Corporation | Scalable object model |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
US7543228B2 (en) | 2005-06-27 | 2009-06-02 | Microsoft Corporation | Template for rendering an electronic form |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US7613996B2 (en) | 2005-08-15 | 2009-11-03 | Microsoft Corporation | Enabling selection of an inferred schema part |
US20070174339A1 (en) * | 2005-09-07 | 2007-07-26 | Kolo Brian A | System and method for determining personal genealogical relationships and geographical origins including a relative confidence |
US20070218429A1 (en) * | 2005-09-07 | 2007-09-20 | Kolo Brian A | System and method for determining personal genealogical relationships and geographical origins |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US7779343B2 (en) | 2006-01-30 | 2010-08-17 | Microsoft Corporation | Opening network-enabled electronic documents |
US20070239735A1 (en) * | 2006-04-05 | 2007-10-11 | Glover Eric J | Systems and methods for predicting if a query is a name |
US7526486B2 (en) | 2006-05-22 | 2009-04-28 | Initiate Systems, Inc. | Method and system for indexing information about entities with respect to hierarchies |
AU2007254820B2 (en) | 2006-06-02 | 2012-04-05 | International Business Machines Corporation | Automatic weight generation for probabilistic matching |
US20080033750A1 (en) * | 2006-06-02 | 2008-02-07 | The Trizetto Group, Inc. | Enhanced systems and methods for processing of healthcare information |
US20080065621A1 (en) * | 2006-09-13 | 2008-03-13 | Kenneth Alexander Ellis | Ambiguous entity disambiguation method |
US8234379B2 (en) | 2006-09-14 | 2012-07-31 | Afilias Limited | System and method for facilitating distribution of limited resources |
US7698268B1 (en) | 2006-09-15 | 2010-04-13 | Initiate Systems, Inc. | Method and system for filtering false positives |
US7685093B1 (en) | 2006-09-15 | 2010-03-23 | Initiate Systems, Inc. | Method and system for comparing attributes such as business names |
US8356009B2 (en) | 2006-09-15 | 2013-01-15 | International Business Machines Corporation | Implementation defined segments for relational database systems |
EP2078279A4 (en) * | 2006-10-24 | 2011-09-28 | Afilias Ltd | SUPPLY CHAIN SERVICES DISCOVERY |
US8006190B2 (en) | 2006-10-31 | 2011-08-23 | Yahoo! Inc. | Social namespace addressing for non-unique identifiers |
US8599801B2 (en) * | 2007-02-01 | 2013-12-03 | Yahoo! Inc. | Collecting implicit information for determining context of event actions |
US8359339B2 (en) | 2007-02-05 | 2013-01-22 | International Business Machines Corporation | Graphical user interface for configuration of an algorithm for the matching of data records |
US8370349B2 (en) * | 2007-02-28 | 2013-02-05 | Yahoo! Inc. | Instant contact searching and presentation by category |
US8515926B2 (en) * | 2007-03-22 | 2013-08-20 | International Business Machines Corporation | Processing related data from information sources |
US8429220B2 (en) | 2007-03-29 | 2013-04-23 | International Business Machines Corporation | Data exchange among data sources |
US8321393B2 (en) * | 2007-03-29 | 2012-11-27 | International Business Machines Corporation | Parsing information in data records and in different languages |
US8423514B2 (en) | 2007-03-29 | 2013-04-16 | International Business Machines Corporation | Service provisioning |
US8370355B2 (en) | 2007-03-29 | 2013-02-05 | International Business Machines Corporation | Managing entities within a database |
EP2193415A4 (en) | 2007-09-28 | 2013-08-28 | Ibm | METHOD AND SYSTEM FOR ANALYZING A SYSTEM FOR THE ADJUSTMENT OF DATA SETS |
US8713434B2 (en) | 2007-09-28 | 2014-04-29 | International Business Machines Corporation | Indexing, relating and managing information about entities |
AU2008304255B2 (en) | 2007-09-28 | 2013-03-14 | International Business Machines Corporation | Method and system for associating data records in multiple languages |
KR20160078511A (ko) * | 2008-03-10 | 2016-07-04 | 아필리어스 리미티드 | 플랫폼 독립적인 idn 이메일 저장소 변환 |
US10552391B2 (en) * | 2008-04-04 | 2020-02-04 | Landmark Graphics Corporation | Systems and methods for real time data management in a collaborative environment |
EP2131293A1 (en) | 2008-06-03 | 2009-12-09 | Alcatel Lucent | Method for mapping an X500 data model onto a relational database |
US9910875B2 (en) * | 2008-12-22 | 2018-03-06 | International Business Machines Corporation | Best-value determination rules for an entity resolution system |
CN101727441B (zh) * | 2009-12-25 | 2012-02-01 | 北京工业大学 | 一种面向中文人名识别系统的评测方法及评测系统 |
US8819148B2 (en) * | 2010-03-10 | 2014-08-26 | Afilias Limited | Alternate E-mail delivery |
US8756075B1 (en) | 2011-05-18 | 2014-06-17 | Trizetto Corporation | System and method for processing payment bundles |
US8706723B2 (en) * | 2011-06-22 | 2014-04-22 | Jostle Corporation | Name-search system and method |
US10296976B1 (en) | 2011-09-23 | 2019-05-21 | Cognizant Trizetto Software Group, Inc. | System and method for calculating estimated payment based on partial coding data |
US10318923B1 (en) | 2012-08-01 | 2019-06-11 | Cognizant Trizetto Software Group, Inc. | Payment assurance and claim pre-validation |
US20150227690A1 (en) * | 2014-02-12 | 2015-08-13 | Xerox Corporation | System and method to facilitate patient on-boarding |
US20160132830A1 (en) * | 2014-11-12 | 2016-05-12 | Adp, Llc | Multi-level score based title engine |
US10148662B1 (en) * | 2015-01-21 | 2018-12-04 | EMC IP Holding Company LLC | De-duplication of access control lists |
US10650020B1 (en) | 2015-09-17 | 2020-05-12 | Trifacta Inc. | Analyzing transformations for preprocessing datasets |
CN105373530A (zh) * | 2015-12-03 | 2016-03-02 | 北京锐安科技有限公司 | 中文姓名的识别方法和装置 |
US10275450B2 (en) * | 2016-02-15 | 2019-04-30 | Tata Consultancy Services Limited | Method and system for managing data quality for Spanish names and addresses in a database |
JP7183600B2 (ja) * | 2018-07-20 | 2022-12-06 | 株式会社リコー | 情報処理装置、システム、方法およびプログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4382277A (en) * | 1979-05-14 | 1983-05-03 | System Development Corp. | Method and means utilizing multiple processing means for determining degree of match between two data arrays |
US4384325A (en) * | 1980-06-23 | 1983-05-17 | Sperry Corporation | Apparatus and method for searching a data base using variable search criteria |
US4422158A (en) * | 1980-11-28 | 1983-12-20 | System Development Corporation | Method and means for interrogating a layered data base |
DE3069324D1 (en) * | 1980-12-19 | 1984-10-31 | Ibm | Interactive data retrieval apparatus |
US4453217A (en) * | 1982-01-04 | 1984-06-05 | Bell Telephone Laboratories, Incorporated | Directory lookup method and apparatus |
US4674066A (en) * | 1983-02-18 | 1987-06-16 | Houghton Mifflin Company | Textual database system using skeletonization and phonetic replacement to retrieve words matching or similar to query words |
US4823306A (en) * | 1987-08-14 | 1989-04-18 | International Business Machines Corporation | Text search system |
-
1990
- 1990-11-26 AU AU66967/90A patent/AU631276B2/en not_active Ceased
- 1990-11-27 CA CA002030909A patent/CA2030909A1/en not_active Abandoned
- 1990-12-18 ES ES90124558T patent/ES2121744T3/es not_active Expired - Lifetime
- 1990-12-18 DE DE69032693T patent/DE69032693T2/de not_active Expired - Fee Related
- 1990-12-18 EP EP90124558A patent/EP0433964B1/en not_active Expired - Lifetime
- 1990-12-21 JP JP2405118A patent/JP2638307B2/ja not_active Expired - Lifetime
- 1990-12-21 CN CN90106018A patent/CN1053852A/zh active Pending
-
1992
- 1992-11-03 US US07/970,976 patent/US5333317A/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102713834A (zh) * | 2009-11-13 | 2012-10-03 | 起元技术有限责任公司 | 管理记录格式信息 |
CN102713834B (zh) * | 2009-11-13 | 2016-03-30 | 起元技术有限责任公司 | 管理记录格式信息 |
US10445309B2 (en) | 2009-11-13 | 2019-10-15 | Ab Initio Technology Llc | Managing record format information |
WO2019223597A1 (zh) * | 2018-05-23 | 2019-11-28 | 杭州海康威视数字技术股份有限公司 | 一种注释信息确定、前缀树构建方法及装置 |
CN109784721A (zh) * | 2019-01-15 | 2019-05-21 | 东莞市友才网络科技有限公司 | 一种就业数据分析与数据挖掘分析的平台系统 |
Also Published As
Publication number | Publication date |
---|---|
AU6696790A (en) | 1991-06-27 |
CA2030909A1 (en) | 1991-06-23 |
JPH04137069A (ja) | 1992-05-12 |
EP0433964A2 (en) | 1991-06-26 |
DE69032693D1 (de) | 1998-11-12 |
EP0433964A3 (en) | 1993-03-31 |
ES2121744T3 (es) | 1998-12-16 |
DE69032693T2 (de) | 1999-07-22 |
AU631276B2 (en) | 1992-11-19 |
EP0433964B1 (en) | 1998-10-07 |
US5333317A (en) | 1994-07-26 |
JP2638307B2 (ja) | 1997-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1053852A (zh) | 目录数据库中的名字判定 | |
CN1109994C (zh) | 文件处理装置与记录媒体 | |
CN1174587C (zh) | 最长匹配地址查询的方法和装置 | |
CN1194319C (zh) | 对表格式数据进行查找、列表及分类的方法和装置 | |
CN1728140A (zh) | 信息检索系统中基于短语的索引编制 | |
CN1728142A (zh) | 信息检索系统中的短语识别 | |
CN1317116A (zh) | 值一实例连接的计算机实现的数据库 | |
CN1728143A (zh) | 基于短语产生文献说明 | |
CN1728141A (zh) | 信息检索系统中基于短语的搜索 | |
CN1670729A (zh) | 使用隐含谓词的改善的查询优化器 | |
CN1276575A (zh) | 数据库存取系统 | |
CN1552032A (zh) | 数据库 | |
CN1190477A (zh) | 修改现有数据库以反映相应对象模型变化的方法和装置 | |
CN101044479A (zh) | 用于关系数据库系统中基于本体的语义匹配的系统 | |
CN1677399A (zh) | 分级数据库管理的系统、方法和程序 | |
CN1050630A (zh) | 具有部分关键字分支的前缀检索树 | |
CN1132564A (zh) | 用于数据存储与检索的方法与装置 | |
CN1133460A (zh) | 信息提取方法,信息提取设备,加权方法和图文电视广播接收设备 | |
CN1604082A (zh) | 用于任意数据模型的映射体系结构 | |
CN1437812A (zh) | 对设置参数层进行组织及组合以生成与通讯网络相关的实体的整体文件 | |
CN1558348A (zh) | 将基于模式的分级数据结构转换成平面数据结构的方法以及系统 | |
CN1321277A (zh) | 数据库系统 | |
CN1373876A (zh) | 表格式数据显示方法、插入方法、删除方法和更新方法 | |
CN1650274A (zh) | 操作管理方法和操作管理服务器 | |
CN101069156A (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 | ||
C01 | Deemed withdrawal of patent application (patent law 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |