未索求内容到人类与计算机对话中的前摄并入的制作方法

文档序号:19429705发布日期:2019-12-17 16:17阅读:176来源:国知局
未索求内容到人类与计算机对话中的前摄并入的制作方法



背景技术:

人类可以与在本文中称为“自动化助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“谈话代理”等)的交互式软件应用来进行人类与计算机对话。例如,人类(当他们与自动化助理交互时可以被称为“用户”)可以使用说出的自然语言输入(即话语)和/或通过提供文本(例如,键入的)自然语言输入来提供命令和/或请求,所述说出的自然语言输入可以在一些情况下被转换成文本并然后处理。与前摄相反,自动化助理通常是反应式,这可导致在提供可用服务时效率低下。例如,自动化助理不会前摄地获得并提供用户的潜在兴趣的特定信息。因此,在自动化助理将用实质性信息响应并且/或者代表用户发起一个或多个任务之前,用户必须提供初始自然语言输入(例如,说出的或键入的)。



技术实现要素:

在本文中描述了用于配置自动化助理以将用户的潜在兴趣的未索求内容前摄地并入到人类与计算机对话会话中的技术。在一些实施方式中,配置有本公开的所选方面的自动化助理——和/或与自动化助理协同工作的一个或多个其它组件——可以在它确定了在现有人类与计算机对话会话中自动化助理已有效地履行了其对用户的义务(例如,自动化助理正在等待进一步指令)时执行这样的并入。这可以和用户说出“早上好”并且自动化助理提供通用响应“你也早上好”一样简单。在这样的场景中,用户可以很可能仍(至少短暂地)参与人类与计算机对话会话(例如,示出人类与计算机对话的正在进行的转录的聊天机器人屏幕可能仍是打开的,用户可能仍在通过其实现人类与计算机对话的音频输出设备的听力所及的范围内)。因此,被并入到人类与计算机对话会话中的任何未索求内容很可能被用户消费。

在一些实施方式中,未索求内容可以作为不直接地响应于用户的查询(例如,对白、旁注等)的话语(例如,自然语言陈述)被呈现。在一些这样的实施方式中,未索求内容可以以将内容识别为用户确实未明确地索求但是可能以其它方式与当前谈话的上下文相关的事物的适合的陈述开头,所述适合的语句诸如“顺便说一下...”、“你是否知道...”、“作为旁注...”等。并且虽然可能不直接地响应于用户的查询,但是未索求内容可以以各种方式与谈话的上下文离题。

可以以各种方式选择被并入到人类与计算机对话中的用户的潜在兴趣的未索求(例如,离题的)内容。在一些实施方式中,内容可以采取由用户和/或由自动化助理基于在谈话中提及的一个或多个实体而选择的一个或多个事实的形式。例如,如果用户或自动化助理提及特定名人,则自动化助理可以并入关于该名人、关于另一类似的名人等的一个或多个事实。关于实体或者以其它方式与实体有关的事实可以以各种形式出现,所述各种形式诸如与实体有关的最近新闻项(例如,“你是否知道<实体>上周年满57岁?”、“顺便说一下,<实体>将下个月到你的城镇来”、“顺便说一下,最近已从<实体>召回了产品”等)、一般事实(例如,生日、政治立场、净资产、琐事、配偶、家庭成员、奖项、价格、可用性等)等。

在各种实施方式中,关于在人类与计算机对话中提及的实体的多个事实可以被确定,然后例如基于所谓的“用户的潜在兴趣的量度”进行排名,并且可以将排名最高的事实呈现给用户。可以基于各种信号来以各种方式确定事实的潜在兴趣的量度。

在一些实施方式中,可以基于与用户自己的用户简档相关联的数据来确定对与实体有关的特定事实的潜在兴趣的量度。用户简档可以与由用户在操作一个或多个客户端设备(例如,形成与用户相关联的客户端设备的协调“生态系统”)时使用的用户账户相关联。各种数据可以与用户的简档相关联,所述各种数据诸如搜索历史(包括可从搜索历史中检测到的模式)、消息收发历史(例如,包括用户与自动化助理之间的过去的人类与计算机对话)、个人偏好、浏览历史、传感器信号(例如,全球定位系统或“gps”位置)等。

假设当用户搜索名人(或其它公众人物)时,用户常常还倾向于搜索名人的政治立场。基于检测到这种搜索的模式,自动化助理可以将相对大的潜在兴趣的量度指派给在自动化助理与用户之间的当前人类与计算机对话中提及的名人(或其它公众人物)的政治立场。换句话说,自动化助理可以将用户对由用户搜索的特定名人的政治立场的特定兴趣一般化为所有名人的政治立场。

作为另一示例,假设当研究航班(例如,通过使自动化助理参与和/或通过操作web浏览器)时,用户倾向于搜索来自最近的机场的航班以及从稍微更远的不同机场出发的航班,例如,以比较价格。这种搜索模式可以由自动化助理检测。假设用户稍后要求自动化助理提供从最近机场到特定目的地的航班的价格。默认情况下,自动化助理可以通过提供来自最近机场的航班的价格来直接地对用户的查询做出响应。然而,基于检测到的搜索模式,自动化助理可以提供包括从稍微更远的不同机场到目的地的航班的一个或多个价格的未索求内容。

在一些实施方式中,可以基于由用户可能或者可能不是其成员的多个用户生成的聚合数据或所述多个用户的行为来确定与所提及的实体(或有关实体)有关的特定事实的潜在兴趣的量度。例如,假设用户通常倾向于在搜索实体本身之后搜索关于该实体的特定事实。那种聚合模式可以由自动化助理检测并使用来确定对关于当前正在与个人用户的人类与计算机对话中被讨论的实体的事实的潜在兴趣的量度。

在一些实施方式中,可以分析人之间的“在线谈话”(例如,消息交换线程、评论线程等)的一个或多个语料库以检测例如对实体的引用以及对与所引用的实体有关的事实的引用。例如,假设正在评论线程中讨论实体(例如,人),并且参与者在对实体的引用的特定邻近内(例如,在同一线程中、在x天内、在同一论坛中等)提及关于该实体的特定事实(例如,该实体的政治立场)。在一些实施方式中,当在后续的人类与计算机对话中讨论该实体时与该实体有关的事实(其在一些情况下可以对照包含实体和证实的事实的知识图来确认)可以被标记或者以其它方式被指示(例如,在同一知识图中)为潜在兴趣。如果多个不同的在线谈话中的多个参与者倾向于在引用同一实体时提及同一事实,则可以更进一步增加该事实的潜在兴趣的量度。

如以上情况一样,可以使特定事实与特定实体之间的关系一般化,使得可以相应地给关于不同实体的类似事实指派潜在兴趣的量度。例如,假设在线谈话参与者频繁地提及正在讨论的名人的净资产,例如作为对白。名人的净资产在讨论名人时作为对白或旁注被频繁地提及的想法可以用于确定对当前在用户与自动化助理之间的人类与计算机对话中正在被讨论的名人(或其它公众人物)的净资产的潜在兴趣的量度。

