多用户消息交互话题中提供用于与自动化助理交互的建议的制作方法

文档序号:25315291发布日期:2021-06-04 16:21阅读:62来源:国知局
多用户消息交互话题中提供用于与自动化助理交互的建议的制作方法
多用户消息交互话题中提供用于与自动化助理交互的建议
1.分案说明
2.本申请属于申请日为2016年12月28日的中国发明专利申请201611236617.9的分案申请。
技术领域
3.本公开涉及多用户消息交互话题中提供用于与自动化助理交互的建议。


背景技术:

4.多个用户可以经由消息交换话题彼此文本地进行通信,消息交换话题可以使用各种技术来实现,诸如文本消息交换、在线聊天(例如,即时信使、互联网中继聊天)、社交网络消息收发话题等。诸如文本消息收发应用、在线聊天应用、社交网络应用等的客户端消息交换应用可以将正在进行的消息交换话题的记录本的至少一部分(例如,当用户会话时实时更新的文本和/或图像的现场或近现场记录)显示为图形用户界面的一部分,使得用户可以遵循会话。
5.通常正在进行的消息交换话题并且因此所显示的记录本被限制为文本或其他数据,诸如用户故意和明确插入到消息交换话题中的图片。因此,寻找与会话有关的外部信息的用户必须切换到不同的应用,诸如web浏览器,来获得所需信息。切换应用在各种情况下可能具有一个或多个缺点,诸如当使用通常一次仅显示单个应用的移动计算设备时。例如,切换应用可能是分散注意力并且麻烦的,可能干扰会话流程和/或可能加重一个或多个计算资源(例如,移动计算设备的存储器、处理器和/或电池资源)的负担。可能呈现客户端消息交换应用的其他和/或替选缺点。


技术实现要素:

6.本说明书的一些实施方式针对向用户之间的正在进行的消息交换话题的一个或多个用户提供至少一个场境相关建议。该建议被提供用于经由用户的计算设备的用户界面输出设备呈现给用户。建议指示可以被提交到自动化助理(例如,经由消息交换话题提交到自动化助理)的查询,以在消息交换话题中包含自动化助理响应于该查询的内容。将场境相关建议包含消息交换话题中可以减少用户必须对设备进行的以便于访问响应于查询的用户输入内容的数目。这对于具有低敏捷度的用户或者在其他情况下能以对设备进行用户输入的用户来说特别有利。对于至少这些用户,将可选择建议包含在消息交换话题中可以增加设备的使用的可靠性和使用,例如,通过保存用户由于低敏捷度而产生的错误。
7.在一些实施方式中,建议是可选择的建议(例如,提供用于显示的可选择的图形元素)和响应于针对可选择的建议的用户界面输入(例如,“敲击”、“点击”、“口头命令”)来将响应于查询的内容包含在消息交换话题中。在一些实施方式中,基于已经在消息交换话题的用户之间通信的一个或多个消息来确定建议。例如,可以基于已经通信的消息的一个或多个词项、图像和/或其他内容来确定该建议所指示的查询。
8.作为本文所述的一些实施方式的一个具体示例,假定“tom”、“jerry”和“spike”加入消息交换话题。此外假定“tom”使用他的计算设备中的一个的消息交换客户端来表达消息“我听说band a在路易斯维尔开音乐会,有兴趣吗?”并且将该消息包含在话题中。此外假定jerry使用他的计算设备的文本消息收发应用来表达答复消息“对日期有想法吗?”并且将该消息包含在话题中。可以根本文所述的一个或多个技术,基于该消息并且基于答复消息来确定“band a路易斯维尔音乐会的日期”的查询。此外,可以提供作为提供查询的指示(例如包括查询的所有词项)的可选择的图形元素的建议以经由其各自的文本消息收发应用来向tom、jerry和/或spike显示。响应于针对向用户显示的可选择的图形元素的、来自用户中的一个的用户界面输入,响应于该查询的内容可以被自动地包含在消息交换话题中并且向用户中的一个或多个(例如所有)显示。例如,该内容可以包括指示在路易斯维尔的band a的音乐会的日期、时间和/或位置的文本。例如,基于针对查询发出的搜索而返回的一个或多个搜索结果来确定该内容。
9.在一些实施方式中,在正在进行的消息交换话题期间提供场境相关建议可以便利用户提交由那些建议所指示的查询和其提交使得自动化助理将场境相关内容包含在消息交换话题中。这可以减少和/或消除需要用户对从呈现消息交换话题的应用切换到另一应用以便于满足用户的某些信息需要。这对于具有低敏捷度的用户或者可能在其他情况下难以进行对设备的输入的用户来说特别实用。
10.这可以进一步减少使用可能以其他方式在切换到另一应用中消耗的某些计算资源,以满足信息需要。例如,切换到另一应用可能需要经由应用的启动和/或显现来使用处理器、存储器和/或电池资源。此外,切换到另一应用以代替在消息交换话题中从自动化助理获得内容来获得内容可能增加用户获得信息需要花费的时间量——这可能导致在获得内容时的计算资源的消耗的相应增加。在一些实施方式中,本文所述的技术用于向用户教导可以在未来正在进行的消息交换情况下由用户向自动化助理提供的各种类型的输入,诸如在不提供建议和/或提供的建议不满足用户的信息需要的情况下。在至少这些情况下,包含在消息交换话题中的可选择的建议可以具有在显示建议的设备外的效果——至少通过使得数据从一个或多个外部计算机被下载到设备。可以通过可选择的建议来使得该过程更可靠,这确保由于一个或多个错误的用户输入(诸如错误的手动搜索结果的用户选择)而导致的错误数据被下载到设备的风险被显着减少。
11.在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括基于正在进行的消息交换话题的一个或多个已经通信的消息来确定至少一个候选查询。经由第一用户的第一消息交换客户端和第二用户的第二消息交换客户端,正在进行的消息交换话题至少在第一用户和第二用户之间。该方法进一步包括提供可选择的图形元素以用于经由第一消息交换客户端向至少第一用户显示,该可选择的图形元素提供候选查询的指示。该方法进一步包括,响应于针对可选择的图形元素的第一用户的用户界面输入,将响应于候选查询的内容包含在正在进行的消息交换话题中。将内容包含在正在进行的消息交换话题中使得内容经由第一消息交换客户端向第一用户显示和/或经由第二消息交换客户端向第二用户显示。
12.在一些实施方式中,将内容包含在正在进行的消息交换话题中包括请求消息交换客户端中的至少一个将内容插入到在消息交换客户端中的至少一个的图形用户界面中显
示的、正在进行的消息交换话题的记录本中。
13.在一些实施方式中,内容包括文本和图像中的一个或多个。
14.在一些实施方式中,确定候选查询包括基于在候选查询的一个或多个查询词项和正在进行的消息交换话题的已经通信的消息的一个或多个消息词项之间的一致性,来从查询语料库中选择候选查询。
15.在一些实施方式中,确定候选查询包括:确定在正在进行的消息交换话题的已经通信的消息中引用的至少一个实体,并且基于至少一个实体来确定候选查询。在那些实施方式中的一些中,基于至少一个实体来确定候选查询包括基于至少一个实体的别名来生成用于候选查询的一个或多个查询词项。
16.在一些实施方式中,确定候选查询并且提供可选择的图形元素独立于用于包括在消息交换话题中的、用户对任何附加自然语言输入的表达而发生。
17.在一些实施方式中,该方法进一步包括:基于正在进行的消息交换话题的已经通信的消息中的至少一个的一个或多个词项来确定用于候选查询的得分。提供可选择的图形元素可以基于得分满足阈值。在那些实施方式中的一些中,基于一个或多个词项确定得分包括基于指定实体是否被包括在词项中来确定得分和/或基于多个词项是否符合至少一个预定义的搜索查询模式来确定得分。
18.在一些实施方式中,该方法进一步包括基于下述来确定用于候选查询的得分:基于候选查询的提交数量的候选查询的流行度度量;和/或响应于候选查询的内容的质量度量。提供可选择的图形元素可以基于得分满足阈值。
19.在一些实施方式中,该方法进一步包括将候选查询提交到搜索引擎;响应于将候选查询提交到搜索引擎,接收一个或多个搜索结果;以及基于搜索结果中的至少一个,确定用于包含在正在进行的消息交换话题中的内容。在那些实施方式的一些中,将候选查询提交到搜索引擎是响应于针对可选择的图形元素的用户界面输入。
20.在一些实施方式中,将内容包含在正在进行的消息交换话题中包括:将内容与由自动化助理生成内容的图形指示一起包含在正在进行的消息交换话题中。
21.在一些实施方式中,该方法进一步包括提供附加可选择的图形元素以经由第一消息交换客户端向第一用户显示,该附加可选择的图形元素识别一个或多个词项,并且当被选择时使得一个或多个词项与一个或多个词项源自第一用户的指示一起被包含在消息交换话题中,并且使得一个或多个词项被包含在消息交换话题中,而无需包含响应于一个或多个词项的任何内容。
22.在一些实施方式中,提供图形元素进一步包括提供图形元素以经由第二消息交换客户端向第二用户显示。
23.在一些实施方式中,内容包括集中于第一实体的可选择的第一内容项和集中于第二实体的可选择的第二内容项。在那些实施方式的一些中,针对第一内容项的用户界面输入使得集中于第一实体的附加第一实体内容被包含在消息交换话题中,和/或针对第二内容项的用户界面输入使得集中于第二实体的附加第二实体内容被包含在消息交换话题中。
24.在一些实施方式中,内容包括集中于第一实体上的第一图像或文本,并且进一步包括至少一个可选择的深链接,当被选择时使得特定于第一实体的一个或多个附加计算动作被执行。
25.在一些实施方式中,该方法进一步包括基于候选查询和/或内容来确定附加相关查询,并且在第一用户的用户界面输入之,提供附加可选择的图形元素以经由第一消息交换客户端向至少第一用户显示,该附加可选择的图形元素提供附加相关查询的指示。附加可选择的图形元素被提供用于在不同时显示图形元素的情况下进行显示。该方法可以进一步包括,响应于针对附加可选择的图形元素的第一用户的附加用户界面输入,将响应于附加相关查询的附加内容包含在正在进行的消息交换话题中。将附加内容包含在正在进行的消息交换话题中使得附加内容经由第一消息交换客户端向第一用户显示和/或经由第二消息交换客户端向第二用户显示。
26.此外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器可操作为执行在关联存储器中存储的指令,并且其中,该指令被配置为使得执行上述方法中的任何一个。一些实施方式包括存储计算机指令的非瞬时计算机可读存储介质,该计算机指令可由一个或多个处理器执行以执行上述方法中的任何一个。
27.应当认识到,上述概念和本文更详细所述的附加概念的所有组合被理解为本文公开的主题的一部分。例如,出现在本公开末尾处的要求保护的主题的所有组合被理解为本文公开的主题的一部分。
附图说明
28.图1是可以实现本文公开的实施方式的示例性环境的图。
29.图2a示出向用户之间的正在进行的消息交换话题的一个或多个用户提供至少一个场境相关建议的示例。
30.图2b示出响应于消息交换话题的用户中的一个的用户界面输入,诸如针对提供给用户并且指示该查询的建议的用户界面输入,将响应于查询的内容包含在消息交换话题中的示例。
31.图3a、3b、3c和3d示出根据各个实施方式的客户端计算设备如何呈现用于消息交换客户端的图形用户界面的示例。
32.图4图示向用户之间的正在进行的消息交换话题的一个或多个用户提供至少一个场境相关建议并且将响应于由该建议指示的查询的内容包含在消息交换话题中的示例性方法的流程图。
33.图5示出计算设备的示例性架构。
具体实施方式
34.本说明书的实施方式针对向用户之间的正在进行的消息交换话题的一个或多个用户提供至少一个场境相关建议。建议被提供以用于经由用户的计算设备的用户界面输出设备向用户呈现。建议指示可以被提交到自动化助理(例如,在消息交换话题内提交)的查询以使得自动化助理将响应于该查询的内容包含在消息交换话题中。在一些实施方式中,建议是可选择的建议(例如,提供用于显示的可选择的图形元素)以及响应于针对可选择的建议的用户界面输入(例如“敲击”、“点击”、“口头命令”)来将响应于该查询的内容包含在消息交换话题中。在一些实施方式中,建议是基于已经在消息交换话题的用户之间通信的一个或多个消息来确定的。例如,可以基于已经通信的消息的一个或多个词项、图像和/或
其他内容来确定由建议指示的查询。
35.现在转到图1,示出可以实现本文所述的技术的示例性环境。示例性环境包括多个客户端计算设备1061‑
n
和自动化助理120。尽管在图1中将自动化助理120示为与客户端计算设备1061‑
n
分离,但是在一些实施方式中,可以由客户端计算设备1061‑
n
中的一个或多个来实现自动化助理120的所有或各方面。例如,客户端计算设备1061可以实现自动化助理120的一个或多个方面的一个实例,并且客户端计算设备106
n
还可以实现自动化助理120的那些一个或多个方面的单独实例。在由远离客户端计算设备1061‑
n
的一个或多个计算设备实现自动化助理120的一个或多个(例如所有)方面的实施方式中,客户端计算设备1061‑
n
和自动化助理120的那些方面可以经由一个或多个网络通信,诸如局域网(lan)和/或广域网(wan)(例如互联网)。
36.客户端计算设备1061‑
n
可以包括例如下述中的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)或包括计算设备的用户的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替选的客户端计算设备。
37.客户端计算设备1061‑
n
和自动化助理120中的每一个可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据和执行应用的一个或多个处理器、以及促进通过网络的通信的其他组件。由客户端计算设备1061‑
n
中的一个或多个和/或自动化助理120执行的操作可以分布在多个计算机系统上。自动化助理120可以被实现为例如通过网络相互耦合的、在一个或多个位置中的一个或多个计算机上运行的计算机程序。
38.在一些实施方式中,给定用户可以利用统一形成计算设备的协调“生态系统”的用户的多个客户端计算设备来与自动化助理120通信。例如,用户可以经由用户的多个计算设备,加入正在进行的消息话题。例如,用户可以经由第一计算设备(例如台式计算设备)处的用户界面输入提供用于包含在消息话题中的第一消息,并且可以稍后经由第二计算设备(例如,移动计算设备)处的用户界面输入提供用于包含在消息话题中的第二消息。然而,为了简化,本公开中所述的许多示例将集中于操作客户端计算设备1061‑
n
的单独一个的给定用户。
39.客户端计算设备1061‑
n
中的每一个可以操作多个不同的应用,诸如消息交换客户端1071‑
n
中的相应一个。消息交换客户端1071‑
n
可以以各种形式出现并且形式可以在客户端计算设备1061‑
n
之间改变和/或多个形式可以在客户端计算设备1061‑
n
的单独一个上被操作。在一些实施方式中,消息交换客户端1071‑
n
中的一个或多个可以以短消息收发服务(“sms”)/多媒体消息收发服务(“mms”)客户端、在线聊天客户端(例如,即时信使、互联网中继聊天或“irc”等)、与社交网络相关联的消息收发应用等的形式出现。在一些实施方式中,可以经由网页或者由web浏览器(未示出)或客户端计算设备的其他应用呈现的其他资源来实现消息交换客户端1071‑
n
中的一个或多个。
40.自动化助理120检查经由多个用户的多个消息交换客户端1071‑
n
发生的、该多个用户之间的正在进行的消息交换话题中的一个或多个消息。在一些实施方式中,自动化助理120用作促进用户之间的消息交换话题的中心交换。在其他实施方式中,自动化助理120可以不用作中心交换,但是仍然连续、定期地或以其他规律和/或不规律的间隔,来检查正在
进行的消息交换的消息。例如,自动化助理120可以全部或部分地在参与正在进行的消息交换的用户的一个或多个客户端计算设备上实现,并且经由客户端计算设备来检查消息交换。而且,例如,自动化助理120可以全部或部分地在远离参与正在进行的消息交换的用户的客户端计算设备的一个或多个计算设备上实现——但是可以从客户端计算设备中的一个或多个和/或从促进消息交换的另一计算设备接收正在进行的消息交换的消息。
41.在一些实施方式中,自动化助理120基于所检查的消息中的一个或多个来确定至少一个场境相关建议来提供用于经由消息交换客户端1071‑
n
向那些用户中的一个或多个的呈现(例如,用于显示为图形元素)。
42.由自动化助理确定的建议指示可以经由消息交换客户端1071‑
n
中的一个提交到自动化助理120的查询,以使得自动化助理120和/或一个或多个消息交换客户端将响应于该查询的内容包含在消息交换话题中。例如,响应于针对该建议并且由消息交换话题的用户中的一个提供的用户界面输入,自动化助理120可以将响应于该查询的内容包含在消息交换话题中。在那些实施方式的一些中,针对该建议的用户界面输入可以使得由该建议指示的查询被提交到自动化助理120,自动化助理120可以基于该查询来发起搜索,并且自动化助理120可以基于搜索的一个或多个搜索结果来确定该内容。在一些其他实施方式中,响应于该搜索的内容可以先前被确定并且可以响应于接收查询由自动化助理120实现为消息交换话题,或者响应于针对该建议的用户界面输入来实现为其他数据。在其他实施方式中,用户可以键入或说出由该建议指示的查询并且将该查询提交到自动化助理120,而无需明确地将用户界面输入定向到该建议。在那些实施方式中的一些中,自动化助理120可以同样通过将内容包含在消息交换话题中来进行响应。
43.在一些实施方式中,自动化助理120可以独立于由用户提供的一个或多个用户界面输入来提供建议以向用户呈现。例如,在表达用于可能包括在消息交换话题中的消息中,可以独立于由用户提供的(例如,键入或说出的)任何自然语言用户界面输入来提供该建议。例如,在一些实施方式中,该建议可以至少部分地基于作为消息交换话题中的最新消息的给定消息来确定,并且可以在一个或多个用户提供针对表达附加消息的任何用户界面输入之前被呈现给一个或多个用户,该附加消息如果被提交到消息交换,将变为最新消息。
44.在一些实施方式中,可以自动地并且独立于任何用户界面输入来提供该建议。在一些其他实施方式中,可以响应于某些用户界面输入,诸如用户界面元素的用户选择、由用户提供的说出的命令等,来提供该建议。例如,可以响应于用户在由消息交换客户端1071‑
n
中的一个呈现的图形用户界面中“敲击”或者选择“答复区”来提供该建议。作为另一示例,可以响应与虚拟按钮的用户交互(例如,敲击、长按)、口头命令(例如,“嘿个人助手,给我一些建议”等)来提供该建议。
45.在一些实施方式中,自动化助理120是否和/或如何提供建议可以基于由该建议指示的查询的得分。例如,如果用于该查询的得分满足阈值,则自动化助理120可以自动地提供建议以供呈现,但是如果得分不满足阈值,则在提供建议之前可能要求用户界面输入。而且,例如,自动化助理120可以:如果得分满足第一阈值,则自动地提供该建议以供呈现;如果得分不满足第一阈值但满足第二阈值,则在提供该建议以供呈现之前,要求某些用户界面输入;并且如果得分不满足第一阈值或第二阈值,则在任何情况下都可以不提供建议。本文提供了确定查询的得分的实施方式的附加描述。
46.在一些实施方式中,自动化助理120可以包括消息处理引擎122、实体确定引擎124、建议引擎126、内容引擎128和消息交换引擎130。在一些实施方式中,可以省略引擎122、124、126、128和/或130中的一个或多个。在一些实施方式中,可以组合引擎122、124、126、128和/或130中的一个或多个的所有或各方面。在一些实施方式中,可以在与自动化助理120分离的组件中实现引擎122、124、126、128和/或130中的一个或多个。例如可以在由客户端计算设备1061‑
n
执行的组件中实现引擎122、124、126、128和/或130中的一个或多个或其任何操作部分。
47.消息处理引擎122处理消息交换话题的一个或多个消息并且生成用于由自动化助理120的一个或多个其他组件使用的带注释输出。例如,消息处理引擎122可以处理由用户经由客户端计算设备1061的一个或多个用户界面输入设备表达并且通过消息交换客户端1071提交到消息交换话题的自由形式的自然语言输入。所生成的消息的带注释输出包括消息的内容的一个或多个注释,并且可选地包括内容本身的至少一些。
48.在一些实施方式中,消息处理引擎122被配置成识别和注释在消息的自然语言内容中的各种语法信息。例如,消息处理引擎122可以包括配置为通过其语法解法注释词项的语音标签的一部分。例如,语音标签的一部分可以用其词性,诸如“名词”、“动词”、“形容词”、“代词”等来标记每个词项。而且,例如,在一些实施方式中,消息处理引擎122可以附加地和/或替选地包括相关性分析器,其被配置为确定自然语言输入中的词项之间的句法关系。例如,相关性分析器可以确定哪些词项修改了句子的哪些词项、主题和动词等(例如,分析树)——并且可以进行对这些相关性的注释。
49.在一些实施方式中,消息处理引擎122可以附加和/或替选地包括实体标签器,其被配置为在消息的内容(例如,自然语言内容和/或图像)中注释实体引用,诸如人、组织、位置等的引用。实体标签器可以以高粒度级(例如,实现识别对诸如人的实体类别的所有引用)和/或较低粒度级(例如,实现识别对诸如特定人的特定实体的引用),来注释对实体的引用。实体标签器可以依赖于内容本身来解析特定实体和/或可以可选地与一个或多个资源通信来解析特定实体。例如,为了解析自然语言内容中的实体,实体标签器可以与知识图或其他实体数据库通信以解析特定实体。而且,例如,为了解析图像内容中的实体,实体标签器可以与图像处理系统通信,图像处理系统诸如配置为识别存在于图像中的一个或多个实体(例如,实体类别)的卷积神经网络。
50.在一些实施方式中,消息处理引擎122可以附加和/或替选地包括互参解析器,其被配置为基于一个或多个场境线索来分组、或“聚组”对同一实体的引用。例如,互参解析器可以用于将自然语言输入“我认为餐厅a听起来不错,它在哪?”中,将词项“它”解析成“餐厅a”。
51.在一些实施方式中,消息处理引擎122的一个或多个组件可以依赖于来自消息处理引擎122的一个或多个其他组件的注释。例如,在一些实施方式中,指定的实体标签器可以在注释对特定实体的所有记载中取决于来自互参解析器和/或相关性分析器的注释。而且,例如,在一些实施方式中,互参解析器可以在聚组对同一实体的引用时,依赖于来自相关性分析器的注释。在一些实施方式中,在处理特定消息中,消息处理引擎122的一个或多个组件可以使用消息交换话题的一个或多个先前消息来确定用于消息交换话题的给定消息的一个或多个注释。例如,消息交换话题中的第一用户可以将消息“餐厅a听起来怎么
样?”包含在话题中,并且第二用户可以将响应消息“它在哪?”包含在消息交换话题中。在处理“它在哪”中,互参解析器可以基于先前消息“餐厅a听起来怎么样?”,将“它”解析成“餐厅a”。
52.实体确定引擎124确定在消息交换话题的一个或多个消息中引用的一个或多个实体。在一些实施方式中,实体确定引擎124可以基于消息交换话题的消息的子集的分析来确定在消息交换话题中“最近”引用的一个或多个实体。例如,引擎124可以基于最新n个消息(例如最近1、2或4个消息)和/或基于在时间阈值内(例如,在最近1分钟、最近10分钟内)已经包含在消息交换话题中的消息来确定最近引用的实体。
53.在确定在一个或多个消息中引用的实体中,实体确定引擎124可以依赖于消息的内容和/或由消息处理引擎122提供的注释(例如,引擎122的实体标签器提供的实体标签)。实体确定引擎124还可以在确定实体时利用一个或多个附加资源,诸如引用消息交换话题的一个或多个用户的知识图或其他实体数据库和/或用户属性。
54.作为一个示例,假定最新消息“那时天气怎么样”以及紧接在前的消息“对5月的路易斯维尔的公开赛有没有兴趣?”。基于这两个消息,实体确定引擎124可以基于例如在具有“路易斯维尔”的“别名”属性的知识库中的用于该实体的实体,并且基于与用于与“公开赛”相关联的实体的实体具有强烈关系的实体,来确定对应于肯塔基州的路易斯维尔市的实体。实体确定引擎124还可以基于消息中出现词项“5月”和/或消息中的其句法关系(例如,基于由引擎122提供的注释),可选地确定对应于5月的实体。实体确定引擎124还可以基于消息中该词项的出现来可选地确定对应于“天气”的实体。在一些实施方式中,可以省略实体确定引擎124。
55.建议引擎126基于消息交换话题的一个或多个消息来确定与一个或多个消息场境相关的一个或多个建议。建议引擎126可以提供所确定的建议中的一个或多个以用于呈现给(例如,用于显示为图形元素)参与消息交换话题的用户中的一个或多个(例如,经由消息交换客户端1071‑
n
中的一个或多个呈现)。例如,建议可以被提供为可由加入话题的用户中的一个或多个查看的图形元素。例如,图形元素可以在与消息交换客户端1071‑
n
中的一个或多个相关联的图形用户界面上显示,并且可以与(但可选地不包括在其中的)正在进行的消息交换话题的记录本一起显示。如本文所使用的,“记录本(transcript)”可以指由加入消息交换话题的一个或多个用户交换和/或查看的文本、图像、声音等的现场记录。在一些实施方式中,在用户进行会话时,可以实时或近实时地更新消息交换话题的记录本。
56.在一些实施方式中,建议引擎126可以向消息交换引擎130提交建议,其然后可以将该建议提供给消息交换客户端1071‑
n
中的一个或多个。例如,消息交换引擎130可以请求消息交换客户端1071‑
n
中的至少一个在由消息交换客户端1071‑
n
的至少一个呈现的图形用户界面中提供图形元素。
57.在一些实施方式中,建议引擎126基于由消息处理引擎122确定的带注释输出、基于由实体确定引擎124确定的一个或多个实体和/或基于查询数据库156的一个或多个查询来确定建议。查询数据库156可以包括例如先前提交到自动化助理和/或搜索引擎的一个或多个查询和/或一个或多个查询“模板”。查询模板可以包括一个或多个词项以及可以用特定实体的别名“填充”以生成查询的一个或多个占位符。例如,查询模板可以采用“[电影]中的演员”的形式,并且可以用特定电影的别名填充“电影”以基于该模板生成查询。
[0058]
在一些实施方式中,建议引擎126基于消息交换话题中的一个或多个消息来确定候选搜索查询,并且基于候选搜索查询来生成建议。例如,该建议可以是提供候选搜索查询的指示的可选择的图形元素。图形元素可以包括整个搜索查询或搜索查询的词项的子组或搜索查询的重写(例如,当搜索查询长于预期的显示时)。
[0059]
建议引擎126可以利用各种技术来确定候选搜索查询。在一些实施方式中,建议引擎126可以基于由实体确定引擎124确定的一个或多个实体来确定候选搜索查询。例如,建议引擎126可以确定与一个或多个数据库中(例如,查询数据库156中)的一个或多个实体强烈相关联的一个或多个搜索查询。而且,例如,建议引擎126可以基于一个或多个实体的别名来确定一个或多个搜索查询。例如,如上所述,实体确定引擎124可以基于在消息“对5月的路易斯维尔的公开赛有没有兴趣?”之后的消息“那时天气怎么样?”,来确定对应于肯塔基州的路易斯维尔市的实体。建议引擎126可以基于由引擎124确定的实体的别名(“路易斯维尔,ky”)、基于消息的词项(“天气”,“5月”)和基于由消息处理引擎122提供的带注释输出(例如,确定“那时”对“5月”的引用)来确定候选查询“路易斯维尔,ky,5月天气”。
[0060]
在一些实施方式中,建议引擎126可以基于从先前提交的搜索查询的语料库中对其进行选择,诸如查询数据库156中的查询,来附加和/或替选地确定候选搜索查询。例如,可以基于候选搜索查询和包括在消息交换话题的消息中的词项之间的一致性、候选查询和由实体确定引擎124确定的实体的别名之间的一致性和/或基于搜索查询的流行度度量(例如,基于候选查询的提交频率或指示候选查询的提交数量的其他度量)来选择候选搜索查询。
[0061]
在一些实施方式中,建议引擎126可以基于识别在查询数据库156中与消息的(例如,由实体确定引擎124确定的)一个或多个词项和/或实体相关联的查询模板,来附加和/或替选地确定候选搜索查询。建议引擎126可以通过用一个或多个适当词项填充查询模板的占位符来进一步生成候选查询。例如,假定“附近[美食类型]餐厅”的查询模板与诸如实体类别“餐厅”、实体类别“美食类型”的一个或多个实体相关联,和/或与诸如“食品”、“晚餐”、“预留”、“餐厅”、“海鲜”、“烧烤”等一个或多个词项相关联。建议引擎126可以基于包括消息“有人想去吃午饭吗?

我想吃烧烤”的消息交换,来识别该查询模板。建议引擎126可以基于烧烤是美食类型并且是包括在该消息中的词项,进一步用“烧烤”填充“[美食类型]”占位符。
[0062]
在一些实施方式中,建议引擎126是否提供建议可以基于由该建议指示的查询的得分。例如,在一些实施方式中,建议引擎126可以利用诸如本文所述的一个或多个技术来确定一个或多个候选查询组。在实施方式中的一些中,建议引擎126可以确定该组的候选查询中的每一个的得分,并且仅基于具有满足阈值的得分的那些候选查询(如果有的话)来提供建议。
[0063]
在一些实施方式中,建议引擎126可以附加和/或替选地利用候选查询的得分来确定如何提供指示该候选查询的建议。例如,在一些实施方式中,建议引擎126可以使用候选查询的得分来确定作为指示候选查询的图形元素提供的建议的显示顺序、大小和/或其他视觉突出性。而且,例如,在一些实施方式中,如果用于候选查询的得分满足阈值,则建议引擎126可以自动地提供建议以供呈现,但如果得分不满足阈值,则在提供建议之前可以要求用户界面输入。而且,例如,建议引擎126可以:如果得分满足第一阈值,则自动地提供该建
议以供呈现;如果得分不满足第一阈值但满足第二阈值,则在提供建议以供呈现之前,要求某些用户界面输入;以及如果得分不满足第一阈值或第二阈值,则在任何情况下都不提供建议。
[0064]
在一些实施方式中,建议引擎126基于下述来确定候选查询的分析:(1)候选查询本身的一个或多个属性;(2)响应于候选查询的搜索结构的一个或多个属性;和/或(3)正在进行的消息交换话题的一个或多个消息的一个或多个属性。候选查询的一个或多个属性可以包括例如候选查询的流行度度量。响应于候选查询的一个或多个搜索结果的一个或多个属性可以包括例如用于搜索结果的质量度量和/或搜索结果是否具有某些类型,诸如导航搜索结果、“辅助(curated)”搜索结果、“知识名片”搜索结果。
[0065]
正在进行的消息交换话题中的一个或多个消息的一个或多个属性可以包括例如一个或多个消息的“聊天性”的度量和/或“搜索性”的度量,一个或多个消息诸如最新消息或最近n个消息。在一些实施方式中,可以基于该消息的词项和/或句法结构与先前提交的搜索查询的词项和/或句法模式的比较来确定消息的“搜索性”的度量。例如,可以将消息的句法结构与提交到搜索引擎的搜索中共同的句法结构作比较,并且如果存在高度一致性,则可以指示该消息是“搜索的(searchy)”。而且,例如,在消息中存在和/或不存在某些词项可以指示该消息是“搜索的”,诸如存在“什么”、“何时”、“?”等。而且,例如,在消息中存在任何指定实体、存在特定量的指定实体和/或存在某些类别的指定实体可以指示该消息是“搜索的”。
[0066]
在一些实施方式中,可以基于将该消息的词项和/或句法结构与两个或更多个用户之间的先前消息交换的词项和/或句法模式作比较来确定消息的“聊天性”度量。例如,可以将消息的句法结构与用户之前的先前消息交换中共同的句法结构作比较,并且如果存在高度一致性,则可以指示该消息是“聊天的”。而且,例如,消息中存在和/或缺少某些词项可以指示该消息是“聊天的”。而且,例如,消息中缺少任何指定实体和/或某些类别的指定实体可以指示该消息是“聊天的”。
[0067]
在一些实施方式中,建议引擎126可以利用训练的分类器和/或其他机器学习系统来确定“聊天性”和/或“搜索性”的度量。例如,分类器可以被训练为接收一个或多个消息的一个或多个特征作为输入,诸如消息的词项、消息的注释(例如,由引擎122提供的注释)等——并且将消息是否和/或何种程度地是“查询的”(即,指示搜索结果的期望)和/或“聊天的”(即,指示与一个或多个用户的进一步通信的期望)的指示提供作为输出。
[0068]
内容引擎128确定响应于针对自动化助理120的查询的内容,针对自动化助理120的查询的内容诸如响应于用户选择或者以其他方式与基于该查询的建议交互而针对自动化助理120的查询的内容。该内容可以包括例如响应于该查询的文档、图像、文本内容和/或其他信息,并且可以从例如公共数据库154和/或个人数据库152进行识别。在各种实施方式中,响应于搜索查询的内容可以进一步包括与其他确定的内容相关的进一步建议。
[0069]
在一些实施方式中,内容引擎128可以将查询提交到单独的搜索查询(未示出),并且响应于该提交来获得一个或多个搜索结果。在一些实施方式中,搜索引擎可以搜索一个或多个公共内容资源,诸如公共数据库154。在一些实施方式中,搜索引擎可以附加和/或替选地搜索提交了查询的用户(和/或消息交换话题的其他用户)个人的一个或多个个人内容资源,诸如个人数据库152。例如,个人数据库152可以包括用户个人的条目,诸如用户的日
历条目、用户的联系人条目、用户的电子邮件条目、从用户的电子邮件导出的内容等。搜索引擎可以基于例如与查询提交一起由内容引擎128提供的用户授权信息来访问个人数据库152(或用户个人的数据库152的条目的子集)。在一些其他实施方式中,内容引擎128本身可以基于查询来执行公共数据库154、个人数据库152和/或其他资源的搜索。
[0070]
在许多实例中,响应于查询的内容可能太不实用(例如、过长、过多细节等)以致于不便于在不中断会话的流程的情况下包含在消息交换话题中。在这些情况下,内容引擎128可以选择整个响应内容(例如,整个响应内容可能是挑选的)的子集以包含在话题中。在一些实施方式中,内容引擎128可以选择用于包含在消息交换话题中的子集(例如,挑选响应内容)。在其他实施方式中,内容引擎128可以将综合响应信息提供给消息交换客户端1071‑
n
中的一个或多个,并且其可以执行挑选。例如,在一些实施方式中,消息交换客户端1071可以基于客户端计算设备1061的屏幕大小来挑选信息。在其他实施方式中,内容引擎128和消息交换话题均可以执行挑选。在一些实施方式中,可以选择前n个搜索结果(或其他内容)以包含在消息交换话题中和/或可以选择某些类型的搜索结果(或其他内容)以包含在消息交换话题中。n可以基于例如屏幕大小、用户偏好等选择,或者可以手动地选择(例如,n可以被设定为5、10、2、1等)。
[0071]
在各种实施方式中,响应于查询包含在消息交换话题中的至少一些内容可以链接到响应于该查询的一个或多个电子文档,使得用户仅需要选择针对新资源的内容(例如,显示信息的web浏览器)。在一些实施方式中,包含在消息交换话题的至少一些内容可以链接到响应于该查询的、安装操作消息交换客户端107中的至少一个的客户端计算设备106上的应用。例如,如果用户选择指示查询“franks的晚餐预约”建议,则可以将与位置“franks”相关的一个或多个图形元素包含在消息交换话题中,并且可选择那些图形元素来打开专门操作为创建位置franks处的预约的另一应用(例如,深链接)。
[0072]
消息交换引擎130可以便利将(由内容引擎128确定的)内容包含在消息交换话题中和/或可以便利经由一个或多个消息交换话题提供(由建议引擎126确定的)建议以供显示。
[0073]
包含在消息交换话题中的内容可以由加入话题的一个或多个用户查看。例如,可与图示正在进行的消息交换话题的记录本的消息交换客户端相关联的图形用户界面上查看内容。消息交换引擎130可以以各种方式将内容包含在多个消息交换客户端1071‑
n
之间的消息交换话题中。在一些实施方式中,消息交换引擎130可以请求加入消息交换话题的消息交换客户端1071‑
n
中的至少一个将该内容插入到图形用户界面中显示的正在进行的消息交换话题的记录本中。在一些情况下,该内容可以被包含在由一个以上的消息交换客户端呈现的记录本中,诸如由加入消息交换话题的所有消息交换客户端呈现的记录本中。在一些实施方式中,消息交换引擎130可以将响应内容简单地提供给消息交换客户端,然后消息交换话题可以选择哪些内容要包含在消息交换话题中。
[0074]
现在转到图2a和2b,提供了自动化助理120的各种组件的附加描述。
[0075]
在图2a和2b中,消息交换话题在消息交换客户端1071和消息交换客户端107
n
之间正在进行。在图2a中,消息交换引擎130获得话题的消息201的一个或多个消息并且将那些消息提供给消息处理引擎122。在一些实施方式中,消息交换引擎130可以用作便利消息交换客户端1071和107
n
之间的消息交换话题的中心交换。在其他实施方式中,消息交换引擎
130可以不用作中心交换,但仍然可以获得话题的消息201。
[0076]
消息处理引擎122处理话题的消息201并且生成话题的消息201的各种注释。消息处理引擎122将带注释输入(话题的消息201的词项和/或其他内容以及生成的注释)202提供给实体确定引擎124和建议引擎126。
[0077]
实体确定引擎124基于带注释输入202、实体数据库和/或其他资源来确定在话题的消息201中引用的一个或多个实体203。实体确定引擎124将一个或多个实体203提供给建议引擎126。
[0078]
建议引擎126确定一个或多个建议204并且将该建议204提供给消息交换引擎130。消息交换引擎130提供建议204以用于经由消息交换客户端1071和107
n
中的一个或两个来显示。在一些实施方式中,建议204中的一个或多个可以是包括候选搜索查询的词项和/或以其他方式指示候选搜索查询的可选择的图形元素。在一些实施方式中,可以将建议204中的一个或多个提供为可听建议。
[0079]
如本文所述,建议引擎126可以利用各种技术中的一个或多个来确定建议。例如,建议引擎126可以基于带注释输入202、实体203,和/或查询数据库156来确定候选搜索查询,并且可以基于候选搜索查询来生成建议。在一些实施方式中,建议引擎126确定与建议204相关联的候选查询的得分,并且基于该得分来确定是否提供建议204。在一些实施方式中,建议引擎126利用该得分来确定将如何提供建议204。例如,建议引擎可以利用该得分来生成计算机可读指令,以提供指示建议204的特定显示位置、建议204的特定显示大小和/或建议204的其他特定显示属性的建议204。
[0080]
图2b示出响应于消息交换话题的用户的用户界面输入,诸如针对提供给用户并且指示该查询的建议的用户界面输入,来将响应于查询的内容包含在消息交换话题中的示例。
[0081]
例如,在图2b中,消息交换引擎130可以响应于针对在图2a中提供的所提供的建议204中的一个(即,该建议可以指示查询205)的用户界面输入来接收查询205。如关于图2a所述,可以提供建议以经由消息交换客户端1071和107
n
中的一个或二者来显示。可以响应于经由对其提供建议的消息交换客户端1071和107
n
中的任何一个针对该建议的用户界面输入,来将查询205提供给消息交换引擎130。
[0082]
消息交换引擎130将查询205提供给内容引擎128,内容引擎128获得响应于查询205的内容206。可以由内容引擎128从个人数据库152和/或公共数据库154直接或间接地获得内容206。在一些实施方式中,内容引擎128响应于查询205的提交来确定搜索结果或其他内容的集合,并且挑选用于生成内容206的该内容。内容引擎128将该内容提供给消息交换引擎130。消息交换引擎130将内容206包含在在消息交换客户端1071和107
n
之间的正在进行的消息交换话题中。例如,内容206可以被包含在消息交换话题中,以用于显示为消息交换客户端1071和107
n
二者中的消息交换话题的一部分。
[0083]
现在转到图3a

3d,提供本文所述的各种组件和技术的附加描述。图3a

3d中的每一个示出图1的客户端计算设备1061,其中,显示屏140示出在消息交换话题期间客户端计算设备1061可以如何渲染客户端计算设备1061的图形用户界面的图。在图3a

3d中,客户端计算设备1061的用户参与具有两个其他用户“tom”和“alex”的正在进行的消息交换话题。
[0084]
图3a

3d的显示屏140进一步包括文本答复界面元素388和语音答复界面元素389,
用户可以选择文本答复界面元素388来经由虚拟键盘生成用户输入,以及用户可以经由麦克风选择语音答复界面元素389来生成用户输入。显示屏140还包括系统界面元素381、382、383,其可以与用户交互以使得计算设备1061执行一个或多个动作。
[0085]
在图3a中,用户先前已经表达了自然语言消息380a并且提交了消息380a以用于包含在消息交换话题中。此外,tom先前已经表达了自然语言消息382a并且在包含消息380a之后提交了消息382以用于包含在消息交换话题中。alex先前已经表达自然语言消息384a并且在包含消息382a之后提交了消息384a以用于包含在消息交换话题中。
[0086]
在图3a中还示出指示可以提交到自动化助理120的候选查询“acme演员表”的可选择的图形元素361。图形元素361包括候选查询的文本,并且还包括“星号”以向用户指示对图形元素361的选择将导致将响应于候选查询“acme演员表”的内容包含在消息交换话题中。还示出了包括文本“否”的可选择的图形元素371。对图形元素371的选择将导致“否”自动地填充在文本答复界面元素388中(然后,用户可以经由一个或多个用户界面输入提交以包含在该话题中)或将导致“否”被自动地提交以包含在消息交换话题中。在任一情况下,“否”作为来自用户的答复将被包含在消息交换话题中,而不会导致响应于“否”的内容也被包含。换句话说,对图形元素371的选择可以使得用户能够生成“否”答复,就如同用户在文本答复界面元素388中键入“否”和/或在选择语音答复界面元素385之后说出“否”。
[0087]
在一些实施方式中,自动化助理120可以基于消息交换话题的已经通信的消息380a、382a和384a中的一个或多个来确定由图形元素361指示的候选搜索查询“acmet演员表”。例如,可以基于在来自tom的消息382a中出现词项“acme”(虚构的电影名称)并且基于在来自alex的消息384a中出现词项“演员表”来确定候选搜索查询。
[0088]
应注意到,在一些实施方式中,tom的消息交换客户端还可以显示图形元素371和/或图形元素361以由tom选择。而且,alex的消息交换客户端还可以显示图形元素371以供由alex选择(可以不将图形元素371显示给alex,因为对alex来说,“否”不是对自己的消息384a的场境适当的响应)。
[0089]
图3b示出在用户已经提供了针对图3a中的图形元素361的用户界面输入后的图形用户界面。例如,用户可以“敲击”图形元素361。在图3b中,图形元素361的用户选择,与指示提供消息380b以获得响应于“acme演员表”的内容以包含在消息交换话题中的星号一起,被包含在消息交换话题中,作为包括候选查询“acme演员表”的文本的来自用户的消息380b。例如,计算设备1061的消息交换客户端可以通过提交“acme演员表”以及使得自动化助理120将“acme演员表”处理为针对自动化助理120的查询的指示,来包含消息380b。该指示可以是人类可识别的指示和/或人类不可识别的指示。注意,在一些实施方式中,tom和/或alex的消息交换客户端还可以显示消息380b(与用户的姓名而不是“你”的指示一起)。
[0090]
在图3b中,内容390a也被包含在消息交换话题中,作为来自“自动化助理”的消息。内容390a包括文字“我找到的:”以指示该内容响应于消息380b并且包括响应于查询“acme演员表”的三个“名片”和可选择选项
“…”
。名片是“acme电影”的三个演职人员并且可选择选项(
“…”
)使得用户能够看到用于其他演职人员的其他名片。名片中的每一个包括演职人员的图像、演职人员的“已知”姓名和“acme电影”中的演职人员的姓名(用斜体字示出)。注意,在一些实施方式中,tom和/或alex的消息交换客户端还可以显示内容390a。在那些实施方式中的一些中,针对用于看到其他演职人员的其他名片的可选择选项(
“…”
)的用户中的
任何一个的用户界面输入可以使得其他名片显示被在所有消息交换客户端的图形用户界面中,或仅显示在提供了用户界面输入的用户的客户端中。在一些实施方式中,可以由用户选择一个或多个名片来使得有关那一名片的演职人员的其他内容被提供。例如,对名片中的一个的选择可以使得其他内容被包含在用于该用户以及可选地用于其他用户的消息交换话题中。而且,例如,对名片中的一个的选择可以使得其他内容在与消息交换客户端分离的另一应用(诸如单独的web浏览器应用)中被提供给用户。
[0091]
图3b中还示出了可选择的图形元素362和363,并且指示可以提交到自动化助理120的“acme预告片”和“acme上映时间”的候选查询。图形元素362和363中的每一个包括指示其候选查询的文本(但不包括候选查询的文本的全部)以及还分别包括向用户指示选择将导致将响应于其候选查询的内容包含在消息交换话题中的“星号”。如图形元素361(图3a),tom和/或alex的消息交换客户端还可以显示图形元素362和363。在一些实施方式中,自动化助理120可以基于那些候选查询与候选查询“acme电影”有关和/或与内容390a有关来确定图形元素362和363的候选查询。例如,自动化助理120可以基于指示那些候选查询是由在提交“acme上映时间”之后和/或之前由其他用户最频繁提交的两个查询的数据库条目来确定那些候选查询。
[0092]
图3c示出在alex提供针对在他的图形用户界面中显示的图形元素363的实例的用户界面输入(例如“敲击”)之后的图形用户界面。在图3c中,alex对图形元素363的选择,与用于指示消息384b被提供以获得响应于“acme演员表”的内容以供包含在消息交换话题中的星号一起,被包含在消息交换话题中,作为包括候选查询“acme上映时间”的文本的来自alex的消息384b。
[0093]
在图3c中,内容390b也被包含消息交换话题中,作为来自“自动化助理”的消息。内容390b包括文本“我找到的:”以指示该内容响应于消息384b并且包括指示在两家电影院的“acme电影”的上映时间的自然语言输出。注意,在图3c中,两家电影院位置上接近tom、alex和用户——并且内容390b的自然语言输出包括tom、alex和用户到每家电影院的距离的指示。例如,自动化助理120可以基于发出具有消息交换话题的用户的每一个的位置信息和/或其他用户属性的搜索来确定内容,确定与用户的位置和/或不可从消息交换话题的消息分辨的用户的其他属性场境相关的内容390b。
[0094]
可选择的图形元素362和365还在图3c中示出,并且指示可以提交到自动化助理120的“acme预告片”和“acme剧照”的候选查询。图形元素362和365中的每一个包括指示其候选查询的文本,并且其中的每一个还包括向用户指示选择将导致将响应于其候选查询的内容包含在消息交换话题中的“星号”。在一些实施方式中,自动化助理120可以基于与候选查询“acme上映时间”有关和/或与内容390b有关的那些候选查询来确定图形元素362和365的候选查询。
[0095]
在图3c中,自然语言输入“我们去电影院1@7”在文本答复界面元素388中示出并且可以由用户表达。例如,在将内容390b包含在消息交换话题中之后,用户可以利用虚拟键盘来提供自然语言输入。
[0096]
图3d示出在用户已经将自然语言输入“我们去电影院1@7”提交到消息交换话题中之后的图形用户界面。在图3d中,用户提交自然语言输入被包含在消息交换话题中,作为来自用户的消息380c,消息380c不包括指示消息来自该用户的星号,并且不打算从自动化助
理获得响应内容。注意,在许多实施方式中,tom和/或alex的消息交换客户端还显示消息380c(与用户的姓名的指示而不是“你”一起)。
[0097]
还在图3d中示出可以提交到自动化助理120的指示候选查询“到电影院1的路线指引”的可选择的图形元素366。图形元素366包括候选查询的文本,并且还包括用于向用户指示对图形元素366的选择将导致将响应候选查询包含在“到电影院1的路线指引”的内容包含在消息交换话题中的“星号”。
[0098]
在一些实施方式中,自动化助理120可以基于诸如消息380c的已经通信的消息中的一个或多个和/或基于内容390b来确定由图形元素366指示的候选搜索查询“到电影院1的路线指引”。
[0099]
尽管在图3a

3d中未示出,但在在一些实施方式中,消息交换话题的用户和/或其他用户可以明确地将查询提交到自动化助理120,而不选择所提供的建议。例如,用户可以在文本答复界面元素388中表达自然语言输入,并且包括结合输入使得该输入被提交到自动化助理120(例如,示出为用响应于该输入的内容答复的、具有“星号”的消息)的特定词项和/或符号(例如,作为前缀的@automatedassistant)。而且,例如,用户可以在选择语音答复界面元素389之后口头地表达自然语言输入,并且可以说出结合该输入来使得该输入被提交到自动化助理120的特定词项。如另一示例,可以在图形用户界面中提供单独的图形界面元素,当被选择时,使用户表达的自然语言输入提交到自动化助理120。
[0100]
图4图示示出向用户之间的正在进行的消息交换话题中的一个或多个用户提供至少一个场境相关的建议并且将响应于由该建议指示的查询的内容包含在消息交换话题中的示例性方法400的流程图。为了方便,参考执行该操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各个组件,诸如自动化助理120。此外,尽管按特定顺序示出方法400的操作,但这不意味着限定。可以重新排序、省略或添加一个或多个操作。
[0101]
在框450,系统检查操作多个消息交换客户端的多个用户之间的正在进行的消息交换话题。
[0102]
在框452,系统基于消息交换话题的一个或多个消息来确定一个或多个候选查询。
[0103]
在框454,系统确定用于候选查询中的每一个的得分。
[0104]
在456,系统针对候选查询中的每一个确定该候选查询的得分是否满足阈值。如果在框456处系统确定没有一个候选查询具有满足阈值的得分,则该系统进行到框458,并且等待消息交换话题中的另一消息。响应于消息交换话题中的另一消息,该系统再次进行到框450。
[0105]
如果在框456处系统确定候选查询中的至少一个具有满足阈值的得分,则该系统进行到框460。
[0106]
在框460,系统提供用于其得分满足阈值的一个或多个候选查询的一个或多个建议,以呈现给消息交换话题的用户的至少一个。
[0107]
在框462,系统识别针对所提供的建议中的一个的用于界面输入发生。
[0108]
在框464,系统确定响应于用户界面输入所针对的建议的候选查询的内容。
[0109]
在框466,系统将该内容包含在消息交换话题中并且进行到框458。在框458,该系统等待消息交换中的另一消息,并且响应于消息交换话题中的另一消息,该系统再次进行到框450。
[0110]
图5是示例性计算设备510的框图,该计算设备510可选地用于执行本文所述技术的一个或多个方面。在一些实施方式中,客户端计算设备1601‑
n
、自动化助理120和/或其他组件中的一个或多个可以包括示例性计算设备510中的一个或多个组件。
[0111]
计算设备510通常包括至少一个处理器514,其经由总线子系统512与多个外围设备进行通信。这些外围设备可以包括存储子系统524,例如包括存储器子系统525和文件存储子系统526、用户界面输出设备520、用户界面输入设备522和网络接口子系统516。输入和输出设备允许用户与计算设备510进行交互。网络接口子系统516提供了针对外部网络的接口并且耦合至其他计算设备中相对应的接口设备。
[0112]
用户界面输入设备522可以包括键盘,诸如鼠标、轨迹球或图形板的指示设备,扫描仪,整合到显示器中的触摸屏,诸如语音识别系统、麦克风的音频输入设备,和/或其他类型的输入设备。通常,使用词项“输入设备”是为了包括向计算设备510中或者通信网络上输入信息的所有可能类型的设备和方式。
[0113]
用户界面输出设备520可以包括显示子系统、打印机、传真机,或者诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(crt),诸如液晶显示器(lcd)的平板设备,投影设备,或者用于创建可见图像的一些其他机制。该显示子系统还可以经由诸如音频输出设备提供非视觉显示。通常,使用词项“输出设备”是为了包括从计算设备510向用户或者另一个机器或计算设备输出信息的所有可能类型的设备和方式。
[0114]
存储子系统524存储提供本文所述的一些或全部模框的功能的程序和数据结构。例如,存储子系统524可以包括执行图4的方法的被选方面的逻辑。
[0115]
这些软件模框通常由处理器514单独或者结合其他处理器一起来执行。在存储子系统中所使用的存储器525可以包括多种存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)530以及在其中存储固定指令的只读存储器(rom)532。文件存储子系统524可以为程序和数据文件提供持久性存储,并且可以包括硬盘驱动器、带有相关联的可移除媒体的软盘驱动器、cd

rom驱动器、光学驱动器,或者可移除的媒体卡盒。实施某些实施方式的功能的模框可以被文件存储子系统524存储在存储子系统524中,或者存储在处理器514所能够访问的其他机器中。
[0116]
总线子系统512提供了使得计算设备510的各个组件和子系统如所期望的那样互相通信的机制。虽然总线子系统512被示意性地示为单个总线,但是总线子系统的可替换实施方式可以使用多个总线。
[0117]
计算设备510可以为各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器组,或者任意其他数据处理系统或计算设备。由于计算机和网络不断变化的属性,图5中所描绘的计算设备510的描述仅意在作为为了说明一些实施方式的具体示例。计算设备510的许多其他配置是可能的,它们具有比图5所描绘的计算设备更多或更少的组件。
[0118]
在本文所述的系统收集关于用户的个人信息或可以运用个人信息的情况中,用户可以具备控制程序或特征是否收集用户信息(例如,关于用户社交网络、社交动作或活动、职业、用户偏好或用户当前地理位置的信息)或控制是否和/或如何从内容服务器接收可以与用户更相关的内容的机会或选择。同时,某些数据可以在存储或使用其之前依一种或多种方式处理,使得移除个人可识别的信息。例如,可以处理用户身份使得无法确定用户的个人可识别信息,或获得地理位置信息的用户地理位置可以概括(诸如到城市、zip编码或州
级),使得无法确定用户的特定地理位置。因此,用户可以具有对如何收集关于用户的信息和如何使用所述信息的控制权。
[0119]
虽然本文已经对多种实施方式进行了描述和说明,但是可以利用用于执行本文所述的功能和/或获得其结果和/或一种或多种优势的各种其他器件和/或结构,并且每种这样的变化和/或修改意在处于本文所述的实施方式的范围之内。更一般地,本文所述的所有参数、尺寸、材料和配置都意在是示例性的,并且实际的参数、尺寸、材料和/或配置将取决于针对其使用该教导的一种或多种具体应用。本领域技术人员仅仅使用常规的实验将认识到或者能够确认许多等同于本文所述的具体实施方式。因此,所要理解的是,以上实施方式仅是作为示例而给出,并且处于所附权利要求及其等同形式的范围之内,实施方式可以以不同于所特别描述并要求保护的方式进行实践。本公开的实施方式针对于本文所述的每种个体的特征、系统、物品、材料、套件和/或方法。此外,两种或更多的这样的特征、系统、物品、材料、套件和/或方法的任意组合在这样的特征、系统、物品、材料、套件和/或方法并不互相抵触的情况下都包括在本公开的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1