知识自动化系统和方法以及存储器转让专利

申请号 : CN201580054451.6

文献号 : CN106796578B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : T·梁加齐·马哈茂德西努·班达迪安娜·梁托马斯·W·勃兰特

申请人 : 凯巴士有限公司

摘要 :

知识自动化技术可以包括:接收多个知识单元中的选择的知识单元,用于添加到目标知识包中;以及为该多个知识单元中的每个剩余知识单元计算在选择的知识单元与该剩余知识单元之间的知识单元距离度量。基于该知识单元距离度量,可以确定一个或多个相关知识单元的集合。对于每个相关知识单元,可以从相关知识单元是其一部分的发布知识包的集合中识别一个或多个知识包。可以从已识别知识包的知识消费者为目标知识包确定一个或多个建议的知识消费者。

权利要求 :

1.一种方法,包括:

通过数据处理系统接收多个知识单元中的选择的知识单元,用于添加到目标知识包中;

为所述多个知识单元中的每个剩余知识单元计算在选择的知识单元与该剩余知识单元之间的知识单元距离度量;

基于所述知识单元距离度量,从所述多个知识单元中确定一个或多个相关知识单元的集合;

对于所述一个或多个相关知识单元的集合中的每个相关知识单元,从所述相关知识单元是其一部分的发布知识包的集合中识别一个或多个知识包;

识别知识消费者的第一集合,所述知识消费者的第一集合中的每个知识消费者均为已识别知识包中的至少一个知识包的知识消费者;以及基于知识消费者的所述第一集合,为所述目标知识包确定一个或多个建议的知识消费者。

2.根据权利要求1所述的方法,其中,所述知识单元距离度量通过将所述选择的知识单元的术语向量与所述剩余知识单元的术语向量进行比较来计算。

3.根据权利要求1所述的方法,其中,如果计算的在所述选择的知识单元与一剩余知识单元之间的所述知识单元距离度量低于预定阈值距离,则将该剩余知识单元确定为相关知识单元。

4.根据权利要求1所述的方法,其中,确定一个或多个相关知识单元的所述集合包括:基于所述知识单元距离度量,对所述剩余知识单元排序;以及选择预定数目的排序最高的剩余知识单元作为一个或多个相关知识单元的所述集合。

5.根据权利要求1所述的方法,其中,如果识别的知识消费者的所述第一集合中的一知识消费者消费的所述已识别知识包的数目大于预定阈值,则将该知识消费者确定为所述目标知识包的建议的知识消费者。

6.根据权利要求1所述的方法,其中,确定所述一个或多个建议的知识消费者包括:基于每个知识消费者消费的已识别知识包的数目,对识别的知识消费者的所述第一集合中的知识消费者排序;以及选择预定数目的排序最高的知识消费者作为所述一个或多个建议的知识消费者。

7.根据权利要求l所述的方法,进一步包括:

对于所述多个发布知识包中的每个发布知识包,通过将所述目标知识包的元数据与该发布知识包的元数据进行比较,计算所述目标知识包与所述发布知识包之间的知识包距离度量;

基于所述知识包距离度量,从所述多个发布知识包确定一个或多个相关知识包的集合;以及识别知识消费者的第二集合,所述知识消费者的第二集合中的每个知识消费者均为所述相关知识包中的至少一个相关知识包的知识消费者;

其中,进一步基于知识消费者的第二集合,为所述目标知识包确定所述一个或多个建议的知识消费者。

8.根据权利要求7所述的方法,其中,如果计算的在所述目标知识包与一发布知识包之间的所述知识包距离度量低于阈值距离,则将该发布知识包确定为相关知识包。

9.根据权利要求7所述的方法,其中,确定所述一个或多个相关知识包的集合包括:基于所述知识包距离度量,对所述发布知识包排序;以及

选择预定数目的排序最高的发布知识包作为所述一个或多个相关知识包的集合。

10.根据权利要求7所述的方法,其中,对于识别的知识消费者的所述第一集合或识别的知识消费者的所述第二集合中的一知识消费者,如果所述已识别知识包的数目与该知识消费者消费的相关知识包的数目之和大于预定阈值,则将该知识消费者确定为所述目标知识包的建议的知识消费者。

11.根据权利要求7所述的方法,其中,确定所述一个或多个建议的知识消费者包括:基于所述已识别知识包和每个知识消费者消费的所述相关知识包的数目,对识别的知识消费者的所述第一集合和第二集合中的所述知识消费者排序;以及选择预定数目的排序最高的知识消费者作为所述一个或多个建议的知识消费者。

12.根据权利要求l所述的方法,进一步包括:

识别一个或多个知识类别的集合,所述知识类别的集合中的每个知识类别均为所述已识别知识包中的至少一个知识包的知识类别;以及基于所述一个或多个知识类别的集合,为所述目标知识包确定一个或多个建议的知识类别。

13.根据权利要求7所述的方法,进一步包括:

识别一个或多个知识类别的第一集合,所述一个或多个知识类别的第一集合中的每个知识类别均为所述已识别知识包中的至少一个知识包的知识类别;

识别一个或多个知识类别的第二集合,所述一个或多个知识类别的第二集合中的每个知识类别均为所述相关知识包中的至少一个相关知识包的知识类别;以及基于一个或多个知识类别的所述第一集合和第二集合,为所述目标知识包确定一个或多个建议的知识类别。

14.一种非暂时性的计算机可读存储的存储器,存储有能够由一个或多个处理器执行的多个指令,所述多个指令包括促使所述一个或多个处理器执行根据权利要求1至13中任一项所述的方法的指令。

15.一种系统,包括:

一个或多个处理器;以及

与所述一个或多个处理器耦接并能够由所述一个或多个处理器读取的存储器,所述存储器被配置成存储在由所述一个或多个处理器执行时促使所述一个或多个处理器执行根据权利要求1至13中任一项所述的方法的指令集合。

说明书 :

知识自动化系统和方法以及存储器

[0001] 相关申请的交叉引用
[0002] 本申请要求2014年8月6日提交的题为“Knowledge Automation(知识自动化)”的美国临时申请62/033,943、2014年8月7日提交的题为“Knowledge Automation(知识自动化)”的美国临时申请62/034,759、2014年9月23日提交的题为“Content Discovery and ingestion(内容发现和摄取)”的美国临时申请62/054,340、2014年10月17日提交的题为“Techniques for Automatically identifying and Bridging Knowledge Gaps(用于自动识别和填补知识缺口的技术)”的美国临时申请62/065,591以及2014年10月17日提交的题为“Techniques for Mapping Knowledge to Users within a Knowledge System(用于在知识系统内将知识映射至用户的技术)”的美国临时申请62/065,603的权益和优先权,出于所有目的,所有上述申请的全部内容通过引用方式被纳入本文。

背景技术

[0003] 本公开内容总体上涉及知识自动化。更具体地,公开了用于将数据内容转换为适合于用户消费的知识的技术。
[0004] 由于可获得大量数据内容,用户通常遭受信息过载。例如,在企业环境中,大公司可能存储了用户完成其任务所需的所有数据。然而,为正确的用户找到正确的数据可能具有挑战性。用户可能经常花费大量的时间来大海捞针一般地试图从数千个数据文件中找到正确数据以满足其特殊需要。在协作环境中,即使在找到正确的数据后,可能仍然需要大量时间来将该数据合成为可以由其他人消费的合适的输出。用户搜索和合成数据所花费的时间量也可能对企业计算系统形成过度负载并减缓其他任务的处理。
[0005] 本发明的实施方案单独地且共同地解决了这些问题和其他问题。

发明内容

[0006] 本公开内容总体上涉及知识自动化。更具体地,公开了用于将数据内容转换为适合于用户消费的知识的知识自动化技术。知识自动化技术可以在知识包创建期间提供自适应反馈,以向建立的知识包提供建议受众和类别。
[0007] 在一些实施方案中,该技术可以包括:通过数据处理系统从多个知识单元接收选择的知识单元,用于添加到目标知识包中,该目标知识包针对目标知识消费者;以及对于多个知识单元中的每个剩余知识单元,计算在选择的知识单元与该剩余知识单元之间的知识单元距离度量。该技术还可以包括:基于知识单元距离度量,从多个知识单元确定一个或多个相关知识单元的集合;以及对于该一个或多个相关知识单元的集合中的每个相关知识单元,从该相关知识单元是其一部分的发布知识包的集合中识别一个或多个知识包。该技术还可以包括:识别知识消费者的第一集合,该知识消费者中的每个均为已识别知识包中的至少一个知识包的知识消费者;以及基于该知识消费者的第一集合,为目标知识包确定一个或多个建议的知识消费者。
[0008] 在一些实施方案中,可以通过将选择的知识单元的术语向量(term vector,术语矢量)与剩余知识单元的术语向量进行比较来计算知识单元距离度量,并且,如果计算的在选择的知识单元与剩余知识单元之间的知识单元距离度量低于预定阈值距离,则可以将该剩余知识单元确定为相关知识单元。确定一个或多个相关知识单元的集合可以包括:基于知识单元距离度量,对剩余知识单元进行排序;以及选择预定数目的排序最高的剩余知识单元作为该一个或多个相关知识单元的集合。
[0009] 在一些实施方案中,如果识别的知识消费者的第一集合中的知识消费者消费的已识别知识包的数目大于预定阈值,则可以将该知识消费者确定为目标知识包的建议的知识消费者。在一些实施方案中,确定一个或多个建议的知识消费者可以包括:基于每个知识消费者消费的已识别知识包的数目,对识别的知识消费者的第一集合中的知识消费者进行排序;以及选择预定数目的排序最高的知识消费者作为一个或多个建议的知识消费者。
[0010] 在一些实施方案中,该技术可以包括:对于多个发布知识包中的每个发布知识包,通过将目标知识包的元数据与该发布知识包的元数据进行比较,计算目标知识包与该发布知识包之间的知识包距离度量;以及基于该知识包距离度量,从多个发布知识包中确定一个或多个相关知识包的集合。可以识别知识消费者的第二集合,该知识消费者的第二集合中的每个均为相关知识包中的至少一个相关知识包的知识消费者。可以进一步基于知识消费者的第二集合,为目标知识包确定一个或多个建议的知识消费者。
[0011] 在一些实施方案中,如果计算的在目标知识包与发布知识包之间的知识包距离度量低于阈值距离,则将该发布知识包确定为相关知识包。在一些实施方案中,确定一个或多个相关知识包的集合可以包括:基于知识包距离度量,对发布知识包进行排序;以及选择预定数目的排序最高的发布知识包作为该一个或多个相关知识包的集合。
[0012] 在一些实施方案中,对于识别的知识消费者的第一集合中或识别的知识消费者的第二集合中的知识消费者,如果已识别知识包的数目与该知识消费者消费的相关知识包的数目之和大于预定阈值,则可以将该知识消费者确定为目标知识包的建议的知识消费者。在一些实施方案中,确定一个或多个建议的知识消费者可以包括:基于已识别知识包和每个知识消费者消费的相关知识包的数目,对识别的知识消费者的第一集合和第二集合中的知识消费者进行排序;以及选择预定数目的排序最高的知识消费者作为该一个或多个建议的知识消费者。
[0013] 在一些实施方案中,该技术可以包括:识别一个或多个知识类别的集合,该知识类别中的每个均为已识别知识包中的至少一个知识包的知识类别;以及基于该一个或多个知识类别的集合,为目标知识包确定一个或多个建议的知识类别。在一些实施方案中,该技术可以包括:识别一个或多个知识类别的第一集合,该一个或多个知识类别的第一集合中的每个均为已识别知识包中的至少一个知识包的知识类别;识别一个或多个知识类别的第二集合,该一个或多个知识类别的第二集合中的每个均为相关知识包中的至少一个相关知识包的知识类别;以及基于一个或多个知识类别的第一集合和第二集合,为目标知识包确定一个或多个建议的知识类别。
[0014] 在一些实施方案中,该技术可以包括:响应于检测到第一知识单元图标在第二区域中的放置,在第三区域中为目标知识包显示一个或多个建议类别的列表。在一些实施方案中,该技术可以包括:响应于检测到第二知识单元图标在第一区域中的放置,基于添加到目标知识包的第二知识单元,在第三区域中为目标知识包更新一个或多个建议类别的列表。在一些实施方案中,该技术可以包括:响应于检测到第一知识单元图标在第二区域中的放置,在第三区域中显示建议移除目标知识包的目标知识消费者中的一个或多个的指示符。在一些实施方案中,该技术可以包括:响应于检测到第一知识单元图标在第二区域中的放置,在第三区域中显示建议移除目标知识包的一个或多个目标类别的指示符。
[0015] 在一些实施方案中,一种非暂时性的计算机可读存储的存储器(memory)可以存储能由一个或多个处理器执行的多个指令。所述多个指令可以包括执行上述技术的指令。在一些实施方案中,一种系统可以包括一个或多个处理器以及与该一个或多个处理器耦接并能由该一个或多个处理器读取的存储器。所述存储器可以被配置成存储在由该一个或多个处理器执行时促使该一个或多个处理器执行上述技术的指令集。

附图说明

[0016] 图1例示了根据一些实施方案的其中可以实施知识自动化系统的环境。
[0017] 图2例示了根据一些实施方案的描绘可以由知识自动化系统执行的处理中的一些的流程图。
[0018] 图3例示了根据一些实施方案的知识自动化系统的框图。
[0019] 图4例示了根据一些实施方案的用户配置文件(profile,概况文件)。
[0020] 图5例示了根据一些实施方案的用户配置文件组。
[0021] 图6例示了根据一些实施方案的知识包的示例形成。
[0022] 图7例示了根据一些实施方案的知识库。
[0023] 图8例示了根据一些实施方案的内容合成器的框图。
[0024] 图9例示了根据一些实施方案的内容分析器的框图。
[0025] 图10例示了根据一些实施方案的内容发现和摄取过程的流程图。
[0026] 图11例示了根据一些实施方案的内容分析过程的流程图。
[0027] 图12例示了根据一些实施方案的知识自动化系统的知识语料库(corpus)的图形表示的实施例。
[0028] 图13例示了根据一些实施方案的知识地图的图形表示的实施例。
[0029] 图14例示了根据一些实施方案的知识映射过程的流程图。
[0030] 图15例示了根据一些实施方案的用户对识别内容的感兴趣程度的图1502和用于调整感兴趣程度的图形用户界面1504。
[0031] 图16例示了根据一些实施方案的在创建知识包期间由知识自动化系统提供的自适应反馈的概念图。
[0032] 图17例示了根据一些实施方案的在创建知识包期间由知识自动化系统提供的自适应反馈的另一概念图。
[0033] 图18例示了根据一些实施方案的自适应反馈过程的流程图。
[0034] 图19例示了根据一些实施方案的另一自适应反馈过程的流程图。
[0035] 图20例示了根据一些实施方案的用于建立知识包的图形用户界面。
[0036] 图21例示了根据一些实施方案的用于显示知识包建立器图形用户界面的过程的流程图。
[0037] 图22例示了根据一些实施方案的知识自动化系统中的潜在知识缺口的概念图。
[0038] 图23例示了根据一些实施方案的可以由知识自动化系统执行的用于自动识别知识缺口的过程的流程图。
[0039] 图24例示了根据一些实施方案的计算系统的框图。
[0040] 图25例示了根据一些实施方案的服务提供者系统的框图。

具体实施方式