如本文所描述的未索求内容不限于关于在用户与自动化助理之间的人类与计算机对话中提及的特定实体的事实。在一些实施方式中,还可以考虑与所提及的实体有关的其它实体。这些其它实体可以包括例如与所提及的实体共享一个或多个属性的实体(例如,音乐家、艺术家、演员、运动员、餐馆、兴趣点等),或共享一个或多个属性的实体(例如,位于附近、时间上接近的事件等)。例如,假设用户向自动化助理问关于特定演员的问题。在回答用户的问题之后,自动化助理可以将关于另一演员(或曾与该演员一起工作的导演等)的未索求事实并入到谈话中。作为另一示例,假设用户使自动化助理120参与预订餐馆处的预定。自动化助理可以前摄地推荐附近的另一餐馆作为替代方案,例如,因为它较不昂贵,具有更好的评论,较不可能拥挤等。作为又一个示例,假设用户喜欢两个音乐家(如可以例如根据与用户的简档相关联的播放列表或者根据聚合用户重放历史/播放列表来确定)。进一步假设用户问两个音乐家中的一个何时将不久在附近巡演。在回答用户的问题之后,自动化助理可以确定另一位音乐家将不久在附近巡演,并且可以将该未索求事实并入到人类与计算机对话中。

将用户的潜在兴趣的未索求内容并入到人类与计算机对话会话中可以具有若干技术优点。通过在不要求来自用户的直接指令的情况下呈现未索求内容,可以实现用于访问这种内容的附加用户请求的减少,从而提高给定对话会话的效率并且减少用于解释多个用户请求所需要的资源上的负担。例如,由于可以使用户免于肯定地索求信息,所以这可以节约否则将用于处理用户的自然语言输入的计算资源。此外,自动化助理可以以这种方式提供否则将难以发现或者访问的功能性,从而改进与用户交互的有效性。自动化助理对用户而言可能显得更“逼真”或“人性化”,这可以激励增加与自动化助理的交互。另外,并入的内容很可能对用户而言是有趣的,因为它是基于由用户或者由自动化助理在人类与计算机对话期间提及的一个或多个实体(例如,被记录在一个或多个数据库(诸如知识图)中的人、地点、事物)来选择的。附加地,用户可以接收到可能否则不会被用户索求的潜在有帮助的或有趣的信息。

在一些实施方式中,提供了一种由一个或多个处理器执行的方法,所述方法包括:基于用户与自动化助理之间的现有人类与计算机对话会话的内容来识别由用户或自动化助理提及的实体;基于包含在一个或多个数据库中的实体数据来识别与该实体或者与和该实体有关的另一实体有关的一个或多个事实;针对一个或多个事实中的每一个,确定用户的对应的潜在兴趣的量度;生成未索求自然语言内容,其中,未索求自然语言内容包括基于对应的一个或多个潜在兴趣的量度而选择的事实中的一个或多个;以及由自动化助理将未索求自然语言内容并入到现有人类与计算机对话会话或后续人类与计算机对话会话中。

本文公开的技术的这些和其它实施方式可以可选地包括以下特征中的一个或多个。

在各种实施方式中,确定对应的潜在兴趣的量度可以基于与关联于用户的用户简档相关联的数据。在各种实施方式中,与用户简档相关联的数据可以包括与用户相关联的搜索历史。在各种实施方式中,确定对应的潜在兴趣的量度可以基于对一个或多个人之间的一个或多个在线谈话的语料库的分析。在各种实施方式中,分析可包括检测对一个或多个实体的一个或多个引用以及在对一个或多个实体的一个或多个引用的特定邻近内的对与一个或多个实体有关的事实的一个或多个引用。在各种实施方式中,一个或多个实体可以包括由用户或自动化助理提及的实体。在各种实施方式中,一个或多个实体可以与由用户或自动化助理提及的实体共享实体类。在各种实施方式中,一个或多个实体可以与由用户或自动化助理提及的实体共享一个或多个属性。

在各种实施方式中,确定对应的潜在兴趣的量度可以包括检测一个或多个事实中的给定事实已先前在用户与自动化助理之间的现有人类与计算机对话中或者在用户与自动化助理之间的先前人类与计算机对话中被引用。在各种实施方式中,针对给定事实确定的潜在兴趣的量度可以反映该检测。

在各种实施方式中,所述方法可以进一步包括:基于检测到给定事实先前已在用户与自动化助理之间的现有人类与计算机对话中或者在用户与自动化助理之间的先前人类与计算机对话中被引用来从考虑中排除一个或多个事实中的给定事实。

在各种实施方式中,实体可以是位置,并且一个或多个事实中的给定事实可以是在位置处或位置附近发生的事件。在各种实施方式中,实体可以是人,并且一个或多个事实中的给定事实可以是涉及该人的即将到来的事件。

在一些实施方式中,提供了一种由一个或多个处理器执行的方法,所述方法包括:基于用户与自动化助理之间的现有人类与计算机对话会话的内容来识别由用户或自动化助理提及的实体;确定自动化助理已履行自动化助理对用户的一个或多个待完成的义务;基于包含在一个或多个数据库中的实体数据来识别关于实体的一个或多个事实,其中,实体与数据库中的一个或多个中的实体类相关联;针对一个或多个事实中的每一个来确定用户的对应的潜在兴趣的量度,其中,针对每个事实的对应的潜在兴趣的量度是基于以下来确定的:实体与事实之间的关系,以及其它用户对共享与该实体相同的实体类的其它实体与关于其它实体的相应事实之间的相同关系的兴趣;生成未索求自然语言内容,其中,未索求自然语言内容包括基于对应的一个或多个潜在兴趣的量度而选择的事实中的一个或多个;以及在确定自动化助理已履行自动化助理对用户的一个或多个待完成的义务之后,由自动化助理将未索求自然语言内容并入到现有人类与计算机对话会话中,其中,并入使未索求自然语言内容作为现有人类与计算机对话会话的一部分被自动地输出给用户。

在一些实施方式中,提供了一种由一个或多个处理器执行的方法,所述方法包括:基于在由用户操作的第一客户端设备上操作的媒体或游戏应用的状态来识别实体,其中,实体在无需使用来自所述用户的显式输入的情况下被识别;确定在与用户相关联的第二客户端设备上操作的自动化助理对用户没有待完成的义务;基于包含在一个或多个数据库中的实体数据来识别关于实体的一个或多个事实;针对一个或多个事实中的每一个来确定用户的对应的潜在兴趣的量度;生成未索求自然语言内容,其中,未索求自然语言内容包括基于对应的一个或多个潜在兴趣的量度而选择的事实中的一个或多个;以及在确定自动化助理对用户没有待完成的义务之后,由自动化助理将未索求自然语言内容并入到新的或现有人类与计算机对话会话中,其中,并入使未索求自然语言内容作为新的或现有人类与计算机对话会话的一部分被自动地输出给用户。

本文公开的技术的这些和其它实施方式可以可选地包括以下特征中的一个或多个。

在各种实施方式中,可以基于对一个或多个人之间的一个或多个在线谈话的语料库的分析来确定对应的潜在兴趣的量度。在各种实施方式中,分析可以包括检测对一个或多个实体的一个或多个引用以及在对一个或多个实体的一个或多个引用的特定邻近内的对关于一个或多个实体的事实的一个或多个引用。在各种实施方式中,一个或多个实体可以包括基于媒体或游戏应用的状态而确定的实体。在各种实施方式中,一个或多个实体可以与基于媒体或游戏应用的状态而确定的实体共享实体类。在各种实施方式中,一个或多个实体可以与基于媒体或游戏应用的状态而确定的实体共享一个或多个属性。

