CN112889043A - 以用户为中心的浏览器位置 - Google Patents

以用户为中心的浏览器位置 Download PDF

Info

Publication number
CN112889043A
CN112889043A CN201980065460.3A CN201980065460A CN112889043A CN 112889043 A CN112889043 A CN 112889043A CN 201980065460 A CN201980065460 A CN 201980065460A CN 112889043 A CN112889043 A CN 112889043A
Authority
CN
China
Prior art keywords
user
centric
graph
facts
context
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
CN201980065460.3A
Other languages
English (en)
Inventor
V·万格拉
N·库马尔
A·哈亚纳加尔卡尔
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 CN112889043A publication Critical patent/CN112889043A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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/904Browsing; Visualisation therefor
    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces

Abstract

本公开内容提供了一种用于在网络浏览器中提供智能选择的以用户为中心的内容的集合的系统和方法。当被实现为方法时,方法包括:维护具有多个以用户为中心的事实的以用户为中心的图,事实是从用户与不同的计算机服务的交互中得出的。方法还包括:识别用户感兴趣的不同上下文。对于每个上下文,在以用户为中心的图中识别与上下文有关的以用户为中心的事实的集合,这种识别是基于在以用户为中心的图中的以用户为中心的事实之间的关系的。方法还包括,对于每个上下文,基于以用户为中心的事实的集合来显示智能选择的内容。

Description