[0041] 本公开内容总体上涉及知识自动化。公开了用于发现数据内容并将数据内容中的信息转换为知识单元的某些技术。还公开了用于将单独的知识单元组成知识包并将知识映射至适当的目标受众以用于消费的技术。还公开了用于识别并填补其中可能缺乏系统中的有用知识的知识缺口或主题领域的技术。
[0042] 企业中大量的数据(例如,诸如文档、电子邮件、图像、代码和其他内容等的数据文件)可以提供给用户。这些用户可以依靠数据中包含的信息来帮助他们执行其任务。用户还可以依靠数据中包含的信息来生成供其他用户消费的有用知识。例如,用户团队可以获得与新产品推出相关的技术规范并为将安装新产品的技术人员生成一套培训材料。然而,对这些用户可用的大量数据可能使得难以识别待用的正确信息。
[0043] 机器学习技术可以大规模(例如,企业内外)分析内容并识别什么内容对哪些用户最有用的模式。机器学习可以用于对能由企业系统(例如,本地存储、远程存储和云存储服务,诸如SharePoint、Google Drive、Box等)访问的内容、以及请求、查看所述内容和以其他方式与所述内容交互的用户二者进行建模。基于用户的配置文件和用户如何与可用内容交互,可以对每个用户的兴趣、专业和同行进行建模。然后数据内容可以与最可能对该内容感兴趣的合适用户匹配。这样,可以在正确的时间向正确的用户提供正确的知识。通过释放原本将会被用于搜索并定位正确知识的努力所消耗的计算资源、并允许将这些计算资源分配给其他任务,这不仅提高了用户识别并消费与每个用户相关的知识的效率,而且提高了计算系统的效率。
[0044] I.架构概述
[0045] 图1例示了根据一些实施方案的其中可以实施知识自动化系统100的环境10。如图1所示,多个用户可以使用多个客户端设备160-1、160-2......160-n以访问由知识自动化系统100提供的服务。客户端设备可以是各种不同的类型,包括但不限于个人计算机、台式机、移动或手持设备(诸如笔记本电脑、智能电话、平板电脑等)以及其他类型的设备。用户中的每个均可以是从知识自动化系统100访问知识的知识消费者,或者在知识自动化系统
100中发布或生成知识以用于其他用户消费的知识发布者。在一些实施方案中,用户既可以是知识消费者,也可以是知识发布者,知识消费者或知识发布者可以指代单个用户或包括多个用户的用户组。
[0046] 知识自动化系统100可以被实施为数据处理系统,并且可以发现并分析来自存储在一个或多个数据储存库(repositories)中的一个或多个内容源195的内容,所述数据储存库诸如数据库、文件系统、管理系统、电子邮件服务器、对象存储库(store)和/或其他储存库或数据存储库。在一些实施方案中,客户端设备160-1、160-2......160-n可以通过网络来访问由知识自动化系统100提供的服务,所述网络诸如互联网、广域网(WAN)、局域网(LAN)、以太网、公用或私用网络、有线网络、无线网络或其组合。内容源195可以包括由企业维护的企业内容170、在一个或多个远程位置(例如,互联网)维护的远程内容180、由云存储服务提供者维护的云服务内容190等。通过本地接口或通过经由上述网络中的一个或多个将知识自动化系统100连接至内容源的网络接口,内容源195可以对知识自动化系统100是可访问的。在一些实施方案中,内容源195中的一个或多个、客户端设备160-1、160-2......160-n中的一个或多个以及知识自动化系统100可以是同一网络的部分,或者可以是不同网络的部分。
[0047] 每个客户端设备可以从知识自动化系统100请求并接收知识自动化服务。知识自动化系统100可以包括向客户端设备提供基于知识的服务的各种软件应用。在一些实施方案中,客户端设备可以通过在每个客户端设备上执行的瘦客户端或网络浏览器来访问知识自动化系统100。这种软件例如服务(SaaS)模型允许多个不同的客户端(例如,对应于不同消费者实体的客户端)接收由软件应用提供的服务,而不用在客户端设备上安装、托管并维护软件本身。
[0048] 知识自动化系统100可以包括内容摄取模块110、知识建模器130和用户建模器150,它们可以共同地从内容源195可访问的数据内容提取信息,从所提取的信息得到知识,并向特定客户端提供特定知识的建议。知识自动化系统100可以基于所摄取的内容提供许多知识服务。例如,可以自动生成、维护并在企业的用户之间共享公司字典。可以识别用户的感兴趣模式(例如,用户通常查看的内容),并将其用于向用户提供个性化搜索结果。在一些实施方案中,可以监测用户请求,以检测遗漏的内容,并且知识自动化系统100可以执行知识借鉴以填充这些知识缺口。在一些实施方案中,用户可以限定知识活动以生成内容并将内容分配给企业中的用户,监测内容对用户的有用性,并对内容进行修改以提高其有用性。
[0049] 内容摄取模块110可以识别并分析企业内容170(例如,由企业维护的文件和文档,其他数据诸如电子邮件、网页、企业记录、代码等)、远程内容180(例如,存储在远程数据库中的文件、文档和其他数据等)、云服务内容190(例如,从云端可访问的文件、文档和其他数据等)和/或来自其他源的内容。例如,内容摄取模块110可以爬取或挖掘内容源中的一个或多个以识别其中存储的内容,和/或监测内容源以在内容被修改或添加到内容源时识别内容。内容摄取模块110可以解析并合成内容,以识别内容中包含的信息以及这些信息的关系。在一些实施方案中,摄取可以包括将内容规范化为通用格式,并将内容作为一个或多个知识单元存储在知识库140(例如,知识数据存储库)中。在一些实施方案中,在摄取期间可以将内容划分为一个或多个部分。例如,新产品手册可以描述与新产品发行相关联的许多新特征。在摄取期间,可以将产品手册针对新特征的那些部分从手册中提取出来并存储为单独的知识单元。可以标记这些知识单元或者以其他方式使这些知识单元与可以用于指示这些知识单元与新产品特征相关的元数据相关联。在一些实施方案中,内容摄取模块110还可以执行访问控制映射,以限制某些用户使其不能访问某些知识单元。
[0050] 知识建模器130可以分析内容摄取模块120生成的知识单元,并将知识单元组合或聚集在一起以形成知识包。知识包可以包括各种相关知识单元(例如,与新产品发行相关的若干知识单元可以组合为新产品知识包)。在一些实施方案中,可以通过组合其他知识包、或者知识单元和知识包的混合来形成知识包。知识包与知识单元可以一起存储在知识库140中,或者分开存储。通过分析由每个知识单元覆盖的主题并将覆盖类似主题的知识单元组合成知识包,知识建模器130可以自动生成知识包。在一些实施方案中,知识建模器130可以允许用户(例如,知识发布者)建立自定义知识包,并发布自定义知识包以供其他用户消费。
[0051] 用户建模器150可以在系统上的用户活动与知识库140以及知识库中存储的知识单元和知识包交互时(例如,用户的搜索历史、消费的知识单元和知识包、发布的知识包、查看每个知识包和/或搜索结果花费的时间等)监测用户活动。用户建模器150可以维护存储知识自动化系统100的用户的用户配置文件的配置文件数据库160。用户建模器150可以用基于用户活动的行为信息增补用户配置文件。通过分析用户配置文件信息,用户建模器150可以将特定用户匹配至该用户可能感兴趣的知识包,并向该用户提供推荐。例如,如果用户查看针对无线网络的知识包的近期历史,则用户建模器模块150可以向该用户推荐针对无线网络的其他知识包。随着用户与系统交互,用户建模器150可以基于用户的行为动态地修改推荐。用户建模器150还可以分析用户进行的搜索结果,以确定搜索结果的有效性成功(例如,用户是否选择并使用了该结果),并识别系统中的潜在知识缺口。在一些实施方案中,用户建模器150可以向内容摄取模块310提供这些知识缺口,以找到有用内容来填充知识缺口。
[0052] 图2例示了描绘根据一些实施方案的可以例如由知识自动化系统执行的处理中的一些的简化流程图200。图2所示的处理可以在由一个或多个处理单元(例如,处理器、内核)、硬件或其组合执行的软件(例如,代码、指令、程序)中实施。软件可以存储在存储器中(例如,在非暂时性的计算机可读存储介质诸如存储器设备上)。
[0053] 流程图200中所例示的处理可以始于内容摄取201。内容摄取201可以包括内容发现202、内容合成204和知识单元生成206。内容摄取201可以在框202处通过执行内容发现以识别并发现一个或多个数据源诸如一个或多个数据储存库处的数据内容(例如,数据文件)来发起。在框204处,对所发现的数据内容进行内容合成,以识别内容中包含的信息。内容合成可以分析数据内容的文本、模式和元数据变量。
[0054] 在框206处,基于合成的内容由数据内容生成知识单元。每个知识单元可以表示覆盖一个或多个相关主题的大量信息。知识单元可以具有不同大小。例如,每个知识单元可以对应于数据文件的一部分(例如,文档的部分)或对应于整个数据文件(例如,整个文档、图像等)。在一些实施方案中,数据文件或多个数据文件的多个部分还可以被合并以生成知识单元。通过实施例,如果整个文档集中于一个特定的主题,则可以生成对应于整个文档的知识单元。如果文档的不同部分集中于不同主题,则可以根据文档的不同部分生成不同的知识单元。单个文档也可以产生为整个文档生成的知识单元以及由文档的多个部分生成的知识单元二者。作为另一实施例,与一个共同主题相关的各种电子邮件线程可以合并为知识单元。然后将生成的知识单元编入索引并存储在可搜索的知识库中。
[0055] 在框208处,对知识单元执行内容分析。内容分析可以包括对知识单元执行语义和语言分析以及/或者语境分析,以推断出该知识单元覆盖的概念和主题。可以提取关键术语(例如,关键词和关键短语),并且可以将每个知识单元与表示该知识单元的内容的关键术语的术语向量关联起来。在一些实施方案中,可以从提取的关键术语识别已命名实体。已命名实体的实例可以包括地名、人名、电话号码、社会保险号、公司名称、日期和时间值等。可以将覆盖类似概念的知识单元聚集、分类并标记为与某个或某些主题相关。还可以执行分类法生成,以导出识别关键术语的公司字典以及如何在企业中使用关键术语。
[0056] 在框210处,由各个知识单元生成知识包。基于关键术语、主题、概念、诸如作者的元数据等的相似度映射,通过将知识单元组合可以自动生成知识包。在一些实施方案中,知识发布者还可以访问在框206处生成的知识单元,以建立自定义知识包。还可以生成表示知识包之间的关系的知识地图,以提供企业内知识语料库的图形表示。
[0057] 在框212处,生成的知识包被映射至可能对该特定知识包感兴趣的知识消费者。可以基于关于用户的信息(例如,用户的头衔、工作职能等)以及学习到的用户与系统交互的行为(例如,用户过去查看并消费过的知识包等)执行该映射。用户映射还可以考虑用户反馈(例如,调整相关感兴趣程度、搜索查询、等级等),以给用户定制未来结果。可以通过在推荐页面上为特定知识消费者展示映射至该特定知识消费者的知识包,将该知识包分配至该知识消费者。
[0058] 图3例示了根据一些实施方案的知识自动化系统300的更详细的框图。知识自动化系统300可以实现为数据处理系统,并且可以包括内容摄取模块310、知识建模器330和用户建模器350。在一些实施方案中,由知识自动化系统300执行的过程可以实时执行。例如,随着对知识自动化系统可用的数据内容或知识语料库变化,知识自动化系统300可以做出实时反应,并调整其服务,以反映修改后的知识语料库。
[0059] 内容摄取模块310可以包括内容发现模块312、内容合成器314和知识单元生成器316。内容发现模块312与一个或多个内容源交互,以发现存储在内容源处的内容,并检索该内容以供分析。在一些实施方案中,可以对已经具有先前存在的内容库的企业部署知识自动化系统300。在这种情况下,内容发现模块312可以爬取或挖掘现有数据文件中的内容库,并检索数据文件以供摄取。在一些实施方案中,可以对内容源进行持续监测,以检测内容的添加、移除和/或更新。当将新内容添加至内容源时或者当先前存在的内容被更新或修改时,内容发现模块312可以检索该新内容或更新的内容,以供分析。新内容可造成生成新知识单元,而更新的内容可造成对受影响的知识单元进行修改和/或生成新知识单元。当从内容源中移除内容时,内容发现模块312可以识别源于该移除内容的知识单元,并将受影响的知识单元从知识库中移除,或者将受影响的知识单元标记为潜在无效或过期。
[0060] 内容合成器314接收由内容发现模块312检索的内容,并将内容进行合成,以提取内容中包含的信息。由内容发现模块312检索的内容可以包括具有不同格式、存储要求等的不同类型的内容。由此,内容合成器314可以将内容转换为通用格式,以供分析。内容合成器314可以识别内容中的关键术语(如,关键词和/或关键短语),确定该关键术语在该内容中出现的频率,并确定该关键术语在该内容中的位置。除了分析在内容中包含的信息以外,内容合成器314还可以提取与该内容相关联的元数据(例如,作者、创建日期、标题、修订历史等)。
[0061] 知识单元生成器314可以随后基于内容中使用的关键术语的模式和与该内容相关联的元数据由该内容生成知识单元。例如,如果关键术语在文档的前三段出现的频率较大,但同一关键术语在该文档的其余部分出现的频率显著较低,则可以提取该文档的前三段并将其形成知识单元。如另一实施例,如果文档通篇分布的关键术语出现的频率较大,则可以将整个文档形成为知识单元。生成的知识单元存储在知识库340中,并基于已识别的关键术语和元数据编入索引,以使得能在知识库340中搜索该知识单元。
[0062] 知识建模器330可以包括内容分析器332、知识库340、知识包生成器334和知识包建立器336。内容分析器332可以对知识单元执行各种类型的分析,以对知识单元中包含的知识进行建模。例如,内容分析器332可以对知识单元执行关键术语提取和实体(例如,名称、公司、组织等)提取,并建立表示关键术语和实体在知识单元中如何使用的关键术语和实体的分类法。内容分析器332还可以对知识单元执行语境分析、语义分析和语言分析,以推断出该知识单元覆盖的概念和主题。例如,可以对知识单元执行自然语言处理,以得到该知识单元覆盖的概念和主题。基于各种分析,内容分析器332可以得到每个知识单元的术语向量,以表示每个知识单元中包含的知识。知识单元的术语向量可以包括与该知识单元相关联的关键术语、实体和日期,与该知识单元相关联的主题和概念,和/或与该知识单元相关联的其他元数据(诸如作者)。利用术语向量,内容分析器332可以在知识单元之间进行相似度映射,以识别覆盖相似主题或概念的知识单元。
[0063] 知识包生成器334可以分析由内容分析器332执行的相似度映射,并通过将相似知识单元组合,自动形成知识包。例如,可以将共享至少五个共同关键术语的知识单元进行组合,以形成知识包。如另一实施例,可以将覆盖相同主题的知识单元进行组合,以形成知识包。在一些实施方案中,知识包可以包括其他知识包或者知识包和知识单元的组合。例如,由一组用户查看和消费的知识包可以组合为一个知识包。生成的知识包可以用其自己的术语向量被标记,以表示知识包中包含的知识,并且该知识包可以存储在知识库340中。
[0064] 知识包建立器336可以提供用户接口,以允许知识发布者创建自定义知识包。知识包建立器336可以向知识发布者呈现可用知识单元列表,以允许知识发布者选择将要包括在知识包中的特定知识单元。以这种方式,知识发布者可以创建针对特定知识消费者的知识包。例如,技术培训员可以创建包含覆盖产品的特定新特征的知识单元的自定义知识包,以培训技术支持人员。自定义知识包也可以被标记并存储在知识库340中。
[0065] 知识库340用于存储知识单元342和知识包344。知识库340可以实施为一个或多个数据存储库。虽然知识库340被示为在知识自动化系统300本地,但在一些实施方案中,知识库340或知识库340的部分可以相对于知识自动化系统300是远程的。在一些实施方案中,被频繁请求或以其他方式高度活跃或有价值的知识单元和/或知识包可以保持在低延时、多冗余的数据存储库中。这使得知识单元和/或知识包在被用户请求时快速可用。不频繁访问的知识单元和/或知识包可以单独存储在较慢的存储库中。
[0066] 可以向每个知识单元和知识包分配用以识别和访问该知识单元或知识包的标识符。在一些实施方案中,为了减少存储器使用,代替在知识库340中存储每个知识单元的实际内容,而是可以存储引用该知识单元的知识单元标识符以及与该知识单元相关联的内容的内容源的位置。以这种方式,当访问某个知识单元时,可以从相应的内容源中检索与该知识单元相关联的内容。对于知识包,可以存储引用该知识包的知识包标识符,以及组成该知识包的知识单元和/或知识包的标识符和位置。因此,可以将特定知识包视为用于组成该特定知识包的知识单元和/或知识包的容器或包装物。在一些实施方案中,知识库340还可以例如以通用数据格式存储知识单元的实际内容。在一些实施方案中,知识库340可以有选择地存储一些内容而不存储其他内容(例如,可以存储新的或频繁访问的知识单元的内容,而过时的或较低频率访问的内容则不存储在知识库340中)。
[0067] 可以根据知识单元中包含的关键术语(例如,可以包括关键词、关键短语、实体、日期等,以及这些在该知识单元中出现的数目)和/或相关联的元数据(例如,作者、诸如URL或内容的标识符的位置、日期、语言、主题、标题、文件或文档类型等),在知识库340中将知识单元342编入索引。在一些实施方案中,与知识单元相关联的元数据还可以包括知识自动化系统300得到的元数据。例如,这可以包括诸如访问控制信息(例如,哪些用户或用户组可以查看该知识单元)、知识单元覆盖的主题和概念、查看并消费过该知识单元的知识消费者、该知识单元是其一部分的知识包、访问时间和频率等信息。存储在知识库中的知识包344可以包括系统自动生成的知识包和/或用户(例如,知识发布者)创建的自定义知识包。针对上述知识包,知识包344也可以以类似方式编入索引。在一些实施方案中,知识包的元数据可以包括知识单元可能不具有的额外信息。例如,这些可以包括类别类型(例如,新闻通讯、电子邮件发送器、培训材料等)、编辑者、目标受众等。
[0068] 在一些实施方案中,术语向量可以与每个知识元素(例如,知识单元和/或知识包)关联。术语向量可以包括与每个知识元素相关联的关键术语、元数据和得到的元数据。在一些实施方案中,代替包括知识元素中存在的所有关键术语,术语向量可以包括该知识元素中预定数量的具有最高出现计数的关键术语(例如,该知识元素中的前五个关键术语等)或具有大于最小出现数目的关键术语(例如,在知识元素中出现超过十次的关键术语等)。
[0069] 用户建模器350可以包括事件追踪器352、事件模式生成器354、配置文件器356、知识缺口分析器364、推荐生成器366和存储知识自动化系统300的每个用户的用户配置文件的配置文件数据库360。事件追踪器352监测用户活动和与知识自动化系统300的交互。例如,用户活动和交互可以包括知识消费信息,诸如用户查看了哪些知识单元或知识包,花费在该知识单元/包上的时长,以及用户何时访问过该知识单元/包。事件追踪器352追踪的用户活动和交互还可以包括用户执行的搜索查询以及用户对搜索结果的响应(例如,同一用户和其他用户执行的类似搜索的数目和频率,用户查看搜索结果花费的时间量,用户有多深入地遍历结果列表,用户访问的结果列表中项目的数目以及在每个项目上花费的时长等)。如果用户是知识发布者,事件追踪器352还可以追踪知识发布者发布的频率,知识发布者何时发布,以及知识发布者发布所属的主题或类别等。
[0070] 事件模式生成器354可以分析事件追踪器352追踪的用户活动和交互,并得到用户或用户组的使用或事件模式。配置文件器356可以分析这些模式并增补存储在配置文件数据库360中的用户配置文件。例如,如果用户有访问关于特定主题的大量知识包的近期历史,配置文件器356可以用该用户对该特定主题感兴趣的指示增补该用户的用户配置文件。对于与搜索查询相关的模式,知识缺口分析器364可以分析搜索查询模式并识别与在知识语料库中可能缺少有用信息的某些主题相关的潜在知识缺口。知识缺口分析器364还可以识别潜在内容源,以填充已识别的知识缺口。例如,可以填充知识缺口的潜在内容源可以是频繁在相关主题下发布的知识发布者、互联网或可以从其获得关于知识缺口主题的信息的一些其他源。
[0071] 推荐生成器366可以提供向知识自动化系统300的知识消费者提供知识包推荐的知识包映射服务。推荐生成器366可以将用户的用户配置文件与知识库340中可用的知识包进行比较,并基于用户的兴趣向该用户推荐可能与该用户相关的知识包。例如,当推出新产品并对于该新产品发布产品培训知识包时,推荐生成器366可以识别属于销售团队的一部分的知识消费者,并向这些用户推荐产品培训知识包。在一些实施方案中,推荐生成器366可以由用户配置文件生成用户签名并由知识元素(例如,知识单元和/或知识包)生成知识签名,并基于用户签名与知识签名的比较进行推荐。例如当发布新的知识包时、当添加新用户时和/或当用户的用户配置文件改变时,可以由推荐生成器366执行分析。
[0072] 图4例示了根据一些实施方案的与知识自动化系统的用户相关联的用户配置文件462。用户配置文件462可以存储在例如用户配置文件数据库中。用户配置文件462可以包括种子配置文件464和增补配置文件472。种子配置文件464可以包括当用户在知识自动化系统中注册或登记时被种子化或提供给系统的关于该用户的信息。例如,种子配置文件464可以包括诸如用户的姓名、用户的位置和/或时区、用户的角色和/或工作职能、用户所属的工作组、用户的经验、用户的专业等信息。种子配置文件464可以包括对于用户通常为静态的且不经常变化的静态配置文件465。例如,诸如姓名、位置和/或时区以及角色和/或工作职能等信息可以是静态配置文件465的一部分。种子配置文件464还可以包括动态配置文件
466,动态配置文件包括可随时间改变的关于用户的种子信息。例如,诸如工作组、经验和专业等信息可以是动态配置文件466的一部分,因为用户的经验和专业可随时间增长,并且用户可以随时间安置在不同的团队。
[0073] 增补配置文件472可以包括知识自动化系统对用户配置文件462修改或添加的关于用户的信息。增补配置文件472可以包括知识自动化系统通过监测用户的活动和与系统的交互随时间而知道的关于用户的信息。增补配置文件472可以包括与种子配置文件464重叠的动态配置文件466。例如,如果用户已消费了关于特定主题的大量知识,则知识自动化系统可以将该主题添加至该用户的种子专业中。如另一实施例,在用户完成一个项目并被安置到不同项目团队时,知识自动化系统可以修改该用户的种子工作组,以反映该改变。
[0074] 增补配置文件472还包括表示用户在知识自动化系统中的使用模式的行为配置文件474。例如,行为配置文件474可以包括诸如用户消费的知识包的主题和/或发布者、用户消费的知识包的类别、用户搜索的关键术语、用户发布的知识包的主题等信息。基于用户的活动和与系统的交互,知识自动化系统可以推断出用户可能感兴趣的特定主题。在一些实施方案中,可以允许用户调整知识自动化系统推断出的用户对主题的感兴趣程度,并且该信息可以包括在行为配置文件474中。
[0075] 在一些实施方案中,知识自动化系统可以将多个用户分组到用户组中。可以基于用户的共同属性形成用户组。例如,同一工作组的用户可以形成到用户组中,或者处于同一位置或时区的用户可以形成到用户组中,等等。在一些实施方案中,可以基于用户的共同行为形成用户组。例如,如果一组用户经常消费关于特定主题的知识包,则这些用户可以形成到用户组中。如另一实施例,如果一组用户经常发布特定类别的知识包,则这些用户可以形成到用户组中。应理解的是用户可以属于不止一个用户组。
[0076] 图5例示了根据一些实施方案的属于用户组575的用户的用户配置文件。用户组575可以包括任意数目的用户,并且可以包括与用户配置文件562-1相关联的用户以及与用户配置文件562-n相关联的用户。用户配置文件562-1和562-n可以具有相应的种子配置文件564-1和564-n。在一些实施方案中,因为这些用户是相同用户组575的一部分,所以知识自动化系统可以基于该组中成员的行为将用户配置文件562-1和562-n增补以在整个用户组上的小组行为配置文件574。例如,如果知识自动化系统确定用户组575中大量成员均对移动设备安全感兴趣,即使与用户配置文件562-1相关联的用户可能没有表现出对该主题的兴趣,仍然可以将用户配置文件562-1(以及组中成员的其他用户配置文件)增补以包括移动设备安全作为用户可能感兴趣的主题,因为该用户是用户组575的一部分。以这种方式,用户组中成员的行为可以参照同一用户组中的其他成员被推断出。这允许知识自动化系统不仅只基于特定用户的活动和交互,而且还基于与该特定用户类似的其他用户的活动和交互向用户进行知识推荐。
[0077] 图6例示了根据一些实施方案的由数据内容形成知识包的示例。在图6所示的实施例中,由知识自动化系统发现的数据内容可以包括结构化文本文件681-1、非结构化文本文件681-2和图像文件681-3。
[0078] 可以部分地基于文档的组织和结构对结构化文本文件681-1进行解析和分析。例如,结构化文本文件681-1可以被组织成三段。知识自动化系统可以分析结构化文本文件681-1,并确定第一段关于有关加利福尼亚州的信息,第二段讨论西海岸的主要城市,而第三段关于有关旧金山市的信息。这种确定可以例如基于关键术语“加利福尼亚”在第一段出现的高频率计数、在第二段出现各种城市名称以及关键术语“旧金山”在第三段出现的高频率计数来进行。基于这种分析,知识自动化系统可以将结构化文本文档681-1分割为单独的段落,并形成针对来自第一段的“加利福尼亚”的知识单元642-1以及针对来自第三段的“旧金山”的知识单元642-2。
[0079] 非结构化文本文件681-2可以包括文档中没有任何明显组织或结构的文本二进制大对象(blob)。知识自动化系统可以对非结构化文本文件681-2执行关键术语分析,并确定文档的第一部分包括关键术语“加利福尼亚”的高频率计数,而文档的第二部分没有任何重复的关键词或关键短语。基于该分析,知识自动化系统可以提取关键术语“加利福尼亚”重复出现的第一部分,并由非结构化文本文件681-2的第一部分形成针对“加利福尼亚”的知识单元642-3。
[0080] 图像文件681-3可以包括词语“旧金山”的图片。知识自动化系统可以对图像文件681-3执行光学字符辨识,并从图片提取关键术语“旧金山”。基于该分析,知识自动化系统可以由图像文件681-3形成针对“旧金山”的知识单元642-4。
[0081] 在生成知识单元642-1、642-2、642-3和642-4后,知识自动化系统可以分析可用的知识单元,并通过组合针对相似主题的知识单元形成知识包。例如,知识自动化系统可以通过组合已被知识自动化系统标记为与主题“旧金山”相关的知识单元642-2和知识单元642-4,形成针对主题“旧金山”的知识包644-1。
[0082] 图7例示了根据一些实施方案的知识库740中的内容的实施例的概念图。知识库740可以存储知识自动化系统的知识语料库,并可以包括知识单元741-1至741-n。可以使用本文描述的内容发现和摄取技术通过知识自动化系统由一个或多个内容源中可用的数据内容生成知识单元741-1至741-n。基于知识单元741-1至741-n之间的相似度映射或者基于来自知识发布者的输入,可以形成知识包744-1至744-4。例如,可以由单个知识单元742-1生成知识包744-1。可以通过组合知识单元742-3和742-4生成知识包744-2。可以通过组合知识单元742-1和742-4至742-n生成知识包744-3。可以通过组合知识包744-2和744-3生成知识包744-4。
[0083] 如该实施例所例示的,单个知识单元(例如,知识单元742-1)可以是多个知识包(例如,知识包744-1和744-3)的一部分。知识包(例如,知识包744-1)可以包括单个知识单元(例如,知识单元742-1)。知识包(例如,知识包744-2)还可以包括不止一个知识单元(例如,知识单元742-3和742-4)。知识包(例如,知识包744-4)可以包括其他知识包(例如,知识包744-2和744-3)。在一些实施方案中,知识包还可以包括一个或多个知识单元与一个或多个知识包的组合。
[0084] II.内容发现、摄取和分析
[0085] 数据内容可以有许多不同的形式。例如,数据内容(可以称为“数据文件”)可以是文本文件、电子表格文件、演示文件、图像文件、媒体文件(例如,音频文件、视频文件等)、数据记录文件、通信文件(例如,电子邮件、语音留言等)、设计文件(例如,计算机辅助设计文件、电子设计自动化文件等)、网页、信息或数据管理文件、源代码文件等。由于对用户可用的大量数据内容,找到具有对用户重要的内容的正确数据文件可能是具有挑战性的。用户可以在企业储存库中搜索关于特定主题的数据文件。然而,搜索可能返回大量数据文件,其中对用户有意义的内容可能分布在不同数据文件中,而搜索结果中包括的一些数据文件可能相关性很小。例如,搜索结果中可能包括提到主题一次的数据文件,但该数据文件中的内容与搜索的主题关系不大。因此,为了找到满足用户需要的有用的内容,用户可能不得不查看大量数据文件。
[0086] 根据一些实施方案的知识建模系统可以用于从不同内容源发现并收集数据内容,并将数据内容组织成包以供用户消费。可以从不同的储存库发现数据内容,并且可以将不同格式的数据内容转换为标准化的通用格式以供消费。在一些实施方案中,知识自动化系统发现的数据内容可以分为单独的可渲染(renderable)部分。数据内容的每个部分均可以被称为知识单元并存储在知识库中。在一些实施方案中,每个知识单元可以与关于该知识单元的信息(诸如表示该知识单元中的内容的关键术语以及诸如内容性质、作者、时间戳等元数据)相关联。彼此相关(例如,覆盖类似主题)的知识单元可以结合在一起以形成知识包。通过向用户提供这种知识包以供消费,可以减少用户查找和查看数据内容所花费的时间和精力。此外,知识包可以存储在知识库中并被提供给可能对类似主题感兴趣的其他用户。因此,可以对数据内容的固定集合执行一次内容发现和摄取,并且可能仅在添加新数据内容或者修改现有数据内容时才需要重复执行内容发现和摄取。
[0087] 图8例示了根据一些实施方案的可以在知识自动化系统中实施的内容合成器800的框图。内容合成器800可以处理已发现的数据文件中的内容,并基于该数据文件中包含的信息形成知识单元。可以由整个数据文件、数据文件的一部分、和/或数据文件的不同的连续部分和/或非连续部分的组合生成知识单元。数据文件还可以造成由该数据文件生成多个知识单元。例如,可以由整个数据文件生成知识单元,并且可以由该同一数据文件的不同部分或不同部分的组合生成多个知识单元。
[0088] 可以通过爬取或挖掘知识自动化系统能访问的一个或多个内容储存库来发现向内容合成器800提供的数据文件。内容合成器800可以包括内容提取器810和索引生成器840。内容提取器810可以从数据文件中提取信息,并将信息组织为知识单元。索引生成器
840用于根据提取的信息将知识单元编入索引。
[0089] 内容提取器810可以处理各种不同形式的数据文件,并将数据文件转换为通用的标准化格式。例如,内容提取器810可以使所有数据文件标准化并将其转换为可移植文档格式。如果数据文件包括不同语言的文本,则可以将语言翻译为通用语言(例如,英语)。可以将数据文件诸如文本文档、电子表格文档、演示文稿、图像、数据记录等从其原生格式转换为可移植文档格式。对于诸如音频文件的媒体文件,可以对音频进行转录,并且转录文本可以转换为可移植文档格式。可以将视频文件转换为一系列图像,并且可以将图像转换为可移植文档格式。如果数据文件包括图像,可以对图像进行光学字符辨识(OCR)提取816,以提取图像中出现的文本。在一些实施方案中,还可以对图像进行对象辨识,以识别图像中描绘的对象。
[0090] 在一些实施方案中,数据文件可以是可包括在文档中缺少组织或结构的内容的非结构化文档形式(例如,文本二进制大对象)。在这种情况下,内容提取器810可以执行非结构化内容提取812,以得到非结构化文档中包含的信息的关系。例如,内容提取器810可以识别文档中使用的关键术语(例如,在文档中多次出现的关键词或关键短语)以及该关键术语在文档中的位置,并提取该文档中具有高度集中的某一关键术语的部分。例如,如果关键术语在文档的前三十行中反复使用,但在文档的其余部分未出现或出现频率较低,则可以将该文档的前三十行从该文档中提取出来并形成单独的知识单元。
[0091] 对于结构化文档,可以执行相似关键术语分析。此外,可以将文档的组织和结构考虑在内。例如,可以将文档中具有不同关键术语集中的不同部分或段落从文档中提取出来,并形成单独的知识段,并且可以由这些知识段形成知识单元。因此,对于结构化文档,如何分割文档以形成知识单元可以部分地基于文档中内容已如何划分。
[0092] 除了提取在数据文件中包含的信息,内容提取器810还可以执行元数据提取814,以提取与数据文件相关联的元数据。例如,可以提取与数据文件相关联的元数据,诸如作者、日期、语言、主题、标题、文件或文档类型、存储位置等,并将所述元数据与由该数据文件生成的知识单元关联起来。这允许例如在知识单元是由数据文件的多个部分形成的情况下,保存数据文件的元数据并将其传送到知识单元。
[0093] 索引生成器840可以对发现的数据文件和/或由其生成的知识单元执行索引创建842和访问控制映射844。索引创建842可以为每个数据文件和/或知识单元创建词和/或短语在数据文件和/或知识单元中出现的计数(例如,出现频率)。索引创建842还可以将每个词和/或短语与该词和/短语在数据文件和/或知识单元中的位置关联起来(例如,表示在数据文件的开头与感兴趣的词或短语之间的词的数目的偏移值)。
[0094] 访问控制映射844可以提供哪些用户或用户组可以访问特定数据文件的映射(例如,读权限、写权限等)。在一些实施方案中,可以基于与数据文件或数据文件中的内容相关联的元数据自动执行该映射。例如,如果文档包括在该文档中的词“机密”,则对文档的访问可以限于管理员。在一些实施方案中,为了提供更精细的粒度,可以对每个知识单元执行访问控制映射844。在一些情况下,用户可以访问文档的一部分,但无法访问文档的其他部分。
[0095] 图9例示了根据一些实施方案的可以在知识自动化系统中实施的内容分析器900的框图。内容分析器900可以分析生成的知识单元,并确定知识单元之间的关系。内容分析器900可以执行关键术语提取912、实体提取914、分类法生成920以及语义分析940。在一些实施方案中,内容分析器900可以基于分析得到每个知识单元中表示内容的术语向量,并将该知识单元与该术语向量关联起来。
[0096] 关键术语提取912可以用于提取知识单元中出现的关键术语(例如,关键词和/或关键短语),并确定知识单元中使用最频繁的关键术语(例如,前十、前二十等)。在一些实施方案中,关键术语提取912可以将对知识单元执行的语义分析考虑在内。例如,知识单元中出现的代词可以被映射回该代词指代的术语,并计为该术语的出现。除了提取关键术语,内容分析器900还可以对知识单元中出现的或与该知识单元相关联的实体执行实体提取914。这种实体可以包括人、地点、公司和组织、知识单元的作者或贡献者等。在一些实施方案中,还可以提取知识单元中出现的日期或与该知识单元相关联的日期。根据该信息,内容分析器900可以得到每个知识单元的术语向量,以表示每个知识单元中的内容。例如,术语向量可以包括知识单元中使用最频繁的关键术语、与该知识单元相关联的实体和/或日期,和/或与该知识单元相关联的元数据。
[0097] 内容分析器900对知识单元执行的语义分析940可以包括概念聚类生成942、主题建模944、相似度映射946和自然语言处理948。概念聚类生成942可以识别知识单元覆盖的彼此相似的概念或主题,并将相关的概念或主题聚集或集合在一起。在一些实施方案中,概念聚类生成942可以形成相关概念的主题层级。例如,诸如“青少年吸烟”、“烟草行业”和“肺癌”的主题可以组织在“吸烟”的较广泛的主题下。
[0098] 主题建模944用于识别每个知识单元覆盖的关键概念和专题,并得到知识单元的概念标签。在一些实施方案中,具有高出现频率的关键术语(例如,出现超过预定阈值数目的关键术语,诸如出现超过一百次的关键术语)可以用作概念标签。在一些实施方案中,主题建模944可以以语境和语义方式得到概念标签。例如,假设知识单元中使用了术语“航空公司”和“航站楼”,但这些术语并未彼此相邻出现在知识单元中。主题建模944仍然可以确定“航空公司航站楼”是该知识单元覆盖的主题,并将该短语用作概念标签。可以例如通过将一个或多个概念标签包括在知识单元的术语向量内,来用该知识单元覆盖的一个或多个概念为该知识单元作标记。
[0099] 相似度映射946可以确定知识单元与其他知识单元的相似程度如何。在一些实施方案中,知识单元距离度量可以用于进行这种确定。例如,可以将与知识单元相关联的术语向量建模为n-维向量。可以将每个关键术语或关键术语组建模为一个维度。可以将关键术语或关键术语组的出现频率建模为另一维度。可以将知识单元覆盖的一个或多个概念建模为又一维度。其他元数据诸如知识单元的作者或源可以各自被建模为其他维度等。因此,每个知识单元均可以被建模为在n-维空间内的向量。然后可以通过计算n-维空间中表示两个知识单元的两个向量的端点之间的欧几里得(Euclidean)距离来确定这两个知识单元之间的相似度。在一些实施方案中,某些维度可以与其他维度不同地加权。例如,表示知识单元中关键术语的维度可以比表示欧几里得距离计算中的元数据的维度被更大地加权(例如,通过将该关键术语维度的乘法因数包括在欧几里得距离计算中)。在一些实施方案中,还可以掩盖知识单元的某些属性(例如,作者等),使得底层的属性不被包括在欧几里得距离计算中。
[0100] 自然语言处理948可以包括对知识单元中使用的内容和词进行语言处理和词性处理(例如,动词对名词等),以及对这些词进行标记。自然语言处理948可以提供关于术语在知识单元中如何使用的语境。例如,自然语言处理948可以用于识别代词和代词所指代的词或短语。自然语言处理948还可以过滤掉内容分析器900可能忽略的冠词,诸如“a(一或一个)”和“the(该或所述)”。还可以将术语的不同形式(例如,过去式、现在式等)标准化为其原形。首字母缩略词也可以转换为其扩展形式。
[0101] 在一些实施方案中,基于提取的关键术语和实体以及语义分析,内容分析器900还可以执行分类法生成920,以形成公司字典。分类法生成920可以识别知识语料库中常用的术语以及每个术语是如何使用的。例如,分类法生成920可以将每个术语链接至使用该术语的知识单元的片断。在一些实施方案中,分类法生成920还可以创建相关术语的层级。例如,术语“吸烟”可以链接至公司字典中的其他术语,诸如“青少年吸烟”、“烟草行业”和“肺癌”。
[0102] 图10例示了根据一些实施方案的可以由知识自动化系统执行的内容发现和摄取过程1000的流程图。过程1000可以在框1002处通过从一个或多个内容储存库发现数据文件开始。可以例如通过爬取或挖掘知识自动化系统可访问的一个或多个内容储存库来发现数据文件。在一些实施方案中,还可以通过监测该一个或多个内容储存库以检测对存储在该一个或多个内容储存库中的内容添加新内容或进行修改来发现数据文件。
[0103] 在框1004处,发现的数据文件可以转换为通用数据格式。例如,文档和图像可以转换为可移植文档格式,并且可以对数据文件执行光学字符辨识,以识别该数据文件中包含的文本。可以对音频文件进行转录,并且转录文本可以转换为可移植文档格式。还可以将视频文件转换为一系列图像,并且可以将该系列图像转换为可移植文档格式。
[0104] 在框1006处,过程1000可以识别已发现的数据文件中的关键术语。关键术语可以是关键词或关键短语。在一些实施方案中,关键术语可以指代实体,诸如人、公司、组织等。例如,如果术语在数据文件的内容中反复使用,可以将词或短语识别为关键术语。在一些实施方案中,可以设置最小出现阈值数目(例如,五次出现),并且可以将数据文件中出现超过该最小出现阈值数目的术语识别为关键术语。在一些实施方案中,还可以将与数据文件相关联的元数据识别为关键术语。例如,可以将数据文件的标题或文件名中的词或短语识别为关键术语。
[0105] 在框1008处,对于已识别关键术语中的每个,确定该关键术语在相应数据文件中的出现频率。关键术语的出现频率可以是该关键术语在数据文件中出现的次数的计数。在一些实施方案中,取决于关键术语在数据文件中出现在何处,可以给予该关键术语的出现额外的权重。例如,在数据文件的标题中出现的关键术语可以计为两次出现。在一些实施方案中,可以识别用作关键术语的替代的代词或其他词并将其关联回到包括在计数中的关键术语。
[0106] 在框1010处,对于已识别关键术语中的每个,确定该关键术语每次出现的位置。在一些实施方案中,位置可以被表示为从文档的开头至该关键术语出现处的偏移。例如,位置可以被表示为从文档的开头至关键术语的出现之间的词计数。在一些实施方案中,还可以使用页数、行数、段数、栏数、网格坐标等或者这些的任意组合。
[0107] 在框1012处,过程1000基于关键术语在数据文件中的已确定的出现频率和已确定的位置由数据文件生成知识单元。在一些实施方案中,可以针对数据文件中预定数目的最频繁出现的关键术语或者在数据文件中具有出现频率在预定阈值数目以上的关键术语生成知识单元。举例来说,可以确定关键术语的第一次和最后一次出现,并且可以将包括该关键术语的第一次和最后一次出现的数据文件的部分提取出来并将其形成到知识单元中。在一些实施方案中,关键术语在数据文件中的分布的统计分析可以用于提取与该关键术语相关的数据文件的最相关的部分。例如,可以将数据文件具有关键术语的集中度在阈值计数以上的不同部分提取出来,并且可以将这些不同部分组合到知识单元中。组合到知识单元中的部分可以包括连续部分和/或非连续部分。因此,数据文件可以分割成单独的部分或知识段,并且可以通过组合不同部分或知识段来形成知识单元中的一个或多个。对于包括非结构化内容的数据文件,可以基于关键术语在数据文件中的出现位置对数据文件进行分割。对于结构化数据文件,可以基于数据文件的组织执行分割(例如,在段落的末尾、部分的末尾等处分割)。应注意的是,在一些实施方案中,还可以由整个数据文件形成知识单元。
[0108] 在框1014处,过程1000可以将生成的知识单元存储在数据存储库(例如,知识库)中。在一些实施方案中,每个知识单元均可以被分配有可用于引用数据存储库中的该知识单元的知识单元标识符。知识单元中的每个还可以与包括与该相应知识单元相关联的一个或多个关键术语的术语向量相关联。术语向量中可包括的额外信息可以包括元数据,诸如知识单元的作者或源、知识单元在一个或多个内容储存库中存储的位置、得到的元数据诸如与知识单元相关联的一个或多个主题等。
[0109] 图11例示了根据一些实施方案的可以由知识自动化系统对生成的知识单元执行的内容分析过程1100的流程图。过程1100可以在框1102处始于选择生成的知识单元。可以例如通过迭代过程随机选择知识单元,或者在新知识单元生成时选择知识单元。
[0110] 在框1104处,过程1100在选择的知识单元与知识库中可用的其他知识单元之间执行相似度映射。过程1100可以使用知识单元距离度量,诸如欧几里得距离计算,以确定知识单元之间的相似度的量。举例来说,与每个知识单元相关联的术语向量可以建模为n-维向量,而表示知识单元的向量的端点之间的在n-维空间中的欧几里得距离可以用于表示知识单元之间的相似度的量。
[0111] 在框1106处,可以识别与选择的知识单元相似的一个或多个知识单元。例如,如果知识单元与选择的知识单元之间的知识单元距离度量(例如,欧几里得距离)在预定阈值距离之下,则可以将该知识单元识别为与选择的知识单元相似。在一些实施方案中,可以调整该阈值距离,以调整找到的相似知识单元的数目。
[0112] 在框1108处,选择的知识单元与识别的一个或多个相似知识单元可以被结合并形成知识包。然后在框1110处可以将知识包存储在数据存储库(例如,知识库)中,以供知识消费者消费。在一些实施方案中,每个知识包均可以被分配有可以用于引用在数据存储库中的该知识单元的知识包标识符。知识包中的每个还可以与包括与该相应知识包相关联的一个或多个关键术语的术语向量相关联。在一些实施方案中,由于知识包可以具有大量的关键术语,所以知识包术语向量中包括的关键术语可以限制为预定数目的最频繁出现的关键术语(例如,前二十个关键术语、前五十个关键术语等)。术语向量中可包括的额外信息可以包括元数据和得到的元数据,诸如与知识包相关联的一个或多个主题、该知识包所属的类别等。
[0113] 图12例示了根据一些实施方案的知识自动化系统的知识语料库的图形表示的实施例。图12所示的图形表示可以称为气泡图1200。气泡图1200中的每个圆圈或气泡均可以表示知识自动化系统已识别的关键术语或主题。圆圈或气泡的大小表示每个关键术语或主题可用的内容量。知识自动化系统可以生成气泡图1200,并将其显示在图形用户界面上以供用户查看。在一些实施方案中,用户可以参考气泡图1200来确定每个关键术语或主题可用的知识有多少。
[0114] 图13例示了根据一些实施方案的知识自动化系统可以生成的知识地图1300的图形表示的示例。可以向用户显示知识地图,以提供知识自动化系统中可用知识之间的关系的图形表示。知识地图1300上的每个气泡均可以表示一个知识包(例如,KP)。知识包气泡基于知识包之间的概念相似度被集合在一起,以形成知识包聚类(例如,CC1、CC2)。每个知识包聚类均可以是概念组(例如CG1、CG2、CG3)的一部分,或者可以是单独的聚类。概念组可以关联至根主题,并且每个知识包聚类可以关联至子主题。知识地图1300可以表示知识包的聚类彼此如何相似或相关以及聚类可以如何彼此重叠。例如,在图13所示的知识地图1300上,概念组CG1可以关联至主题“吸烟”,而概念组CG2可以关联至主题“癌症”。知识组聚类C1是概念组CG1的子主题。例如,知识组聚类C1可以关联至主题“青少年吸烟”,“青少年吸烟”是“吸烟”的子主题。知识组聚类C2是与概念组CG1和CG2二者重叠的子主题。例如,知识组聚类C2可以关联至主题“肺癌”,“肺癌”是“吸烟”和“癌症”二者的子主题。
[0115] III.知识至用户的映射
[0116] 在一些实施方案中,知识自动化系统可以提供知识映射服务,以在向系统添加新用户和/或新知识时将知识消费者自动地映射至相关知识。知识映射服务还可以动态更新知识映射,例如,通过添加或移除知识消费者,以适应用户角色或用户行为的变化。以这种方式,可以在正确的时间向正确的用户提供相关知识,而无需进行手动匹配或纠正。自动知识映射服务还可以减少为用户找到相关信息所需的时间(例如,通过为用户省去手动搜索相关信息的需要)。另外,通过标定与知识消费者最相关的知识,自动知识映射服务可以避免使用户过度承载太多信息,过度承载会导致即使在已经向用户提供了相关知识时他们仍错过该相关知识。
[0117] 在一些实施方案中,可以使用知识签名和用户签名执行知识映射。知识自动化系统可以在系统中对每个知识元素(例如,知识单元或知识包)生成知识签名。在一些实施方案中,可以将与知识元素相关联的术语向量用作知识签名。知识自动化系统还可以对系统的每个知识消费者生成用户签名。在一些实施方案中,用户签名可以基于用户配置文件信息,诸如关于用户的行为配置文件信息(例如,与系统中的用户活动和交互相关的信息,诸如知识消费者已消费的或定期消费的知识)和/或关于用户的种子配置文件信息(例如,当用户注册或登记时提供给系统的信息)。每当生成新知识包或由知识发布者发布新知识包,或者每当知识单元由添加至系统的新内容生成,知识自动化系统都可以将新知识元素的知识签名与系统用户的用户签名进行自动比较,以确定可能对该新知识元素感兴趣的匹配知识消费者。
[0118] 在一些实施方案中,可以在知识映射期间应用访问控制规则。例如,如果知识消费者与知识元素匹配,则系统可以确定该知识消费者是否属于可以访问该知识元素的用户类别或用户组。如果是,则可以向该知识消费者推荐该知识元素。然而,如果限制用户消费该知识元素并且会违反访问权限,则不向用户推荐该知识元素。
[0119] 在一些实施方案中,当首次向系统添加知识消费者时,知识消费者可以被分配空白的用户签名。在一些实施方案中,可以向用户签名添加种子配置文件信息(例如,工作职能、工作组、位置等),以生成初始用户签名。还可以收集诸如知识消费者的兴趣的额外信息,并将其添加作为初始用户签名的一部分。在知识消费者查看并消费知识包和/或知识单元时,可以从已消费知识元素提取关键术语并将其添加至用户签名。在一些实施方案中,如果同一关键术语与知识消费者消费的多个知识包或知识单元相关联,则可以相应地增加该关键术语的权重。
[0120] 知识消费者随时间可以潜在地查看许多不同的知识元素,这可能造成较长的用户签名。因此,在一些实施方案中,可以对用户签名进行优化,以维持预定数目的前几个关键术语(例如,前一百个关键术语),同时摒弃任何剩余的关键术语。在一些实施方案中,用户签名中关键术语的数目可以基于用户的角色、用户与组织的雇用历史或其他用户特定度量等变化。
[0121] 然后知识自动化系统可以向用户签名和知识签名应用匹配算法。例如,在一些实施方案中,可以提供提高两个签名中出现的每个匹配术语的匹配度的匹配算法,并且可以将匹配度的一个或多个阈值设置成指示是否在知识消费者和知识单元/包之间已经找到了匹配结果。在一些实施方案中,可以调整匹配度阈值,以找出较少或较多的匹配结果。
[0122] 在一些实施方案中,可以通过对与知识元素(例如,用户评论、用户等级等)相关联的元数据的分析增强知识匹配服务。例如,如果对于与特定知识消费者匹配的知识元素的用户等级较低,则可以不向该用户推荐该知识元素。
[0123] 在一些实施方案中,知识消费者可以超驰控制知识自动化系统并调整关键术语在用户签名中的权重。通过调整给予关键术语的权重,知识消费者可以调整对该关键术语的感兴趣程度,以细化并裁剪系统提供的知识推荐。在一些实施方案中,还可以接收到通过自动知识映射提供的推荐的相关性的用户反馈。如果根据知识消费者指示的,推荐是相关的,则知识匹配算法可以增加与推荐的知识元素相关联的关键术语的权重。如果知识消费者指示推荐的知识元素不相关,则可以减少这些关键术语的权重。这提供用于细化系统给出的未来推荐的反馈回路。
[0124] 通过图形用户界面可以向用户提供由知识映射服务提供的知识推荐。例如,可以向知识消费者显示知识推荐列表,并且可以基于知识的新鲜度和匹配程度排列知识推荐列表(例如,可以首先显示较新的知识元素和具有较高匹配程度的知识元素)。
[0125] 图14例示了根据一些实施方案的可以由知识自动化系统执行的知识映射过程1400的流程图。过程1400可以在框1402处始于对知识自动化系统可用的每个知识元素(例如,每个知识单元和/或知识包)生成知识签名。在一些实施方案中,可以将与知识元素相关联的术语向量用作知识签名。
[0126] 在框1404处,对知识自动化系统的用户(例如,知识消费者)生成用户签名。用户签名可以基于用户的用户配置文件生成,并且可以包括行为用户配置文件信息,诸如用户已消费的知识元素的关键术语以及这些知识元素的作者或发布者。用户签名还可以包括种子信息,诸如用户的工作职能和角色。用户签名还可以包括关于用户所属用户组中其他用户的活动的增补配置文件信息(例如,由用户组中其他用户消费的知识元素的关键术语)。
[0127] 在框1406处,将每个知识元素的知识签名与用户签名进行比较。所述比较可以基于表示两个签名中出现的共同关键术语的计数的匹配度。在一些实施方案中,可以给予某些关键术语比其他关键术语更大的权重(例如,基于用户对关键术语的感兴趣程度的调整)。在框1408处,基于在框1406处执行的比较确定推荐给用户的潜在知识元素。例如,可以将具有在预定阈值度以上的匹配度的知识元素确定为推荐给用户的潜在知识元素。在一些实施方案中,可以调整该阈值度以调整找到的匹配结果的数目。
[0128] 在框1410处,对潜在知识元素进行过滤,以识别与用户最相关或对用户最有用的知识元素。可以使用一个或多个过滤标准。例如,可以过滤掉长于一定时期的过时知识元素,以及/或者可以过滤掉用户等级或查看人数(viewership)低于阈值量的知识元素。在框1412处,过程1400推荐与用户最相关或对用户最有用的已识别知识元素。例如,知识自动化系统可以在图形用户界面的推荐页上向用户显示已识别知识元素的列表。
[0129] 图15例示了根据一些实施方案的用户对已识别内容1502的感兴趣程度的图和用于调整感兴趣程度1504的图形用户界面。如图15所示,可以基于用户的活动对用户兴趣进行建模。例如,知识自动化系统可以基于与用户已消费的知识元素相关联的主题、类别和/或关键术语以及/或者用户定期关注的作者或发布者来确定用户的兴趣。例如,如果用户访问并查看某一知识发布者发布的知识包,则用户模型将反映出对该发布者的兴趣。类似地,可以基于内容的类别对兴趣进行建模。例如,如果用户频繁访问并消费工程类别中的知识包,则用户模型将反映出对工程材料的兴趣。还可以例如基于关键术语对用户消费的知识元素进行分析,以识别用户感兴趣的其他维度。除了基于用户的用户配置文件自动识别用户的兴趣以外,还可以向用户提供图形用户界面1504,以手动调整用户对知识自动化系统识别的用户兴趣的感兴趣程度。图15所示的滑动条允许用户可以手动调整其感兴趣程度。可以将调整后的感兴趣程度考虑在内,以改善知识自动化系统执行的知识映射。例如,如果用户将对兴趣的感兴趣程度调整为“不感兴趣”,则可以降低匹配算法中使用的该关键术语的权重或者排除该关键术语。如果用户将对兴趣的感兴趣程度调整为“非常感兴趣”,则可以增加匹配算法中使用的该关键术语的权重。
[0130] IV.知识包创建
[0131] 在一些实施方案中,用户(例如,知识发布者)可以从选择的知识单元自定义建立知识包,并将该自定义知识包发布给其他用户(例如,知识消费者)以供消费。知识发布者可以将知识包设定为针对特定的知识消费者。然而,仅仅依靠知识发布者了解针对的是哪些知识消费者可能导致不准确的结果。例如,知识发布者可能不知道可对该自定义知识包感兴趣的一些用户,或者知识发布者可能在知识消费者不感兴趣时假设该知识消费者会感兴趣。因此,根据一些实施方案的知识自动化系统可以在知识包创建过程期间向知识发布者提供自适应反馈,以自动识别并建议可能对建立的知识包感兴趣的知识消费者。随着知识发布者向知识包添加知识单元,可以添加或移除该知识包的目标知识消费者。在一些实施方案中,知识自动化系统还可以动态建议知识包应如何分类的一种或多种类别。
[0132] 图16例示了根据一些实施方案的在知识包的创建期间由知识自动化系统提供的自适应反馈的概念图。目标知识包1610是由知识发布者正在建立的知识包。最初,目标知识包1610不包含任何内容。知识发布者可以将目标知识包1610与某些元数据和发布者偏好关联起来,所述元数据诸如目标知识包1610的标题,所述发布者偏好诸如由知识发布者识别的一个或多个目标知识消费者的初始集合,和/或用于分类由知识发布者定义的目标知识包的一个或多个目标类别的初始集合等。
[0133] 要建立目标知识包1610,知识发布者可以从可用知识单元的集合(例如,存储在知识库中的知识单元)选择知识单元1612用于添加至目标知识包1610中。当知识自动化系统检测到用于添加至目标知识包1610的选择的知识单元1612时,知识自动化系统可以计算在选择的知识单元1612与剩余可用知识单元中的每个之间的知识单元距离度量。如果之前已计算过知识单元距离度量,则可以代替地检索该之前已计算的知识单元距离度量。在选择的知识单元1612与剩余可用知识单元之间的知识单元距离度量可以基于选择的知识单元1612的内容和/或元数据与剩余可用知识单元的内容和/或元数据的比较。
[0134] 在一些实施方案中,知识单元距离度量可以是例如计算的在选择的知识单元1612的术语向量与剩余可用知识单元的术语向量之间的欧几里得距离。例如,可以将与知识单元相关联的术语向量建模为n-维向量。可以将每个关键术语或关键术语的组建模为一个维度。可以将关键术语或关键术语的组的出现频率建模为另一维度。可以将知识单元覆盖的一个或多个概念建模为又一维度。诸如知识单元的作者或源的其他元数据可以各自被建模为其他维度等。因此,每个知识单元可以被建模为在n-维空间内的向量。然后可以通过计算表示两个知识单元的两个向量的端点之间的在n-维空间中的欧几里得距离来确定两个知识单元之间的知识单元距离度量。在一些实施方案中,某些维度可以与其他维度不同地加权。例如,表示知识单元中的关键术语的一个或多个维度可以比表示欧几里得距离计算中的元数据的维度的加权更重。在一些实施方案中,还可以掩盖术语向量中的知识单元的某些属性(例如,作者等),使得底层的属性不包括在欧几里得距离计算中。
[0135] 基于知识单元距离度量,可以确定被认为与选择的知识单元1612相似的一个或多个相关知识单元的集合。例如,具有远离选择的知识单元的预定阈值距离之下的知识单元距离度量的知识单元可以视为与选择的知识单元相似,并因此被确定为相关知识单元。在图16中,知识单元1622至1627可能具有在相应知识单元与选择知识之间的低于阈值距离的知识单元距离度量,因此知识单元1622至1627被识别为与选择的知识单元1612相似的相关知识单元。
[0136] 在已经确定哪些知识单元与选择的知识单元161相似后,对于相关知识单元1622-1627中的每个,知识自动化系统确定该相关知识单元是其一部分的一个或多个知识包。参考图16所示的实施例,知识单元1622是知识包1632的一部分;知识单元1623是知识包1634的一部分;知识单元1624是知识包1632的一部分;知识单元1625是知识包1634的一部分;知识单元1625是知识包1634和1636的一部分;知识单元1626是知识包1634的一部分;而知识单元1627是知识包1636的一部分。因此,由知识自动化系统识别知识包1632、1634和1636。
[0137] 接下来,识别之前已消费过已识别的知识包1632、1634和1636中的一个或多个的知识消费者。在图16所示的实施例中,知识包1632已由知识消费者A1、A2和A6消费过;知识包1634已由知识消费者A2至A5消费过;而知识包1636已由知识消费者A5至A7消费过。因此,由知识自动化系统识别知识消费者A1至A7。
[0138] 然后基于每个已识别知识消费者已消费的已识别知识包1632、1634和1636的数目对已识别知识消费者A1至A7进行排序。参考图16,知识消费者A2、A5和A6排序最高,因为这些知识消费者中的每个均消费过已识别知识包中的两个。知识消费者A1、A3、A4和A7排序第二,因为这些知识消费者中的每个均只消费过已识别知识包中的仅一个。根据知识消费者的排序列表,知识自动化系统可以确定目标知识包1610的一个或多个建议的知识消费者。例如,可以将多个排序最高的知识消费者(例如,排序前五的知识消费者)确定为建议的知识消费者,或者可以将已消费多于已识别知识包的阈值数目的知识消费者确定为建议的知识消费者。可以向知识发布者呈现建议的知识消费者列表,以将其考虑用于添加作为目标知识包1610的目标受众。
[0139] 在图16所示的实施例中,已识别知识包1632、1634和1636的集合是知识单元1622至1627中每个是其一部分的知识包的集合的合集,并且不包括任何重复。在一些实施方案中,代替形成移除重复知识包的合集,而是可以将包含多个相关知识单元的已识别知识包计数不止一次。例如,已识别知识包1632包含两个相关知识单元1622和1624,并且因此代替将已识别知识包1632计为其知识消费者A1、A2和A6已消费过的仅一个已识别知识包,而是可以将已识别知识包1632计为其知识消费者A1、A2和A6已消费过的两个已识别知识包。
[0140] 随着知识发布者建立目标知识包1610,由知识自动化系统提供的建议的知识消费者列表可变化。当选择第二知识单元用于添加至目标知识包1610中时,可以对第二知识单元执行类似的分析,以识别相关知识单元、其关联的知识包以及之前已消费过所识别的知识包的知识消费者。为添加至目标知识包1610的第二知识单元识别的知识消费者可以与为知识单元1612识别的那些知识消费者一起排序,以确定向知识发布者推荐的建议的知识消费者的集合,并且每次向目标知识包1610添加新知识单元时都可以执行该过程。
[0141] 可以为添加的每个知识单元单独地执行对于添加至目标知识包的知识包的识别知识消费者的分析。因此,在一些实施方案中,对知识单元执行的分析可以被存入缓存,使得无需在每次向目标知识包1610添加额外的知识单元时重复对该知识单元执行分析。在一些实施方案中,代替将为添加至目标知识包1610的每个知识单元识别的知识消费者分离出来,而是可以为添加至目标知识包1610的每个知识单元形成相关知识单元合集或已识别知识包合集。这会移除在添加至目标知识包1610的所有知识单元中的重复的相关知识单元或重复的已识别知识包,并且可以根据移除重复项后所得的合集确定对知识消费者的识别。
[0142] 图17例示了根据一些实施方案的在知识包的创建期间由知识自动化系统提供的自适应反馈的另一概念图。在图16所示的实施例中,通过识别与添加至目标知识包的知识单元相似的相关知识单元,为目标知识包确定建议的知识消费者的自适应反馈。在一些实施方案中,除了使用相关知识单元,还可以基于与建立的目标知识包相似的知识包确定建议的知识消费者。图17例示了该方法的一个实施例。
[0143] 除了上述对添加至目标知识包1610的选择的知识单元1612执行的分析以外,知识自动化系统还可以通过比较目标知识包1610的元数据(例如,标题、发布者等)与已发布知识包的元数据(例如,标题、发布者等)来为系统中的每个已发布知识包计算在目标知识包1610与已发布知识包之间的知识包距离度量。基于知识包距离度量,可以确定一个或多个相关知识包的集合。例如,如果计算的在目标知识包与已发布知识包之间的知识包距离度量在阈值距离之下,则将该已发布知识包确定为相关知识包。参考图17所示的实施例,将已发布知识包1642和1644确定为与目标知识包1610相关的知识包。
[0144] 根据相关知识包1642和1644,识别知识消费者的第二集合,该第二集合中的每个知识消费者均是相关知识包1642和1644中至少一个的知识消费者。在图17所示的实施例中,相关知识包1642的已识别知识消费者为知识消费者A3和A5,而相关知识包1644的已识别知识消费者为知识消费者A3、A5和A6。然后可将已识别知识消费者的第二集合与从相关知识单元分析中已识别的知识消费者一起进行排序,以对于目标知识包1610确定建议的知识消费者。
[0145] 在图17所示的实施例中,知识消费者A5排序第一,因为知识消费者A5已经消费了最高数目的已识别和相关知识包(例如,知识包1634、1636、1642和1644)。知识消费者A3和A6排序第二,因为他们已经消费了第二最高数目的已识别和相关知识包(例如,对于知识消费者A3为知识包1634、1642和1644,对于知识消费者A6为知识包1632、1636和1644),依此类推。
[0146] 在一些实施方案中,当将来自知识消费者的两个不同集合的知识消费者一起排序时,可以对知识消费者的两个集合应用不同的权重因数。例如,由于知识包之间的相似度的重要性可能低于知识单元之间的相似度,因此对于第二集合中的知识消费者计算的相关知识包的数目可被按一个因数打折。举例来说,参考图17,代替将知识消费者A3已消费的相关知识包(例如,知识包1642和1644)的数目计为二个,可以通过将该数目与一个权重因数诸如0.5相乘来缩小该数目,使得在排序期间对于消费者A3的两个知识包仅计为一个。
[0147] 在一些实施方案中,由知识自动化系统提供的自适应反馈还可以包括对建立的目标知识包进行分类的类别建议。得到建议类别的分析与上述得到建议的知识消费者的分析类似,因此无需重复其详细描述。参考图16,为了得到建议类别,参考名称A1至A7各自表示已识别知识包1632、1634和1636中至少一个所属的类别。因此,代替识别知识消费者或者除了知识消费者以外,知识自动化系统可以识别一个或多个类别的集合,其中的每个类别均是已识别知识包1632、1634和1636中的至少一个所属的类别。可以对类别A1至A7进行排序,以对于目标知识包1610确定一个或多个建议类别。
[0148] 类似地,参考图17,基于知识单元距离度量,可以确定类别A1至A7的第一集合,该第一集合中的每个类别均是已识别知识包1632、1634和1636中至少一个的类别,并且基于知识包距离度量,可以确定类别A3、A5和A7的第二集合,该第二集合中的每个类别均是相关知识包1642和1644中至少一个的类别。类别A1至A7的第一集合和类别A3、A5和A7的第二集合可以一起排序,以对于目标知识包1610确定一个或多个建议类别。随着向目标知识包1610添加额外的知识单元,可以以与上述用于建议的知识消费者类似的方式相应地修改建议类别的列表。
[0149] 在一些实施方案中,知识发布者可能已指定被建立为用于目标知识消费者的目标知识包。当向目标知识包添加选择的知识单元时,由知识自动化系统提供的自适应反馈还可以包括向知识发布者建议应将当前的目标知识消费者从目标知识包的预期受众中移除。例如,如果知识发布者正在添加指定的目标知识消费者不感兴趣的知识单元,则可能发生这种情况。在一些实施方案中,知识自动化系统可以通过比较目标知识消费者的用户签名与添加至目标知识包的知识单元的知识签名和/或目标知识包当前包含的或向目标知识包添加的知识单元的知识签名,来确定目标知识包是否与目标知识消费者相关。如果根据比较的匹配度低于阈值度,则知识自动化系统可以建议知识发布者应该移除目标知识消费者。在其中将用户签名与目标知识包当前包含的或添加至目标知识包的知识单元的知识签名中的每个进行比较的情况下,可以将每次比较得到的匹配度取平均,然后与阈值度比较。
[0150] 图18例示了根据一些实施方案的在由知识发布者创建知识包期间可以由知识自动化系统执行的自适应反馈过程1800的流程图。过程1800可以在框1802处始于接收来自多个知识单元(例如,知识库中存储的知识单元)的知识单元的选集以用于添加至目标知识包。
[0151] 在框1804处,过程1800可以为多个知识单元中的每个剩余知识单元计算在选择的知识单元与剩余知识单元之间的知识单元距离度量。在一些实施方案中,可以基于选择的知识单元的内容与每个剩余知识单元的内容之间的比较来计算知识单元距离度量。在一些实施方案中,可以基于在选择的知识单元的内容和元数据与每个剩余知识单元的内容和元数据之间的比较来计算知识单元距离度量。例如,可以通过比较选择的知识单元的术语向量与剩余知识单元的术语向量来计算知识单元距离度量。每个知识单元的术语向量可以包括关键术语和/或元数据,并且知识单元距离度量可以是例如表示n-维空间中知识单元的向量之间的欧几里得距离。
[0152] 在框1806处,基于知识单元距离度量可以从多个知识单元确定一个或多个相关知识单元的集合。例如,如果计算的在选择的知识单元与剩余知识单元之间的知识单元距离度量在预定阈值距离之下,则将该剩余知识单元确定为相关知识单元。在一些实施方案中,可以通过下述方式确定一个或多个相关知识单元:基于知识单元距离度量对剩余知识单元进行排序,并选择预定数目的排序最高的剩余知识单元作为一个或多个相关知识单元的集合。例如,具有较低知识单元距离的剩余知识单元可以被排序为高于具有较高知识单元距离的剩余知识单元。
[0153] 在框1808处,过程1800可以为一个或多个相关知识单元的集合中的每个相关知识单元从该相关知识单元是其一部分的已发布知识单元包的集合识别一个或多个知识包。在框1810处,可以识别知识消费者集合,其中每个知识消费者均为已识别知识包中的至少一个知识包的知识消费者。
[0154] 在框1812处,可以基于知识消费者的集合为目标知识包确定一个或多个建议的知识消费者。例如,如果已识别知识消费者的集合中的知识消费者消费的已识别知识包的数目大于预定阈值,则可以将该知识消费者确定为目标知识包的建议的知识消费者。在一些实施方案中,可以通过下述方式确定一个或多个建议的知识消费者:基于每个知识消费者消费的已识别知识包的数目对已识别的一组知识消费者中的知识消费者进行排序,并选择预定数目的排序最高的知识消费者作为一个或多个建议的知识消费者。可以向知识发布者呈现建议的知识消费者的列表,以供考虑将其添加至目标知识包的目标受众。在一些实施方案中,可以对建议的知识消费者的列表进行排列,以首先显示排序最高的建议的知识消费者。
[0155] 图19例示了根据一些实施方案的在知识发布者创建知识包期间可以由知识自动化系统执行的另一自适应反馈过程1900的流程图。过程1900可以在框1902处始于接收来自多个知识单元(例如,存储在知识库中的知识单元)中的选择的知识单元以用于添加至目标知识包。
[0156] 在框1904处,过程1900可以通过比较目标知识包的元数据与已发布知识包的元数据,对多个已发布知识包中的每个已发布知识包计算在目标知识包与已发布知识包之间的知识包距离度量。在框1906处,基于知识包距离度量,可以确定多个已发布知识包中的一个或多个相关知识包的集合。例如,如果计算的在目标知识包与已发布知识包之间的知识包距离度量在阈值距离之下,则将该已发布知识包确定为相关知识包。在一些实施方案中,可以通过下述方式确定一个或多个相关知识包的集合:基于知识包距离度量,对已发布知识包进行排序,并选择预定数目的排序最高的已发布知识包作为一个或多个相关知识包的集合。
[0157] 在框1908处,过程1900可以识别知识消费者的集合,该集合中的每个知识消费者均为相关知识包中至少一个知识包的知识消费者。在框1910处,可以基于知识消费者的集合为目标知识包确定一个或多个建议的知识消费者。在一些实施方案中,过程1900可以作为过程1800的一部分而被执行,并且如果来自过程1800的已识别知识包的数目与来自过程1900的知识消费者消费的相关知识包的数目之和大于预定阈值,则可以将该知识消费者确定为目标知识包的建议的知识消费者。
[0158] 在一些实施方案中,除了为目标知识包确定建议的知识消费者以外或者代替为目标知识包确定建议的知识消费者,过程1800和1900还可以用于为目标知识包确定建议类别。例如,这些过程可以包括:识别一个或多个类别的集合,其中的每个类别均为过程1800中已识别知识包中至少一个知识包的类别;以及基于一个或多个类别的集合确定目标知识包的一个或多个建议类别。如另一实施例,这些过程可以包括:识别一个或多个类别的第一集合,该第一集合中的每个类别均为来自过程1800的已识别知识包中的至少一个知识包的类别;识别一个或多个类别的第二集合,该第二集合中的每个类别均为来自过程1900的相关知识包中的至少一个相关知识包的类别;以及基于该一个或多个类别的第一集合和第二集合,确定目标知识包的一个或多个建议类别。可以向知识发布者呈现建议类别的列表,以供考虑将建议类别添加至目标知识包的目标类别。在一些实施方案中,可以对建议类别的列表进行排列,以首先显示排序最高的建议类别。
[0159] 图20例示了根据一些实施方案的用于建立知识包的图形用户界面2000。图形用户界面2000可以包括知识单元库区域2002、目标知识包建立区域2004、偏好区域2006和推荐区域2008。知识单元库区域2002可以显示表示可用于知识发布者以添加至建立的自定义目标知识包的知识单元的知识单元图标。知识单元库区域2002可以包括搜索条,以允许知识发布者搜索知识单元。知识单元图标可以按列显示,并且能够按照相应知识单元的内容源、类型和/或日期进行排列。
[0160] 目标知识包建立区域2004是知识发布者可以建立目标知识包的工作区域。知识发布者可以从知识单元库区域2002中选择知识单元图标,并将该图标放在目标知识包建立区域2004中,以将相应的知识单元添加至建立的知识包中。在一些实施方案中,这可以以拖放方式进行。在图20所示的实施例中,知识发布者已将表示关于“登机闸口”的知识单元的图标(例如,登机闸口的图像)拖拽至目标知识包建立区域2004中。在一些实施方案中,可以在所示的目标知识包建立区域2004中显示添加至目标知识包的知识单元预览。
[0161] 偏好区域2006可以显示由知识发布者设置的对建立的目标知识包的偏好。例如,偏好区域2006可以显示:知识发布者对目标知识包设置的目标受众;可以编辑目标知识包的编辑者;知识发布者对目标知识包设置的目标类别;以及访问控制信息,诸如知识发布者是否允许下载目标知识包或用电子邮件发送目标知识包。
[0162] 推荐区域2008可以显示在建立目标知识包时知识自动化系统可以提供的自适应反馈信息。例如,推荐区域2008可以显示用于添加至目标受众的一个或多个建议的知识消费者的列表,和/或用于添加至目标类别的一个或多个建议类别的列表。在一些实施方案中,推荐区域2008还可以显示用于从目标受众移除的一个或多个目标知识消费者的列表,和/或用于从目标类别移除的一个或多个目标类别的列表。随着知识发布者向目标知识包添加知识单元,推荐区域2008中显示的信息将例如基于上述过程1800和1900而相应地变化。在一些实施方案中,在推荐区域2008中可以显示一个或多个检查框,以允许知识发布者有选择地采纳由知识自动化系统建议的推荐中的一个或多个。如果知识发布者采纳了推荐中的任意个,则推荐区域2006可以例如通过更新目标受众和/或目标类别来显示更新的信息。
[0163] 图21例示了根据一些实施方案的用于显示知识包建立器图形用户界面的过程2100的流程图。过程2100可以在框2102处始于显示包括至少第一区域、第二区域和第三区域的图形用户界面。在一些实施方案中,过程2100还可以在第四区域中显示目标知识包的一个或多个目标知识消费者和目标知识包的一个或多个目标类别。在框2104处,过程2100可以在第一区域显示多个知识单元图标,该第一多个知识单元图标中的每个知识单元图标对应于一个知识单元。在框2106处,过程2100可以检测在第一区域中显示的选择的第一知识单元图标以及所选择的第一知识图标在第二区域中的放置,以将对应于该第一知识图标的第一知识单元添加至一个或多个目标知识消费者的目标知识包。
[0164] 在框2108处,响应于检测到第一知识单元图标在第二区域中的放置,过程2100可以在第三区域中显示目标知识包的一个或多个建议的知识消费者的列表。在框2110处,过程2100可以检测第一区域中显示的选择的第二知识单元图标以及选择的第二知识图标在第二区域中的放置,以将对应于该第二知识图标的第二知识单元添加至目标知识包。在框2112处,响应于检测到第二知识单元图标在第一区域中的放置,基于添加到目标知识包的第二知识单元,过程2100可以在第三区域中更新目标知识包的一个或多个建议消费者的列表。
[0165] 过程2100可以执行用于向知识发布者提供自适应反馈的额外处理可以包括:响应于检测到第一知识单元图标在第二区域中的放置,在第三区域中显示目标知识包的一个或多个建议类别的列表;以及响应于检测的第二知识单元图标在第一区域中的放置,基于添加至目标知识包的第二知识单元,在第三区域中更新目标知识包的一个或多个建议类别的列表。过程2100还可以响应于检测到第一或第二知识单元图标在第二区域中的放置,在第三区域中显示建议移除目标知识包的一个或多个目标知识消费者的指示符和/或建议移除目标知识包的一个或多个目标类别的指示符。
[0166] V.知识缺口的识别和填补
[0167] 在知识自动化系统中,在系统中的可用知识可能缺少满足所有用户的需要的某些内容的情况下,可能存在知识缺口。例如,缺失的信息、不可访问的信息或未以容易消费的方式组织的信息均可能造成知识缺口。知识缺口还可能对于一个用户和另一个用户不同(例如,一个用户对主题领域的熟悉度可能意味着没有观察到知识缺口,而经验较少的用户可能仍在搜索知识)。在知识自动化系统中自动识别知识缺口可以提高知识自动化系统的知识覆盖。例如,可以向知识发布者提供可能存在潜在知识缺口的主题领域,以提示知识发布者向系统添加新内容以填补该缺口。
[0168] 图22例示了根据一些实施方案的知识自动化系统中的潜在知识缺口的概念图。在图22中,椭圆2210可以表示从知识自动化系统的知识语料库中提取的关键术语集合。在一些实施方案中,关键术语可以映射至知识自动化系统的已知分类。椭圆2230可以表示用户在系统中执行的搜索术语的搜索历史。如图22所示,并非由知识自动化系统的用户搜索的所有术语都可以匹配从知识语料库中提取的关键术语。可以将与知识语料库中的关键术语不匹配的搜索术语识别为潜在知识缺口。因此,图22中有图案的区域2250可以表示知识自动化系统中的潜在知识缺口。
[0169] 在一些实施方案中,可以监测并分析用户活动及其与知识自动化系统的交互,以识别一个或多个知识缺口。如上所示,可以对搜索术语执行搜索分析,并且可以包括分析搜索结果的内容,以及分析用户如何对搜索结果评价和/或如何与搜索结果交互。例如,如果搜索查询返回零结果,则可以将使用的类别和/或搜索术语添加至潜在知识缺口列表。如果搜索查询产生了结果,但结果明显地(例如,通过用户评价)或者推理地(例如,基于缺少查看人数、在短时间段内使用搜索术语的变体重复搜索等)被认为较差,则可以将搜索查询中使用的类别和/或搜索术语添加至潜在知识缺口列表。类似地,如果用户没有在搜索结果所列内容中检索到任何内容,或者如果用户必须向下浏览若干页的搜索结果,则可以将搜索查询中使用的类别和/或搜索术语添加至潜在知识缺口列表。
[0170] 在一些实施方案中,还可以分析用户对系统中的知识元素做出的评论。可以使用情感分析来分析评论,以确定用户是否对用户查看的知识元素留下疑问。可以识别这些知识元素的类别和/或主题,并将其添加至潜在知识缺口的列表。还可以分析特定知识元素的查看人数率和/或完成率。在一些实施方案中,这还可以用于识别具有特定知识元素的知识质量问题。例如,如果关于特定主题的特定知识包具有高查看人数,但仍然产生了与该主题相关的一个或多个知识缺口,则可以对该特定知识包识别潜在知识质量问题。
[0171] 可以基于每个用户、每个用户组或系统范围识别知识缺口。可以基于知识缺口的源、用于识别潜在知识缺口的方法的可靠性以及是否已对于其他用户识别了类似的知识缺口来对给出的潜在知识缺口的列表进行排列。然后可以向知识发布者提交潜在知识缺口,以处理知识缺口(例如,在系统中发布新知识,如果知识发布者发布的知识对应于知识缺口,将目前的知识重新指向系统的具有那些知识缺口的其他用户,改善他们发布的知识的质量等)。
[0172] 在一些实施方案中,可以提供图形用户界面,以提供知识缺口的可视化。例如,可以使用类似图12的气泡图,其中每个气泡可以表示可能在系统中缺少有用内容的类别或关键术语的知识缺口,并且气泡的大小可以表示知识缺口的大小(例如,知识缺口的大小可以关联用户如何频繁地搜索该类别或关键术语)。在一些实施方案中,可以分析一定时间段内的发布历史,以确定知识发布者可能在其中发布的区域。系统可以将这些区域与现有的或预计的知识缺口关联起来,并向知识发布者通知知识缺口,提示知识发布者添加或修改内容以填补缺口。在一些实施方案中,知识服务可以基于已识别的知识缺口自动搜索各种数据源(例如,包括互联网),并且可以向知识发布者提供结果,以加速缺口的填补。
[0173] 图23例示了根据一些实施方案的可以由知识自动化系统执行的用于自动识别知识缺口的过程2300的流程图。过程2300可以在框2302处始于监测由系统的用户执行的在一个或多个数据存储库中搜索查询内容或知识。在框2304处,过程2300可以基于搜索查询识别一个或多个搜索术语的集合。搜索术语可以是例如在搜索查询中使用的词或短语。
[0174] 在框2306处,可以基于搜索查询中搜索术语出现的数目,确定每个已识别搜索术语的频率计数。换言之,可以追踪搜索术语被搜索的次数和/或搜索术语在何时被搜索。在一些实施方案中,搜索术语的高频率计数以及该搜索术语的差搜索结果可能表明潜在知识缺口,因为大量用户可能搜索了与该搜索术语相关的知识。搜索术语的低频率计数,即使其产生差的结果,也不一定意味着存在潜在知识缺口。例如,贫乏的结果可能是由于搜索术语中的打字错误。
[0175] 在框2308处,可以分析对应于搜索查询的搜索结果。例如,可以确定每个搜索结果中包含的知识元素的数量。搜索查询的搜索结果可能返回一个或多个知识元素(例如,知识单元和/或知识包)的列表,或者搜索结果可能返回零结果。在一些实施方案中,搜索结果中知识元素的数目可以用于指示是否存在潜在知识缺口。搜索结果中返回的较低数量的知识元素可能指示潜在知识缺口的可能性较高。然而,较高数量的知识元素不一定意味着存在潜在知识缺口,因为搜索结果可能是无效的并且可能返回无关的知识元素。在一些实施方案中,搜索结果中返回的知识元素的过时也可能指示其中关于特定搜索术语的可用信息可能已过时并且需要更多的更新信息的潜在知识缺口。
[0176] 由此,在框2310处,还可以监测用户对与搜索查询对应的搜索结果的响应。用户响应诸如用户如何与搜索结果交互可以提供关于搜索结果的有效性的指示。例如,用户从搜索结果中检索到的知识元素的数目和/或用户浏览知识元素列表的深度可以提供搜索结果的质量的指示。在一些实施方案中,用户检索到的知识元素的数目越大可指示搜索结果无效并返回无关知识元素的可能性越高。类似地,用户对搜索结果的知识元素列表向下浏览得越深,搜索结果无效的可能性越高。在一些实施方案中,用户查看每个搜索结果花费的时间量、用户查看搜索结果中每个检索到的知识元素花费的时间量以及用户执行随后的搜索之前的时间量也可以考虑在内。
[0177] 在框2312处,过程2300可以基于每个搜索术语的频率计数、搜索结果以及用户对搜索结果的响应来确定指示可能缺少与特定搜索术语相关联的内容的知识缺口。例如,在一些实施方案中,如果特定搜索术语的频率计数在预定阈值计数之上,则搜索术语可以关联至知识缺口,并且基于用户对搜索结果的响应认为搜索结果无效。在一些实施方案中,可以对每个搜索术语或者对频率计数在预定阈值计数之上的每个搜索术语计算知识缺口度。知识缺口度可以是表示考虑在内的每个因数(例如,搜索术语的频率计数、返回的知识元素的数目、用户花费的时间量等)的值的加权和,并且如果知识缺口度在阈值之上,则可以将搜索术语识别为知识缺口。
[0178] 在框2314处,过程2300可以识别一个或多个内容源以填充知识缺口。例如,过程2300可以识别提供过或发布过类似于与知识缺口相关联的搜索术语的内容的内容发布者,或提供过或发布过使用该搜索术语进行搜索查询的用户之前消费过的内容的内容发布者。
然后知识自动化系统可以向内容发布者发送请求以添加数据内容来填充知识缺口。在一些实施方案中,知识自动化系统还可以发起内容发现,以在诸如互联网的一个或多个内容源中搜索内容。
[0179] 图24示出了根据一些实施方案的计算系统2400的框图。计算系统2400可以包括连接一个或多个子系统的通信总线2402,子系统包括处理子系统2404、存储子系统2410、I/O子系统2422和通信子系统2424。
[0180] 在一些实施方案中,处理子系统2408可以包括一个或多个处理单元2406、2408。处理单元2406、2408可以包括一个或多个通用或专用微处理器、FPGA、DSP或其他处理器。在一些实施方案中,处理单元2406、2408可以是单核或多核处理器。
[0181] 在一些实施方案中,存储子系统可以包括系统存储器2412,系统存储器可以包括各种形式的非暂时性的计算机可读存储介质,该非暂时性的计算机可读存储介质包括易失性(例如,RAM、DRAM、缓存器等)以及非易失性(闪存、ROM、EEPROM等)存储器。存储器可以是实体的或虚拟的。系统存储器2412可以包括系统软件2414(例如,BIOS、固件、各种软件应用等)和操作系统数据2416。在一些实施方案中,存储子系统2410可以包括非暂时性的计算机可读存储介质2418(例如,硬盘驱动器、软盘、光学介质、磁介质或其他介质)。存储接口2420可以允许在计算系统2400和其他计算系统内的其他子系统存储和/或访问来自存储子系统2410的数据。
[0182] 在一些实施方案中,I/O子系统2422可以接合至各种输入/输出设备,包括显示器(诸如监视器、电视和能操作以显示数据的其他设备)、键盘、鼠标、语音辨识设备、生物计量设备、打印机、绘图机和其他输入/输出设备。I/O子系统可以包括各种用于与I/O设备通信的接口,该接口包括无线连接(例如,Wi-Fi、蓝牙、Zigbee和其他无线通信技术)和物理连接(例如,USB、SCSI、VGA、SVGA、HDMI、DVI、串口、并口和其他物理端口)。
[0183] 在一些实施方案中,通信子系统2424可以包括各种通信接口,该通信接口包括无线连接(例如,Wi-Fi、蓝牙、Zigbee和其他无线通信技术)和物理连接(例如,USB、SCSI、VGA、SVGA、HDM1、DV1、串口、并口和其他物理端口)。通信接口可以使计算系统2400通过局域网、广域网、自组网、网状网络、移动数据网络、互联网和其他通信网络与其他计算系统和设备通信。
[0184] 在某些实施方案中,可以提供上述知识建模系统执行的各种处理作为利用软件例如服务(SaaS)模型的服务。根据该模型,响应于由服务提供者系统从一个或多个用户或客户端设备(服务请求者设备)接收的服务请求,可以由服务提供者系统提供一个或多个服务。服务提供者系统可以向可能经由通信网络(诸如互联网)与服务提供者系统通信耦接的多个服务请求者提供服务。
[0185] 在SaaS模型中,提供服务所需的IT基础设施全部由服务提供者系统提供和管理,所述IT基础设施包括涉及提供服务和相关更新/升级的硬件和软件。因此,服务请求者无需担心获取或管理提供服务所需的IT资源。这在低得多的成本点以方便的方式显著地提高了服务请求者对这些服务的访问。
[0186] 在SaaS模型中,通常基于订购模型提供服务。在订购模型中,用户可以订购服务提供者系统提供的一种或多种服务。然后订购者可以根据订购请求并接受服务提供者系统提供的服务。订购者向服务提供者系统的提供者进行的支付通常基于该订购者使用的服务的量或水平来进行。
[0187] 图25示出了根据一些实施方案的服务提供者系统2500的简化框图。在图25所示的实施方案中,服务请求者设备2504和2504(例如,知识消费者设备和/或知识发布者设备)经由通信网络2512与服务提供者系统2510通信耦接。在一些实施方案中,服务请求者设备可以向服务提供者系统2510发送服务请求,并作为响应,接收服务提供者系统2510提供的服务。例如,服务请求者设备2502可以向服务提供者系统2510发送请求2506,要求从服务提供者系统2510提供的可能的多个服务中的一个服务。作为响应,服务提供者系统2510可以向提供所请求服务的服务请求者设备2502发送响应2528。同样地,服务请求者设备2504可以将服务请求2508传达至服务提供者系统2510并从服务提供者系统2510接收向服务请求者设备2504的用户提供对服务的访问的响应2530。在一些实施方案中,服务请求者设备2502、2504可以通过在服务请求者设备上执行的瘦客户端或浏览器应用访问SaaS服务。服务请求和响应2528、2530可以包括促使瘦客户端或浏览器应用提出对应于请求的SaaS应用的用户接口的HTTP/HTTPS响应。虽然图25中示出了两个服务请求者设备,但这并不意在是限制性的。在其他实施方案中,多于或少于两个服务请求者设备可以从服务提供者系统2510请求服务。
[0188] 网络2512可以包括在服务提供者系统2510和服务请求者设备2502、2504之间实现通信的一个或多个网络或任何机构。网络2512的实施例包括但不限于局域网、广域网、移动数据网络、互联网或其他网络或这些的组合。有线或无线通信链路可以用于促进服务请求者设备和服务提供者系统2510之间的通信。
[0189] 在图25所示的实施方案中,服务提供者系统2510包括访问接口2514、服务配置部件2516、计费部件2518、各种服务应用2520和租户专用数据2532。在一些实施方案中,访问接口部件2514使服务请求者设备能够从服务提供者系统2510请求一个或多个服务。例如,访问接口部件2514可以包括服务请求者设备的用户可以访问并用以请求由服务提供者系统2510提供的一种或多种服务的网页的集合。
[0190] 在一些实施方案中,服务管理器部件2516被配置成管理向一个或多个服务请求者提供的服务。服务管理器部件2516可以被配置成经由访问接口2514接收由服务提供者系统2510接收的服务请求,管理用于提供服务的资源,并将服务传递至请求的请求者。服务管理器部件2516还可以被配置成接收请求以建立与服务请求者的新服务订购,终止与服务请求者的服务订购,和/或更新现有的服务订购。例如,服务请求者设备可以请求改变对一个或多个服务应用2522-2526的订购,改变用户订购的一个或多个应用等。
[0191] 服务提供者系统2510可以使用订购模型以用于向服务请求者提供服务,服务请求者根据该订购模型基于订购者使用的服务的量或水平向服务提供者系统的提供者付款。在一些实施方案中,计费部件2518负责管理与订购相关的财务方面。例如,与服务提供者系统2510的其他部件相关联的计费部件2510可以被配置成确定订购者所欠的金额,向订购者发送账单,处理来自订购者的支付等等。
[0192] 在一些实施方案中,服务应用2520可以包括提供各种SaaS服务的各种应用。例如,一种或多种应用2520可以提供上述的和由知识建模系统提供的各种功能。
[0193] 在一些实施方案中,租户专用数据2532包括用于服务提供者系统2510的各种订购者或消费者(租户)的数据。用于一个租户的数据通常与用于另一租户的数据分离开。例如,租户l的数据2534与租户2的数据2536分离开。用于租户的数据可以包括但不限于用于租户的订购数据、用作由租户订购的各种服务的输入的数据、服务提供者系统2510为租户生成的数据、为租户进行的定制化或由租户进行的定制化、用于租户的配置信息等等。一个租户进行的定制化可以与另一租户进行的定制化分离开。租户数据可以存储在服务提供者系统2510(例如2534、2536)中,或者存储在服务提供者系统2510能访问的一个或多个数据储存库2538中。
[0194] 应理解,本文所述的方法和过程本质上为示例性的,并且根据一些实施方案的方法和过程可以以不同于本文描述的顺序执行步骤中的一个或多个,包括未特别描述的一个或多个额外步骤,省略一个或多个步骤,将一个或多个步骤组合为单个步骤,将一个或多个步骤分成多个步骤,和/或这些的任意组合。
[0195] 还应理解,本文所述的设备、装置、系统的部件(例如,功能块、模块、单元或其他元件等)本质上为示例性的,并且根据一些实施方案的部件可以包括未特别描述的一个或多个额外元件,省略一个或多个元件,将一个或多个元件组合为单个元件,将一个或多个元件分成多个元件,和/或这些的任意组合。
[0196] 虽然已经描述了本发明的具体实施方案,但各种修改、变更、替代构造和等同物也包含在本发明的范围内。本发明的实施方案并不限于在某些具体数据处理环境内的操作,而是可以在多种数据处理环境内自由操作。另外,虽然使用特定系列的事项和步骤描述了本发明的实施方案,但对于本领域技术人员明显的是,本发明的范围不限于描述的一系列事项和步骤。可以单独或结合使用上述实施方案的各种特征和方面。
[0197] 此外,虽然使用具体的硬件和软件组合描述了本发明的实施方案,但应理解的是硬件和软件的其他组合也在本发明的范围内。本发明的实施方案可以仅以硬件、或仅以软件或使用其组合实施。本文描述的各种过程可以在同一处理器或者不同处理器上以任意组合实施。相应地,在部件或模块被描述为配置成执行某些操作的情况下,可以例如通过设计电子电路以执行操作、通过编程可编程电子电路(诸如微处理器)以进行操作、或其任意组合来实现这种配置。过程可以使用包括但不限于用于过程间通信的常规技术的各种技术进行通信并且不同的过程对可以使用不同的技术,或者相同的过程对可以在不同的时间使用不同的技术。
[0198] 相应地,说明书和附图应被视为例示性的而非限制性的。然而,明显的是,在不偏离权利要求给出的宽泛精神和范围的情况下,可以对其进行增加、减少、删除以及其他修改和改变。因此,虽然已经描述了具体的发明实施方案,但这些不意在是限制性的。各种修改和同等物均在下述权利要求的范围内。例如,在不偏离本发明的范围的情况下,任一实施方案中的一个或多个特征可以与任何其他实施方案的一个或多个特征组合。