首页> 中国专利> 采用术语构建知识关联的知识发现技术

采用术语构建知识关联的知识发现技术

摘要

一种利用图形用户接口来确定知识的技术,其中图形用户接口用于输入将被研究用于其它知识的一个或多个术语。在一个或多个信息源中进行搜索以确定包含关于所述术语的信息或与所述术语关联的信息的资源。所述资源被分解为信息的基本单元并被存储在称为节点的数据结构中。一组节点被存储在节点池中,并且由该节点池构建表示知识的节点关联。

著录项

  • 公开/公告号CN101124537A

    专利类型发明专利

  • 公开/公告日2008-02-13

    原文格式PDF

  • 申请/专利权人 马克森斯公司;

    申请/专利号CN200580045534.5

  • 发明设计人 马克·博比克;卡尔·温默;

    申请日2005-11-14

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人李玲

  • 地址 英属维尔京群岛托尔托拉

  • 入库时间 2023-12-17 19:45:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-01-26

    授权

    授权

  • 2008-04-09

    实质审查的生效

    实质审查的生效

  • 2008-02-13

    公开

    公开

说明书

本专利文件的一部分公开内容包含了受版权保护的材料。版权所有者并不反对对专利文件或专利公开内容中任何之一在专利和商标局专利文件记录中进行复制,然而在别的方面保留所有的版权权利。

相关申请的交互参考

本申请要求2004年11月12日提交的序列号为60/627,772的名称为“用于信息关联的技术和装置”的临时申请的优先权,该临时申请的内容在此被全部包含在本申请中以做参考。

本申请还要求2004年12月21日提交的序列号为60/637,936的名称为“用于信息关联的技术和装置”的临时申请的优先权,该临时申请的内容在此被全部包含在本申请中以做参考。

本申请还要求2005年6月27日提交的序列号为60/694,331的名称为“知识关联搜索引擎”的临时申请的优先权,该临时申请的内容在此被全部包含在本申请中以做参考。

参考程序序列列表(CD-ROM)

本申请包含CD-ROM上的计算机程序列表,其在此被全部包含在本申请的说明书中以做参考。

技术领域

本发明涉及信息技术领域,尤其涉及通过采用概念(concept)或术语(term)构建知识关联的知识发现技术。

背景技术

在现有技术中已知许多用于确定关于不同术语的信息的搜索技术。这些搜索技术包括搜索引擎、搜索机器人等。具体地,搜索引擎为正文主体的每条术语建立到位置的索引,从而当提交了一个查询术语时,就可以确定这些术语的位置。可以采用布尔逻辑将搜索引擎的搜索结果与其它术语的搜索结果结合起来,以将结果更明确地集中到所希望的位置上。

发明内容

1979年出版的韦氏新大学字典(Websters New CollegiateDictionary)包含知识的下述定义:

知识...

(a)...(2)通过经验或联系获得的熟悉地了解某项事物的事实或情况;

(b)...(2)某人的信息或理解的范围。

本发明描述了用于确定与单条术语或术语组相关的知识的技术。用户输入将被研究的一个或多个术语以得到额外的知识。这样就会在包含了这种资源的信息源中进行搜索,其中的资源具有关于输入术语的信息或与输入术语相关的信息。当发现这种资源时,就将其包含的信息分解为节点,其中节点是存储信息的基本单元的数据结构。最终的节点被存储在节点池中。接着将节点池用于构建将节点链接到知识桥(knowledge bridge)中的节点链或关联,其中知识桥提供关于被研究的术语或与被研究的术语相关的最终信息。

根据本发明,通过扩展人的信息范围和关于信息链接的理解来获得知识,其中的信息链接可能是不明显的。通过将节点链接到关联中来以正规的方式表示这种知识。

附图说明

图1A是说明本发明的用户输入、发现,以及获得阶段的流程图;

图1B是说明关联方法的流程图;

图1C是三部分和四部分形式的节点的模块图;

图2A是最初的面向用户的GUI组件的屏幕截图,该截图说明了感兴趣的关联字段;

图2B是已完成所有三个阶段“发现”、“获得”,以及“关联”时,GUI组件“询问问题”的屏幕截图;

图2C说明在本发明的示例性实施例中已发现的关联,并且以多页选项板(tabbed-pane)的形式显示。这被称为“得到答案”页;

图2D说明使用户存盘的GUI组件;

图2E说明GUI“RankXY”报告,该报告提供了对于处理的搜索阶段中发现的所有资源的关联测量。

图3A说明索引类型搜索引擎;

图4A说明由自然语言英语句子生成节点。

具体实施方式

图1A和1B是根据本发明的优选实施例构建知识关联(knowledge correlation)的过程的流程图。图2A-2E是用于本发明的GUI的屏幕截图。

在图1A所示的本发明的示例性实施例中,用户通过使用GUI界面输入至少一个术语。图2A是将要接受用户输入的GUI组件的屏幕截图。界面中重要的字段是“X术语”,“Y术语”以及“切线(tangent)”。参考下面更多的描述,用户的输入在一个和五个术语或短语之间对本发明操作有重要的影响。在图2A所示的优选实施例中,要求用户提供至少两个输入术语或短语。参照图1A所示,用户输入100,则通过在图2A的“X术语”数据输入字段,“黄金(Gold)”就作为可搜索的术语或短语而被捕获110。用户输入100,则通过在图2A的“Y术语”数据输入字段中输入“上涨”就作为可搜索的术语或短语被捕获110。一旦用户启动搜索120,则进行搜索120以确定关于感兴趣的术语或短语的信息的实际的和可能的源.对于每个实际的和可能的源检测其与感兴趣的术语或短语的关联(relevancy)125。被搜索的源是计算机文件系统、互联网、关系数据库、电子邮件库、分类法实例(instances of taxonomy),以及本体实例(instances ofontology)。被发现相关的这些源被称为资源128。用于相关资源128的搜索(120)被称为“发现”。来自每个资源128的信息被分解(130)为被称为节点的数字信息对象138。参照图1C所示,节点180A和180B是包含并传递意义的数据结构。每个节点是独立的(self contained)。节点除了传递意义外,并不需要其它操作。再次参照图1A所示,来自被成功地分解(130)的资源128的节点180A、180B被放入节点池140中。节点池140是用于数据存取和检索的逻辑结构。捕获资源128并将资源128分解为节点180A、180B的过程被称为“获得”。接着利用节点池140中的节点180A、180B构建关联155,其被称为成员节点。参照图1B所示,从节点池中的一个节点开始进行关联,其中的节点池明确地含有感兴趣的术语或短语。这种节点被称为术语节点。当术语节点被用作关联中的第一个节点时,则被称为原始(源)节点152。以节点链(路径)的形式来构建关联。路径是从原始节点(152)开始的(同义地也被称为路径的根)。通过在节点池140的节点成员151中搜索能够与原始节点152关联的成员节点151来延伸路径。如果发现了这种节点(合格的成员151H),则将该合格的成员节点链接到原始节点152上,并将该合格的成员节点指定为路径的当前终点。通过与节点池中合格的成员节点的反复相联和连续的链接,将路径进一步延伸到连续指定的路径的当前终点,直到与路径的当前终点相联并被添加到路径的当前终点的合格成员节点被看作最终的终点节点(目的地节点159)为止,或者直到节点池中不再有合格的成员节点为止.目的地节点159作为路径的最终终点的相联和链接被称为成功的结果(目标状态),在这种情况下,路径被称为关联155,并保存这种关联155。在节点池中没有其它合格的成员节点,并且因此没有可接受的目的地节点的状态被看作失败的结果(耗尽),并丢弃该路径,因此其不能被称为关联。完整的关联155将原始节点152与关联中每个其它节点相关联,特别是与关联的目的地节点159相关联。这种过程的名称就是“关联”。因此关联155形成横跨来自搜索中确定的所有源的信息并将这些信息连接在一起的知识桥。知识桥是被发现的知识。

参照图2B所示,图2B表示当已经完成所有三个阶段“发现”、“获得”,以及“关联”时的GUI组件“询问问题”。在本发明中,提供了用于每个处理阶段的进度指示。

参照图2C所示,在本发明的示例性实施例中已经发现关联,并以多页选项板的格式显示该关联。屏幕左边的标签是原始节点152,原始节点152已被成功地关联到屏幕右边示出的目的地节点159。每个成功的关联155被分别显示。

参照图2D所示,在本发明中用户能够持续存盘特定价值的任何关联。附录A:包含执行本发明所产生的全部报告的报告。

参照图2E所示,提供附加报告“RankXY”,以建议用户哪个资源128对于关联155来说是最重要的贡献者,其中关联155是在本发明的执行过程中产生的。

在一个优选实施例中,用户可以输入一到五个术语,输入的术语的数量将会规定或影响能够产生的知识关联的类型以及如下更多描述的能够产生的关联的“质量”。术语可以是一个字或两个字组成的短语。本发明支持两种关联类型:

1.“自由相联(free association)”,其中当假定用户仅输入一个术语时,将会从该术语产生许多节点形式的原点,本发明将试图建立从每个原点到任何数量的可能目的地中的每一个的知识桥,其中的可能目的地是可能以目的地节点的形式发现的。如下面更详细地描述,在至少两个“中断关联”的环境中选择目的地.在这种类型的关联中,目的地并不是已知的先验知识,用户进行搜索的优点是,首先,原点与目的地命名的或建议的事实、想法、概念,或简单术语之间的意外的新的相联,第二个优点在于从原点到目的地的相联路径建议了新颖的或新的解决方案、意外的影响,以及以前未考虑的关于问题或主题的方面.

2.“连接节点”,其中当假定用户输入两个术语时,会由第一个术语生成许多原点,并由第二个术语生成许多目的地,本发明将试图建立从每个原点到每个目的地的知识桥。仅当相联链可以将至少一个原点链接到至少一个目的地时,才认为关联操作是成功的。在该实例中用户期望得到的优点首先在于建立从原点到目的地的相联,从而解决“已经存在”的断言,对于所有关联,优点在于从原点到目的地的相联路径所赋予的知识和领悟,如知识关联中所显示的。

当用户输入第三、第四,或第五术语时,期望得到的优点是以节点池的形式丰富或形成“搜索空间”,其中节点池是提取节点和构建关联的来源。在本发明的优选实施例中,当提供第三、第四,以及第五个概念或术语时,提供了最小的优点,这是因为获取额外的资源就增加了节点池作为搜索空间的尺寸和多样性,因此就增加了采用任何给定的源实现成功的关联的可能性。在本发明的优选应用中,由于提供第三、第四和/或第五个术语而获得的资源将节点池作为搜索空间和知识域正交地延伸。例如,给定“能量消耗”的原点和“拉普音乐(rapmusic)”的目的地,第三、第四以及第五个术语输入“电子”、“版权”,以及“文化”将信息引入节点池,这种信息可能会产生新的最终关联。在该优选的应用中,这种扩展被称为丰富,第三、第四以及第五个术语被称为相切(tangency)。在本发明的另一优选应用中,提供适当选择的第三、第四以及第五个术语以允许节点池作为搜索空间,并采用话题或语义的笛卡儿坐标对知识域进行限定,与使用第一和/或第二个术语生成的搜索空间和知识域并置。例如,给定原点“通信工业”和目的地“未来可能性”,第三、第四以及第五个术语输入“经济”、“政治”以及“法规”将信息引入节点池,这种信息将会有效地包括所有材料方面而不会产生任何问题。即使在节点池中创建的搜索空间和知识域之间不存在任何合并、插入,和相邻特征的情况下,成功关联也是可能的。

对于用户输入的每个术语,即,对于感兴趣的第一、第二、第三、第四以及第五个术语和短语,对于关于该术语或短语的信息源进行独立的搜索。这就涉及到遍历(搜索)下述中的一个或多个:

(i)计算机文件系统

(ii)包括互联网的计算机网络

(iii)电子邮件库

(iv)关系数据库

(v)分类法

(vi)本体

总之,计算机能够存取的任何信息库。

对于每种类型的库来说,这种搜索是不同的。在一个旨在搜索一个或多个计算机文件系统的实施例中,通过导航文件系统目录来进行搜索。文件系统目录是用于定位计算机文件系统中的所有子目录和文件的分级结构。将文件系统目录构建和表示为树,树是一种类型的图形,其中图形中的顶点(节点)是子目录或文件,图形中的边是从根目录到每个子目录或文件的路径。能够以这种方式搜索的计算机包括独立的个人计算机、网络的独立的计算机、网络服务器计算机,以及网络文件服务器计算机。计算机文件服务器是特殊的高性能计算机,这种计算机专用于支持大型用户组的文件保存和检索功能的任务。

计算机文件系统可以保存关于感兴趣的术语或短语的信息的实际和可能的源,其被保存为

(i)文本(纯文本)文件。

(ii)富文本格式(RTF)(微软公司开发的一种标准)文件。

(iii)扩展标记语言(XML)(万维网联盟的方案)文件。

(iv)任何语言形式的标记语言文件,包括但不限于:超文本标记语言(HTML)和可扩展超文本标记语言(XHTMLTM)(万维网联盟的方案),RuleML(RuleML Initiative的方案),标准通用标记语言(SGML)(一种国际标准),以及可扩展样式表语言(XSL)(万维网联盟的方案)。

(v)便携文档格式(PDF)(Adobe公司专有的格式)文件.

(vi)电子表格文件,例如,用于借助于Excel(微软公司的电子表格软件产品)存储数据的XLS文件.

(vii)MS WORD文件,例如,用于借助于MS WORD(微软公司的字处理软件产品)存储文档的DOC文件。

(viii)演示(幻灯片)文件,例如,用于借助于PowerPoint(微软公司的幻灯片演示软件产品)存储数据的PPT文件。

(ix)事件信息获取日志文件,包括但不限于:交易日志、电话呼叫记录、雇员考勤卡,以及计算机系统事件日志。

当搜索计算机文件系统时,可以派遣软件机器人,有时被称为蜘蛛(spider)(例如,谷歌桌面搜索器(Google Desktop Crawler,Google公司的产品),或搜索机器人(search bot)确定关于感兴趣的术语或短语的信息的实际和可能的源。蜘蛛和机器人是软件程序,其跟踪任何类似图形的结构中的链接,例如从目录传送到目录和从文件传送到文件的文件系统目录。该方法包括以下步骤:(a)向机器人提供感兴趣的术语或短语;(b)提供文件系统目录的起始点(通常为根节点)以使机器人开始搜索;(c)在机器人访问的每个可能源处,机器人执行相关检测,下面将进行更详细地讨论;(d)如果源是相关的,则机器人将创建或获取源的URI(通用资源标识符)或URL(统一资源定位符),这种源则被看作资源;以及(e)机器人返回到派遣机器人的方法,机器人向派遣方法发送获得的资源的URI或URL。

在可替换的实施例中,优选地用于一些应用,机器人将其自己指定为第一机器人,并作为第一机器人克隆其自身的备份,从而产生另外的、独立的克隆机器人。第一机器人授予克隆机器人相关资源的URI或URL,并指导克隆机器人返回到派遣第一机器人的方法。克隆机器人向派遣方法传送获取的资源的URI或URL,而第一机器人继续移动以获取另外的URI和URL。机器人能够获取除相关源的URI或URL外的相关源专用的信息,包括关于机器人所使用的关联测试的依据和结果的详细报告,以选择相关资源、相关源的字节大小,以及相关源内容的格式.

其中目的地是搜索互联网,可以使用网络搜索机器人(webcrawler robot)(例如,JSpider,JavaCoding.com公司的方案).这种机器人跟踪互联网上的链接以从网址向网址并且从网页向网页行进。在一个实施例中,本发明将搜索万维网(互联网)以确定关于感兴趣的术语或短语的信息的实际和可能的源,这些源作为网页公布,包括:

(i)文本(纯文本)文件。

(ii)富文本格式(RTF)(微软公司开发的一种标准)文件。

(iii)可扩展标记语言(XML)(万维网联盟的方案)文件。

(iv)任何语言形式的标记语言文件,包括但不限于:超文本标记语言(HTML)和可扩展超文本标记语言(XHTMLTM)(万维网联盟的方案),RuleML(RuleML Initiative的方案),标准通用标记语言(SGML)(一种国际标准),以及可扩展样式表语言(XSL)(万维网联盟的方案)。

(v)便携文档格式(PDF)(Adobe公司专有的格式)文件。

(vi)电子表格文件,例如,用于借助于Excel(微软公司的电子表格软件产品)存储数据的XLS文件。

(vii)MS WORD文件,例如,用于借助于MS WORD(微软公司的字处理软件产品)存储文档的DOC文件。

(viii)演示(幻灯片)文件,例如,用于借助于PowerPoint(微软公司的幻灯片演示软件产品)存储数据的PPT文件。

(ix)事件信息获取日志文件,包括但不限于:交易日志、电话呼叫记录、雇员考勤卡,以及计算机系统事件日志。

(x)博客页。

搜索引擎是本发明中使用的优选的可替换方案,以确定关于感兴趣的术语或短语的信息的实际的和可能的源。搜索引擎是基于服务器的软件产品,该产品使用专用的、有时为专有的方式来确定与用户的查询相关的网页。具体地搜索引擎向用户返回到确定的网页的HTML链接的列表。在本发明的实施例中,在程序上调用搜索引擎。在程序上输入作为对搜索引擎软件的输入的感兴趣的术语或短语。搜索引擎返回的HTML链接的列表提供被看作关于感兴趣的术语或短语的信息的实际源的网页的预先合格的列表。

一种类型的搜索引擎受限于索引引擎的功能。索引引擎是搜索互联网的基于服务器的软件,所找到的每个网页被分解为单独的字或短语。在用于索引引擎的服务器上维护被称为索引的字的数据库。在网页上发现的没有处于索引中的字被添加到索引中。对于索引中的每个字或短语,能够找到字或短语的网页列表与字或短语相关联。字或短语作为关键字,能够找到字的网页列表是一组与关键字相关联的值。索引引擎返回的HTML链接的列表提供了可以被看作关于感兴趣的术语或短语的信息的实际源(资源)的网页的列表。网页中感兴趣的术语或短语的出现频率是最不可靠的关联测试。用于每个源的其它关联测试是非常优选的。

例如,索引引擎可以与蜘蛛组合,其中搜索引擎将一个或多个蜘蛛派遣给索引数据库中与每个感兴趣的术语或短语相关联的一个或多个网页。蜘蛛将下面更详细地描述的更有力的关联测试用于每个网页。返回蜘蛛所找到的与这些网页关联的HTML链接,并将这些HTML链接看作关于感兴趣的术语或短语的信息的实际源(资源)。

改进的搜索引擎的执行方案采用感兴趣的所有术语或短语共同作为一个查询。当将该查询提交给搜索引擎时,搜索引擎获取该查询并将查询保存在数据库索引中。搜索引擎将该查询的索引保存为另外的索引。当将机器人找到的相关的网页报告给搜索引擎时,搜索引擎不仅将HTML链接报告给网页,而且使用整个查询作为关键字,并将到相关网页的HTML链接存储为与查询相关联的值。获取到发现与查询相关的所有页面的HTML链接,并与搜索引擎数据库中的查询相关联.当搜索引擎接收到随后的查询并且该查询正好或大概匹配已经存在于搜索引擎查询索引中的查询时,则搜索引擎将返回与查询数据库中的查询相关联的HTML链接的列表。这种改进的搜索引擎能够返回即时结果,并且不必派遣机器人使任何网页都进行关联测试.

另一种有用形式的搜索引擎是元搜索引擎(meta-crawler)。元搜索引擎是基于服务器的软件产品,其使用专用的方法确定与用户的查询相关的网页.具体地,元搜索引擎在程序上调用多个搜索引擎,并检索到被每个搜索引擎确认为关联的网页的HTML链接的列表。接着元搜索引擎采用专用的、有时为专有的方法来计算各个网页关联性的值,这种计算是基于起作用的搜索引擎所确定的每个页面的明显的或暗示的关联值。具体地元搜索引擎则向用户返回到最相关的网页的HTML链接的列表,该列表是以关联度的顺序排序的。在一个实施例中,在程序上调用元搜索引擎。在程序上输入感兴趣的术语或短语,作为到元搜索引擎软件的输入。接着元搜索引擎软件在程序上向元搜索引擎调用的每个搜索引擎输入感兴趣的术语或短语。元搜索引擎返回的链接列表提供网页的预先合格的列表,这些网页被看作关于感兴趣的术语或短语的信息的实际源。

大量重要的未组织的数据存储在位于各个个人计算机中的、网络上每个独立的计算机中的、网络服务器计算机中的,以及网络电子邮件服务器计算机中的电子邮件库中。网络电子邮件服务器是性能特别高的计算机,其专用于完成为大的用户组支持电子邮件功能的任务。根据本发明的一个方面,在构建知识关联中,希望定位与感兴趣的术语或短语相关的电子邮件消息和电子邮件附件。

一般地压缩电子邮件库并通过称为电子邮件服务器软件或电子邮件客户机软件的电子邮件管理软件访问所述电子邮件库,其中服务器软件被指定为支持多个用户,客户机软件被指定为支持个人计算机和膝上计算机的各个用户。本发明的一个实施例采用JavaMail(SunMicrosystems的电子邮件客户机API)和用于JavaMail的本地存储提供者(Local Store Provider),例如jmbox(https://jmbox.dev.java.net/的方案),以在程序上访问和搜索存储在本地库,如Outlook Express(微软公司的一种产品)、Mozilla(Mozilla公司的一种产品)、Netscape(Netscape公司的一种产品)等中的电子邮件消息。在该实施例中,利用Java字符串比较函数,搜索被访问的电子邮件消息作为感兴趣的术语或短语的文本。

优选用于一些应用的可替换的实施例采用电子邮件解析器(email parser).在该实施例中,去掉电子邮件报头,并对于感兴趣的术语或短语搜索电子邮件的发信方、收信方、主题,以及消息字段。这种类型的电子邮件解析器与许多软件库是UNIX操作系统(procmail包)的一部分。

电子邮件服务器上的库通常是专用的形式,但是一些库提供允许程序访问并搜索电子邮件消息的API。这种电子邮件服务器的一个例子是Apache James(Apache.org的产品)。另一个例子是Oracle电子邮件服务器API(Oracle公司的产品)。被发现包含感兴趣的术语或短语并通过电子邮件服务器库管理软件API访问的电子邮件消息被认为是资源。

通过程序访问电子邮件消息,本发明的大多数实施例将能够访问电子邮件消息附件。其中附件以专用的格式存在,例如下述的解析应用:

(i)PDF-文本转换应用(例如PJ,Etymon Systems公司的产品)

(ii)RTF-文本转换应用(例如RTF-Parser-1.09,Pete Sergeant公司的产品)

(iii)MS字-文本解析器(例如,Apache POI方案,Apache.org的产品)

可以被链接和调用,以将附件译为可搜索的形式。对于提供API的电子邮件服务器,其中一些还包括用于附件的本地格式的搜索应用。电子邮件消息和电子邮件附件能够以多种文件格式存在,包括:

(i)文本(纯文本)文件电子邮件附件。

(ii)扩展标记语言(XML)文件电子邮件附件.

(iii)任何语言形式的标记语言文件,包括但不限于:超文本标记语言(HTML)和可扩展超文本标记语言(XHTMLTM)(万维网联盟的方案),RuleML(RuleML Initiative的方案),标准通用标记语言(SGML)(一种国际标准),以及可扩展样式表语言(XSL)(万维网联盟的方案)文件电子邮件附件.

(iv)便携文档格式(PDF)(Adobe公司专有的格式)文件电子邮件附件。

(v)富文本格式(RTF)(微软公司开发的标准)文件电子邮件附件。

(vi)电子表格文件电子邮件附件,例如,用于借助于Excel(微软公司的电子表格软件产品)存储数据的XLS文件。

(vii)MS WORD文件电子邮件附件,例如,用于借助于MSWORD(微软公司的字处理软件产品)存储文档的DOC文件。

(viii)事件信息获取日志文件电子邮件附件,包括但不限于:交易日志、电话呼叫记录、雇员考勤卡,以及计算机系统事件日志。

关系数据库(RDB)是我们已知的存储和检索数据的方式,其基于Codd和Date提出的关系代数(relational algebra)。一般采用索引、表格和示图来实现关系数据库,从而能够操作多个表格的特定列和行,就如同数据的这些列和行是集成在实际的物理表格中一样,其中索引包含数据关键字,表格由数据值的列和行或元组(tuples)组成,示图作为虚拟表格。表格和列的排列实现了用于参考数据的逻辑结构,并且该逻辑结构被称为模式(schema)。一般被称为关系数据库管理系统(RDBMS)的软件层用于处理访问、安全性、错误处理、完整性、表格创建和删除,以及适当操作和利用RDB所需要的其它功能。此外,RDBMS一般提供RDB和外部软件程序和/或用户之间的接口。RDBMS和外部软件程序和/或用户之间的接口的每个有效实例被称为连接。RDBMS规定了两种特定的语言,在RDBMS和连接的外部软件程序和/或用户之间使用。第一种语言是数据定义语言(DDL),其允许外部软件程序和用户浏览和管理数据库的组件和结构,并允许实现例如建立、删除以及修改索引、表格以及示图的功能。采用DDL仅能够修改模式。另一种语言是被称为数据操作语言(DML)的查询语言,其允许选择、检索、分类、插入以及删除包含在数据库表格中的数据值的行。用于关系数据库的最常用的已知的DDL和DML是结构化查询语言(SQL)(ANSI/ISO标准)。SQL语句是由软件程序和/或连接到RDBMS的用户组成的,并作为查询提交.RDBMS处理查询并返回被称为结果集(result set)的回答。结果集是数据库中与查询相匹配(满足查询)的行和列的集合。如果在数据库中没有满足该查询的行和列,则该查询就不会返回行和列,在这种情况下结果集被称为空集(NULL SET)。在本发明的示例性实施例中,关于感兴趣的术语或短语的信息的可能的或实际的源是RDB表格中数据的行。RDB表格中的每一行被看作同样适于成为关于感兴趣的术语或短语的信息的源。该方法包括以下步骤:

(a)创建到数据库的连接;

(b)以SQL形成查询,其中

(b1)包括SQL WHERE从句,

(b2)WHERE从句定义了RDB中的至少一个表格

(b3)WHERE从句定义了数据库表格中的至少一列,以及

(b4)WHERE从句包含至少一个SQL比较运算符,例如“等于”,以及

(b5)WHERE从句包含作为参数的至少一个感兴趣的术语或短语;

(c)将该查询提交给RDBMS;

(d)接受RDBMS返回的数据行(如果存在的话),其被看作关于感兴趣的术语或短语的信息的实际源。

其中在要搜索的数据库表格中列的数量大于1时,该方法包括以下步骤:

(a)创建到数据库的连接;

(b)以SQL形成查询,其中

(b1)包括SQL WHERE从句,

(b2)WHERE从句定义了RDB中的至少一个表格

(b3)WHERE从句定义了数据库表格中的一行,以及

(b4)WHERE从句包含至少一个SQL比较运算符,例如“等于”,以及

(b5)WHERE从句包含作为参数的至少一个感兴趣的术语或短语,以及

(b6)对于将被搜索的表格中的每列,其它WHERE从句由(b1)、(b2)、(b3)、(b4)以及(b5)组成,在(b1)、(b2)、(b3)中将被搜索的每列被单独确定,以及

(b7)每个其它的WHERE从句通过SQL的‘OR’运算符结合;

(c)将该查询提交给RDBMS;

(d)接受RDBMS返回的数据行(如果存在的话),其被看作关于感兴趣的术语或短语的信息的实际源。

其中在要被搜索的数据库表格的数量大于1时,该方法包括以下步骤:

(a)创建到数据库的连接;

(b)以SQL形成查询,其中

(b1)包括SQL WHERE从句,

(b2)WHERE从句定义了RDB中的一个表格

(b3)WHERE从句定义了数据库表格中的至少一列,以及

(b4)WHERE从句包含至少一个SQL比较运算符,例如“等于”,以及

(b5)WHERE从句包含作为参数的至少一个感兴趣的术语或短语,以及

(b6)对于将被搜索的每个表格,其它WHERE从句由(b1)、(b2)、(b3)、(b4)以及(b5)组成,在(b1)、(b2)中将被搜索的每个表格被单独确定,以及

(b7)其它的WHERE从句通过SQL的OR运算符结合;

(c)将该查询提交给RDBMS;

(d)接受RDBMS返回的数据行(如果存在的话),其被看作关于感兴趣的术语或短语的信息的实际源。

在这些实施例中,从查询中返回的任何数据行被看作关于感兴趣的术语或短语的信息的资源。关系数据库资源的模式也被看作关于感兴趣的术语或短语的感兴趣的实际源。优选地用于本发明的一些应用的关系数据库被应用在独立的个人计算机、计算机网络中的每台计算机、网络服务器计算机以及网络数据库服务器计算机上。网络数据库服务器是性能特别高的计算机,其专用于实现为大型用户组支持数据库功能的任务。

可以使用与实际的数据库表格相同的程序来访问数据库示图,以进行读取和结果集检索,这是通过称为数据库示图的WHERE从句而不是数据库表格实现的。另一个实施例利用SQL访问和搜索数据仓库(data warehouse)以确定关于感兴趣的术语或短语的信息的实际的和可能的源。数据仓库是关系数据库的特殊形式。SQL被用作为大多数数据仓库的DML和DDL,但是数据仓库中的数据是通过复杂的和难懂的索引结构进行索引的。

分类法(taxonomy)最初用于活的有机体的分类。分类法是分类的科学体系,但是分类法的实例是用于提供框架以进行讨论、分析,或信息检索的目录。分类法是通过将事物分为明确的等级排列而产生的。分类法通常被表示为树,这是一种类型的图表。图表具有边缘或链接连接的顶点(或节点)。从树(例如,活的有机体)的“根”或最上面的顶点开始,对于每个明确的唯一的组(例如,哺乳动物、鱼、鸟)分出“枝”(边缘)。该枝继续分出其自己的枝用于每个子组(例如,对于哺乳动物来说,这种枝可能是有袋动物和类似现代人的动物),直到遇到没有向外的边缘的叶顶点(例如,对于类似现代人的动物,叶顶点为发现是“智人”)为止。在一个实施例中,被称为图表遍历函数的软件函数用于搜索用于感兴趣的术语或短语的分类。对于一种分类法,通常以被称为出现列表(incidence list)的形式存储图表,其中由包含顶点对的阵列表示图表边缘,其中的顶点对是每个边缘连接的顶点。由于分类法是带有方向的图表(或有向图(digraph)),因此阵列被排序。分类法的一个示例性出现列表可以表现为下述形式:

  活的有机体  鱼  活的有机体  昆虫  活的有机体  哺乳动物  ......  哺乳动物  有袋动物  哺乳动物  类似现代人的动物

以几乎任何计算机编程语言来遍历这一列表都是简单的。当分类法的出现列表存储在RDB表格中时,将使用搜索RDB的方法。如果找到感兴趣的术语或短语,则整个分类法就被看作关于感兴趣的术语或短语的信息的实际源。在某些应用中感兴趣的类型的分类法实例存在于独立的个人计算机、计算机网络中的独立的计算机、网络服务器计算机,以及网络分类服务器计算机中。网络分类服务器是性能特别高的计算机,其专用于完成大型用户组的支持分类法搜索功能的任务。

本发明的一个实施例将所有的分类法实例看作参考结构,由于这个原因,分类法整体被看作资源,即使感兴趣的术语或短语没有位于分类法中也是如此。

本体论(ontology)是以正规的方式描述概念和事物以及它们之间的关系的专业用语,其具有利用专业用语术语表达感兴趣的特定范围内有意义的某物的模式。专用用语用于进行查询和作出断言。本体通常被表示为图表。在该实施例中,被称为图表遍历函数的软件函数用于搜索本体以找到被称为感兴趣的顶点的顶点,该顶点包含感兴趣的术语或短语。通过跟踪从本体的起始顶点开始的关系(链接)直到找到感兴趣的术语或短语为止,或者直到已经访问了本体中的所有顶点为止,来搜索本体。用于搜索本体的图表遍历函数不同于用于搜索分类法的图表遍历函数,这首先是因为本体中的边缘被加上标记,其次是因为对于每个顶点a、边缘e、顶点b组成的组通常必须是顶点b、边缘e^、顶点a,以获得顶点a和顶点b之间的反向关联。例如,

  顶点a边缘标记  顶点b  Alexander有妈妈  Olympias  Olympias是......的妈妈  Alexander  Bordeaux是......的区域  France  France有区域  Bordeaux  William J.Clinton与......相同  Bill Clinton  Bill Clinton不同于  Bill Bob Clinton

遍历是简单的,但是对于大的本体来说是非常耗时的。当可能时,本发明的实施例将利用具有基于RDBMS功能的访问和搜索语义功能的索引本体。如果找到感兴趣的术语或短语,则整个本体被看作关于感兴趣的术语或短语的信息的实际源。本体实例可以存在于独立的个人计算机、计算机网络中的每个计算机、网络服务器计算机以及网络本体服务器计算机中。网络本体服务器性能特别高,其专用于完成用于大型用户组的支持语义搜索功能的任务。

对于分类法实例正确的是,本发明的一个实施例将本体看作参考结构,由于这个原因,本体在其整体上将被看作关于感兴趣的术语或短语的信息的实际源,即使感兴趣的术语或短语没有定位于该本体中也是如此。

在定位了任何可能的源之后,必须测试每个可能的源与感兴趣的术语或短语的关联。当搜索与术语或短语相关的文档时,某种级别的身份搜索是可能的。例如,存储文档的文件名可以包含描述性文本。在更深人的级别,能够搜索资源标志号确定的文档的名称,或者更深入地搜索其摘要,或者更深入地搜索文档的整个文本。这些搜索中的任何一种都可能致使找到与查询中采用的术语或短语相关的文档。如果搜索在扩展文本中延伸,则也可以调用相邻关联以限制被确定为关联的资源的数量。关联测试可以如同确定可能的源包含与感兴趣的术语或短语的正确匹配一样简单和严密。由于复杂性增加,关联测试将在检验的可能的源中更加精确地确定更有价值的资源。根据本发明这些关联测试可以包括但不限于:

(i)可能的源包含对感兴趣的术语或短语的单数或多数形式的匹配。

(ii)可能的源包含对感兴趣的术语或短语的同义词的匹配。

(iii)可能的源包含对与感兴趣的术语或短语相关的字的匹配(关联能够被词典提供)。

(iv)可能的源包含对与感兴趣的术语或短语相关的字的匹配,其中可能的源的内容和感兴趣的术语或短语之间的关联是通过权威参考源建立的。

(v)使用辞典,例如韦氏大辞典(Merriam-Webster’s Thesaurus)(梅里厄姆·韦伯斯特(Merriam-Webster)公司)来确定搜索过程中定位的可能的源的任何内容是否是与感兴趣的术语或短语相关的同义词。

(vi)可能的源包含与出现在感兴趣的术语和/或短语之一的权威参考中的定义中的字的匹配。

(vii)使用字典,例如韦氏大字典(梅里厄姆·韦伯斯特(Merriam-Webster)公司)来确定搜索过程中定位的可能的源的任何内容是否出现在感兴趣的术语或短语的字典定义中,并与其相关。

(viii)可能的源包含与出现在权威参考源中关于感兴趣的术语或短语的论述中的字的匹配。

(ix)使用百科全书,例如大不列颠百科全书(大不列颠百科全书公司的产品)来确定搜索过程中定位的可能的源的任何内容是否出现在感兴趣的术语或短语的百科全书的论述中,并因此与感兴趣的术语或短语相关。

(x)包含在可能的源中的术语与感兴趣的术语或短语具有父、子或兄弟关系。

(xi)利用分类法来确定包含在可能的源中的术语与感兴趣的术语或短语具有父、子或兄弟关系。在该实施例中,包含感兴趣的术语或短语的顶点位于分类中。这是感兴趣的顶点。对于位于可能的源的内容中的每个字,通过跟踪从感兴趣的顶点到感兴趣的顶点的父、兄弟以及子顶点的关系(链接),来搜索分类中的父、兄弟和子顶点。如果父、兄弟或子顶点中的任何一个顶点包含来自可能的源的内容中的字,则表明实现了匹配,并且该源被看作关于感兴趣的术语或短语的信息的实际源。在该实施例中,被称为图表遍历函数的软件函数用于定位和检查感兴趣的术语或短语的父、兄弟以及子顶点。

(xii)感兴趣的术语或短语距离包含在可能的源中的术语一个语义级(长度)。

(xiii)感兴趣的术语或短语距离包含在可能的源中的术语两个语义级(长度)。

(xiv)利用本体来确定一个语义级(长度)的距离将源与感兴趣的术语或短语分开。在该实施例中,包含感兴趣的术语或短语的顶点位于本体中。这是感兴趣的顶点。对于位于可能的源的内容中的每个字,通过跟踪从感兴趣的顶点到所有相邻顶点的关系(链接),来搜索本体。如果任何相邻的顶点包含来自可能的源的内容的字,则表明实现了匹配,并且该源被看作关于感兴趣的术语或短语的信息的实际源。

(xv)利用本体来确定两个语义级(长度)的距离将源与感兴趣的术语或短语分开。在该实施例中,包含感兴趣的术语或短语的顶点位于本体中。这是感兴趣的顶点。对于位于可能的源的内容中的每个字,执行语义级为一的关联测试。如果测试失败,则通过跟踪从与感兴趣的顶点相邻的顶点到所有各个相邻顶点的关系(链接),来搜索本体.这种顶点是距离感兴趣的顶点的语义级为二的顶点。如果任何语义级为二的顶点包含来自可能的源的内容的字,则表明实现了匹配,并且该源被看作关于感兴趣的术语或短语的信息的实际源。

(xvi)利用通用本体,例如CYC本体(Cycorp公司的产品)来确定从一个感兴趣的术语和/或短语到在搜索过程中定位的可能的源的任何内容的语义级(长度)。

(xvii)利用专用本体,例如基因本体(基因本体论联合会的方案)来确定从一个感兴趣的术语和/或短语到搜索中定位的可能的源中的任何内容的语义级(长度)。

(xviii)利用本体,对于测试,使用Ontology语言(例如网络本体语言)(OWL)(万维网联盟的方案)访问和导航本体。

在可能的源被定位、通过关联测试,并且升级为资源后,本发明的优选实施例尝试将资源分解为节点。在本发明的当前实施例中应用的两种资源分解方法是字分类和中间格式。字分类将字确定为部分语言的实例(例如,名词、动词、形容词)。正确的字分类通常需要被称为主体(corpus)的文本,这是因为字分类不是依赖于字是什么,而是依赖于如何使用字。尽管对于每种人类语言来说,字分类的任务是独特的,但是所有的人类语言都可以被分解为语言的部分。在优选实施例中字分类所分解的人类语言是英语,字分类的方法是自然语言解析器(NLP)(例如,GATE,英国设菲尔德大学的产品)。在一个实施例中,

(a)将文本输入到NLP中;

(b)NLP将文本重新构造为“句子文档”;

(c)对于每个“句子”,

(c1)NLP对标记序列进行编码,其中每个标记是用于句子中相应字的语言部分的代码。

其中资源包含至少一个格式化、处理或在纯文本中不允许的特殊字符,该方法是:

(a)将文本输入到NLP中;

(b)NLP将文本重新构造为“句子文档”;

(c)对于每个“句子”,

(c1)NLP对标记序列进行编码,其中每个标记是用于句子中相应字的语言部分的代码。

(c2)从句子和标记序列中丢弃包含了NLP不能辨认的字符的字符或字.

通过使用第二种方法,包含任何英语文本的资源可以被分解为节点,包括被下述格式化的资源:

(i)文本(纯文本)文件。

(ii)富文本格式(RTF)(微软公司开发的一种标准)。一种可替换的方法是首先通过RTF-文本转换工具(例如,RTF-Parser-1.09,Pete Sergeant公司的产品)的中间使用从RTF获得整洁文本(clean text)。

(iii)扩展标记语言(XML)(万维网联盟的方案)文件,下面马上进行描述。

(iv)任何方言形式的标记语言文件,包括但不限于:超文本标记语言(HTML)和可扩展超文本标记语言(XHTMLTM)(万维网联盟的方案),RuleML(RuleML Initiative的方案),标准通用标记语言(SGML)(一种国际标准),以及可扩展样式表语言(XSL)(万维网联盟的方案),下面马上进行描述。

(v)便携文档格式(PDF)(Adobe公司所有的格式)文件(通过PDF-文本转换工具的中间使用)。

(vi)MS WORD文件,例如,用于借助于MS WORD(微软公司的字处理软件产品)存储文档的DOC文件。该实施例在程序上利用MS字-文本解析器(例如Apache POI方案,Apache.org的产品)。POI方案API还允许从微软电子表格文件(XLS)中提取在程序上调用的文本。MS字文件还可以被NLP作为包含特殊字符的纯文本文件处理,尽管XLS不能被这样处理。

(vii)事件信息获取日志文件,包括但不限于:交易日志、电话呼叫记录、雇员考勤单,以及计算机系统事件日志。

(viii)网页。

(ix)博客页面。

对于通过字分类来分解XML文件,仅将分解应用到XML元素打开和闭合标签封装的英语内容上,可替换的方案是将分解应用到XML元素打开和闭合标签封装的英语内容上,以及XML元素打开和闭合标签的任何英语标记值.当本发明试图获得元数据标记值与内容以及非正式地将这些标记值传递给由元件内容组成的节点时,该实施例是有用的。当不具有这种能力时,该实施例则依赖于作为包含特殊字符的纯文本文件被NLP处理的XML文件。任何方言形式的标记语言文件,包括但不限于:超文本标记语言(HTML)和可扩展超文本标记语言(XHTMLTM)(万维网联盟的方案),RuleML(RuleMLInitiative的方案),标准通用标记语言(SGML)(一种国际标准),以及可扩展样式表语言(XSL)(万维网联盟的方案),被参考实施例以基本相同的方式处理。

在本发明的优选实施例中采用字分类来分解电子邮件消息和电子邮件消息附件。如前面的描述所述,用于访问和搜索独立的计算机和服务器上的电子邮件库的相同的在程序上调用的工具旨在从电子邮件消息和电子邮件附件文件中提取英语文本。依赖于最终提取的英语文本的“洁净”程度,本发明采用的NLP将处理提取的文本作为纯文本或包含特定字符的纯文本。参照上面所述,对于每个文件格式,分解电子邮件附件。

通过字分类进行的分解是本发明支持的两种分解方法之一,另一种分解方法是采用中间格式来分解资源的信息。中间格式是与第二术语或短语配对的第一术语或短语。在优选实施例中,第一术语或短语具有与第二术语或短语的关系。该关系或者是暗含的关系或者是明确的关系,并且关系由上下文定义。在一个实施例中,上下文是一种图式。在另一个实施例中,上下文是树型图表。在第三实施例中,上下文是带有方向的图表(也被称为有向图(digraph))。在这些实施例中,从提取术语或短语对的资源提供上下文。在其它实施例中,由外部资源提供上下文。根据本发明的一个实施例,当关系是由上下文定义的明确关系时,该关系被称为上下文。

在示例性实施例中,上下文是一种图式,资源是关系数据库(RDB)。从第一术语或短语到第二术语或短语的关系是暗含的关系,在RDB中定义该暗含的关系。分解方法为概念或术语对提供关系,从而生成节点。第一术语是短语,表示其具有多个部分(例如,两个字,字和数值,三个字),第二术语是短语,表示其具有多个部分(例如,两个字,字和数值,三个字)。

分解函数采取输入RDB的图式。该方法包括:

(A)第一阶段,哪里

(a)第一术语或短语是数据库名称,第二术语或短语是数据库表格名称。例如:数据库名称是“清算帐目(ACCOUNTING ACCOUNTING)”,数据库表格名称是“发票(Invoice)”;

(b)由于RDB图式的语义,第一术语或短语(“清算帐目”)和第二术语或短语(“发票(invoice)”)之间的关系(例如,“具有(has)”)被认为不明确;

(c)通过在一对概念或术语之间提供关系(“具有(has)”)来产生节点(“清算帐目-具有-发票(Accounting-has-Invoice)”);

(d)对于RDB中的每个表格,步骤(a)固定为数据库名称,(b)固定为关系,(c)在反复使用各个表格名称的地方产生节点;以及

(B)第二阶段,哪里

(a)第一术语或短语是数据库表格名称,第二术语或短语是数据库表格列名称。例如:数据库表格名称是“发票(Invoice)”,列名称是“到期金额(Amount Due)”;

(b)由于RDB图式的语义,第一术语或短语(“发票(Invoice)”)和第二术语或短语(“到期金额(Amount Due)”)之间的关系(例如,“具有(has)”)被认为不明确;

(c)通过在一对概念或术语之间提供关系(“具有(has)”)来产生节点(“发票-具有-到期金额(Invoice-has-Amount Due)”);

(d)对于数据库表格中的每列,步骤(a)固定为数据库表格名称,(b)固定为关系,(c)在反复使用各个列名称的地方产生节点;

(e)对于RDB中的每个表格,在反复使用数据库表格名称的地方,步骤(d)后面是步骤(a),(b)固定为关系,(c)在反复使用各个列名称的地方产生节点;

在该实施例中,分解RDB的全部图式,因为RDB的语义直接得知该不明确的关系,因此RDB的全部图式可以被分解为节点,而不另外处理中间格式的概念或术语对。

在另一个实施例中,分解函数作为输入RDB图式和表格的行中的至少两个值。该方法包括

(a)第一术语或短语是组合术语,并且

(b)组合术语的第一部分是数据库表格列名称,该名称是表格“关键字”列的名称(例如对于表格“发票(Invoice)”,“关键字(key)”列是“发票号(Invoice No.)”),以及

(c)组合术语的第二部分是来自表格第一行的“关键字”列的值(例如,对于“发票(Invoice)”表格列,“发票号(Invoice No.)”第一行的值是“500024”,该行被称为“当前行(Current row)”。

(d)组合术语的第三部分是表格中第二列的列名称(例如“状态(status)”),

(e)这使得第一术语或短语是“发票号500024的状态(InvoiceNo.500024Status)”;

(f)第二术语或短语是来自第二列、当前行的值,例如:第二列名称是“状态(status)”,第一行的值是“过期(overdue)”;

(g)由于RDB图式的语义,第一术语或短语(“发票号500024的状态(Invoice No.500024 Status)”)和第二术语或短语(“过期(overdue)”)之间的关系(例如,“是(is)”)被认为不明确;

(h)通过在一对概念或术语之间提供关系(“是(is)”)来产生节点(“发票号500024的状态-是-过期(Invoice No.500024Status-is-overdue)”);

(i)对于表格中的每行,步骤(b)固定为关键字列的名称,(c)随着每行变化,(d)固定为第二列的名称,(f)对于每行随着第二列中的值变化,(g)固定的关系(“是(is)”)产生节点(h);

(j)对于表格中的每列,运行步骤(i);

(k)对于数据库中的每个表格,运行步骤(j);

可以分解RDB的全部内容,因为RDB的语义直接得知该不明确的关系,则RDB的全部内容可以被分解为节点,而不另外处理中间格式的术语或短语对。

当上下文是树型图,资源是分类法时,从第一术语或短语到第二术语或短语的关系是不明确的关系,在分类法中定义该不明确的关系。

分解函数将获得分类法中的所有等级关系。分解方法是图表遍历函数,表示该方法将访问分类图中的每个顶点。在树型图中,顶点(除根以外)仅能具有一个父顶点,但是可能具有许多兄弟顶点和许多子顶点。该方法包括:

(a)从图表的根顶点开始,

(b)访问顶点(称为当前顶点);

(c)是否存在当前顶点的子顶点;

(d)则该子顶点的值是第一术语或短语(例如“哺乳动物(mammal)”);

(e)当前顶点的值是第二术语或短语(例如“活的有机体(livingorganism)”);

(f)由于分类法的语义,第一术语或短语(子顶点值)和第二术语或短语(父顶点值)之间的关系(例如“是”)被认为不明确;

(g)通过在一对概念或术语之间提供关系(“是”)来生成节点(“哺乳动物是活的有机体(mammal-is-living orgnism)”);

(h)对于分类图表中的每个顶点,执行步骤(b)、(c)、(d)、(e)、(f)、(g);

可以分解整个分类树中的父/子关系,由于分类法语义直接得知不明确的关系,因此分类法的全部内容可以被分解为节点,而不另外地处理中间形式的概念或术语对。

在另一个实施例中,分解函数将获取分类法中的所有兄弟关系.该方法包括:

(a)从图表的根顶点开始,

(b)访问顶点(称为当前顶点);

(c)如果存在当前顶点的多个子顶点;

(d)使用从左到右的参照系;

(e)第一子顶点的值是第一术语或短语(例如“人类(humans)”);

(f)最密切的兄弟(最邻近的)顶点的值是第二术语或短语(例如“类人猿(apes)”);

(g)由于分类法的语义(即,兄弟关系),第一术语或短语(第一子顶点值)和第二术语或短语(其它子顶点值)之间的关系(例如,“相关的”)被认为不明确;

(h)通过在一对概念或术语之间提供关系(“相关的”)来产生节点(“人类与类人猿相关联(humans-related-apes)”)

(i)对于当前顶点的每个其它子顶点,执行步骤(e)、(f)、(g)、(h);

(j)对于分类法中的每个顶点,执行步骤(b)、(c)、(d)、(i);

可以分解整个分类树中的所有兄弟关系,因为分类法的语义直接得知该不明确的关系,因此分类法的全部内容可以被分解为节点,而不另外处理中间格式的术语或短语对。

当上下文是有向图,资源是本体时,从第一术语或短语到第二术语或短语的关系是明确的关系,在本体中定义该明确的关系。

分解函数将获得本体中语义级为1的所有语义关系。分解方法是图表遍历函数,表示该方法将访问本体图中的每个顶点。在本体图中,级别为1的语义关系由所有这种顶点表示,即距离任何给定顶点正好为一个链接(link)(“跳”)。每个链接必须标记顶点之间的关系。该方法包括:

(a)从图表的根顶点开始,

(b)访问顶点(称为当前顶点);

(c)如果存在从当前顶点到另一个顶点的链接;

(d)使用顺时针的参考系;

(e)当前顶点的值是第一术语或短语(例如“丈夫(husband)”);

(f)第一链接的顶点的值是第二术语或短语(例如“妻子(wife)”);

(g)由于本体的语义,第一术语或短语(当前顶点值)和第二术语或短语(链接的顶点值)之间的关系(例如,“配偶(spouse)”)被认为是明确的;

(h)通过在一对术语或短语之间提供关系(“配偶”)来产生节点(“丈夫-配偶-妻子(husband-spouse-wife)”)(在形式上表示“存在与妻子有配偶关系的丈夫”)

(i)对于分类图中的每个顶点,执行步骤(b)、(c)、(d)、(e)、(f)、(g)、(h);

可以分解整个本体树中的级别为1的关系,由于本体的标记的关系语义直接得知该明确的关系,因此分类法的全部内容可以被分解为节点,而不另外处理中间格式的术语或短语对。

节点是关联的构造块(building block)。节点是从给定的原点到发现的目的地的相联链中的链接。本发明的优选实施例和/或示例性方法旨在提供一种改进的系统和方法,以通过利用节点构建关联来发现知识。只要节点池充满了节点,就可以开始关联。在本发明的所有实施例中,节点是数据结构。节点是由部分组成的。节点的部分可以保存数据类型,包括但不限于文本、数量、数学符号、逻辑符号、URL、URI,以及数据对象。节点的数据结构足以独立地传递意义,并能够独立地传递意义,这是因为节点的数据结构包含关系。由节点表明的关系是带有方向性的,表示关系项(relata)之间的关系可以是单向的或是双向的。单向关系仅存在于单个方向中,允许从一个部分到另一个部分的遍历,但是不允许在相反方向的遍历。双向关系允许两个方向中的遍历.

在一个优选实施例中,节点是由三部分组成的数据结构,该三部分包含关系和两个关系项。各部分的布置为:

(a)第一部分包含第一被关系者(relatum);

(b)第二部分包含关系;

(c)第三部分包含第二被关系者;

各部分的命名是:

(a)第一部分,包含第一被关系者,被称为对象;

(b)第二部分,包含关系,被称为联结;

(c)第三部分,包含第二被关系者,被称为属性;

在另一个优选实施例中,节点是数据结构并由四部分组成。该四个部分包含关系、两个关系项以及源。四个部分之一是源,源包含确定从中提取节点的资源的URL或URI。在可替换的实施例中,源包含确定向在节点中包含的关系提供上下文的外部资源的URL或URI。在这些实施例中,四个部分包含关系、两个关系项以及源,各个部分的布置为:

(a)第一部分包含第一被关系者;

(b)第二部分包含关系;

(c)第三部分包含第二被关系者;

(d)第四部分包含源;

各部分的命名是:

(a)第一部分,包含第一被关系者,被称为对象;

(b)第二部分,包含关系,被称为联结;

(c)第三部分,包含第二被关系者,被称为属性;

(d)第四部分,包含源,被称为序列;

参照图4A所示,利用自然语言处理器(NLP)410分解的结果实现节点180A、180B的生成,其包括至少一个字的句子和标记序列,其中句子和序列必须具有一对一的对应关系415。可以构建匹配至少一个句法模式420的所有节点180A、180B。该方法是:

(a)选择标记的句法模式420(例如:<名词><介词><名词>);

(b)从左移动到右;

(c)对于模式的中间标记(<介词>)搜索标记序列;

(d)如果正确的标记(<介词>)位于标记序列中;

(e)(<介词>)标记被称为当前标记;

(f)检查当前标记左边的标记(被称为左边标记);

(g)如果左边标记与模式不匹配,

a.试验被认为失败;

b.继续从当前标记的位置搜索标记序列;

c.直到定位下一个匹配的(<介词>)标记;

d.或者遇到标记序列的结尾;

(h)如果左边标记与模式匹配,

(i)检查当前标记右边的标记(被称为右边标记);

(g)如果右边标记与模式不匹配,

a.试验被认为失败;

b.继续从当前标记位置搜索标记序列;

c.直到定位下一个匹配的(<介词>)标记;

d.或者遇到标记序列的结尾;

(k)如果右边标记与模式匹配,

(l)生成节点180A、180B;

(m)利用来自相应于<名词><介词><名词>模式的字列表的字,例如“action regarding inflation”;

(n)从当前标记的位置继续搜索标记序列;

(o)直到定位下一个匹配的<介词>标记为止;

(p)或者遇到标记序列的结尾;

利用自然语言处理器(NLP)分解的结果实现节点的生成,其包括至少一个字的句子和标记序列,其中句子和标记序列必须具有一对一的对应关系。可以构建匹配至少一个句法模式的所有节点。该方法是:

(q)选择标记的句法模式(例如:<名词><介词><名词>);

(r)从左移动到右;

(s)对于模式的中间标记(<介词>)搜索标记序列;

(t)如果正确的标记(<介词>)位于标记序列中;

(u)<介词>标记被称为当前标记;

(v)检查当前标记左边的标记(称为左边标记);

(w)如果左边标记与模式不匹配,

a.试验被认为失败;

b.继续从当前标记的位置搜索标记序列;

c.直到定位下一个匹配的(<介词>)标记;

d.或者遇到标记序列的结尾;

(x)如果左边标记与模式匹配,

(y)检查当前标记右边的标记(被称为右边标记);

(z)如果右边标记与模式不匹配,

a.试验被认为失败;

b.继续从当前标记位置搜索标记序列;

c.直到定位下一个匹配的(<介词>)标记;

d.或者遇到标记序列的结尾;

(aa)如果右边标记与模式匹配,

(bb)生成节点;

(cc)利用来自相应于<名词><介词><名词>模式的字列表的字,例如“prince among men”;

(dd)从当前标记位置继续搜索标记序列;

(ee)直到定位下一个匹配的<介词>标记为止;

(ff)或者遇到标记序列的结尾;

本发明的优选实施例旨在利用作为资源分解结果的所有句子生成节点。该方法包括插入的步骤(q),对于NLP分解函数生成的所有句子,步骤(q)执行步骤(a)到(p)。

可以利用多种模式来构建节点。该方法是:

(1)插入的步骤(a1)是模式列表的准备。该列表可以以两种模式开始,并扩展到生成节点中可用的基本所有模式,包括但不限于:

(i)<名词><动词><名词>,例子:“man bits dog”,

(ii)<名词><副词><名词>,例子:“horse quickly runs”,

(iii)<动词><形容词><名词>,例子:“join big company”,

(iv)<形容词><名词><名词>,例子:“silent night song”,

(v)<名词><介词><名词>,例子:“voters aroundcountry”;

(2)插入的步骤(p1),其中对于模式列表中的每种模式执行步骤(a)到(p);

在改进的方法中,利用多种模式构建节点,用于构建节点的方法利用分类法的模式列表。在该实施例中,

插入的步骤(a2)利用中间标记对模式列表进行分类,接着利用左边标记分类,然后利用右边标记分类(例如:<形容词>在<名词>之前,在<介词>之前),表示对于(i)到(v)的模式组的搜索顺序将变为(iii)(ii)(iv)(v)(i),并且具有相同的中间标记的模式将成为一组。

(b)(c)对于模式列表中的第一中间标记,即<形容词>搜索每个标记序列

(d)如果正确的标记(<形容词>)位于标记序列中;

(e)被定位的<形容词>标记被称为当前标记;

(e1)利用当前标记,

(e2)在当前标记位置,将列表中具有相同的中间标记的每种模式(即,模式列表中组的每个成员)与序列中右边标记、当前标记,以及左边标记相比较;

(e3)对于搜索列表中的每组,执行步骤(b)到(e2);

(q)对于从资源中分解出的所有句子执行步骤(b)到(e3);

可以利用仅有两个标记的模式,从标记序列中提取其它感兴趣的节点。该方法搜索模式中的右边标记,节点构建者提供被构建节点的联结值.在另一种变形中,通过检查对象(相应于左边标记)值的单数或复数形式来确定联结值.在该实施例中,

(a)模式是<名词><形容词>;

(b)从左移动到右;

(c)对于标记<形容词>搜索标记序列;

(d)如果正确的标记(<形容词>)位于标记序列中;

(e)<形容词>标记被称为当前标记;

(f)检查当前标记左边的标记(被称为左边标记);

(g)如果左边的标记与模式不匹配(<名词>),

a.试验被认为失败;

b.继续从当前标记位置搜索标记序列;

c.直到定位下一个匹配的(<介词>)标记;

d.或者遇到标记序列的结尾;

(h)如果左边标记与模式匹配,

(i)创建节点;

(j)利用来自相应于<名词><形容词>模式的字列表中的字,例如“mountain big”;

(k)检验节点(相应于模式中<名词>的位置)的对象值的单数或复数形式

(l)根据检验结果插入节点的联结值(例如“is”“are”)

(m)生成节点“mountain is big”

(n)继续从当前标记位置搜索标记序列;

(o)直到定位下一个匹配的<形容词>标记为止;

(p)或者遇到标记序列的结尾;

(q)对于从资源中分解出的所有句子执行步骤(a)到(p);

利用三个标记的特定模式,用于构建节点的方法搜索模式中的左边标记,节点构建者提供被构建节点的联结值,通过检验对象(相应于左边标记)值的单数或复数形式来确定联结值。在该实施例中,

(a)模式是<形容词><名词><名词>;

(b)从左移动到右;

(c)对于标记<形容词>搜索标记序列;

(d)如果正确的标记(<形容词>)位于标记序列中;

(e)<形容词>标记被称为当前标记;

(f)检查当前标记右边的标记(被称为中间标记);

(g)如果中间标记与模式不匹配(<名词>),

a.试验被认为失败;

b.继续从当前标记位置搜索标记序列;

c.直到定位下一个匹配的(<形容词>)标记;

d.或者遇到标记序列的结尾;

(h)如果中间标记与模式匹配,

(i)检查中间标记右边的标记(被称为右边标记);

(j)如果右边标记与模式不匹配(<名词>),

a.试验被认为失败;

b.继续从当前标记位置搜索标记序列;

c.直到定位下一个匹配的(<形容词>)标记;

d.或者遇到标记序列的结尾;

(k)如果中间标记与模式匹配,

(l)创建节点;

(m)利用来自相应于<形容词><名词><名词>模式的字列表中的字,例如“silent night song”;

(n)检验节点(相应于模式中右边标记<名词>的位置)的属性值的单数或复数形式

(o)根据检验结果插入节点的联结值(例如“is”“are”)

(p)生成节点“silent night is song”

(q)继续从当前标记位置搜索标记序列;

(r)直到定位下一个匹配的<形容词>标记为止;

(s)或者遇到标记序列的结尾;

(t)对于从资源中分解出的所有句子执行步骤(a)到(s);

利用下面的模式来构建节点:左边标记被采纳为包含两个或多个标记的左边模式,中间标记被采纳为包含不多于两个标记的中间模式,以及右边标记被采纳为包含两个或多个标记的右边模式.通过将左边、中间以及右边标记采纳为模式,可以生成更复杂的节点。在该实施例中,NLP利用标记“TO”来表示可以采用文字“to”。例如,

(i)<形容词><名词><动词><形容词><名词>“largecontributions fight world hunger”,

(ii)<名词><TO><动词><名词>“legislature to consider bill”,

(iii)<名词><副词><动词><形容词><名词>“people quicklyread local news”,

例如,采用<名词><TO><动词><名词>“legislature to considerbill”,

(a)创建和参考用于左边模式、中间模式以及右边模式的单独的模式列表;

(b)将来自中间模式的最左边标记用于搜索;

(c)如果正确的标记(<TO>)位于标记序列中;

(d)<TO>标记被称为当前标记;

(e)检查当前标记右边的标记(在中间模式上下文中被称为右边标记);

(f)如果该标记与任何中间模式右边标记不匹配,

a.试验被认为失败;

b.继续从当前标记位置搜索标记序列;

c.直到定位下一个匹配的(<TO>)标记;

d.或者遇到标记序列的结尾;

(g)如果右边标记与中间模式匹配(<TO><动词>),

(h)检查当前标记左边的标记(在左边模式上下文中被称为右边标记);

(i)如果右边标记与任何左边模式右边标记不匹配,

a.试验被认为失败;

b.继续从当前标记位置搜索标记序列;

c.直到定位下一个匹配的(<TO>)标记;

d.或者遇到标记序列的结尾;

(j)如果右边标记与模式匹配,

(k)当前标记右边的标记(在中间模式上下文中被称为右边标记)变为当前标记;

(l)检查当前标记右边的标记(在右边模式上下文中被称为左边标记);

(m)如果该标记与任何右边模式左边标记不匹配,

a.试验被认为失败;

b.继续从当前标记位置搜索标记序列;

c.直到定位下一个匹配的(<TO>)标记;

d.或者遇到标记序列的结尾;

(n)如果左边标记与右边模式(<名词>)匹配,

(o)创建节点

(p)利用来自相应于<名词><TO><动词><名词>“legislature toconsider bill”的字列表中的字,

(q)继续从当前标记位置搜索标记序列;

(r)直到定位下一个匹配的<形容词>标记为止;

(s)或者遇到标记序列的结尾;

在某些情况下,希望过滤出某些可能的节点结构。这些过滤器包括但不限于:

(i)对象、联结以及属性中的所有字被大写;

(ii)对象、联结以及属性以连字号或撇号开始或结束;

(iii)对象、联结以及属性使连字号加空格(“-”)或空格加连字号(“-”)或连字号加连字号(“--”)嵌入在任何相应的值中;

(iv)对象、联结以及属性包含相同字符长度大于(3)的序列(例如:“FFFF”);

(v)对象、联结以及属性包含多字值,其中多字值中的第一个字或最后一个字仅是一个字符(例如:“a big”);

(vi)对象和属性是彼此的单数或复数形式;

(vii)对象和属性相同或具有嵌入彼此的值(例如:“dog”“sees”“big dog”);

(viii)对象、联结,或属性分别包含两个相同字(例如:“TexasTexas”“is”“state”);

当节点由四部分组成时,第四部分包含从其中提取节点的资源的URL或URI。在该实施例中,除了句子(字序列以及相应的标记序列),将从中提取句子的URL或URI传递给节点生成函数。对于通过节点生成函数从句子创建的每个节点,URL或URI被载入节点数据结构的第四部分(被称为序列)中。

当利用RDB分解函数生成第四部分节点时,RDB分解函数将从中提取节点的RDB资源的URL或URI,特别是,RDB分解函数自身创建的到数据库的连接所借助的URL,放入节点的第四(序列)部分中。一个例子采用Java语言企业版本,采用熟知的被称为MySQL的RDBMS  和被称为“mydb”的数据库:“jdbc:mysql://localhost/mydb”。如果RDBMS是Microsoft Access数据库时,则URL可能为文件路径,例如:“c:\anydatabase.mdb”。该实施例受限于用于RDB的URL可以访问RDB分解函数的RDBMS实施方案。应该注意到数据库资源的URL通常不足以在程序上访问该资源。

当利用分类法分解函数生成节点时,分类法分解函数将从中提取节点的分类资源的URL或URI,特别是,分类法分解函数自身定位资源所采用的URL,放入节点的第四(序列)部分中。

当利用本体分解函数生成节点时,本体分解函数将从中提取节点的本体资源的URL或URI,特别是,本体分解函数自身定位资源所采用的URL,放入节点的第四(序列)部分中.

本发明的优选实施例旨在生成节点,其中节点被添加到节点池中,并且存在防止被复制的节点添加到节点池中的规则。在该实施例中,(a)利用Java语言特征“toString()”将候选节点转换为字符串值,(b)利用节点池的查找函数执行作为关键字的字符串的查找.(c)丢弃被发现具有已经存在于节点池中的相同匹配的候选节点。否则,(d)将节点添加到节点池中。

节点池中的节点暂时驻留在或持久地存在于计算设备、计算机网络连接设备,或个人计算设备中。熟知的计算机设备包括但不限于超级计算机、大型计算机、企业级计算机、服务器、文件服务器、刀片服务器、网络服务器、部门服务器(departmental server),以及数据库服务器。熟知的计算机网络连接设备包括但不限于互联网网关设备、数据存储设备、家庭互联网应用设备、机顶盒,以及车载计算平台。熟知的个人计算设备包括但不限于桌上型个人计算机、膝上型个人计算机、个人数字助理(PDA)、高级显示器蜂窝电话、高级显示器寻呼机,以及高级显示器文本消息传递设备。

节点池的存储结构和机制允许通过检查节点一个或多个部分的直接的或计算的内容(值),来有效地选择和检索各个节点。允许和实现这种结构和机制的熟知的计算机软件和数据结构包括但不限于关系数据库系统、对象数据库系统、文件系统、计算机操作系统、集合、散列映射、映射(相联阵列),以及表格。

存储在节点池中的节点被称为成员节点。关于关联,节点池被称为搜索空间.节点池必须包含明确地包含感兴趣的术语或短语的至少一个节点成员。在该实施例中,明确地包含感兴趣的术语或短语的节点被称为原始节点,同义地被称为源节点、同义地被称为路径根。

以节点链(同义地被称为路径)的形式构建关联。这种链是由节点池的节点成员(被称为候选节点)构建的,选择候选节点添加到链中的方法是测试候选节点能够与链的当前终端节点相联。相联测试是:

(i)候选节点的(最左端)对象部分的值包含对当前终端节点的(最右端)属性部分的准确匹配。

(ii)候选节点的对象部分的值包含对当前终端节点的属性部分的单数或复数形式的准确匹配。

(iii)候选节点的对象部分的值包含对与当前终端节点的属性部分相关的字(例如,辞典)的准确匹配.

(iv)候选节点的对象部分的值包含对与当前终端节点的属性部分相关的字的匹配,并通过权威参考源建立候选节点对象部分和终端节点属性部分之间的关系。

(v)候选节点的对象部分的值包含对与当前终端节点的属性部分相关的字的匹配,并通过权威参考源建立候选节点对象部分和终端节点属性部分之间的关系,相联测试使用辞典,例如韦氏大辞典(韦伯斯特公司的产品)来确定候选节点的对象部分的值是否是当前终端节点属性部分的同义词或与当前终端节点属性部分相关。

(vi)候选节点的对象部分的值包含对当前终端节点的属性部分权威参考定义中出现的字的匹配。

(vii)候选节点的对象部分的值包含对与当前终端节点的属性部分相关的字的匹配,并通过权威参考源建立候选节点对象部分和终端节点属性部分之间的关系,相联测试使用字典,例如韦氏大字典(韦伯斯特公司的产品)来确定候选节点的对象部分是否出现在当前终端节点属性部分的字典定义中,并因此与当前终端节点属性部分相关。

(viii)候选节点的对象部分的值包含对权威参考源中关于当前终端节点的属性部分的论述中出现的字的匹配。

(ix)候选节点的对象部分的值包含对与当前终端节点的属性部分相关的字的匹配,并通过权威参考源建立候选节点对象和终端节点属性之间的关系,相联测试使用百科全书,例如大不列颠百科全书(大不列颠百科全书公司的产品)来确定搜索过程中定位的可能源的任何内容是否出现在感兴趣的术语或短语的百科全书论述中,并因此与当前终端节点的属性部分相关。

(x)包含在候选节点对象部分的值中的术语与当前终端节点的属性部分具有父、子或兄弟关系。

(xi)候选节点的对象部分的值包含对与当前终端节点的属性部分相关的字的匹配,并通过权威参考源建立候选节点对象和终端节点属性之间的关系,相联测试使用分类法来确定候选节点的对象部分中包含的术语与当前终端节点的属性部分具有父、子或兄弟关系。包含当前终端节点的属性部分的值的顶点位于分类法中。这是感兴趣的顶点。对于位于候选节点的对象部分中的每个字,通过跟踪从感兴趣的顶点到感兴趣的顶点的父、兄弟,以及子顶点的关系(链接)来搜索感兴趣的顶点的父、兄弟以及子顶点。如果任何父、兄弟或子顶点包含来自当前终端节点的属性部分的字,则表示匹配成功,并且该候选节点被看作与当前终端节点相关联。在该实施例中,被称为图表遍历函数的软件函数用于定位和检查当前终端节点的父、兄弟,以及子顶点。

(xii)包含在候选节点对象部分的值中的术语与包含在当前终端节点属性部分中的术语的距离为一级(长度)语义。

(xiii)包含在候选节点对象部分的术语与包含在当前终端节点属性部分中的术语的距离为两级(长度)语义。

(xiv)将候选节点的对象部分与当前终端节点的属性部分相比较,相联测试利用本体来确定一级(长度)语义的距离将候选节点的对象部分与当前终端节点的属性部分分离。包含当前终端节点的属性部分的顶点位于本体中。这是感兴趣的顶点。对于位于候选节点的对象部分中的每个字,通过跟踪从感兴趣的顶点到所有相邻顶点的关系(链接)来搜索本体。如果任何相邻顶点包含来自候选节点对象部分的字,则表示匹配成功,并且该候选节点被看作与当前终端节点相关联。

(xv)将候选节点的对象部分与当前终端节点的属性部分相比较,相联测试利用本体来确定二级(长度)语义的距离将候选节点的对象部分与当前终端节点的属性部分分离。包含当前终端节点的属性部分的顶点位于本体中。这是感兴趣的顶点。对于位于候选节点的对象部分中的每个字,执行语义级为一的关联测试。如果该测试失败,则通过跟踪从与感兴趣的顶点邻近的顶点到所有各相邻顶点的关系(链接)来搜索本体。这种顶点距离感兴趣的顶点的语义级为二。如果任何语义级为二的顶点包含来自候选节点对象部分的字,则表示匹配成功,并且该候选节点被看作与当前终端节点相关联。

(xvi)将候选节点的对象部分与当前终端节点的属性部分相比较,相联测试利用通用本体,例如CYC本体(Cycorp公司的产品)来确定从当前终端节点的属性部分到候选节点的对象部分的语义级(长度)。

(xvii)将候选节点的对象部分与当前终端节点的属性部分相比较,相联测试利用专用本体,例如基因本体(基因本体论联盟的方案)来确定从当前终端节点的属性部分到候选节点的对象部分的语义级(长度)。

(xviii)将当前终端节点的属性部分与当前终端节点的属性部分相比较,相联测试利用本体,对于该测试,利用本体语言(例如,网络本体语言)(OWL)(万维网联盟的方案)来访问和导航本体。

本发明改进的实施例旨在节点池,其中节点池被组织为曾经被对象检索以及被属性检索的节点的集合。该实施例对关联速度进行改进,这是因为为了使所有相联节点都能够被添加到关联中,对于该集合只要求一次相联测试。

关联的过程是由节点池中合格的节点成员与成功指定的路径的当前终端的迭代关联和连续链接组成的。直到决定出成功或失败后,该过程才被称为试验或尝试的关联。当出现被称为目标或目的地节点的希望节点到路径的当前终端的关联和链接时,该试验被称为已经实现了成功的结果(目标状态),在这种情况下,路径在下文中被称为关联,保存这种关联,而节点池中没有合格的成员节点时则被看作失败的结果(用完),丢弃该路径,并且该路径不再被称为关联。

目的地节点的指定调用了关联的中断。存在许多中断关联的方式.在优选实施例中,软件用户随意作出选择,指定最近被加入到关联的末端作为目的地节点的节点,因此中断了进一步的关联。在关联方法的每个步骤后,向用户提供最近加入的节点的表示,并且通过用户接口,例如图形用户接口(GUI)提示用户中断或继续该次关联。中断关联的其它方法为:

(i)使关联方法继续扩展关联,直到经过设置的时间间隔为止,此时关联方法将最近被添加到关联末端的节点指定为目的地节点,因此中断进一步的关联。

(ii)使关联方法继续扩展关联,直到关联实现了某种预定的程度为止(即,长度、节点数量),此时关联方法将最近被添加到关联末端的节点指定为目的地节点,因此中断进一步的关联。

(iii)使关联方法继续扩展关联,直到给定节点池中可用的节点时不能进一步扩展关联为止,此时关联方法将最近被添加到关联末端的节点指定为目的地节点,因此中断进一步的关联。

(iv)使关联方法继续扩展关联,直到特定的预先选择的目标节点或对象部分中具有预先指定的术语的目标节点被添加到关联中为止,在这种情况下表示成功关联并且中断关联。在该实施例中,如果预先选择的节点或具有预先指定的术语的节点不能与关联相联系,并且已经检查到节点池中所有候选节点时,表示关联失败,并且中断关联。

(v)关联方法将尝试关联的数量与尝试关联的预设极限值比较,如果达到该极限值,则中断关联。

(vi)关联方法将当前关联经过的时间与预设时间极限值比较,如果达到该时间极限,则中断关联.

在本发明的优选实施例中,关联方法采用图论技术。因此,关联尝试一起建模为尝试关联的带有方向的图表(也被称为有向图)。

本发明的优选实施例旨在关联方法,其中关联尝试采用图论技术,因此,将关联尝试一起建模为尝试关联的带有方向的图表(也被称为有向图).关联方法构造的一种类型的有向图是路径箭盒(quiver),其中路径箭盒中的每条路径是尝试关联。该优选实施例采用一系列通过节点池的通道来构造路径箭盒,其包括以下步骤:

(a)在第一通路中,仅有

a.从原始节点开始,

b.对于每个候选节点成功地与原始节点相关联,

c.开始新的尝试关联(路径);

(b)对于所有后续的通路

a.对于每个尝试关联路径,

i.当前的尝试关联路径是感兴趣的尝试;

ii.路径的终端(最右端)节点成为感兴趣的节点;

iii.对于能够与感兴趣的节点相关联的候选节点搜索节点池,从而将尝试关联延伸一级;

iv.如果发现节点能够与感兴趣的节点相关联,则将该节点添加到尝试关联路径中。节点的这种使用是非排除性的;

v.如果将添加到尝试关联路径中的节点指定为目标或目的地节点,

1.该尝试被称为关联;

2.从路径箭盒中去除该关联;

3.该关联被分别存储为成功的关联;

4.该关联方法表示成功;

5.下一个尝试关联路径变为感兴趣的尝试;

vi.如果可以找到能够与感兴趣的节点相关联的多个节点,

vii.对于每个这种节点,

viii.克隆当前路径,并用该节点进行延伸;

ix.如果不能找到能够与感兴趣的节点相关联的节点,

x.丢弃该感兴趣的路径;

b.对于所有尝试关联路径执行步骤“a”;

(c)作为连续的通路执行步骤(b)直到中断关联为止;

(d)如果没有构建出成功的关联,则关联方法表示失败;

在一个优选实施例中,将关联方法产生的成功关联建模为关联的带有方向的图表(也被称为有向图)。可替换地,将通过关联方法产生的成功关联建模为成功关联的路径箭盒。关于关联,通过关联方法产生的成功关联共同被称为应答空间。当关联方法构造路径箭盒,其中路径箭盒中的每条路径是成功关联时,所有成功关联共享原始节点作为起始点,并且构建从该原始节点的所有可能的关联。从相同的原始术语节点开始并且以相同的目标术语节点或相同的相关目标术语节点集终止的所有关联(路径)构成关联集。目标术语节点被看作通过关联方法使用的相同的关联测试来进行关联,用来自节点池的候选节点延伸尝试关联。

特定情况的关联采用两个术语和/或短语构造知识关联,包括:

(a)遍历(搜索)一个或多个

(vii)计算机文件系统

(viii)计算机网络,包括互联网

(ix)关系数据库

(x)分类法

(xi)本体

(b)确定关于感兴趣的第一个术语或短语的信息的实际和可能源。

(c)然后执行第二独立的搜索以确定关于感兴趣的第二个术语或短语的信息的实际和可能源。

(d)将关联测试用于任何一种搜索中发现的信息的所有实际或可能源。

(e)将两种搜索中发现的资源分解为节点。

(f)将节点添加到节点池中。

(g)将明确地包含感兴趣的第一术语或短语的节点池中的节点用作原始节点。

(h)当明确地包含感兴趣的第二术语或短语的合格的成员术语节点与至少一个成功关联的路径中的当前终端相关联并被添加到其中时,表示关联成功,其中成员术语节点被指定为目的地节点.

节点抑制(node suppression)允许用户通过隐藏来自关联方法的各个节点来“控制”关联。节点池中的各个节点可以被指定为被抑制。在该实施例中,抑制为关联提供不符合要求的节点,但是并不删除来自节点池的节点.在优选应用中,GUI组件,例如节点池编辑器中的用户操作抑制节点.在任何时候,任何数据库中的内容表示该数据存储的状态。抑制改变作为搜索空间和知识域的节点池的状态。抑制允许用户影响关联方法。

在某些条件下,希望过滤出某些可能的关联结构。这些过滤器包括但是不限于:

(i)复制已经存在于关联中的节点;

(ii)复制已经存在于关联中的节点的对象;

(iii)被抑制的节点;

本发明的有趣的基于统计的实施例要求关联方法跟踪添加到关联路径中的所有节点中的所有术语,并且当任何术语出现的频率接近统计值时,关联方法将添加关于重要术语的信息源的独立搜索。在该实施例中,当来自该搜索获取的资源的节点被添加到节点池中时,不会中止关联。相反,当生成节点时会马上添加节点,从而试图改进后续的关联尝试。

在一个实施例中,关联方法将增加关于作为文件提供的或用户输入的术语列表中所有术语的信息源的独立搜索。超过第五个这种术语的所有术语用于正交地延伸作为搜索空间和知识域的节点池。在一种变形中,关联方法将增加关于第三、第四或第五术语,或关于作为文件提供的或用户输入的术语列表中所有术语的信息源的独立搜索,但是与第一和/或第二概念和/或术语的关联方法使用的搜索范围相比,关联方法将限制对所有这种术语的搜索范围。在该实施例中,关联方法将限制术语重要性的规则用于其在输入流中的顺序位置。

本发明的另一个示例性实施例和/或示例性方法旨在关联方法,通过关联方法,关联发现的知识是以前未被发现的知识(即,新的知识)或者甚至是以前在特定工业或学术出版物中未知或未被记录的知识。

关联产品用户的代表可能包括:

(i)当以图形显示完整关联时,完整关联的表示.

(ii)当以图形显示完整关联时,完整关联的表示,并且表示的图形结构是目录树的结构。

(iii)当以图形显示完整关联时,完整关联的表示,并且表示的图形结构是图表的结构。

(iv)当以图形显示完整关联时,完整关联的表示,并且表示的结构是表格的结构。

附录A描述了大约222页输出结果的前四页,其中这些输出结果表示从输入术语“(Gold is stand)”得到的关联。全部的输出结果可以在随附的CD-ROM上得到。

尽管这里详细地说明了本发明的各种实施例,但是明显地是对于所属领域技术人员来说可以进行这些实施例的修改和调整,而不脱离下面的权利要求说明的本发明的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号