在各种实施方式中,实体可以与视频游戏有关,并且一个或多个事实中的给定事实是与视频游戏有关的事实。

此外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器能够操作以执行存储在相关联的存储器中的指令,并且其中指令被配置成使得执行前述方法中的任一个。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储能够由一个或多个处理器执行以执行前述方法中的任一个的计算机指令。

应该领会的是,在本文中更详细地描述的上述构思和附加构思的所有组合被考虑为是本文公开的主题的一部分。例如,出现在本公开的结尾处的要求保护的主题的所有组合被考虑为是本文公开的主题的一部分。

附图说明

图1是可以在其中实现本文公开的实施方式的示例环境的框图。

图2、图3、图4、图5、图6、图7和图8依照各种实施方式描绘各种用户与自动化助理之间的示例对话。

图9描绘图示根据本文公开的实施方式的示例方法的流程图。

图10图示计算设备的示例架构。

具体实施方式

现在转向图1,图示了可以在其中实现本文公开的技术的示例环境。该示例环境包括多个客户端计算设备1061-n和自动化助理120。尽管自动化助理120在图1中被图示为与客户端计算设备1061-n分开,但是在一些实施方式中自动化助理120的全部或各方面可以由客户端计算设备1061-n中的一个或多个来实现。例如,客户端设备1061可以实现自动化助理120的一个示例或更多方面并且客户端设备106n也可以实现自动化助理120的那些一个或多个方面的单独的实例。在自动化助理120的一个或多个方面由远离客户端计算设备1061-n的一个或多个计算设备来实现的实施方式中,客户端计算设备1061-n和自动化助理120的那些方面可以经由诸如局域网(lan)和/或广域网(wan)(诸如互联网)的一个或多个网络通信。

客户端设备1061-n可以包括例如以下中的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器和/或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代客户端计算设备。在一些实施方式中,给定用户可以利用共同地形成计算设备的协调“生态系统”的多个客户端计算设备来与自动化助理120进行通信。在一些这样的实施方式中,自动化助理120可以被认为“服务于”该给定用户,例如,赋予自动化助理120对访问由“被服务”的用户控制的资源(例如,内容、文档等)的增强访问。然而,为了简洁起见,本说明书中描述的一些示例将集中于用户操作单个客户端计算设备106。

客户端计算设备1061-n中的每一个均可以操作各种不同的应用,诸如多个消息交换客户端1071-n中的对应一个。消息交换客户端1071-n可以以各种形式出现并且形式可以跨客户端计算设备1061-n而变化并且/或者可以在客户端计算设备1061-n中的单个客户端计算设备上操作多种形式。在一些实施方式中,消息交换客户端1071-n中的一个或多个可以按照以下形式出现:短消息收发服务(“sms”)和/或多媒体消息收发服务(“mms”)客户端、在线聊天客户端(例如,即时消息收发器、互联网中继聊天或“irc”等)、与社交网络相关联的消息收发应用、专用于与自动化助理120进行谈话的个人助理消息收发服务等。在一些实施方式中,可以经由由客户端计算设备106的web浏览器(未描绘)或其它应用所渲染的网页或其它资源来实现消息交换客户端1071-n中的一个或多个。

如本文更详细地描述的,自动化助理120经由一个或多个客户端设备1061-n的用户接口输入和输出设备进行与一个或多个用户的人类与计算机对话会话。在一些实施方式中,自动化助理120可以响应于由用户经由客户端设备1061-n中的一个的一个或多个用户接口输入设备提供的用户接口输入而进行与用户的人类与计算机对话会话。在那些实施方式中的一些中,用户接口输入显式地指向自动化助理120。例如,消息交换客户端1071-n中的一个可以是专用于与自动化助理120进行谈话的个人助理消息收发服务,并且经由该个人助理消息收发服务提供的用户接口输入可以被自动地提供给自动化助理120。另外,例如,可以基于指示自动化助理120将被调用的特定用户接口输入来将用户接口输入显式地指向消息交换客户端1071-n中的一个或多个中的自动化助理120。例如,特定用户接口输入可以是一个或多个键入的字符(例如,@automatedassistant(@自动化助理))、用户与硬件按钮和/或虚拟按钮的交互(例如,轻敲、长轻敲)、口头命令(例如,"heyautomatedassistant"(“嘿自动化助理”))和/或其它特定用户接口输入。在一些实施方式中,即便当用户接口输入未显式地指向自动化助理120时,自动化助理120也可以响应于用户接口输入而进行对话会话。例如,自动化助理120可以检查用户接口输入的内容并且响应于在用户接口输入中存在某些词语和/或基于其它线索来进行对话会话。在许多实施方式中,自动化助理120可以进行交互式话音响应(“ivr”),使得用户可发出命令、搜索等,并且自动化助理可以利用自然语言处理和/或一种或多种语法来将话语转换成文本,并且相应地对该文本做出响应。

客户端计算设备1061-n中的每一个和自动化助理120可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并执行应用的一个或多个处理器以及便于通过网络通信的其它组件。由客户端计算设备1061-n中的一个或多个和/或由自动化助理120执行的操作可以分布在多个计算机系统上。自动化助理120可以作为例如在位于一个或多个位置中的通过网络彼此耦合的一个或多个计算机上运行的计算机程序被实现。

自动化助理120可以包括自然语言处理器122和响应内容引擎130。在一些实施方式中,可以省略、组合和/或在与自动化助理120分开的组件中实现自动化助理120的引擎和/或模块中的一个或多个。自动化助理120可以经由相关联的客户端设备1061-n与一个或多个用户进行人类与计算机对话会话,以提供由响应内容引擎130生成和/或维护的响应内容。

在一些实施方式中,响应内容引擎130响应于由客户端设备1061-n中的一个的用户在与自动化助理120的人类与计算机对话会话期间生成的各种输入而生成响应内容。响应内容引擎130(例如,当与用户的客户端设备分开时通过一个或多个网络)提供响应内容以用于作为对话会话的一部分呈现给用户。例如,响应内容引擎130可以响应于经由客户端设备1061-n中的一个提供的自由形式自然语言输入而生成响应内容。如本文所使用的,自由形式输入是由用户制定并且不局限于被呈现以供由用户进行选择的一组选项的输入。

如本文所使用的,“对话会话”可以包括一个或多个消息在用户与自动化助理120(以及在一些情况下,线程中的其它人类参与者)之间的逻辑上自包含的交换。自动化助理120可以基于各种信号来区分与用户的多个对话会话,所述各种信号诸如会话之间的时间的流逝、会话之间的用户场境(例如,位置、在已排程的会议之前/期间/之后等)的变化、对除用户与自动化助理之间的对话以外的用户与客户端设备之间的一个或多个中间交互的检测(例如,用户暂时切换应用、用户离开然后稍后返回到独立话音激活的产品)、会话之间的客户端设备的锁定/休眠、用于与自动化助理120的一个或多个实例对接的客户端设备的变化等。