以用户为中心的浏览器位置
背景技术
用户经常使用浏览器软件来访问信息源(例如,网络、计算机文件系统、数据库、库等),以完成任务并从事各种活动。浏览器可以呈现策划的内容以作为浏览的起点。但是,典型的浏览器并未结合这样的起点进行配置来识别以用户为中心的个人信息并通过智能地呈现用户特别感兴趣的信息来对其做出响应。
发明内容
提供本发明内容以便以简化的形式对下面在具体实施方式中进一步描述的设计构思的选择进行介绍。本发明内容并不旨在确定要求保护的主题的关键特征或重要特征,也不旨在用于限制要求保护的主题的范围。另外,要求保护的主题不局限于解决本公开内容的任何部分中指出的任何或所有缺点的实现。
本公开内容提供了一种用于在网络浏览器中提供智能选择的以用户为中心的内容的集合的系统和方法。当被实现为方法时,所述方法包括:维护具有多个以用户为中心的事实的以用户为中心的图,所述事实是从用户与不同的计算机服务的交互中得出的。所述方法还包括:识别所述用户感兴趣的不同上下文。对于每个上下文,在所述以用户为中心的图中识别与所述上下文有关的以用户为中心的事实的集合,这种识别是基于在所述以用户为中心的图中的以用户为中心的事实之间的关系的。所述方法还包括,对于每个上下文,基于所述以用户为中心的事实的集合来显示智能选择的内容。
附图说明
图1A示出了用于在网络浏览器中提供智能选择的以用户为中心的内容的示例性计算机系统。
图1B示出了具有智能选择的以用户为中心的内容的集合的浏览器的另一示例。
图2示出了用于提供智能选择的以用户为中心的内容的方法。
图3A-图3B示出了用于存储以用户为中心的事实的集合的示例性以用户为中心的图数据结构。
图4示出了可以与本文描述的系统和方法一起使用的示例性计算机系统。
具体实施方式
本公开内容涉及一种用于浏览器程序向用户提供智能选择的信息集合的方法,例如,以通过提供有助于完成任务的信息来协助用户。浏览器程序的非限制性示例包括桌面式计算机、网络、移动电话和/或其它计算机服务,其被配置为浏览并访问内容。浏览的非限制性示例可以包括:1)查看以任何适当方式组织的内容列表(例如,通过文件位置或网址组织的);2)通过内容和/或元数据进行搜索(例如,通过内容类型、通过自然语言内容、通过文本字符串和/或样式、通过图像内容等);3)访问列表和/或搜索中的文件(例如,显示搜索结果中的图像);和/或4)访问/查看策划、建议,或以其它方式检索的内容。浏览器程序可以包括常规互联网网络浏览器和文件系统浏览器,以及被配置用于访问图书馆记录、医疗记录、财务数据、新闻档案和/或可以用可浏览方式存储/组织的任何其它合适信息的浏览软件。
本公开内容改进了浏览器程序的技术,包括提供对浏览器UI的改进和对浏览器后端的改进。具体而言,本公开内容包括一种用于浏览器向用户呈现智能选择的内容集合的方法,例如在主页/新浏览器“选项卡”或其它指定的浏览位置上。至少部分基于与用户与浏览器和其它计算机服务的交互有关的以用户为中心的信息来选择内容的集合。每个集合中的内容由于各种原因可以是有用的,例如协助用户查找相关信息,从事感兴趣的活动和/或使用浏览器来完成任务。
作为非限制性示例,以用户为中心的信息可以包括与用户的承诺、个人兴趣、工作和/或与浏览器和/或任何其它计算机服务的先前交互有关的信息。智能地选择以用户为中心的信息以包括对于用户可能特别重要的内容,这可以帮助用户使用浏览器访问感兴趣的内容或以其它方式有用。通过更高效地向用户呈现相关内容,可以提高用户完成任务的效率以及浏览器的计算效率。
在一些示例中,经由“新选项卡”页面将智能选择的内容集合呈现给用户。“新选项卡”页面可以允许用户查看对特别相关的内容的选择,而无需打开新选项卡进行任何交互,因此用户可以容易地召回和完成即将到来的任务并找到相关内容。
利用根据本公开内容的对内容的智能选择,用户可能需要更少的用户与浏览器的交互、更少的计算步骤和/或更少的网络通信来找到相关内容并使用浏览器完成任务。例如,浏览器可能能够将来自多个不同来源的相关信息一起进行批处理并将经批处理的信息高效地传送给用户,而取代由用户发出多个请求以获取每条单独的信息段。此外,根据本公开内容,可以在共同的以用户为中心的图中汇总涉及用户与不同的计算机服务的交互的信息,从而减少多个不同查询(例如,与不同的计算机服务相关联的)访问相关信息的需求。来自多个不同的计算机服务的相关信息的汇总能够实现内容的智能、自动呈现,其能够用来代替与多个不同的计算机服务相关联的多个手动查询。
图1A示出了包括客户端计算机102的示例性计算系统100。客户端计算机102可以是任何合适的计算设备,例如桌面式计算机或移动电话设备。客户端计算机102被配置为对浏览器110进行实例化。如图1A所示,浏览器110可以被提供为GUI程序,其包括用于查看/导航信息源的视觉元素。当浏览器110将被提供为GUI时,客户端计算机102可以包括和/或可操作地耦合至被配置为可视地呈现浏览器110的一个或多个显示设备。尽管根据包括用于显示的GUI的浏览器讨论了示例,但是在其它示例中,浏览器110可以包括其它用户接口元素(例如,文本、自然语言、语音音频和/或被配置用于经由任何其它合适的机制与用户交互的UI元素)。
在图1A的示例中,浏览器110是示出“新选项卡”页面111的网络浏览器。内容区域113示出了与“新选项卡”页面111相关联的视觉内容,即用于智能策划的内容的集合的柱状部分,包括“承诺”、“旅行行程”、“食谱和营养”以及“运动”。除了列之外或代替列,可以采用任何其它合适的布局。
为了在“新选项卡”页面中向用户提供相关信息,计算系统100智能地识别用户活动的一个或多个上下文。然后,浏览器110向用户呈现“新选项卡”页面111,该页面包括针对每个识别的上下文的与该上下文有关的智能选择的内容集合。上下文的非限制性示例包括1)任务或活动(例如,用户正在从事的当前任务,用户完成的最近的任务和/或用户已安排或做出承诺要执行的未来任务);2)正在从事持续或长期承诺(例如,工作、课程或项目)的状态;3)与特定工作(例如研发、学术或学术研究等)相关的相关任务、活动、网站、信息摘要、网络搜索、合作者的联系信息、文档等的集合;4)预定义主题(例如,旅行、金融、体育、电视、音乐等);或者5)基于用户的近期、当前和/或历史活动而识别出的主题(例如,最喜爱的电视节目、当前的研究主题)。
将针对每个上下文呈现给用户的智能选择的选定内容可以包括和/或基于来自以用户为中心的图的一个或多个以用户为中心的事实(将在下文中详细描述),例如,与预定义主题有关的以用户为中心的事实,或者与任务或活动相对应的以用户为中心的事实。例如,当上下文基于用户的项目时,以用户为中心的事实的集合可以包括:1)与项目有关的电子邮件;2)与项目相关的日历数据;和/或3)与项目有关的文档,等等。在一些示例中,以用户为中心的事实的集合可以包括从用户与浏览器的交互中得出的以用户为中心的事实,例如,以下一项或多项:1)浏览器历史项;2)浏览器收藏夹;以及3)网站。如将在下面进一步详细描述的,除了用户与浏览器、电子邮件、日历和/或文档程序的交互之外,上下文可以基于用户与几乎任何计算机服务(例如,几乎任何种类的软件应用、网站等)的交互。
计算系统100可以使用由于用户与浏览器和/或与多个其它计算机服务中的任何一个计算机服务的交互而产生的用户的用户个人信息,以便识别用户的上下文。例如,可以基于从用户与浏览器和/或其它计算机服务的交互中得出的以用户为中心的事实的集合来识别用户的上下文。
“计算机服务”在本文中可以指代在计算机系统(例如,包括网络计算系统、云计算等)上可执行的软件应用、硬件和/或软件产品,和/或被配置为向一个或多个用户提供服务的任何其它机器或过程,以协助用户、编辑、转换、存储和/或维护数据,与其它计算机服务进行交互,等等。计算机服务可以被实现为基于网络的、桌面和/或移动电话应用、智能家居设备/“物联网”设备、智能助手设备、可穿戴设备、无头/后台服务等。
计算机服务的非限制性示例包括:1)智能助手程序;2)电子邮件程序;3)办公套件程序(例如文字处理器、幻灯片、电子表格程序);4)日历程序;5)电话会议程序;6)任务跟踪程序;7)健康/活动/营养跟踪程序;8)多媒体程序(例如,电视/视频、音乐和/或视频游戏内容传送程序);9)制图/发布程序;10)用于计算机编程的集成开发环境;11)社交网络服务;10)工作场所协作环境;以及11)云数据存储和文件同步程序。
如上所述,用户浏览器上下文和响应于该上下文而提供的智能选择的相关信息可以从来自各种源的以用户为中心的事实中得出,例如,来自和与一个或多个不同的计算机服务交互的用户相关联的数据源。因此,计算机系统100可以包括以用户为中心的图服务器103,其被配置为将以用户为中心的事实的集合实例化、维护和/或存储为以用户为中心的图数据结构300。以用户为中心的图结构300以图数据结构中的节点和边的形式表示多个以用户为中心的事实。以用户为中心的图结构300的结构特征可以指示事实和/或事实之间的可能关系。
以用户为中心的图结构300可以将每个事实表示为主体-谓词-对象三元组。三元组包括表示事实的主体(例如,实体、事件或任何其它名词)的主体图节点,表示事实的对象的对象图节点,以及表示描述主体与对象之间关系的谓词的边。此外,以用户为中心的图结构300可以表示事实之间的关系,例如,两个或更多个事实可以共享共同主体和/或对象。可以将图中的主体、对象和事实之间的关系编码为图中的节点、边和/或路径,这些节点、边和/或路径可以表示指示事实的共同实体、时间和/或主题的关系以及任何其它合适的关系。以用户为中心的图结构可用于从一个或多个事实中得出推论,例如,通过沿着由以用户为中心的事实的边形成的路径来遍历图。
以用户为中心的图可以由任何计算机服务使用,例如,用于存储由用户与计算机服务的交互产生的以用户为中心的事实,和/或查询以用户为中心的图以辨识和与该计算机服务或其它计算机服务的交互有关的以用户为中心的事实。使用以用户为中心的图的计算机服务可以是由管理以用户为中心的图的组织或实体创作和/或管理的第一方计算机服务,也可以是由不同的组织或实体创作和/或管理的第三方服务。计算机服务可以经由以用户为中心的图的一个或多个API(例如,更新API和查询API)来使用以用户为中心的图,其中,每个API可由不同的计算机服务使用。
用户可以使用一个以上不同的设备与计算机服务进行交互,例如,经由移动设备、桌面式计算机、智能辅助扬声器设备等的用户界面。可以从用户与之交互的每个不同设备处的计算机服务汇总有关以用户为中心的事实。例如,用户可以在一个以上的不同设备处与特定的计算机服务(例如,电子邮件程序)进行交互(例如,通过带有移动电话电子邮件应用的移动电话,以及通过经由基于网络浏览器的电子邮件客户端的个人计算机设备)。因此,各种计算机服务可以使用以用户为中心的图300和/或对以用户为中心的图300做出贡献,而不管用户可以使用哪个特定设备来与计算机服务进行交互。例如,尽管在图1A中示出了浏览器110与客户端计算机102相关联,但是应当理解,浏览器110可以在任何合适的设备上实例化,例如个人计算机、移动电话、智能助手设备等。因此,浏览器110可以基于以用户为中心的事实来呈现辅助信息,而不管哪个设备实例化了浏览器110。因为在任何合适的设备上运行的任何合适的计算机服务都可以使用以用户为中心的图300来得出辅助信息,因此辅助信息的呈现与实例化浏览器110和/或任何其它计算机服务的特定设备无关。因此,可以在运行浏览器110或任何其它浏览器程序的不同设备上以一致的方式向用户呈现辅助信息。
以用户为中心的图服务器103和/或客户端计算机102可以经由网络104连接到一个或多个以用户为中心的数据存储单元,例如,以用户为中心的数据105A、105B......105N。每个存储单元可以存储与用户有关的任何合适的数据,例如,由于与一个或多个计算机服务的交互而产生的数据。例如,每个以用户为中心的数据存储单元可以是应用特定的数据存储单元,其存储与应用有关的数据,例如用户数据、配置设置等。
以用户为中心的图数据结构300包括不同的构成图结构302,例如,构成图结构302A、302B......302N。每个构成图结构可以是与不同的计算机服务相关联的应用特定的构成图结构,例如,与来自存储在以用户为中心的数据105A中的第一计算机服务的以用户为中心的数据相关联的图结构302A。例如,应用特定的构成图结构A可以与调度计划程序相关联,而应用特定的构成图结构B可以与电子邮件程序相关联。类似地,未在图1A中示出的应用特定的构成图结构N和其它构成图结构可以与其它计算机服务相关联。通过将构成图之间的边视为单个更大图300中的边,可以将多个构成图视为单个图。
与以用户为中心的图的构成图结构相关联的多个不同的计算机服务可以是独立的计算机服务。例如,相对于不同的、独立的计算机服务,浏览器110可以具有独立且相互不兼容的内部状态数据、通信协议等。然而,浏览器110可以使用以用户为中心的图300来访问从多个不同的、独立的计算机服务得出的信息,例如,以便智能地选择内容。
为了简化说明,所描绘的图仅包括十二个节点。在实际的实现中,以用户为中心的图将包括分布在更多构成图之间的更多(例如,数百、数千、数百万个或更多)的节点。
以用户为中心的图服务器103还可以经由网络104连接到任何其它合适的计算机设备和/或计算机网络,例如互联网上的计算机,例如网络搜索提供程序、网站主机等。在一些示例中,以用户为中心的图300可以被配置为除了特定与用户有关的以用户为中心的事实之外,还包括从这样的其它计算机设备得出的全局事实。例如,以用户为中心的图300可以包括从网络搜索结果和/或网站得出的事实。当以用户为中心的图300包括全局事实时,全局事实可以以任何合适的方式与以用户为中心的图中的以用户为中心的事实相关,例如,以用户为中心的图可以包括节点和/或边,它们代表从互联网得出的全局数据,它们经由图中的路径连接到表示由于用户与计算机服务的交互而产生的以用户为中心的数据的节点和/或边。在一些示例中,以用户为中心的事实与外部事实之间的联系可以创建附加/增强的以用户为中心的事实。
客户端计算机102可以经由网络104与以用户为中心的图服务器103通信,以利用以用户为中心的图中表示的信息,从而协助用户或向用户提供相关信息。例如,这种协助可以包括通过检索以用户为中心的事实和/或全局事实来回答针对和/或关于用户的问题,查找与用户和一个或多个计算机服务之间的交互有关的历史数据,和/或推测新的事实以添加到以用户为中心的图中。
如图1A所示,浏览器110可以使用来自电子邮件和/或日历/安排项目的用户的个人信息,如承诺窗格中所示。除了显示与承诺有关的信息之外,“新选项卡”页面还可以显示针对用户可能感兴趣的任何其它合适上下文的内容的智能选择的集合。上下文可以基于以用户为中心的图中的一个或多个以用户为中心的事实。例如,上下文可以基于在以用户为中心的图之内通过边相互连接的以用户为中心的事实的集群。替代地或另外地,上下文可以基于在以用户为中心的图内的一个或多个以用户为中心的事实,这些事实遵守特定约束,例如,与特定主题匹配、与特定实体或事件有关,或者具有特定时间性(例如,描述在特定时间段内以特定的周期或时间表或任何其它合适的时间关系发生的事件的事实)。
可以与上下文相关联、包括在上下文中或定义上下文的以用户为中心的事实的非限制性示例是与以下各项有关的事实:1)发送给用户或来自用户的电子邮件;2)用户的联系人;3)用户的日历数据;4)文档(例如,包括诸如照片、视频或者用户正在策划、编辑和/或发起的任何其它内容的多媒体文档);5)网页;6)与用户相关联的位置数据(例如,由属于该用户的设备的传感器测量的位置数据,和/或从用户与计算机服务的交互推测出的位置数据);和/或7)与用户相关联的应用使用情况数据(例如,登录数据、关于使用频率和持续时间的使用情况统计等;例如,应用使用情况数据可以包括110的浏览器使用情况数据,包括最近的页面访问、搜索历史等)。图1A示出了包括以下各项的上下文120的非限制性示例:与用户的未来任务和职责相关的承诺上下文120A,与用户的未来旅行计划相关的旅行行程上下文120B,与用户感兴趣的可能的食谱和信息性物品有关的食谱和购物上下文120C(例如,基于用户的浏览活动),以及与用户可能感兴趣的即将到来的体育赛事有关的体育上下文120D(基于以用户为中心的图中的任何适当信息,例如,指示波士顿居住地的用户位置数据、与浏览器的先前互动,例如查看棕熊队先前的体育比赛等)。
可以基于各种主题类别来预定义上下文120。例如,基于以下假设:任何给定的用户将可能具有可以在日历项中定义的至少一项任务、职责和/或承诺,向用户发送的或来自用户的电子邮件,和/或与和计算机服务交互的用户相关联的其它数据,承诺上下文120A可以是与浏览器110进行交互的任何用户的预定义上下文。类似地,基于以下假设:给定用户可能希望看到在一个地方收集的与旅行相关的信息,旅行行程上下文120B可以是在每当用户具有任何最近的与旅行相关的交互时都被识别的预定义的上下文。然而,可以基于以用户为中心的图中的以用户为中心的事实来识别上下文,而无需基于任何预定义的主题。例如,可以基于用户与旅行相关的计算机服务的频繁/最近交互(例如,与旅行网站的交互)来更加针对旅行行程上下文120B,而无需参考任何预定义的旅行主题。类似地,可以基于用户的网络搜索历史、购物清单等来识别食谱和营养上下文120C,而不需要预先定义食谱和营养主题。
尽管在图1A中仅示出了四个上下文的有限选择,但是以用户为中心的图300可以使得能够识别众多、变化的和/或用户特定的上下文,而不依赖于任何预定义的(例如,程序员定义的)类别。可以在以用户为中心的图中识别的上下文的非限制性示例包括:1)阅读清单(例如,包括报纸、博客、单独发表的文章和论文等);2)研究主题(例如,包括关键字、作者、科学论文、相关主题等);3)多媒体/娱乐主题(例如,最喜欢的演员或音乐家、流派、播放列表等);和/或4)任务(例如,预定航班、计划旅行活动、完成演示、发送电子邮件等)。上下文可以以任何粒度与用户兴趣有关,例如一般的(例如“旅行”、“食谱”)或具体的(例如“预订飞往西班牙的机票”、“西班牙美食”或“西班牙小吃食谱”)。
然而,可以确定给定上下文可以指示以用户为中心的图300中的更多的以用户为中心的事实,例如,经由以用户为中心的图300中的边/路径连接到与上下文相关联的以用户为中心的事实的以用户为中心的事实。例如,上下文中的第一以用户为中心的事实可以是:用户接收到来自航空公司预订确认电子邮件地址的第一电子邮件。上下文中的第二以用户为中心的事实可以是:用户接收到来自同一航空公司的第二电子邮件。因此,可以基于这两封电子邮件来自同一航空公司而在以用户为中心的图中连接这两个以用户为中心的事实。除了基于共同标识符(诸例如电子邮件地址)的以用户为中心的图中的连接之外,下面将基于主题、时间和/或其它约束来讨论以用户为中心的图中的连接的其它示例。
可以遍历和/或处理以用户为中心的图300以检索与上下文有关的以用户为中心的事实。遍历和/或处理以用户为中心的图300可以基于以用户为中心的图300的结构和/或上下文内和/或与上下文有关的以用户为中心的事实的细节。
例如,可以通过以下方式来遍历以用户为中心的图300:从与上下文相关联的以用户为中心的事实的初始集合开始,并且进一步遍历与初始集合中的那些相连接的以用户为中心的事实,执行随机走遍以用户为中心的图300,以建立更大的潜在相关的以用户为中心的事实的集合。可以基于以用户为中心的事实之间的关系(例如,与主体图节点、对象图节点和/或以用户为中心的事实的边相关联的细节)来对随机地走遍该图进行加权。例如,可以用置信度分数来标注以用户为中心的事实,所述置信度分数可以用于对随机行走进行加权。
除了基于与以用户为中心的图中的节点和/或边相关联的置信度值来执行随机行走之外,还可以以任何其它合适的方式来遍历和/或处理以用户为中心的图。处理的非限制性示例可以包括:1)根据评分函数在图中对以用户为中心的事实进行“排名”,并检索相对较高排名的以用户为中心的事实(例如,针对上下文找到关于最相关实体的以用户为中心的事实;以及2)对以用户为中心的图进行“切片”,以过滤满足特定约束的以用户为中心的事实(例如,找到与上下文相连接的与电子邮件相关的以用户为中心的事实)。下面将针对图3A-图3B更详细地描述排名、切片,以及用于遍历/处理以用户为中心的图的其它方式。
对于在“新选项卡”页面111中示出了内容的每个上下文,内容的集合可以基于与上下文相关联的以用户为中心的事实,和/或基于上下文从以用户为中心的图300检索的以用户为中心的事实。例如,内容可以包括以用户为中心的事实的自然语言表示,和/或以用户为中心的事实的自然语言摘要。在一些示例中,内容的集合可以包括与完成与上下文有关的任务和/或主题有关的以用户为中心的事实。在一些示例中,智能选择的内容可以包括用户与上下文有关的历史活动的摘要。
除了基于以用户为中心的事实之外,智能选择的内容121还可以基于外部事实和/或得出的事实。外部事实和/或得出的事实的非限制性示例包括:1)与以用户为中心的事实有关的网络搜索结果;2)与以用户为中心的事实有关的字典/百科全书/参考信息;3)与以用户为中心的事实有关的网站内容;和/或4)根据程序、数学、统计和/或机器学习功能对以用户为中心的事实进行处理的结果(例如,基于与上下文相关联的以用户为中心的事实的日期值来计算日期或持续时间,例如,以建议未来任务的可能安排;使用机器学习模型来计算自然语言摘要或查询的答案)。智能选择的内容中可以存在的信息的非限制性示例包括从下列中的一项或多项总结出的信息:1)发给用户或来自用户的电子邮件;2)用户的联系人;3)用户的日历数据;4)文档;和/或5)网页;6)与用户相关联的位置数据;和/或7)与用户相关联的应用使用情况数据。
浏览器110可以被配置为呈现与多个预定义的上下文中的一个或多个相关的智能选择的内容,例如“旅行”和“承诺”。例如,如图1A所示,对于旅行行程上下文120B,浏览器110基于用户的电子邮件以及与浏览器的交互来显示与用户需要完成的为旅行做准备的任务(例如,预订酒店)和旅行行程中的事件(例如,往返目的地的航班)相关的智能选择的内容121B。如图1A中所示,计算系统100可以智能地确定用户可能需要来自电子邮件/日历的相关信息,并且呈现指向相关内容的链接(以下划线显示),从而使用户可以避免在电子邮件或其它位置搜索相关航班/酒店信息。
对于承诺上下文120A,浏览器110在用户的日历、电子邮件和笔记中显示与即将到来的任务有关的智能选择的内容121A。与旅行行程上下文120B一样,智能选择的内容包括指向相关电子邮件、日历条目和笔记的链接,以便用户可以避免搜索遵守承诺所需的信息。类似地,对于食谱和购物上下文120C,浏览器110显示智能选择的内容121C;并且对于运动类上下文120D,浏览器110显示智能选择的内容121D。
浏览器110可以被配置为基于用户的个人信息来智能地识别与用户特别相关的上下文。例如,即使当浏览器110可能没有被配置为呈现关于“旅行”主题的上下文信息时,浏览器110仍然可以例如基于用户的电子邮件和/或日历数据将“旅行行程”识别为用户的相关上下文。
通过呈现相关信息(包括从发往用户的电子邮件中的相关航班日期,以及来自用户日历的即将到来的计划任务),浏览器可以例如通过呈现与承诺以及旅行行程的计划和执行有关的相关信息来帮助用户完成即将到来的任务。浏览器110可以智能地选择与每个上下文有关的有限数量的内容。例如,尽管用户可以具有许多不同的电子邮件和日历项目,但浏览器110可以基于与用户的可能相关性来智能地确定与电子邮件和/或日历项目有关的内容项目的有限选择。
在一些示例中,可以由与上下文相关的以用户为中心的事实的集合来定义上下文,例如,任务、电子邮件、联系信息、网站、网络搜索、文件/数据库搜索、历史浏览器活动、其它应用中的历史活动等。在一些示例中,以用户为中心的事实的集合可以包括在语义上相关的信息内容,例如,针对预定义的主题定义上下文的以用户为中心的事实的集合可以包括在语义上与该主题相关的事实。例如,当预定义的主题是“旅行”时,事实可以包括电子邮件、网络搜索等,它们各自包括与旅行有关的语义数据和/或元数据。语义数据的非限制性示例包括自然语言内容、图像内容、文本、数字数据等。元数据的非限制性示例包括文件/网络/数据库位置、发布日期、访问时间、作者信息、发件人/收件人信息,等等。
在一些示例中,可以由于以用户为中心的事实与相关日期/时间信息相关联,由通过时间关系相关的以用户为中心的事实的集合来定义上下文。即使不存在时间关系,在某些情况下,在时间上相关的以用户为中心的事实的集合也可以触发上下文。基于时间关系的上下文的非限制性示例包括:1)用户同时访问或在彼此的短时间内访问的网站、电子邮件等的同时出现的集合;2)具有相关联安排时间(例如,项目的到期日或安排的预约)的活动,连同在安排时间之前或之后不久发生或安排发生的其它活动;3)反复发生的时间上下文,例如,每个晚上、每个星期二的下午5:00,或任何其它合适的安排和/或定期发生的情况;4)从用户和计算机服务之间的交互中得出的以用户为中心的事实,其中,此类交互发生在预定义的最近日期之后;以及5)安排跟踪上下文,其中针对该上下文的以用户为中心的事实的集合包括与用户即将承担的责任有关的以用户为中心的事实(例如,具有在不久的将来的“到期日期”的以用户为中心的事实)。
识别上下文可以包括对多个不同的信号进行组合,例如,元数据、语义内容和时间关系,以评估不同的以用户为中心的事实之间的关系的强度。如果以用户为中心的事实的集合以一种以上的不同方式相关(例如,相似的主题以及时间关系),则对于用户而言,它可能代表着更为重要的上下文和/或更强烈地建议应定义或采用的给定上下文。在一些示例中,多个信号的存在可以使得能够识别原本不会被识别的上下文。
在一些示例中,上下文的可呈现内容可以被分为一个或多个子集合,这些子集合继而可以以分层的方式进一步被细分。因此,如图1B所示,浏览器110可以向“新选项卡”页面111'呈现内容的一个或多个分层集合。例如,图1B示出了浏览器110,其内容区域113'集中在旅行行程上下文120B上,具有四个不同的子集合120B-I......120B-IV。尽管内容区域113'仅显示了针对单个旅行行程上下文120B的内容,但本公开内容不限于此,并且浏览器110可以显示包括两个或更多个不同上下文的“新选项卡”页面,每个上下文具有内容的任何合适数量的子集合(例如,上下文的单个集合,或者上下文的两个或更多个子集合)。
当旅行行程被识别为对于用户特别重要的上下文时,例如,在基于用户的一个或多个计算设备的位置数据和/或基于旅行的计划日历日期等识别出用户可能正在旅行之后,内容区域113'可以表示“新选项卡”页面。替代地或另外地,内容区域113'可以被明确地配置为显示旅行相关的内容,例如,基于用户在“旅行行程”上下文120B的内容窗格上单击以使其聚焦在内容区域113中,如图1A所示,和/或基于用户更改首选项设置以使“新选项卡”页面111'显示更多与旅行有关的内容。另外,如所示的,内容区域113'可以使用滚动条114来滚动,例如以显示另外的旅行相关的内容和/或显示其它上下文的另外的内容集合。
如图1B所示,旅行上下文的子集合可以包括在计划旅行行程时和/或旅行期间可能有用的任何合适的信息。例如,内容区域113'在旅行行程窗格中包括子集合,航班120B-I、住宿120B-II、火车120B-II以及活动120B-IV。因此,与图1A的内容区域113相比,内容区域113'显示相对更多的与旅行相关的内容,包括在用户的旅程期间可能对用户有用的细节,例如相关的预订时间、至相关确认电子邮件的链接、网络搜索、网站、笔记和/或日历项等。可以以任何合适的方式来执行识别内容的子集合,例如,通过识别以用户为中心的事实中的所识别的以用户为中心的事实的集合之内的内容之间的关系,并基于这种关系来识别子集合。在一些示例中,子上下文可以被识别并且随后被聚合成为较大的上下文(例如,基于子上下文之间的任何合适的关系,例如时间关系或满足主题约束),以及对于较大的上下文,可以将每个子上下文的内容的子集合一起呈现。
尽管在图1B中示出了针对“旅行行程”上下文的子集合,但是可以将任何上下文的智能选择的内容呈现为内容的一个或多个子集合。作为非限制性示例,“承诺”上下文的子集合可以包括工作承诺、社会承诺和/或家庭承诺的子集合。作为进一步的非限制性示例,“食谱和购物”上下文的子集合可以包括针对食谱的子集合和针对在多个不同商店中的每个商店购物的子集合,例如,干货购物清单和新鲜农产品购物清单。作为另一个非限制性示例,针对“运动”上下文的子集合可以包括与多个不同城市中的每个城市相关联的运动队的不同子集合、针对不同运动的不同子集合等。
尽管图1A和图1B示出了承诺、旅行行程、食谱和购物以及体育上下文的示例,但是浏览器110可以针对用户潜在感兴趣的任何其它合适的上下文呈现智能选择的内容(例如,包括一个或多个不同的内容子集合)。作为另外的非限制性示例,浏览器110可以呈现与以下各项有关的内容的集合:1)用户的最新文档和/或项目;2)用户感兴趣的预定义和/或识别的主题(例如,新闻、购物交易和机会等);3)用户的社交活动;4)用户即将到来的截止日期;5)用户最近的浏览器活动;6)用户与其它计算机服务的先前交互;和/或7)用户感兴趣的多媒体(例如电视、电影、音乐等)。
图2示出了用于为例如图1A-图1B所示的“新选项卡”页面111或111'提供智能选择的内容集合的示例性方法200。方法200包括:在210处,维护包括与用户相关联的多个以用户为中心的事实的以用户为中心的图。以用户为中心的事实可以从用户与一个或多个不同的计算机服务的交互中得出。
方法200可以由图1A的设备的任何合适的组合来执行。例如,方法200可以通过执行存储在与图1A的任何设备相关联的一个或多个存储设备上的代码来执行,或者在图1A的任何设备的一个或多个处理器上执行。此外,可以以任何合适的组合来操作图1A中所示的设备的处理器和/或存储设备,以便对以用户为中心的图300和/或浏览器110进行实例化。例如,浏览器110可以包括在客户端计算机102的显示设备上可视地呈现的图形用户界面,以及由客户端计算机102和图1A的其它设备的任何组合提供的处理功能。
在客户端计算机102上操作浏览器110通常可以包括1)收集与用户和浏览器110的交互有关的信息,该信息可用于定义和/或推测以用户为中心的图300中的上下文;2)将该信息发送到图1A的其它设备(例如,发送到以用户为中心的图服务器103);3)接收来自其它设备的响应,其中,响应包括一个或多个所识别的上下文,并且对于每个所识别的上下文,包括智能选择的内容的集合;以及4)在浏览器110的GUI中可视地呈现响应。
在230处,方法200还包括经由参考以用户为中心的图来识别用户感兴趣的一个或多个不同的上下文。可选地,在232处,通过将从用户与多个不同的计算机服务的交互中得出的以用户为中心的事实进行上下文化,来定义一个或多个不同的上下文中的上下文。
在一些示例中,识别用户处于特定上下文中可以基于观察到指示用户可能在该上下文中的以用户为中心的事实。例如,用户访问了特定网页预定义次数的事实可以指示该用户正在从事与该页面相关联的任务。在某些情况下,导致对上下文的识别或定义的以用户为中心的事实可以被称为触发事实。实际上,如在234处所示,对上下文的识别可以经由对触发事实的识别而发生。因此,响应于不同的触发事实,可以定义不同的上下文。触发事实可以是任何以用户为中心的事实,也可以是任何其它事实(例如,从用户先前与浏览器或任何其它计算机服务的交互中得出的事实)。上下文可以以任何合适的方式基于触发事实。例如,上下文可以由单个以用户为中心的事实,即触发事实来定义。替代地或另外地,上下文可以由以任何合适的方式(例如,经由图的结构关系、共同的主题/任务/实体/事件等,如上所述)与触发事实相关的事实来定义。例如,可以通过触发事实与图中的其它以用户为中心的事实之间的时间关系来定义上下文(例如,基于与和定义触发事实和/或其它以用户为中心的事实的用户交互相关联的日期和与以用户为中心的事实相关联的到期日期之间的时间关系等)。
触发事实可以基于与浏览器或任何其它计算机服务的先前交互。例如,以用户为中心的图服务器103可以被配置为:从浏览器110接收先前浏览器交互的计算机可读描述。因此,触发事实可以包括先前交互的计算机可读描述。先前交互的非限制性示例包括:1)与用户访问的最近文件位置和/或网站相对应的元数据和/或内容;2)用户提交的最近文件和/或网络搜索查询;3)用户以网络形式、可编辑文档或经由通过浏览器提供的任何其它输入机制输入的内容;4)关闭浏览器的选项卡、窗口或其它界面元素;5)点击信息按钮以请求信息(例如,点击浏览器110的按钮120);6)在浏览器中查看位置/搜索历史;7)添加新的书签页面(例如“收藏夹”)和/或查看已添加书签页面的列表;8)与网站或任何其它计算机服务进行交互(例如,下订单购买产品、进行预订、经由可通过浏览器访问的电子邮件客户端发送和/或阅读电子邮件等);和/或9)用户与除了浏览器以外的计算机服务(例如电子邮件或日历程序)的先前交互。
在一些示例中,可以在以用户为中心的图中识别多个不同的候选触发事实,以确定是否应基于与触发事实相关的上下文针对每个候选触发事实呈现智能选择的内容。例如,识别上下文可包括:基于估计触发事实和/或与触发事实相关的上下文的相关性来针对候选触发事实评估信号强度值。
信号强度值基于触发事实与以用户为中心的图中的其它以用户为中心的事实之间的关系的强度,以数值形式表示触发事实的显著性,以识别用户可能感兴趣的上下文。可以以任何合适的方式来评估信号强度。作为非限制性示例,评估信号强度通常可以包括:当触发事实与以用户为中心的图中的大量其它以用户为中心的事实有关时,为候选触发事实分配较高的信号强度(例如,因为触发事实和大量其它以用户为中心的事实全都与对用户重要的上下文有关,如大量相关事实所指示的)。信号强度可以基于触发事实和/或与触发事实相关的上下文。在一些示例中,可以基于与触发事实和/或与和触发事实相关的上下文相关联的其它以用户为中心的事实相关联的置信度值来评估信号强度。
在一些示例中,评估信号强度可以基于以用户为中心的图的图论特性或其它结构属性,例如,与触发事实有关的上下文的聚类或连接性的量。可以适合于评估信号强度的图论特性的非限制性示例包括1)连接性,例如,连接的组件的数量和/或k个相连接的组件,k为任何合适的值使得需要移除k个顶点来断开k个相连接的组件;2)路径距离;3)是否存在圆环;4)图论强度和/或韧性;和/或任何其它合适的图论属性。
在一些示例中,浏览器110可以识别触发事实并且仅针对候选触发事实和被评估出相对较高信号强度的上下文来显示智能选择的内容。例如,识别触发事实可以包括:针对候选事实评估信号强度分数,信号强度分数指示候选事实与以用户为中心的图中的以用户为中心的事实之间的关系的强度,以及响应于信号强度分数超过阈值而识别触发事实。
在一些示例中,浏览器110可以将触发事实识别为在其它候选的集合中具有最高信号强度的候选触发事实。因此,识别不同的上下文可以基于根据相关联的触发事实的信号强度来识别它们。
在一些示例中,“新选项卡”页面可以例如基于可用的显示空间的量和/或上下文的预定义数量来包括针对有限数量的上下文的内容。因此,可以基于为相关联的触发事实选择具有足够高的信号强度的那些上下文来识别有限数量的上下文。在一些示例中,识别足够高的信号强度可以基于超过阈值的信号强度,例如,预定义阈值和/或基于其它候选触发事实的信号强度确定的阈值。
在一些示例中,可以由以用户为中心的图中的至少一个节点来定义与预定义的主题有关的上下文,该节点的出向边连接到与该预定义的主题有关的其它节点。可以基于以用户为中心的图中的以用户为中心的事实的结构属性来识别由主题定义的上下文。例如,该识别可以基于诸如形成密集集群的以用户为中心的事实的图论特性,或者如上所述针对评估触发事实的信号强度所描述的任何其它合适的图论特性。
在240处,方法200还包括:针对每个所识别的上下文,评估该上下文以便智能地选择与该上下文有关的相关内容。在一些示例中,给定用户处于特定上下文中,则内容可以包括用户可能特别感兴趣的信息。例如,内容可以包括与上下文在主题上和/或在时间上相关的交互式和/或非交互式多媒体内容。在一些示例中,可以选择内容以包括辅助信息,该辅助信息可以促进用户完成与上下文有关的任务。可选地,在242处,该选择至少基于从用户与不同的计算机服务的交互中得出的一个或多个以用户为中心的事实。可选地,在244处,对相关信息的选择至少基于以用户为中心的图中的以用户为中心的事实之间的关系。例如,如上所述,关系可以包括触发事实与以用户为中心的图中的其它以用户为中心的事实之间的关系。在一些示例中,在识别触发事实之后,可以更新以用户为中心的图300以包括该触发事实。在一些示例中,响应于识别触发事实,可以基于汇总、总结和/或以其它方式分析以用户为中心的图300中的其它以用户为中心的事实来对以用户为中心的图300进行更新以包括其它以用户为中心的事实。例如,如果用户如图1A所示频繁地与旅行相关的网站进行交互,则可以更新以用户为中心的图300,以包括总结用户的交互的另外的以用户为中心的事实,例如,表示“用户经常研究旅行”的事实。该新的以用户为中心的事实可以经由以用户为中心的图300中的路径与涉及旅行的其它以用户为中心的事实相关。新的以用户为中心的事实可以定义可以用于向用户返回所选择的内容的上下文,例如带有相关所选择的内容的“旅行”主题上下文,其中包括用户先前与旅行有关的交互以及与旅行有关的其它一般性信息信息(例如,旅行网站、与旅行有关的网络搜索等)。
在250处,方法200还包括向用户显示所选择的内容。所选择的内容可以以任何合适的方式显示。例如,如图1A-图1B所示,所选择的内容可以被显示为事实(或其表示)的列表,这些事实被分组为不同的类别和/或子类别,例如,承诺、旅行行程(包括航班、住宿、火车和活动)、食谱和购物和/或运动。如图1B所示,所选择的内容可以是可滚动的以包括浏览器的内容区域内未示出的更多内容。替代地或另外地,所选择的内容可以连同搜索、过滤和/或分类特征一起被显示,以允许用户容易地查看所选择内容的相关部分,和/或查看在浏览器的内容区域内未示出的另外内容。
尽管针对“新选项卡”页面描述了前述示例,但是方法200可以用于以任何合适的方式智能地选择用于呈现的内容。例如,代替“新选项卡”页面或除了“新选项卡”页面之外,浏览器110可以在主页或启动页面或任何其它特别指定的页面或位置中,在侧边栏、信息窗格、下拉菜单、弹出窗口、模式对话框中,或作为浏览器显示的任何其它页面的一部分呈现智能选择的内容集合。
图3A-图3B示出了用于将以用户为中心的事实的集合表示为以用户为中心的图的示例性图数据结构的细节。图3A以用于图数据结构300的计算机可读数据格式300'的形式更详细地示出了示例性图数据结构300。图数据结构300以数据格式300'或任何其它合适的数据格式表示以用户为中心的事实的集合。以用户为中心的事实可以与分布在多个不同的计算机服务上的应用特定数据相关联。图数据结构300允许集中式查询并且适合于实现以用户为中心的图。
图数据结构300可以分布在一个或多个应用特定的构成图结构上(例如,对应于不同的计算机服务),例如在由虚线包围的第一区域中指示的构成图结构302A,在由不同虚线包围的第二区域中指示的构成图结构302B,以及图3A中未示出的其它构成图结构。
每个构成图结构包括多个以用户为中心的事实304,例如存储在构成图A中的以用户为中心的事实FA.1、FA.2等,存储在构成图B中的以用户为中心的事实FB.1、FB.1等。以用户为中心的事实包括主体图节点306、对象图节点308以及将主体图节点连接到对象图节点的边310。
主体图节点和对象图节点可以一般性地被称为节点。节点可以表示任何名词,其中,“名词”用于指代任何实体、事件或概念,或者任何合适的应用特定信息(例如,用户使用计算机服务执行的先前动作的细节)。类似地,“主体名词”和“对象名词”在本文中用于指分别由主体图节点或对象图节点表示的名词。将以用户为中心的事实的集合表示为图数据结构可以促进操纵和遍历图数据结构(例如,以响应查询)。
如图数据结构300所示,以图格式对以用户为中心的事实的集合进行可视化是有教益的。节点352被描绘为实心圆,而边354被描绘为箭头。具有出向边(其中箭头指向远离实心圆)的实心圆描述主体图节点,而具有入向边(其中箭头指向朝向实心圆)的实心圆描述对象图节点。通过将构成图之间的边视为较大图中的边,可以将多个构成图视为单个图。因此,图3B示出了包括多个构成图结构的单个组合图300。为了简化说明,示例图300仅包括两个构成图,总共具有十二个节点。在实际的实现中,以用户为中心的图将包括分布在更多构成图之间的更多(例如,数百、数千、数百万个或更多)的节点。
构成图结构的示例性以用户为中心的事实FA.1包括主体图节点SA.1、边EA.1以及对象图节点OA.1。例如,主体图节点SA.1可以表示用户的雇主,而对象图节点OA.1可以表示由用户的雇主分配给用户的任务。边EA.1可以描述主体图节点SA.1和对象图节点OA.1之间的任何合适的关系。在上面的示例中,边EA.1可以表示“分配的新任务”关系。以用户为中心的事实FA.1的主体-边-对象三元组整体表示了这样的以下事实:用户的雇主为她分配了新任务。
第一事实的主体图节点可以表示与第二不同事实的对象图节点相同的名词。因此,所述主体图节点和对象图节点可以表示为单个节点,例如,如图3B所示的具有入向箭头和出向箭头的节点322。通过识别某些对象图节点和主体图节点表示相同的名词,图数据结构可能能够将以用户为中心的事实表示为多个不同名词之间的复杂关系,这些关系可以可视化为图300'上的路径。例如,当特定节点是第一事实的对象图节点和第二不同事实的主体图节点时,类似于逻辑三段论,有可能从这两个事实的组合中得出推论。
第一以用户为中心的事实的主体图节点可以将同一名词表示为与第二不同的以用户为中心的事实的主体图节点。当两个不同的主体图节点表示同一名词时,图数据结构可以将两个主体图节点识别为单个节点,例如,图3B中具有两个出向箭头的节点324。尽管可以将两个主体图节点表示为单个节点,但是该节点的每个出向边都与每个其它出向边不同。这些出向边可以指向同一对象节点或不同的对象节点。无论哪种情况,主体节点都可以涉及两个不同的以用户为中心的事实。
类似地,第一以用户为中心的事实的对象图节点可以将同一名词表示为与第二不同的以用户为中心的事实的对象图节点。换句话说,同一个名词可以是多个不同的以用户为中心的事实的对象,具有不同的主体图节点并且可能具有表示不同关系类型的边,例如,如图3B中具有两个入向箭头的节点326那样。因此,图数据结构可以将两个对象图节点识别为单个节点,其在图300中的同一位置示出。
主体名词和对象名词的特定配对可以涉及两个或更多个不同的以用户为中心的事实。例如,主体名词和对象名词可以由在328处指示的一对节点表示,这对节点由两个不同的边连接,例如,表示主体图节点和对象图节点之间的不同关系。在示例中,主体图节点对应于用户帐户(例如,由电子邮件地址标识)。在同一示例中,对象图节点可以对应于第二不同的用户帐户。在该示例中,第一条边可以表示“发送电子邮件至”关系,而第二条边表示不同的“预定的与......的会议”关系。因此,图数据结构包括具有相同主体名词和对象名词的两个或更多个以用户为中心的事实。
在其它示例中,两个名词可以涉及两个不同的以用户为中心的事实,但是主体和对象之间的角色互换了。换句话说,第一名词是第一事实的主体名词并且第二名词是第一事实的对象名词,而第一名词是第二事实的对象名词并且第二名词是第二事实的主体名词。例如,一对表示“爱丽丝”和“鲍勃”的名词可以涉及第一事实,即“爱丽丝安排了与鲍勃的会议”,同时也涉及了第二事实,即“鲍勃安排了与爱丽丝的会议”。除了交换主体和对象的角色之外,使用这两个名词的两个事实可以具有不同类型的边,例如,“爱丽丝”和“鲍勃”可能另外涉及到第三事实,即“鲍勃向爱丽丝发送电子邮件”。更一般地,名词可以经由边连接以便以任何合适的方式表示关系,例如,在两个节点之间具有任意数量的边,这些边以向前和/或向后方向的任何组合在第一节点和第二节点之间进行连接。
仍在另外的示例中,图数据结构可以将来自一个构成图的名词和来自不同的构成图的名词识别为单个节点。两个或更多个不同节点与同一名词相对应的这种识别在本文中可以被称为两个节点之间的“节点交叉引用”。表示特定名词的主体图节点或对象图节点可以存储对同一构成图结构或任何其它构成图结构的其它节点的节点交叉引用。
类似地,第一构成图结构中以用户为中心的事实可以在第一构成图结构中定义主体图节点,连同指向第二不同的构成图结构中的对象图节点的边(在本文中被称为“交叉引用边”)。以用户为中心的图可以以任何合适的方式表示构成图之间的连接,例如,通过将构成图标识符(该标识符指示到构成图B中的对象图节点的连接)和对象图节点标识符(其指示构成图B中的特定对象图节点)存储在构成图A中。
节点交叉引用和交叉引用边连接多个构成图结构。例如,可以用与边相同的方式来遍历节点交叉引用和交叉引用边,从而允许图数据结构的遍历来遍历跨越多个构成图结构的路径。换句话说,图数据结构300和/或数据格式300'促进了整体人工智能知识库,其包括来自不同的计算机服务的事实和/或跨越不同的计算机服务的事实。节点交叉引用和交叉引用边在本文中可以被统称为交叉引用。类似地,当节点涉及多个构成图结构内的交叉引用时,该节点可以被称为跨越构成图结构的交叉引用。
此外,除了经由交叉引用连接两个不同的构成图结构之外,构成图结构还可以包括一个或多个以用户为中心的事实,这些事实涉及构成图结构中的主体图节点和外部知识库(例如,基于互联网、社交网络或联网的企业计算机服务)中的对象图节点。与交叉引用边一样,连接到主体图节点的出向边可以用任何合适的方式指示与外部对象图节点的连接,例如,通过将指示外部图和对象图节点的一对标识符存储在外部图之内。在一些情况下,例如,当外部图是从互联网上所发布的知识得出的全局知识库时,外部图可以不存储任何以用户为中心的数据。
通过包括构成图结构之间的交叉引用,关于特定名词(例如,事件或实体)的事实可以分布在多个构成图结构上,同时仍支持关于不同构成图结构中以用户为中心的事实与外部数据库之间的关系的集中式推理(例如,通过经由交叉引用和交叉引用边来遍历多个构成图结构)。
每个以用户为中心的事实可以用可预测的共享数据格式来存储,该格式存储以用户为中心的事实,包括与计算机服务相关联的应用特定事实,而无需更改计算机服务的应用特定数据的格式。这种可预测的共享数据格式在本文中被称为“与应用无关的数据格式”。与应用无关的数据格式可以存储查询以用户为中心的图所需的信息,同时避免冗余存储应用特定数据。可以利用允许对图数据结构进行读写访问的互补应用编程接口(API)来实现图数据结构。API可以限制对图数据结构的访问,以确保写入图数据结构的所有数据都具有与应用无关的数据格式。同时,API可以提供一种机制,即,任何计算机服务都可以使用该机制以与应用无关的数据格式向图数据结构添加新的以用户为中心的事实,从而确保使用该API的其它计算机服务可以可预测地使用图数据结构中存储的所有数据。除了提供对存储在图数据结构中的以用户为中心的事实的读/写访问之外,API还可以提供包括读和写二者的数据处理操作,例如查询操作和查询结果的缓存。
在不背离本公开内容的精神的前提下,可以用各种方式实现包括与多个不同的计算机服务有关的以用户为中心的事实的图数据结构,例如图数据结构300。例如,可以将图数据结构存储为节点记录的集合,每个节点记录可选地指示到其它节点的一个或多个出向边。替代地或另外地,可以将图数据结构存储为基于指针的数据结构、列表数据结构、矩阵数据结构或图数据的任何其它合适的表示。
在一个示例中,存储在图数据结构中的以用户为中心的事实是应用特定事实。除了应用特定事实以外,以用户为中心的事实可以包括一个或多个扩充,其中,扩充是包括与应用特定事实相关联的与应用无关的事实的额外数据。例如,扩充可以包括基于用户与浏览器程序(例如,浏览器110)的交互的细节的浏览器特定的扩充。浏览器特定的扩充可以包括描述用户与浏览器之间的单次交互、用户/浏览器交互的整个会话,和/或任何合适的历史用户/浏览器交互集合的信息。在图1A所示的示例中,浏览器特定扩充可以包括针对用户对旅行预订页面的访问的计算机可读描述。替代地或另外地,浏览器特定扩充可以包括对用户与浏览器之间的进一步交互的分析。例如,扩充可以包括对用户在上周内频繁访问旅行预订页面的描述,连同对用户访问旅行预订页面的频率和特定时间的描述。触发事实、限定上下文的以用户为中心的事实以及以用户为中心的图中的其它以用户为中心的事实可以包括任何合适的浏览器特定或其它应用特定的扩充。因此,浏览器呈现的智能选择的内容可以基于这样的扩充。
除了图数据结构中的连接的与应用无关的表示之外,用于以用户为中心的事实的与应用无关的数据格式还使得能够对应用特定事实进行高效存储。例如,主体图节点可以表示应用特定事实的主体,例如,安排了新会议的事实。相应地,图数据结构可以为应用特定事实存储构面指针,其指示与应用特定事实相关联的辅助的应用特定数据。在一个示例中,以构面指针的形式来指示辅助的应用特定数据。构面指针是指示与以用户为中心的图相关联的辅助的应用特定数据的存储位置的标识符(例如,数字标识符),例如表示会议细节的日历项的存储位置。构面指针可以基于其包括在应用特定的图结构中而与特定类型的数据相关联,例如,构成图结构A可以与日程表计划软件相关联,并且可以相应地包括日历数据,而不是其它类型的应用特定数据。在其它示例中,构面指针可以包括指定辅助的应用特定数据的类型的额外标识信息,以便构面指针可以用于表示不同种类的辅助的应用特定数据(例如,文字处理应用可以使用的多种文件类型)。图数据结构可用于经由构面指针查找辅助的应用特定数据,同时避免在图数据结构内冗余地存储辅助的应用特定数据。
除了存储在主体图节点中的构面指针外,应用特定事实还由将主体图节点连接到一个或多个对象图节点的边来表示。尽管单个主体图节点可以包括在一个以上以用户为中心的事实中,然而图数据结构高效地仅存储主体图节点的单个节点记录。该节点记录包括该节点的所有出向边的列表,它与针对在其中出现主体图节点的每个以用户为中心的事实来存储主体图节点的副本相比,可以减少存储空间需求。对于一些节点,例如对于仅是对象图节点的名词,出向边的列表可以为空。主体图节点的出向边列表包括定义一个或多个边的一个或多个边记录。图节点可以具有任意数量的出向边,以适当地表示与图数据结构的其它节点的关系,例如,零个、一个或三个或者更多个边。
除了通过构面指针和出向边的列表来表示应用特定事实之外,主体图节点还可以表示应用特定事实的一个或多个扩充。在一个示例中,一个或多个扩充包括节点置信度值,其可以指示图节点与用户的相关性。例如,可以通过学习将相关数据的标记样本与不相关数据的标记样本区分开来,通过训练以识别与用户的相关性的机器学习模型来确定置信度值。例如,训练机器学习模型可以包括利用用户标记的样本(例如,从在应用期间对应用的直接用户反馈中得出的)进行有监督的训练,和/或进行无监督的训练。一个或多个扩充还可以包括与每个边相关联的边置信度值。与节点置信度值一样,边置信度值可以指示特定边与用户的相关性。一对节点之间的不同边可以具有不同的置信度值。例如,如果认为安排的会议比承诺与用户更相关,则指示“安排的会议”关系的边相比指示“做出承诺”的不同边可以具有较低的边置信度。
除了节点置信度值和边置信度值之外,应用特定事实的一个或多个扩充可以包括其它与应用无关的数据和/或应用特定数据。例如,节点可以包括访问元数据,其指示与访问以用户为中心的图中的节点相关联的信息,以及相关联的应用特定数据(例如,由构面指针指示的数据)。访问元数据可以包括指示最新访问的时间和日期的时间戳,指示由最新访问引起的变化的增量值或任何其它合适的元数据。
针对以用户为中心的事实,图数据结构可以另外存储一个或多个标签,这些标签定义与该以用户为中心的事实相关联的辅助数据,包括与节点/边相关联的任何合适的辅助数据。例如,当图节点表示一个人(例如,与联系人簿条目相关联)时,标签可以包括该人的昵称以及该人的备用电子邮件地址。
可以利用存储在标签中的附加语义来扩充以用户为中心的事实和以用户为中心的事实的节点/边。例如,标签可以用于存储以用户为中心的事实的一个或多个扩充。存储在节点记录中的标签可以与以用户为中心的事实相关联,其中节点记录表示主体图节点,或者其中节点记录表示对象图节点。替代地或另外地,存储在节点记录内的标签可以与节点记录本身相关联(例如,与由节点记录所表示的主体图节点相关联和/或与由节点记录所表示的对象图节点相关联),或者与连接到该节点记录的一个或多个边相关联。在其它示例中,标签可以用于存储以用户为中心的事实的元数据(例如,代替或补充以用户为中心的事实的访问元数据)。例如,当以用户为中心的事实与时间戳相关联时,可以可选地将时间戳存储在以用户为中心的事实的标签之中。
在一些示例中,一个或多个标签是可搜索的标签,并且图数据结构被配置为允许通过在可搜索标签之间进行搜索来搜索以用户为中心的事实(例如,搜索存储搜索字符串的标签,或者搜索存储特定类型数据的标签)。
图数据结构可以表示为多个应用特定构成图结构,其中构成图结构的节点跨越构成图结构被交叉引用(例如,如上所述,通过交叉引用边和节点交叉引用)。
以用户为中心的图是与应用无关的,因为它可用于跟踪来自两个或更多个潜在不相关的计算机服务的事实,这些服务可以具有不同的本机数据格式。以用户为中心的图可以通过存储构面指针来存储任何计算机服务的应用特定事实,从而使得即使应用特定事实可以用应用特定格式来存储,也可以使以用户为中心的事实包括应用特定事实。此外,通过以域标识符(例如,每个主体图节点的出向边列表中的对象域标识符,或节点交叉引用表示中的引用域标识符)和节点标识符(例如,对象图节点标识符和引用节点标识符)的形式存储交叉引用,以用户为中心的图使得能够表示在两个或更多个计算机服务的上下文中定义的以用户为中心的事实。此外,以用户为中心的图是以用户为中心的,因为可以为每个用户定义不同的以用户为中心的图。以用户为中心的图可以适合于在多个不同用户中的每个用户与共享计算机服务(例如,网络浏览器)交互的情况下在上下文中存储以用户为中心的事实。由于以用户为中心的图经由构面指针存储了应用特定事实,并经由交叉引用在其它数据结构中表示了与事实的关系,因此,可能能够在特定于用户的以用户为中心的图数据结构中存储与用户有关的以用户为中心的事实,而无需对共享计算机服务的应用特定数据进行写访问。
当基于应用特定事实添加新的以用户为中心的事实时,图数据结构可以可选地存储与应用无关的扩充,例如与应用特定事实相关联的与应用无关的事实。可以通过从应用特定数据提供者处接收的扩充来至少部分地定义以用户为中心的事实。替代地或另外地,可以经由包括一个或多个扩充适配器的扩充流水线对由应用特定数据提供者提供的以用户为中心的事实进行预处理以包括一个或多个扩充。当图数据结构存储与以用户为中心的事实相关联的标签(例如,存储在节点记录中的标签)时,一个或多个扩充可以被包括在标签中。
在示例中,扩充适配器包括机器学习模型,该机器学习模型被配置为接收应用特定事实,识别应用特定事实与用户的相关性并输出用数值指示相关性的置信度值。机器学习模型可以是任何合适的模型,例如统计模型或神经网络。可以例如基于用户反馈来训练机器学习模型。例如,当机器学习模型是神经网络时,可以经由目标函数来评估神经网络的输出,该目标函数指示与用户反馈中指示的实际相关性相比,由神经网络输出的预测相关性的误差水平。可以根据使用反向传播的神经网络各层中每个函数的导数来计算目标函数的梯度。因此,可以基于梯度(例如,经由梯度下降)来调整神经网络的权重,以使目标函数所指示的误差水平最小化。在一些示例中,可以基于由特定用户在与计算机服务交互时提供的直接反馈来针对该用户训练机器学习模型,例如,指示搜索应用中的搜索结果的相关性。因此,经训练的机器学习模型可能能够估计与用户的相关性。在一些示例中,可以基于来自用户的间接反馈来训练机器学习模型,例如,通过估计相关内容与用户过去指示为相关的其它内容的相似性。
在另一示例中,扩充适配器包括用于识别应用特定事实的自然语言特征的自然语言程序。例如,自然语言程序可以通过将自然语言特征识别为与现有主体图节点和/或对象图节点相关联来为应用特定事实确定主体图节点和/或对象图节点。在一些示例中,自然语言程序可以确定应用特定事实的边的关系类型。在一些示例中,自然语言程序可以针对应用特定事实确定主体图节点和/或对象图节点的一个或多个标签。可以将自然语言程序配置为识别包括以下的特征:1)命名实体(例如,人、组织和/或对象),2)意图(例如,与自然语言特征相关联的情感或目标),3)事件和任务(例如,用户打算稍后执行的任务),4)主题(例如,以用户为中心的事实包含或代表的主题),5)位置(例如,以用户为中心的事实所指的地理位置,或生成以用户为中心的事实的位置),和/或6)日期和时间(例如,指示与以用户为中心的事实相关联的过去事件或将来安排的事件的时间戳)。
与以用户为中心的事实相关联的扩充可以提供以用户为中心的事实的经扩充的语义(例如,除了由以用户为中心的事实的主体图节点和对象图节点之间的边形成的连接结构所提供的信息以外的其它有意义的信息)。图数据结构可以识别并包括可以从经扩充的语义中得出的额外的以用户为中心的事实(例如,基于在扩充流水线中添加的一个或多个扩充)。因此,添加包括一个或多个扩充的以用户为中心的事实还可以包括:基于一个或多个扩充来识别额外的以用户为中心的事实,并将该额外的以用户为中心的事实添加到具有与应用无关的数据格式的图数据结构。
基于一个或多个扩充来识别额外的以用户为中心的事实可以包括:识别这一个或多个扩充中的某个扩充对应于已经包括在图数据结构中的另一个以用户为中心的事实(例如,因为该扩充与另一个以用户为中心的事实的主体名词或对象名词相关联)。替代地或另外地,基于一个或多个扩充来识别额外的以用户为中心的事实可以包括:识别这一个或多个扩充中与尚未涉及任何以用户为中心的事实的主体名词相关联的第一扩充;识别这一个或多个扩充中的第二扩充与对象名词相关联;识别主体名词与对象名词之间的关系;以及将涉及对象名词和主体名词的新的以用户为中心的事实添加到图数据结构中。在一些示例中,基于一个或多个扩充来识别额外的以用户为中心的事实包括:识别这一个或多个扩充之间的任何合适的关系,并添加代表所识别的关系的以用户为中心的事实。
在示例中,第一节点和第二节点均包括指定识别出的命名实体的扩充,其中两个扩充指定同一命名实体。因此,图数据结构可以存储将第一节点连接到第二节点的边,并且边的关系类型可以指示这两个节点被推断为与同一实体相关联。替代地或另外地,图数据结构可以存储每个节点中的节点交叉引用,指示另一个节点与同一命名实体相关联。可选地,图数据结构可以修改第一节点以包括第二节点的数据并删除第二节点,从而通过对表示进行折叠以包括单个节点而不是两个节点来避免第二节点的数据的冗余存储。
在另一示例中,第一节点包括指定命名实体的扩充,并且可以添加边以将第一节点连接到代表同一命名实体的第二节点。在另一示例中,可以在具有相同关联主题的第一节点和第二节点之间添加边。在另一示例中,可以在具有相同关联时间和/或位置的第一节点和第二节点之间添加边。例如,可以在提及特定日历日期的第一节点(例如,在标签中)和在特定日历日期上创建的第二节点(例如,由访问元数据所指示的)之间添加边。在另一示例中,可以在创建于同一位置处或提及同一位置的两个节点之间添加边。
对可能有助于知识库的不同计算机服务的数量没有限制。另外,不要求不同的计算机服务以任何特定方式彼此相关或与以用户为中心的图相关(例如,不同的计算机服务和以用户为中心的图可以互不相关,并由不同的计算机服务提供者提供)。因此,以用户为中心的知识AI库可以包括从多个不同的计算机服务得出的以用户为中心的事实,从而包括来自更多不同上下文的更多的以用户为中心的事实。此外,应用特定构成图结构之间的交叉引用使得以用户为中心的事实能够表达不同的计算机服务各方面之间的关系,与在没有交叉引用的情况下维护多个不同、独立的知识库相比,这可以进一步提高实用性。
图数据结构表示以用户为中心的事实之间的结构化关系(例如,具有相同主体名词的两个事实可以由构成图之内的单个节点记录表示,并在构成图之间被交叉引用)。因此,遍历图数据结构以找到满足查询的以用户为中心的事实可能比穷举搜索以用户为中心的事实的集合更为高效。例如,如果用户已经频繁地与特定的另一人进行交互,则频繁的交互可以指示该另一人可能与该用户相关。因此,可能存在更多以该人为主体或对象的以用户为中心的事实,并且在遍历图数据结构的边时,遇到代表另一个人的节点的可能性更大,因为有许多边通向和来自代表该另一人的节点。
遍历图数据结构可以包括沿着图数据结构的边的“随机行走”。随机行走可以从当前用户上下文开始,其在本文中用于指代用于回答查询的任何合适的起点。在示例中,当前用户上下文可以由查询定义(例如,通过包括指示要用作起点的主体图节点的上下文关键字)。在其它示例中,当前用户上下文可以是适合于确定要用作起点的主体图节点的应用特定上下文(例如“应答电子邮件”)。
当在随机行走期间(例如,在起点处)遇到节点时,可以检查该节点以确定其是否满足查询的约束。如果满足,则可以响应于查询在以用户为中心的事实的子集中将其输出。然后,在遇到该节点之后,随机行走可以继续,从而遇到更多的节点。为了找到更多的节点,随机行走可以沿着遇到的节点的出向边继续。确定是否沿着出向边继续可以是加权随机确定,包括评估表示跟随该边的可能性的权重,并基于权重和随机数据来对是否跟随该边进行采样,例如,使用随机数生成器实现的“轮盘选择”算法。可以基于主体图节点、边和/或对象图节点的置信度值来确定将主体图节点连接到对象图节点的边的权重。在示例中,置信度值可以被解释为与用户相关的指示,从而更可能跟随更相关或连接更多相关节点的边。可以基于主体图节点、对象图节点和边的其它数据来进一步确定边的权重,例如,通过基于边类型与查询的一个或多个自然语言特征的自然语言比较来评估边与查询的相关性。
通过指定约束(例如,主体图节点、对象图节点的特征以及定义以用户为中心的事实的边),用户可能能够使用以用户为中心的图来制定各种要回答的查询。
除了选择满足查询中指定的约束的以用户为中心的事实的子集之外,以用户为中心的图还能够响应其它专门查询,例如切片查询和排名查询。
在示例中,查询是指示起始节点和距离参数的切片查询。切片查询的答案是以用户为中心的事实的子集,包括通过在起始节点处开始并遍历图数据结构的边以形成长度至多等于离开起始节点的距离参数的路径而达到的以用户为中心的事实。例如,如果距离参数被设置为1,则查询的答案将包括起始节点和直接连接到该起始节点的所有一次移除的节点;如果距离参数被设置为2,则查询的答案将包括起始节点、所有一次移除的节点以及直接与这些一次移除的节点中的至少一个直接连接的所有两次移除的节点。切片查询可以表示以通过最多为距离参数的路径连接到起始节点的方式与特定感兴趣的以用户为中心的事实潜在相关(例如,涉及起始节点的以用户为中心的事实)的以用户为中心的事实的集合。通过设置较小的距离参数,查询的回答可以表示与起始节点密切相关的事实的相对较小的集合;类似地,通过设置较大的距离参数,回答可以表示与起始节点间接相关的事实的较大的集合。作为指定起始节点的替代方法,查询还可以将当前用户上下文用作起始节点,从而表示与用户的当前上下文有关的以用户为中心的事实的集合。
在另一个示例中,查询是至少基于与每个以用户为中心的事实相关联的置信度值对多个以用户为中心的事实进行排名的排名查询,并且以用户为中心的事实的子集根据每个以用户为中心的事实的置信度值进行排名。排名查询可以被解释为收集可能与用户相关的以用户为中心的事实,而无需对查询施加额外的特定约束。除了基于置信度值对多个以用户为中心的事实进行排名之外,还可以基于其它特征来对多个以用户为中心的事实进行排名。例如,如果以用户为中心的事实是较新的,则可以将其加权为更相关(例如,根据与每个事实相关联的时间戳)。在另一示例中,排名查询可以包括关键字,并且如果以用户为中心的事实在其标签中包括具有关键字的至少一个节点,则可以将其加权为更相关。
尽管上文描述了专用查询的两个示例(“切片”和“排名”),但以用户为中心的图可以根据任何合适的约束基于“切片”查询、“排名”查询和对以用户为中心的图的其它遍历来进行其它种类的专用查询。例如,响应于切片查询的以用户为中心的事实的子集可以额外地如排名查询中那样根据置信度值进行排序,从而组合这两种查询的功能。在另一个示例中,查询是指示起始节点的枢轴查询(pivot query)。枢轴查询的答案是以用户为中心的事实的子集,包括通过在起始节点处开始并遍历图数据结构的边以形成无限制(或任意,大的)长度的路径而达到的以用户为中心的事实。枢轴查询可以被解释为切片查询,该查询不限制起始节点所到达的路径的长度,例如,距离参数为无穷大的情况。在一些示例中,查询的答案可以包括以作为图表图的以用户为中心的事实的答案子集的可视化,其可以被注释或动画化以包括以用户为中心的事实的任何合适的信息(例如,由以用户为中心的事实中的一个中包括的节点的构面指针指示的辅助的应用特定数据)。
查询可以定义时间约束,以使得响应于查询而输出的以用户为中心的事实的子集被限制为与指示在由查询定义的范围内的时间的时间戳相关联的以用户为中心的事实。在一些示例中,时间是图数据结构中节点和边的固有属性(例如,图数据结构中包括的多个以用户为中心的事实中的每个以用户为中心的事实与一个或多个时间戳相关联)。与节点或边相关联的一个或多个时间戳可以指示以用户为中心的事实被创建、访问和/或修改的时间(例如,定义以用户为中心的事实的节点的访问元数据)。替代地或另外地,一个或多个时间戳可以指示以用户为中心的事实中所提及的时间(例如,安排会议的时间,或者由扩充适配器在扩充流水线中添加的任何其它时间戳)。一个或多个时间戳可以可选地被存储为可搜索标签。
在一些示例中,由查询定义的一个或多个约束包括答案类型约束,并且相应地,响应于查询而选择的以用户为中心的事实的子集可以仅包括满足答案类型约束的以用户为中心的事实。例如,答案类型约束可以约束主体图节点、对象图节点和/或以用户为中心的事实的边的特征。例如,答案类型约束可以指示主体和/或对象图节点的特定类型,例如:1)主体或对象是人;2)主体和对象二者是同事;3)主体是地点;4)对象是话题;或者5)主体是人而对象是所安排的事件。替代地或另外地,答案类型约束可以指示一个或多个特定主体和/或对象,例如1)主体是用户;2)主体是用户的老板爱丽丝;或者3)对象是爱丽丝、鲍勃或查理中的任何一个。替代地或另外地,答案类型约束可以指示边的一种或多种特定类型,例如通过指示诸如“发送电子邮件”关系、“一起吃午饭”关系或“研究主题”关系之类的关系类型。
在一些示例中,由查询定义的一个或多个约束可以包括图上下文约束,并且相应地,响应于查询而选择的以用户为中心的事实的子集可以仅包括与满足图上下文约束的以用户为中心的图中的上下文化的以用户为中心的事实有关的以用户为中心的事实。基于可以指示可能的关系的图数据结构的任何适当的特征,本文可以将两个不同的以用户为中心的事实描述为相关。例如,当图上下文约束指示用户的老板爱丽丝时,上下文化的以用户为中心的事实可以是具有将爱丽丝表示为主体图节点或对象图节点的节点的任何事实。因此,响应于查询而选择的以用户为中心的事实的子集可以包括具有主体图节点和/或对象图节点的其它以用户为中心的事实,这些主体图节点和/或对象图节点经由边直接连接到表示爱丽丝的节点。替代地或另外地,以用户为中心的事实的子集可以包括与爱丽丝间接相关的以用户为中心的事实,例如,具有经由两个或更多边的路径间接连接到代表爱丽丝的节点的主体图节点和/或对象图节点的以用户为中心的事实。在一些情况下,包括图上下文约束的查询可以是切片查询,并且以用户为中心的事实的子集可以仅包括与上下文化的以用户为中心的事实有关的、并且在该上下文化的以用户为中心的事实的节点的至多特定距离之内可到达的以用户为中心的事实。在其它示例中,包括图上下文约束的查询可以是排名查询,并且以用户为中心的事实的子集可以包括对最有可能与上下文化的以用户为中心的事实相关的以用户为中心的事实的选择,例如,经由很多不同的路径或者经由包括具有高置信度值的边的路径连接到该上下文化的以用户为中心的事实的以用户为中心的事实。
回答查询可以包括基于与每个以用户为中心的事实相关联的时间戳来遍历图数据结构,这在本文中可以被称为遍历图数据结构的时间维度。例如,回答查询可以包括从与由查询所定义的时间相关联的节点开始,并且通过跟随带有指示某个随后时间的时间戳的任意边来遍历该图,从而时间戳以与遍历相同的顺序增加。在其它示例中,回答查询可以包括通过跟随带有在由查询定义的日期之前的时间戳的任意边来遍历该图数据结构。此外,图数据结构中每个节点和边的固有时间属性可以使得实现图数据结构的时间线视图。在示例中,查询的答案可以包括图数据结构的时间线视图,例如,根据与每个以用户为中心的事实相关联的时间戳按时间顺序排列的以用户为中心的事实。
作为专门查询的另一示例,图数据结构可以被配置为允许基于由图数据结构存储的针对以用户为中心的事实的可搜索标签来搜索以用户为中心的事实。基于可搜索标签来搜索以用户为中心的事实可以包括以任何合适的方式来遍历图(例如,如上文针对切片查询或枢轴查询所描述的),并且在遍历图时,输出在遍历期间遇到的、图结构针对其存储了可搜索标签的任何以用户为中心的事实。
作为专门查询的另一示例,图数据结构可以被配置为通过搜索与用户的当前上下文有关的以用户为中心的事实来服务用户上下文查询。因此,用户上下文查询可以包括与用户的当前上下文有关的约束。例如,约束可以包括基于服务用户上下文查询的当前时间的时间约束。替代地或另外地,约束可以包括与用户的当前上下文有关的图上下文约束,例如,指定用户可以参与其中的任务的图上下文约束。
在一些示例中,用户上下文查询的约束可以基于发布了用户上下文查询的计算机服务的状态数据。在一些示例中,计算机服务的状态数据包括自然语言特征(例如,意图、实体或主题),并且约束包括对自然语言特征的指示。例如,当计算机服务是电子邮件程序时,用户上下文查询的约束可以包括:1)基于用户开始撰写电子邮件的时间的时间限制;2)指示电子邮件主体的主题的图上下文约束;3)指示电子邮件的收件人的图上下文约束。因此,响应于用户上下文查询而选择的以用户为中心的事实的子集可以包括以用户为中心的事实,这些事实是当前的(基于时间戳)并且可能与用户撰写电子邮件的任务有关(基于主题和收件人)。
本文中描述的方法和过程可以绑定到一个或多个计算设备的计算系统。具体而言,这些方法和过程可以被实现为可执行计算机应用程序、网络可访问计算服务、应用编程接口(API)、库,或者上述各项的组合和/或其它计算资源。
图4示意性地示出了计算系统400的简化表示,该系统被配置为提供本文所述的任何或所有计算功能。计算系统400可以采取以下形式:一个或多个个人计算机、网络可访问的服务器计算机、平板计算机、家庭娱乐计算机、游戏设备、移动计算设备、移动通信设备(例如,智能电话)、虚拟/增强/混合现实计算设备、可穿戴计算设备、物联网(IoT)设备、嵌入式计算设备和/或其它计算设备。例如,计算系统400可以包括逻辑子系统、存储子系统的任意组合,和/或以用户为中心的图服务器103、客户端计算机102、以用户为中心的数据源105A-105N、网络104和/或未在图1A中示出的其它计算机中的一个或多个的其它子系统。
计算系统400包括逻辑子系统402和存储子系统404。计算系统400可以可选地包括输入/输出子系统406(例如,包括一个或多个输入设备或传感器,以及一个或多个输出设备,例如图形显示器和/或音频扬声器)、通信子系统408和/或未在图4中示出的其它子系统。
逻辑子系统402包括被配置为执行指令的一个或多个物理设备。例如,逻辑子系统可以被配置为:执行是一个或多个应用、服务或其它逻辑构造的部分的指令。逻辑子系统可以包括被配置为执行软件指令的一个或多个硬件处理器。另外或替代地,逻辑子系统可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件设备。逻辑子系统的处理器可以是单核或多核的,并且在其上执行的指令可以被配置用于顺序、并行和/或分布式处理。逻辑子系统的各个组件可选地可以分布在两个或更多个单独的设备中,这些设备可以位于远程位置和/或被配置用于协同处理。逻辑子系统的一些方面可以虚拟化,并且由在云计算配置中配置的可远程-访问的联网计算设备执行。
存储子系统404包括一个或多个物理设备,其被配置为暂时地和/或永久地持有计算机信息,例如逻辑子系统可执行的数据和指令。当存储子系统包括两个或更多设备时,可以将设备共置和/或远程放置。存储子系统404可以包括易失性、非易失性、动态、静态、读/写、只读、随机访问、顺序访问、位置可寻址、文件可寻址和/或内容可寻址设备。存储子系统404可以包括可移除和/或内置设备。当逻辑子系统执行指令时,存储子系统404的状态可以变换—例如,变换成持有不同的数据。
逻辑子系统402和存储子系统404的各方面可以一起集成到一个或多个硬件逻辑组件中。例如,这样的硬件逻辑组件可以包括程序专用和应用专用集成电路(PASIC/ASIC)、程序专用和应用专用标准产品(PSSP/ASSP)、片上系统(SoC)以及复杂可编程逻辑器件(CPLD)。
逻辑子系统和存储子系统可以协作以实例化一个或多个逻辑机。如本文所使用的,术语“机器”用于统称硬件以及与该硬件协作以提供计算机功能的任何软件、指令和/或其它组件。换句话说,“机器”从来都不是抽象的思想,而总是具有实体形式。机器可以由单个计算设备实例化,或者机器可以包括由两个或更多不同计算设备实例化的两个或更多子组件。在一些实施方式中,机器包括与远程组件(例如,云计算服务)协作的本地组件(例如,计算机服务)。赋予特定机器其功能的软件和/或其它指令可以可选地作为未执行的模块保存在合适的存储设备上。可以由根据本公开内容的计算系统400实例化的机器的非限制性示例包括浏览器110和以用户为中心的图300,以及可以被配置为与浏览器110和以用户为中心的图300交互的任何计算机服务,例如电子邮件客户端、日程安排程序等。
可以使用最新技术和/或未来机器学习(ML)、人工智能(AI)和/或自然语言处理(NLP)技术的任何合适组合来实现根据本公开内容的机器。可以并入一个或多个机器的实现中的技术的非限制性示例包括支持向量机、多层神经网络、卷积神经网络(例如,包括用于处理图像和/或视频的空间卷积网络,用于处理音频信号和/或自然语言句子的时间卷积神经网络,和/或被配置为在一个或多个时间和/或空间维度上对特征进行卷积和合并的任何其它合适的卷积神经网络),循环神经网络(例如,长短期记忆网络),关联记忆(例如,查找表、哈希表、Bloom过滤器、神经图灵机和/或神经随机存取存储器),文字嵌入模型(例如GloVe或Word2Vec),无监督的空间和/或聚类方法(例如,最近邻居算法、拓扑数据分析和/或k均值聚类),图模型(例如(隐藏)马尔可夫模型、马尔可夫随机字段、(隐藏)条件随机字段和/或AI知识库),和/或自然语言处理技术(例如,标记化、词干提取、区域界定和/或依赖项解析、和/或意图识别、分段模型和/或超分段模型(例如,隐藏动态模型))。
在一些示例中,可使用一个或多个可微函数来实现本文描述的方法和过程,其中可以针对可微函数的输入和/或输出来计算和/或估计可微函数的梯度(例如,针对训练数据和/或针对目标函数)。这样的方法和过程可以至少部分由一组可训练参数确定。因此,可以通过任何合适的训练过程来调整用于特定方法或过程的可训练参数,以便持续改善该方法或过程的功能。
用于调整可训练参数的训练过程的非限制性示例包括受监督训练(例如,使用梯度下降或任何其它合适的优化方法),零样本(zero-shot),少样本,无监督学习方法(例如,基于从无监督聚类方法得出的类别的分类),强化学习(例如,基于反馈的深度Q学习),和/或生成式对抗神经网络训练方法,信念传播,RANSAC(随机样本共识),上下文Bandit方法,最大似然法和/或期望最大化。在一些示例中,可以针对测量多个组件的集体功能(例如,针对增强反馈和/或针对标记的训练数据)的性能的目标函数来同时训练本文描述的系统的多个方法、过程和/或组件。同时训练多种方法、过程和/或组件可以改善这种集体功能。在一些示例中,可以独立于其它组件来训练一种或多种方法、过程和/或组件(例如,对于历史数据的离线训练)。
本文公开的方法和过程可以被配置为给予用户和/或任何其它人对任何私人和/或潜在敏感数据的控制。无论何时存储、访问和/或处理数据,都可以根据隐私和/或安全标准来处置数据。当收集用户数据时,用户或其它利益相关者可以指定如何使用和/或存储数据。每当出于任何目的收集用户数据时,都应通知拥有该数据的用户,并且仅当用户提供肯定同意时才应收集该用户数据。如果要收集数据,则可以而且应该在最大程度尊重用户隐私的前提下收集数据。如果要释放数据供用户以外的任何人访问或用于任何决策制定过程,则可以在使用和/或释放数据之前收集用户的同意。用户可以随时选择加入和/或选择退出数据收集。在收集数据后,用户可以发出命令以删除数据和/或限制对数据的访问。所有潜在敏感的数据可选地可以被加密和/或在可行的情况下被匿名化,以进一步保护用户隐私。用户可以指定部分数据、元数据或处理数据的统计信息/结果以发布给其它方,例如进行进一步处理。私人和/或机密的数据可以保持完全私人的,例如,仅被临时解密以进行处理,或仅被解密以在用户设备上进行处理,否则以加密形式存储。用户可以持有和控制用于加密数据的加密密钥。替代地或另外地,用户可以指定受信任的第三方来持有和控制用于加密数据的加密密钥,例如,以便根据合适的认证协议向用户提供对数据的访问。
当本文描述的方法和过程结合了ML和/或AI组件时,ML和/或AI组件可以至少部分基于针对训练数据训练组件来做出决策。因此,ML和/或AI组件可以并且应该在各种代表性的数据集合上进行训练,这些数据集合包括针对不同用户和/或用户群体的足够相关数据。具体而言,针对不同的人类个体和群体,训练数据集合应具有包容性,以便在训练ML和/或AI组件时,针对用户的用户体验和/或用户群体提高了性能。
例如,可以使用语言模型来训练根据本公开内容的对话系统以与不同的用户群体进行交互,这些语言模型是基于群体的语言、方言、口音和/或任何其它说话风格的特征来训练的,以便适合那些群体。
可以额外地训练ML和/或AI组件来做出决策,以使针对人类个体和/或群体的潜在偏见最小化。例如,当AI系统被用于评估有关人类个体或群体的任何定性和/或定量信息时,可以对这些AI系统进行训练,以使其对不打算通过定性和/或定量评估来测量的个体或群体之间的差异不变,例如,因此,使得任何决策都不会受到个体和群体之间差异的意外影响。
ML和/或AI组件可以并且应该被设计为提供有关它们如何尽可能操作的上下文,以便ML和/或AI系统的实现者可以对系统做出的决策/评估负责。例如,ML和/或AI系统应具有可复制的行为,例如,当它们做出伪随机决策时,应使用随机种子并进行记录,以便以后能够复制决策。作为另一个示例,应当对用于训练和/或测试ML和/或AI系统的数据进行整理和维护,以促进未来对ML和/或AI系统针对数据的行为的调查。此外,ML和/或AI系统可以并且应该受到持续监控,以辨识潜在的偏差、错误和/或意外结果。
当包括时,输入/输出子系统406可用于呈现由存储子系统404持有的数据的可视表示。可视表示可以采取图形用户界面(GUI)的形式。输入/输出子系统406可以包括使用几乎任何类型的技术的一个或多个显示设备。在一些实现中,显示子系统可以包括一个或多个虚拟现实显示器、增强现实显示器或混合现实显示器。
当包括时,输入/输出子系统还可以包括一个或多个输入设备或与之对接。输入设备可以包括传感器设备或用户输入设备。用户输入设备的示例包括键盘、鼠标、触摸屏或游戏控制器。在一些实施例中,输入子系统可以包括所选择的自然用户输入(NUI)元件部分或与之对接。这样的元件部分可以是集成或外围的,并且输入动作的转换和/或处理可以是在板上或离板处理的。示例NUI元件部分可以包括:用于语音和/或声音识别的麦克风;用于机器视觉和/或姿势识别的红外、彩色、立体和/或深度摄像头;头部跟踪器、眼部跟踪器、加速计、和/或用于运动检测和/或意图识别的回转仪。
当包括时,通信子系统408可以被配置为:将计算系统400通信地与一个或多个其它计算设备耦接。通信子系统408可以包括可与一种或多种不同通信协议兼容的有线和/或无线通信设备。通信子系统可以被配置用于经由个域网、局域网和/或广域网的通信。
语言模型可以利用词汇特征来指导采样/搜索词语以识别语音。例如,语言模型可以至少部分由词语或其它词汇特征的统计分布来定义。例如,可以通过n元语法的统计分布来定义语言模型,该n元语法根据词汇统计来定义候选词之间的转换概率。语言模型还可以基于任何其它适当的统计特征和/或使用一个或多个机器学习和/或统计算法处理统计特征的结果(例如,由这种处理产生的置信度值)。在一些示例中,统计模型可以限制针对音频信号可以识别哪些词语,例如,基于以下假设:音频信号中的词语来自特定词汇。
替代地或另外地,语言模型可以基于一个或多个神经网络,该神经网络先前被训练以表示共享的潜在空间中的音频输入和词语,例如,由一个或多个音频和/或词语模型学习的向量空间(例如,wav21etter和/或word2vec)。因此,找到候选词可以包括针对音频输入,基于由音频模型编码的向量来搜索共享的潜在空间,以便找到候选词向量以用词语模型来进行解码。共享的潜在空间可以用于针对一个或多个候选词语评估该候选词语出现在语音音频中的置信度。
该语言模型可以与声学模型结合使用,该声学模型被配置为针对候选词语和音频信号,基于该词语的声学特征(例如,梅尔频率倒谱系数,共振峰等),评估该候选词语包括在音频信号中的语音音频中的置信度。可选地,在一些示例中,语言模型可以并入声学模型(例如,语言模型的评估和/或训练可以基于声学模型)。声学模型例如基于标记的语音音频,定义了声学信号与诸如音素之类的基本声音单元之间的映射。声学模型可以基于最先进的技术或未来机器学习(ML)和/或人工智能(AI)模型的任何适当组合,例如:深度神经网络(例如,长短期记忆、时间卷积神经网络、受限玻尔兹曼机、深度信念网络),隐藏的马尔可夫模型(HMM),条件随机场(CRT)和/或马尔可夫随机场,高斯混合模型和/或其它图模型(例如深贝叶斯网络)。可以用任何合适的方式对要用声学模型处理的音频信号进行预处理,例如,以任何合适的采样率进行编码,傅立叶变换,带通滤波器等。可以训练声学模型,以基于对带有标记的音频数据的训练来识别声学信号和声音单元之间的映射。例如,可以基于包括语音音频的带标记音频数据和经校正的文本来训练声学模型,以便学习语音音频信号和由经校正的文本表示的声音单元之间的映射。因此,可以持续改进声学模型以改进其正确识别语音音频的效用。
在一些示例中,除了统计模型、神经网络和/或声学模型之外,语言模型还可以并入任何合适的图模型,例如,隐式马尔可夫模型(HMM)或条件随机场(CRF)。给定到目前为止识别出的语音音频和/或其它词语,图模型可以利用统计特征(例如,转换概率)和/或置信度值来确定识别词语的可能性。因此,图模型可以利用统计特征、先前训练的机器学习模型和/或声学模型来定义图模型中表示的状态之间的转换概率。
在示例中,一种用于在浏览器中提供智能选择的以用户为中心的内容的集合的方法包括:维护以用户为中心的图,所述图包括多个以用户为中心的事实,所述事实是由用户与多个不同的计算机服务交互而得出的;识别所述用户感兴趣的多个不同上下文;以及对于每个上下文,(1)从所述以用户为中心的图中识别与所述上下文有关的以用户为中心的事实的集合,这种识别基于所述以用户为中心的图中的以用户为中心的事实之间的关系,并且(2)基于所述以用户为中心的事实的集合在所述浏览器中显示智能选择的内容。在该示例或任意其它示例中,多个不同的计算机服务包括除了所述浏览器以外的计算机服务。在该示例或任意其它示例中,对于所述多个上下文中的至少一个上下文,所述智能选择的内容包括用于促进所述用户完成与所述上下文有关的任务的辅助信息。在该示例或任意其它示例中,所述多个上下文中的至少一个基于预定义主题,并且其中,针对该上下文的所述以用户为中心的事实的集合包括与所述预定义主题有关的以用户为中心的事实。在该示例或任意其它示例中,所述多个上下文中的至少一个基于所述用户的项目,并且其中,针对该上下文的所述以用户为中心的事实的集合包括以下各项中的一项或多项:1)与所述项目相关的电子邮件;2)与所述项目相关的日历数据;以及3)与所述项目相关的文档。在该示例或任意其它示例中,针对所述多个上下文中的至少一个,所述以用户为中心的事实的集合包括以下各项中的一项或多项:1)浏览器历史项,2)浏览器收藏夹,以及3)网站。在该示例或任意其它示例中,所述方法还包括:针对所述多个上下文中的至少一个,识别针对所述上下文的一个或多个子集合;并且针对每个子集合,基于所述上下文的所述以用户为中心的事实的集合的子集,显示针对所述子集合智能选择的内容。在该示例或任意其它示例中,针对所述多个上下文中的至少一个,所述以用户为中心的事实的集合基于所述以用户为中心的图中的以用户为中心的事实之间的时间关系。在该示例或任意其它示例中,对于所述多个上下文中的至少一个,所述上下文是最近活动上下文,并且其中,针对所述上下文的所述以用户为中心的事实的集合包括从所述用户与多个不同的计算机服务之间的交互得出的以用户为中心的事实,其中,这种交互是在预定义的最近日期之后发生的。在该示例或任意其它示例中,对于所述多个上下文中的至少一个,所述上下文是日程表跟踪上下文,并且其中,针对所述上下文的所述以用户为中心的事实的集合包括与所述用户即将承担的责任有关的以用户为中心的事实。
在示例中,一种以用户为中心的图服务器计算机系统包括:逻辑子系统;以及存储子系统,其被配置为持有可由所述逻辑子系统执行的指令,以便结合用户对浏览器的操作来进行下列各项:维护以用户为中心的图,所述图包括多个以用户为中心的事实,所述事实是从所述用户与多个不同的计算机服务交互中得出的;识别所述用户感兴趣的多个不同上下文;以及对于每个上下文,(1)从所述以用户为中心的图中识别与所述上下文有关的以用户为中心的事实的集合,这种识别基于所述以用户为中心的图中的以用户为中心的事实之间的关系,并且(2)基于以用户为中心的事实的集合,智能地选择内容以经由所述浏览器呈现给所述用户。在该示例或任意其它示例中,所述多个不同的计算机服务包括除了所述浏览器以外的计算机服务。在该示例或任意其它示例中,对于所述多个上下文中的至少一个上下文,所述智能-选择的内容包括用于促进所述用户完成与所述上下文有关的任务的辅助信息。在该示例或任意其它示例中,所述多个上下文中的至少一个基于预定义主题,并且其中,所述以用户为中心的事实的集合。在该示例或任意其它示例中,所述多个上下文中的至少一个基于所述用户的项目,并且其中,针对该上下文的所述以用户为中心的事实的集合包括以下各项中的一项或多项:1)与所述项目相关的电子邮件;2)与所述项目相关的日历数据;以及3)与所述项目相关的文档。在该示例或任意其它示例中,针对所述多个上下文中的至少一个,所述智能选择的内容包括基于下列中的一项或多项的信息:1)发给所述用户或来自所述用户的电子邮件,2)用户的联系人,3)用户的日历数据,4)文档,5)网页,6)与用户相关联的位置数据,和/或7)与用户相关联的应用使用情况数据。在该示例或任意其它示例中,针对所述多个上下文中的至少一个,所述以用户为中心的事实的集合基于所述以用户为中心的图中的以用户为中心的事实之间的时间关系。在该示例或任意其它示例中,对于所述多个上下文中的至少一个,所述上下文是最近活动上下文,并且其中,针对所述上下文的所述以用户为中心的事实的集合包括从所述用户与所述多个不同的计算机服务之间的交互中得出的以用户为中心的事实,其中,这种交互是在预定义的最近日期之后发生的。在该示例或任意其它示例中,对于所述多个上下文中的至少一个,所述上下文是日程表跟踪上下文,并且其中,针对所述上下文的所述以用户为中心的事实的集合包括与所述用户即将承担的责任有关的以用户为中心的事实。
在示例中,一种用于在浏览器中提供智能选择的以用户为中心的内容的集合的方法包括:维护以用户为中心的图,所述图包括多个以用户为中心的事实,所述事实是从用户与多个不同的计算机服务的交互中得出的;在所述以用户为中心的图中识别多个不同的候选触发事实;针对每个候选触发事实:评估所述触发事实的信号强度;响应于所述信号强度超过阈值而在所述以用户为中心的图中识别上下文;响应于识别出所述上下文,从所述以用户为中心的图中识别与所述上下文有关的以用户为中心的事实的集合,这种识别是基于在所述以用户为中心的图中的以用户为中心的事实之间的关系的;以及基于所述以用户为中心的事实的集合,显示与所述上下文有关的智能选择的内容。
将理解的是:本文中描述的配置和/或方法在性质上是示例性的,并且这些具体实施例或示例不应该被认为是有限制性的意义的,因为许多变体是可能的。本文中描述的具体例程或方法可以表示任意数量的处理策略中的一种或多种。因此,说明和/或描述的各个动作可以用说明和/或描述的顺序、用其它顺序、平行地来执行或被省略。同样地,上述过程的顺序可以改变。
本公开内容的主题包括各个过程、系统和配置的所有新颖和非显而易见的组合和子组合,以及本文中公开的其它特征、功能、动作和/或属性及它们的任何和所有等价物。

Claims (15)

1.一种用于在浏览器中提供智能选择的以用户为中心的内容的集合的方法,包括:
维护以用户为中心的图,所述图包括多个以用户为中心的事实,所述事实是从用户与多个不同的计算机服务的交互中得出的;
识别所述用户感兴趣的多个不同上下文;以及
对于每个上下文,(1)从所述以用户为中心的图中识别与所述上下文有关的以用户为中心的事实的集合,这种识别基于所述以用户为中心的图中的以用户为中心的事实之间的关系,以及(2)基于所述以用户为中心的事实的集合在所述浏览器中显示智能选择的内容。
2.根据权利要求1所述的方法,其中,所述多个不同的计算机服务包括除了所述浏览器以外的计算机服务。
3.根据权利要求1所述的方法,其中,针对所述多个上下文中的至少一个,所述智能选择的内容包括用于促进所述用户完成与所述上下文有关的任务的辅助信息。
4.根据权利要求1所述的方法,其中,所述多个上下文中的至少一个基于预定义主题,并且其中,针对该上下文的所述以用户为中心的事实的集合包括与所述预定义主题有关的以用户为中心的事实。
5.根据权利要求1所述的方法,其中,所述多个上下文中的至少一个基于所述用户的项目,并且其中,针对该上下文的所述以用户为中心的事实的集合包括以下各项中的一项或多项:1)与所述项目相关的电子邮件;2)与所述项目相关的日历数据;以及3)与所述项目相关的文档。
6.根据权利要求1所述的方法,其中,针对所述多个上下文中的至少一个,所述以用户为中心的事实的集合包括以下各项中的一项或多项:1)浏览器历史项,2)浏览器收藏夹,以及3)网站。
7.根据权利要求1所述的方法,还包括:针对所述多个上下文中的至少一个,识别针对所述上下文的一个或多个子集合,并且针对每个子集合,基于所述上下文的所述以用户为中心的事实的集合的子集,显示针对所述子集合的智能选择的内容。
8.根据权利要求1所述的方法,其中,针对所述多个上下文中的至少一个,所述以用户为中心的事实的集合基于所述以用户为中心的图中的以用户为中心的事实之间的时间关系。
9.根据权利要求8所述的方法,其中,针对所述多个上下文中的至少一个,所述上下文是最近活动上下文,并且其中,针对所述上下文的所述以用户为中心的事实的集合包括从所述用户与多个不同的计算机服务之间的交互得出的以用户为中心的事实,其中,这种交互是在预定义的最近日期之后发生的。
10.根据权利要求8所述的方法,其中,针对所述多个上下文中的至少一个,所述上下文是日程表跟踪上下文,并且其中,针对所述上下文的所述以用户为中心的事实的集合包括与所述用户即将承担的责任有关的以用户为中心的事实。
11.一种以用户为中心的图服务器计算机系统,包括:
逻辑子系统;以及
存储子系统,其被配置为持有可由所述逻辑子系统执行的指令,以便结合用户对浏览器的操作来进行下列各项:
维护以用户为中心的图,所述图包括多个以用户为中心的事实,所述事实是从所述用户与多个不同的计算机服务的交互中得出的;
识别所述用户感兴趣的多个不同上下文;以及
对于每个上下文,(1)从所述以用户为中心的图中识别与所述上下文有关的以用户为中心的事实的集合,这种识别基于所述以用户为中心的图中的以用户为中心的事实之间的关系,以及(2)基于以所述用户为中心的事实的集合,智能地选择内容以经由所述浏览器呈现给所述用户。
12.根据权利要求11所述的以用户为中心的图服务器计算机系统,其中,所述多个不同的计算机服务包括除了所述浏览器以外的计算机服务。
13.根据权利要求11所述的以用户为中心的图服务器计算机系统,其中,针对所述多个上下文中的至少一个,所述智能选择的内容包括用于促进所述用户完成与所述上下文有关的任务的辅助信息。
14.根据权利要求11所述的以用户为中心的图服务器计算机系统,其中,所述多个上下文中的至少一个基于预定义主题,并且其中,针对该上下文的所述以用户为中心的事实的集合包括与所述预定义主题有关的以用户为中心的事实。
15.根据权利要求11所述的以用户为中心的图服务器计算机系统,其中,所述多个上下文中的至少一个基于所述用户的项目,并且其中,针对该上下文的所述以用户为中心的事实的集合包括以下各项中的一项或多项:1)与所述项目相关的电子邮件;2)与所述项目相关的日历数据;以及3)与所述项目相关的文档。
CN201980065460.3A 2018-10-04 2019-09-04 以用户为中心的浏览器位置 Pending CN112889043A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/152,257 2018-10-04
US16/152,257 US10740704B2 (en) 2018-10-04 2018-10-04 User-centric browser location
PCT/US2019/049408 WO2020072161A1 (en) 2018-10-04 2019-09-04 User-centric browser location

Publications (1)

Publication Number Publication Date
CN112889043A true CN112889043A (zh) 2021-06-01

Family

ID=67989087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980065460.3A Pending CN112889043A (zh) 2018-10-04 2019-09-04 以用户为中心的浏览器位置

Country Status (4)

Country Link
US (2) US10740704B2 (zh)
EP (1) EP3861465A1 (zh)
CN (1) CN112889043A (zh)
WO (1) WO2020072161A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733545B2 (en) 2018-10-04 2020-08-04 Microsoft Technology Licensing, Llc User-centric contextual information for browser
US10740704B2 (en) 2018-10-04 2020-08-11 Microsoft Technology Licensing, Llc User-centric browser location
US10997192B2 (en) 2019-01-31 2021-05-04 Splunk Inc. Data source correlation user interface
US10754638B1 (en) 2019-04-29 2020-08-25 Splunk Inc. Enabling agile functionality updates using multi-component application
US11423104B2 (en) * 2019-08-30 2022-08-23 Microsoft Technology Licensing, Llc Transfer model learning for relevance models
US11151125B1 (en) 2019-10-18 2021-10-19 Splunk Inc. Efficient updating of journey instances detected within unstructured event data
US11809447B1 (en) * 2020-04-30 2023-11-07 Splunk Inc. Collapsing nodes within a journey model
US11361770B2 (en) * 2020-06-30 2022-06-14 Microsoft Technology Licensing, Llc Detecting user identity in shared audio source contexts
US11741131B1 (en) 2020-07-31 2023-08-29 Splunk Inc. Fragmented upload and re-stitching of journey instances detected within event data
US20230186248A1 (en) * 2021-12-14 2023-06-15 Microsoft Technology Licensing, Llc Method and system for facilitating convergence
US11748063B2 (en) 2021-12-30 2023-09-05 Kyndryl, Inc. Intelligent user centric design platform
US11822593B1 (en) * 2022-09-29 2023-11-21 Discovery.Com, Llc Systems and methods for establishing an itinerary based on multimedia content of interest

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925540B1 (en) * 2004-10-15 2011-04-12 Rearden Commerce, Inc. Method and system for an automated trip planner
US20130297689A1 (en) * 2012-05-03 2013-11-07 Cisco Technology, Inc. Activity Stream Tuning Using Multichannel Communication Analysis
CN103797477A (zh) * 2011-09-15 2014-05-14 谷歌公司 预测用户导航事件
US20160155059A1 (en) * 2011-01-20 2016-06-02 Linkedin Corporation Methods and systems for recommending a context based on content interaction
CN107533685A (zh) * 2015-04-29 2018-01-02 微软技术许可有限责任公司 个性化上下文建议引擎

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8275399B2 (en) * 2005-09-21 2012-09-25 Buckyball Mobile Inc. Dynamic context-data tag cloud
US8126926B2 (en) * 2008-12-22 2012-02-28 Oracle International Corporation Data visualization with summary graphs
US20100241644A1 (en) * 2009-03-19 2010-09-23 Microsoft Corporation Graph queries of information in relational database
US10241752B2 (en) * 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10276170B2 (en) * 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US9842299B2 (en) * 2011-01-25 2017-12-12 Telepathy Labs, Inc. Distributed, predictive, dichotomous decision engine for an electronic personal assistant
US20130159234A1 (en) 2011-12-19 2013-06-20 Bo Xing Context activity tracking for recommending activities through mobile electronic terminals
US20140108307A1 (en) * 2012-10-12 2014-04-17 Wipro Limited Methods and systems for providing personalized and context-aware suggestions
US9384244B1 (en) * 2012-11-28 2016-07-05 BloomReach Inc. Search with autosuggest and refinements
US20140358958A1 (en) * 2013-05-29 2014-12-04 Microsoft Corporation Surfacing direct app actions
US9600769B1 (en) * 2013-12-06 2017-03-21 Google Inc. In-message suggestion by personal knowledge graph constructed from user email data
US20150286698A1 (en) * 2014-04-07 2015-10-08 Microsoft Corporation Reactive digital personal assistant
US10242088B2 (en) * 2014-09-18 2019-03-26 Microsoft Technology Licensing, Llc Multi-source search
US10482184B2 (en) * 2015-03-08 2019-11-19 Google Llc Context-based natural language processing
US11042590B2 (en) * 2015-10-05 2021-06-22 Verizon Media Inc. Methods, systems and techniques for personalized search query suggestions
US11089132B2 (en) * 2016-03-29 2021-08-10 Microsoft Technology Licensing, Llc Extensibility for context-aware digital personal assistant
US20170344631A1 (en) * 2016-05-26 2017-11-30 Microsoft Technology Licensing, Llc. Task completion using world knowledge
US10832684B2 (en) * 2016-08-31 2020-11-10 Microsoft Technology Licensing, Llc Personalization of experiences with digital assistants in communal settings through voice and query processing
US20180096072A1 (en) * 2016-10-03 2018-04-05 Google Inc. Personalization of a virtual assistant
US11288574B2 (en) * 2016-10-20 2022-03-29 Microsoft Technology Licensing, Llc Systems and methods for building and utilizing artificial intelligence that models human memory
US10171563B2 (en) * 2016-10-31 2019-01-01 Microsoft Technology Licensing, Llc Systems and methods for an intelligent distributed working memory
US11409463B2 (en) * 2016-12-28 2022-08-09 Microsoft Technology Licensing, Llc Systems and methods for contextual memory capture and recall
US20180232443A1 (en) 2017-02-16 2018-08-16 Globality, Inc. Intelligent matching system with ontology-aided relation extraction
US10585923B2 (en) * 2017-04-25 2020-03-10 International Business Machines Corporation Generating search keyword suggestions from recently used application
US10887423B2 (en) * 2017-05-09 2021-01-05 Microsoft Technology Licensing, Llc Personalization of virtual assistant skills based on user profile information
US20180329592A1 (en) * 2017-05-12 2018-11-15 Microsoft Technology Licensing, Llc Contextual windows for application programs
US11593413B2 (en) * 2018-04-12 2023-02-28 Microsoft Technology Licensing, Llc Computerized assistance using artificial intelligence knowledge base
US10740704B2 (en) 2018-10-04 2020-08-11 Microsoft Technology Licensing, Llc User-centric browser location
US10733545B2 (en) 2018-10-04 2020-08-04 Microsoft Technology Licensing, Llc User-centric contextual information for browser

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925540B1 (en) * 2004-10-15 2011-04-12 Rearden Commerce, Inc. Method and system for an automated trip planner
US20160155059A1 (en) * 2011-01-20 2016-06-02 Linkedin Corporation Methods and systems for recommending a context based on content interaction
CN103797477A (zh) * 2011-09-15 2014-05-14 谷歌公司 预测用户导航事件
US20130297689A1 (en) * 2012-05-03 2013-11-07 Cisco Technology, Inc. Activity Stream Tuning Using Multichannel Communication Analysis
CN107533685A (zh) * 2015-04-29 2018-01-02 微软技术许可有限责任公司 个性化上下文建议引擎

Also Published As

Publication number Publication date
US10740704B2 (en) 2020-08-11
US20200110519A1 (en) 2020-04-09
EP3861465A1 (en) 2021-08-11
US20200372421A1 (en) 2020-11-26
US11556865B2 (en) 2023-01-17
WO2020072161A1 (en) 2020-04-09

Similar Documents

Publication Publication Date Title
US11556865B2 (en) User-centric browser location
US11514114B2 (en) User-centric contextual information for browser
Raza et al. Progress in context-aware recommender systems—An overview
US10628506B2 (en) Using log data to train for automated sourcing
US10438172B2 (en) Automatic ranking and scoring of meetings and its attendees within an organization
US10984385B2 (en) Query building for search by ideal candidates
US8005832B2 (en) Search document generation and use to provide recommendations
JP2021108183A (ja) 意図推薦方法、装置、機器及び記憶媒体
CN112840336A (zh) 用于对内容项推荐进行排名的技术
US11017040B2 (en) Providing query explanations for automated sourcing
US20110314382A1 (en) Systems of computerized agents and user-directed semantic networking
JP2021518007A (ja) 人工知能ナレッジベースを用いたコンピュータによる支援
US20140089287A1 (en) Information space exploration tool system and method
WO2011160205A1 (en) Systems of computerized agents and user-directed semantic networking
AU2014205024A1 (en) Methods and apparatus for identifying concepts corresponding to input information
Strobbe et al. Interest based selection of user generated content for rich communication services
KR101441219B1 (ko) 정보 엔터티들의 자동 연관
Misztal-Radecka et al. Meta-User2Vec model for addressing the user and item cold-start problem in recommender systems
KR20240023535A (ko) 텍스트 데이터의 자동 라벨링
US20240028997A1 (en) Method and System for Automatically Managing and Displaying a Visual Representation of Workflow Information
US20140149378A1 (en) Method and apparatus for determining rank of web pages based upon past content portion selections
CN116569164A (zh) 在内容管理系统中对内容进行智能归类的系统和方法
Maguitman Searching in the Context of a Task: A Review of Methods and Tools
Parikh et al. Query suggestion with large scale data
Bhaskar et al. Recommendation System Using Different Approaches

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