CN1650327A - 可训练可扩充的自动数据-知识转换器 - Google Patents
可训练可扩充的自动数据-知识转换器 Download PDFInfo
- Publication number
- CN1650327A CN1650327A CNA018090222A CN01809022A CN1650327A CN 1650327 A CN1650327 A CN 1650327A CN A018090222 A CNA018090222 A CN A018090222A CN 01809022 A CN01809022 A CN 01809022A CN 1650327 A CN1650327 A CN 1650327A
- Authority
- CN
- China
- Prior art keywords
- data
- rule
- grouping
- user
- knowledge
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
Abstract
描述了一种可训练可扩充的自动数据-知识转换器。本发明的一个方面包括具有至少一个储存库和至少一个处理模块的计算机化系统,所述至少一个储存库用于存储对计算机化系统处理数据进行管理的用户指定规则,所述至少一个处理模块用于根据这些规则处理数据并从数据产生知识。本发明的另一方面是将数据转换成知识的计算机化方法。计算机化方法包括提供用户指定规则来管理计算机化系统将数据转换成知识并根据这些规则处理数据以产生知识的行为。本发明还有一个方面是一种计算机可读媒体,它具有存于其上的计算机可执行指令以执行将数据转换成知识的方法。计算机化方法包括接收未结构化形式的数据,将数据转换成中立形式,根据用户指定规则处理数据并将数据从中立形式转换为知识,以及将知识输出给知识储存库。
Description
发明领域
本发明涉及计算机系统,具体地说,本发明涉及将数据转换为知识的计算机系统。
发明背景
许多诸如决策支持系统的产品需要知识来做出明智的决策。决策支持系统是基于计算机的系统,它结合了知识、分析工具和模型来帮助决策人。决策支持系统通常包括知识数据库或知识储存库。从知识数据库或储存库析取知识,并利用分析工具和模型进行分析,以帮助决策。为了对决策支持系统有用,必须在将数据存储到知识数据库之前对数据进行分析、转换和组织,使其成为结构化有意义的知识。
通常来说,数据以人类可读文件的形式存在,而对决策支持系统来说却是未系统化无意义的数据。数据是指信息、原始事实等。数据可以多种形式,如纸件文件或数字化文件存在。数据本身对决策支持系统没有任何意义。为了使决策支持系统处理数据,数据必须首先转换成决策支持系统能处理的形式。
本文所用的知识是指可由决策支持系统处理的信息。知识集合称为知识库或知识储存库。诸如标准通用置标语言(SGML)或可扩展标记语言(XML)的均匀结构化数据格式可能不适用于决策支持系统,这是因为并非所有的所需知识都可由置标标记。人工进行数据到知识的转换是费力、昂贵且易出错的;尤其对于定期更新的数据源更是如此。专用知识库结构程序通常因太生硬而无法直接应用,或者是太昂贵而无法为新型数据和/或知识储存库进行修改。
所需的是一种将非结构化无意义的数据如人类可使用的信息转换为结构化有意义的知识、即机器可使用知识的方法。
发明概要
描述了一种可训练可扩充的自动数据-知识转换器。本发明的一个方面包括一种具有至少一个储存库和至少一个处理模块的计算机化系统,其中所述储存库存储对计算机化系统处理数据进行管理的用户指定规则,所述处理模块根据这些规则来处理数据,并从数据产生知识。本发明的另一方面是一种将数据转换成知识的计算机化方法。计算机化方法包括:提供用户指定规则来管理计算机化系统,用于将数据转换成知识,以及根据这些规则来处理数据以产生知识的行为。本发明的再一个方面是一种计算机可读媒体,其上存储了计算机可执行指令,以执行将数据转换成知识的方法。计算机化方法包括:接收非结构化形式的数据,将数据转换成中立形式,根据用户指定规则处理数据以将数据从中立形式转换为知识,以及将知识输出到知识储存库。
附图简介
图1A是根据本发明一个实施例的数据-知识转换系统的高级方框图。
图1B、1C和1D是D2K转换系统的备选实施例的高级方框图。
图2是实现图1所示数据-知识转换(D2K)系统的物理体系结构的例示性实施例的方框图。
图3是根据本发明一个实施例的训练D2K转换器的过程的流程图。
图4是通过根据本发明一个实施例的D2K转换器来分析数据源以构建知识库的过程的流程图。
图5是图2所示分组的分组数据结构的一个实施例更详细的视图。
图6显示了将应用于本发明一个实施例的输入过滤器、如图2所示的输入过滤器的例示性源数据。
图7显示了将应用于图6的例示性源数据的例示性输入过滤规则。
图8显示了通过将图7所示的例示性输入过滤规则应用于图6所示的样本源数据而产生的第一分组的例示性实施例。
图9显示了通过将图7所示的例示性输入过滤规则应用于图6所示的样本源数据而产生的第二分组的例示性实施例。
图10显示了通过将图7所示的例示性输入过滤规则应用于图6所示的样本源数据而产生的图8所示第一分组的另一例示性实施例。
图11显示了由图2所示分组调度器所使用的例示性专利匹配说明规则。
图12是将由图2所示文本析取模块处理的样本输入文本。
图13是文本析取模块规则集合的分级表示。
图14为样本输入文本,其中文本析取模块识别由图13所示例示性文本析取规则所定义的设备号(EquipmentNumber)实体。
图15为样本输入文本,其中文本析取模块识别由图13所示例示性文本析取规则所定义的文件参考(DocumentReference)(参考文件)实体。
图16显示了DocumentReference产生(如图13所示例示性文本析取规则所定义)的按箱分类的令牌值。
图17显示了通过对图16所示的箱执行完全扩展而形成的令牌值集合。
图18显示了通过将匹配产生的卷和书签格式应用到图17所示的值的集合而得到的字段标记和值。
图19显示了根据图18所示的字段标记和值创建的分组的例示性实施例。
图20是样本输入文本,其中文本析取模块识别由图13所示例示性文本析取规则所定义的错误(Fault)实体。
图21显示了Tem错误实体分组和Tem文件参考实体及Tem设备号实体分组之间的关系。
图22是显示分组输出到的样本知识库的数据库模式的方框图。
图23是将例示性实体映射到例示性表格的分组输出规则的图形表示。
图24是在输出了图19所示的Tem文件参考实体分组后的例示性表格。
图25显示了在输出图19所示分组后的五个例示性表格。
图26是用于万维网执行(Web Executive)的用户接口的例示性实施例。
图27是输入过滤编辑器的一个实施例的屏幕捕获。
图28是输入过滤编辑器的搜索对话框的一个实施例。
图29是输入过滤编辑器的分组结构属性对话框的一个实施例。
图30是输入过滤编辑器的“下一个(Next)”菜单的一个实施例。
图31是输入过滤编辑器的“书签”菜单的一个实施例。
图32是输入过滤器用户接口的非模态“当前分组信息”窗的一个实施例。
图33是分组调度器用户接口的处理器和分组选择屏的一个实施例。
图34是分组调度器用户接口的匹配说明屏的一个实施例。
图35是分组调度器用户接口的一个实施例的“匹配说明属性”对话框。
图36是文本析取用户接口的对话条的一个实施例。
图37是规则屏的一个实施例的屏幕捕获。
图38是注释屏的一个实施例的屏幕捕获。
图39是表格屏的一个实施例的屏幕捕获。
图40是知识储存库模式输入控制的一个实施例的屏幕捕获。
图41是分组输出选择屏的一个实施例的屏幕捕获。
图42是图解屏的一个实施例的屏幕捕获。
图43是显示了分组、分组字典、处理模块和分组调度规则数据库之间的关系的方框图。
图44是文本析取规则数据库的一个实施例的模式的实体关系图。
图45显示了代表“一对多”关系的两种方法。
图46是可实施本发明的例示性实施例的计算机化系统的方框图。
实施例描述
在以下对优选实施例的详细描述中,将参考构成本发明一部分的附图,在附图中通过图示显示了可实施本发明的特定实施例。应该理解,可以采用其它实施例并进行结构改动,并不脱离本发明的范围。
系统级概述
图1A是根据本发明一个实施例的数据-知识转换系统100的高级框图。由于在数据输入格式和知识输出要求方面具有很大差异,本发明的数据-知识(D2K)系统的一个实施例的逻辑体系结构为隔离了数据源输入和知识储存库输出的三层系统,如图1A所示。第一层102中的软件成分将源数据101输入为中立格式。一旦数据为中立格式,第二层104中的软件成分就对数据进行分析、组织和处理。最终,第三层106中的软件成分将处理后的数据(知识)输出到知识储存库108,其中,如果需要,还可进行进一步的处理。通过减小将工具应用到特定数据格式或完全不同的域中所需的开发量,此三层体系结构使D2K系统的可扩充性最大化。各层由意义明确的接口隔开,使得对一层进行的内部变化并非一定改变相邻层。除了这三层之外,D2K系统还包括系统执行程序110,它提供了全局功能,比如协调三层中各层内及各层之间活动,以及与用户的交互作用和错误报告。
然而,D2K系统并不限于三层系统。在备选实施例中,可以在图1所示的D2K转换系统100的逻辑体系结构中增加一个或多个附加层。在另一实施例中,逻辑体系结构可减少作为两层来操作,或甚至作为单层操作。
图1B是D2K转换系统100的备选实施例的高级方框图。如图1B所示,D2K转换系统100包括至少一个储存库114,用于存储管理计算机化系统100处理数据的用户指定规则。D2K转换系统100还包括至少一个处理模块112,它根据所述规则来处理数据并根据数据产生知识。
图1C是D2K转换系统100的另一实施例的高级方框图。如图1C所示,D2K转换系统100包括至少一个储存库114和至少一个处理模块112。D2K系统还包括系统执行程序110,它控制所述至少一个储存库和所述至少一个处理模块。
图1D是D2K转换系统100的再一实施例的高级方框图。如图1D所示,D2K转换系统100包括至少一个储存库114、至少一个处理模块112以及系统执行程序110。D2K转换系统还包括用户接口,它允许用户创建、修改和删除用户指定规则。
源数据101存在多种数据格式。非结构化数据的形式可以为文件、图片、数据库、图表、简图等,但它并不限于此。由于通常并非总可能(或方便)将数据转换成单一格式,因此D2K系统支持多种源数据格式。第一层102中的部件处理处于其原始格式的数据,将相关信息转换成中立格式。换句话说,输入层(第一层)102在处理层(第二层)104的处理部件中去掉了源数据格式的细节和复杂特征。第二层104中的例程分析、组织和处理输入数据。处理例程104将非结构化无意义的数据转换成结构化有意义的知识。处理部件采用多种技术,如正规表达式搜索引擎、自然语言处理算法和图形识别算法。第三层106中的部件将知识输出到知识储存库108。正如数据可处于多种源格式那样,知识也可以多种储存库格式来表示。因此,输出层106(第三层)在处理例程中去掉了知识储存库格式的细节和复杂特征。总之,输入层102和输出层104部分允许处理层106部分执行其任务而无须考虑数据源或知识储存库的格式。
例示性实施例的物理体系结构
图2是用于实现图1所示D2K系统的物理体系结构的例示性实施例的方框图。图2所示矩形202、206、212、210、216表示转换部件。转换部件接收某种类型的输入,将其转换并产生某种类型的输出。图2所示信封表示数据结构,在本文称为“分组”。分组是转换部分用来相互通信的接口机制。图2所示圆柱表示储存库,这些储存库存储诸如D2K系统的配置、管理转换部分行为的规则、训练数据、错误消息等各种信息。最后,图2所示的人表示图形用户接口(GUI)。用户通过GUI相互作用,从而定制D2K系统的行为。
图2所示的例示性物理体系结构如下所述地映射到图1所示的逻辑体系结构中。输入过滤器202和输入过滤规则库204包括如图1所示的输入层(第一层)。文本析取模块206和文本析取规则库208及客户处理模块210包括图1所示的处理层(第二层)。分组输出模块212和分组输出规则库214包括图1所示的输出层(第三层)。分组调度器216和分组分配规则数据库218、GUI及配置模块(未示出)包括图1所示的系统执行程序。分组是便利在图1所示的三个层之间和内部进行通信的接口对象。
图2所示的D2K系统200的例示性实施例的数据流如下所述。输入过滤器202读取数据源201并根据输入过滤规则204将其离散化为分组。然后,输入过滤器202将这些分组传送给分组调度器216,其根据分组调度规则218将分组调度给适当的处理模块。处理模块处理分组。一些处理模块,如分组输出模块212为不创建附加分组的终端处理模块。其它处理模块,如文本析取模块206创建若干更高分辨率的分组。这些非终端处理模块将它们创建的分组传送给分组调度器216,后者又将这些分组调度到适当的处理模块,同时此循环继续。在一个实施例中,至少一个终端处理模块将分组输出到知识储存库。在图4中显示了此过程。图4所示过程继续到分析了整个数据源为止。
例示性实施例的系统部件
此部分对图2所示例示性实施例的下述系统部件进行更详细地描述:分组、分组字典、分组工厂、输入过滤器、分组调度器、分组处理模块、文本析取模块、分组输出模块、计算机图形元文件(CGM)处理模块和消息记录。
分组。图2所示的分组是信息的一般集合。图5是图2所示的分组数据结构的更详细图。分组500是含有如图5所示的类型、内容和上下文字段的数据结构。分组的类型502为实体或对象名称。类型通常为分组内容的描述。分组的内容504包括零个或多个标记,各标记具有零个或多个相关值。内容标记是实体或对象的相关属性。内容值通常由分组处理模块处理和/或输出到知识储存库。另一方面,分组上下文506包括零个或多个标记,各标记具有零个或多个相关值。上下文值包含增加内容意义或描述内容如何产生的信息。与内容值类似,上下文值也可以输出到知识储存库。
当处理模块创建子分组时,它通常复制父上下文并将其分配给子上下文。换句话说,子上下文继承了父上下文。因此,如果需要用唯一标识符识别分组,则可以将标识符存储为上下文。由于子上下文将继承其父的唯一标识符,因此可在父和子分组之间创建某种关系。
作为示例,考虑如何将食谱表示为分组。由于分组类型是分组内容的描述,而且分组表示食谱,因此词“食谱”是分组类型的明显选择。所有食谱的相关属性为名称、成分表和准备/烹制说明。因此,我们的食谱分组将包括名称、成分和说明内容。名称内容将含有单个值,即食谱的名称。另一方面,成分和说明内容将包含多个值。换句话说,各成分和说明步骤将作为成分和说明内容的单独值来分别存储。最后,可将诸如用餐人数、每份食物的卡路里数和营养信息的信息存储为上下文。
在一个实施例中,分组由诸如图2所示输入过滤器202的输入过滤器来创建。输入过滤器将分组传送给诸如图2所示的分组调度器216的分组调度器。分组调度器将分组发送给分组处理模块,后者又可创建信息更详细的另外分组。调度器还可将分组存储在诸如图2所示的分组储存库220的分组储存库中。最后,所有的小分组均被发送给诸如图2所示分组输出模块212的终端分组处理模块,其将分组输出到知识储存库,或输出到将删除分组的空处理器。
分组字典。在一个实施例中,诸如图2所示分组字典222的分组字典维护合法分组的主清单。若干D2K系统功能采用分组字典来减轻数据破坏。例如,在一些实施例中,训练用户接口采用分组字典来限制列表框的选择,以便禁止用户生成无效的训练规则,而在其它实施例中,分组工厂采用分组字典来保证只创建合法分组。
在D2K系统输入过滤器和分组处理模块登记期间提供分组字典。在一个实施例中,产生分组的任何D2K系统部件登记其能创建的每一类分组的原型。在概念上,分组原型是没有任何值的分组。换句话说,分组原型指定对于给定分组类型来说哪些内容和上下文标记是合法的。
分组工厂。分组工厂的目的是提供一组与诸如从分组储存库读取分组和将分组写入分组储存库的服务有关的分组。另外,分组工厂提供对存于分组储存库中的分组进行具体例示的服务,并将它们传送给内容调度器,从而能够将它们发送给分组处理模块。最后,分组工厂提供若干服务来建立分组以及一种衍生分组的上下文,以便创建继承其父上下文的新的子分组的机制。
输入过滤器。在一个实施例中,输入过滤器和输入过滤规则库包括图1的第一层。诸如图2所示输入过滤器202的输入过滤器的目的是处理数据格式的复杂特征,从而使这些细节不出现在处理模块。输入过滤器将相关源数据离散化为分组,这些分组是D2K系统的中立数据格式。进行此处理的机制随数据源而不同。例如,对于分级结构化数据,如SGML或XML,分组结构规则可与层次的各节点相关。在另一例示性实施例中,对于存储在Microsoft Word文件中的数据来说,可编写Visual Basic for Application脚本来创建分组。
在数据库中捕获并存储数据结构的轮廓。在SGML文件的情况中,轮廓与文件标记定义(DTD)的相似之处在于,其含有元素和属性的层次。但是,在一个实施例中,轮廓只包含在实际文件中实现的DTD的部分。
一旦概括出数据结构,根据本发明的一个实施例,将分组结构规则应用到层次中的各节点中。分组结构规则允许用户对与节点对应的数据作下述工作。
1.忽略数据。
2.忽略数据并创建新分组。
3.创建新分组并将数据作为内容插入到分组中。
4.将数据作为内容插入当前分组中。
5.将数据作为内容附加到当前分组上。
6.将数据作为上下文插入到当前分组中。
在一个实施例中,用户还可根据规则来指定分组类型、内容标记和/或上下文标记。此外,这六项规则可能不适用于层次中的每一节点。例如,对不具有创建分组的父辈的节点处来说,将数据作为内容插入到当前分组中是无效的(注意,用户无须认知所有这些约束,因为在一个实施例中,输入过滤器训练用户接口将不允许用户违背任何约束)。
如上所述,一旦数据源的轮廓被存储在数据库中,就将分组结构规则与层次中的每一节点相关。规则类型取决于输入过滤规则库中的现有信息。如果在规则库中已存在给定节点,则它就被分配与现有节点相同的规则。如果数据库中还不存在节点,则它就被分配“忽略数据”规则。大体上,用户可以合并若干数据源的结构而不丢失过去的训练,即规则到节点的应用。另外,为用户提供删除任何存在于规则库中但不存在于最近概括出的数据源中的节点的能力。这两种机制允许用户将若干数据源的分组结构规则储存在一个或多个规则库中,同时使训练要求最小。
在一个实施例中,在训练了输入过滤器后,登记该输入过滤器。输入过滤器的登记为分组字典提供了输入过滤器所能创建的分组原型,同时对数据源进行分析。在一个实施例中,在用户通过输入过滤器用户接口训练了输入规则后,GUI自动地登记输入过滤器。一旦登记了输入过滤器,输入过滤器就可通过将分组结构规则应用于结构分组中来分析数据源。
作为示例,考虑如图6所示的样本SGML文本。图6显示了将应用于本发明的输入过滤器的例示性源数据。图7显示了将应用于图6所示的例示性源数据的例示性输入过滤规则。如图7所示,用加框字母“E”标识元素;而用加框字母“A”标识属性。元素和属性名称紧随于加框字母之后,并且输入过滤规则跟在省略号后面。没有明确规则的项暗示用“忽略数据”规则。
SGML输入过滤器通过应用合适的输入过滤规则(也称为“分组结构规则”)来逐个元素地分析样本文本。在图6所示的样本SGML文本中,输入过滤器首先分析主错误表(MSTFLTAB)元素。由于图7中对应于此元素的规则是忽略元素的数据,因此输入过滤器继续到分析错误行(FLTROW)元素。图7中对应于此元素的规则指示输入过滤器创建类型为错误代码(Fault Code)的分组。接着,输入过滤器分析FLTROW元素的属性。图7中与章号(CHAPNBR)、节号(SECTNBR)和唯一关键字(KEY)属性对应的规则引导输入过滤器向错误代码分组中增加三个上下文标记-值对。CHAPNBR、SECTNBR和KEY属性的值,即“29”、“24”和“EN29240001-00001001”分别成为段号、节号和唯一关键字上下文的值,如图8的分组所示。图8是在输入过滤器分析图6的SGML文本的错误描述(FLTDESC)元素之前的错误代码分组的快照。由于与下三个元素对应的规则指示分析器忽略元素的数据,因此输入过滤器继续到分析错误描述(FLTDESC)元素。
图7中对应于FLTDESC元素的规则指示输入过滤器创建类型为错误现象的第二分组。接着,输入过滤器将类别(CATEG)属性的值作为错误现象类型的内容插入到图9所示的错误现象分组。然后,错误类型(FLTYPE)属性的值被附加到错误现象类型的内容的当前值上。如果对应于FLTYPE属性的规则指示输入过滤器将属性数据插入而不是附加到错误现象类型的内容中,则输入过滤器将插入此数据作为第二值。在分析了FLTDESC元素及其属性后,输入过滤器分析错误消息(FLTMSG)和ATA ECAM(ATAECAM)元素。输入过滤器将这些元素的值插入到错误现象分组中,作为错误现象文本和ECAMATA内容,如图9所示。接着,输入过滤器遇到FLTDESC终止标记。因此,它衍生错误现象的父分组、即错误代码分组的上下文,并将错误现象分组传送给分组调度器。图9是在输入过滤器遇到图6所示的样本SGML文本中的错误描述(FLTDESC)终止标记后错误现象分组的快照。
一旦从分组调度器返回,输入过滤器就分析图6所示SGML文本的任务参考(TASKREF)元素。输入过滤器将此元素的值作为如图10所示的FIP K12参考内容插入到错误代码分组中。输入过滤器忽略下一元素,然后遇到FLTROW终止标记。一旦遇到此标记,输入过滤器就将错误代码分组传送给内容调度器。一旦从分组调度器返回,输入过滤器就遇到MSFLTAB终止标记并结束。图10是在输入过滤器遇到图6的样本SGML文本中的错误行(FLTROW)终止标记后错误代码分组的快照。总之,将图7的分组结构规则应用到图6的样本SGML文本产生如图10所示的错误代码分组和如图9所示的错误现象分组。
分组调度器。诸如图2所示分组调度器216的分组调度器是D2K系统的前半部分(即输入层)和后半部分(即处理层和输出层)之间的铰链点,并作为分组的“交通警察”。在一个实施例中,分组调度器以三种模式进行操作。在其正常操作模式中,分组调度器根据分组匹配说明规则将分组传送给分组处理模块,并将其储存在诸如图2所示分组调度规则数据库218的分组调度规则数据库中。在第二种模式中,用户可以无法进行分组调度并将分组调度器配置成仅将分组存储在诸如图2所示分组储存库220的分组储存库中。在第三种模式中,用户可将分组调度器配置成将分组调度给分组处理模块并将分组存储在分组储存库中。最后一种模式作为调试辅助是有用的,并为用户提供了分组的检查跟踪。
在一个实施例中,分组调度器支持输入过滤器、分组调度器和分组处理模块之间排序的两种模式:单线程和多线程。在单线程模式中,输入过滤器产生分组并将其传送给分组调度器,后者将分组传送给适当的分组处理模块。分组处理模块处理分组,还可产生另外的分组,这些另外的分组被称为子分组。接着,分组处理模块顺序地将各子分组传送给分组调度器,后者将其传送给适当的处理模块。这个循环继续到原始信息中所有的相关信息被处理和输出为止。这时,输入过滤器能够自由地重新开始分析输入数据以产生另一分组。总之,在单线程操作模式中,一旦输入过滤器产生了分组,它就开始等候,直到此分组及其所有子分组被处理后它才能重新开始其分析输入数据的任务。在多线程模式中,输入过滤器不必等待调度器处理分组就可以重新开始它的处理。原始分组在分组调度器中排队并由第二执行线程顺序地进行处理。这就允许输入过滤器连续地工作。多线程操作在D2K系统安装在多处理器计算机系统中时很有利。
如上所述,分组调度器根据存储在分组调度规则数据库中的分组匹配说明规则来将分组传递给分组处理模块。在一个实施例中,分组匹配说明规则将分组匹配说明(这里称为matchspec)映射到分组处理模块(这里称为分组处理器)中。Matchspec包括分组类型、可选的处理参数和零个或多个上下文标记-值对。Matchspec除下述两个例外以外与分组类似。
·Matchspec包含分组处理器参数。
·Matchspec不包含内容。
在一个实施例中,除了空处理器模块之外,分组处理模块由它们的全局唯一标识符(GUID)来指定。不带GUID的处理模块被假定为空处理器模块。
图11显示了由分组调度器使用的例示性专利匹配说明规则。在图11中,三个matchspec 1102、1104、1106被映射到两个分组处理器1108、1110。第一matchspec 1102表示空模块1108可处理所有类型为“错误主题”的分组。第二matchspec 1104表示带有参数“错误”的文本析取模块1110可处理错误主题类型上下文等于错误隔离(FAULT ISOLATION)的类型为“错误主题”的分组。第三matchspec1106表示带有参数“可能原因(possible Causes)”的文本析取模块1110能处理所有类型为可能原因的分组。在一个实施例中,对matchspec应用下述准则:
·matchspec必须映射到一个且只能映射到一个分组处理器。
·若干matchspec可映射到相同的分组处理器。
·带有相同分组类型的matchspec可映射到不同分组处理器,只要它们具有不同的上下文标记-值对。
为了确定哪些分组处理器应处理分组,分组调度器首先确定哪些matchspec与分组匹配。然后,分组调度器根据此清单确定最佳的matchspec。为了将matchspec与分组匹配,必须满足两个要求。首先,matchspec必须和分组为相同类型。其次,matchspec如果存在上下文的话,则它的上下文必须出现在分组中。进程语句不表示分组必须具有与matchspec相同的所有上下文以便匹配matchspec。上下文不出现在matchspec中的分组仍将与matchspec匹配,只要分组具有由matchspec指定的上下文。换句话说,分组的上下文必须是matchspec的上下文的父集才能匹配。一旦分组调度器确定与分组相匹配的所有matchspec的清单,它就将具有最多上下文的matchspec选择为最佳的。一旦确定了最佳matchspec,分组调度器就将分组及相应的处理参数传送给映射到最佳matchspec的分组处理器。
例如,考虑如图11所示的图示。具有“错误主题”类型上下文等于“错误确认”(FAULT CONFIRMATION)的类型为“错误主题”的分组将只由第一matchspec 1102匹配。之后,这些分组将被分配给空模块1108。“错误主题类型”上下文等于“错误隔离”的类型为“错误主题”的分组将由第一matchspec 1102和第二matchspec 1104匹配。分组调度器将此分组调度给带有参数“错误”的文本析取模块1110,这是因为第二matchspec 1104比第一matchspec具有更多的上下文标记-值对。
分组处理模块。分组处理模块也被称为分组处理器,其目的是用于分析、组织和处理数据。在一个实施例中,分组处理器可分成两组:通用分组处理器和定制分组处理器。通用分组处理器是能够不管数据源类型而使用的那些处理器。另一方面,定制分组处理器是数据源专用的。另外,分组处理器也可分成终端或非终端的。终端分组处理器是分组消耗者。它们处理分组但不产生子分组。非终端分组处理器是分组生产者。它们处理分组且产生子分组。
在本发明的一个实施例中,存在三种通用分组处理器:文本析取模块、分组输出模块和空模块。文本析取模块和分组输出模块将在下面的部分中详细地描述。空处理器是终端分组处理器。空处理器不处理分组。其目的只是消耗分组。在一个实施例中,空处理器的独特之处还在于其没有实现。分组调度器可有效地执行其功能。分组调度器并不将分组发送给物理空处理器,而只是简单地将分组破坏。
在一个实施例中,在分组处理器能分析、组织和处理分组之前,对分组处理器进行登记。分组处理器登记完成两件事情。首先,如果尚不存在记录,就将与分组处理器相对应的一个记录插入到处理模块储存库中。其次,分组处理器可产生的分组原型被登记在分组字典中。第一项功能使诸如分组调度器的其它部件能够知道分组处理器本身。第二项功能使其它部件知道分组处理器可产生的分组。
文本析取模块。诸如图2所示文本析取模块206的文本析取模块(TEM)为通用非终端分组处理器。文本析取模块的目的是识别并格式化用户指定文本实体。在一个涉及定向维护域的实施例中,文本实体的示例包括文件参考、部件号、观察和错误。和所有分组处理器一样,TEM传递的是分组和处理器参数。处理参数器指定对输入文本应该应用哪个文本析取规则的集合。输入文本包括用户指定的分组内容的值。
TEM在处理分组时进行下述动作。首先,TEM识别由文本析取规则指定的实体。其次,TEM根据文本析取格式化规则对实体进行格式化。最后,TEM为其已经识别并格式化了的各实体输出一个或多个分组。
TEM如下所述地识别实体。首先,TEM对输入文本执行词法分析,以将输入文本转换为令牌表。令牌由一个或多个扩充的正规表达式或先前指定实体来指定。然而,令牌说明不必穷举。用户不必为对识别实体无直接贡献的文本指定正规表达式。因此,令牌化以两个步骤来进行。TEM找出用户指定的所有令牌,然后通过将用户指定过滤器应用到用户指定令牌间的文本来创建缺省令牌。一旦输入文本令牌化,TEM对令牌化输入文本进行第二词法分析,以便识别实体。实体由一个或多个产品指定。产品是小单元为令牌的扩充正规表达式。总之,实体识别过程是两次词法分析。第一次分析通过字符的扩充正规表达式将输入文本转换为令牌表。第二次分析通过令牌的扩充正规表达式识别出令牌化输入文本中的实体。
考虑图12所示的样本输入文本和图13所示的实体、令牌和正规表达式。图12是将由文本析取模块处理的样本输入文本。图13是文本析取模块规则的集合的层次表示。图13中的加框字母识别规则级中的项。字母“C”表示此项为集合,“E”表示实体,“T”表示令牌,“R”表示正规表达式,“P”表示产品,以及“F”表示格式。例如,为了识别图12中样本文本的设备号(Equipment Number)实体,TEM首先找出在设备号实体中定义的令牌。在此示例中,设备号实体只定义一个带有单一正规表达式[A-Z][0-9]{2,}的EquipNum(设备编号)令牌,此表达式为一个字母后面跟两个或多个数字。在图12所示的样本文本中,TEM识别出三个EquipNum令牌:W121、W122和W123。接着,TEM采用在设备号实体项目上指定的字符过滤器来过滤剩余文本。在此示例中,字符过滤器包含空格“”、开括号“(”、闭括号“)”和逗号“,”。通过从文本中的剩余决中去除过滤器中具有的前置和后置字符来进行过滤。施行过滤后,文本的剩余块成为缺省令牌。
例如,在图12中考虑EquipNum令牌W122和W123之间的文本,即一个逗号和一个空格。由于这二个字符存在于过滤器中,从而将它们去除,因此在这些EquipNum令牌之间不存在缺省令牌。另一方面,在图12中考虑EquipNum令牌W123和输入文本末尾之间的文本,即“)(DOC 21-51-11,-22,-23).”TEM首先去除过滤器中的前置字符。由于第一字符是闭括号(过滤器中存在的字符),因此去除此字符并检查下一字符。由于下一字符为空格,因此它也被去除。这一直持续到文本析取模块遇到过滤器中不存在的字符为止。第一个这种字符为字母“D”。然后TEM去除过滤器中存在的后置字符。由于最后一个字符为句号,是过滤器中不存在的字符,因此这个字符保留,查寻结束。如果最后一个字符存在于过滤器中,TEM将去除此字符并检查倒数第二个字符。此过程继续到TEM遇到过滤器中不存在的字符为止。由于在过滤了前置和后置字符后还存在着文本“DOC 21-51-11,-22,-23).”,因此它成为缺省令牌。下面的表1提供了从文本析取模块进行词法分析以识别出样本文本中的设备号实体而得到的EquipNum令牌和缺省令牌表。
表1令牌及其值的表
令牌 值
缺省 如果问题仍存在,替换L(R,C)WIDGET
FIN W121
FIN W122
FIN W123
缺省 DOC 21-51-11,-22,-33).
这里,样本输入文本被令牌化成为五个令牌:缺省、FIN、FIN、FIN和缺省。接着,TEM进行第二词法分析,以查找设备号实体的产品。在此示例中,只存在一个产品FIN+,它与一个或多个EquipNum令牌匹配(FIN是EquipNum的缩写)。结果,文本析取模块找出一个实体、三个EquipNum令牌,如图14所示。
一旦在输入文本中识别出实体,它就被格式化成一个或多个字段。然后,该实体被包装成分组并传送给分组调度器。TEM如下对实体格式化。首先,TEM将匹配产品的令牌根据其类型放入箱中。其次,TEM对箱中的令牌进行完全或分级扩充。第三,TEM为各个匹配产品的格式生成字段。最后,TEM创建分组并将所述字段作为内容插入到分组中。
同样,让我们考虑样本输入文本和文件参考(DocumentReference)实体的规则。在进行两级词法分析时,TEM识别出一个章节令牌(CS)、三个主题令牌(SUB)和两个分隔符令牌(SEP),如图15所示。另外,TEM识别与第二产品相匹配的一个实体VOL?CS SS(SEPSS)*,如图15所示。匹配产品的六个令牌为CS、SUB、SEP、SUB、SEP和SUB。现在,TEM将所列令牌的值根据其类型放入到箱中。在一个实施例中,在将值放入箱之前,TEM首先核实该箱存在空间。
图16显示了文件参考产品(如图13所示例示文本析取规则所定义的)分选到箱的令牌值。例如,第一令牌的值为“21-51”且其类型为章节(CS)。由于CS令牌定义没有指定箱的深度,因此假定深度为无限。因此,值“21-51”被插入到CS箱1602中。第二令牌的值为“-11”且其类型为主题(SUB)。由于主题箱的深度也是无限的,因此值“-11”被插入到SUB箱1604中。第三令牌的值为“,”且其类型为分隔符(SEP)。由于分隔符的箱深度为零,如图13所示,因此TEM不会将此令牌值插入到SEP箱1606中。因为如果那样做的话会使箱中值的数量超出其深度。在TEM尝试将所有的令牌值放入箱中后,它再检查是否有任何箱是空的。如果某个箱是空的且其相应的令牌规则指定某个缺省值,则将该缺省值插入到箱中。在当前示例中,卷(VOL)和分隔符(SEP)箱1600、1606是空的。由于VOL令牌指定缺省值“DOC”,因此将“DOC”插入VOL箱1600中,如图16所示。
在如图16所示地将匹配产品的令牌值插入箱中后,TEM对箱的内容进行分级或完全扩充。图17列出了通过对图16所示的箱进行完全扩充而形成的令牌值集合。在分级扩充中,TEM将各箱中的第i个值组合到一个集合中,其中编号i的范围在任何箱中为从1到值的最大数量。前面的陈述只适用于包含多个值的箱。对于包含单个值的箱来说,第一个值被组合到各集合中。如果对具有不等数量的值的多值箱的值进行扩充,则一些集合将缺一些值。在完全扩充过程中,TEM将值的所有组合都组合到集合中。在当前示例中,匹配产品规则指定完全扩充。因此,TEM形成如图17所示的三个组。
在匹配产品的令牌值被组合到集合中之后,各集合被格式化成一个或多个字段。图18显示了通过将匹配产品的卷和书签格式应用到图17所示的值的集合所得到的字段标记和值。匹配产品的格式的数量决定了字段的数量。格式包含标记和格式说明。在一个实施例中,格式说明具有下述语法。
“前缀”TOK1“后缀”‖“前缀”TOK2“后缀”‖...‖“前缀”TOKn“后缀”
垂直线之间的信息被认为是令牌格式组。各组必须用其缩写来指定令牌并可包含可选前缀和后缀。此令牌被称为格式令牌。前缀和后缀是引号内的文本。TEM如下所述地对各个令牌值集合施行格式化。对于各令牌格式组,TEM检查集合是否包含格式令牌的值。如果包含,则TEM将令牌格式组的前缀文本、格式令牌的值和令牌格式组的后缀附加到字段缓冲区。应该注意,格式说明不必具有用于产品中各令牌的令牌格式组。有限态机器将格式说明分析成适于应用上述算法的形式。在图17中列出此机器的有限状态。
例如,考虑匹配产品的书签格式,即VOL“”‖CS‖SS以及图17中的值的第一集合。第一令牌格式组包含VOL格式令牌和后缀。由于集合包含VOL格式令牌的值,因此将值“DOC”和后缀“”附加到字段缓冲区中。剩余的二个令牌格式组包含令牌CS和SUB。这些组不包含前缀或后缀。由于集合包含CS和SUB格式令牌的值,因此将值“21-51”和“-11”附加到字段缓冲区。在进行格式化之后,字段缓冲区包含文本“DOC 21-51-11”。将匹配产品的卷和书签格式应用到图17所示的值的集合将产生如图18所示的三个字段集合。
最后,在TEM创建了格式化字段集合(如图18所示)后,它如下创建各字段集合的分组。首先,TEM连接文本“Tem”、实体名和文本“实体(Entity)”以形成分组类型。其次,TEM加入标记为“实体ID(EntityId)”且值是此类型分组的唯一标识符的内容标记-值对。第三,TEM为各格式化字段增加内容标记-值对。内容标记为字段标记,内容值为字段值。第四,TEM从内容为输入文本的输入分组将上下文标记-值对衍生到实体分组。最后,TEM加入四个另外的上下文标记-值对。这些上下文被标记为“Tem父分组类型”、“Tem父内容标记”、“Tem集合名称”和“Tem实体名称”。“Tem父分组类型”和“Tem父内容标记”上下文的值是分组类型和内容为输入文本的分组的内容标记。“Tem集合名称”和“Tem实体名称”上下文的值是其规则用于识别和格式化实体的集合和实体的名称。在图19中显示了与样本文本中的文件参考实体相对应的分组1902、1904、1906。图19显示了从图18所示的字段标记和值中创建的例示分组。在图18中的例示性实施例中,假定样本文本来自“错误隔离元素”分组的“错误隔离文本”内容。还假定“错误隔离元素”分组具有“章号”和“节号”上下文。
在处理输入文本时,TEM搜索由处理参数指定的实体集合。在一个实施例中,以集合中指定的实体顺序来搜索实体。在当前示例中,TEM首先识别设备号实体,然后是文件参考实体,最后是错误实体,如图13所示。在文件参考实体的设备号中,所有令牌由一个或多个正规表达式来指定。但是,如图13所示的错误实体并非如此。在这四个令牌中,其中一个即动作(Action)令牌与设备号和文件参考令牌的相似之处在于,动作令牌由正规表达式来指定。然而其余令牌是不同的。EquipNum和DocRef令牌分别由设备号和文件参考实体指定;而EquipDesc令牌为缺省令牌。EquipNum和DocRef令牌将与先前识别出的设备号和文件参考实体匹配。在当前示例中,EquipNum令牌与文本“W121(W122,W123)”匹配,而DocRef令牌与文本“21-51-11,-22,-33”匹配。EquipDesc与动作和EquipNum令牌之间的过滤文本、即如图20所示的“L(R,C)WIDGET”匹配。图20为样本输入文本,其中文本析取模块识别图13的例示性文本析取规则定义的错误实体。注意,如果错误实体没有指定EquipDesc令牌,则EquipDesc令牌的值是将为缺省令牌的文本。为了避免模糊,一个实体只可将其一个令牌指定为缺省令牌。
与设备号和文件参考实体的情况一样,TEM为图21所示的错误实体创建Tem错误实体分组。由于匹配产品指定四个格式项,因此Tem错误实体除了出现在TEM创建的每个分组中的通用实体Id内容之外,还包含动作、设备描述、设备号和修理程序的内容。如所期望的,动作和设备描述内容的值分别为“替换”和“L(R,C)WIDGET”。然而,设备号和修理程序内容的值不是“W121(W122,W123)”和“21-51-11,-22,-33”。相反,设备号和修理程序的内容具有三个值,它们对应于先前创建的Tem设备号实体和Tem文件参考实体分组的实体Id内容的值。因此,由先前定义的实体所指定的令牌值为相应分组的实体Id内容的值。此特征提供了将TEM创建的分组相互链接的方法。例如,图21表示了Tem错误实体分组与Tem文件参考实体以及Tem设备号实体分组之间的关系。注意,Tem错误实体分组的设备号和修理程序内容虽然显示为由逗号分隔的表,但它们具有三个值。
分组输出模块。分组输出模块(PEM)是通用终端分组处理器。换句话说,此模块不产生任何子分组,也不指定特定知识储存库模式。分组输出模块的目的是将分组输出到知识储存库,后者为开放式数据库连接(ODBC)兼容的。输入过滤器和PEM共享许多相同属性。输入过滤器为可训练的,在训练前需要输入数据源的结构,并保护分组处理模块免于数据源的复杂特征。相似的,PEM为可训练的,在训练前需要输入知识储存库的结构(模式),并保护分组处理模块免于知识储存库的复杂特征。
PEM的行为由分组输出规则管理,此规则将分组内容和上下文映射到数据库表的字段。就象输入数据的结构必须在训练分组结构规则之前被概括并输入到输入过滤规则库中一样,知识储存库的模式必须在训练分组输出规则之前被分析并输入到分组输出规则库中。
例如,考虑如图22所示数据库模式的样本知识储存库。图22是显示分组将输出到的样本知识库的数据库模式的框图。图22所示的样本知识储存库包括五个表格。PemDocRef 2202、PemEquipNum2204和PemFault(Pem错误)2206表格分别将信息储存在Tem文件参考实体、Tem设备号实体和Tem错误实体分组中。PemFaultHasDocRefs 2208和PemFaultHasEquipNum 2210是多对多的关系表,它将关系信息存储在Tem错误实体分组中。在知识储存库的数据库模式被输入到分组输出规则后,用户可指定分组输出规则。如果知识库的数据库模式被修改,则之后重新输入,PEM标记先前和当前模式之间的差异。进行输入的方式应保存现有分组输出规则。
图23是图21所示的分组和图22所示的数据库表之间的样本映射。由于分组内容可具有多个值,而数据库表的字段可存储最多一个值,因此必须对分组值进行扩充,以便将这些值组合到输出到知识库的集合中。这些扩充方法与文本析取模块将令牌箱中的值组合到集合中所采用的扩充方法相似。
考虑映射到一个数据库表的所有分组内容和上下文的值。对于分级扩充,PEM将来自各个多值分组内容的第i个值和各单值内容的值和所有上下文组合到集合中并将这些值输出到知识储存库。对于完全扩充,PEM将分组内容和上下文值的每一组合组合到集合中,并将这些值输出到知识储存库。
注意到样本分组输出规则中其边上带圆圈的字母“R”的分组内容和上下文。此图标表示这些内容和上下文需要有值,以输出这些值中的任何一个。换句话说,若映射到单个数据库表中所需内容和上下文中的任一个不包含至少一个值,则PEM将不输出任何值的集合给该数据库表。现在考虑当不包含任何值的非必要内容或上下文输出到数据库表的字段中时PEM所做的工作。如果字段可空,即字段可存储空值,则PEM输出空值。如果字段不可空,则PEM在字段存储数值数据时输出0或在字段存储文本时输出零长字符串。若字段不可空且不能存储零长字符串,则PEM发出分组输出错误消息。
作为示例,考虑PEM如何采用图23所示的分组输出规则来将图21所示的分组输出到模式如图22所示的知识储存库。首先,考虑Tem文件参考实体分组。分组的实体Id、卷和书签内容被映射到PemDocRef表的实体Id、卷和书签字段;而分组的章号和节号上下文被映射到PemDocRef表的章号和节号字段。分组输出规则还表明(i)分组中的值将被分级扩充到集合并作为数据库记录输出,以及(ii)只输出各映射分组内容和上下文包含值的集合(第二观察是需要各分组内容和上下文的结果)。由于图21的Tem文件参考实体分组的所有内容为单值,因此分级扩充价值不大。各分组产生作为记录输出到如图24所示的PemDocRef表的值的单一集合。注意:Id字段的值是自动地生成,因为此字段为自动号类型。
现在考虑图21中剩下的分组。由于Tem设备号实体和Tem文件参考实体分组以相同方式输出到知识储存库,因此这里集中讨论Tem错误实体分组。根据分组输出规则,Tem错误实体分组被映射到三个表格:PemFault(Pem错误)、PemFaultHasDocRefs和PemFaultHasEquipNums。Tem错误实体到PemFault的映射与Tem文件参考到PemDocRef的映射相似,只有一处例外。不需要Tem错误实体的设备描述内容;因此,PEM将一组值作为TemFault记录输出到知识储存库,即使分组不包含设备描述值也是如此。换句话说,如果TemFault分组具有设备描述内容,它的值将与其它值一起输出。然而,如果TemFault分组不具有设备描述内容,则其它值将被输出并且设备描述字段将为空值或零长字符串。
最后,考虑Tem错误实体到PemFaultHasDocRefs的映射。分组的实体Id和修理程序内容分别被映射到PemFaultHasDocRef表的FaultKey(错误关键字)和DocRefKey(文件参考关键字)字段。图21的Tem错误实体分组的实体Id和修理程序内容的值分别为1以及1、2和3(实体Id内容有一个值,而修理程序内容有三个值)。分组输出规则指定这些值应完全扩充,以创建作为记录输出到PemFaultHasDocRefs表的集合,如图25所示,创建并输出了三个值的集合。
总之,当采用图23所示分组输出规则将图21的分组输出到知识储存库时,PEM创建下述数据库记录。
·三个PemDocRef记录,每一记录来自一个Tem文件参考分组;
·三个PemEquipNum记录,每一记录来自一个Tem设备号实体分组;
·来自Tem错误实体分组的一个Pem错误记录、三个PemFaultHasDocRef以及三个PemFaultHasEquipNum分组。
CGM处理模块。除了纯文本数据,D2K工具还可以处理计算机图形元文件(CGM)格式的图形文件。CGM文件是图形元素的集合,各元素含有标识它的操作码和定义它的一些数据。在一个实施例中,D2K中的CGM处理通过三层处理完成。在底层,CGM分析器模块在识别到新的图形元素时载入CGM图形文件并激发回叫。在此最底层,分析器不进行任何数据处理;它只计算文件的图形内容。在中间层,软件模块采用底层计算内容,但此时它保持所有的文本元素和形成线段的框。一旦存储了所有那些项目,模块就尝试将文本和它们的边界矩形相关。此中间层提供了允许顶层计算这些方框和方框包含的文本的接口。最上层从称做错误隔离表的CGM图形创建D2K分组。错误隔离表是图形的如果/则,其中结论或动作列出在页面右侧的框内。此最上层用中间层处理文件。然后,它计算最右边列中的框并创建包含那些框内文本的分组。然后,这些分组由D2K处理,就象它们始于输入过滤器一样。
万维网执行程序。图26是网络执行程序的用户接口的例示性实施例。如图26所示,标题帧显示应用徽标。导航帧包含按键组,压下按键时可用相应网页更新主帧。主帧中的网页和其上的控件显示指令,提供了一种用户可与D2K交互作用的机制并管理诸如错误报告、选项设定和配置装载/保存的全局功能。
在一个实施例中,导航帧包含五组按键:执行程序、输入过滤器、分组调度器、文本析取模块和分组输出模块。执行程序组中的按键载入允许用户浏览文件、装载和保存配置、指定数据库和设置并运行工具的网页。其余组中的按键载入允许用户训练输入过滤器、分组调度器、文本析取模块和分组输出模块的网页。
在一个实施例中,位于网页上的部件在客户端运行。但是,可以修改D2K部件以使其在服务器端运行,使得客户简单地接收和显示HTML流。这就允许用户从能够运行万维网浏览器的任何机器上与D2K交互作用。
用户接口。下述部分描述D2K用户接口。首先将讨论输入过滤器用户接口。在这个讨论后为关于分组调度器用户接口、文本析取用户接口以及最后的分组输出用户接口的讨论。
输入过滤器用户接口。在一个实施例中,用户通过输入过滤器用户接口训练输入过滤器。用户接口允许用户创建、修改和删除诸如SGML文件的分级结构化数据源的分组结构规则。输入用户接口的一个优点在于它允许用户将数据源的分级结构直观化。用户接口包括主编辑器窗口和显示所选分组中的分组的非模态窗口。将对这些窗口中的各个窗口进行更详细地讨论。
图27是输入过滤器编辑器的一个实施例的屏幕捕获。输入过滤器编辑器显示树状分级结构化数据,如图27所示。数据源的元素显示为文件夹;而属性显示为文件。例如,用户右击节点(或者说选择一个节点)以改变其动作。元素和属性名称显示在图标后面。省略号(...)和分组结构规则跟在名称后面。为了避免混乱,如果分组结构规则是“忽略数据”,则不显示该规则。
用户可通过调用显示于图28中的搜索对话框来搜索文本树。为了这样做,用户在编辑器中右击并从弹出菜单中选择“搜索...”命令。
“文本位置”控件允许用户指定他们是否对限制他们对属性、元素、分组类型、内容或上下文的搜索感兴趣。用户还可搜索所有上述项。另外,用户可以通过“搜索节点”控件来搜索树的所有节点或只搜索当前节点的子节点。在输入了所需搜索参数后,用户按压“搜索”按键来执行搜索。之后,搜索结果显示在查看列表中。用户可双击表中的某一元素以将其选择到输入过滤器编辑器、即主窗口中。搜索窗口可重新调整大小和移动;对话框的大小和位置在使用之间保持。
如图30所示,除了搜索文本,用户还可调用弹出菜单中诸如清除、编辑、下一个和书签的其它命令。用户可通过选择“清除”命令来清除当前所选节点及其子节点的所有动作。此命令将所有受影响节点的动作复位为“忽略”。用户可通过选择“编辑”命令来编辑当前所选节点的规则。“编辑”命令调用显示于图29中的“分组结构属性”对话框。图29是输入过滤器编辑器的分组结构属性对话框的一个实施例。此对话框也可由双击某一节点来调用。
用户可编辑规则的动作并根据规则来编辑其相关分组类型、内容标记和上下文标记。分组内容和上下文与分组类型保持一致,并可通过从下拉组合框中选择项来选择。为创建新的分组类型、内容标记或上下文标记,用户可简单地在适当的组合框中键入新名称。
除了导航树形图的传统方法之外,用户可选择显示于图30中的“下一个”菜单。图30是输入过滤器编辑器的“下一个”菜单的一个实施例。“下一个”菜单中的命令允许用户选择具有指定动作的下一节点,或具有指定不同标志的下一节点。例如,通过选择下一个|创建分组命令,用户可快速地定位其规则创建了分组的下一节点。
最后,用户可对树形图中的节点标记书签,允许它们在重要节点之间快速导航。如果当前所选节点未被标记书签,用户可以选择显示于图31中的书签子菜单上的“设置”命令。图31是输入过滤器编辑器的“书签”菜单的一个实施例。如果当前所选节点之前已标记了书签,用户可以通过选择“清除”命令来清除标记。为了去掉所有书签,用户可选择“全部清除”命令。书签可保持在编辑会话之间。因此,用户可能希望不时地清除不再需要的书签,尤其是在创建不同数据源的分组结构规则时。如果用户已经对超过9个节点标记了书签,则只对前9个编号。
标题为“当前分组信息”的非模态窗口显示当前所选模式的分组原型。图32是输入过滤器用户接口的非模态“当前分组信息”窗口的一个实施例。此窗口允许用户使输入过滤器将通过应用当前所选分组结构规则及其可用的相邻规则产生的分组的结构直观化。这个非模态窗口可重新调整大小并且可定位于电脑上的任何位置。
输入过滤器编辑器还提供使分组结构直观化的另一方法。通过将鼠标光标在树形图中的任何节点上悬停,可临时出现一个弹出提示窗口。此提示窗口的内容显示输入过滤器通过应用与鼠标光标选择的节点相关的规则来部分创建的分组的结构。
分组调度器用户接口。用户可通过分组调度器用户接口训练分组调度器。接口被分成两个屏,其间为大小可调的划分条。各屏将进行更详细地讨论。
图33是分组调度器用户接口的处理器和分组选择屏的一个实施例。处理器和分组选择屏由图33所示的树形图实现。此屏包含所有的登记处理模块。通过使鼠标在特定处理器上悬停,用户可看到映射到其上的所有分组(及其相应的分组处理参数)。因此,树形图包含所有的登记分组类型及其合法上下文标记。通过使鼠标在特定分组类型上悬停,用户可看到分组映射到的所有处理器。为创建新的匹配说明(matchspec),用户可拖动分组类型并将其放在处理器上。这个动作将在匹配说明屏上插入新的matchspec,这将在下文中讨论。
图34是分组调度器用户接口的匹配说明屏的一个实施例。匹配说明屏由图34所示的查看列表实现。查看列表显示所有的匹配说明(matchspec),即,将分组映射到分组处理模块的分组调度规则。用户可根据分组类型、处理器、参数或上下文通过点击相应的列标题来对matchspec分类。第二次点击同一列可以将此列以相反方向分类。用户可通过右击并选择“查看”来改变查看列表的格式。
为创建matchspec,用户可从处理器和分组选择屏将处理器、分组类型或分组上下文拖动到匹配说明屏中的一个空列。此动作将创建一个包含下拉项的新matchspec。另一方面,如果用户从处理器和分组选择屏将项目拖动到匹配说明屏中的一个matchspec,则matchspec就将通过结合此下拉项而被修改。用户还可右击或双击一个元素以得到映射特性对话框。
用户可通过双击matchspec来调用显示于图35中的“匹配说明属性”对话框以编辑matchspec。或者,用户可右击matchspec,以调用弹出菜单和选择“属性...”命令。通过“匹配说明属性”对话框,用户可设置matchspec的处理器、参数和分组类型。另外,用户可使用“增加...”和“删除”按键来将分组上下文值对插入到匹配说明中。如果用户改变具有上下文值对的matchspec的分组类型,则编辑器将去除任何无效对、即对新的分组类型无效的对。
最后,用户可通过右击匹配说明屏中的matchspec并从弹出菜单中选择“删除”命令来删除matchspec。或者,用户只简单地选择matchspec并按下删除键。
文本析取用户接口。用户可通过文本析取用户接口来训练文本析取模块(TEM)。用户接口允许用户创建、修改和删除文本析取规则,如集合、实体、令牌、正规表达式、产品和格式。文本析取用户接口的一个优点在于它允许用户马上“看到”他们实时地创建、修改或删除任何规则所带来的影响。用户接口包括对话条、规则屏、注释屏和表格屏。这些部分中的每一个将进行更详细地讨论。
显示于图36中的文本析取用户接口对话条位于用户接口控件的上方并包含10个按键,允许用户执行下述功能:
·在分组内容的“页”之间导航,
·从文件模式切换到分组模式,
·从文本析取模块规则数据库重新载入规则,
·保存在当前会话中完成的改变,
·从分组模式切换到文件模式,以及
·调用帮助。
前四个按键,即箭头键允许用户前进到分组内容的第一个、上一个、下一个和最后一个“页”。从分组数据库读分组内容(分组数据库通过运行带有所选“将分组保存到数据库中”的处理选项的工具而提供)。可在注释窗格中显示“页”并通过在规则窗格中显示当前选择的实体的识别令牌和产品来进行注解。第五个按键“再装入分组”将注释窗格从文件模式切换到分组模式,即从分组数据库中读注释窗格中的文本。第六个按键“再装入数据库”从文本析取规则储存库中再装入文本析取规则。用户会被警告当前的改变将被放弃。第七个按键“存储数据库”确认文本析取规则的改变并将它们写入文本析取规则储存库。第八个按键“打开文件”将注释窗格从分组模式切换到文件模式,即从用户选择文件读注释窗格中的文本。第九个按键“关于”显示关于文本析取用户接口的相关信息。最后,第十个按键“帮助”运行文本析取的用户接口的帮助应用。
规则屏显示如图37所示的分级树形图中的文本析取规则。树节点可以是集合、实体、令牌、正规表达式、产品或格式。代表这些节点之一的图标是框内的黑体大写字母。字母对应于节点类型的第一个字母,例如C为集合,E为实体等。另外,树中还显示了指定那些集合处理哪一分组内容的节点。框内的黑色圆点表示这些节点。
节点的文本取决于它的类型。集合节点的文本为集合名称,之后为圆括号内它的缩写。实体节点的文本为实体名称,之后为圆括号内它的缩写。类似的,令牌节点的文本为令牌名称,之后为圆括号内它的缩写。然而,如果令牌是指先前识别的实体,则后面跟有参考实体名称和缩写的文本“实体:”被括号括起来并附在令牌文本上。正规表达式节点的文本是正规表达式本身;而产品节点的文本是产品的语法。格式节点的文本是格式标记的名称。最后,“集合处理分组内容”节点的文本是用句号隔开的分组类型和内容标记。
用户可以执行规则屏中诸如创建规则、删除规则、复制规则或移动规则等若干操作。用户可以通过拖动规则节点并将其放在另一节点上来复制或移动规则。如果用户从一个集合拖动某节点并将其放在某个不同集合中,则节点及其衍生节点被复制。如果用户从一个集合拖动节点并将其放在相同集合中的不同位置,则通过弹出对话提示用户他/她是否希望复制或移动此节点及其子节点。如果在鼠标不在节点上时用户右击规则屏,则出现一个弹出菜单,允许用户创建集合。然而,如果当鼠标在节点上时用户右击,则出现一个弹出菜单,允许用户删除“已选”节点或创建子节点。例如,如果当鼠标在实体上时用户右击,则出现一个弹出菜单,允许用户删除该实体、创建令牌或创建产品。如果当鼠标在正规表达式节点上时用户右击,则出现一个弹出菜单,允许用户只删除此正规表达式。
注释屏是如图38所示的可滚动视图,其通过识别当前实体的令牌和产品来对样本文本进行注解。如果当前所选规则视图中的项是实体,则当前实体为所选项。如果当前所选规则视图中的项不是实体,则当前实体为其父项是所选项的实体。样本文本可从文本文件读取或从分组储存库中的数据中载入。如果样本文本包含多行,则注释窗格在不同页中显示注释文本。用户可通过对话条“Dialog Bar”上的按键在页面间导航。
为样本文本中的每一行进行当前实体的令牌和产品的注释。令牌和产品分别通过文本上、下的水平括弧来标识。令牌通过将其缩写名称显示在括弧上方来进一步注释。如果缩写无法安在令牌上,则显示一个星号。通过将鼠标悬停在星号上,用户可调用显示缩写的提示窗口。产品可以类似方式通过在括弧下方显示所选实体名称来进一步注释。通过将鼠标悬停在实体名称上,用户可调用显示产品格式标记和值的提示窗口。
用户可通过表格屏来创建、修改和删除规则。表格屏包含多个行和列,如图39所示。表格的第一行显示规则视图中当前所选节点的内容。表格的中间行显示当前所选节点的同胞节点的内容。标有星号
的表格的最后一行是空的,允许用户创建新规则。列和列标题的数目取决于当前所选节点的类型。
为了创建新规则,用户必须将合适的信息输入到最后一行的各列中并操纵鼠标到另一行。用户可编辑表格上任意列的内容。当前编辑的行被标上记号。为了更改某一行,用户必须通过鼠标或箭头键操纵鼠标到另一行。为了删除规则,用户必须通过点击最左边的(不可编辑的)列来选择此行并按压删除键。一旦用户确认,此行(及相应的规则)将被删除。
分组输出用户接口。用户可通过分组输出用户接口来训练分组输出模块(PEM)。用户接口允许用户创建、修改和删除分组输出规则,例如在分组内容/上下文到数据库表字段之间的映射。分组输出用户接口的一个优点在于它允许用户以有意义的方式将分组输出规则直观化。用户接口包括两个屏:选择屏和图形屏;以及一个状态条。各屏将进行更详细地讨论。另外,还将讨论允许用户将知识储存库模式输入到分组输出规则数据库的控件。
在将分组内容/上下文映射到数据库表字段之前,用户通过知识储存库模式输入控件来将数据库模式输入到分组输出规则数据库。输入控件包含两个按键和两个窗格。为了将知识储存库模式输入到分组输出规则数据库,用户应按压输入按键。知识储存库的表显示于左窗格中,而当前所选表的字段显示于右窗格中,如图40所示。用户可通过鼠标和箭头键选择适当的表来浏览任何表的字段。数据库表和字段可通过状态图标来进行。新的表和字段,即在上次输入中没有出现在知识储存库中的那些由绿色加号图标标记。废弃表和字段,即从上次输入以来从知识储存库删除的那些由红色字母“x”图标标记。修改字段,即从上次输入以来其类型和/或属性已改变的那些由黄色校验标记图标标记。为了删除废弃表和字段的废弃模式,用户应按压清除按键。
选择屏显示树形图中的两个列表,如图41所示。第一列表显示系统已知的分组,即已在分组字典中登记的分组。第二列表显示知识储存库表。为了在图形屏中显示分组或表,用户应双击树形图中的相应项。如果用户双击具有将其映射到一个或多个表的规则的分组,则映射表和映射规则一起均显示于图形屏中。
如图42所示的图形屏为画布,分组输出规则可以在其上创建、修改或删除。分组表示为窗口。分组类型显示于窗口的标题条中。内容和上下文标记列于窗口内。内容和上下文标记通过不同的图标进行。知识储存库表以相似的方式表示为窗口。表格名称显示于窗口的标题栏中同时表格字段列于窗口内。
为了在画布中增加分组或表,双击选择屏中的相应项。如果用户双击具有将其映射到一个或多个表的规则的分组,则映射表格和映射规则一起显示于图形屏中。为了从画布中去掉分组或表,点击分组或表窗口的右上角的小“x”按键。如果从画布中去掉了分组,则所有映射到其上的规则也被去掉。只有在没有映射到其上的规则时才能去掉表的窗口;因此,一个映射首先去掉映射到表窗口的分组窗口。从画布去掉窗口和规则并没有删除它们。相应分组输出规则仍存在于分组输出规则数据库中。
为了在分组和数据库表之间创建新的分组输出(映射)规则,用户必须首先通过点击分组窗口中的内容或上下文标记来选择它然后通过点击数据库表窗口中的字段来选择它。一旦进行了上述程序,分组输出用户接口就在两个所选项之间画一条线来表示映射规则。为了用最近所选上下文或内容标记来创建另一输出规则,双击分组窗口中的标记然后选择新的数据库表字段。
当用户在映射规则即线上点击鼠标左键或右键时,线显示为粗体以表示此规则已经被选择。这就使用户可改变规则的属性或删除此规则。创建规则时,它们的扩充方法设定为“分级”而且不需要分组内容/上下文来将记录集输出到知识储存库。但是,如果规则映射的相应分组和数据库表已经具有规则,即它们之间已经画有线,则扩充等级被设为现有规则的等级。在一个实施例中,扩充方法为“分级”的规则用一种颜色画出;而扩充方法为“完全”的规则用另一颜色画出。当用户改变映射分组和数据库的规则的扩充方法时,此分组和数据库表之间的所有规则的扩充方法都改变了。最后,如果用户在画布上除分组窗口、数据库表窗口和规则之外的任意位置上右击,则出现弹出菜单允许用户将映射规则保存到分组输出规则数据库中。
储存库。在下面部分中将以下述顺序来讨论D2K数据库:输入过滤规则储存库、分组字典储存库、处理模块储存库、分组调度规则、分组储存库、文本析取规则储存库、分组输出规则储存库、消息记录储存库和知识库。各数据库将简单地加以介绍。
在一个实施例中,用户不直接编辑存储在D2K数据库中的数据。相反,用户与D2K用户接口相互作用,用户接口又将修改数据库的内容。
输入过滤规则储存库。_动作(Action)表存储分组结构规则动作,即忽略数据、忽略数据并创建新分组、创建新分组和将数据作为内容插入到分组中、将数据作为内容插入到当前分组中、将数据作为内容附加到当前分组中,以及将数据作为上下文插入到当前分组中。
_字段类型(FieldType)表存储了数据字段的全名和缩写名称。在SGML输入过滤器的情况下,数据字段是元素或属性。
在输入过滤规则输入数据结构和登记分组的过程中创建_ID映射(IdMap)、_衍生(Lineage)和_工作区(Workspace)表。_衍生表高速缓存各节点的派生节点图以便进行上下文的继承。
分组类型(PacketType)、上下文标记(ContextLabel)和内容标记(ContentLabel)表存储分组的分组类型、内容标记和上下文标记,它们由分组结构规则创建。
文件结构(DocumentStructure)表是临时缓冲器,其中存储并处理数据源的结构。
分组结构(PacketConstruction)表存储分组结构规则。表中的数据由输入数据源结构的过程创建并由输入过滤器用户接口修改。
分组字典储存库。在一个实施例中,分组字典数据库包括六个表,其中一个为临时工作区。主表是分组类型、内容标记、上下文标记、分组允许内容(PacketAllowsContent)和分组允许上下文(PacketAllowsContext)。这些表中的数据指定合法分组的原型。几个重要的D2K功能采用分组字典。例如,D2K训练用户接口采用分组字典来限制所选的列表框以便阻止用户产生无效的训练规则,同时分组工厂采用分组字典来保证只创建合法分组。另外,几个其它数据库包含与分组字典表的链接,如图43所示。
_原型登记(PrototypeRegistration)表为工作区,其被若干D2K部件用以构建分组原型。然后,分组原型在分组字典进行登记。
分组类型、内容标记、和上下文标记表存储合法分组类型、内容标记和上下文标记。分组允许内容和分组允许上下文表指定哪些内容和上下文标记位于哪些分组中。
处理模块储存库。处理模块储存库存储已登记处理模块和调用它们所需的信息的列表。此信息存储在处理器表中。另外,储存库存储各处理模块能产生的哪些分组。此信息存储在处理器登记内容(ProcessorRegisteredContent)和处理器登记上下文(ProcessorRegisteredContext)表中。在一个实施例中,虽然输入过滤器不是处理模块,但此储存库还存储了输入过滤器能产生哪些分组。
分组调度器规则储存库。分组调度器规则储存库存储分组调度规则。匹配说明(matchspec)被存储在MatchSpec和MatchSpec-HasContext表中。工作区表是分组调度器接口使用的临时工作区。
分组储存库。分组储存库是可保存分组的数据库。分组调度器将分组保存在储存库中。用户在执行网页上设定“将分组保存在数据库中”复选框。分组存储在四个表中:分组(Packet)、分组具有内容(PacketHasContent)、内容具有值(ContentHasValues)和分组具有上下文(PacketHasContext)。
文本析取规则储存库存储文本析取规则,文本析取规则模式如图44所示。要注意令牌和实体之间的关系。各令牌均具有和其父项的关系。直线表示此关系。然而,回想令牌可由一个或多个正规表达式组成或者它们可以为之前的四个实体。如果令牌为后一种情况,则可选关系即曲线将为非空的并且参考之前发现的实体。
由于集合具有一个或多个实体,实体具有一个或多个令牌,令牌具有一个或多个正规表达式等,因此必须确定如何实现这些一对多关系。图45中显示了两种通用表示法。为了说明这些表示法,考虑令牌和正规表达式实体。令牌可具有一个或多个正规表达式。即文件容量令牌可具有正规表达式如“FIM”、“(MM)|(AMM)”和“(WM)|(WDM)”。上述示例表示一对多的映射,如图45中选项A所示。另一种映射是各正规表达式与一个令牌相关,如图45中选项B所示。第一种方法的优点在于正规表达式可被不同令牌重复使用;而缺点在于另外的数据库表无法存储这些关系。第二种方法的优点在于这些关系无须存储在单独的数据库表中;而这种方法的缺点在于数据库可能包含由超过一个令牌引用的同一正规表达式的复制。发明人因非技术性限制而选择了后一种方法,即选项B。
_箱扩充方法(BinExpansionMethod)表为查找表,它包含箱扩充类型的合法值,即“分级”和“完全”。
_原型(ProtoType)表为工作区,由文本析取模块用于构建其可以产生的分组原型。
集合、实体、令牌、正规表达式、产品和格式表分别存储集合、实体、令牌、正规表达式、产品和格式。
实体名称(EntityName)和TokenName(令牌名称)表存储实体和令牌名称。实体和令牌表分别从这些表中引用实体和令牌。这些名称被分到它们自身的表格中,以便支持实体对集合和令牌名称的实体名称精确地重用。
集合处理分组内容(CollectionProcessesPacketContent)表存储哪一集合处理哪一分组内容的列表。为了更精确,文本析取模块根据指定的规则集合来处理指定分组内容的值。
分组输出规则储存库。分组输出规则储存库存储分组输出规则。分组输出模块的行为由这些规则管理,后者将分组内容和上下文映射到数据库表字段。正如输入数据的结构必须在训练分组结构规则之前概括并输入到输入过滤规则储存库,知识储存库的模式也必须在训练分组输出规则之前被分析并输入到分组输出规则储存库。
_扩充方法(ExpansionMethod)表为查找表,它包括箱扩充类型的合法值,即“分级”和“完全”。
缓冲区数据库字段(BufDBField)和缓冲区数据库表(BufDBTable)表是临时缓冲区,其中存储并处理知识库的模式。将这些表中的数据和数据库表及数据库字段中的数据相比较以确定从最后一次输入知识储存库模式以来哪些表和/或字段被增加、删除和修改。
名为数据库表和数据库字段的表存储知识库的模式。这两个表具有被增加的(IsAdded)和被去除的(IsRemoved)字段以标识模式输入之间的差异。另外,数据库字段表还具有被修改的(IsModified)字段。
名为“将分组类型映射到数据库表(MapPacketType2DBTable)”和“将分组信息映射到数据库字段(MapPacketInfo2DBField)”的表存储分组输出映射规则。表“将分组类型映射到数据库表”存储哪些分组映射到哪些数据库表的列表。另外,值扩充方法也被存储在此表中。表“将分组信息映射到数据库字段”存储什么分组内容/上下文映射到那些数据库表字段的列表。另外,指明是否需要将内容或上下文值输出到记录集的标记也存储在此表中。
消息记录储存库。D2K将错误、警告和调试消息保存在消息记录储存库中。消息记录具有三个表。模块类型(ModuleType)表存储D2K中可产生消息的部件的列表。严重性(Severity)表存储诸如致命、错误、警告、消息和调试等错误类别列表。最后,消息记录(MessageLog)表存储消息。
知识库。知识储存库的模式对各D2K应用是特定的。在训练分组输出模块之前,知识储存库模式被输入到分组输出规则储存库。一旦输入,用户就可训练分组输出模块以输出记录集,后者包括分组内容和上下文的值。
硬件和操作环境
图46是计算机化系统的方框图,此计算机化系统可实现本发明的例示性实施例。计算机90包括处理器92、随机存取存储器(RAM)94、只读存储器(ROM)96以及一个或多个存储装置98,如硬盘驱动器、软盘驱动器(可插入软盘)、光盘驱动器、盒式磁带驱动器等。RAM 94和ROM 96统称为计算机的存储器。存储器、硬驱动器、软盘、CD-ROM等是计算机可读媒体的类型。计算机可读媒体存储处理器92执行的指令。指令通过总线提供给处理器92。本发明并不限于任何类型的计算机90。这些计算机的结构和操作在本领域内已众所周知。
在一个实施例中,数据-知识(D2K)转换器被结合于诸如计算机90的计算机上执行的软件中。在一个实施例中,D2K系统以利用C++计算机语言的软件实现,并封装成构件对象模型(COM)部分的集合,它可在万维网浏览器中例示并通过嵌入在HTML网页中的MicrosoftVisual Basic和Java脚本连接。然而本领域的技术人员将认识到,在不脱离本发明的范围的前提下,也可以采用其它相当的硬件和编程语言。
虽然这里说明和描述了特定实施例,但本领域的普通技术人员将理解,可以用任何能达到相同目的的配置来代替所示的特定实施例。本申请计划覆盖本发明的任何修改和变型。因此,显然本发明只由下面的权利要求书及其等效物限定。
Claims (25)
1.一种计算机化系统,它包括:
至少一个储存库,它存储对所述计算机化系统处理数据进行管理的用户指定规则;以及
至少一个处理模块,它根据所述规则处理数据并从所述数据产生知识。
2.如权利要求1所述的计算机化系统,其特征在于:它还包括控制所述至少一个储存库和所述至少一个处理模块的系统执行程序。
3.如权利要求1所述的计算机化系统,其特征在于:它还包括允许用户创建、修改和删除所述用户指定规则的用户接口。
4.如权利要求3所述的计算机化系统,其特征在于,所述用户指定规则为分组结构规则。
5.如权利要求3所述的计算机化系统,其特征在于,所述用户指定规则为文本析取规则。
6.如权利要求3所述的计算机化系统,其特征在于,所述用户指定规则为分组输出规则。
7.如权利要求3所述的计算机化系统,其特征在于,所述用户指定规则为分组调度规则。
8.如权利要求1所述的计算机化系统,其特征在于,所述至少一个处理模块为文本析取模块。
9.如权利要求1所述的计算机化系统,其特征在于,所述至少一个处理模块为分组输出模块。
10.如权利要求1所述的计算机化系统,其特征在于:它还包括将数据转换成中立格式的输入过滤器。
11.如权利要求1所述的计算机化系统,其特征在于:它还包括将所述知识输出给知识储存库的输出模块。
12.一种将数据转换为知识的计算机化方法,所述计算机化方法包括:
提供用户指定规则,以管理用于将数据转换为知识的计算机化系统的行为;以及
根据所述规则处理数据以产生知识。
13.如权利要求12所述的计算机化方法,其特征在于,它还包括根据额外规则的数据,并不改变所述现有处理部件。
14.如权利要求12所述的计算机化方法,其特征在于,所述用户指定规则为分组结构规则。
15.如权利要求12所述的计算机化方法,其特征在于,所述用户指定规则为分组调度规则。
16.如权利要求12所述的计算机化方法,其特征在于,所述用户指定规则为文本析取规则。
17.如权利要求12所述的计算机化方法,其特征在于,所述用户指定规则为分组输出规则。
18.如权利要求12所述的计算机化方法,其特征在于,根据所述规则处理数据还包括从所述数据析取文本。
19.如权利要求12所述的计算机化方法,其特征在于,根据所述规则处理数据还包括将所述知识输出给知识储存库。
20.如权利要求12所述的计算机化方法,其特征在于,根据所述规则处理数据还包括将数据转换成中立格式。
21.一种计算机可读媒体,它具有存于其上用于执行将数据转换为知识的方法的计算机可执行指令,所述计算机化方法包括:
接收未结构化形式的数据;
将所述数据转换成中立形式;
根据用户指定规则处理数据,以将所述数据从所述中立形式转换成知识;以及
将所述知识输出给知识储存库。
22.如权利要求21所述的计算机可读媒体,其特征在于,将所述数据转换成中立形式包括对所述数据应用用户指定分组结构规则。
23.如权利要求21所述的计算机可读媒体,其特征在于,根据用户指定规则处理数据包括对所述数据应用用户指定分组调度规则以将所述分组发送给分组处理模块。
24.如权利要求21所述的计算机可读媒体,其特征在于,根据用户指定规则处理数据包括对所述数据应用用户指定文本析取规则。
25.如权利要求21所述的计算机可读媒体,其特征在于,将所述数据输出给所述知识储存库包括对所述数据应用用户指定分组输出规则。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/522,483 | 2000-03-10 | ||
US09/522,483 US7096210B1 (en) | 2000-03-10 | 2000-03-10 | Trainable, extensible, automated data-to-knowledge translator |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1650327A true CN1650327A (zh) | 2005-08-03 |
Family
ID=24081047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA018090222A Pending CN1650327A (zh) | 2000-03-10 | 2001-03-09 | 可训练可扩充的自动数据-知识转换器 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7096210B1 (zh) |
EP (1) | EP1323129A2 (zh) |
JP (1) | JP2004502993A (zh) |
CN (1) | CN1650327A (zh) |
AU (1) | AU2001245578A1 (zh) |
CA (1) | CA2402919A1 (zh) |
WO (1) | WO2001069527A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721842A (zh) * | 2016-04-08 | 2016-06-29 | 北京海尔广科数字技术有限公司 | 具有投影功能的机器人的投影方法、装置及机器人 |
CN106845645A (zh) * | 2008-05-01 | 2017-06-13 | 启创互联公司 | 用于用户驱动的语义网络和媒体合成的动态产生的方法、系统和计算机程序 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037193B2 (en) * | 1999-12-24 | 2011-10-11 | Telstra Corporation Limited | Virtual token |
US20040083135A1 (en) * | 2000-04-10 | 2004-04-29 | Chau Bang Thinh | Electronic catalogue |
WO2001086592A2 (en) * | 2000-05-09 | 2001-11-15 | Hnc Software Inc. | Approach for generating rules |
US8510083B2 (en) * | 2003-07-31 | 2013-08-13 | The Boeing Company | Method, apparatus and computer program product for constructing a diagnostic network model |
US20050128952A1 (en) * | 2003-12-11 | 2005-06-16 | International Business Machines Corporation | Executing and implementing a service for establishing network connections |
US20050144287A1 (en) * | 2003-12-11 | 2005-06-30 | International Business Machines Corporation | Computer product and system for establishing network connections |
US7444328B2 (en) | 2005-06-06 | 2008-10-28 | Microsoft Corporation | Keyword-driven assistance |
US9196304B2 (en) | 2006-01-26 | 2015-11-24 | Sony Corporation | Method and system for providing dailies and edited video to users |
US8631005B2 (en) | 2006-12-28 | 2014-01-14 | Ebay Inc. | Header-token driven automatic text segmentation |
US9014047B2 (en) * | 2007-07-10 | 2015-04-21 | Level 3 Communications, Llc | System and method for aggregating and reporting network traffic data |
US20090037360A1 (en) * | 2007-08-01 | 2009-02-05 | International Business Machines Corporation | Auto-Triggered Incremental Execution of Object Business Rules in Database Applications |
US8140991B2 (en) * | 2007-10-31 | 2012-03-20 | International Business Machines Corporation | Drag and drop rule topology |
US8504718B2 (en) | 2010-04-28 | 2013-08-06 | Futurewei Technologies, Inc. | System and method for a context layer switch |
US8527441B2 (en) | 2011-03-10 | 2013-09-03 | GM Global Technology Operations LLC | Developing fault model from service procedures |
US8452774B2 (en) | 2011-03-10 | 2013-05-28 | GM Global Technology Operations LLC | Methodology to establish term co-relationship using sentence boundary detection |
US9542376B2 (en) * | 2013-12-11 | 2017-01-10 | Sehul S. SHAH | System and method for creating, editing, and navigating one or more flowcharts |
US10740505B2 (en) | 2014-08-01 | 2020-08-11 | Riffyn, Inc. | Systems and methods for process design and analysis |
CN105205537B (zh) * | 2015-10-28 | 2017-08-01 | 武汉开目信息技术有限责任公司 | 一种基于本体的特征加工工艺知识表达推理的装置及方法 |
US10817494B2 (en) * | 2015-12-04 | 2020-10-27 | Riffyn, Inc. | Systems and methods for parsing data in order to form structured data tables |
US10592749B2 (en) | 2016-11-14 | 2020-03-17 | General Electric Company | Systems and methods for analyzing turns at an airport |
CN106918847A (zh) * | 2017-02-21 | 2017-07-04 | 武汉盛华伟业科技有限公司 | 一种基于知识库的井场录井解释方法及智能化解释系统 |
US10834336B2 (en) | 2018-01-29 | 2020-11-10 | Ge Aviation Systems Llc | Thermal imaging of aircraft |
US11018953B2 (en) | 2019-06-19 | 2021-05-25 | International Business Machines Corporation | Data center cartography bootstrapping from process table data |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62206628A (ja) | 1986-03-07 | 1987-09-11 | Hitachi Ltd | 知識の蓄積方式 |
US5359509A (en) * | 1991-10-31 | 1994-10-25 | United Healthcare Corporation | Health care payment adjudication and review system |
EP1080424B1 (en) | 1998-05-27 | 2006-07-12 | Master's Innovations Ltd Oy | A method and arrangement for translation of information |
US6236977B1 (en) * | 1999-01-04 | 2001-05-22 | Realty One, Inc. | Computer implemented marketing system |
-
2000
- 2000-03-10 US US09/522,483 patent/US7096210B1/en not_active Expired - Lifetime
-
2001
- 2001-03-09 CA CA002402919A patent/CA2402919A1/en not_active Abandoned
- 2001-03-09 EP EP01918509A patent/EP1323129A2/en not_active Withdrawn
- 2001-03-09 WO PCT/US2001/007652 patent/WO2001069527A2/en active Application Filing
- 2001-03-09 JP JP2001567526A patent/JP2004502993A/ja not_active Withdrawn
- 2001-03-09 AU AU2001245578A patent/AU2001245578A1/en not_active Abandoned
- 2001-03-09 CN CNA018090222A patent/CN1650327A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845645A (zh) * | 2008-05-01 | 2017-06-13 | 启创互联公司 | 用于用户驱动的语义网络和媒体合成的动态产生的方法、系统和计算机程序 |
CN106845645B (zh) * | 2008-05-01 | 2020-08-04 | 启创互联公司 | 用于产生语义网络和用于媒体合成的方法及系统 |
US11868903B2 (en) | 2008-05-01 | 2024-01-09 | Primal Fusion Inc. | Method, system, and computer program for user-driven dynamic generation of semantic networks and media synthesis |
CN105721842A (zh) * | 2016-04-08 | 2016-06-29 | 北京海尔广科数字技术有限公司 | 具有投影功能的机器人的投影方法、装置及机器人 |
Also Published As
Publication number | Publication date |
---|---|
JP2004502993A (ja) | 2004-01-29 |
WO2001069527A2 (en) | 2001-09-20 |
US7096210B1 (en) | 2006-08-22 |
WO2001069527A3 (en) | 2003-03-27 |
EP1323129A2 (en) | 2003-07-02 |
CA2402919A1 (en) | 2001-09-20 |
AU2001245578A1 (en) | 2001-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1650327A (zh) | 可训练可扩充的自动数据-知识转换器 | |
CN104035772B (zh) | 基于静态分析的源码多版本函数调用关系差异性标识方法 | |
CN1209725C (zh) | 文件编辑处理方法和文件编辑处理设备 | |
CN1368693A (zh) | 用于全球化软件的方法和设备 | |
CN1711522A (zh) | 图形用户接口建模系统 | |
US20070150500A1 (en) | Device for reporting software problem information | |
CN101052948A (zh) | 对象过程图应用程序开发系统 | |
CN101052945A (zh) | 在标记语言文档中创建标签或属性的方法 | |
US7401070B2 (en) | Flow data generation method, flow data generation apparatus, and flow data generation program product | |
CN1811766A (zh) | 用于绑定数据的可编程性 | |
CN1591401A (zh) | 一种使用应用程序的各个版本进行数据处理的方法 | |
CN1773508A (zh) | 把源文档转换成目标网页文件的方法 | |
JPH10240536A (ja) | 事例検索装置及び事例検索方法並びに事例ベース構築装置及び事例ベース構築方法 | |
US11158118B2 (en) | Language model, method and apparatus for interpreting zoning legal text | |
US7853595B2 (en) | Method and apparatus for creating a tool for generating an index for a document | |
US20080126920A1 (en) | Method for creating FMEA sheet and device for automatically creating FMEA sheet | |
US20070234201A1 (en) | Information Management Device | |
CN1786947A (zh) | 基于网页页面布局提取网页核心内容的系统、方法和程序 | |
JP2973913B2 (ja) | 入力シートシステム | |
CN101031912A (zh) | 数据处理装置和数据处理方法 | |
JP5675676B2 (ja) | 業務分析設計支援装置、業務分析設計支援方法、および業務分析設計支援プログラム | |
CN1947114A (zh) | 处理使用标记语言的文档的装置 | |
JPH11265368A (ja) | 作業手順管理システム | |
JP2006139358A (ja) | 業務支援装置 | |
US20070220439A1 (en) | Information Management Device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |