CN111886608A - 以用户为中心的人工智能知识库 - Google Patents

以用户为中心的人工智能知识库 Download PDF

Info

Publication number
CN111886608A
CN111886608A CN201980020630.6A CN201980020630A CN111886608A CN 111886608 A CN111886608 A CN 111886608A CN 201980020630 A CN201980020630 A CN 201980020630A CN 111886608 A CN111886608 A CN 111886608A
Authority
CN
China
Prior art keywords
user
graph
centric
node
facts
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
Application number
CN201980020630.6A
Other languages
English (en)
Inventor
V·万格拉
A·哈亚纳加尔卡尔
S·V·M·库拉马达利
R·阿南德
N·潘德
D·S·吉尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN111886608A publication Critical patent/CN111886608A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用于人工智能知识库的图数据结构包括与用户相关联的多个以用户为中心的事实。每个以用户为中心的事实都具有应用程序无关的数据格式,并且包括主语图节点、宾语图节点以及将主语图节点连接到宾语图节点的边。所述图数据结构被设计为:即使在不同的应用程序特定的数据提供方使用不同的固有数据格式时,也适应来自使用相同的应用程序无关的数据格式的不同的应用程序特定的数据提供方的事实。

Description

以用户为中心的人工智能知识库
背景技术
人工智能是具有几乎不受限应用的新兴领域。据信,随着人工智能技术的进步,以用户为中心的人工智能应用程序将对于个体计算机用户具有很大实用性。稳健的人工智能知识库的创建和维护已经是向个体计算机用户提供有用的人工智能应用程序的很大束缚。
发明内容
提供本发明内容是为了以简化形式介绍一系列概念,在下文的具体实施方式中进一步描述这些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也并不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题并不限于解决本公开的任何部分中所指出的任何或全部缺点的实施方式。
用于人工智能知识库的图数据结构包括与用户相关联的多个以用户为中心的事实。每个以用户为中心的事实都具有应用程序无关的数据格式,并且包括主语图节点、宾语图节点以及将主语图节点连接到宾语图节点的边。所述图数据结构被设计为:即使当不同的应用程序特定的数据提供方使用不同的固有数据格式时,也适应来自使用相同的应用程序无关的数据格式的不同的应用程序特定的数据提供方的事实。
附图说明
图1A-1B示出了包括少量多个以用户为中心的事实的简化图数据结构。
图2A-6B示出了关注于特定的以用户为中心的事实的图1A和图1B的图数据结构。
图7A-9B示出了图1A和图1B的图数据结构,关注于图数据结构中所包括的多个构成性图结构之间的交叉引用。
图10A-12B示出了图1A和图1B的图数据结构的构成性图结构的示范性实施方式。
图13示出了用于以用户为中心的人工智能知识库的示范性计算环境。
图14示出了维护以用户为中心的人工智能知识库的方法。
图15示出了查询以用户为中心的人工智能知识库的方法。
图16示意性示出了用于维护和查询以用户为中心的人工智能知识库的示例性计算系统。
具体实施方式
计算机服务可以通过收集和/或分析以用户为中心的数据来增强与用户的交互。如在本文中所使用的,“计算机服务”宽泛地指代用户可以直接地与之交互、或者经由与另一计算机服务的交互间接地与之交互的任何软件和/或硬件过程,所述另一计算机服务例如是软件应用程序、交互式网站或者实施通信协议的服务器。如在本文中所使用的,“以用户为中心”宽泛地指代与特定计算机用户相关联或者涉及特定计算机用户的任何数据(表示用户兴趣、用户关系以及用户与计算机服务的交互的事实和/或计算机数据结构)。
可以供应以用户为中心的数据作为对人工智能(AI)程序的输入,人工智能程序可以被配置为基于对所供应的以用户为中心的数据的分析来提供用户与计算机之间的增强的交互。例如,提供增强的交互可以包括预测用户可能采取的动作以及促进该动作。然而,为了有意义地增强在用户与计算机之间的交互,AI程序需要非常大量的数据。此外,必须能够以适当的数据格式集中式地获得数据。
例如,智能助理程序可以包括用于处理由用户(例如,通过被配置为接收音频和/或文本自然语言查询的自然用户接口(NUI))提交的自然语言查询的自然语言处理引擎。为了服务于自然语言查询,智能助理程序需要事实的知识库。在一些实施方式中,“知识库”可以包括被表达为主语-谓语-宾语(subject-predicate-object)三元组的事实的集合。可以使用经人标记的数据和数据挖掘技术的组合来生成知识库,以汇总来自诸如因特网的公共源的信息。用于构建知识库的先前方案已经带来了非常大的计算负担(例如,为多个不同用户的每个用户运行数据挖掘任务)和/或广泛的人类设计和监督(例如,手动标记的数据)来实现良好的结果。
这样,用于构建和维护知识库的先前方案可能并不适合用于利用AI来提供与计算机的增强的用户交互。相反,如在本文中所描述的以用户为中心的AI知识库扩展了知识库的理念以支持涉及一个或多个特定用户(例如,个体计算机用户或者企业计算机网络的一组用户)的以用户为中心的事实的集合。以用户为中心的AI知识库可以包括源自各种不同的应用程序特定的数据提供方的以用户为中心的事实(例如,与智能助理程序相关联的数据提供方以及与地址簿程序相关联的数据提供方)。以用户为中心的AI知识库可以通过跨例如与不同应用程序相关联的多个存储位置来分布以用户为中心的事实的存储,从而高效率地存储多个以用户为中心的事实。此外,以用户为中心的AI知识库可以包括对以用户为中心的事实做出的各种应用程序无关的富集(enrichment),其可以促进对知识库的AI处理,例如,回答查询。
单个用户可以与多个不同的计算机服务进行交互,每个计算机服务都可以识别并且存储关于用户的信息。计算机服务可以汇总涉及与用户的交互的数据,并且多个不同的计算机服务可以一起汇总关于用户的大量的数据。多个计算机服务中的每个计算机服务都可以将关于用户的信息存储到不同的应用程序特定的位置。在本文中所使用的“应用程序特定的”意指对于任何计算机服务是特定的。此外,多个计算机服务中的每个计算机服务可能仅识别并且存储关于用户的可能信息的有限子集,该子集不同于由多个计算机服务的不同计算机服务所存储的信息。这样,可以跨多个不同存储位置来分布关于用户的信息。
此外,可以以应用程序特定的存储格式来存储与计算机服务相关联的应用程序特定的数据。这样,即使当两个不同的计算机服务具有相关功能时,所述计算机服务也可能不能够共享数据。在一些情况下,第三方提供方提供可以共享存储格式的一套相关计算机服务(例如,文档编辑套件)。然而,即使在这样的套件之内的计算机服务能够彼此共享数据,利用所述数据来增强与用户的交互也可以进一步取决于来自外部知识源的数据,诸如全球知识源(例如,因特网)、由不同的第三方软件提供商提供的第三方软件应用程序和/或其他用户的使用数据(例如,在企业软件应用程序的语境中,或者在社交网络应用程序的语境中)。
软件提供商可能希望自动地汇总来自不同源的信息,以便构建以用户为中心的AI知识库,从而促进与用户的经改进的交互。然而,构建AI知识库的先前方案仅仅关注于全球数据,而不关注于可能在与特定用户交互的语境中特别利用的以用户为中心的数据。这样,构建知识库的先前方案不适合用于为多个计算机服务的用户构建以用户为中心的AI知识库。
图1A示出了用于表示以用户为中心的事实的集合的示范性图数据结构100,所述图数据结构可以与在多个不同的计算机服务之间分布的应用程序特定的数据相关联。图数据结构100允许集中式查询并且适合用于实施以用户为中心的AI知识库。
图数据结构100包括多个不同的构成性图结构102,例如构成性图A、构成性图B等。每个构成性图结构可以是与不同的计算机服务相关联的应用程序特定的构成性图结构。例如,应用程序特定的构成性图结构A可以与日程规划程序相关联,而应用程序特定的构成性图结构B可以与电子邮件程序相关联。
每个构成性图结构包括多个以用户为中心的事实104,例如,存储在构成性图A中的以用户为中心的事实FA.1、FA.2等,以及存储在构成性图B中的以用户为中心的事实FB.1、FB.1等。以用户为中心的事实包括主语图节点106、宾语图节点108以及将主语图节点连接到宾语图节点的边110。可以将主语图节点和宾语图节点一般性地被称为节点。节点可以表示任何名词,其中,“名词”被用于指代任何实体、事件或概念,或者任何适合的应用程序特定的信息(例如,由用户使用计算机服务执行的先前动作的细节)。类似地,在本文中所使用的“主语名词”和“宾语名词”指代分别由主语图节点或宾语图节点所表示的名词。将以用户为中心的事实的集合表示为图数据结构可以促进操控和遍历所述图数据结构(例如,以对查询做出响应)。
如在图1B中那样将以用户为中心的事实的可视化为图150是有启发性的。在图1B中所描绘的图150中,节点152被描绘为实心圆,并且边154被描绘为箭头。具有外出边(其中,箭头指向离开实心圆)的实心圆描绘主语图节点,而具有内入边(其中,箭头指向实心圆)的实心圆描绘了宾语图节点。通过将构成性图之间的边视为更大图中的边,可以将多个构成性图当作单个图。因此,图1B示出了包括多个构成性图结构的单一组合式图150。为了简化解释,示例性图150仅包括具有十二个节点的两个构成性图。在实际实施方式中,以用户为中心的图将包括在更多其他构成性图之间散布的更多其他节点(例如,数百个、数千个、数百万个或者更多个)。
图2A-2B描绘了图1A-1B的图数据结构,关注于特定的以用户为中心的事实FA.1。以用户为中心的事实FA.1被图2A中的粗线矩形围绕,并且图2A中未详细示出图数据结构的其他以用户为中心的事实。类似地,在后续附图中,使用粗线形状引起对特定事实的关注。以用户为中心的事实FA.1包括主语图节点SA.1、边EA.1和宾语图节点OA.1。例如,主语图节点SA.1可以表示用户的雇主,并且宾语图节点OA.1可以表示由其雇主分配给用户的任务。边EA.1可以描述在主语图节点SA.1与宾语图节点OA.1之间的任何适当的关系。在以上示例中,边EA.1可以表示“分配的新任务”关系。以用户为中心的事实FA.1的主语-边-宾语三元组整体上表示了用户的雇主为她分配新任务的事实。
第一事实的主语图节点可以表示与第二不同事实的宾语图节点相同的名词。例如,图3A-3B示出了图1A-2B的相同图数据结构,关注于以用户为中心的事实FA.3。以用户为中心的事实FA.3定义了主语图节点SA.3、边EA.3和宾语图节点OA.3。宾语图节点OA.3可以表示与图2B的主语图节点SA.1相同的名词。因此,所述图数据结构可以将事实FA.3的宾语图节点OA.3和事实FA.1的主语图节点SA.1识别为单个节点,在图2B和图3B中的图150中其被描绘处于相同的位置。通过识别特定宾语图节点和主语图节点表示相同的名词,所述图数据结构可能能够将以用户为中心的事实表示为在多个不同名词之间的复杂关系,其可以被可视化为图150上的路径。例如,当特定节点是第一事实的宾语图节点和第二不同事实的主语图节点时,可能能够从两个事实的组合导出推论,类似于逻辑三段论。
第一以用户为中心的事实的主语图节点可以表示与第二不同的以用户为中心的事实的主语图节点相同的名词。当两个不同的主语图节点表示相同的名词时,所述图数据结构可以将两个主语图节点识别为单个节点。例如,图4A-4B示出了图1A-3B的相同图数据结构,关注于以用户为中心的事实FA.4。以用户为中心的事实FA.4定义了主语图节点SA.4、边EA.4和宾语图节点OA.4。主语图节点SA.4可以表示与图3B的主语图节点SA.3相同的名词。因此,所述图数据结构可以将两个主语图节点识别为单个节点,其在图3B和图4B中的图150中被示于相同的位置。尽管可以将主语图节点SA.4和SA.3识别为单个节点,但是边EA.4与边EA.3不同,并且类似地,宾语图节点OA.4与宾语图节点OA.3不同。因此,即使主语图节点SA.4和SA.3表示相同的名词,但是三元组(SA.4,EA.4,OA.4)和(SA.3,EA.3,OA.3)表示两个不同的事实。
类似地,第一以用户为中心的事实的宾语图节点可以表示与第二不同以用户为中心的事实的宾语图节点相同的名词。换言之,相同的名词可以是多个不同的以用户为中心的事实的宾语,这些事实具有不同的主语图节点并且可能具有表示不同关系类型的边。例如,图5A-5B示出了图1A-4B的相同图数据结构,关注于以用户为中心的事实FA.5。以用户为中心的事实FA.5定义了主语图节点SA.5、边EA.5和宾语图节点OA.5。宾语图节点OA.5可以表示与图2B的宾语图节点OA.1相同的名词。因此,所述图数据结构可以将两个宾语图节点识别为单个节点,其在图2B和图5B中的图150中被示于相同的位置。
在两个或更多个不同的以用户为中心的事实中可能涉及主语名词和宾语名词的特定配对。例如,主语名词和宾语名词可以由包括主语图节点SA.5、边EA.5和宾语图节点OA.5的第一以用户为中心的事实FA.5来表示。同时,如在图6A-6B中所描绘的,主语图节点SA.6可以表示相同的主语名词,宾语图节点OA.6也可以表示相同的宾语名词,如在图6B中的SA.6和OA.6的位置与图5B中的SA.5和OA.5相应位置相同所指示的。因此,可以经由第一边EA.5将主语图节点SA.5连接到宾语图节点OA.5,而可以经由第二不同的边EA.6将主语图节点SA.6连接到宾语图节点OA.6。如主语图节点和宾语图节点那样,图6B中的边EA.6被描绘在与图5B中的边EA.5相同的位置。然而,边EA.5和EA.6是不同的边,例如,表示主语图节点与宾语图节点之间的不同关系。在示例中,主语图节点SA.5和SA.6可以对应于第一用户账户(例如,由电子邮件地址识别的)。在相同示例中,宾语图节点OA.5和OA.6可以对应于第二不同的用户账户。在示例中,边EA.5可以表示“发送电子邮件至”关系,而边EA.6表示不同的“安排开会”关系。因此,所述图数据结构包括具有相同主语和宾语名词的两个或更多个以用户为中心的事实。
在其他示例中,在两个不同的以用户为中心的事实中可能涉及两个名词,但是在主语与宾语之间交换角色。换言之,第一名词为第一事实的主语名词,并且第二名词为第一事实的宾语名词,而第一名词是第二事实的宾语名词,并且第二名词是第二事实的主语名词。例如,在表述“Alice安排了与Bob开会”的第一事实中可能涉及表示“Alice”和“Bob”的一对名词,而在表述“Bob安排了与Alice开会”的第二事实中也涉及这一对名词。除了交换主语和宾语的角色之外,使用两个名词的两个事实还可以具有不同类型的边,例如,在表述“Bob向Alice发送了电子邮件”的第三事实中可能额外涉及了“Alice”和“Bob”。
如上文所描述的并且如在图1A、2A、3A、4A、5A和6A中所示的,所述图数据结构包括多个应用程序特定的构成性图结构(例如,对应于不同的计算机服务)。例如,图7A-7B示出了图1A-6B的相同图数据结构,关注于两个不同的以用户为中心的事实FA.6和FB.1。以用户为中心的事实FA.6将主语图节点SA.6、边EA.6和宾语图节点OA.6定位为构成性图结构A的部分。类似地,以用户为中心的事实FB.1将主语图节点SB.1、边EB.1和宾语图节点OB.1定位为构成性图结构B的部分。
所述图数据结构可以将来自一个构成性图的名词和来自不同的构成性图的名词识别为单个节点。例如,图8A-8B示出了图1A-7B的相同图数据结构,关注于以用户为中心的事实FB.3。以用户为中心的事实FB.3定义了主语图节点SB.3、边EB.3和宾语图节点OB.3。宾语图节点OB.3可以表示与图2B的宾语图节点OA.1、图5B的宾语图节点OA.5、图7B的宾语图节点OA.5和图8B的宾语图节点OB.3相同的名词。因此,所述图数据结构可以将四个宾语图节点识别为单个节点,其在图2B、5B、7B和8B中的图150中被示于相同的位置。要注意的是,宾语图节点OB.3处在构成性图结构B中,而宾语图节点OA.1、OA.5和OA.5处在构成性图结构A中。在本文中,可以将两个或更多个节点对应于相同名词的这样的识别称为两个节点之间的“节点交叉引用”。表示特定名词的主语图节点或宾语图节点可以将节点交叉引用存储到相同构成性图结构或任何其他构成性图结构的其他节点。
类似地,第一构成性图结构中的以用户为中心的事实可以定义第一构成性图结构中的主语图节点连同指向第二不同的构成性图结构中的宾语图节点的边(在本文中被称为“交叉引用边”)。例如,图9A-9B示出了图1A-8B的相同图数据结构,关注于以用户为中心的事实FA.2。以用户为中心的事实FA.2包括主语图节点SA.2和边EAB.2。然而,边EAB.2指向宾语图节点OB.2而不是指向构成性图结构A中的不同宾语图节点。边EAB.2可以通过任何适当方式来指示构成性图之间的连接,例如通过存储指示通往构成性图B中的宾语图节点的连接的构成性图标识符以及指示构成性图B中的特定宾语图节点的宾语图节点标识符。
节点交叉引用和交叉引用边连接多个构成性图结构。例如,可以通过与边相同的方式来遍历节点交叉引用和交叉引用边,允许遍历图数据结构以遍历跨多个构成性图结构的路径。换言之,图数据结构100促进全面人工智能知识库,其包括来自不同计算机服务的事实和/或跨不同计算机服务的事实。在本文中可以将节点交叉引用和交叉引用边统称为交叉引用。类似地,当多个构成性图结构之内的交叉引用涉及一节点时,可以将该节点称为跨构成性图结构被交叉引用。
此外,除了经由交叉引用来连接两个不同的构成性图结构之外,构成性图结构还可以包括涉及构成性图结构中的主语图节点的一个或多个以用户为中心的事实以及外部知识库中的宾语图节点(例如,基于因特网、社交网或联网的企业软件应用程序)。如交叉引用边那样,例如,通过存储指示外部图和外部图之内的宾语图节点的一对标识符,连接到主语图节点的外出边可以指示通过任何适当方式通往外部宾语图节点的连接。在一些情况下,所述外部图可以不存储任何以用户为中心的数据,例如,当所述外部图是从因特网上的发布知识推导的全球知识库时。
通过包括构成性图结构之间的交叉引用,可以跨多个构成性图结构来分布关于特定名词(例如,事件或实体)的事实,同时仍然支持集中推理不同的构成性图结构中和外部数据库中以用户为中心的事实之间的关系(例如,通过经由交叉引用和交叉引用边来遍历多个构成性图结构)。
每个以用户为中心的事实都可以以可预测的共享数据格式来存储,所述格式存储包括与计算机服务相关联的应用程序特定的事实的以用户为中心的事实,而不需要对计算机服务的应用程序特定的数据的格式进行改变。在本文中将这样的可预测的共享数据格式称为“应用程序无关的数据格式”。所述应用程序无关的数据格式可以存储查询以用户为中心的AI知识库所需的信息,同时避免应用程序特定的数据的冗余存储。可以利用允许对所述图数据结构进行读取和写入访问的互补应用程序编程接口(API)来实施所述图数据结构。API可以限制对所述图数据结构的访问,以便确保写入到图数据结构的所有数据都是应用程序无关的数据格式。同时,所述API可以提供一种机制,任何计算机服务可以使用该机制来以应用程序无关的数据格式向图数据结构添加新的以用户为中心的事实,由此确保所述图数据结构之内存储的所有数据能由使用API的其他计算机服务可预测地使用。除了提供对图数据结构中存储的以用户为中心的事实的读/写访问之外,所述API还可以提供包括读取和写入两者的数据处理操作,例如,查询操作以及对查询结果的高速缓存。
可以通过各种方式来实施包括涉及多个不同计算机服务的以用户为中心的事实的图数据结构,诸如图1A的图数据结构100,而不脱离本公开的主旨。图10A示意性示出了包括针对每个名词的节点记录的以节点为中心的数据结构200的一种这样的非限制性实施方式。每个节点记录表示与该名词相关联的一个或多个主语和/或宾语图节点。当节点记录表示主语图节点时,所述节点记录额外地表示将主语图节点连接到一个或多个宾语图节点的外出边。例如,图10A示出了两个节点记录,即完整表示图1A-9B的数据结构的所有节点所需的多个节点记录的节点记录NRA[42]和节点记录NRA[43]。上文描述了更一般性的图数据结构100,以宽泛地介绍以用户为中心的多服务AI知识库的特征。在实践中,可以使用更有效率的数据存储方式,诸如以节点为中心的数据结构200,来实施上文介绍的一般性特征。
以节点为中心数据结构200在由与节点相关联的一致节点记录标识符定义的节点记录存储位置处存储构成性图结构的每个节点。所述节点记录标识符可以是数字和/或文本标识符、指向计算机存储位置的引用(例如,计算机存储器中的地址或者计算机磁盘上的文件名)或者任何其他适合的标识符(例如,统一资源定位符(URL))。例如,节点记录NRA[42]可以能由节点记录标识符“A[42]”标识,节点记录标识符包括将节点记录标识为构成性图结构A的部分的节点域标识符“A”并且包括额外的数字标识符42。因此,所述图数据结构可以在由标识符“A[42]”定义的节点记录存储位置处存储节点记录NRA[42]。例如,所述图数据结构可以在与构成性图结构A相关联的数据库表的行#42中存储节点记录NRA[42]。应当指出,括号命名法,例如,A[42]是例示性的,并且被用于强调在以节点为中心的数据结构200最终将相同节点/图定义为更一般性的图数据结构100时,节点数据结构200的特定实施方式是不同的。然而,在本文中所描述的所述图数据结构可以利用任何适当命名法来实施。
在图10A的示例中,节点记录NRA[42]表示更一般性图数据结构100的主语图节点SA.3和SA.4,并且节点记录NRA[43]表示更一般性图数据结构100的主语图节点SA.7和SA.8和宾语图节点OA.4。因此,在图10B中,分别与图3B和图4B的主语图节点SA.3和SA.4在图中相同的位置描绘节点记录NRA[42]。返回到图10A,节点记录NRA[42]被扩展,以在应用程序无关的数据格式中示出主语图节点SA.3和SA.4的表示。在示例中,存储在图数据结构中的以用户为中心的事实是应用程序特定的事实。除了应用程序特定的事实之外,所述以用户为中心的事实还可以包括一种或多种机制,其中,富集是包括与应用程序特定的事实相关联的应用程序无关的事实的额外数据。
用于以用户为中心的事实的应用程序无关的数据格式允许除了图数据结构中的连接的应用程序无关的表示之外高效率地存储应用程序特定的事实。例如,主语图节点SA.3可以表示应用程序特定的事实(例如,安排新会议的事实)的主语。因此,所述图数据结构针对应用程序特定的事实存储面指针(facet pointer),其指示与该应用程序特定的事实相关联的辅助性应用程序特定的数据。在示例中,面指针PA[42]是指示与SA.3相关联的辅助性应用程序特定的数据的存储位置、例如表示会议的细节的日历条目的存储位置的标识符(例如,数字标识符)。面指针PA[42]可以基于其包括在应用程序特定的图结构A中而与特定类型的数据(例如,日历数据)相关联,因为应用程序特定的图结构A与日程规划软件相关联。在其他示例中,面指针可以包括标识指定辅助性应用程序特定的数据的类型的额外标识信息,使得可以使用面指针来表示不同种类的辅助性应用程序特定的数据(例如,能由文字处理应用程序使用的多种文件类型)。可以使用所述图数据结构来经由面指针找到辅助性应用程序特定的数据,同时避免在所述图数据结构内冗余地存储辅助性应用程序特定的数据。
除了在主语图节点中存储的面指针之外,应用程序特定的事实还由将主语图节点连接到一个或多个宾语图节点的边来表示。尽管单个主语图节点可以被包括在超过一个以用户为中心的事实中,但是图数据结构200仅高效率地存储针对所述主语图节点的单个节点记录。该节点记录包括节点的所有外出边的列表,与存储针对其发生于其中的每个以用户为中心的事实的主语图节点的副本相比,这可以减少存储空间需求。外出边的列表可以针对一些节点是空的,例如,针对仅仅是宾语图节点的名词。主语图节点的外出边的列表包括定义一个或多个边的一个或多个边记录。所述一个或多个边可以被存储在边记录中,例如ERA[261]和ERA[375]。尽管图10A示出了具有两条外出边的节点记录,但是节点记录可以包括任意数量的边,以适当地表示与图数据结构的其他节点的关系,例如,零个、一个或三个或更多个边。
从主语图节点到宾语图节点的边指定了与所述宾语图节点、例如节点记录NRA[42]的宾语图节点ID“A[55]”相关联的宾语图节点记录标识符。所述宾语图节点记录标识符是指示定义宾语图节点的节点记录、例如NRA[55]的存储位置的一致节点记录标识符。边可以进一步指定存储宾语图节点的构成性图结构的宾语域标识符,例如,指示NRA[55]被存储在构成性图结构A中的节点记录NRA[42]的宾语域ID“A”。因此,图10B示出了经由记录ERA[261]和ERA[375]表示的边连接到由节点记录NRA[55]和NRA[21]表示的节点的节点记录NRA[42]。返回到图10A,从主语图节点到宾语图节点的边(例如,如在边记录中所表示的)可以进一步指定主语图节点与宾语图节点之间的关系类型。例如,边记录ERA[261]定义关系类型RA[261],其可以指示“安排会议”关系,而边记录ERA[375]定义关系类型RA[375],其可以指示“做出承诺”关系。
除了经由面指针和外出边的列表来表示应用程序特定的事实之外,所述主语图节点还可以表示应用程序特定的事实的一个或多个富集。在示例中,一个或多个富集包括节点置信度值,例如,节点记录NRA[42]的节点置信度CA[42]。节点置信度CA[42]可以指示节点记录CA[42](以及其表示的主语图节点)与用户的相关性。例如,可以由经训练以识别与用户的相关性的机器学习模型,通过学习区分相关数据的带标签样本与不相关数据的带标签样本,来确定置信度值。例如,训练所述机器学习模型可以包括利用经用户标记的样本(例如,从应用于应用程序期间的直接用户反馈导出)的监督的训练和/或无监督的训练。在图10A的示例中,节点记录NRA[42]的节点置信度CA[42]可以是比节点记录NRA[55]的节点置信度CA[55]更高的值,指示相信节点记录NRA[42]比节点记录NRA[55]与用户更相关。
在图10A中所示的示例中,一个或多个富集还包括与每条边相关联的边置信度值,例如边记录ERA[261]的边置信度KA[261]。如节点置信度值那样,边置信度值可以指示特定边(例如,ERA[261])与用户的相关性。一对节点之间的不同边可以具有不同的置信度值。例如,指示“安排会议”关系的边记录ERA[261]可以具有比指示“做出承诺”的边记录ERA[375]的边置信度KA[375]更低的置信度KA[261],例如,如果相信安排的会议比承诺与用户更相关。
除了节点置信度值和边置信度值之外,应用程序特定的事实的一个或多个富集还可以包括其他应用程序无关的和/或应用程序特定的的数据。例如,节点记录NRA[42]包括访问元数据MA[42],其指示与访问节点记录NRA[42]相关联的信息以及相关联的应用程序特定的数据(例如,由面指针PA[42]指示的数据)。访问元数据MA[42]可以包括指示最近访问的时间和日期的时间戳、指示最近访问导致的改变的增量值或者任何其他适当的元数据。
所述图数据结构可以额外地针对以用户为中心的事实来存储一个或多个标签,其定义与所述以用户为中心的事实相关联的辅助性数据。例如,节点记录NRA[42]还包括标签TA[42],其可以包括与所述节点相关联的任何其他适当的辅助性数据。例如,当节点NRA[42]表示人(例如,与联系簿条目相关联)时,标签TA[42]可以包括该人的昵称和该人的替代电子邮件地址。
可以利用标签中存储的额外语义来富集以用户为中心的事实和以用户为中心的事实的节点/边。例如,可以使用标签来存储以用户为中心的事实的一个或多个富集。存储于节点记录之内的标签可以与节点记录表示主语图节点或者节点记录表示宾语图节点的以用户为中心的事实相关联。替代地或另外地,节点记录之内存储的标签可以与节点记录自身相关联(例如,与由节点记录所表示的主语图节点和/或与有节点记录所表示的宾语图节点相关联),或者与连接到所述节点记录的一个或多个边相关联。在其他示例中,可以使用标签来存储以用户为中心的事实的元数据(例如,替代或补充以用户为中心的事实的访问元数据)。例如,当以用户为中心的事实与时间戳相关联时,可以任选地在以用户为中心的事实的标签之间存储时间戳。
在一些示例中,一个或多个标签可以是日程标签,并且图数据结构被配置为允许通过在可搜索标签之间搜索来发现以用户为中心的事实(例如,搜索存储搜索串的标签或者搜索存储多个类型数据的标签)。
可以将图数据结构表示为多个应用程序特定的构成性图结构,其中,所述构成性图结构的节点在构成性图结构之间被交叉引用(例如,通过交叉引用边和节点交叉引用,如上文参考图8A-9B所描述的)。图11A示出了图10A中所示的相同的以节点为中心的数据结构200的另一示范性视图,关注于表示主语图节点SA.7、SA.8和宾语图节点OA.4的节点NRA[43]。来自NRA[43]的外出边的列表包括指示宾语图节点ID“A[61]”的边记录ERA[213],表示在相同构成性图结构A中的节点。来自NRA[43]的外出边的列表还包括指示宾语域ID“B”和宾语图节点ID“B[61]”的边记录ERA[435],表示构成性图结构B中的节点。因此,边记录ERA[435]是交叉引用边。图11B图解性地描绘了与图1A-9B相同的图数据结构,包括NRA[43]以及其指向NRA[61]和NRB[25]的外出边。
图12A示出了在图10A所示的以节点为中心的数据结构200的另一示范性视图,关注于表示宾语图节点OA.1、OA.5、OA.6和OA.7的节点NRA[67]。需要注意的是,来自节点NRA[67]的外出边的列表为空,因为NRA[67]仅表示宾语图节点,所述宾语图节点仅有内入边。然而,NRA[67]还包括表示图数据结构识别出OA.1、OA.5、OA.6和OA.7表示与构成性图结构B的OB.3相同的节点的交叉引用。因此,交叉引用指定指示构成性图结构B的参考域ID“E”以及指示交叉引用节点OB.3存储于表示构成性图结构B的另一以节点为中心的数据结构的节点记录NRB[76]中的参考节点ID“B[76]”。图12B图解性地描绘了在图1A-9B中所示的相同图数据结构。需要注意的是,节点记录NRA[67]被描绘在与图5B和图6B的宾语图节点OA.5和OA.6相同的位置处,这也是与图8B的宾语图节点OA.5相同的位置。
以节点为中心的数据结构200是应用程序无关的,因为可以使用其跟踪来自两个或更多个潜在不相关计算机服务的事实,所述计算机服务可能具有不同的固有数据格式。以节点为中心的数据结构200可以通过存储面指针,使得以用户为中心的事实即使在应用程序特定的事实可以被存储在应用程序特定的格式中时也能够包括应用程序特定的事实,从而存储任何计算机服务的应用程序特定的事实。此外,所述以节点为中心的数据结构200通过以域标识符(例如,每个主语图节点的外出边列表中的宾语域标识符,或者节点交叉引用的表示中的参考域标识符)和节点标识符(例如,宾语图节点标识符和参考节点标识符)的形式来存储交叉引用,使得能够表示在两个或更多个计算机服务的语境中所定义的以用户为中心的事实。此外,以节点为中心的数据结构200是以用户为中心的,因为可以针对每个用户定义不同的以节点为中心的数据结构200。以节点为中心的数据结构200可以适合在多个不同用户与共享计算机服务(例如,web浏览器)交互的语境中存储以用户为中心的事实。因为以节点为中心的数据结构200经由面指针来存储应用程序特定的事实并且经由交叉引用来表示与其他数据结构中的事实的关系,所以能够在该用户特定的以用户为中心的图数据结构中存储关于用户的以用户为中心的事实,而无需对共享计算机服务的应用程序特定的数据的写入访问。
图13示出了用于维护以用户为中心的AI知识库的示范性计算环境1300。计算环境1300包括经由网络1310被通信地耦接到多个应用程序特定的数据提供方计算机(例如,应用程序特定的数据提供方计算机1321、1322和1329等)的图存储机器1301。图存储机器1301和所述多个应用程序特定的数据提供方计算机进一步经由网络1310被通信地耦接到用户的一个或多个用户计算机(例如,用户计算机1340和用户计算机1341)。例如,用户计算机1340可以是用户的台式计算机,而用户计算机1341可以是用户的移动计算设备。网络1310可以是任何适当的计算机网络(例如,因特网)。图存储机器1301可以被实施为单个机器(例如,计算机服务器)。替代地,可以跨多个不同的物理设备来分布图存储机器1301的功能(例如,通过将图存储机器1301实施为计算机集群提供的虚拟服务)。每个应用程序特定的数据提供方计算机(例如,应用程序特定的数据提供方计算机1321)可以与用户所使用的一个或多个计算机服务相关联,例如,社交网络应用程序、电子邮件应用程序、日程规划器应用程序、办公套件、物联网器具功能、web搜索应用程序等。
在用户经由用户计算机1340和/或用户计算机1341与一个或多个计算机服务交互时,应用程序特定的数据提供方计算机可以汇总涉及用户与一个或多个计算机服务的交互的信息。在用户与社交网络应用程序交互的示例中,应用程序特定的数据提供方计算机132可以被通信地耦接到提供社交网络应用程序的功能的服务器。因此,当用户与社交网络应用程序交互时,服务器可以向应用程序特定的数据提供方计算机1322提供交互的指示。继而,应用程序特定的数据提供方计算机1322可以向图存储机器1301提供一个或多个以用户为中心的事实。在示例中,用户计算机1340可以执行一个或多个应用程序,其可以向图存储机器1301提供在用户计算机1340处汇总的额外的以用户为中心的事实,使用户计算机1340充当额外的以用户为中心的事实提供方。在示例中,用户计算机1340可以执行一个或多个应用程序,应用程序可以通过例如发送查询来自图存储机器1301请求以用户为中心的事实。尽管以上示例包括用户经由用户计算机1340与一个或多个计算机服务交互,但是在其他示例中,用户可以经由用户计算机1341(而不是用户计算机1340或者除了用户计算机1340之外)与一个或多个计算机服务交互。例如,当用户计算机1340通过向图存储机器1301提供一个或多个事实而充当应用程序特定的数据提供方时,用户计算机1341可以执行一个或多个应用程序以请求从图存储机器1301请求以用户为中心的事实。通过这种方式,图存储机器1301可以汇总来自用户的多个不同的用户计算机的以用户为中心的事实,同时还允许不同的用户计算机中的每个用户计算机请求并且利用以用户为中心的事实。
在示例中,用户计算机1340可以执行被配置为经由网络1310与图存储机器1301通信的智能助理程序。所述智能助理程序可以经由被配置为接收音频和/或文本自然语言查询的NUI从用户接收查询。所述智能助理程序可以向存储机器1301发送一个或多个查询,以便接收响应于所述查询的一个或多个以用户为中心的事实。替代地或另外地,所述智能助理程序可以汇总以用户为中心的事实(例如,经由NUI在交谈中指示的用户兴趣),使用户计算机1340充当应用程序特定的数据提供方。在一些情况下,可以由单个实体或组织来管理图存储机器1301和应用程序特定的数据提供方,在这种情况下,可以将应用程序特定的数据提供方称为“第一方”应用程序特定的数据提供方。在其他情况下,可以由不同的实体或组织来管理图存储机器1301和应用程序特定的数据提供方,在这种情况下,可以将应用程序特定的数据提供方称为“第三方”应用程序特定的数据提供方。
图14示出了维护以用户为中心的人工智能知识库的示范性方法1400。以用户为中心的AI知识库可以适于用于存储关于与多个不同的、可能不相关的计算机服务交互的用户的以用户为中心的事实。此外,所述以用户为中心的AI知识库可能不能够用于回答关于以用户为中心的事实的查询。维护以用户为中心的AI知识库包括通过存储一个或多个以用户为中心的事实、通过添加额外的事实来更新以用户为中心的AI知识库、以及在查询和使用时更新以用户为中心的AI知识库(例如,以存储对查询的高速缓存答案,从而使得能够接下来快速回答查询)来构建知识库。
在1401处,方法1400包括维护包括与用户相关联的多个以用户为中心的事实的图数据结构。每个以用户为中心的事实可以具有应用程序无关的数据格式,例如,包括主语图节点、宾语图节点以及将主语图节点连接到宾语图节点的边。所述图数据结构可以被表示为多个应用程序特定的构成性图结构,其中,构成性图结构的节点跨构成性图结构被交叉引用。可以使用任何适当的应用程序无关的数据格式来存储图数据结构,诸如上文参考图10A-12B所描述的以节点为中心的数据结构200。
在1402处,方法1400任选地包括向应用程序特定的数据提供方自动地发送请求以提供以用户为中心的事实。可以通过任何适当的方式,例如,通过计算机网络经由应用程序特定的数据提供方的API,来向应用程序特定的数据提供方发送请求。所述请求可以指示应当提供具体的以用户为中心的事实(例如,来自特定时间和/或日期范围之内的以用户为中心的事实、尚未由应用程序特定的数据提供方提供的以用户为中心的事实和/或具有特定相关联的标签的以用户为中心的事实)。替代地,所述请求可以指示应当提供所有可用的以用户为中心的事实。向应用程序特定的数据提供方发送请求以及接收响应于请求的以用户为中心的事实在本文中可以被称为从应用程序特定的数据提供方“拉取”数据。可以根据任何适当的安排,例如,周期性地请求额外的以用户为中心的事实。除了响应于请求而提供额外的以用户为中心的事实之外,多个应用程序特定的数据提供方的一应用程序特定的数据提供方可以在没有这样做的请求的情况下发送以用户为中心的事实,在本文中可以将其称为向以用户为中心的AI知识库“推送”以用户为中心的事实。
在1403处,方法1400包括从与第一计算机服务相关联的第一应用程序特定的数据提供方接收第一以用户为中心的事实(例如,由于从应用程序特定的数据提供方拉取数据,或者由于应用程序特定的数据提供方向以用户为中心的AI知识库推送以用户为中心的事实)。如在1404处所描述的,可以经由将以用户为中心的事实的存储格式约束为应用程序无关的数据格式的API来接收以用户为中心的事实,诸如第一以用户为中心的事实。例如,API可以约束存储格式以使用特定数据存储格式,诸如上文所描述的节点记录格式的实施方式。此外,API可以约束所存储的数据的最大磁盘使用和/或要求以加密数据格式来存储数据。
在1405处,方法1400包括以应用程序无关的数据格式向图数据结构添加第一以用户为中心的事实。例如,向所述图数据结构添加第一以用户为中心的事实可以包括将第一以用户为中心的事实转换成上文参考图10A-12B所描述的节点记录格式,以及在与节点记录的节点记录标识符相关联的存储位置处存储所得的节点记录。所述第一以用户为中心的事实可以是应用程序特定的事实。因此,在1406处,所述图数据结构可以存储面指针,所述面指针指示与应用程序特定的事实相关联的辅助性应用程序特定的数据,如上文结合图10A-12B所描述的。
在1406处,所述图数据结构任选地可以存储应用程序无关的富集,例如,与应用程序特定的事实相关联的应用程序无关的事实。所述富集可以在从应用程序特定的数据提供方接收时被包括在以用户为中心的事实中。替代地或另外地,可以对由应用程序特定的数据提供方提供的以用户为中心的事实进行预处理,以经由包括一个或多个富集适配器的富集管道来包括一个或多个富集。当所述图数据结构存储与以用户为中心的事实相关联的标签(例如,节点记录中存储的标签)时,可以在标签之间包括一个或多个富集。
在示例中,富集适配器包括被配置为接收应用程序特定的事实的机器学习模型,以识别应用程序特定的事实与用户的相关性,并且输出通过数值方式指示所述相关性的置信度值。所述机器学习模型可以是任何适当的模型,例如统计模型或神经网络。例如,可以基于用户反馈来训练所述机器学习模型。例如,当所述机器学习模型是神经网络时,可以经由目标函数来评估神经网络的输出,所述目标函数指示由神经网络输出的预测的相关性的误差水平,与用户反馈中指示的实际相关性比较。可以使用反向传播算法按照神经网络的各层中的每个函数的导数来计算目标函数的梯度。因此,可以基于梯度(例如,经由梯度下降)来调节神经网络的权重,以使目标函数指示的误差水平最小化。在一些示例中,可以针对特定用户基于在用户与软件应用程序交互时提供的直接反馈(例如,指示搜索应用程序中的搜索结果的相关性)来训练机器学习模型。因此,经训练的机器学习模型可能能够估计与用户的相关性。在其他示例中,可以基于来自用户的间接反馈来训练机器学习模型,例如,通过估计相关内容与用户过去指示为相关的其他内容的相似性。
在另一示例中,富集适配器包括用于识别应用程序特定的事实的自然语言特征的自然语言程序。例如,所述自然语言程序可以通过识别自然语言特征与现有主语和/或宾语图节点相关联而针对应用程序特定的事实来确定主语图节点和/或宾语图节点。在其他示例中,所述自然语言程序可以针对应用程序特定的事实的边来确定关系类型。在其他示例中,所述自然语言程序可以确定针对应用程序特定的事实的主语图节点和/或宾语图节点的一个或多个标签。所述自然语言程序可以被配置为识别特征,包括:1)命名的实体(例如,人、组织和/或物体),2)意图(例如,与自然语言特征相关联的感情或目标),3)事件和任务(例如,用户意图稍晚做的任务),4)主题(例如,以用户为中心的事实所包含或表示的主题),5)位置(例如,以用户为中心的事实所援引的地理位置或者发生以用户为中心的事实的地方),和/或6)日期和时间(例如,指示与以用户为中心的事实相关联的过去事件或将来安排的事件的时间戳)。
与以用户为中心的事实相关联的富集可以提供以用户为中心的事实的富集化语义(例如,额外的有意义信息、超过由在以用户为中心的事实的主语图节点与宾语图节点之间的边形成的连接结构提供的信息)。所述图数据结构可以识别并且包括可以从富集化的语义(例如,基于在富集管道中添加的一个或多个富集)导出的额外的以用户为中心的事实。因此,添加包括一个或多个富集的以用户为中心的事实还可以包括基于一个或多个富集来识别额外的以用户为中心的事实,以及以应用程序无关的数据格式向图数据结构添加该额外的以用户为中心的事实。
基于一个或多个富集来识别额外的以用户为中心的事实可以包括:识别所述一个或多个富集中的一富集对应于图数据结构中的已经包括的另一以用户为中心的事实(例如,因为该富集与其他以用户为中心的事实的主语名词或宾语名词相关联)。替代地或另外地,基于一个或多个富集识别额外的以用户为中心的事实可以包括:识别一个或多个富集中的与任何以用户为中心的事实中尚未涉及的主语名词相关联的第一富集,识别所述一个或多个富集的第二富集与宾语名词相关联,识别该主语名词与该宾语名词之间的关系,以及向图数据结构添加涉及该宾语名词和主语名词的新的以用户为中心的事实。在其他示例中,基于一个或多个富集来识别额外的以用户为中心的事实包括:识别一个或多个富集之间的任何适当关系,以及添加表示所识别的关系的以用户为中心的事实。
在示例中,第一节点和第二节点均包括指定所识别的命名的实体的富集,其中,这两项富集都指定相同的命名的实体。因此,所述图数据结构可以存储将第一节点连接到第二节点的边,并且边的关系类型可以指示两个节点被推断为与相同实体相关联。替代地或另外地,所述图数据结构可以在每个节点中存储节点交叉引用,指示另一节点与相同命名的实体相关联。替代地,所述图数据结构可以修改第一节点以包括第二节点的数据并且删除第二节点,由此通过塌缩该表示以包括单个节点而非两个节点,从而避免第二节点的数据的冗余存储。
在另一示例中,第一节点包括指定命名的实体的富集,并且可以添加将第一节点连接到表示相同的命名的实体的第二节点的边。在另一示例中,可以在具有相同关联主题的第一节点与第二节点之间添加边。在另一示例中,可以在具有相同关联时间和/或位置的第一节点与第二节点之间添加边。例如,可以在援引具体日历日期(例如,在标签中)的第一节点与在所述特定日历日期创建的第二节点(例如,由访问元数据指示的)之间添加边。在另一示例中,可以在相同位置创建的或者援引相同位置的两个节点之间添加边。
在1407处,以应用程序无关的数据格式向所述图数据结构添加以用户为中心的事实任选地包括将以用户为中心的事实存储为加密的以用户为中心的事实,其中,对加密的以用户为中心的事实的访问受到凭据的约束。例如,所述凭据可以是与该用户相关联的用户账户凭据,并且加密的以用户为中心的事实仅可以被用户账户凭据的持有者读取。在另一示例中,所述凭据可以是与企业计算机网络中的用户相关联的企业账户凭据,并且加密的以用户为中心的事实仅可以被企业账户凭据的持有者以及企业计算机网络的一个或多个管理员读取。从应用程序特定的数据提供方接收的以用户为中心的事实可以被接收为使用所述凭据加密的经加密的以用户为中心的事实。如果是这样,可以使用相同的凭据以相同的加密形式来存储加密的以用户为中心的事实,而无需对加密的以用户为中心的事实进行解密和重新加密。此外,加密的以用户为中心的事实可以是利用同态加密方案来加密的,在这种情况下,可以修改加密的以用户为中心的事实(例如,以添加富集),而无需对加密的以用户为中心的事实进行解密和重新加密,之后存储经修改的加密的以用户为中心的事实。替代地,可以使用不同凭据对从应用程序特定的数据提供方接收的以用户为中心的事实进行加密,在这种情况下,可以使用所述凭据对所接收的以用户为中心的事实进行解密和重新加密,之后存储所得到的重新加密的以用户为中心的事实。替代地,可以不对从应用程序特定的数据提供方接收的以用户为中心的事实进行加密,在这种情况下,可以使用所述凭据对所接收的以用户为中心的事实进行加密,之后存储所得到的加密的以用户为中心的事实。
除了将以用户为中心的事实存储为经加密的以用户为中心的事实之外,所述图数据结构还可以通过响应于清除触发而清除所述图数据结构以编校一个或多个以用户为中心的事实,从而提供额外的隐私性和安全性。例如,所述清除触发可以是编校一个或多个经加密的以用户为中心的事实的用户命令。所述用户命令可以指示特定的以用户为中心的事实(例如,响应于特定查询的以用户为中心的事实,或者来自特定范围的时间/日期的以用户为中心的事实)。替代地或另外地,所述用户命令可以指示应当编校整个以用户为中心的AI知识库。在另一示例中,所述清除触发可以是自动安排的触发,例如周期性地发生,或者在将来以特定的安排时间发生一次。
在1408处,方法1400包括从与不同于第一计算机服务的第二计算机服务相关联的第二应用程序特定的数据提供方接收第二以用户为中心的事实。可以通过任何适当的方式(例如,如上文结合接收第一以用户为中心的事实所描述的)接收第二以用户为中心的事实。
在1409处,方法1400包括以应用程序无关的数据格式向图数据结构添加第二以用户为中心的事实。可以通过任何适当方式(例如,如上文结合向图数据结构添加第一以用户为中心的事实所描述的)向所述图数据结构添加第二以用户为中心的事实。与仅包括从单个计算机服务导出的以用户为中心的事实的知识库相比,应用程序无关的数据格式可以利用改进的实用性(例如,在回答用户查询时)来促进以用户为中心的AI知识库。尽管可以从两个不同的计算机服务接收第一以用户为中心的事实和第二以用户为中心的事实,两个不同的计算机服务可以具有不同的不兼容的固有数据格式,但是可以以相同的应用程序无关的数据格式来存储第一以用户为中心的事实和第二以用户为中心的事实。此外,尽管以上示例包括来自两个不同计算机服务的以用户为中心的事实,但是对可以贡献于知识库的不同计算机服务的数量没有限制。另外,不要求不同计算机服务以任何特定方式彼此相关或者与以用户为中心的AI知识库相关(例如,不同的计算机服务和以用户为中心的AI知识库可以相互不相关并且由不同的计算机服务提供商来提供)。因此,所述以用户为中心的AI知识库可以包括从多个不同的计算机服务导出的以用户为中心的事实,由此包括来自更多不同语境的更多以用户为中心的事实。此外,应用程序特定的构成性图结构之间的交叉引用使得以用户为中心的事实能够表达不同计算机服务的各方面之间的关系,与维持多个不同的独立知识库而没有交叉引用相比,这可以进一步改善实用性。
在一些情况下,所述第二以用户为中心的事实可以具有与所述图数据结构中已经存储的第一以用户为中心的事实相同的主语名词,而具有与第一以用户为中心的事实的那些不同的宾语名词和边。因此,添加第二以用户为中心的事实可以包括识别第二以用户为中心的事实具有与第一以用户为中心的事实相同的主语名词,并且修改表示所述第一以用户为中心的事实的节点记录以包括新的边记录,所述新的边记录表示从第二以用户为中心的事实的主语名词到宾语名词的新的外出边。因此,所述节点记录可以一开始表示第一以用户为中心的事实,并且随后可以更新该节点记录以额外地表示第二以用户为中心的事实。
在1410处,方法1400任选地包括响应于查询来输出图数据结构中所包括的以用户为中心的事实的子集,其中,选择以用户为中心的事实的所述子集以满足由所述查询定义的一组约束条件。对查询的响应可以通过任何适当方式来完成,例如根据图15的方法1500来完成。
图15示出了用于对查询做出响应的示范性方法1500。查询定义可以由以用户为中心的AI知识库中的以用户为中心的事实的子集满足的一组约束条件。约束条件可以包括定义以用户为中心的事实的主语图节点、宾语图节点以及边的任何适当特征,诸如以下中的任何特征:1)在以用户为中心的事实中所包括的主语和/或宾语图节点的类型(例如,主语图节点表示人);2)在所述以用户为中心的事实中所包括的主语和/或宾语图节点的身份(例如,宾语图节点表示特定电子邮件消息);3)连接主语图节点和宾语图节点的边的类型;4)主语图节点、宾语图节点和/或边的置信度值;5)与主语图节点、宾语图节点和/或边相关联的那天的日期和/或时间的范围;和/或6)主语图节点、宾语图节点和/或边的任何其他特征,诸如主语图节点的访问元数据和/或标签。对查询的回答包括满足所述一组约束条件的以用户为中心的事实的子集,或者不能够满足所述一组约束条件的指示。
可以通过任何适当的方式来接收查询。例如,可以经由查询API来接收查询,所述查询API允许客户端通过编程方式以计算机可读查询格式来定义所述一组约束条件。替代地,可以将查询接收为自然语言查询并且通过使用自然语言处理技术识别约束条件来转换成一组约束条件。例如,所述以用户为中心的AI知识库可以能够训练语义嵌入模型以将自然语言查询和约束条件组表示为由语义嵌入模型学习的潜在空间之内的点,以便通过识别潜在空间中与自然语言查询相对应的点并且输出与潜在空间中的点相对应的一组约束条件,从而将自然语言查询转换成约束条件组。替代地或另外地,所述以用户为中心的AI知识库可以能够使用句法分析模型(例如,依存句法分析)来参照模板查询匹配自然语言查询的句法结构,并且通过使用自然语言查询的细节来填充模板查询的细节,从而指定一组约束条件。
在1501处,方法1500包括:识别先前被作为高速缓存的查询被服务的查询,以及输出高速缓存的响应以通过利用以用户为中心的事实中在先前接收到查询时满足高速缓存的查询的相同子集做出回答而服务于高速缓存的查询。这样,在1507处,方法1500包括输出以用户为中心的事实的先前高速缓存的子集。这样的高速缓存可以在将来再次接收到高速缓存的查询时能够高效率(例如,立即)取回高速缓存的响应。
如果尚未服务所述查询,那么在1502处,方法1500包括选择以用户为中心的事实中满足由所述查询定义的所述一组约束条件的子集。可以通过遍历所述图数据结构以找到至少部分地满足所述约束条件的以用户为中心的事实来满足所述一组约束条件。所述图数据结构表示以用户为中心的事实之间的结构化关系(例如,具有相同主语名词的两个事实可以由构成性图之内并且在构成性图之间交叉引用的单个节点记录来表示)。这样,与穷举性地搜索以用户为中心的事实的集合相比,可能更有效率的是遍历所述图数据结构以找到满足所述查询的以用户为中心的事实。例如,如果用户曾与特定的另一人频繁交互,所述频繁的交互可以指示该另一人可能与用户相关。因此,可能有更多的以用户为中心的事实以该人为主语或宾语,并且在遍历图数据结构的边时,可能更有可能遇到表示该另一人的节点,因为许多边指向并且来自表示该另一人的节点。
遍历所述图数据结构可以包括沿着所述图数据结构的边“随机游走”。所述随机游走可以开始于当前用户语境,在本文中使用当前用户语境指代用于对查询进行回答的任何适当起点。在示例中,当前用户语境可以由查询来定义(例如,通过包括语境关键字,语境关键字指示要用作起点的主语图节点)。在其他示例中,当前用户语境可以是适合确定要用作起点的主语图节点的应用程序特定的语境(例如,“答复电子邮件”)。
当在所述随机游走期间遇到节点(例如,在起点处)时,可以检查所述节点以确定其是否满足查询的约束条件。如果其满足约束条件,则可以在响应于所述查询的以用户为中心的事实的子集中将其输出。然后,在遇到所述节点之后,随机游走可以继续,从而遇到更多节点。为了找到更多节点,随机游走可以沿着所遇到的节点的外出边继续进行。确定是否沿着外出边继续可以是加权的随机确定,包括评估表示沿着所述边的可能性的权重,以及基于所述权重和随机数据采样来确定是否遵循所述边,例如,使用随机数值生成器实施的“轮盘赌选择”算法。可以基于主语图节点、边和/或宾语图节点的置信度值,来确定将主语图节点连接到宾语图节点的边的权重。在示例中,可以将所述置信度值解读为与用户的相关性的指示,从而更可能遵循更相关节点或者连接更多相关节点的边。可以进一步基于主语图节点、宾语图节点以及边的其他数据,例如,通过基于边类型与查询的一个或多个自然语言特征的自然语言比较来评估边与查询的相关性,从而确定边的权重。
通过指定约束条件(例如,定义以用户为中心的事实的主语图节点、宾语图节点以及边的特征),用户可能能够编制出要使用以用户为中心的AI知识库回答的多种查询。
除了选择满足在查询中指定的约束条件的以用户为中心的事实的子集之外,以用户为中心的AI知识库还可能能够对其他专业查询做出响应。图15示出了两个示范性专业查询:切片查询和排名查询。
在示例中,在1504处,所述查询是指示起始节点和距离参数的切片查询。对切片查询的答案是以用户为中心的事实的子集,所述子集包括通过在起始节点处开始并且遍历图数据结构的边以形成长度最多等于距起始节点的距离参数的路径而到达的以用户为中心的事实。例如,如果将距离参数设置为1,对查询的回答将包括起始节点以及直接连接到所述起始节点的所有去除一次的节点;并且如果将距离参数设置为2,对查询的回答将包括起始节点、所有去除一次的节点、以及直接连接到去除一次的节点中的至少一个的所有去除两次的节点。切片查询可以表示通过由最多所述距离参数的长度的路径连接到所述起始节点而可能与特定的感兴趣的以用户为中心的事实(例如,涉及起始节点的以用户为中心的事实)相关的以用户为中心的事实的集合。通过设置小的距离参数,对查询的回答可以表示与起始节点密切相关的事实的相对小的集合;类似地,通过设置大的距离参数,所述回答可以表示与所述起始节点间接相关的事实的大的集合。作为指定起始节点的替代方案,查询也可以使用当前用户语境作为起始节点,由此表示与用户的当前语境相关的以用户为中心的事实的集合。
在另一示例中,在1505处,所述查询是排名查询以至少基于与每个以用户为中心的事实相关联的置信度值对多个以用户为中心的事实仅需排名,并且根据每个以用户为中心的事实的置信度值按顺序对以用户为中心的事实的子集进行排名。排名查询可以被解读为收集可能与用户相关的以用户为中心的事实而不对查询施加额外的具体约束条件。除了基于置信度值对多个以用户为中心的事实进行排名之外,还可以基于其他特征对多个以用户为中心的事实排名。例如,如果以用户为中心的事实时间上更近(例如,根据与每个事实相关联的时间戳),可以将所述以用户为中心的事实加权为更相关。在另一示例中,排名查询可以包括关键字,并且如果以用户为中心的事实在其标签中包括具有该关键字的至少一个节点,可以将所述以用户为中心的事实加权为更相关。
尽管图15描绘了专业查询的两个示例,但是以用户为中心的AI知识库使得能够进行图15中未描绘的其他种类的专业查询。例如,可以通过置信度值,如在排名查询中那样,额外地对响应于切片查询的以用户为中心的事实的子集进行排名,由此组合两种查询的功能。在另一示例中,查询是指示起始节点的枢转查询。对枢转查询的回答是以用户为中心的事实的子集,所述子集包括通过在所述起始节点处开始并且遍历所述图数据结构的边以形成无界(或者任意的、大的)长度的路径而到达的以用户为中心的事实。枢转查询可以被解读为不限定起始节点到达的路径长度边界的切片查询,例如其中距离参数是无穷大的。在其他示例中,对查询的回答可以包括将以用户为中心的事实的答案子集可视化为图图(例如,如在图2A中那样),可以将其进行注释或动画化以包括以用户为中心的事实的任何适当信息(例如,由在以用户为中心的事实之一中所包括的节点的面指针指示的辅助性应用程序特定的数据)。
查询可以定义时间约束条件,从而将响应于所述查询而输出的以用户为中心的事实的子集限制到与指示由查询定义的范围之内的时间的时间戳相关联的以用户为中心的事实。在一些示例中,时间是图数据结构中的节点和边的固有性质(例如,在所述图数据结构中所包括的多个以用户为中心的事实的每个以用户为中心的事实都与一个或多个时间戳相关联)。与节点或边相关联的一个或多个时间戳可以指示创建、访问和/或修改以用户为中心的事实的时间(例如,在所述以用户为中心的事实中所包括的节点的访问元数据)。替代地或另外地,所述一个或多个时间戳可以指示以用户为中心的事实中所援引的时间(例如,会议安排的时间或者在富集管道中由富集适配器添加的任何其他时间戳)。所述一个或多个时间戳可以任选地被存储为可搜索标签。
回答查询可以包括基于与每个以用户为中心的事实相关联的所述一个或多个时间戳遍历所述图数据结构,在本文中可以将其称为所述图数据结构的时间维度的遍历。例如,回答查询可以包括在与由所述查询定义的时间相关联的节点处开始,并且通过遵循具有指示更晚时间的时间戳的边来遍历所述图,使得所述时间戳与遍历以相同次序增大。在其他示例中,回答查询可以包括通过遵循时间戳在由查询定义的日期之前的任何边前进来遍历所述图数据结构。此外,所述图数据结构中的每个节点和边的固有时间性质可以使得能够实现所述图数据结构的时间线视图。在示例中,对查询的回答可以包括所述图数据结构的时间线视图,例如,按照由与每个以用户为中心的事实相关联的时间戳以时间顺序布置的以用户为中心的事实。
作为专业查询的另一示例,所述图结构可以被配置为允许基于由所述图数据结构针对以用户为中心的事实存储的可搜索标签来搜索以用户为中心的事实。基于可搜索标签搜索以用户为中心的事实可以包括通过任何适当的方式来遍历所述图(例如,如上文结合切片查询或枢转查询所描述的),并且在遍历所述图的同时,输出在遍历期间遇到的图结构存储了针对其的可搜索标签的任何以用户为中心的事实。
在选择了响应于查询的以用户为中心的事实的子集之后,可以对以用户为中心的事实的所述子集进行高速缓存,以使得能够将来立即回复相同的查询。因此,在1506处,方法1500任选地包括将所述查询高速缓存为高速缓存的查询,以及将响应于所述查询的以用户为中心的事实的子集高速缓存为高速缓存的响应。然后,在1507处,方法1500包括输出响应于所述查询的以用户为中心的事实的子集,这可以包括直接地输出以用户为中心的事实的选定子集,或者在高速缓存以用户为中心的事实的选定子集之后,输出所得到的以用户为中心的事实的高速缓存的子集。
当所述图数据结构包括经加密的以用户为中心的事实时,可以过滤所述图数据结构以生成经过滤的图数据结构,所述经过滤的图数据结构排除了一个或多个加密的以用户为中心的事实,并且包括其他以用户为中心的事实,而不揭示被排除的一个或多个加密的以用户为中心的事实。例如,可以由用户选择要被排除的加密的以用户为中心的事实(例如,通过响应于查询来选择加密的以用户为中心的事实,或者通过选择来自特定时间/日期范围的加密的以用户为中心的事实)。所述经过滤的图数据结构仍然可以用于回答查询,但是在回答中不包括任何加密的以用户为中心的事实。所述经过滤的图数据结构省去了被排除的以用户为中心的事实,而不以任何方式指示被排除的以用户为中心的事实的缺失。例如,回答将不指示存在一个或多个加密的以用户为中心的事实但是其经过编校。相反,回答将仅仅省去一个或多个加密的以用户为中心的事实,同时可能包括其他以用户为中心的事实。
在一些实施例中,可以将在本文中所描述的方法和过程结合到一个或多个计算装置的计算系统。具体地,可以将这样的方法和过程实施为计算机应用程序或服务、应用程序编程接口(API)、库和/或其他计算机程序产品。
图16示意性示出了能够编校上文所描述的方法和过程的一个或多个的计算系统1600的非限制性实施例。例如,计算系统1600可以充当图存储机器1301、应用程序特定的数据提供方计算机1321或用户计算机1340。以简化的形式示出了计算系统1600。计算系统1600可以采取一个或多个个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)和/或其他计算设备的形式。
计算系统1600包括逻辑机器1601和存储机器1602。计算系统1600可以任选地包括显示子系统1603、输入子系统1604、通信子系统1605和/或图16中未示出的其他部件。
逻辑机器1601包括被配置为执行指令的一个或多个物理设备。例如,所述逻辑机器可以被配置为执行指令,所述指令是一个或多个应用、服务、程序、例程、库、对象、部件、数据结构或其他逻辑构造的部分。可以实现这样的指令以执行任务、实施数据类型、变换一个或多个部件的状态、实现技术效果或者以其他方式实现期望的结果。
所述逻辑机器可以包括被配置为执行软件指令的一个或多个处理器。另外地或替代地,所述逻辑机器可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件逻辑机器。所述逻辑机器的处理器可以是单核的或多核的,并且在其上执行的指令可以被配置用于顺序、并行和/或分布式处理。任选地,可以在两个或更多个独立设备之间分布所述逻辑机器的个体部件,所述独立设备可以远程地定位和/或被配置用于进行协调处理。所述逻辑机器的各方面可以由在云计算配置中配置的可远程访问的联网计算设备来虚拟化并且执行。
存储机器1602包括被配置为保存能由逻辑机器执行以实施在本文中所描述的方法和过程的指令的一个或多个物理设备。当实施这样的方法和过程时,可以转换存储机器1602的状态——例如,以保存不同的数据。
存储机器1602可以包括可移除的和/或内置设备。存储机器1602可以包括光学存储器(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器(例如,RAM、EPROM、EEPROM等)和/或磁性存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)等。存储机器1602可以包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序访问、位置可寻址、文件可寻址和/或内容可寻址的设备。
尽管存储机器1602包括一个或多个物理设备,但是可以由物理装置在有限持续时间内未保持的通信介质(例如,电磁信号、光学信号等)来替代地传播在本文中所描述的指令的各方面。
可以将逻辑机器1601和存储机器1602的各方面一起集成到一个或多个硬件逻辑部件中。例如,这样的硬件逻辑部件可以包括现场可编程门阵列(FPGA)、程序特定和应用特定集成电路(PASIC/ASIC)、程序和应用特定标准产品(PSSP/ASSP)、片上系统(SOC)以及复合可编程序逻辑器件(CPLD)。
术语“模块”、“程序”和“引擎”可以被用于描述被实施为执行特定功能的计算系统1600的一方面。在一些情况下,可以经由执行由存储机器1602保存的指令的逻辑机器1601对模块、程序或引擎进行实例化。应当理解,可以从相同的应用、服务、代码块、对象、库、例程、API、函数等对不同模块、程序和/或引擎进行实例化。类似地,可以由不同的应用、服务、代码块、对象、例程、API、函数等对相同模块、程序和/或引擎进行实例化。术语“模块”、“程序”和“引擎”可以涵盖可执行文件、数据文件、库、驱动程序、脚本、数据库记录等的个体或组。
当包括时,显示子系统1603可以被用于呈现由存储机器1602保存的数据的视觉表示。这种视觉表示可以采取图形用户界面(GUI)的形式。在本文中所描述的方法和过程改变由存储机器所保存的数据,并且由此变换存储机器的状态,显示子系统1603的状态可以类似地被变换以在视觉上呈现底层数据的变化。显示子系统1603可以包括利用几乎任何类型技术的一个或多个显示设备。这样的显示设备可以与共享外壳中的逻辑机器1601和/或存储机器1602组合,或者这样的显示设备可以是外围显示设备。
当被包括时,输入子系统1604可以包括或者对接一个或多个用户输入装置,诸如键盘、鼠标、触摸屏或游戏控制器。在一些实施例中,所述输入子系统可以包括或者对接选定的自然用户输入(NUI)部件。这样的部件可以是集成的或外围的,并且可以在板上或板外处理对输入动作的转换和/或处理。示例NUI部件可以包括用于语音和/或声音识别的麦克风;用于机器视觉和/或姿态识别的红外、彩色、立体和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速度计和/或陀螺仪;以及用于评估大脑活动的电场感测部件。
当被包括时,通信子系统1605可以被配置为将计算系统与一个或多个其他计算系统1600进行通信地耦接。通信子系统1605可以包括与一种或多种不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,所述通信子系统可以被配置用于经由无线电话网络或者有线或无线局域网或广域网来通信。在一些实施例中,所述通信子系统可以允许计算系统1600经由诸如因特网的网络向和/或从其他设备发送和/或接收消息。
在示例中,一种维护以用户为中心的人工智能知识库的方法包括:维护包括与用户相关联的多个以用户为中心的事实的图数据结构,每个以用户为中心的事实具有应用程序无关的数据格式并且包括主语图节点、宾语图节点以及将主语图节点连接到宾语图节点的边;从与第一计算机服务相关联的第一应用程序特定的数据提供方接收第一以用户为中心的事实;以应用程序无关的数据格式向图数据结构添加第一以用户为中心的事实;从与不同于第一计算机服务的第二计算机服务相关联的第二应用程序特定的数据提供方接收第二以用户为中心的事实;以及以应用程序无关的数据格式向所述图数据结构添加第二以用户为中心的事实。在本示例或者任何其他示例中,所述图数据结构被表示为多个应用程序特定的构成性图结构,并且所述构成性图结构的节点在构成性图结构之间被交叉引用。在本示例或者任何其他示例中,所述图数据结构在由与节点相关联的一致节点记录标识符定义的节点记录存储位置处存储构成性图结构的每个节点。在本示例或者任何其他示例中,从主语图节点到宾语图节点的边指定与宾语图节点相关联的宾语图节点记录标识符以及存储所述宾语图节点的构成性图结构的宾语域标识符。在本示例或者任何其他示例中,从主语图节点到宾语图节点的边指定主语图节点与宾语图节点之间的关系类型。在本示例或者任何其他示例中,所述图数据结构针对以用户为中心的事实来存储一个或多个可搜索标签,所述可搜索标签定义与以用户为中心的事实相关联的辅助性数据。在本示例或者任何其他示例中,在所述图数据结构中存储的以用户为中心的事实是应用程序特定的事实,并且所述图数据结构针对应用程序特定的事实来存储富集,所述富集包括与所述应用程序特定的事实相关联的应用程序无关的事实。在本示例或者任何其他示例中,所述方法还包括基于所述富集来识别额外的以用户为中心的事实,以及以应用程序无关的数据格式向所述图数据结构添加所述额外的以用户为中心的事实。在本示例或者任何其他示例中,在所述图数据结构中存储的以用户为中心的事实是应用程序特定的事实,并且所述图数据结构针对应用程序特定的事实来存储面指针,所述面指针指示与应用程序特定的事实相关联的辅助性应用程序特定的数据。在本示例或者任何其他示例中,所述方法还包括:响应于查询输出在所述图数据结构中所包括的以用户为中心的事实的子集,其中,选择以用户为中心的事实的该子集以符合该查询定义的一组约束条件。在本示例或者任何其他示例中,所述方法还包括:将查询高速缓存为高速缓存的查询,以及将响应于所述查询的以用户为中心的事实的子集高速缓存为高速缓存的响应。在本示例或者任何其他示例中,所述查询是指示起始节点和距离参数的切片查询,并且其中,以用户为中心的事实的子集包括通过在起始节点开始并且遍历最多等于距起始节点的距离参数的若干边而到达的以用户为中心的事实。在本示例或者任何其他示例中,所述查询是排名查询以至少基于与每个以用户为中心的事实相关联的置信度值对多个以用户为中心的事实仅需排名,并且根据每个以用户为中心的事实的置信度值按顺序对以用户为中心的事实的子集仅需排名。在本示例或者任何其他示例中,多个以用户为中心的事实中的一个或多个以用户为中心的事实与一个或多个时间戳相关联。在本示例或者任何其他示例中,以应用程序无关的数据格式向所述图数据结构添加以用户为中心的事实包括将以用户为中心的事实存储为加密的以用户为中心的事实,其中,对加密的以用户为中心的事实的访问受到凭据的约束。在本示例或者任何其他示例中,所述方法还包括过滤所述图数据结构以生成经过滤的图数据结构,所述经过滤的图数据结构排除了一个或多个加密的以用户为中心的事实,并且包括其他以用户为中心的事实,而不揭示被排除一个或多个加密的以用户为中心的事实。在本示例或者任何其他示例中,所述方法还包括:响应于清除触发清除图数据结构以编校一个或多个以用户为中心的事实。在本示例或者任何其他示例中,经由应用程序编程接口接收第一以用户为中心的事实,所述应用程序编程接口将以用户为中心的事实在图数据结构中的存储格式约束为应用程序无关的数据格式。
在示例中,一种维护以用户为中心的人工智能知识库的方法包括:维护包括多个以用户为中心的事实的图数据结构,每个以用户为中心的事实具有主语图节点、宾语图节点以及将主语图节点连接到宾语图节点的边,其中,所述图数据结构利用具有节点记录标识符的应用程序无关的节点记录来跟踪每个节点,并且其中,针对主语图节点的节点记录包括将主语图节点连接到一个或多个宾语图节点的外出边列表;从与第一计算机服务相关联的第一应用程序特定的数据提供方接收第一以用户为中心的事实,所述第一以用户为中心的事实具有第一主语、第一宾语和第一边;向图数据结构添加具有与第一主语相对应的第一节点记录标识符的第一节点记录,所述第一节点记录包括指定与第一宾语相关联的第一宾语图节点记录标识符的第一边记录;从与不同于第一计算机服务的第二计算机服务相关联的第二应用程序特定的数据提供方接收第二以用户为中心的事实,所述第二以用户为中心的事实具有第一主语、不同于第一宾语的第二宾语、以及不同于第一边的第二边;以及修改所述第一边记录以包括指定与所述第二宾语相关联的第二宾语图节点记录标识符的第二边记录。
在示例中,一种图存储计算机包括:逻辑机器;以及被配置为保存指令的存储机器,所述指令能由逻辑机器执行以:维护包括与用户相关联的多个以用户为中心的事实的图数据结构,每个以用户为中心的事实具有应用程序无关的数据格式并且包括主语图节点、宾语图节点以及将主语图节点连接到宾语图节点的边;从与第一计算机服务相关联的第一应用程序特定的数据提供方,经由将第一以用户为中心的事实在图数据结构中的存储格式约束为应用程序无关的数据格式的应用程序编程接口,来接收第一以用户为中心的事实;以应用程序无关的数据格式向所述图数据结构添加第一以用户为中心的事实;从与不同于第一计算机服务的第二计算机服务相关联的第二应用程序特定的数据提供方,经由应用程序编程接口,接收第二以用户为中心的事实;以及以应用程序无关的数据格式向图数据结构添加第二以用户为中心的事实。
应当理解,在本文中所描述的配置和/或方法本质上是示范性的,这些具体实施例或示例不应当以限制性意义被考虑,因为有很多变化都是可能的。在本文中所描述的具体例程或方法可以表示任意数量的处理策略的一种或多种。这样,可以按照图示和/或描述的顺序、按照其他顺序、并行地执行图示和/或描述的各个动作或者省略。同样,可以改变上述过程的次序。
本公开的主题包括各种过程、系统和配置,以及本文公开的其他特征、功能、动作和/或性质以及其任何和所有等价物的所有新颖和非显而易见的组合和子组合。

