文件或数据库管理器以及基于其的系统的制作方法

文档序号:6373897阅读:743来源:国知局
专利名称:文件或数据库管理器以及基于其的系统的制作方法
技术领域
本发明涉及一种文件或数据库管理器以及基于该文件或数据库管理器的系统。
在致力于自动理解语音和文本含义的过程中,语言学家和计算机科学家均未取得显著进步。他们将太多的精力集中到文本本身的逻辑结构上,而忽略了全局的结构语音和文本信息显然基于全局结构,且借助它。
在自然语言处理的音韵和/或音素,词汇,形态,以及语句分析方面取得很大进步。然而,将其用于理解语音含义,即,语音的语义解释时,还未取得突破进展。因此,已开发的实用分析,控制工具以及自然语音或文本设备还远远不够。
在R.V.Guha等人的文章“Enabling agents to work together”,Communication of the ACM,Vol.37,No.7,July 1994,pp.127-142中描述了一种现代语音/文本识别系统的典型实例,该文章被T.J.Schult在德文文章“Transparente Trivialitaten;Cyc-Wissensbasis inWWW”,c’t,1996,Vol.10,pp.118-121中引用。R.V.Guha所述的Cyc-system是基于输入语句的真/假分类系统的知识。T.J.Schult在其文章中指出Cyc-system所用的数据库中所代表的知识未被标准化并且仅使用下面的推论关系‘是...的元素’,‘是...的子集’,和‘具有子集’。
人类和诸如计算机系统之类的机器之间的交互作用是很多研究工作的主题。易于使用是这类研究工作的一个关键方面。
一个典型的计算机系统包括一个中央处理单元,存储器,诸如数据输入/输出设备的外围设备和诸如软盘和硬盘之类的存储介质。所述设备经一个计算机操作系统相互通信。
计算机操作系统包括几个不同的操作模块。一个这样的模块可能是文件管理器。将存储在存储介质的客户数据组织为一个具有相关格式的文件系统,并采用文件管理器来控制对该文件系统的访问。文件管理器使用各种软件经适合于该软件的应用程序接口(APIs)提供文件系统对客户的访问。例如,文件管理器可以包括一个苹果计算机公司的与Apple软件接口的API或者与DOS软件接口的MS-DOS INT 21API(Microsoft磁盘操作系统)。
文件系统存储,组织并描述客户数据。客户数据被存储在文件内。在每个文件系统以特定的格式排列文件。每个文件系统以具体格式结构保留其被称为元数据的组织和描述信息。这些格式的实例包括HFS,MS-DOS FAT,ProDOS,High Sierra,ISO 9660,NTFS等等。术语格式不仅包含物理盘格式而且包含网络服务器访问协议。
为从文件系统读出数据并将数据写入文件系统,文件管理器必须能够识别文件系统的格式。
美国专利5,355,497公开了一种文件系统和文件管理器的典型实例。该专利涉及表示现实世界‘real world’的目录结构。现实世界‘realworld’是一种树形式的结构并且现实世界‘real world’结构项是诸如文件柜,文件夹等之类的物理项。这表明该现实世界‘real world’结构与一个基础文件结构一一对应。根据该美国专利,将关于文件的信息由用户手工输入到区段(field)的预定义集合(collection)。当将各个文件存储到盘上时进行这一过程。用户必须提供该文件位置。该方法以及类似系统和方案的缺点是必须由用户产生关键字和其他标识符,这样这些关键字和标识符不可预测。这种系统和方案仅能够在用户能够记起在前使用的关键字的情况下使用,否则文件检索是一件困难和费时的工作。根据美国专利5,355,497的系统不进行文件的自动分类。在设计数据库产品时易于使用也是一个重要的方面。
已有文件和数据库系统的缺点众所周知,即,随着文件或数据库入口的增加,处理变得越来越繁琐。易于存取或检索,简单和快速存储文件或记录数据项,以及对整个文件或数据库系统的清楚概述成为关键所在。
本发明的一个目的是提供一种将元素增加到数据库系统的方案。
本发明的一个目的是提供一种对于数据库系统中的元素起作用的方案。
本发明的一个目的是提供一种数据库系统中的知识表示的新结构,例如,当增加元素或当找到/检索一个元素时,该结构易于处理数据库中的元素。
本发明的另一个目的是提供一种高效检索并找到数据库中的元素(例如,目录中的文件)的系统和方案。
由所声明的方法,计算机程序产品,计算机程序元素,以及数据库系统实现本发明的目的。
将结合详细的描述说明本发明的优点或可从说明书中显而易见。
下面将结合附图详细描述本发明。


图1示出根据本发明的部分分层知识数据库(例如,知识数据库或索引数据库)的元素(语义单元)。注意到连接对象为具体的语义单元,因此经其他连接对象从其他语义单元可以指出具体语义单元。
图2A是根据本发明的第一实施例的示意方框图。
图2B是根据本发明的第二实施例的示意方框图。
图2C是根据本发明的第三实施例的示意方框图。
图3A-3C根据本发明的一个实施例示出一个输入字符串(查询)如何转换为一个输入网络。
图4示出一个根据本发明的部分分层知识数据库。
图5示出根据本发明的‘plant1’的继承属性和关系。
图6示出根据本发明的‘plant1’的分类和围绕‘plant1’的局部网络。
图7示出根据本发明的‘plant2’的继承属性和关系。
图8示出根据本发明的‘plant2’的分类和围绕‘plant2’的局部网络。
图9示出根据本发明的’meadow’的继承属性和关系。
图10示出根据本发明的’meadow’的分类和围绕’meadow’的局部网络。
图11示出根据本发明的语句1的结果语义网络。
下面,描述本发明的基本概念。在给出不同方面和实施例之前,定义并解释相关的术语和表达。
这里的“解释”和“理解”用于描述一种处理,该处理开始于一个输入字符串,例如,几个语句,关键字,和/或问题,并分析由该字符串所传送,或载有的文本信息(也称为原始信息)以及创建一个诸如具有文件表示的图象,或数据库元素之类的适当的输出,或诸如文件检索或数据库元素之类的作用/反作用。
这里的表示“元素”用于描述一个数据库元素。这些元素的实例是“文件”(例如,计算机或机器可读文件),在数据库单元内保持的信息,一个数据库记录,一个来自图象储存库的图象,一个多媒体对象(例如,一个avi或mpeg电影)。一个元素也可以是诸数据库中的一个数据库。
这里的词“数据库”用于描述诸如文件数据库,一个数据库产品(例如,地址数据库),一个图象储存库之类的任何集合,库,或信息储存库。对于本发明而言,与数据库是结构性的还是非结构性的无关。结构数据库的一个实例是DOS或Windows文件目录(Windows是Microsoft公司的商标)。非结构数据库的一个典型实例是基本为文本的长字符串的Lotus Notes E-mail数据库(Lotus Notes是莲花开发公司的注册商标)。
表示“文本信息”被定义成任意种类的写入信息。“文本信息”不限于人类可读或人类可理解的信息。该表示也意味着包括例如,机器可读形式的程序字符串,或例如,经网络发送的编码信息。
这里的表示“题目”用于描述原始信息必定要涉及的区域,区段,事情,标题,或主题。
这里的词“存取指针”用于描述指向文件结构或文件目录中的一个文件的相对或绝对指针,或从数据库检索一个元素,例如,文本或单元字符串的顺序号或坐标,或一个从图象储存库到图象的链接。超文本链接或类似方法也可用作存取指针。存取指针的另一个实例是从数据库检索一个文本或单元字符串的顺序号或一组坐标。根据本发明,当将一个元素添加到数据库时,可以有多种选择。如果在所述元素和表示该元素的语义单元之间存在一个存取指针,则可以保留该存取指针或者创建一个新的指针。如果不存在这样的存取指针,则必须创建一个新的指针。
本发明的一个重要部分是在下面部分提出的所谓的知识数据库。该知识数据库具有唯一的结构,在1999年2月11日申请,具有优先权日1998年6月2日,申请号为PCT/IB99/00231的共同未决PCT专利申请描述了这一结构,该PCT专利申请现在被指定给本发明的受让人。该共同未决专利申请被完全并入本发明。
知识数据库知识数据库是一种通过使用定义很好的结构描述世界上,或感兴趣的特定领域的知识的库,如图1所示,该定义很好的结构由诸如语义单元的可能相关类型及其可能的相互连接之类组成。与本发明结合使用的知识库由语义单元和语义单元之间的连接对象3的各种类型组成,其中连接对象3本身可被视为语义单元。每个连接对象3可以载有一个固定或可变的加权(这里也称为语义距离),其中连接对象3的一个适当的加权函数表示其所连接的两个语义单元之间的某种语义距离,即,表示经过该特定链接的两个语义单元之间的相关程度(语义)。如果该加权一直处于0和1之间,则这样的一个计算语义距离的适当函数是加权的负对数,d=-ln(w)。
由于加权附属于链接,很清楚链接对应哪两个语义单元的语义距离。加权不能进行比较,但可用于计算任何两个链接的语义单元的语义距离(这两个语义单元可经进一步的语义单元连接,其语义距离为二者的和或各个距离的某些其他适当组合)。这样,该语义距离的概念建立了知识数据库的度量。最后,使用在其值下面时忽略该连接的可变或固定的阈值有利。因此,如果经过(例如)三个链接(这样包含两个或多个语义单元)连接两个语义单元,并且三个加权的乘积或其他适当组合处于阈值下面(或,等价地,三个距离的和或其他适当组合处于不同的阈值上面),则可以假定在这两个语义单元之间无关联。该方法允许网络局部化,即,每个语义单元仅具有有限数目的关联并且每个语义单元周围的局部网络结构不是很难。例如,不存在可能引起矛盾的环路。本文的局部网络也称为一个子集。
进一步,本文所使用的加权可以是可变的。这意味着可根据给定/假定的题目调整加权。根据给定/假定的题目调整加权的某些确定规则可存储在附属于相应加权所附属链接的具体语义单元。例如,本系统通过评价并分析用户的动作可建立一个具体的用户简要表。从这样一个简要表得到的信息从而能够用于变更某些加权。这就允许为一个具体用户或一组用户剪裁本方案或系统。例如,会计组的成员与采购部门的成员使用不同的术语和表达。本方案可适用于这样的情况。
知识数据库中的语义单元可以带有“潜在(potential)”。如果一个语义单元带有一个潜在,则其对应于该语义单元相对于来自处理中的输入字符串的段或语义单元的重要性。
从输入字符串的段或语义单元到知识数据库中的语义单元的“匹配链接”可以带有“适应性(fitness)”,这可以是一种具体种类的加权。如果一个匹配链接带有一个适应性,则其对应于分类概率,即,来自输入字符串的段或语义单元已与知识数据库中的一个语义单元正确匹配的概率。
当涉及一种知识数据库时,其含义是一个描述世界知识的库,或者具有具体应用信息的库。知识数据库反映确定区域或领域的知识。该知识数据库的内容一直构成真实世界内容的子集,对应于计算机和编制计算机程序的人的有限生活经验。然而,可以通过自动学习分析输入,或通过分开增加所得到的子-世界(例如,具体应用模块形式)来扩展知识数据库。可以想象通过企业内部互连网或因特网来更新知识数据库。同样,当在数据库中检索一条信息,或当在网络内查找一个文件时,可以,例如,链接一个特定的知识数据库。
由B.Mandelbrot和K.Wilson的文章提及的多标度(multiscale)方法实现使用知识数据库的世界状况的结构表示。如结合一个实例所述(看图4),对于不同的标度使用自相似(self-similar)表示来描述动态分层网络内的对象的行为。另外,当使用该数据库所包含的知识时,使用自相似算法。然而,本发明方法超越了B.Mandelbrot和K.Wilson的理论并且主要处理元素的行为和结构而不是处理其外部特征。
本发明的知识数据库是一个复杂的语义单元的部分分层网络。
索引数据库索引数据库是一个用于找到和/或检索来自数据库的元素,例如,来自一个文件结构或文件目录的文件,来自一个数据库的文本或单元的字符串,或来自一个图象储存库的图象的数据库。索引数据库的结构与上述的一个知识数据库类似,即,索引数据库具有部分分层结构。注意到索引数据库可以是知识数据库的一个逻辑构成,这意味着索引数据库不必是一个分开的,单独的数据库。索引数据库可以是知识数据库的子集,或者可以是从知识数据库得到的数据库。使用来自知识数据库(例如,一个世界数据库)的信息可以构成或增加索引数据库。
部分分层网络一个网络由节点(这里称为语义单元)和节点之间的链接(这里称为连接对象3)组成。如果除一般的,无伸缩(non-scaling)链接之外,还存在伸缩链接,则该网络被称为分层,对于一个给定的节点x,例如,伸缩链接可以是“...is kind of x”(hyponyms),“xis kind of...”(hypernyms),“...is part of x”(meronyms),以及“x is partof...”(holonyms)的类型,其中第一和第二关系类型通过其对于一个新节点的相似性分组几个节点,第三和第四关系类型通过其到一个新节点的功能连接分组几个节点。实例是许可合同,合作项目合同,以及雇佣合同全都通过它们的相似性(它们全是合同)用语义单元‘合同’来分组,同时责任条款,授权许可条款,以及仲裁条款全都通过其功能连接(它们全都是合同的功能部分或元素)用语义单元‘合同’来分组。
如果满足下面的四个条件则一个分层网络被称为部分的·全部节点相似(从一个模板得到)。
·全部链接类似(从一个模板得到)。
·链接还可以是节点。
·分层链接是可能的,并且至少一个节点必须具有分层链接。
实现这里所采用的部分分层网络的结构如下。如图1所示,由一个语义单元和连接对象3的列表给出网络。可以有不同类型的语义单元(信息对象,信息对象依次可以是后面所定义的对象1或属性2,或也在后面定义的连接对象3)和连接对象3(水平或伸缩,以及关系或交换的全部四种可能类型的组合,所有这些在后面被定义,其中的每一个被进一步进行划分,例如伸缩变换划分为属性和角色连接,这些也在后面进行定义)。连接对象3为语义单元的具体类型的事实造成该链接可以为节点,由此其他语义单元可以指向连接对象3的事实。伸缩连接可以朝上或朝下,同时水平连接为水平朝向(注意到使用这些方向可以较好地定义网络的分层结构,例如指向下一较低分层级的向下连接点)。各种语义单元以各种方式互连。某些连接对象3为表示多标度方法的分层。知识出现在作为一个关联网络的知识数据库。
算法可以以相同方式用于部分分层数据库(例如,知识数据库和/或索引数据库)的任何分层级上的元素,从而使其为‘部分’的算法。甚至可以将这些算法认为是语义单元本身的具体类型,从而局部存在于部分分层数据库内。每个语义单元被链接到其关联的语义单元。这些关联链接反映一个系统如何理解每个语义单元。重要的是注意到这些连接存在于任何两个语义单元之间。连接对象3本身可被认为是具有到其他语义单元的连接对象3的语义单元,这就反映了是对两个语义单元之间的关联而不是对单个的语义单元施加作用的事实。根据本发明,通过相应索引数据库的部分组织大大简化了与数据库的结构有关的复杂信息,数据库包含可能具有不同内容的很多元素,这些复杂信息必须有效地(即,以用户友好方式)与数据库相互配合。
索引数据库的部分组织也大大简化了到索引数据库的数据入口以及通过从知识数据库提取信息对索引数据库的学习/更新。有可能通过考虑到用户提供的附加信息,自动创建复杂网络。
语义单元语义单元是包含一个或几个信息段的一个组。它可以表示为一个词,一个对象1,一个属性2,一个连接3,一个词和/或对象1和/或属性2和/或关系的组合,一个词和/或对象1和/或属性2和/或关系的(分层)网络,一个语句的一部分或整个语句,一个段落的一部分或整个段落,或一个故事的一部分或整个故事。索引数据库的语义单元可以经一个存取指针与数据库中的一个元素,例如文件结构或文件目录中的一个文件关联。该存取指针可以作为与水平相似性关系对应的一个连接。
知识数据库和索引数据库中的语义单元在这些数据库中,按上面定义使用语义单元。通过,例如一个词,短语(表示名称),或一个元素名称(例如,一个文件名)以及通过语义单元所附属的所有连接给出该语义单元。对于本发明,定义下面的语义单元类型信息对象,进一步细分为对象1和属性2,以及连接对象3,后者进一步细分为所有四种可能类型,即,水平连接或伸缩连接,以及关系连接或交换连接的组合,其中伸缩交换连接进一步细分为属性连接4和角色连接5。注意到也有可能定义一个较大或较小数目的语义单元。
对象1这种类型的语义单元对应于独立于其他语义单元存在的单个语义单元。每个对象1可能具有一组到其他对象1的连接。每个连接具有与其所连接的两个对象的语义距离对应的加权。每个对象1具有一组到其他属性的连接,其他属性对应于其所具有的可能属性2。每个连接具有与对象1和可能属性2(即,对象1的属性2的重要性)的语义距离对应的加权。每个对象1具有一组到其他连接对象3的连接,其他连接对象3对应于对象1在可其中起作用的可能关系。每个连接具有对应于对象1和该连接在其中起作用的可能关系的语义距离的加权。存取指针可以与索引数据库的对象1关联以允许访问由索引数据库的该对象1表示的元素。
注意到连接对象3事实上是一个具体的语义单元类型,从而被其他语义单元指向。这反映了某些语义单元可对对象1的一个可能关系或可能属性施加影响的事实。注意到一个语义单元也可以通过,例如改变数据库中的一个元素的关系地址来对存取指针施加影响。
属性2这种类型的语义单元对应于表示与对象1的特定状态和关系有关的详细信息的语义单元。因此,每个属性2可以具有一个或多个可能的值。值可以是一个字符串,一个整数值,一个浮点值,一个向量,或任何其他的有序或无序组。每个属性2可以具有一组到其他属性2的连接。每个连接可以具有对应于其所连接的两个属性的语义距离的加权。时间和空间可以是具体的属性。如果被对象1指向,则它们涉及对象1存在或有效的时刻和地点的时间和空间;如果被一个关系指向,则涉及该关系发生的时刻和地点的时间和空间;以及如果被一个属性2指向,则涉及假定该状态的时刻和地点的时间和空间。
这里还注意到这些连接对象3中的每一个事实上是语义单元的具体类型,从而被其他语义单元所指向。
创建数据,最后修订的日期,文件语言,拥有者的姓名,等都可以是一个数据库系统中的元素的典型属性2。
连接对象3这种类型的语义单元对应于表示所有类型的语义单元之间的任何种类的关系的语义单元。每个连接对象3可以具有一组到其他连接对象3的连接。每个连接3可以具有对应于其所连接的两个连接对象3的语义距离的加权。每个连接对象3可以具有一组到其他对象1的连接,该连接对应于对象1在连接对象3所表示的关系中扮演的可能角色。每个连接可以具有对应于连接对象3和可能角色的语义距离的加权(即,连接对象的角色的重要性)。每个连接对象3可以具有一组到其他属性2的连接,该连接对应于连接对象3所采用的可能属性。每个连接3可以具有对应于连接对象3和可能属性2的语义距离的加权(即,连接对象的属性的重要性)。
这里还注意到这些连接对象3中的每一个事实上是语义单元的具体类型,从而由其他语义单元所指向。
连接对象的类型连接对象3可被看作是语义单元之间的直接关联连接。连接对象3中的某些建立分层结构。根据本发明的知识数据库和/或索引数据库可包括下面的连接对象类型·伸缩连接存在两种伸缩连接(看图1);伸缩关系9(相似性连接)和伸缩交换8(功能连接)。与分层关联连接对应,两种伸缩连接可以指向上或下。
·水平连接存在两种水平连接(看图1);与非分层关联连接对应,水平关系7(相似性连接)和水平交换6(功能连接)。
·属性连接4与可能的属性关联连接(例如,指向可能为其可能属性的其他语义单元的语义单元)对应,这是一种连接。注意到一种属性连接可被认为是水平交换的具体类型。
·角色连接与可能的关联角色(例如,指向可取代其可能角色的其他语义单元的语义单元)对应,这是一种连接。注意到角色连接可被认为是水平交换的具体类型。
上面列出的连接对象3可被认为是语义单元,因此,这些连接对象可以具有其所附属的相同种类的连接。这对应于真实世界中的关联的复杂性。
本发明的知识数据库和索引数据库的结构在下面几点上扩展了面向对象的概念。一点是在本发明的知识数据库中具有一个对象(或类)“小汽车”,通过给定的输入字符串可以找到该类的例子,一个具体的小汽车,比如说“Dent先生的福特”。接着(作为一个例子)“Dent先生的福特”带有“小汽车”类的所有数据和成员功能。然而,不是所有的数据都可以被规定,例如,可能不能规定颜色并且不必通过构造符将其设定为任何默认值(例如,红色)。甚至更糟的情况是,“Dent先生的福特”可以带有在“小汽车”类未定义的数据,因为该知识还未被知识数据库所了解。因此该对象“Dent先生的福特”仅被称为“小汽车”类的“近似”实例。另一个通常的问题是继承。只有子类可以继承来自上级类的定义,因此,如果想要以严格的面向对象的术语采用继承的概念,则本发明的知识数据库和索引数据库中的所有项必须是单个的类,类中的某些为其他类的子类。然而,这就不允许“水平/关联”连接,因为两个类不能通过一个链接连接(只有其实例可以)。
本发明的基本方案根据本发明,存在四种不同的处理。
1.将一个元素增加到数据库系统,2.对数据库系统中所保持的元素施加作用,3.创建一个数据库系统所用的索引数据库,和4.更新数据库系统所用的索引数据库。
将结合一个数据库系统给出这四种处理,其中数据库系统包括一个知识数据库和一个索引数据库。这两个数据库都具有部分分层结构。
将一个元素增加到数据库系统根据本发明,如果要将一个元素增加到数据库中,则进行下面的步骤。
从描述该元素的输入字符串产生一个(扩充)输入网络。该扩充输入网络一定与要增加到数据库中的元素相关。该扩充输入网络包括一个表示要增加到数据库中的元素的语义单元。其进一步包括该语义单元与知识数据库或索引数据库中的语义单元的关系。可以查阅知识数据库以获得扩充输入网络。输入字符串可由一个用户或一个应用程序产生,或者也可以通过增加到数据库系统中的元素自动产生。这可以通过爬过(crawl)该元素以提取作为该元素的特征和/或其内容的信息的机构实现。一个自动对象识别方案可用于此目的。输入字符串可以是,例如文件名。
取代从输入字符串产生扩充输入网络,可以分析要增加的元素的内容并使用分析结果产生扩充输入网络。在该情况下输入字符串未必是必须的。另外,该扩充输入网络一定与要增加到数据库系统的元素相关。它包括一个表示要增加到数据库的元素的语义单元。其进一步包括该语义单元与知识数据库和索引数据库中的语义单元的关系。可以查询知识数据库以获得扩充输入网络。
还可以想到使用上面两种方法的组合来产生扩充输入网络。在这种情况下,不但考虑输入字符串还要考虑元素的内容以产生扩充输入网络。
在下一步骤,使用描述或定义新增加的元素的信息来更新索引数据库。这通过将输入网络与索引数据库关联,或通过将语义单元或输入网络增加到索引数据库来实现。如上所述,索引数据库具有分层特征以及所有元素相似,因此要增加到索引数据库的扩充输入网络最好具有部分分层结构。
为允许一个系统或用户在后面点及时作用于增加的元素,创建一个存取指针。该存取指针在表示元素的语义单元和象这样的元素之间提供一个物理或逻辑链接(例如,一个存储器地址)。存取指针可用于访问数据库中的元素,或用于从数据库检索元素,或用于使用适当的应用程序(例如,一个文本处理器)打开元素,或用于显示元素,或用于对这种存取指针执行一个操作。一个实例为采用存取指针并将其发送给另一个用户。存取指针可以描述所述元素存储在数据库中的物理或逻辑位置。
处理在数据库系统中保持的元素如果根据本发明处理数据库中的元素,则进行下面的步骤。
在一个用户或系统处理一个数据库中的元素之前,必须定位相应的元素。为使系统能够定位该元素,需要包含有助于识别该元素的信息的输入字符串。该输入字符串由系统接收。输入字符串可以包括关键字,或文本信息。关键字或文本信息或者是人可读或者是机器可读的。为改进用户和系统之间的交互作用,可以采用语音识别模块以便用户可与系统‘交谈’。接着语音识别模块将语音转换为文本信息,然后以与其他输入字符串的相同方式处理该文本信息。改进用户和系统之间的交互作用的另一个方法是安装记录用户行为的摄象机。一个图象识别模块接着将行为转换为文本信息,然后以与其他输入字符串的相同方式处理该文本信息。在所有情况下,可以通过查询知识数据库评价该文本信息。
然后,评价输入字符串。进行上述过程以获得一个(扩充)输入网络,该输入网络又被定义为索引数据库中的一个局部网络。该局部网络被定义为其必定相关的一个部分,或区段,或索引数据库的区段组。定义局部网络以便其包括至少一个语义单元,该语义单元表示该输入字符串似乎相关或关联的元素(即,其具有到数据库元素的存取指针)。如果未找到相关或关联的语义单元,则停止该过程,或者用户或系统被提示有助于查明输入字符串所传送的信息的附加信息。可以查询知识数据库以获得扩充输入网络。可以定义所述索引数据库中的局部网络以便其包括语义单元,该语义单元表示与扩充输入网络的语义单元语义相邻(从距离函数计算所得)的元素。换言之,可以定义所述索引数据库中的局部网络以便其包括与输入字符串相关的语义单元。
下面假定,找到至少一个相关或关联的语义单元,显示该(这些)语义单元。语义单元可以显示,例如在屏幕上,或可以高亮度显示在表示该索引数据库或知识数据库的网络内。可以排列或显示语义单元以向用户给出关于其存取指针指向的元素的内容(例如,文件系统中的文件名)的线索。该系统可创建一个人可理解的输出,例如一个映象或系统语义单元的其他种类的视频或音频表示,系统认为这些输出与用户正查找的信息相关。
如果仅存在一个一定与输入字符串相关的语义单元,则用户或系统能通过使用与该语义单元关联的存取指针处理相应的数据库元素。存取指针可用于访问数据库中的元素,或从数据库检索元素,或用于使用适当的应用程序(例如,一个文本处理器)打开元素,或用于显示元素,或用于对这种存取指针执行一个操作。一个实例为采用存取指针并将其发送给另一个用户。存取指针可以描述所述元素存储在数据库中的物理或逻辑位置。
如果存在多于一个的一定与输入字符串相关或关联的语义单元,则用户或系统能通过使用与这些语义单元关联的存取指针处理一个或多于一个的相应元素。作为一种替换,可以提示给用户附加信息以查明输入字符串并减少必定与该输入字符串相关或关联的语义单元数目。
可以使用,例如一个计算机鼠标,一个计算机键盘上的键,或计算机键盘上的键的组合来处理元素。
创建用于数据库系统的索引数据库结合本发明可以创建所使用的索引数据库如下。
应当指出,存在两种将元素增加到数据库的方法1)将元素物理地增加到数据库,其含义为元素内容被移到数据库,或2)将元素逻辑地增加到数据库。在这种情况下,物理元素处于数据库外部,即,其未移入数据库,而是仅将表示该元素的语义单元增加到数据库。
如果接收到要增加到数据库系统的第一元素,并且还未出现索引数据库,则必须创建初始索引数据库。在这种情况下,与将一个元素增加到数据库系统的情况相似,重要的是产生描述该元素的信息。这对于后面处理该元素至关重要。使用该信息创建索引数据库。这通过产生一个(扩充)输入网络实现,输入网络包括一个表示要增加到数据库中的元素的语义单元。其进一步包括该语义单元与知识数据库中提供的语义单元的关系,可以查询知识数据库以获得该扩充输入网络。
然后,新创建的扩充输入网络(为一个部分分层网络)被称为新创建的索引数据库。
更新用于数据库系统的索引数据库结合本发明可以更新所用的索引数据库如下。
将索引数据库的结构与知识数据库的结构进行比较。这通过比较索引数据库的语义单元和其到知识数据库中的对应部分的连接(也是语义单元)来实现。特别是,比较所有语义单元的邻域结构。如果该比较表明在知识数据库中的语义单元的邻域内存在附加语义单元或连接(与其在索引数据库中的对应部分的邻域比较),则这些附加语义单元可以被复制到索引数据库中。这就丰富了索引数据库的结构并在先前未知的数据库元素之间创建新的关系(通过其在索引数据库中所示的语义单元)。如果发现一个结构上的不匹配,则可删除索引数据库中的一个或几个语义单元(只要它们不涉及数据库元素)。这可以修正先前创建的数据库元素的无效关系。
如果接收要增加到数据库系统的一个元素,则更新现存的索引数据库。在这种情况下,与创建一个初始索引数据库的情况类似,重要的是产生描述该元素的信息。这对于后面处理该元素至关重要。使用该信息更新现存的索引数据库。这通过产生一个(扩充)输入网络实现,输入网络包括一个表示要增加到数据库中的元素的语义单元。其进一步包括该语义单元与由知识数据库提供的语义单元的关系,可以查询知识数据库以获得该扩充输入网络。
然后,新创建的扩充输入网络(为一个部分分层网络)与现存索引数据库关联或增加到现存索引数据库。
本发明方法便于输入字符串所传送的含义和/或信息的自动理解并有可能在数据库找到匹配输入字符串或与输入字符串传送的信息相关的元素。本发明方法还便于在数据库找到元素之间新的并且以前不知道的关系。
本发明的详细实施例第一实施例根据本发明的数据库系统10包括知识数据库11,索引数据库13,以及一个处理单元。该处理单元可以以硬件和/或软件实现并包括一个例如,语义处理器。系统10接收输入字符串12并由语义处理器14处理输入字符串12(例如,一个文本或一个语音)以产生语义网络。输入字符串12可以包括关键字,或文本信息。关键字或文本信息可以是人可读或机器可读的。输入字符串12可以通过查询知识数据库11进行评价。一个处理单元执行输入字符串12的评价以获得定义索引数据库内的一个局部网络的语义网络。该局部网络可以是输入字符串12必定相关的索引数据库13的一部分,区段,或区段组。定义该局部网络以便其包括至少一个语义单元,该语义单元表示输入字符串12似乎与其相关或关联的元素。如果未找到相关或关联的语义单元,则停止该过程,或者用户或系统可能被提示有助于查明原始输入字符串12所传送的信息的附加信息。
可以定义所述索引数据库13内的局部网络以便其包括表示处于语义邻域的元素的语义单元。换言之,可以定义所述索引数据库13内的局部网络以便其包括关联语义单元。
如果输入字符串12包括关键字,则可能不需要语义处理器14,因为可以通过处理单元立刻建立这些关键字和索引数据库13的语义单元之间的关联。
如果找到一个或多个相关或关联的语义单元,则产生输出15。输出15可以显示,例如在屏幕上,或可以高亮度显示在表示索引数据库13,或知识数据库11的网络内。输出15可以是人可理解的输出,例如一个映象或语义单元的其他种类的视频或音频表示,系统认为这些输出与用户正查找的信息相关。
第二实施例如图2B所示,第二实施例增加允许用户16或系统与系统10交互作用的反馈回路。这就允许一个用户或系统修改原始输入字符串12并第二次进行该过程。由于相信索引数据库13的复杂性,或缺少输入字符串12的信息,可能需要几个迭代以便最后识别数据库10中必定与输入字符串12中的信息相关的至少一个元素。
第三实施例根据本发明,如图2C所示,把输入字符串12(例如,一个文本或语音)转换为一个语义单元的正式网络18(这里也称为输入网络)。这可以通过语义处理器17实现。对于这种转换,存在各种常规的技术,下面将对此进行讨论。
语义处理器正如所提到的,语义处理器17将输入字符串12转换为输入网络18(正式网络)。语义处理器为数据系统的处理单元的一部分。例如结合一个语音识别模块所使用的语义处理器由四个部件组成I.将语音或姿势转换为输入字符串12的声音或图象识别软件。该特征为可选的,因为输入数据可能已以写入形式出现。
II.创建输入字符串的语法结构的语法分析器。该语法结构展示了输入字符串的元素的功能关系。Noam Chomsky(语法结构,1959)的初始(ground-breaking)工作的所有扩展,位置语法,词汇功能语法,通用的短语结构语法的理论,或论述表示理论,提供该步骤的可能框架。它从功能结构创建输入(正式)网络18。
III.从输入字符串的元素产生正确语义单元的并通过语法结构中所述的连接对象将其连接的转换器。
下面结合图3A-3B所示的实例解释语义处理器17的行为语音“麦克是一个小男孩,他每天早晨步行上学。”
输入字符串麦克是一个小男孩,他每天早晨步行上学。
语法结构分析器创建表示输入字符串的元素的功能关系的语法结构。由于存在两个分开的语句,分析器创建两个语法结构23和24,如图3A所示。
正式网络转换器创建正确的语义单元并使用正确的连接对象连接它们。正式网络的一个实例如图3B所示。
如图3A所示,存在对每个语句的语法分析。每个语法分析由一个树结构25组成,该树结构25处于每个语法分析的左侧。语法分析中的每行表示句子中的每个词。从左到右,每行从语法分析树信息开始,依次为位置描述信息,词本身,其可能包含的含义和占据的位置列表,以及最后的特征列表。例如,在第一语法分析23的第二行,我们看到树信息(o---)25,这里(o---)含义是这是树的根节点。接着是位置描述信息26(top),这里含义是它是语句的上部元素。词本身是(be),其未跟随含义,但跟随了占据位置(2,1,5)的列表。其含义是该词本身是语句中的第二词,主体角色由语句中的第一词(mike)承担,以及对象角色由语句中的第五词(boy)承担。最后读取特征列表27(verbvfin vpast sg vsubj),其含义是该词为过去时态的限定性动词,不规则词性变化。另一个实例是第二语法分析24的第六行。我们看到树信息(\-+-)25,这里(\)含义是这是树的根节点的子节点,以及(+)含义是子节点分支该节点。接着是位置描述信息26(vadv),这里含义是该节点(及其子节点)为动词的副词短语。词本身是(morning),其跟随含义(1),该含义是所用的‘morning’为位置语法字典中的‘morning’首次出现的含义。它由占据位置列表(6,u)跟随。这意味着该词本身是语句中的第六词,而第二个位置未被占据。最后读取特征列表27(noun cn sg tm),其含义是该词为带有时间信息的不规则词性变化的可数名词。
接着,语义处理器17产生一个输入网络(正式网络)18,如图3B所示。该网络18包括四个对象30-33,四个属性34-37,两个连接对象38-39,两个主体角色连接40-41,一个对象角色连接42,四个属性连接43-46,以及一个水平关系47。应注意到给出上述细节仅描述一个输入网络是如何得到的以及其可能的结构是什么。
一旦创建输入网络18,语义处理就开始。这可以通过进行下面的六个程序中的任何一个实现,其中这六个程序导致相同的结果,即索引数据库中的一个局部网络。
1)语义处理器19取得输入网络18并在知识数据库11中定位一个必定最好适合于输入网络中的所有语义单元的子集。
该子集与原始输入网络一起从而被称为扩充输入网络。
2)语义处理器19取得输入网络18并使用来自知识数据库11的语义单元对其进行扩展。该扩展输入网络与原始输入网络一起从而被称为扩充输入网络。
3)语义处理器19创建一个新的语义单元的部分分层网络以及来自输入网络18和知识数据库11的指针,其中根据匹配算法选择部件。该新创建的部分分层网络与原始输入网络一起从而被称为扩充输入网络。
4)-6)为与1)-3)等价的处理,但是语义处理器使用索引数据库13取代知识数据库11。
扩充输入网络(由上面处理中的任何一个创建)不但反映输入字符串12的一般含义而且反映其各个方面,这与语义单元的部分分层网络所表示的知识数据库11类似。使用知识数据库11中的数据和/或索引数据库13中的数据通过一个匹配算法执行由上述处理中的任何一个创建扩充输入网络。可以从知识数据库11和/或索引数据库13提取信息,用于扩充输入网络的建立。
存在几种不同方式实施语义处理器19。实际的实施取决于是否想将扩充输入网络定义为知识数据库11中的子集的问题(第一实施),或使用来自知识数据库11的语义单元扩展输入网络18(第二实施),或从知识数据库11产生一个新的扩充输入网络(第三实施),或将扩充输入网络定义为索引数据库13内的一个子集(第四实施),或使用来自索引数据库13的语义单元扩展输入网络18(第五实施),或从索引数据库13产生一个新的扩充输入网络(第六实施)。
语义处理器19可以创建一个适当的输出,在第三实施例的情况下该适当的输出为一个输出网络20。该输出网络20具有经存取指针22指向数据库21中的元素E1的至少一个语义单元SU1。如果用户要看到元素E1,则元素E1的取得和显示为输出动作15。注意到输出网络20可被认为是输出15,如旁路23所示。在这种情况下可省略数据库21。
应当指出,数据库系统的处理单元和语义处理器的改进取决于其被使用的环境。第一和第二实施例的语义处理器(分别由图2A和图2B所示)与第三实施例的语义处理器不同(图2C)。
应当指出,不存在表示程序4)-6)的单独图。这些程序与程序1)-3)类似,其区别是在产生扩充输入网络时未查询知识数据库11。由于该原因,虚示语义处理器14,19和知识数据库11之间的连接以表示该连接为可选的。
根据第一和第二实施例(图2A和图2B),当给出一个输入字符串12时,由于它们所表示的相应段,各个词,各个关键字,或语义单元必定在输入字符串中被连接,故语义处理器14通过将语义单元(例如,对象1,属性2,连接对象3,等)分配到各个段,各个词,各个关键词,或输入字符串12的语义单元(如果输入字符串12包含任何语义单元),并使用连接对象3(例如水平交换,水平关系,伸缩交换,伸缩关系,属性连接4,角色连接5,等)连接这些语义单元,来创建所产生的扩充输入网络的第一推测。接着语义处理器14从知识数据库11,或作为一种替换,从索引数据库13读出可能的子集,该子集必定与上述扩充输入网络(对应于输入字符串12)的第一推测的各种语义单元关联。语义处理器14使用来自知识数据库11,或作为一种替换,来自索引数据库13的语义单元通过分类规则(例如继承,实施,以及重写规则)执行上述推测的语义单元的匹配。接着将产生的网络称为扩充输入网络。
根据第三实施例(图2C),由于输入字符串12所表示的相应段,各个词,各个关键字,或语义单元必定在输入字符串12中被连接,故语义处理器17通过将语义单元(例如,对象,属性,连接对象,等)分配到各个段,各个词,各个关键词,或输入字符串12的语义单元(如果输入字符串12包含任何语义单元),并使用连接对象3(例如水平交换,水平关系,伸缩交换,伸缩关系,属性连接4,角色连接5,等)连接这些语义单元,来创建所产生的扩充输入网络的第一推测。接着语义处理器19从知识数据库11,或作为一种替换,从索引数据库13读出可能的子集,该子集必定与上述扩充输入网络(对应于输入字符串12并由语义处理器17产生)的第一推测的各种语义单元关联。语义处理器19使用来自知识数据库11或作为一种替换,来自索引数据库13的语义单元通过分类规则(例如继承,实施,以及重写规则)执行上述推测的语义单元的匹配。接着将产生的网络称为扩充输入网络。
在所有三个实施例(图2A-2C)中,扩充输入网络与索引数据库13相关。首先确定扩充输入网络与索引数据库13的重叠。这就在索引数据库13中产生必定与扩充输入网络相关的语义单元的子集。该子集为上述的索引数据库13中的局部网络。
下一步骤取决于所选择的处理(将一个元素增加到数据库系统或处理数据库系统所保持的元素)。在第一种情况下,更新索引数据库13。这可以通过将一个扩充输入网络(其包含一个载有到所增加的元素的存取指针的特定语义单元)增加到索引数据库13以便创建到索引数据库13中的语义单元的上述识别局部网络的适当的连接对象来实现。在第二种情况下,使用具有到索引数据库13中的语义单元的上述识别局部网络的数据库系统中所保持的元素的存取指针的所有语义单元来处理前述的这些语义单元。
预先判断在扩充输入网络产生期间,通过语义处理器14或19完成“题目”匹配(或预先判断)。从一组可能的题目组中选择一个影响知识数据库11或索引数据库13内的语义单元的语义距离的题目。这样的题目可以存储在具体的语义单元或具体语义单元的部分分层网络中。接着语义处理器14和19检验输入字符串12或输入网络18的语义单元是如何与其(被认为)在知识数据库11或索引数据库13内的对应部分很好匹配的。应当注意,对于这种评价,语义处理器14和19从知识数据库11或索引数据库13检索所请求的信息(围绕被认为的语义单元的邻域)。出于该目的,语义处理器14和19使用下面的信息一个可能的题目(定义如何调整加权),和一个阈值(定义从何处切断知识数据库11或索引数据库13内的给定语义单元周围的网络)。接着对从知识数据库11或索引数据库13检索的邻域的所有可能组合,比较相互重叠,以正好找到哪一个组合(例如,因为其产生最大重叠量)最有可能俘获输入字符串12的含义,其中每个邻域对应于来自输入字符串12或输入网络18的语义单元中的一个(注意到这些邻域与所选择的题目有关)。所产生的来自知识数据库11或索引数据库13的语义单元组与其对应的来自输入字符串12或输入网络18的语义单元一起构成最终的扩充输入网络(注意到该网络仍与所选择的题目有关)。
根据本发明的第三实施例,通过增加来自知识数据库11或索引数据库13的知识来扩展输入网络18中包含的信息。为避免添加知识数据库11或索引数据库13的全部内容,扩展处理可由一个题目预先判断机构自行控制(例如通过将语义单元浓缩为更为概要的语义单元,或通过计数扩充输入网络的第一推测的各个语义单元,或者在扩充输入网络的任何后续处理阶段上的连接来得到)。可连续更新预先判断,并且如果发现题目的矛盾或变化,甚至可以进行动态修正。另外,确定和/或改变知识数据库11或索引数据库13内的加权,因此,如果例如增加一个语义单元到另一个语义单元的链接,则将来自知识数据库11或索引数据库13的第二个语义单元的相邻元素也增加到所产生的扩充输入网络,这是因为它们(当前推测)在该题目内相关(语义增强)。最后,如果输入字符串12相当长,则预先判断甚至可以具有一个分层结构(即,概要的概要)。
应该注意到本发明方法的结果取决于知识数据库11和/或索引数据库13的质量。
下面,给出语义处理器的示范算法描述。下面的算法可用于产生扩充输入网络。
<pre listing-type="program-listing"><![CDATA[=======算法描述开始=======For all objects and connection objects in inputstring(omit“be”and“have”)    ∥suppose there are N such semantical units{  For all fitting knowledge database  entries(string match)     ∥suppose there are n;   ∥(I<=i<=N)  {  Create semantical unit instance  Inherit all possible attributes from knowledge database  If(object)Inherit all possible connections from knowledge database(including   attached roles)  If(connection)Inherit all possible role objects from knowledge database  Compute isolated fitness  {   fi=I/sqrt(ni)   Adjust for implemented attributesgood fit+25% rel.,bad fit-10% rel.   Adjust for implemented connectionsgood fit+10% rel.,bad fit-50%rel.   Adjust for implemented rolesgood fit+10% rel.,bad fit-50% rel.  }  Find local neighborhood  {   Set potential of semantical unit to sqrt(k/m)   ∥k=# appearances of semantical unit in story up   to present sentence   ∥m=total number of semantical units in story up   to present sentence   Propagate potential across weights in knowledge database   Attach everything above min. threshold tmin=0.3  }  } }∥yields n1+...+nN local neighborhoodsFor all combination of local neighborhoods∥there are n1*...*nN combinations{  Compute local fitness adjustment(cellular automat method)  {   Count how many double,triple,etc.overlaps of objects(l2(t),...,lN(t))   ∥Note that the l1 depend on threshold t   lfai=maxmin<=t<=1{+1/πArcTan(20t-10+2sqrt(∑i=2Nil1/N)}   ∥May improve this formula by making it“source”dependent,   ∥i.e.overlaps between subject and predicate count more than others.  }  Adjust fitness of each semantical unit in combination with calculated local  fitness adjustment  Compute total fitness of combination   {   Fi=(30% pred.fitness+30% subj.fitness+20% obj.fitness+20% other)   ∥all of the above relative to 100%,in case any of the categories is   ∥missing or multiply present.   }}Pick combination with highest total fitness as correct sentence networkConnect semantical units according to syntactic structure of input string.=======算法结束描述=======]]></pre>结合下面的包括三个语句的输入文本12描述根据本发明的三个实施例的系统操作。使用来自图4所示的知识数据库11的知识来扩展这三个语句包含的信息。从该图可以看出,知识数据库11包括图1所示的语义单元。
输入字符串12包括三个语句I.On the meadow is an old plant.
II.Weeds are already growing next to it.
III.Because the plant is ugly,people will tear it down.
语句I的处理(括弧[...]内为注释)输入网络由对象‘plant’和‘meadow’组成。plant具有属性‘old’和‘a’,meadow具有属性‘the’。‘meadow’通过一个代理角色连接而连接到连接对象‘be’。‘meadow’通过水平关系‘on’连接到连接对象‘be’。
仅存在两个需要考虑的语义单元,对象‘plant’和‘meadow’。省略连接对象‘be’。这样我们就有第一语义单元plant第二语义单元meadowN=2,n1=2,n2=1[存在两个对象,即,N=2。在知识数据库11中存在两种‘plant’(被称为plant1和plant2),即,n1=2。词‘meadow’仅出现一次,即,n2=1。图5,7和9示出两个语义单元的继承可能属性以及关系]计算隔离适应性和潜在(plant)f1=1/sqrt(2)+25%rel.=0.7071+0.0732=0.7803 [plant1和plant2的隔离适应性。plant实现可能属性‘age’]p1=sqrt(1/2)=0.7071 [plant1和plant2的隔离潜在]计算隔离适应性和潜在(meadow)f2=1/sqrt(1)+0%rel.=1.0 [meadow的隔离适应性。未实现]P2=sqrt(1/2)=0.7071 [meadow的隔离潜在]潜在的传播参见图6,8,和10存在三个局部邻域(子集)和两个组合组合1(plant1和meadow)在tmin=0.3之上无重叠 [plant1和meadow之间不存在关系;在该实例阈值tmin为0.3]lfa1=0[适应性无变化]F1=60%subj.fit.+40%obj.fit.=0.6*0.7803+0.4*1.0=0.8682[组合1的适应性]组合2(plant2和meadow)l2=3(0.3<=t<=0.3531);l2=2(0.3531<t<=0.3620);l2=1(0.3620<t<=0.4414);l2=0(0.4414<t<=1.0) [关于重叠参见图8和10]lfa2=max{...}=0.7201f1=0.7803+72.01%rel.=0.7803+0.1582=0.9385 [plant1的改进适应性]f2=1.0+72.01%rel.=1.0+0=1.0 [meadow的改进适应性]和部件)和不同的深度(分枝数)。(如附图1所示)定义树是一个或多个结点的有限集合。
1、有一个特殊标记的结点,称为根。
2、剩下的结点构成几个不相同的集合,F1、F2、F3、……,Fn N≥0每一个Fi,i=1、2、3……,N是根的分枝3、层次;指树的深度和分枝层次。
有许多名词是与树有关的,列举如下“结点”,通常被用耒表示某个信息以及由其出发而指向其它信息的所有分枝。如结点“覆”是指汉字“覆”加上它的三个分枝。树可以有不同的画法,是与日常生活植物“树”相反的。如我们将树的根画在最上面的,一个结点的分枝数目,被称为该结点的“度”或者“级”,而“覆”是一个四度结点。而结点“西”、“丿”、“亻”、“”、“日”、“女”和“攵”是0度结点,0度结点称为叶子或者终端结点,“西、丿、亻、、日、攵”是根为“覆”所有叶子的集合。相应地其它结点称为非终端结点(覆、復、彳、复、)是根为“覆”的所有非终端结点的集合。
结点的层次可以递归地定义,即先定义根的层次为1,然后再定义分枝为第二层结点、第三层结点,直到第N层结点。一棵树的深度或高度定义为该树上所有结点具有的层次数的最大值。因此,以“覆”为根的树是三层次树,或称其深度为“3”的树。
N根不相交的树(N≥0)的集合称为森林。如果我们把汉字转换成一棵树,所有不能分割的汉字部件和笔画(中文字母字)称为叶子。显然对一棵树而言,叶子的集合越小,生成的树的深度愈大,反之,叶子的集合越大,则生成的树深度越小。在实际应用中,为了用52个中文字母字来表示无限个汉字,“覆”字中的“西”和“夂”还可以进一步往下分为“西”=一、冂、丿、;“夂”=
、;在计算机科学中,有许多树的表达方法,本文采用“表结构”表示法。表结构的记号为Fi{T1(A、B、C、D、)、T2(A、B、C、D)......Tn(A、B、C、D)}其中Fi表示表的名称,而T1、T2、……Tn表示该表的元素。A、B、C、D分别表示每个元素的结构信息、定位信息、尺寸信息和其它信息。属性。下面,计算对象‘plant’的隔离潜在为
,因为在相当于本发明的语句I的字符串中存在一个对象‘plant’外部特征以及存在总共两个语义单元(‘plant’和‘meadow’)。通过将分类概率与‘plant’的隔离潜在相乘计算‘plant1’的潜在。‘plant1’的潜在为0.7803×0.7071=0.5518,该值处于阈值0.3之上。在实例中,分配给‘plant1’和‘building’之间的连接的加权(语义距离)为0.8。计算‘building’的潜在为0.5518×0.8=0.4414,该值也处于阈值0.3之上。在实例中,分配给‘building’和‘complex’之间的连接的加权(语义距离)为1.0,计算‘complex’的潜在为0.4414×1.0=0.4414,该值也处于阈值0.3之上。在本发明实例,分配给‘complex’和‘entity’之间的连接的加权(语义距离)为0.7,并计算‘entity’的潜在为0.4414×0.7=0.3090,该值处于阈值0.3之上。所有其他语义单元的潜在处于阈值之下,从而这些语义单元必定无相关性。通过上面计算,示出潜在是如何通过网络传播,直到识别一个子集(扩充输入网络部分)为止的。注意到可以修改所述公式和算法。
图8示出plant1的子集60(扩充输入网络部分)。使用与结合图6所述相同的方法识别该子集60。
如果现在比较图6和8示出的子集50和60,则不容易得出两种可能中哪种可能是输入字符串12中传送文本信息的较好表示。
最后,识别对应于输入字符串12中的第二对象‘meadow’的第三子集70。该子集70由图10给出。meadow的隔离潜在为0.7071。输入网络中的对象‘meadow’的分类概率与知识数据库11中的对象‘meadow’相同,为
,这是因为在数据库11中仅存在一个语义单元‘meadow’。这就产生了知识数据库11中的‘meadow’的潜在为0.7071。在本实例中‘meadow’和‘grassland’之间的语义距离为0.8,并且计算‘grassland’的潜在为0.7071×0.8=0.5667。在本实例中‘grassland’和‘weed’之间的语义距离为0.8,并且计算‘weed’的潜在为0.5667×0.8=0.4526。在本实例中‘weed’和‘plant2’之间的语义距离为0.8,并且计算‘plant2’的潜在为0.4526×0.8=0.3620,该值处于阈值之上。在本实例中‘grasssland’和‘location’之间的语义距离为0.7,并且计算‘location’的潜在为0.5657×0.178=0.3960,该值处于阈值之上。
根据本实例,对于输入字符串12中的两个语义单元,我们现在具有三个子集50,60和70。在下一步,组合三个子集50,60和70以得到扩充输入网络80。为保证该扩充输入网络80较好反映输入字符串12中所传送的文本信息的内容,必须选择三个子集50,60和70的最可能的组合。存在不同的实现方式。本文所述方法起源于三个子集50,60和70的所有可能组合。在本实例中,它们是组合“plant1+meadow”(组合1)和“plant2+meadow”(组合2),这是因为在每个组合中所有语义单元必须准确出现一次。接着对于每个组合确定子集中的重叠。在组合1,无重叠,而在组合2,语义单元“weed”,“grassland”,以及“plant2”具有重叠(即,它们不但出现在“plant2”的子集而且出现在“meadow”的子集中)。因此,组合2中的语义单元从公式Ifa2=max(tmin&lt;=t&lt;=1){1/2+1/JIarcTan(20t-10+2&Sigma;i=2Nili/N)]]>计算得到加分(局部适应性调整)。如果观察到,对于0.3=tmin<=t<=0.3531,我们具有l2(t)=3,对于0.3531<t≤0.3620,我们具有l2(t)=2,对于0.3620<t≤0.4414,我们具有l2(t)=1,对于0.4414<t≤1.0,我们具有l2(t)=0,而对于所有的i>2,li(t)=0,则该公式产生lfa2=0.7201,即,meadow和plant2的先前隔离适应性相对于1.0增加72.01%,这就产生“plant作为plant2”的相应值0.9385以及“meadow作为meadow”的相应值1.0。最后,从公式F1或F2=(30%预测适应性+30%主题适应性+20%对象适应性+20%其他)计算每个子集组合的总适应性。由于百分比相对于100%并且仅存在一个语法主题(plant)和一个其他对象(meadow),这对于组合1和2就分别产生修改的公式和值F1=(60%plant作为plant2的适应性+40%meadow作为meadow的适应性)=60%×0.7803+40%×1.0=0.8682,以及F2=(60%plant作为plant2的适应性+40%meadow作为meadow的适应性)=60%×0.9395+40%×1.0=0.9631。由于F2>F1,故将对象“plant”识别为“plant2”,有生命的事物。这里还要注意可以修改公式和算法。
如果现在还处理其他的两个语句II和III,则系统取得一些导致重新考虑以前组合的,或者细化组合的附加信息。注意第二语句II谈论到草。这对于该系统促进了语句I的plant涉及的plant2是作为一个有生命的事物,而不是一个建筑物的假定。在已处理第三语句III之后,必须修改该图象,因为该语句包含连接对象3‘tear it down’。在对象角色中,从未结合有生命事物来使用该表达(而是仅处于代理角色)。这样,第三语句似乎表示第一和第二语句应该涉及到数据库11中的包含关于建筑物的而不是有生命事物的信息的元素。通过这种新的题目选择可以重新处理语句I和II。子集的组合动态地变化,直到输入字符串12所传送的所有文本信息已被处理。由于这种迭代方法,有可能得到给出输入字符串12中载有的信息的最好可能表示的扩充输入网络80。
第二语句未增加有助于更好理解第一语句含义的任何信息,这是因为草可以生长在建筑物周围或有生命的植物周围。由于草和有生命植物有点相关,故就这点而言,第一语句涉及有生命的植物似乎是更有可能的。第三语句最后包含有助于使系统理解第一和第二语句含义的信息。从第三语句显然可以得到其他两个语句‘plant’涉及一个建筑物。
现在我们假定所进行的处理要作用于数据库系统10保持的一个元素,并且我们还假定索引数据库13在其中还包含语义单元plant1,plant2,和meadow,并且语义单元plant1和plant2分别具有对数据库中的元素E1和E2的存取指针,然后,在前两个语句之后,系统10将决定处理数据库中的元素E2,因为系统10明白在输入字符串12(直到第二语句)中,‘plant’最可能涉及‘作为有生命的事物的plant,即,作为plant2的plant。换言之,从最可能的扩充输入网络(上面实例中的组合2)与索引数据库13的重叠中,系统发现索引数据库13中的局部网络至少由语义单元plant2组成,并且因为该语义单元plant2的存取指针指向数据库中的E2,故决定处理数据库中的元素E2。然而,系统还可能使元素E1具有比元素E2低的处理等级。
在第三语句之后形势出现变化。现在系统10明白在输入字符串12中,‘plant’更可能涉及‘作为building的plant’,即,作为plant1的plant。换言之,从最可能的扩充输入网络(上面实例中的组合1)与索引数据库13的重叠中,系统发现索引数据库13中的局部网络至少由语义单元plant1组成,并且因为该语义单元plant1的存取指针指向数据库中的E1,故决定处理数据库中的元素E1。但是,系统还可能使元素E2具有比元素E1低的处理等级。基于文本信息和自然语言的具体模型提出方案和系统。根据我们的模型,自然语言以及文本信息组成在不同分层级分组并且全部具有相似类型的语义单元。另外,我们使用加权来表示两个链接语义单元之间的语义距离。这样,在本文所称为的部分分层网络中都表示了知识数据库,语音,以及问题。通过定位其在知识数据库或索引数据库中的语义单元,可能连接,可能属性,以及可能角色,并复制来自知识数据库11或索引数据库13的语义邻域,来创建输入字符串的扩充输入网络,从而增加重叠区域。最后,这样的网络与索引数据库13的重叠产生可用于允许用户或系统处理数据库内的一个元素的索引数据库13内的一个局部网络。
根据本发明,当存储一个元素或文件,即,不需要用户产生的关键字时,可使用世界知识。本发明方案允许在检索处理中使用邻域匹配。本发明的数据库(例如世界知识数据库和索引数据库)为部分分层网络。未将世界知识映象到一个基础文件格式。根据本发明不需要文件位置信息,事实上,所有文件也可以存储在一个单独的目录中。
本发明也可用于数据采矿目的。本发明方法允许从输入字符串所传送的文本信息提取内容并处理大量信息。本发明可确定先前未出现或不明确的关系和趋势。本发明方法允许自动理解具有以前不匹配特点的任何长度的输入字符串的含义。
本发明可以硬件,软件,或硬件和软件的组合实现。可在一个计算机系统以集中方式,或以其中不同的元素通过几个互连的计算机系统延伸的分布方式,使用根据本发明的数据库系统。适于完成本文所述方法的任何种类的计算机系统或其他装置都是适宜的。硬件和软件的一个典型组合是一个具有计算机程序的通用计算机,该程序在被加载并执行时,控制计算机系统以便使其完成本文所述方法。本发明还体现在一个计算机程序产品上,该产品包括允许实现本文所述方法的所有特征,并且当其加载到计算机系统时,该产品能够完成这些方法。
在本文所述的计算机程序或计算机程序产品含义是以任何语言,代码或符号表示的一组指令,该指令用于使具有信息处理能力的系统直接或者在下面两步或其中任何一步之后,即a)转换为另一种语言,代码或符号;b)以不同的具体形式再现中的任何一步或二者之后,执行一个特定的功能。
权利要求
1.一种将一个元素增加到数据库系统中的方法,该数据库系统包括具有部分分层结构的索引数据库,包括步骤·评价描述所述元素的输入字符串以得到包括一个表示所述元素的语义单元的输入网络,·更新所述索引数据库,和·保留现存的存取指针并创建一个在所述元素和表示所述元素的所述语义单元之间的新的存取指针,从而使所述数据库内的所述元素成为可访问或可检索。
2.如权利要求1所述方法,其中所述索引数据库的所述更新是通过使所述输入网络的至少一个语义单元与所述索引数据库的一个语义单元相关实现的。
3.如权利要求1所述方法,其中所述索引数据库的所述更新是通过将表示所述输入网络的所述语义单元增加到所述索引数据库实现的。
4.如权利要求1所述方法,其中所述输入网络具有部分分层结构。
5.如权利要求1所述方法,其中所述存取指针描述所述元素在所述数据库系统中存储的物理或逻辑位置。
6.如权利要求1所述方法,其中所述元素通过使用表示所述输入网络的所述语义单元更新所述索引数据库来逻辑增加到所述数据库系统。
7.如权利要求1所述方法,其中所述元素为一个文件并且所述数据库系统用作一个文件储存库或文件目录,或者其中所述元素为一个数据库元素并且所述数据库系统为一个具有多个数据库元素的数据库,或者其中所述元素为一个数据库并且所述数据库系统是诸数据库中的一个数据库。
8.如权利要求1、2、3或4所述方法,其中所述语义单元具有相似的跨越层次。
9.如权利要求1、2、3或4所述方法,其中在评价所述元素之前从所述元素的内容自动得到所述输入字符串。
10.如权利要求1,2,3,或4所述方法,其中所述数据库系统进一步包括一个具有部分分层结构并且在得到所述输入网络时被查询的知识数据库。
11.如权利要求10所述方法,其中所述输入网络包括至少一个由所述知识数据库或所述索引数据库提供的必定与所述元素相关的语义单元。
12.一种处理在包括具有部分分层结构的索引数据库的数据库系统内保持的元素的方法,包括步骤·接收描述所述元素的输入字符串,·评价所述输入字符串以得到在所述输入字符串必定与其相关的索引数据库内定义一个局部网络的一个输入网络,以便所述局部网络包括表示所述元素的至少一个语义单元,·向用户显示所述至少一个语义单元,和·通过使用与所述至少一个语义单元相关的一个存取指针,处理所述元素。
13.如权利要求12所述方法,其中通过处理所述元素来访问,检索,打开,显示,或读取所述元素。
14.如权利要求12所述方法,其中使用一个计算机鼠标,计算机键盘上的一个键,或计算机键盘上的键的组合处理所述元素。
15.如权利要求12所述方法,其中所述数据库系统进一步包括一个具有部分分层结构并在得到所述输入网络时被查询的知识数据库。
16.如权利要求12所述方法,其中所述输入字符串包括关键字。
17.如权利要求12所述方法,其中所述输入字符串为文本信息。
18.如权利要求17所述方法,其中所述数据库系统进一步包括一个具有部分分层结构的知识数据库,并且其中通过查询所述知识数据库评价所述文本信息。
19.如权利要求12所述方法,其中通过考虑所述输入网络,在所述索引数据库内定义所述局部网络。
20.如权利要求12所述方法,其中定义所述索引数据库内的所述局部网络,以便使其包括表示处于逻辑邻域内的元素的语义单元。
21.如权利要求12所述方法,其中定义所述索引数据库内的所述局部网络,以便包括关联的语义单元。
22.一种在将第一元素增加到数据库系统时产生一个索引数据库的方法,其中所述索引数据库具有一个部分分层结构,包括步骤·评价描述所述第一元素的输入字符串,以得到包括表示所述第一元素的一个语义单元的输入网络,·通过用所述输入网络识别该元素来创建所述索引数据库,和·保留现存存取指针或创建一个在所述元素和表示所述元素的所述语义单元之间的新的存取指针,从而使所述数据库内的所述元素成为可访问或可检索。
23.如权利要求12或22所述方法,其中所述输入网络具有一个部分分层结构。
24.如权利要求22所述方法,其中所述存取指针描述所述第一元素在所述数据库系统中存储的物理或逻辑位置。
25.如权利要求22所述方法,其中所述第一元素是一个文件而所述数据库系统是一个文件储存库或文件目录,或者其中所述第一元素是一个数据库元素而所述数据库系统是一个具有多个数据库元素的数据库,或者其中所述第一元素是一个数据库而所述数据库系统是诸数据库中的一个数据库。
26.一种更新用于一种包括一个知识数据库的数据库系统的索引数据库的方法,其中所述索引数据库和知识数据库具有部分分层结构,包括步骤·比较所述索引数据库的语义单元与其对应部分以及其对应部分在所述知识数据库内的邻域,·通过增加至少一个来自所述知识数据库的语义单元,更新所述索引数据库,或·通过删除至少一个未涉及所述数据库系统内的一个元素的语义单元,更新所述索引数据库。
27.如权利要求26所述方法,其中来自所述知识数据库的被增加到所述索引数据库的所述至少一个语义单元,是一个出现在所述知识数据库内的所述邻域,但是还未出现在所述索引数据库的语义单元。
28.如权利要求26或27所述方法,其中在阈值和语义距离函数的帮助下确定所述邻域。
29.如权利要求26所述方法,其中从所述索引数据库删除的所述至少一个语义单元,是一个未出现在所述知识数据库内的所述邻域,但是出现在所述索引数据库的语义单元。
30.一种包括计算机可读介质的计算机程序产品,其上具有计算机程序代码装置,当加载所述程序时,使包括一个索引数据库并具有一个部分分层结构的数据库系统执行程序进行·评价一个描述要增加到所述数据库系统的元素的输入字符串,以得到一个包括表示所述元素的语义单元的输入网络,·更新所述索引数据库,以及·保留现存存取指针或创建一个在所述元素和表示所述元素的所述语义单元之间的新的存取指针,从而使所述数据库内的所述元素成为可访问或可检索。
31.一种计算机程序元素,包括计算机程序代码装置,使包括一个索引数据库并具有一个部分分层结构的数据库系统执行程序进行·评价一个描述要增加到所述数据库系统的元素的输入字符串,以得到一个包括表示所述元素的语义单元的输入网络,·更新所述索引数据库,以及·保留现存存取指针或创建一个在所述元素和表示所述元素的所述语义单元之间的新的存取指针,从而使所述数据库内的所述元素成为可访问或可检索。
32.如权利要求30所述的计算机程序产品或如权利要求31所述的计算机程序元素,其中通过使所述输入网络的至少一个语义单元与所述索引数据库的一个语义单元相关,进行所述索引数据库的所述更新。
33.如权利要求30所述的计算机程序产品或如权利要求31所述的计算机程序元素,其中通过增加一个表示所述元素或所述输入网络的所述语义单元到所述索引数据库,进行所述索引数据库的更新。
34.如权利要求30所述的计算机程序产品或如权利要求31所述的计算机程序元素,其中所述存取指针描述所述元素在所述数据库系统中存储的物理或逻辑位置。
35.如权利要求30所述的计算机程序产品或如权利要求31所述的计算机程序元素,其中在对其评价之前从所述元素的内容自动得到所述输入字符串。
36.如权利要求30所述的计算机程序产品或如权利要求31所述的计算机程序元素,其中所述数据库系统进一步包括一个具有部分分层结构并且在得到所述输入网络时被查询的知识数据库。
37.一种包括计算机可读介质的计算机程序产品,其上具有计算机程序代码装置,当加载所述程序时,使包括一个索引数据库并具有一个部分分层结构的数据库系统执行程序进行·接收描述所述数据库系统的一个要处理元素的输入字符串,·评价所述输入字符串以得到定义所述输入字符串必定与其相关的所述索引数据库内的一个局部网络的一个输入网络,以便所述局部网络包括表示所述元素的至少一个语义单元,·向用户显示所述至少一个语义单元,和·通过使用与所述至少一个语义单元相关的一个存取指针处理所述元素。
38.一种计算机程序元素,包括计算机程序代码装置,使包括一个索引数据库并具有一个部分分层结构的数据库系统执行程序进行·接收描述所述数据库系统的一个要处理元素的输入字符串,·评价所述输入字符串以得到定义所述输入字符串必定与其相关的所述索引数据库内的一个局部网络的一个输入网络,以便所述局部网络包括表示所述元素的至少一个语义单元,·向用户显示所述至少一个语义单元,和·通过使用与所述至少一个语义单元相关的一个存取指针处理所述元素。
39.如权利要求37所述的计算机程序产品或如权利要求38所述的计算机程序元素,其中通过处理所述元素来访问,检索,打开,显示,或读回所述元素。
40.一种用于在增加第一元素时产生一个用于数据库系统的部分分层的索引数据库的计算机程序产品,所述计算机程序产品包括一个计算机可读介质,其上具有计算机程序代码装置,当加载所述程序时,使包括一个索引数据库并具有一个部分分层结构的数据库系统执行程序进行·评价描述所述第一元素的输入字符串以得到包括表示所述第一元素的一个语义单元的输入网络,·通过用所述输入网络识别该元素来创建所述索引数据库,和·保留现存存取指针或创建一个在所述元素和表示所述元素的所述语义单元之间的新的存取指针,从而使所述数据库内的所述元素成为可访问或可检索。
41.一种用于在增加第一元素时产生一个用于数据库系统的部分分层的索引数据库的计算机程序元素,所述计算机程序元素包括计算机程序代码装置,使所述数据库系统执行程序进行·评价描述所述第一元素的输入字符串以得到包括表示所述第一元素的一个语义单元的输入网络,·通过用所述输入网络识别该元素来创建所述索引数据库,和·保留现存存取指针或创建一个在所述元素和表示所述元素的所述语义单元之间的新的存取指针,从而使所述数据库内的所述元素成为可访问或可检索。
42.一种用于更新一个包括部分分层知识数据库的数据库系统所使用的部分分层索引数据库的计算机程序产品,所述计算机程序产品包括计算机可读介质,其上具有计算机程序代码装置,当加载所述程序时,使所述数据库系统执行程序进行·比较所述索引数据库的语义单元与其对应部分以及其在所述知识数据库内的邻域,·通过增加至少一个来自所述知识数据库的语义单元更新所述索引数据库,或·通过删除至少一个未涉及所述数据库系统内的一个元素的语义单元,更新所述索引数据库。
43.一种用于更新一个包括部分分层知识数据库的数据库系统所使用的部分分层索引数据库的计算机程序元素,所述计算机程序元素包括计算机程序代码装置,使所述数据库系统执行程序进行·比较所述索引数据库的语义单元与其对应部分以及其在所述知识数据库内的邻域,·通过增加至少一个来自所述知识数据库的语义单元更新所述索引数据库,或·通过删除至少一个未涉及所述数据库系统内的一个元素的语义单元,更新所述索引数据库。
44.如权利要求30、37、40或42所述的计算机程序产品,或如权利要求31、38、41或43所述的计算机程序元素,其中所述输入网络具有部分分层结构。
45.一种数据库系统(10),包括·部分分层索引数据库(13),和·处理单元(14,18,19)·用于评价描述要增加到所述数据库(10)的元素(E1)的输入字符串(12),以得到包括表示所述元素(E1)的语义单元(SU1)的输入网络(18),·用于更新所述索引数据库(13),和·用于保留现存存取指针(22)或创建一个在所述元素(E1)和表示所述元素(E1)的所述语义单元(SU1)之间的新的存取指针(22),从而使所述数据库(10)内的所述元素(E1)成为可访问或可检索。
46.一种数据库系统(10),包括·部分分层索引数据库(13),和·处理单元(14,18,19)·用于接收描述要处理的所述数据库(10)的元素(E1)的输入字符串(12)·用于评价所述输入字符串(12)以得到定义所述输入字符串(12)必定与其相关的所述索引数据库(13)内的一个局部网络的一个输入网络(18),以便所述局部网络包括表示所述元素(E1)的至少一个语义单元(SU1),·用于向用户显示所述至少一个语义单元(SU1),和·用于通过使用与所述至少一个语义单元(SU1)相关的一个存取指针(22)处理所述元素(E1)。
47.一种包括处理单元(14,18,19)的数据库系统(10)·用于评价描述要增加到所述数据库系统(10)的第一元素(E1)的输入字符串(12)以得到包括表示所述第一元素(E1)的一个语义单元(SU1)的输入网络(18),·用于通过用所述输入网络(18)识别该元素来创建部分分层索引数据库(13),和·用于保留现存存取指针(22)或创建一个在所述第一元素(E1)和表示所述第一元素(E1)的所述语义单元(SU1)之间的新的存取指针(22),从而使所述数据库系统(10)内的所述元素(E1)成为可访问或可检索。
48.一种数据库系统(10),包括·一个部分分层知识数据库(11),·一个部分分层索引数据库(13),和·一个处理单元(14,18,19)·用于比较所述索引数据库(13)的语义单元与其对应部分以及其对应部分在所述知识数据库(11)内的邻域,·用于通过增加至少一个来自所述知识数据库(11)的语义单元,更新所述索引数据库(13),或·用于通过删除至少一个未涉及所述数据库系统(10)内的一个元素的语义单元,更新所述索引数据库(13)。
全文摘要
一种包括一个部分分层索引数据库(13),和一个处理单元(19)的数据库系统(10)。采用处理单元(19)来评价描述要增加到数据库系统(10)的元素(E1)的输入字符串(12),以便得到包括表示元素(E1)的语义单元(SU1)的输入网络(18)。接着处理单元(19)更新索引数据库(13)。最后,保留一个现存的存取指针(22),或者创建一个在元素(E1)和表示元素(E1)的语义单元(SU1)之间的新存取指针(22),从而使数据库系统(10)中的元素(E1)成为可访问或可检索。
文档编号G06N5/00GK1268711SQ0010438
公开日2000年10月4日 申请日期2000年3月23日 优先权日1999年3月31日
发明者歌德·科·宾宁, 彼得·布罗切尔, 哲根·克兰克 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1