CN112840335A - 用于浏览器的以用户为中心的上下文信息 - Google Patents
用于浏览器的以用户为中心的上下文信息 Download PDFInfo
- Publication number
- CN112840335A CN112840335A CN201980064675.3A CN201980064675A CN112840335A CN 112840335 A CN112840335 A CN 112840335A CN 201980064675 A CN201980064675 A CN 201980064675A CN 112840335 A CN112840335 A CN 112840335A
- Authority
- CN
- China
- Prior art keywords
- user
- centric
- graph
- facts
- fact
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000003993 interaction Effects 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000004044 response Effects 0.000 claims description 24
- 238000010586 diagram Methods 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 22
- 230000002123 temporal effect Effects 0.000 claims description 18
- 239000000470 constituent Substances 0.000 description 32
- 238000010801 machine learning Methods 0.000 description 28
- 230000003416 augmentation Effects 0.000 description 26
- 238000013473 artificial intelligence Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 17
- 238000012549 training Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000013528 artificial neural network Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 8
- 230000018109 developmental process Effects 0.000 description 8
- 239000000203 mixture Substances 0.000 description 8
- 238000005295 random walk Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 7
- 230000003190 augmentative effect Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000013179 statistical model Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000001976 improved effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- HEFNNWSXXWATRW-UHFFFAOYSA-N Ibuprofen Chemical compound CC(C)CC1=CC=C(C(C)C(O)=O)C=C1 HEFNNWSXXWATRW-UHFFFAOYSA-N 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 238000012896 Statistical algorithm Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000009125 cardiac resynchronization therapy Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000035764 nutrition Effects 0.000 description 1
- 235000016709 nutrition Nutrition 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011158 quantitative evaluation Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010937 topological data analysis Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0483—Interaction with page-structured environments, e.g. book metaphor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Abstract
一种用于在浏览会话期间向用户提供上下文信息的方法,包括:维护以用户为中心的图,所述图包括多个以用户为中心的事实,所述事实与用户相关联,并且是从用户与多个不同的计算机服务的交互中得出的。所述方法还包括:识别用户与浏览器应用的交互的上下文。所述方法还包括:辨识与上下文有关的辅助信息;以及向用户显示辅助信息。辅助信息可以至少基于以用户为中心的图中的一个或多个以用户为中心的事实。
Description
背景技术
用户经常使用浏览器软件来访问信息源(例如,网络、计算机文件系统、数据库、库等),以完成各种任务并从事各种活动。但是,典型的浏览器未被配置为以丰富的粒度级别识别使用上下文(例如,关于当前任务或活动的细节)以便呈现与感兴趣的任务有关的信息。取而代之的是,典型的浏览器呈现与正在访问的当前文档(例如,网页、计算机文件或数据库条目)有关的信息,而无需特别考虑使用上下文。
发明内容
提供本发明内容以便以简化的形式对下面在具体实施方式中进一步描述的设计构思的选择进行介绍。本发明内容并不旨在确定要求保护的主题的关键特征或重要特征,也不旨在用于限制要求保护的主题的范围。另外,要求保护的主题不局限于解决本公开内容的任何部分中指出的任何或所有缺点的实现。
一种用于在浏览会话期间向用户提供上下文信息的方法,包括:维护以用户为中心的图,所述图包括多个以用户为中心的事实,所述事实与所述用户相关联,并且是从所述用户与多个不同计算机服务的交互中得出的。所述方法还包括:识别用户与浏览器应用交互的上下文。所述方法还包括:辨识与所述上下文有关的辅助信息,以及向所述用户显示所述辅助信息。所述辅助信息可以至少基于所述以用户为中心的图中的一个或多个以用户为中心的事实。
附图说明
图1A示出了用于在浏览器中提供以用户为中心的上下文信息的示例性计算机系统。图1B示出了在其中浏览器提供了以用户为中心的上下文信息的用户上下文的另一示例。
图2示出了一种在浏览器中提供以用户为中心的上下文信息的方法。
图3A-图3B示出了用于存储以用户为中心的事实的集合的示例性以用户为中心的图数据结构。
图4示出了示例性计算机系统。
具体实施方式
本公开内容涉及一种用于浏览器程序向用户提供上下文信息,例如在浏览会话期间协助用户的方法。浏览器程序的非限制性示例包括桌面式计算机、网络、移动电话和/或其它计算机服务,其被配置为浏览并访问多个内容项,例如,多媒体内容、网页或任何其它数据。浏览的非限制性示例可以包括:1)查看以任何适当方式组织的内容列表(例如,通过文件位置或网址组织的),2)通过内容和/或元数据进行搜索(例如,通过内容类型、通过自然语言内容、通过文本字符串和/或样式、通过图像内容等),3)访问列表和/或搜索中的文件(例如,显示搜索结果中的图像)和/或4)访问/查看策划、建议或以其它方式检索的内容。例如,浏览器程序包括网络浏览器、文件系统浏览器以及被配置用于访问图书馆记录、医疗记录、财务数据、新闻档案和/或可以用可浏览方式存储/组织的任何其它合适信息的浏览软件。
本公开内容改进了浏览器程序的技术,包括对浏览器UI的改进和对浏览器后端的改进。具体而言,本公开内容包括一种用于使浏览器向用户呈现与用户的当前交互上下文有关的辅助信息的方法,该辅助信息由于各种原因而可以是有用的,例如帮助用户找到感兴趣的信息、从事感兴趣的活动和/或使用浏览器来完成任务。通过向用户呈现可以促进任务完成的相关信息,可以改进用户完成任务的效率以及浏览器的计算效率。例如,通过使用浏览器呈现的上下文信息来代替广泛的附加搜索/浏览,用户可能能够更快地完成任务和/或更少地与浏览器进行交互。在一些示例中,辅助信息可以与任务的潜在未来步骤相关,因此用户可能能够通过考虑与未来步骤有关的信息来提前计划并更高效地完成任务。类似地,到用户完成任务时可能需要较少的计算步骤和/或较少的网络通信,例如,浏览器可能能够将来自多个不同来源的相关信息一起进行批处理并将经批处理的信息高效地传送给用户,而取代由用户发出多个请求以获取每条单独的信息片段。此外,根据本公开内容,可以在公共的以用户为中心的图中汇总涉及用户与不同计算机服务的交互的信息,从而减少针对多个不同查询(例如,与不同的计算机服务相关联的)来访问相关信息的需求。来自多个不同计算机服务的相关信息的汇总可以实现辅助信息的智能、自动呈现,用户可以使用其来代替进行与多个不同计算机服务相关联的多个手动查询。例如,如果可以通过接收3个不同网络搜索中的每一个的热门搜索结果来辅助用户的任务,则浏览器可以能够预期用户可能将在不久的将来进行这3个网络搜索中的每一个以便呈现所述3个热门搜索结果,而不是等待用户进行这3个不同的网络搜索中的每个搜索以及呈现每个搜索的其它相关性较低的结果。图1A示出了包括客户端计算机102的示例性计算系统100。客户端计算机102可以是任何合适的计算设备,例如桌面式计算机或移动电话设备。客户端计算机102被配置为对浏览器110进行实例化。如图1A所示,浏览器110可以被提供为GUI程序,其包括用于查看/导航信息源的视觉元素。当浏览器110要被提供为GUI时,客户端计算机102可以包括和/或可操作地耦合至被配置为可视地呈现浏览器110的一个或多个显示设备。尽管根据包括用于显示的GUI的浏览器讨论了示例,但是在其它示例中,浏览器110可以包括其它用户接口元素(例如,文本、自然语言、语音音频和/或被配置用于经由任何其它合适的最新技术和/或未来的输入设备与用户交互的用户接口)。
例如,在图1A中,浏览器110是显示两个内容标签111(标题指示与酒店有关的页面)和112(标题指示与航班有关的页面)的网络浏览器。尽管根据网络浏览器讨论了示例,但是浏览器110可以替代地或附加地包括任何其它种类的浏览器,例如文件系统浏览器。内容区域113示出了与第一内容标签111相关联的视觉内容,即针对酒店的预定信息,包括预订日期日历114和“立即预订!”按钮115。浏览器110还包括辅助信息按钮120,其被配置为指示上下文信息何时可用于协助用户,并且可以选择以显示被配置为显示该上下文信息的信息窗格121。在信息窗格121中显示的上下文信息可以包括用于协助用户进行他们可能从事的任务和/或活动的任何合适的信息。例如,在图1A中,信息窗格121示出了与用户的旅行计划有关的上下文信息,这可以协助用户使用日历114确定可用的预订日期。信息窗格121可以附加地或替代地示出图1A中未示出的其它更多信息。例如,当上下文与旅行有关时,信息窗格121可以显示与未来和/或历史行程有关的更多信息。在示例中,用户可能在上一年的上一次行程中去过同一地点。因此,信息窗格121可以呈现来自上一次行程的相关信息。例如,信息窗格121可以包括自动建议去往与用户在上一次行程期间所住的酒店相关联的网站。例如,信息窗格121可以显示一个或多个照片和/或到与用户的先前行程相关联的照片/视频相册的链接。
为了提供相关的辅助信息以便于更容易地完成任务,计算系统100智能地识别用户活动的上下文。上下文的非限制性示例包括1)任务和/或活动(例如,用户正在从事的当前任务,用户完成的最近的任务和/或用户已安排和/或做出承诺要进行的未来任务);2)正在从事持续和/或长期承诺(例如,工作、课程和/或项目)的状态;3)与特定工作(例如研发、学术或学术研究等)相关的相关任务、活动、网站、信息摘要、网络搜索、合作者的联系信息、文档等的集合;和/或4)用户感兴趣的预定义主题和/或基于用户的近期、当前和/或历史活动而识别出的主题(例如,最喜爱的电视节目、当前的研究主题)。
计算系统100可以使用由于用户与浏览器和/或与多个其它计算机服务中的任何一个计算机服务的交互而产生的用户的个人信息,以便识别用户的当前上下文。例如,可以基于从用户与浏览器和/或其它计算机服务的交互中得出的以用户为中心的事实的集合来识别用户的当前上下文。类似地,可以从用户与浏览器和/或其它计算机服务的交互的任何组合中提取响应于识别的上下文而提供给用户的列出的辅助信息。“计算机服务”在本文中可以指代在计算机系统(例如,包括联网计算系统、云计算等)上可执行的软件应用、硬件和/或软件产品,和/或被配置为向一个或多个用户提供交互式和/或非交互式服务的任何其它机器或过程,以协助用户、编辑、转换、存储和/或维护数据,与其它计算机服务进行交互,等等。其它计算机服务可以包括基于网络的、桌面和/或移动电话应用、智能家居设备/“物联网”设备、智能助手设备、可穿戴设备、后台服务等。可以从中得出个人信息的计算机服务的非限制性示例包括:1)智能助手程序;2)电子邮件程序;3)办公套件程序(例如文字处理器、幻灯片、电子表格程序);4)日历程序;5)电话会议程序;6)任务跟踪程序;7)健康/活动/营养跟踪程序;8)多媒体程序(例如,电视/视频、音乐和/或视频游戏内容传送程序);9)制图/发布程序;10)用于计算机编程的集成开发环境;11)社交网络服务;12)工作场所协作环境;13)云数据存储和文件同步程序。
如上所指出的,用户浏览器上下文和响应于该上下文而提供的辅助信息可以从来自各种源的以用户为中心的事实中得出,例如,来自与一个或多个不同计算机服务相关联的数据源。因此,计算机系统100可以包括以用户为中心的图服务器103,其被配置为将以用户为中心的事实的集合实例化、维护和/或存储为以用户为中心的图数据结构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通过构成图302N包括多个不同的构成图结构302,例如,构成图302A、构成图302B等。每个构成图结构可以是与不同的计算机服务相关联的应用特定的构成图结构,例如,与在以用户为中心的数据105A中存储的来自第一计算机服务的以用户为中心的数据相关联的图结构302A。例如,应用特定的构成图结构A可以与调度计划程序相关联,而应用特定的构成图结构B可以与电子邮件程序相关联。通过将构成图之间的边视为单个更大图300中的边,可以将多个构成图视为单个图。为了简化说明,所描绘的图仅包括十二个节点。在实际的实现中,以用户为中心的图将包括分布在更多构成图之间的更多(例如,数百、数千、数百万个或更多)的节点。
以用户为中心的图服务器103还可以经由网络104连接到任何其它合适的计算机设备和/或计算机网络,例如互联网上的计算机,例如网络搜索提供程序、网站主机等。在一些示例中,以用户为中心的图300可以被配置为除了与用户特定有关的以用户为中心的事实之外,还包括从这样的其它计算机设备得到的一个或多个外部事实。例如,以用户为中心的图300可以包括从网络搜索结果和/或网站得出的一个或多个事实。当以用户为中心的图300包括外部事实时,外部事实可以以任何合适的方式与以用户为中心的图中的以用户为中心的事实相关,例如,以用户为中心的图可以包括一个或多个节点和/或边,它们代表从互联网得出的全局数据,它们经由图中的路径连接到表示由于用户与计算机服务的交互而产生的以用户为中心的数据的一个或多个节点和/或边。在一些示例中,以用户为中心的事实与外部事实之间的联系可以创建附加/增强的以用户为中心的事实。
客户端计算机102可以经由网络104与以用户为中心的图服务器103通信,以利用以用户为中心的图中表示的信息,从而协助用户。例如,这种协助可以包括通过检索以用户为中心的事实和/或外部事实来回答针对和/或关于用户的问题,查找与用户和一个或多个计算机服务之间的交互有关的历史数据,和/或推测新的事实以添加到以用户为中心的图中。
如图1A所示,浏览器110可以使用来自一个或多个电子邮件和/或日历/时间表项目的用户的个人信息,如信息窗格121中所示。信息窗格121可以示出与任何一个或多个合适的上下文有关的信息(例如,与用户可能希望完成的任务有关的信息)。上下文可以基于以用户为中心的图中的一个或多个以用户为中心的事实。例如,上下文可以基于通过以用户为中心的图之内的边相互连接的以用户为中心的事实的集群。替代地或附加地,上下文可以基于以用户为中心的图内的一个或多个以用户为中心的事实,这些事实遵守特定约束,例如,与特定主题匹配、与特定实体或事件有关,或者具有特定时间性(例如,描述在特定时间段内以特定的周期或时间表或任何其它合适的时间关系发生的事件的事实)。可以包括在上下文中的以用户为中心的事实的非限制性示例是描述以下内容的以用户为中心的事实:1)发送给用户或来自用户的电子邮件;2)用户的联系人;3)用户的日历数据;4)文档(例如,包括诸如照片、视频或者用户正在策划、编辑和/或发起的任何其它内容的多媒体文档);5)网页;和/或6)与用户相关联的位置数据(例如,由属于该用户的设备的传感器测量的位置数据,和/或从用户与计算机服务的交互推测出的位置数据);和/或7)与用户相关联的应用使用情况数据(例如,登录数据、关于使用频率和持续时间的使用情况统计等;例如,应用使用情况数据可以包括110的浏览器使用情况数据,包括最近的页面访问、搜索历史等)。
以用户为中心的图中的上下文可以指示以用户为中心的图300中的其它更多的以用户为中心的事实,例如,经由以用户为中心的图300中的边/路径连接到上下文中的一个或多个以用户为中心的事实的以用户为中心的事实。例如,上下文中的第一以用户为中心的事实可以是以下事实:用户接收到来自航空公司预订确认电子邮件地址的第一封电子邮件。上下文中的第二以用户为中心的事实可以是以下事实:用户从同一航空公司接收到第二封电子邮件(例如,如第二封电子邮件是来自与第一封电子邮件相同或相似的电子邮件地址所指示的那样)。因此,可以基于这两封电子邮件来自同一航空公司而在以用户为中心的图中连接这两个以用户为中心的事实。除了基于共同标识符(诸如电子邮件地址)的以用户为中心的图中的连接之外,下面还将基于主题、时间和/或其它约束来讨论以用户为中心的图中的连接的其它更多示例。
可以遍历和/或处理以用户为中心的图300以检索与上下文有关的一个或多个以用户为中心的事实。遍历和/或处理以用户为中心的图300可以基于以用户为中心的图300的结构和/或上下文内和/或与上下文有关的以用户为中心的事实的细节。
例如,可以通过以下方式来遍历以用户为中心的图300:从上下文中的一个或多个以用户为中心的事实的初始集合开始,执行随机走遍以用户为中心的图300,并且进一步遍历与初始集合中的那些相连接的以用户为中心的事实,以建立潜在相关的以用户为中心的事实的更大集合。可以基于以用户为中心的事实之间的关系(例如,与主体图节点、对象图节点和/或以用户为中心的事实的边相关联的细节)来对随机地走遍该图进行加权。例如,可以用置信度分数来标注以用户为中心的事实,该置信度分数可以用于对随机行走进行加权。
除了基于与以用户为中心的图中的节点和/或边相关联的置信度值来执行随机行走之外,还可以以任何其它合适的方式来遍历和/或处理以用户为中心的图。处理的非限制性示例可以包括:1)根据评分函数在图中对以用户为中心的事实进行“排名”,并检索相对较高排名的以用户为中心的事实(例如,针对上下文找到关于最相关实体的以用户为中心的事实;以及2)对以用户为中心的图进行“切片”,以过滤满足特定约束的以用户为中心的事实(例如,找到与上下文相连接的与电子邮件相关的以用户为中心的事实)。下面将针对图4A-图4D更详细地描述“排名”、“切片”以及用于遍历/处理以用户为中心的图的其它方式。
窗格121中显示的辅助信息可以基于上下文中的以用户为中心的事实,和/或基于上下文从以用户为中心的图300中检索到的以用户为中心的事实。例如,窗格121中的辅助信息可以包括一个或多个以用户为中心的事实中的每一个的自然语言表示,和/或一个或多个以用户为中心的事实的自然语言摘要。在一些示例中,辅助信息可以包括与完成与上下文有关的任务和/或主题有关的以用户为中心的事实。在一些示例中,辅助信息可以包括用户与上下文有关的历史活动的摘要。
除了基于以用户为中心的事实之外,所显示的辅助信息还可以基于外部事实和/或得出的事实。辅助信息可基于的外部事实和/或得出的事实的非限制性示例包括:1)与以用户为中心的事实有关的网络搜索结果;2)与以用户为中心的事实有关的字典/百科全书/参考信息;3)与以用户为中心的事实有关的网站内容;和/或4)根据程序、数学、统计和/或机器学习功能对以用户为中心的事实进行处理的结果(例如,基于与上下文中以用户为中心的事实相关联的日期来计算日期或持续时间,例如,以建议未来任务的可能安排;使用机器学习模型来计算自然语言摘要或查询的答复;等等)。辅助信息中可以存在的信息的非限制性示例包括基于(例如,从中总结、推测和/或以其它方式确定的)下列中的一项或多项的信息:1)发给用户或来自用户的电子邮件;2)用户的联系人;3)用户的日历数据;4)文档;5)网页;6)与用户相关联的位置数据;和/或7)与用户相关联的应用使用情况数据。
浏览器110可以被配置为呈现与多个预定义的上下文中的一个或多个相关的信息,例如“旅行”和“即将到来的任务”。例如,如图1A中所示,信息窗格121显示与用户日历中的旅行行程和即将到来的任务有关的辅助信息。替代地或附加地,浏览器110可以被配置为基于用户的个人信息来智能地识别与用户特别相关的一个或多个上下文。例如,即使当浏览器110可能没有被配置为呈现关于“旅行”主题的上下文信息时,浏览器110仍然可以例如基于用户的电子邮件和/或日历数据将“旅行行程”识别为用户的相关上下文。
通过响应于所确定的上下文来呈现相关的辅助信息(包括从电子邮件发送给用户的相关航班日期,以及用户日历中即将到来的所安排的任务),浏览器可以帮助用户从日历114中的可用日期中确定合适的酒店预订日期,而无需用户单独查找用户的个人电子邮件和日历数据。因此,用户可能能够完成日历114中的选择并通过按钮115确认选择,而无需将注意力转移到中间步骤上,例如,打开电子邮件程序并找到相关电子邮件,和/或打开日历程序并导航至相关日期。在本示例中,呈现航班日期和即将到来的任务可以为用户节省若干步骤。例如,用户可能知道他们在旅途中的某个时间安排了视频会议,并且可能需要计划在安排的时间期间处在有无线互联网的酒店,但是可能不记得旅途的确切日期。因此,为了计划酒店预订,用户可能需要弄清楚航班日期(例如,从相关电子邮件中),然后在相关日期期间检查日历。如图1A中所示,计算系统100可以智能地确定用户可能需要来自电子邮件/日历的相关信息,并且在信息窗格121中呈现与上下文有关的辅助信息,从而允许用户避免以下步骤:搜索电子邮件以获取相关的航班预订,然后在相关持续时间内搜索日历。
在一些示例中,可以由与上下文相关的以用户为中心的事实的集合来定义用于触发辅助信息的上下文,例如,任务、电子邮件、联系信息、网站、网络搜索、文件/数据库搜索、历史浏览器活动、其它应用中的历史活动等。在一些示例中,以用户为中心的事实的集合可以包括在语义上相关的信息内容,例如,针对预定义的主题定义上下文的以用户为中心的事实的集合可以包括各自在语义上与该主题相关的以用户为中心的事实。例如,当预定义的主题是“旅行”时,以用户为中心的事实的集合可以包括电子邮件、网络搜索等,它们各自包括与旅行有关的语义数据和/或元数据。语义数据的非限制性示例包括自然语言内容、图像内容、文本、数字数据等。元数据的非限制性示例包括文件/网络/数据库位置、发布日期、访问时间、作者信息、发件人/收件人信息,等等。
在一些示例中,可以基于和相关日期/时间信息相关联的以用户为中心的事实,由通过时间关系相关的以用户为中心的事实的集合来定义上下文。可以识别基于时间关系来定义上下文的以用户为中心的事实的集合,即使以用户为中心的事实的集合原本不会被识别为基于任务/活动、进行中的项目、预定义的主题和/或基于最近的活动的主题来定义上下文。基于时间关系的上下文的非限制性示例包括:1)用户同时访问或在彼此的短持续时间内访问的网站、电子邮件等的同时出现的集合;2)具有相关联的安排的时间的活动(例如,项目或安排的预约的截止日期)连同在安排的时间之前或之后已经发生或被安排很快发生的一项或多项其它活动;3)重复的时间上下文,例如,每个晚上,每个星期二的下午5:00,或任何其它合适的安排和/或定期发生的事件。
例如,当用户正在旅行时,他们可能还需要参加安排的电话会议。因此,“旅行”上下文还可以包括针对电话会议时间表的时间相关信息,因为电话会议的安排日期发生在旅行日期之内,即使该电话会议时间表原本并不会被认为在语义上与旅行行程有关。
识别用于触发辅助信息的上下文可以包括对多个不同的信号进行组合,例如,元数据、语义内容和时间关系,以评估不同的以用户为中心的事实之间的关系的强度。如果以用户为中心的事实的集合以一种以上的不同方式相关(例如,相似的主题以及时间关系),则对于用户而言,它可能代表着更为重要的上下文。在一些示例中,多个信号的存在可以使得能够识别原本不会被识别的上下文。
图1B示出了浏览器会话的另一个示例,在其中,用户当前正在经由浏览器内编辑器在浏览器110中编辑文档,如显示“文档1”的标签111'中所示。在示例性会话中,用户最近还与标签112'中标记为“网络搜索”的网络搜索工具进行了交互。当前显示的标签111'包括可编辑界面形式的页面内容113'。可编辑界面可以允许用户编辑和保存所显示的内容,例如,使用包括用于选择文本中的位置和/或范围的光标116的文字处理GUI。如所示出的,页面内容113'中显示的“文档1”内容包括描述“研发项目”的用户定义文本,并且包括有关项目物流的各种注释,例如,注意:根据大卫的电子邮件,爱丽丝、鲍勃和卡罗尔被分配到了一个将于日期9/7到期的项目。
基于页面内容113'和用户与一个或多个其它应用之间的最近交互,信息按钮120'可以指示:辅助信息的信息窗格121'可用于当前上下文。当前上下文可以由以用户为中心的事实来定义,这些事实涉及有关用户与浏览器的交互的任何适当信息,例如,页面内容113'中用户编辑的内容,用户与浏览器之间的先前互动(例如经由标签112'进行的网络搜索、其它历史网站访问和/或网络搜索),和/或用户与其它应用(例如其它文档编辑应用、电子邮件应用和/或日程安排应用)之间的近期交互。具体而言,当前上下文可以由与“研发项目”有关的一个或多个以用户为中心的事实来定义。如信息窗格121'中所示,基于这样的上下文来显示与“研发项目”有关的辅助信息,例如,以便潜在地帮助用户完成与研发项目有关的一个或多个任务。
信息窗格121'中显示的辅助信息可以包括与上下文有关的任何合适的信息。例如,信息窗格121'包括:1)用户可能希望查看和/或编辑以完成研发项目的相关文档的列表;2)描述竞争对手方法的相关网站;3)与竞争对手的方法有关的相关网络搜索;4)用户可能希望完成以便完成研发项目的相关任务;5)与项目有关的相关电子邮件;以及6)用户可能希望联系的与该项目有关的人员。
例如,可以由基于用户与电子邮件应用的交互来定义上下文的一个或多个以用户为中心的事实来确定相关电子邮件。可以由上下文中基于用户与浏览器的交互(例如,与可在浏览器中显示的文档编辑器的交互,例如在页面内容113'中)和/或与任何其它计算机服务(例如,与专用文字处理器或幻灯片演示程序)的交互的一个或多个以用户为中心的事实来确定相关文档。类似地,可以基于去往和/或来自用户、也编辑相关文档的合作者和/或用户的联系人列表中列出的人员的电子邮件来确定列出的人员。通过辨识上下文和相关文档、任务、网站、网络搜索、任务、电子邮件和人员,浏览器110可能能够促进研发项目更容易完成,因为用户可能能够从信息窗格121'访问相关信息,而不是显式地查询各种信息源(例如,文档、联系人列表、电子邮件等)。因此,用户能够找到并使用来自多个不同来源的相关信息,而不必将注意力从在标签111'中的“文档1”上工作转移出来。
类似地,基于最近的活动来定义主题的上下文的以用户为中心的事实的集合可以包括各自与一个或多个共同主题相关的以用户为中心的事实。确定以用户为中心的事实属于定义特定上下文的集合中还可以基于与以用户为中心的事实有关的任何其它合适的信息,例如,以用户为中心的事实的元数据和语义内容。
图2示出了用于在浏览器中提供上下文信息以协助用户的示例性方法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可以识别触发事实并且仅针对候选触发事实和被评估出相对较高信号强度的上下文来显示辅助信息。例如,识别触发事实可以包括:针对候选事实评估信号强度分数,信号强度分数指示候选事实与以用户为中心的图中的以用户为中心的事实之间的关系的强度,以及响应于信号强度分数超过阈值而识别触发事实。替代地或另外地,识别触发事实可以包括将在用户与浏览器的交互中发生的多个触发事实中具有最高信号强度的候选触发事实识别为触发事实。
在示例中,可以通过以用户为中心的图中的至少一个节点来定义与预定义的主题有关的上下文,该图具有基于分别与预定义主题有关的一个或多个其它节点而连接到一个或多个其它节点的出向边。在示例中,可以基于以用户为中心的图中的一个或多个以用户为中心的事实的结构属性(例如,基于图论特性,例如形成密集集群的以用户为中心的事实,或者如上文针对评估触发事实的信号强度所描述的任何其它合适的图论特性)来识别由主题定义的上下文。
在240处,方法200还包括评估上下文以确定与上下文有关的辅助信息。可选地,在242处,辅助信息基于至少一个或多个以用户为中心的事实,这些事实是从用户与一个或多个不同的计算机服务的交互中得出的。可选地,在244处,辅助信息至少基于以用户为中心的图中在触发事实与以用户为中心的图中的一个或多个其它以用户为中心的事实之间的关系。在一些示例中,在识别触发事实之后,可以更新以用户为中心的图300以包括该触发事实。在一些示例中,响应于识别触发事实,可以基于汇总、总结和/或以其它方式分析以用户为中心的图300中的其它以用户为中心的事实来对以用户为中心的图300进行更新以包括一个或多个附加的以用户为中心的事实。例如,如果用户如图1A所示频繁地与旅行相关的网站进行交互,则可以更新以用户为中心的图300,以包括附加的以用户为中心的事实,其通过陈述“用户经常研究旅行”总结了用户的交互。该新的以用户为中心的事实可以经由以用户为中心的图300中的路径和涉及旅行的其它以用户为中心的事实相关。新的以用户为中心的事实可以定义可以用于向用户返回辅助信息的上下文,例如带有相关辅助信息的“旅行”主题上下文,其中包括用户先前与旅行有关的交互以及与旅行有关的其它一般信息(例如,旅行网站、与旅行有关的网络搜索等)。
在250处,方法200还包括向用户显示辅助信息。辅助信息可以以任何合适的方式显示。例如,如图1A-图1B所示,辅助信息可以被显示为被分组为不同类别的事实的列表,这些类别例如“旅行行程”、“即将到来的任务”、“相关文档”、“网站”、“网络搜索”、“任务”、“电子邮件”和“人员”类别,如图1A-图1B所示。通过识别用户的上下文并显示与该上下文有关的辅助信息,浏览器可以促进与该上下文有关的任务的更容易完成。因此,方法200可以改进一台或多台计算机的效率和/或易用性。
图3A-图3B示出了用于将以用户为中心的事实的集合表示为以用户为中心的图的示例性图数据结构的细节。图3A以用于图数据结构300的计算机可读数据格式300'的形式更详细地示出了示例性图数据结构300。图数据结构300以数据格式300'或任何其它合适的数据格式表示以用户为中心的事实的集合。以用户为中心的事实可以与分布在多个不同的计算机服务上的应用特定的数据相关联。图数据结构300允许集中式查询并且适合于实现以用户为中心的图。
图数据结构300可以分布在一个或多个应用特定的构成图结构上(例如,对应于不同的计算机服务),例如在由虚线A包围的第一区域中指示的构成图结构302,在由不同虚线包围的第二区域中指示的构成图结构302B,以及图3A中未示出的其它构成图结构。
每个构成图结构包括多个以用户为中心的事实304,例如存储在构成图A中的以用户为中心的事实FA.1、FA.2等,存储在构成图B中的以用户为中心的事实FB.1、FB.2等。以用户为中心的事实包括主体图节点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知识库),和/或自然语言处理技术(例如,标记化、词干提取、区域界定和/或依赖项解析、和/或意图识别、分段模型和/或超分段模型(例如,隐藏动态模型))。
在一些示例中,可使用一个或多个可微分函数来实现本文描述的方法和过程,其中可以针对可微分函数的输入和/或输出来计算和/或估计可微分函数的梯度(例如,针对训练数据和/或针对目标函数)。这样的方法和过程可以至少部分由一组可训练参数确定。因此,可以通过任何合适的训练过程来调整用于特定方法或过程的可训练参数,以便持续改善该方法或过程的功能。
用于调整可训练参数的训练过程的非限制性示例包括受监督训练(例如,使用梯度下降或任何其它合适的优化方法)、零样本、少样本、无监督学习方法(例如,基于从无监督聚类方法得出的类别的分类)、强化学习(例如,基于反馈的深度Q学习)、和/或生成式对抗神经网络训练方法、信念传播、RANSAC(随机样本共识)、上下文匪徒(contextualbandit)方法、最大似然法和/或期望最大化。在一些示例中,可以针对测量多个组件的集体功能(例如,针对增强反馈和/或针对标记的训练数据)的性能的客观功能来同时训练本文描述的系统的多个方法、过程和/或组件。同时训练多种方法、过程和/或组件可以改善这种集体功能。在一些示例中,可以独立于其它组件来训练一种或多种方法、过程和/或组件(例如,对于历史数据的离线训练)。
本文公开的方法和过程可以被配置为给予用户和/或任何其他人对任何私有和/或潜在敏感数据的控制。无论何时存储、访问和/或处理数据,都可以根据隐私和/或安全标准来处理数据。当收集用户数据时,用户或其它利益相关者可以指定如何使用和/或存储数据。每当出于任何目的收集用户数据时,都应通知拥有该数据的用户,并且仅当用户提供肯定同意时才应收集该用户数据。如果要收集数据,则可以而且应该在最大程度尊重用户隐私的前提下收集数据。如果要释放数据供用户以外的任何人访问或用于任何决策过程,则可以在使用和/或释放数据之前收集用户的同意。用户可以随时选择加入和/或选择退出数据收集。收集数据后,用户可以发出命令以删除数据和/或限制对数据的访问。所有潜在敏感的数据可选地可以被加密和/或在可行的情况下被匿名化,以进一步保护用户隐私。用户可以指定部分数据、元数据或处理数据的统计信息/结果以发布给其它方,例如进行进一步处理。私有和/或机密的数据可以保持完全私有,例如,仅被临时解密以进行处理,或仅被解密以在用户设备上进行处理,否则以加密形式存储。用户可以持有和控制用于加密数据的加密密钥。替代地或另外地,用户可以指定受信任的第三方来持有和控制用于加密数据的加密密钥,例如,以便根据合适的认证协议向用户提供对数据的访问。
当本文描述的方法和过程结合了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)用户的联系人,3)用户的日历数据,4)文档,5)网页,6)与用户相关联的位置数据,和/或7)与用户相关联的应用使用情况数据。
将理解的是:本文中描述的配置和/或方法在性质上是示例性的,并且这些具体实施例或示例不应该被考虑为具有限制性的意义,因为许多变体是可能的。本文中描述的具体例程或方法可以表示任意数量的处理策略中的一种或多种。因此,说明和/或描述的各个动作可以用说明和/或描述的顺序、用其它顺序、平行地来执行或被省略。同样地,上述过程的顺序可以改变。
本公开内容的主题包括各个过程、系统和配置的所有新颖和非显而易见的组合和子组合,以及本文中公开的其它特征、功能、动作和/或属性及它们的任何和所有等价物。
Claims (13)
1.一种用于在浏览会话期间向用户提供上下文信息的方法,包括:
维护以用户为中心的图,所述图包括多个以用户为中心的事实,所述事实与所述用户相关联,并且是从所述用户与多个不同的计算机服务的交互中得出的;
识别所述用户与浏览器应用的交互的上下文;
辨识与所述上下文有关的辅助信息,所述辅助信息至少基于所述以用户为中心的图中的一个或多个以用户为中心的事实;以及
向所述用户显示所述辅助信息。
2.根据权利要求1所述的方法,其中,所述上下文是由至少一个或多个上下文化的、以用户为中心的事实来定义的,所述以用户为中心的事实是从所述用户与多个不同的计算机服务的交互中得出的。
3.根据权利要求1所述的方法,还包括:识别触发事实以便触发对所述上下文的识别,其中,辨识所述辅助信息至少基于所述触发事实与所述以用户为中心的图中的一个或多个其它以用户为中心的事实之间在所述以用户为中心的图中的关系。
4.根据权利要求3所述的方法,其中,所述触发事实包括所述用户与所述浏览器的一个或多个先前交互。
5.根据权利要求3所述的方法,其中,所述触发事实包括所述用户与所述浏览器以外的计算机服务的先前交互。
6.根据权利要求3所述的方法,其中,所述触发事实与所述以用户为中心的图中的所述一个或多个其它以用户为中心的事实之间在所述以用户为中心的图中的关系是时间关系。
7.根据权利要求3所述的方法,其中,识别所述触发事实包括:针对候选事实评估信号强度分数,所述信号强度分数指示所述候选事实与所述以用户为中心的图中的以用户为中心的事实之间的关系的强度,以及响应于所述信号强度分数超过阈值而识别所述触发事实。
8.一种用于在浏览会话期间向用户提供上下文信息的系统,包括:
逻辑设备;以及
存储设备,其被配置为持有:
以用户为中心的图,所述图包括多个以用户为中心的事实,所述事实与所述用户相关联,并且是从所述用户与多个不同的计算机服务的交互中得出的;以及
可由所述逻辑设备执行以进行以下操作的指令:
识别触发事实以便识别所述用户与浏览器应用的交互的上下文;以及
辨识与所述上下文有关的辅助信息,所述辅助信息基于所述上下文并且至少基于所述以用户为中心的图中的一个或多个以用户为中心的事实。
9.根据权利要求8所述的系统,其中,所述指令还可执行以从所述浏览器接收对所述用户与所述浏览器的一个或多个先前交互的计算机可读描述,并且其中,所述触发事实包括对所述一个或多个先前交互的所述计算机可读描述。
10.根据权利要求8所述的系统,其中,所述触发事实包括对所述用户与所述浏览器以外的计算机服务的先前交互的描述。
11.根据权利要求8所述的系统,其中,所述触发事实与所述以用户为中心的图中的所述一个或多个其它以用户为中心的事实之间在所述以用户为中心的图中的关系是时间关系。
12.根据权利要求8所述的系统,其中,识别所述触发事实包括:针对候选事实评估信号强度分数,所述信号强度分数指示所述候选事实与所述以用户为中心的图中的以用户为中心的事实之间的关系的强度,以及响应于所述信号强度分数超过阈值而识别所述触发事实。
13.根据权利要求8所述的系统,其中,所述辅助信息包括基于下列中的一项或多项的信息:1)发给所述用户或来自所述用户的电子邮件,2)所述用户的联系人,3)所述用户的日历数据,4)文档,5)网页,6)与所述用户相关联的位置数据,和/或7)与所述用户相关联的应用使用情况数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/152,186 US10733545B2 (en) | 2018-10-04 | 2018-10-04 | User-centric contextual information for browser |
US16/152,186 | 2018-10-04 | ||
PCT/US2019/049402 WO2020072158A1 (en) | 2018-10-04 | 2019-09-04 | User-centric contextual information for browser |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112840335A true CN112840335A (zh) | 2021-05-25 |
Family
ID=67989085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980064675.3A Pending CN112840335A (zh) | 2018-10-04 | 2019-09-04 | 用于浏览器的以用户为中心的上下文信息 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10733545B2 (zh) |
EP (1) | EP3837618A1 (zh) |
CN (1) | CN112840335A (zh) |
WO (1) | WO2020072158A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2569954A (en) * | 2017-12-30 | 2019-07-10 | Innoplexus Ag | Method and system for identifying at least one nascent topic related to a subject matter |
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 |
US11483408B2 (en) | 2019-07-10 | 2022-10-25 | Adobe Inc. | Feature-based network embedding |
US11423104B2 (en) * | 2019-08-30 | 2022-08-23 | Microsoft Technology Licensing, Llc | Transfer model learning for relevance models |
US11368464B2 (en) * | 2019-11-28 | 2022-06-21 | Salesforce.Com, Inc. | Monitoring resource utilization of an online system based on statistics describing browser attributes |
US20210248195A1 (en) * | 2020-02-10 | 2021-08-12 | Statum Systems Inc. | Messaging interface with contextual search |
US20210271965A1 (en) * | 2020-02-28 | 2021-09-02 | Intuit Inc. | Method and system for optimizing results of a function in a knowledge graph using neural networks |
US11301273B2 (en) * | 2020-03-11 | 2022-04-12 | Atlassian Pty Ltd. | Computer user interface for a virtual workspace having multiple application portals displaying context-related content |
US11520972B2 (en) * | 2020-08-04 | 2022-12-06 | International Business Machines Corporation | Future potential natural language processing annotations |
CN112418525B (zh) * | 2020-11-24 | 2022-06-10 | 重庆邮电大学 | 社交话题群体行为的预测方法、装置及计算机存储介质 |
US20230007980A1 (en) | 2021-07-06 | 2023-01-12 | Google Llc | Generating Action Elements Suggesting Content For Ongoing Tasks |
US20230186247A1 (en) * | 2021-12-14 | 2023-06-15 | Microsoft Technology Licensing, Llc | Method and system for facilitating convergence |
US20230206152A1 (en) * | 2021-12-28 | 2023-06-29 | Microsoft Technology Licensing, Llc | Determining task significance through task graph structures |
US20230316615A1 (en) * | 2022-03-31 | 2023-10-05 | Electronic Arts Inc. | Learning character model animations with a layer-wise mixture-of-experts network |
US20230353487A1 (en) * | 2022-04-29 | 2023-11-02 | Naver Corporation | Method, computer device, and non-transitory computer-readable recording medium for providing optimal path using expert knowledge |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102144243A (zh) * | 2008-09-05 | 2011-08-03 | 微软公司 | 基于浏览信息的内容推荐 |
US20130073509A1 (en) * | 2011-09-15 | 2013-03-21 | Google Inc. | Predicting user navigation events |
US20130297689A1 (en) * | 2012-05-03 | 2013-11-07 | Cisco Technology, Inc. | Activity Stream Tuning Using Multichannel Communication Analysis |
US8850329B1 (en) * | 2012-10-26 | 2014-09-30 | Amazon Technologies, Inc. | Tagged browsing history interface |
CN105074659A (zh) * | 2013-02-26 | 2015-11-18 | 微软公司 | 云服务的上下文相关用户辅助 |
CN106575503A (zh) * | 2014-06-18 | 2017-04-19 | 微软技术许可有限责任公司 | 用于对话理解系统的会话上下文建模 |
CN107210948A (zh) * | 2014-12-11 | 2017-09-26 | 脸谱公司 | 用户感知的通知递送 |
CN107408116A (zh) * | 2015-12-14 | 2017-11-28 | 微软技术许可有限责任公司 | 使用动态知识图谱来促进信息项的发现 |
CN107533685A (zh) * | 2015-04-29 | 2018-01-02 | 微软技术许可有限责任公司 | 个性化上下文建议引擎 |
Family Cites Families (29)
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 |
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 |
-
2018
- 2018-10-04 US US16/152,186 patent/US10733545B2/en active Active
-
2019
- 2019-09-04 WO PCT/US2019/049402 patent/WO2020072158A1/en unknown
- 2019-09-04 EP EP19769960.6A patent/EP3837618A1/en active Pending
- 2019-09-04 CN CN201980064675.3A patent/CN112840335A/zh active Pending
-
2020
- 2020-08-03 US US16/983,087 patent/US11514114B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102144243A (zh) * | 2008-09-05 | 2011-08-03 | 微软公司 | 基于浏览信息的内容推荐 |
US20130073509A1 (en) * | 2011-09-15 | 2013-03-21 | Google Inc. | Predicting user navigation events |
US20130297689A1 (en) * | 2012-05-03 | 2013-11-07 | Cisco Technology, Inc. | Activity Stream Tuning Using Multichannel Communication Analysis |
US8850329B1 (en) * | 2012-10-26 | 2014-09-30 | Amazon Technologies, Inc. | Tagged browsing history interface |
CN105074659A (zh) * | 2013-02-26 | 2015-11-18 | 微软公司 | 云服务的上下文相关用户辅助 |
CN106575503A (zh) * | 2014-06-18 | 2017-04-19 | 微软技术许可有限责任公司 | 用于对话理解系统的会话上下文建模 |
CN107210948A (zh) * | 2014-12-11 | 2017-09-26 | 脸谱公司 | 用户感知的通知递送 |
CN107533685A (zh) * | 2015-04-29 | 2018-01-02 | 微软技术许可有限责任公司 | 个性化上下文建议引擎 |
CN107408116A (zh) * | 2015-12-14 | 2017-11-28 | 微软技术许可有限责任公司 | 使用动态知识图谱来促进信息项的发现 |
Also Published As
Publication number | Publication date |
---|---|
WO2020072158A1 (en) | 2020-04-09 |
US20200401960A1 (en) | 2020-12-24 |
US11514114B2 (en) | 2022-11-29 |
EP3837618A1 (en) | 2021-06-23 |
US20200110623A1 (en) | 2020-04-09 |
US10733545B2 (en) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11514114B2 (en) | User-centric contextual information for browser | |
US11556865B2 (en) | User-centric browser location | |
US11721093B2 (en) | Content summarization for assistant systems | |
US11379529B2 (en) | Composing rich content messages | |
US10438172B2 (en) | Automatic ranking and scoring of meetings and its attendees within an organization | |
US10728203B2 (en) | Method and system for classifying a question | |
US20230161798A1 (en) | Computerized assistance using artificial intelligence knowledge base | |
US8886589B2 (en) | Providing knowledge content to users | |
US20200117658A1 (en) | Techniques for semantic searching | |
US20180232434A1 (en) | Proactive and retrospective joint weight attribution in a streaming environment | |
US11017040B2 (en) | Providing query explanations for automated sourcing | |
US8244766B2 (en) | Applying a model of a persona to search results | |
US10891549B2 (en) | System and method for intelligent resource ranking and retrieval | |
CN115668193A (zh) | 在通信群组中的计算机资源的隐私保护复合视图 | |
EP3746958A1 (en) | Calendar-aware resource retrieval | |
KR101441219B1 (ko) | 정보 엔터티들의 자동 연관 | |
US20240028997A1 (en) | Method and System for Automatically Managing and Displaying a Visual Representation of Workflow Information | |
WO2018125581A1 (en) | Systems and methods for contextual memory capture and recall | |
US20180196866A1 (en) | Topic nodes | |
CN117280335A (zh) | 跨提供者主题合并 |
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 |