Claims (15)

1.一种维护以用户为中心的人工智能知识库的方法,包括:
维护图数据结构,所述图数据结构包括与用户相关联的多个以用户为中心的事实,每个以用户为中心的事实都具有应用程序无关的数据格式,并且包括主语图节点、宾语图节点以及将所述主语图节点连接到所述宾语图节点的边;
从与第一计算机服务相关联的第一应用程序特定的数据提供方接收第一以用户为中心的事实;
以所述应用程序无关的数据格式向所述图数据结构添加所述第一以用户为中心的事实;
从与不同于所述第一计算机服务的第二计算机服务相关联的第二应用程序特定的数据提供方接收第二以用户为中心的事实;以及
以所述应用程序无关的数据格式向所述图数据结构添加所述第二以用户为中心的事实。
2.根据权利要求1所述的方法,其中,所述图数据结构被表示为多个应用程序特定的构成性图结构,并且其中,所述构成性图结构的节点在构成性图结构之间被交叉引用。
3.根据权利要求2所述的方法,其中,所述图数据结构在由与构成性图结构的每个节点相关联的一致节点记录标识符定义的节点记录存储位置处存储所述节点。
4.根据权利要求2所述的方法,其中,从主语图节点到宾语图节点的边指定与所述宾语图节点相关联的宾语图节点记录标识符以及存储所述宾语图节点的构成性图结构的宾语域标识符。
5.根据权利要求1所述的方法,其中,从主语图节点到宾语图节点的边指定所述主语图节点与所述宾语图节点之间的关系类型。
6.根据权利要求1所述的方法,其中,所述图数据结构针对以用户为中心的事实来存储一个或多个可搜索标签,所述可搜索标签定义与所述以用户为中心的事实相关联的辅助性数据。
7.根据权利要求1所述的方法,其中,在所述图数据结构中所存储的以用户为中心的事实是应用程序特定的事实,并且所述图数据结构针对所述应用程序特定的事实来存储富集,所述富集包括与所述应用程序特定的事实相关联的应用程序无关的事实。
8.根据权利要求7所述的方法,还包括:基于所述富集来识别额外的以用户为中心的事实,以及以所述应用程序无关的数据格式向所述图数据结构添加所述额外的以用户为中心的事实。
9.根据权利要求1所述的方法,其中,在所述图数据结构中所存储的以用户为中心的事实是应用程序特定的事实,并且所述图数据结构针对所述应用程序特定的事实来存储面指针,所述面指针指示与所述应用程序特定的事实相关联的辅助性应用程序特定的数据。
10.根据权利要求1所述的方法,还包括:响应于查询而输出在所述图数据结构中所包括的以用户为中心的事实的子集,其中,选择以用户为中心的事实的所述子集以满足由所述查询所定义的一组约束条件。
11.根据权利要求10所述的方法,其中,所述查询是指示起始节点和距离参数的切片查询,并且其中,以用户为中心的事实的所述子集包括通过在所述起始节点处开始并且遍历最多等于距所述起始节点所述距离参数的多个边而到达的以用户为中心的事实。
12.根据权利要求10所述的方法,其中,所述查询是排名查询,以至少基于与每个以用户为中心的事实相关联的置信度值对所述多个以用户为中心的事实进行排名,并且根据每个以用户为中心的事实的所述置信度值按顺序对以用户为中心的事实的所述子集进行排名。
13.根据权利要求1所述的方法,其中,以所述应用程序无关的数据格式向所述图数据结构添加以用户为中心的事实包括将所述以用户为中心的事实存储为加密的以用户为中心的事实,其中,对所述加密的以用户为中心的事实的访问受到凭据的约束。
14.根据权利要求13所述的方法,还包括:过滤所述图数据结构以创建经过滤的图数据结构,所述经过滤的图数据结构排除一个或多个加密的以用户为中心的事实并且包括其他以用户为中心的事实而不揭示被排除的所述一个或多个加密的以用户为中心的事实。
15.根据权利要求1所述的方法,其中,经由应用程序编程接口接收所述第一以用户为中心的事实,所述应用程序编程接口将所述以用户为中心的事实在所述图数据结构中的存储格式约束为所述应用程序无关的数据格式。
CN201980020630.6A 2018-03-22 2019-03-14 以用户为中心的人工智能知识库 Pending CN111886608A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/933,017 2018-03-22
US15/933,017 US11687794B2 (en) 2018-03-22 2018-03-22 User-centric artificial intelligence knowledge base
PCT/US2019/022159 WO2019182836A1 (en) 2018-03-22 2019-03-14 User-centric artificial intelligence knowledge base