在一些实施方式中,当自动化助理120提供索求用户反馈的提示时,自动化助理120可以先发性地激活(经由其提供提示的)客户端设备的被配置成处理要响应于提示而被接收的用户接口输入的一个或多个组件。例如,在将经由客户端设备1061的麦克风提供用户接口输入的情况下,自动化助理120可以提供一个或多个命令以使麦克风被先发性地“打开”(从而防止要点击界面元素或者说出“热词”以打开麦克风的需要),使客户端设备1061的本地语音至文本处理器被先发性地激活,使客户端设备1061与远程语音至文本处理器之间的通信会话被先发性地建立并且/或者使图形用户界面被渲染在客户端设备1061上(例如,包括可以被选择来提供反馈的一个或多个可选元素的界面)。与如果组件未被先发性地激活相比,这可以使得能够更快地提供和/或处理用户接口输入。

自动化助理120的自然语言处理器122处理由用户经由客户端设备1061-n生成的自然语言输入并且可以生成经标注的输出以供由自动化助理120的诸如响应内容引擎130的一个或多个其它组件使用。例如,自然语言处理器122可以处理由用户经由客户端设备1061的一个或多个用户接口输入设备生成的自然语言自由形式的输入。所生成的经标注的输出包括对自然语言输入以及可选地自然语言输入的词语中的一个或多个(例如,全部)的一个或多个标注。

在一些实施方式中,自然语言处理器122被配置成识别并标注自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括被配置成用词语的语法角色来标注词语的词性标记器。例如,词性标记器可以用其诸如“名词”、“动词”、“形容词”、“代词”等的词性来标记每个词语。另外,例如,在一些实施方式中自然语言处理器122可以附加地和/或替换地包括被配置成确定自然语言输入中的词语之间的句法关系的依存解析器(未描绘)。例如,依存解析器可以确定哪些词语修饰其它词语、句子的主语和动词等(例如,解析树)——并且可以对这样的依存进行标注。

在一些实施方式中,自然语言处理器122可以附加地和/或替换地包括实体标记器(未描绘),所述实体标记器被配置成标注一个或多个分段中的实体指代,诸如对人(包括例如文学角色、名人、公众人物等)、组织、位置(真实的和虚构的)等的指代。在一些实施方式中,关于实体的数据可以被存储在一个或多个数据库中,诸如在知识图124中。在一些实施方式中,知识图124可以包括表示已知实体(以及在某些情况下,实体属性)的节点以及连接节点并表示实体之间关系的边。例如,“香蕉”节点可以(例如,作为子(child))连接到“水果”节点,“水果”节点进而可以(例如,作为子)连接到“产品”和/或“食物”节点。作为另一示例,被称作“假想咖啡馆”的餐馆可以通过还包括诸如该餐馆的地址、所供食物的类型、营业时间、联系信息等的属性的节点来表示。“假想咖啡馆”节点可以在一些实施方式中通过(例如,表示子与父(child-to-parent)关系的)边连接到一个或多个其它节点,诸如“餐馆”节点、“企业”节点、表示餐馆所位于的城市和/或州的节点等。

自然语言处理器122的实体标记器可以以高粒度水平(例如,以使得能够识别对诸如人的实体类的所有指代)和/或较低粒度水平(例如,以使得能够识别对诸如特定人员的特定实体的所有指代)标注对实体的指代。实体标记器可以依靠自然语言输入的内容来消解(resolve)特定实体并且/或者可以可选地与知识图或其它实体数据库进行通信以消解特定实体。

在一些实施方式中,自然语言处理器122可以附加地和/或替换地包括共指消解器(未描绘),所述共指消解器被配置成基于一个或多个上下文线索来分组或者“聚类”对同一实体的指代。例如,可以利用共指消解器来将自然语言输入“ilikedhypotheticalcafelasttimeweatethere(我喜欢上次我们在那里用餐的假想咖啡馆)”中的词语“there(那里)”消解为“hypotheticalcafe(假想咖啡馆)”。

在一些实施方式中,自然语言处理器122的一个或多个组件可以依靠来自自然语言处理器122的一个或多个其它组件的标注。例如,在一些实施方式中所提到的实体标记器在标注对特定实体的所有提及时可能依靠来自共指消解器和/或依存解析器的标注。另外,例如,在一些实施方式中共指消解器在聚类对同一实体的指代时可能依靠来自依存解析器的标注。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用相关的先前输入和/或在特定自然语言输入之外的其它相关数据来确定一个或多个标注。

如上面所提及的,自动化助理120,例如通过响应内容引擎130,可以在生成要在与客户端设备1061-n中的一个的用户的人类与计算机对话会话期间提供的建议和/或其它未索求内容时利用一个或多个资源。在各种实施方式中,响应内容引擎130可以包括动作模块132、实体模块134和前摄内容模块136。

响应内容引擎130的动作模块132利用从客户端计算设备1061-n接收到的自然语言输入和/或由自然语言处理器122提供的对自然语言输入的标注来确定响应于自然语言输入的至少一个动作。在一些实施方式中,动作模块132可以基于包括在自然语言输入中的一个或多个词语来确定动作。例如,动作模块132可以基于在一个或多个计算机可读介质中被映射到包括在自然语言输入中的一个或多个词语的动作来确定动作。例如,“将<物品>添加到我的购物清单”的动作可以被映射到诸如“我需要来自市场的<物品>...”、“我需要购买<物品>”、“我们缺乏<物品>”等的一个或多个词语。

实体模块134可以被配置成基于用户与自动化助理120之间的现有的人类与计算机对话会话的内容(和/或其标注)来识别由用户或自动化助理120所提及的实体。此内容可以包括由一个或多个用户在该用户与自动化助理120之间的人类与计算机对话会话期间经由用户接口输入设备提供的输入以及由自动化助理120并入到对话会话中的内容。实体模块134可以在识别所引用的实体时和/或在细化候选实体时利用一个或多个资源。例如,实体模块134可以利用自然语言输入本身、由自然语言处理器122提供的标注和/或来自知识图124的信息。在一些情况下,实体模块134可以与形成自然语言处理器122的一部分的前述实体标记器集成在一起,例如,与形成自然语言处理器122的一部分的前述实体标记器相同。

前摄内容模块136可以被配置成将用户的潜在兴趣的未索求内容前摄地并入到人类与计算机对话会话中。在一些实施方式中,前摄内容模块136可以——例如基于从诸如自然语言处理器122、动作模块132和/或实体模块134的其它模块接收到的数据——确定在用户与自动化助理120之间的现有的人类与计算机对话会话中,自动化助理120已对在该人类与计算机对话会话期间从用户接收到的所有自然语言输入做出了响应。假设用户操作客户端设备106以请求对特定信息的搜索,并且该自动化助理120执行搜索(或者使搜索被执行)并返回响应信息作为人类与计算机对话的一部分。此时,除非用户也已请求其它信息,否则自动化助理120已完全地对用户的请求做出了响应。在一些实施方式中,前摄内容模块136可以等待某个预定时间间隔(例如,两秒、五秒等)以便自动化助理120接收附加用户输入。如果在此时间间隔期间未接收到任何输入,则前摄内容模块136可以确定它已对在人类与计算机对话会话期间从用户接收到的所有自然语言输入做出了响应,并且现在自由地并入未索求内容。

基于由实体模块134识别为在人类与计算机对话会话中被提及(或者与其有关)的一个或多个实体,前摄内容模块136可以被配置成基于包含在一个或多个数据库(例如,知识图124)中的实体数据来识别与该实体或者与和该实体有关的另一实体有关的一个或多个事实。前摄内容模块136然后可以针对一个或多个事实中的每一个来确定用户的对应的潜在兴趣的量度。基于与一个或多个事实相对应的一个或多个潜在兴趣的量度,前摄内容模块136可以选择这些事实中的一个或多个以被包括在前摄内容模块136生成的未索求自然语言内容中。前摄内容模块136然后可以将未索求自然语言内容并入到现有人类与计算机对话会话或后续人类与计算机对话会话中。

在一些实施方式中,对与实体有关的事实的潜在兴趣的量度可以例如由前摄内容模块136基于从一个或多个用户简档数据库126中获得的数据来确定。包含在用户简档数据库126中的数据可以涉及与人类与计算机对话中的人类参与者相关联的用户简档。在一些实施方式中,每个用户简档可以与由用户在操作一个或多个客户端设备时使用的用户账户相关联。各种数据可以与用户的简档相关联(并且因此被存储在用户简档数据库126中),所述各种数据诸如搜索历史(包括可从搜索历史中检测到的模式)、消息收发历史(例如,包括用户与自动化助理之间的过去的人类与计算机对话)、个人偏好、浏览历史等。与个人用户简档相关联的其它信息也可以被存储在用户简档数据库126中,或者可以基于存储在用户简档数据库126中的数据来被确定。这种其它用户相关信息可以包括例如用户的兴趣话题(其可以被直接地存储在数据库126中或者根据存储在其中的其它数据来确定)、搜索历史、浏览历史、用户设定偏好、当前/过去的位置、媒体播放历史、旅行历史、过去的人类与计算机对话会话的内容等。

因此,在一些实施方式中,前摄内容模块136可能可以从由用户操作的一个或多个客户端设备106——例如,直接地从客户端设备106、直接地从用户简档126和/或间接地经由作为所谓的“云”操作的一个或多个计算系统——访问各种信号或其它数据。用户的兴趣话题可以包括例如特定爱好(例如,高尔夫、滑雪、游戏、绘画等)、文学、电影、音乐流派、特定实体(例如,艺术家、运动员、运动队、公司)等。可以与用户的简档相关联的其它信息可以包括例如年龄、(例如,如根据一个或多个日历条目所确定的)用户的已排程的事件等。

在各种实施方式中,前摄内容模块136可以被配置成生成指示(例如,包括)用户的潜在兴趣事实的未索求内容,并且将该未索求内容并入到人类与计算机对话中。这种未索求内容可以以可以被并入到现有人类与计算机对话会话中的各种形式出现。例如,在用户正在使用基于文本的消息交换客户端107与自动化助理120交互的一些实施方式中,由前摄内容模块136生成的未索求内容可以采取可以被并入到由消息交换客户端107渲染的人类与计算机对话的转录中的文本、图像、视频或其任意组合的形式。在一些实施方式中,未索求内容可以包括或者采取所谓的“深度链接”的形式,所述“深度链接”可由用户选择以向用户显露不同的应用界面。例如,深度链接可以在被用户选择时使客户端设备106在特定状态下启动(或者激活)特定应用。在用户正在使用语音接口与自动化助理120交互(例如,当自动化助理120在独立交互式扬声器上或者在车载系统上操作时)的其它实施方式中,未索求内容可以采取被可听地提供给用户的自然语言输出的形式。如上面所指出的,在许多情况下,未索求内容可以以诸如“顺便说一下”、“你是否知道”、“顺便说一句”等的语言开头。

在一些实施方式中,可以响应于例如由前摄内容模块136确定自动化助理120已对在人类与计算机对话会话期间从用户接收到的所有自然语言输入做出了响应而执行未索求内容的并入。在一些实施方式中,还可以响应于这样的事件而执行上面关于前摄内容模块136描述的其它操作中的一个或多个。或者,在一些实施方式中,那些操作可以由前摄内容模块136周期性地或连续地执行,使得前摄内容模块136(以及因此自动化助理120)保持“准备好”以将用户的潜在兴趣的未索求内容迅速地并入到人类与计算机对话会话中。

前摄内容模块136还可能可以访问除用户的简档以外的组件(例如,从除用户的简档以外的组件获得事实),诸如新近内容模块138和一个或多个其它混杂域模块140。新近内容模块138可以向前摄内容模块136提供对与当前事件、新闻、当前日程表(例如,表演者巡演日期)、当前价格(例如,针对商品或服务)、热门新闻/搜索(例如,通过所谓的“哈希标签(hashtag)”来指示)等有关的数据的访问。在一些实施方式中,新近内容模块138可以是较大搜索引擎系统的一部分并且可以被配置成返回在时间上相关的搜索结果。例如,一些搜索引擎接口包括“新闻”过滤器,用户可选择所述“新闻”过滤器来将搜索结果限于通过各种新闻源发布的信息。新近内容模块138可能可以访问这样的信息。混杂域模块140可以提供来自各种其它域的数据,并且因此可以与其它搜索引擎过滤器类似地操作。例如,“天气”域模块可以返回与天气有关的事实,“历史”域模块可以返回与历史事实有关的数据,“琐事”模块可以返回与实体有关的随机事实,依此类推。在一些实施方式中,“手动”事实模块可以被配置成接收例如来自付费广告商的手动输入的事实以及对与那些事实有关的实体的指示。

在一些实施方式中,当实体模块134识别在人类与计算机对话期间提及的一个或多个实体时,前摄内容模块136可以从诸如知识图124或一个或多个模块138-140的一个或多个源提取与那些一个或多个实体有关的各种事实。前摄内容模块136然后可以例如通过确定与事实相关联的前述用户兴趣的量度来对所返回的事实进行排名。

对事实的潜在用户兴趣的量度可以由前摄内容模块136基于各种信息以各种方式来确定。如上面所指出的,在一些实施方式中,前摄内容模块136可以基于例如包含在用户简档数据库126中的个人用户信息来确定事实中的潜在用户兴趣的量度。例如,如果每当特定用户搜索关于音乐家的信息时该用户还倾向于搜索音乐家的即将到来的巡演日期,则与即将到来的巡演日期有关的任何事实可以被指派相对高的潜在用户兴趣的量度。在一些实施方式中,可以给与用户的位置(例如,使用gps来确定)附近的巡演日期有关的事实指派比与遥远的巡演日期有关的事实更高的潜在兴趣的量度。

在一些实施方式中,前摄内容模块136可以基于与用户群的搜索和/或行为相关联的聚合数据来生成对事实的潜在用户兴趣的量度。如果用户在研究音乐家时,用户大多数倾向于搜索即将到来的巡演日期,则由于如上类似的原因,当在人类与计算机对话中提及音乐家时,可以给与即将到来的巡演日期有关的事实尤其是在用户附近的那些事实指派相对大的潜在用户兴趣的量度。如果用户通常倾向于与搜索航班预订同时地搜索出租汽车,则当在人类与计算机对话中提及一个或多个航班时,可以给与出租汽车有关的事实(例如,价格、可用性)指派相对大的潜在用户兴趣的量度。如果在线谈话中的参与者在讨论特定产品时频繁地提及该产品的可靠性,则当在人类与计算机对话中提及该产品时,可以给与该产品的可靠性有关的事实指派相对大的潜在用户兴趣的量度。依此类推。

图2图示用户101与自动化助理的实例(图1中的120,在图2中未描绘)之间的人类与计算机对话会话的示例。图2至图5图示根据本文描述的实施方式的计算设备210(被描绘为独立交互式扬声器,但这不意在为限制性的)的用户101与自动化助理120之间的、可以经由麦克风和扬声器而发生的对话会话的示例。可以在计算设备210上和/或在与计算设备210进行网络通信的一个或多个计算设备上实现自动化助理120的一个或多个方面。

在图2中,用户101在用户101与自动化助理120之间的人类与计算机对话会话中提供“莫扎特创作了多少协奏曲?”的自然语言输入280。响应于自然语言输入280,自动化助理120提供“莫扎特的钢琴和管弦乐队协奏曲被从1到27编号”的响应自然语言输出282。自动化助理120(例如,通过前摄内容模块136)可以将用户的潜在兴趣的附加内容前摄地并入到图2的人类与计算机对话中,而不是等待附加用户输入。例如,自动化助理120可以从与实体“莫扎特”有关的各种源(例如,124、138-140)获得/接收一个或多个事实。自动化助理120将以下未索求内容(在图2和其它图中用斜体示出)前摄地并入到人类与计算机对话中:“顺便说一下,你是否知道路易斯维尔管弦乐队下个月将演奏以莫扎特作品为重点的音乐会吗?”。可能已被呈现的其它事实包括但不限于莫扎特的出生日期、出生地、死亡日期等。对于此示例,可能的是,即将到来的表演例如被前摄内容模块136选择,因为用户101倾向于搜索观看由他或她搜索的音乐家进行的音乐作品的表演的机会。

图3描绘在不同会话期间用户101与在计算设备210上操作的自动化助理120之间的另一示例对话。在380处,用户101说出短语“我在路易斯维尔的酒店的名字叫什么?”。在搜索与用户101的用户简档相关联的各种数据源(例如,日历条目、行程单电子邮件等)之后,在382处,自动化助理120可以回复“你正住在布朗酒店”。自动化助理120(例如,通过前摄内容模块136)然后可以确定它已完全地对用户的自然语言输入做出了响应。因此,基于用户101对被称为“蓝天使”的飞行表演中队的兴趣以及蓝天使将在路易斯维尔(其是位置实体)进行表演的确定,自动化助理120可以将以下未索求内容前摄地并入到人类与计算机对话中:“顺便说一下,在你在路易斯维尔期间,蓝天使将进行表演。我应该买票吗?”如果用户101肯定地响应,则自动化助理120可以例如使用户101进行附加对话以取得事件的票。

图4描绘在不同会话期间用户101与在计算设备210上操作的自动化助理120之间的另一示例对话。在此示例中,在480处,用户101提供自然语言输入“<表演艺术家的>第一个专辑的名字叫什么?”在执行任何必要的搜索之后,自动化助理120可以在482处用“<录音室专辑的名字>”响应。(<括号>中的单词仅仅意在一般地指示实体)。自动化助理120还确定关于实体的各种事实并且在指派对事实的潜在用户兴趣的量度并对它们进行排名之后,自动化助理120前摄地并入未索求内容“顺便说一下,<表演艺术家>将在下个月在附近进行演奏。你想要关于票的更多信息吗?”

在一些实施方式中,不一定需要在人类与计算机对话中显式地提及前摄内容模块136关于其确定潜在兴趣事实的实体。在一些实施方式中,可以例如基于在客户端设备上运行的应用的状态来确定这种前摄地并入的内容。假设用户101正在客户端设备上玩游戏。计算设备210上的自动化助理120可以确定另一个客户端设备处于特定的玩游戏状态,并且可以提供诸如技巧、窍门、类似游戏的推荐等的各种用户的潜在兴趣的未索求内容作为人类与计算机对话的一部分。在计算设备210是独立交互式扬声器的一些实施方式中,计算设备210可以甚至输出与正在另一个客户端设备上被玩的游戏相关联的背景音乐(例如,复制或者添加背景音乐)和/或声音效果。

图5描绘用户101与在由用户101携带的客户端设备406上操作的自动化助理120的实例之间的示例人类与计算机对话。在此示例中,用户101不提供自然语言输入。替代地,计算设备210(再次采取独立交互式扬声器的形式)正在播放音乐。在客户端设备406的一个或多个音频传感器(例如,麦克风)处检测此音乐。客户端设备406的诸如被配置成分析可听地检测到的音乐的软件应用的一个或多个组件可以识别检测到的音乐的一个或多个属性,诸如艺术家/歌曲/等。诸如图1中的实体模块134的另一组件可以使用这些属性来搜索一个或多个在线源(例如,知识图124)以识别实体和相关事实。在客户端设备406上操作的自动化助理120然后可以提供(在582处)向用户101通知关于实体的各种信息的未索求内容——例如,在图5中的客户端设备406上出声地或在视觉上提供。例如,在图5的582处,自动化助理120陈述“发现你在收听<艺术家>。你是否知道<艺术家>于<日期>在<你的城镇>有巡演日期?”类似的技术可以由在客户端设备(例如,智能电话、平板、膝上型电脑、独立交互式扬声器)上操作的自动化助理120的实例在它(经由声音和/或视觉检测)检测到正在用户的电视上呈现视听内容(例如,电影、电视节目、体育事件等)时应用。

图2至图5描绘用户101使用音频输入/输出来使自动化助理120一起参与的人类与计算机对话。然而,这不意在为限制性的。如上面所指出的,在各种实施方式中,用户可以使用诸如消息交换客户端107的其它装置来使自动化助理参与。图6描绘在其中形式为智能电话或平板(但并不意在为限制性的)的客户端设备606包括触摸屏640的示例。在触摸屏640上在视觉上渲染的是客户端设备606的用户(图6中的“你”)与(至少部分地)在客户端设备606上执行的自动化助理120的实例之间的人类与计算机对话的转录642。另外提供了输入域644,在输入域644中用户能够提供自然语言内容以及其它类型的输入,诸如图像、声音等。

在图6中,用户用问题“<商店>什么时间开门营业?”发起人类与计算机对话会话。自动化助理120(图6中的“aa”)执行一个或多个搜索以得到与商店的营业时间有关的信息,并且回复“<商店>在上午10:00开门营业”。自动化助理120然后确定关于实体<商店>的一个或多个事实,按用户的潜在兴趣的量度对那些事实进行排名并且将以下内容前摄地并入到人类与计算机对话中:“顺便说一下,<商店>下个月有春季清仓销售。”自动化助理120然后并入形式为与销售有关的“卡片”646的用户界面元素。卡片646可以包括各种内容,诸如到商店的网站的链接、到安装在客户端设备606上的可操作以从商店购买物品的购物应用的所谓的“深度链接”等。在一些实施方式中,自动化助理120也可以并入其它未索求内容作为可选选项,诸如到网页的例如与商店和/或竞争者的网页相关联的网页的一个或多个超链接648。

虽然图6中的卡片646是可通过轻敲或者以其它方式触摸它来选择的视觉元素,但是这不意在为限制性的。与图6中描绘的人类与计算机对话类似的人类与计算机对话能在用户与音频输出设备(例如,先前图中描绘的独立交互式扬声器)之间可听地发生。在一些这样的实施方式中,用户界面元素可以替代地采取可听提示的形式,诸如如果被用户肯定地回答则可以“被选择”的问题或选项。例如,不是呈现卡片646,而是自动化助理120可以可听地输出类似“让我知道你是否想要我列出将销售的物品”。在一些实施方式中,购物应用本身可以包括它自己的被具体地定制来与用户进行人类与计算机对话以使得用户能够了解供销售物品的自动化助理。在一些这样的实施方式中,可以将用户“传递”到购物应用特定的自动化助理上。在其它实施方式中,自动化助理120可以利用与购物应用相关联的各种信息和状态来制订从用户索求使用该购物应用取得物品所需的信息的自然语言输出。自动化助理120然后可以代表用户(例如,响应于由用户提供的说出的自然语言输入)与购物应用交互。

图7再次描绘具有触摸屏640和用户输入域644以及人类与计算机对话会话的转录742的客户端设备606。在此示例中,用户(“你”)通过键入和/或说出(其可以被辨识并转换为文本)自然语言输入“<艺术家>的歌曲”来发起人类与计算机对话。自动化助理120(“aa”)通过提供一系列可选用户界面元素746来响应,用户可选择(例如,轻敲)所述一系列可选用户界面元素746中的任何一个以使艺术家的对应歌曲例如在客户端设备606上或者在另一附近的客户端设备(未描绘,例如,形成与606相同的客户端设备的协调生态系统的一部分的独立交互式扬声器)上播放。使用本文描述的技术,自动化助理120——例如根据知识图124——确定艺术家上周年满四十岁。因此,自动化助理120将以下陈述前摄地并入到人类与计算机对话中:“你是否知道<艺术家>上周年满40岁?”在一些实施方式中,如果用户肯定地回复或者根本不回复,则自动化助理120可以例如在用户对接收附加内容不感兴趣的假定下进行抑制以免提供附加前摄内容。然而,假设用户将提供暗示用户兴趣的自然语言响应,诸如“真的吗?我不知道那个!我觉得老了!”。在这种情况下,自动化助理120可以检测这样的情感(例如,通过对用户的输入执行情感分析)并且提供关于艺术家或者可能关于另一密切相关的艺术家(例如,类似年龄的艺术家)的附加事实。

上述前摄地并入的未索求内容的示例不意在为限制性的。可以使用本文描述的技术来将用户的潜在兴趣的其它未索求内容前摄地并入到人类与计算机对话中。例如,在用户提及即将到来的已排程航班(或火车出发或其它旅行安排)的一些实施方式中,自动化助理120可以将未索求内容前摄地并入到与用户的人类与计算机对话会话中。这种未索求内容可以包括例如对去机场的路线上的交通模式的指示、可选择(通过触摸、语音、手势等)以打开使得用户能够查看或者编辑已排程航班的应用的一个或多个用户界面元素、关于可能较不昂贵的替代航班的信息(或链接到可能较不昂贵的替代航班的可选用户界面元素)等。

当然,用户可能不总是期望未索求内容。例如,用户可以是在交通繁忙时驾驶,可以是处于紧急情形下,可以是以暗示用户不想要接收未索求内容的方式操作计算设备(例如,在视频呼叫中)等。因此,在一些实施方式中,自动化助理120可以被配置成(例如,基于诸如位置信号、谈话的上下文、一个或多个应用的状态、加速度计信号、对用户的自然语言输入的情感分析等的信号)确定用户接收未索求内容的期望的量度,并且可以仅在此量度满足一个或多个阈值的情况下提供未索求内容。

图8再次描绘具有触摸屏640和用户输入域644以及人类与计算机对话会话的转录842的客户端设备606。在此示例中,用户(“你”)通过键入和/或说出(其可以被辨识并转换为文本)自然语言输入“下周一去路易斯维尔的航班”来发起人类与计算机对话。自动化助理120(“aa”)通过提供一系列可选用户界面元素846来响应,用户可以选择(例如,轻敲)所述一系列可选用户界面元素846中的任何一个以例如与自动化助理或者与安装在客户端设备606上的旅行应用进行对话,以取得对应的票。使用本文描述的技术,自动化助理120还——例如通过前摄内容模块136——确定如果用户选择下周二而不是下周一离开则较不昂贵的航班是可用的。因此,自动化助理120将以下陈述前摄地并入到人类与计算机对话中:“顺便说一下,如果你晚一天飞,则你可节省$145”。

图9是图示根据本文公开的实施方式的示例方法900的流程图。为了方便,参考执行操作的系统来描述流程图的操作。此系统可以包括各种计算机系统的各种组件,诸如自动化助理120的一个或多个组件。此外,虽然方法900的操作被以特定顺序示出,但是这不意在为限制性的。可以对一个或多个操作进行重新排序、省略或者添加。

在块902处,系统可以例如通过实体模块134基于用户与自动化助理之间的现有人类与计算机对话会话的内容来识别由用户或自动化助理所提及的实体。如上面顺便提到的,实体可以以各种形式出现,所述各种形式诸如人(例如,名人、公众人物、作家、艺术家等)、地点(城市、州、国家、兴趣点、十字路口、餐馆、企业、酒店等)、事物(例如,航班、火车行程、产品、服务、歌曲、专辑、电影、书籍、诗歌等)等。实体模块134(或更一般地,自动化助理120)可以使用各种数据源来识别实体,所述各种数据源诸如知识图124、来自与自然语言处理器122相关联的实体标记器的标注、新近内容模块138、其它混杂域模块140等。

在块904处,系统可以通过实体模块134基于包含在一个或多个数据库中的实体数据来识别与该实体或者与和该实体有关的另一实体有关的一个或多个事实。例如,实体模块134可以查阅知识图124以得到节点、属性、边(其可以表示与其它实体的关系)等,这使得自动化助理120的实体模块134或另一组件能够识别关于被提及的实体或以某种方式与所提及的实体有关的另一实体的事实。例如,如果用户或自动化助理提及莫扎特,则除了或代替与莫扎特相关的事实之外,自动化助理120还可以识别与相同或类似时代的另一类似的作曲家相关联的事实。

在一些实施方式中,自动化助理120可以依靠与用户简档相关联的数据来识别与实体和/或另一实体相关联的事实。例如,假设用户在与自动化助理120的人类与计算机对话中提及第一音乐家(例如,问关于第一音乐家的问题、请求重放由第一音乐家创作的歌曲)。进一步假设第一音乐家是用户最经常收听的音乐家(例如,通过与用户的用户简档相关联的播放列表或重放历史来确定),紧随其后是用户也经常收听的第二艺术家。在一些实施方式中,在块904处,自动化助理120可以识别与第一音乐家有关的事实和/或与第二音乐家有关的事实。

在块906处,系统可以针对在块904处确定的一个或多个事实中的每一个来确定用户的对应的潜在兴趣的量度(即,对事实进行评分)。潜在兴趣的量度可以以各种形式(例如,百分比、沿着范围的值、数值等)出现并且可以被以各种方式确定。在一些实施方式中,可以基于用户自己的用户简档来确定潜在兴趣的量度。例如,如果用户频繁地搜索来自两个不同机场的航班以比较费用,然后在向自动化助理120的关于航班的查询中提及第一机场,则即使用户未显式地提及第二机场,自动化助理120也可以将相对大的潜在兴趣的量度指派给(例如,提升)与来自第二机场的航班有关的事实。

附加地或替换地,在各种实施方式中,可以使用聚合用户数据和/或行为来对事实进行评分。例如,当讨论实体时,可以积攒在线谈话以确定哪些实体属性常常例如作为对白被提出。作为另一示例,可以分析聚合用户搜索查询日志以确定当用户搜索或者以其它方式消费关于实体的信息时哪些实体属性常常被搜索、点击或者以其它方式交互。作为又一个示例,在一些实施方式中,系统可以分析例如来自新近内容模块138的热点搜索和/或新闻,以确定关于实体的哪些事实现在可以成为热点(并且因此可以被指派比它们否则将具有的更大的潜在兴趣的量度)。作为又一个示例,用户自己的场境信息(例如,由与用户的智能电话集成的位置坐标传感器生成的位置数据)可以用于指派潜在兴趣的量度。例如,如果讨论的实体在附近有即将到来的事件(如根据用户的当前位置所确定的),则与如果与该实体有关的即将到来的事件仅位于遥远位置相比,可以给事实指派较大的潜在兴趣的量度。

在块908处,系统可以生成包括基于对应的一个或多个潜在兴趣的量度而选择的事实中的一个或多个的未索求自然语言内容。在一些实施方式中,系统可以仅选择排名第一的事实以被包括在未索求内容中。在其它实施方式中,系统可以选择排名前n(正整数)的事实。在块910处,系统可以将未索求自然语言内容并入到现有人类与计算机对话会话或后续人类与计算机对话会话中。例如,自动化助理120可以生成,以诸如“顺便说一下”、“你是否知道”、“作为旁注”等的短语开头的自然语言陈述。如上所述,在一些实施方式中,这种未索求内容可以包括和/或伴随有可选图形元素,诸如用户可以选择来进行附加对话、发起各种任务等的深度链接。

虽然在图9中未显式地描绘,但是在各种实施方式中,自动化助理120可以避免将可能已经被用户知道的未索求内容并入到与用户的人类与计算机对话会话中。例如,在一些实施方式中,系统可以检测到在块904处识别的一个或多个事实中的给定事实先前已在用户与自动化助理之间的现有人类与计算机对话中或者在用户与自动化助理之间的先前人类与计算机对话(在一些情况下追溯预定时间间隔,诸如三十天)中被引用。在一些实施方式中,由系统针对给定事实所确定的潜在兴趣的量度可以反映此检测,例如,通过被指派相对低的评分(在一些情况下甚至没有评分)。在其它实施方式中,系统可以基于检测到给定事实先前已在用户与自动化助理之间的现有人类与计算机对话中或者在用户与自动化助理之间的先前人类与计算机对话中被引用来从考虑中排除给定事实。

图10是可以可选地被利用来执行本文描述的技术的一个或多个方面的示例计算设备1010的框图。在一些实施方式中,客户端计算设备、自动化助理120和/或其它组件中的一个或多个可以包括示例计算设备1010的一个或多个组件。

计算设备1010通常包括经由总线子系统1012与许多外围设备进行通信的至少一个处理器1014。这些外围设备可以包括存储子系统1024,包括例如存储器子系统1025和文件存储子系统1026、用户接口输出设备1020、用户接口输入设备1022和网络接口子系统1016。输入和输出设备允许用户与计算设备1010交互。网络接口子系统1016提供到外部网络的接口并且耦合到其它计算设备中的对应的接口设备。

用户接口输入设备1022可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板这样的指点设备、扫描器、并入到显示器中的触摸屏、诸如话音识别系统、麦克风的音频输入设备和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备1010中或者输入到通信网络上的所有可能类型的设备和方式。

用户接口输出设备1020可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(crt)、诸如液晶显示器(lcd)的平板设备、投影设备或用于创建可视图像的某种其它机制。显示子系统还可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括用于将信息从计算设备1010输出到用户或者到另一机器或计算设备的所有可能类型的设备和方式。

存储子系统1024存储提供本文描述的模块中的一些或全部的功能性的程序和数据构造。例如,存储子系统1024可以包括用于执行图9的方法的所选方面以及用于实现图1中描绘的各种组件的逻辑。

这些软件模块通常由处理器1014单独或者与其它处理器相结合地执行。在存储子系统1024中使用的存储器1025可包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)1030以及存储有固定指令的只读存储器(rom)1032。文件存储子系统1026可为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、cd-rom驱动器、光驱或可移动介质盒。实现某些实施方式的功能性的模块可以由文件存储子系统1026存储在存储子系统1024中,或者存储在可由处理器1014访问的其它机器中。

总线子系统1012提供用于让计算设备1010的各种组件和子系统如预期相互通信的机制。尽管总线子系统1012被示意性地示出为单条总线,但是总线子系统的替代实施方式可以使用多条总线。

计算设备1010可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,对图10中描绘的计算设备1010的描述仅作为以图示一些实施方式为目的的特定示例。计算设备1010的许多其它配置可能具有比图10中描绘的计算设备更多或更少的组件。

在本文讨论的某些实施方式可以收集或者使用关于用户的个人信息(例如,从其它电子通信中提取的用户数据、关于用户的社交网络、用户的位置、用户的时间的信息、用户的生物计量信息以及用户的活动和人口统计信息、用户之间的关系等)的情形下,用户被提供有一个或多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息以及信息如何关于用户被收集、存储和使用。也就是说,本文讨论的系统和方法仅在从相关用户接收到要这样做的明确授权后才收集、存储和/或使用用户个人信息。

例如,用户被提供有对程序或特征是否收集关于该特定用户或与程序或特征相关的其它用户的用户信息的控制。向其个人信息要被收集的每个用户呈现一个或多个选项以允许控制与该用户相关的信息收集以提供关于是否收集信息以及关于将收集信息的哪些部分的许可或授权。例如,可通过通信网络给用户提供一个或多个这样的控制选项。此外,某些数据可以在它被存储或者使用之前被以一种或多种方式处理,使得个人可识别的信息被去除。作为一个示例,可以处理用户的身份,使得可确定个人可识别的信息。作为另一示例,可使用户的地理位置一般化为较大的区域,使得不能确定用户的特定位置。

虽然已在本文中描述和图示了若干实施方式,但是可以利用用于执行功能和/或获得结果的各种其它装置和/或结构和/或本文描述的优点中的一个或多个,并且这样的变化和/或修改中的每一个均被视为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和构造意在为示例性的并且实际的参数、尺寸、材料和/或构造将取决于教导被用于的一个或多个具体应用。本领域的技术人员将认识到或者能够使用不超过一个常规实验来确定本文描述的具体实施方式的许多等同物。因此,应当理解的是,上述实施方式仅通过示例来呈现,并且在所附权利要求及其等同物的范围内,可以不像具体地描述和要求保护的那样实践本公开的实施方式。本公开的实施方式涉及本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,如果这样的特征、系统、物品、材料、套件和/或方法不是相互不一致的,则两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任何组合被包括在本公开的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1