Publications (1)

Publication Number Publication Date
CN111886608A true CN111886608A (zh) 2020-11-03

Family

ID=65952123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980020630.6A Pending CN111886608A (zh) 2018-03-22 2019-03-14 以用户为中心的人工智能知识库

Country Status (4)

Country Link
US (1) US11687794B2 (zh)
EP (1) EP3769269A1 (zh)
CN (1) CN111886608A (zh)
WO (1) WO2019182836A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115481298A (zh) * 2022-11-14 2022-12-16 阿里巴巴(中国)有限公司 图数据处理方法及电子设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11687794B2 (en) * 2018-03-22 2023-06-27 Microsoft Technology Licensing, Llc User-centric artificial intelligence knowledge base
US11423104B2 (en) * 2019-08-30 2022-08-23 Microsoft Technology Licensing, Llc Transfer model learning for relevance models
US20220253470A1 (en) * 2021-02-05 2022-08-11 SparkCognition, Inc. Model-based document search
EP4145235A1 (en) * 2021-09-07 2023-03-08 Siemens Aktiengesellschaft Apparatus and method for rule-based predictive maintenance of a physical system
US20230316615A1 (en) * 2022-03-31 2023-10-05 Electronic Arts Inc. Learning character model animations with a layer-wise mixture-of-experts network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130297689A1 (en) * 2012-05-03 2013-11-07 Cisco Technology, Inc. Activity Stream Tuning Using Multichannel Communication Analysis
CN107466403A (zh) * 2015-05-28 2017-12-12 谷歌公司 对于数据资源的访问控制

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6946715B2 (en) * 2003-02-19 2005-09-20 Micron Technology, Inc. CMOS image sensor and method of fabrication
US9280535B2 (en) * 2011-03-31 2016-03-08 Infosys Limited Natural language querying with cascaded conditional random fields
US9336211B1 (en) * 2013-03-13 2016-05-10 Google Inc. Associating an entity with a search query
US20140278362A1 (en) * 2013-03-15 2014-09-18 International Business Machines Corporation Entity Recognition in Natural Language Processing Systems
US9380065B2 (en) 2014-03-12 2016-06-28 Facebook, Inc. Systems and methods for identifying illegitimate activities based on historical data
WO2015168203A1 (en) * 2014-04-29 2015-11-05 PEGRight, Inc. Characterizing user behavior via intelligent identity analytics
US10453074B2 (en) * 2016-07-08 2019-10-22 Asapp, Inc. Automatically suggesting resources for responding to a request
CN117692170A (zh) * 2016-09-15 2024-03-12 美商纳兹控股有限责任公司 通信方法和设备、折叠数据的方法和系统以及计算机
US11030223B2 (en) * 2017-10-09 2021-06-08 Box, Inc. Collaboration activity summaries
US10949465B1 (en) * 2018-01-04 2021-03-16 Amazon Technologies, Inc. Efficient graph tree based address autocomplete and autocorrection
SG11202007234RA (en) * 2018-01-29 2020-08-28 Emergex Llc System and method for facilitating affective-state-based artificial intelligence
US11687794B2 (en) * 2018-03-22 2023-06-27 Microsoft Technology Licensing, Llc User-centric artificial intelligence knowledge base

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130297689A1 (en) * 2012-05-03 2013-11-07 Cisco Technology, Inc. Activity Stream Tuning Using Multichannel Communication Analysis
CN107466403A (zh) * 2015-05-28 2017-12-12 谷歌公司 对于数据资源的访问控制

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115481298A (zh) * 2022-11-14 2022-12-16 阿里巴巴(中国)有限公司 图数据处理方法及电子设备
CN115481298B (zh) * 2022-11-14 2023-03-14 阿里巴巴(中国)有限公司 图数据处理方法及电子设备

Also Published As

Publication number Publication date
WO2019182836A1 (en) 2019-09-26
US11687794B2 (en) 2023-06-27
US20190294976A1 (en) 2019-09-26
EP3769269A1 (en) 2021-01-27

Similar Documents

Publication Publication Date Title
US11514114B2 (en) User-centric contextual information for browser
AU2019253187B2 (en) Computerized assistance using artificial intelligence knowledge base
CN110178151B (zh) 任务主视图
US11687794B2 (en) User-centric artificial intelligence knowledge base
US11556865B2 (en) User-centric browser location
US20150095303A1 (en) Knowledge Graph Generator Enabled by Diagonal Search
US11188551B2 (en) Multi-level data pagination
Seifert et al. Ubiquitous access to digital cultural heritage
US20180260442A1 (en) Self-tutoring graph of event data
US20230004559A1 (en) Ontology-based graph query optimization
Lee et al. LifeLogOn: A practical lifelog system for building and exploiting lifelog ontology
Rashid Access methods for Big Data: current status and future directions
US20180196866A1 (en) Topic nodes
Dobbins et al. Towards a framework for capturing and distributing rich interactive human digital memories
Cui et al. PrEV: Preservation Explorer and Vault for Web 2.0 User-Generated Content
Mason of the requirements for the degree of
Hoang Graphy: Exploring the potential of the contacts application

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination