向群组聊天参与者的对新内容的前摄提供的制作方法

文档序号:19735697发布日期:2020-01-18 04:26阅读:188来源:国知局
向群组聊天参与者的对新内容的前摄提供的制作方法



背景技术:

人类可以利用在本文中被称为“自动化助理”(也被称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“谈话代理”等)的交互式软件应用来参与人类与计算机的对话。例如,人类(当他们与自动化助理交互时可以被称为“用户”)可以使用口语自然语言输入(即发言)和/或通过提供文本(例如,键入的)自然语言输入来提供命令、查询和/或请求(在本文中被统称为“查询”),所述口语自然语言输入在一些情况下可以被转换成文本并然后被处理。

在许多情况下,多个用户可以通过在消息交换线程(常常被称为“群组聊天”)中交换消息来彼此通信。每一个用户可以通过键入文本或者通过提供口语输入(其可以在并入之前被转换为文本)来将消息并入到消息交换线程中。一些消息交换线程可以由所有或大多数参与者将文本输入提供到例如消息交换客户端中的文本群组聊天而形成。其它消息交换线程可以由多个参与者之间的口头谈话而形成,例如,作为语音会议和/或视频会议的一部分。

可以邀请或者调用有时被称为“聊天机器人”的自动化助理来加入群组聊天。该聊天机器人在一些情况下可以采取针对特定领域(体育、政治、科学、新闻、天气、嗜好、兴趣等)配置的自动化助理的形式,该聊天机器人可以基于消息交换线程本身的内容(即,在用户之间交换的消息)或者基于公开可用的信息将各种内容反应性地和/或前摄地(proactive)并入到线程中。然而,聊天机器人通常至多能够访问消息交换线程的内容(即,在用户之间交换的消息)以及可能或可能不限于其相应的领域的其它公开可用的信息。这限制了其能够前摄并入到群组聊天中的内容的类型,特别是在当可能存在要从中识别话题的有限谈话内容时的群组聊天寿命的早期。

一些“通用”(“gp”)自动化助理可以包括:gp自动化助理“客户端”,所述gp自动化助理“客户端”被本地安装在客户端设备上并由用户直接与其交互;以及基于云的对应方,所述基于云的对应方利用云的几乎无限的资源来与自动化助理客户端合作以对用户的请求做出响应。例如,gp自动化助理客户端可以向基于云的对应方提供用户的语音输入的音频记录(或其文本转换)和指示用户的身份的数据(例如,凭证)。基于云的对应方可以对输入执行各种处理,以将各种结果返回给gp自动化助理客户端,该gp自动化助理客户端然后可以向用户提供对应的输出(或者采取一些其它动作)。为了简洁和简单起见,术语“gp自动化助理”当在本文中被描述为“服务于”特定用户时,可以指代安装在特定用户的客户端设备上的gp自动化助理客户端以及与该gp自动化助理客户端交互以对用户的查询做出响应的任何基于云的对应方。更普遍的术语“自动化助理”可以更普遍地指代接收自然语言输入并且作为响应而提供自然语言输出的任何软件过程,诸如前述领域特定的机器人和/或gp自动化助理中的一个。

在一些情况下,gp自动化助理可以在由自动化助理所服务的特定用户的控制下访问公开可用的数据,诸如因特网上可用的文档和其它信息以及“用户控制资源”。用户控制资源可以与用户的“用户账户”相关联,并且可以从由用户操作的客户端设备本地访问和/或远程(例如,在所谓的“云”中)访问。用户控制资源可以采取各种形式,诸如用户的日历、电子邮件、文本消息、提醒、购物列表、搜索历史、浏览历史、照片、文档,传感器数据(例如,位置坐标)、过去的人类与计算机的对话的内容、个人偏好等。



技术实现要素:

在本文中描述了用于实现自动化助理的技术,所述自动化助理基于诸如与一个或多个参与者相关联的个体参与者简档这样的信号来为多参与者消息交换线程(例如,群组聊天、其中口头消息被转换成文本以用于分析的音频和/或视频呼叫等)的参与者前摄地提供内容。在各种实施方式中,每一个参与者可以与前述个体参与者简档相关联,所述前述个体参与者简档可以与与参与者有关和/或由参与者控制的信息相关联(例如,包括所述信息)。例如,参与者的个体参与者简档可以包括与参与者有关的用户控制资源,诸如参与者的搜索历史、浏览历史、位置历史(例如,根据随着时间的推移而获得的多个位置坐标来确定的位置历史)、个人文档、电子邮件、日历条目、提醒列表、对其它消息交换线程的在先贡献、与自动化助理的在先交换、对前摄提供的内容的在先消除(例如,用户忽视、滑掉或者以其它方式拒绝了前摄提供的内容?)等。

在一些实施方式中,特别是在群组聊天的早期阶段中,自动化助理可以基于与群组聊天中的一个或多个参与者相关联的个体参与者简档来识别参与者的一个或多个共享兴趣。在一些情况下,自动化助理还可以分析群组聊天的内容以识别讨论的一个或多个话题。在各种实施方式中,自动化助理可以单独使用共享兴趣来选择或者与话题相结合地使用共享兴趣来选择要前摄提供给参与者的新内容,例如,通过将新内容并入到群组聊天中。值得注意的是,不需要显式地调用或者邀请自动化助理来加入群组聊天;因此,所述并入具有“前摄”性质。

例如,假设新发起的群组聊天中的多个朋友通过讨论特定棒球比赛而开始。自动化助理可以检测到正在讨论“体育”的宽话题和“棒球”的较窄话题以及参与棒球比赛的球队。附加地,自动化助理可以例如基于与一个参与者相关联的搜索历史和另一参与者的位置历史来检测两个参与者都对特定篮球队感兴趣(或者有潜在兴趣)。即使仍然尚未提及通常是篮球以及特别是普遍喜欢的篮球队,因为在群组聊天中已经提起了“体育”的话题,所以自动化助理也可以将与潜在共享兴趣的篮球队有关的内容前摄并入到群组聊天中。在一些实施方式中,所前摄并入的内容可以包括例如从公开可用的源获得的内容。例如,自动化助理可以选择诸如“<您的共享兴趣球队>今晚晚上7:30在<网络>上有比赛”这样的消息并将该消息前摄并入到群组聊天中。

一些群组聊天可以是持久的,因为参与者可以加入、离开、然后稍后重新加入群组聊天。确实,一些群组聊天可以像持续并可稍后重新访问的论坛或消息板一样操作。因此,不要求自动化助理仅在所有参与者都正在积极地对群组聊天做出贡献和/或参与群组聊天时才前摄地并入内容。在一些实施方式中,即使当前没有其它参与者活跃在群组聊天中,自动化助理也可以将消息并入到群组聊天中就好像自动化助理本身是参与者一样。例如,这可以发生在新信息变得可用(例如,来自一个或多个新闻源)时。可以以与其它人类参与者可以被通知任何其它人类参与者对群组聊天做出贡献的方式类似的方式向其它人类参与者通知通过自动化助理前摄并入的内容。例如,可以例如在参与者的智能电话的主屏幕上呈现与群组聊天相关联的图形图标,其包括许多新的(例如,该特定参与者未读的)消息。

如上面所指出的,新发起的群组聊天可能缺少足够的单独内容来使自动化助理能够以有效的方式前摄地并入内容。一个或多个术语可能由易受多种解释影响的参与者提起。例如,假设多个非美国用户开始了讨论话题“橄榄球(football)”的群组聊天。此话题可以被解释为美式橄榄球(例如,nfl)或传统足球(其在美国被称作“英式足球”)。在没有更多信息的情况下,自动化助理可能会将无关信息前摄并入到群组聊天中。这是如上所述的在相对新建立的群组聊天的情况下自动化助理还可以利用个体参与者简档来确定共享兴趣的原因,所述共享兴趣然后可以用于选择要前摄并入到群组聊天中的内容。例如,在上述场景中,本文中所描述的技术可以例如用于根据参与者的位置坐标来确定参与者位于美国之外,因此,“football”的话题很可能与对传统足球(而不是美式橄榄球)的共享兴趣有关。

然而,随着群组聊天成熟,与基于群组聊天的一个或多个话题而选择的内容相比,基于共享参与者兴趣而选择的内容可能变得不太令人信服和/或不太有用。因此,在各种实施方式中,共享参与者兴趣对选择要前摄提供给群组聊天的新内容具有的影响量可能基于消息交换线程的长度而减小。例如,消息交换线程的时间寿命越长,则相对于共享兴趣,讨论的话题越重地影响对用于前摄并入的内容的选择。附加地或可替代地,由群组聊天的多个参与者交换的消息的数目越大,则相对于共享兴趣,讨论的话题越重地影响对用于前摄并入的内容的选择。随着提起和讨论了更多的话题,自动化助理可以更好地能够前摄提供更可能被人类参与者良好接受的内容。

在一些实施方式中,可以基于参与者对所前摄提供的内容的反应来更新参与者简档。例如,假设归于参与者的特定兴趣被用于选择前摄提供的内容,并且参与者响应于所前摄提供的内容而提供否定反馈。在一些实施方式中,可以更新参与者的简档以削弱或甚至消除参与者与所述兴趣之间的关联。

在一些实施方式中,提供了一种由一个或多个处理器执行的方法,所述方法包括:通过一个或多个自动化助理来分析以下内容中的一种或两种:涉及多个人类参与者的消息交换线程的内容;以及与所述消息交换线程相关联的一个或多个文档,其中,自动化助理未被所述参与者中的任一个参与者显式地调用;通过所述自动化助理中的一个或多个自动化助理基于所述分析来识别与所述消息交换线程有关的一个或多个话题;通过所述自动化助理中的一个或多个自动化助理基于与所述参与者相关联的个体参与者简档来识别所述参与者的一个或多个共享兴趣,其中,所述多个参与者中的每一个参与者与包括与所述参与者有关的信息的个体参与者简档相关联;通过所述自动化助理中的一个或多个自动化助理来选择新内容,所述新内容基于所述一个或多个有关话题和所述参与者的所述共享兴趣中的一个或多个共享兴趣;以及通过所述自动化助理中的一个或多个自动化助理来将所述新内容前摄提供给所述参与者中的一个或多个参与者。

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

在各种实施方式中,所述前摄提供可以包括将新内容前摄并入到消息交换线程中。在各种实施方式中,所述前摄提供可以使参与者的一个或多个客户端设备经由一个或多个输出设备输出新内容。在各种实施方式中,可以在消息交换线程外部在参与者的一个或多个客户端设备处输出新内容。

在各种实施方式中,所述新内容可以包括第一新内容,并且所述方法还可以包括:在所述前摄提供之后,通过所述自动化助理中的一个或多个自动化助理来选择第二新内容,所述第二新内容基于所述一个或多个有关话题或基于被确定为与所述消息交换线程有关的一个或多个后续话题,其中,在不考虑所述参与者的共享兴趣的情况下通过所述自动化助理中的一个或多个自动化助理来选择第二内容;以及通过所述自动化助理中的一个或多个自动化助理向一个或多个参与者前摄提供第二新内容。

在各种实施方式中,可以基于与所述个体参与者简档中的一个或多个个体参与者简档相关联的搜索历史来识别所述参与者的一个或多个共享兴趣。在各种实施方式中,可以基于与所述个体参与者简档中的一个或多个个体参与者简档相关联的位置历史来识别所述参与者的一个或多个共享兴趣。在各种实施方式中,所述个体的一个或多个共享兴趣对选择所述新内容具有的影响量可以基于所述消息交换线程的长度。在各种实施方式中,所述消息交换线程的长度可以包括所述消息交换线程的时间寿命并且/或者可以基于由所述多个参与者交换的消息的计数。

在各种实施方式中,选择基于所述一个或多个有关话题以及所述参与者的一个或多个共享兴趣的所述新内容可以包括:基于所述一个或多个有关话题来识别内容候选者组;以及基于所述参与者的一个或多个共享兴趣来从所述内容候选者组中选择新内容。在各种实施方式中,与所述消息交换线程相关联的所述一个或多个文档可以包括会议议程或日历条目。在各种实施方式中,选择所述新内容可以进一步基于响应于先前前摄提供的内容而从一个或多个参与者接收到的在先反馈。

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

实施方式提供了许多技术效果。通过利用有关话题和参与者的共享兴趣,一个或多个自动化助理可以以高效且前摄的方式提供相关内容。

例如,用户并不总是必需通过对自动化助理的直接查询来手动地请求某些信息,因为自动化助理能够基于在消息交换线程本身外部的附加用户兴趣信息来预期这样的查询,并且能够前摄提供这样的信息。用户与消息交换线程的交互因此更高效,从而减少了为了获得相关内容所需的消息交换线程的输入,并且减少了直到能够确定要提供的信息的相关性为止所花费的时间。进而,这在消息或内容请求的数目方面减少了要与消息交换线程相关联地存储的内容量,从而节省了资源。

附加地,减少了用户与自动化助理之间的所需通信。例如,在不能从消息交换线程推导出要提供的信息的相关性的情况下,共享兴趣信息能够确定信息的相关性。能够例如使用群组聊天分析服务来获得共享兴趣信息,而不是经由由自动化助理通过消息交换线程进行直接提问。因此优化了通信资源。

应该理解,可以想到本文中更详细描述的上述构思和附加构思的所有组合是本文中所公开的主题的一部分。例如,可以想到在本公开的结尾处出现的要求保护的主题的所有组合是本文中所公开的主题的一部分。

附图说明

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

图2、图3和图4描绘了根据各种实施方式的可以采用所公开的技术的涉及多个参与者的示例群组聊天。

图5描绘了示出根据本文中所公开的实施方式的示例方法的流程图。

图6示出了计算设备的示例架构。

具体实施方式

现在转向图1,示出了可以实施本文中所公开的技术的示例环境。该示例环境包括多个客户端计算设备1061-n。每一个客户端设备106可以执行通用(“gp”)自动化助理客户端118的相应的实例。可以在一个或多个计算系统(其被统称为“云”计算系统)上实施一个或多个基于云的gp自动化助理组件119,诸如自然语言处理器122,所述一个或多个计算系统经由一般在1101处指示的一个或多个局域网和/或广域网(例如,因特网)以通信方式联接到客户端设备1061-n。

如背景技术中所指出的,自动化助理客户端118的实例通过其与一个或多个基于云的自动化助理组件119的交互,可以形成从用户的角度来看似乎是gp自动化助理120的逻辑实例的内容,用户可以在人类与计算机的对话中与该内容接洽。在图1中描绘了这样的gp自动化助理120的两个实例。由虚线圈出的第一gp自动化助理120a操作第一客户端设备1061的第一用户140a服务,并且包括gp自动化助理客户端1181以及一个或多个基于云的自动化助理组件119。由双点划线圈出的第二gp自动化助理120b为操作另一个客户端设备106n的第二用户140b服务,并且包括gp自动化助理客户端118n以及一个或多个基于云的自动化助理组件119。因此应该理解的是,与在客户端设备106上执行的gp自动化助理客户端118接洽的每一个用户实际上可以与他或她自己的gp自动化助理120的逻辑实例接洽。为了简洁和简单起见,在本文中像“服务于”特定用户那样使用的术语“自动化助理”将指代在由用户操作的客户端设备106上执行的gp自动化助理客户端118和一个或多个基于云的自动化助理组件119(其可以在多个gp自动化助理客户端118之间被共享)的组合。

客户端设备1061-n可以包括例如以下各项中的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器和/或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代的客户端计算设备。

在一些实施方式中,给定用户可以利用多个客户端计算设备106来与gp自动化助理120进行通信,所述多个客户端计算设备106共同形成计算设备的协调的“生态系统”。在一些这样的实施方式中,gp自动化助理120可以被认为“服务于”给定用户,例如,赋予gp自动化助理120对由“被服务的”用户所控制访问的用户控制内容(例如,资源、文档等)的增强访问。

例如,在图1中,可以在一个或多个计算设备(其再次可以被统称为“云”)上实施用户控制资源引擎130,以控制对由每一个用户控制的资源的访问。在一些实施方式中,用户控制资源引擎130可以经由一般在1102处指示的一个或多个局域网和/或广域网(例如,互联网)与实施gp自动化助理120的一个或多个计算系统操作地联接。附加地或可替代地,可以全部或部分地在相同的实施gp自动化助理120的计算系统上实施用户控制资源引擎130。在一些实施方式中,用户控制资源引擎130可以包括支配对用户控制资源128的访问的一个或多个访问控制列表126。在各种实施方式中,访问控制列表126可以指示有关每一个用户的多种类型的用户控制资源的访问权限。访问控制列表126可以采取各种形式,诸如数据库条目或访问控制条目列表,其包括针对每一个用户的如下指示:其他人(包括其他人的自动化助理)能够访问由该用户控制的什么内容、如何能够访问该内容(例如,读取、写入等)等。

用户控制资源128可以包括与每一个用户相关联的各种数据。此数据可以包括与用户相关联的文档(并且在许多情况下是与用户的一个或多个账户相关联),诸如用户存储在所谓的“云”驱动器上的文档。此数据还可以包括电子邮件和其它电子通讯(例如,文本消息、社交媒体帖子等)。在一些实施方式中,用户控制资源128可以包括与用户的行为有关的行为,诸如搜索:查询历史(例如,搜索日志)、与gp自动化助理120的过去谈话、浏览历史等。用户控制资源128还可以包括与用户相关联的其它资源,诸如日历、提醒列表、购物列表、传感器数据(例如,由例如全球定位系统或“gps”传感器产生的位置坐标数据)等。如本文中所使用的,术语“个体参与者简档”和“参与者简档”可以通常指代与消息交换线程中的特定参与者相关联的用户控制资源128。因此,例如,参与者的个体参与者简档可以包括参与者的一个或多个位置坐标、和参与者的浏览历史相关的数据、和参与者的搜索历史相关的数据、由参与者控制的文档(例如,日历条目、电子邮件等)等。

如背景技术中所指出的,与特定用户相关联的用户控制资源128(或“参与者简档”)可以与该用户的“用户账户”相关联。在一些情况下,用户可以在一个或多个客户端设备上登录到他或她的用户账户中(例如,使用诸如用户名/密码、生物识别等这样的各种凭证),从而赋予服务于该用户的gp自动化助理120(包括本地执行的客户端118和任何线上组件119)对这些资源的访问。在一些情况下,gp自动化助理120可以通过所关联的用户账户来获得对用户控制资源128的访问。例如,当用户在特定客户端设备106上安装gp自动化助理客户端118或者首先与gp自动化助理客户端118接洽时,用户可以授予gp自动化助理120访问由用户控制的用户控制资源128中的部分或全部的许可。换句话说,用户有效地授予gp自动化助理120对用户控制资源128的访问。在一些情况下,这可以包括修改访问控制列表126(或其它类似的安全机制)。

虽然用户控制资源128在图1中被描绘为单个数据库,但是这不暗示所有用户控制资源都被存储在单个位置中。相反,在许多实施方式中,用户控制资源(例如,传感器信号(诸如gps)、本地文档、照片、媒体文件等)可以被部分地存储在客户端设备106上(或者可以以其它方式得到),并且/或者可以被分布在各种基于云的系统上,每一个基于云的系统可以服务于不同的目的(例如,一组一个或多个服务器可以提供电子邮件功能,另一组一个或多个服务器可以提供日历功能等)。

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

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

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

如上面所指出的,在各种实施方式中,每一个客户端计算设备1061-n均可以操作gp自动化助理客户端118。在各种实施例中,每一个gp自动化助理客户端118可以包括对应的语音捕获/文本至语音(“tts”)/语音至文本(stt)模块114。在其它实施方式中,语音捕获/tts/stt模块114的一个或多个方面可以与gp自动化助理客户端118分开地实施。

每一个语音捕获/tts/stt模块114可以被配置成执行一个或多个功能:例如经由麦克风(未描绘)捕获用户的语音;将所捕获的音频转换为文本;和/或将文本转换为语音。例如,在一些实施方式中,因为客户端设备106可能在计算资源(例如,处理器周期、存储器、电池等)方面相对地受约束,所以每一个客户端设备106本地的语音捕获/tts/stt模块114可以被配置成将有限数目的不同的口语短语(特别是调用gp自动化助理120的短语)转换为文本。可以将其它语音输入发送到基于云的自动化助理组件119,其可以包括基于云的tts模块116和/或基于云的stt模块117。

stt模块117可以被配置成利用云的几乎无限的资源来将由语音捕获/tts/stt模块114捕获的音频数据转换成文本(然后可以将该文本提供给自然语言处理器122)。tts模块116可以被配置成利用云的几乎无限的资源来将文本数据(例如,由gp自动化助理120制定的自然语言响应)转换成计算机生成的语音输出。在一些实施方式中,tts模块116可以将计算机生成的语音输出提供给客户端设备106,以例如使用一个或多个扬声器将其直接地输出。在其它实施方式中,可以将由gp自动化助理120生成的文本数据(例如,自然语言响应)提供给语音捕获/tts/stt模块114,该语音捕获/tts/stt模块114然后可以将文本数据转换成本地输出的计算机生成的语音。

gp自动化助理120(特别是基于云的gp自动化助理组件119)可以包括自然语言处理器122、前述tts模块116、前述stt模块117以及未在图1中描绘的其它组件。在一些实施方式中,gp自动化助理120的引擎和/或模块中的一个或多个可以被省略、组合和/或实施在与gp自动化助理120分开的组件中。

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

gp自动化助理120的自然语言处理器122处理由用户经由客户端设备1061-n生成的自然语言输入,并且可以生成带注释的输出,以由gp自动化助理120的一个或多个其它组件使用。例如,自然语言处理器122可以处理由用户经由客户端设备1061的一个或多个用户接口输入设备生成的自然语言自由形式输入。所生成的带注释的输出包括自然语言输入的一个或多个注释以及可选的自然语言输入的术语中的一个或多个(例如,全部)。

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

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

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

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

在一些实施方式中,自然语言处理器122的一个或多个组件可以依靠来自自然语言处理器122的一个或多个其它组件的注释。例如,在一些实施方式中,命名实体标记器在向特定实体注释所有提及时可以依靠来自共指解析器和/或依赖性剖析器的注释。另外,例如,在一些实施方式中,共指解析器在将对相同实体的引用进行聚类时可以依靠来自依赖性剖析器的注释。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用除了特定自然语言输入之外的相关先前输入和/或其它相关数据来确定一个或多个注释。

如上面所指出的,在各种实施例中,技术在本文中被描述为用于:通过一个或多个自动化助理(例如,gp自动化助理120和/或领域特定的聊天机器人等)来分析涉及以下内容中一种或两种:多个人类参与者的消息交换线程的内容以及与该消息交换线程相关联的一个或多个文档;通过一个或多个自动化助理基于分析来识别与消息交换线程有关的一个或多个话题;通过一个或多个自动化助理基于与参与者相关联的个体参与者简档来识别参与者的一个或多个共享兴趣,其中多个参与者中的每一个参与者与包括与参与者有关的信息的个体参与者简档相关联;通过一个或多个自动化助理来选择基于一个或多个有关话题和一个或多个参与者共享兴趣的新内容;以及通过一个或多个自动化助理将新内容前摄地提供给参与者。在各种实施方式中,即使参与者中的任何参与者未显式地调用自动化助理,也可以执行所有这些操作。

在一些实施方式中,gp自动化助理120(特别是基于云的自动化助理组件119)可以包括被配置成执行上述操作中的一个或多个操作的群组聊天分析服务138(例如,硬件和软件的任何组合)。例如,群组聊天分析服务138可以分析与特定群组聊天相关联的各种信号,诸如群组聊天和/或与群组聊天相关联的文档的内容。附加地,群组聊天分析服务138可以向用户控制资源引擎130咨询,以识别群组聊天的多个参与者的共享兴趣。基于这些数据,即使在gp自动化助理120尚未被调用或被邀请作为参与者加入群组聊天的情况下,群组聊天分析服务138(更一般是gp自动化助理120)也可以选择要前摄地提供给群组聊天参与者的新内容。虽然被示出为与gp自动化助理120集成在一起,但在一些实施方式中,群组聊天分析服务138可以与gp自动化助理120完全分开地实施。在一些实施方式中,可以以与多个gp自动化助理120的一对多的关系来部署单个群组聊天分析服务138。

图2描绘了与三个参与者:操作客户端设备206(客户端设备206在此示例中是智能电话或平板,但不意在是限制性的)的用户(图2中的“你”)以及两个其它用户jim和alex的示例群组聊天。客户端设备206包括触摸屏240、参与者之间的消息交换线程(即,群组聊天)的副本242以及可以从操作客户端设备206的用户来接收文本、语音至文本或其它类型的输入(例如,图像)的输入栏244。

在图2的示例中,操作客户端设备206的用户输入(例如,通过打字或说话)以下消息:“即将到来的橄榄球赛季一定很跌宕起伏!”jim回答“我同意!”并且alex回答“我很激动!”同时,gp自动化助理120(例如,通过群组聊天分析服务138)可以确定是否将内容前摄地并入到群组聊天中,并且如果这样做的话,则确定要并入什么内容。例如,在一些实施方式中,gp自动化助理120可以分析群组聊天的内容并且基于该分析来识别参与者所讨论的一个或多个话题。在此示例中,群组聊天是相对新的,所以已经提起了相对少的诸如“体育”和“橄榄球”这样的话题。然而,“体育”是包含诸如具体运动、联赛、球队、选手、比赛等这样的无数子话题的相对高级的话题。一个人可以是一项运动(例如,棒球)的爱好者,而对另一项运动(例如,赛车)的任何内容没有任何兴趣。甚至话题“橄榄球(football)”也是含糊的,因为其可能指代美式橄榄球(例如,国家橄榄球联盟、大学或高中橄榄球、“猪皮”橄榄球等)或者世界上其它多数国家所认为的足球,其在美国通常被称为“英式足球(soccer)”。

在没有附加信息的情况下,gp自动化助理120可能无法就位,以前摄地并入可能将由群组聊天参与者很好地接收的内容。因此,在各种实施方式中,gp自动化助理120可以基于与群组聊天的参与者相关联的个体参与者简档来识别参与者的一个或多个共享兴趣。如上面所指出的,在一些实施方式中,这些个体参与者简档可以由用户控制资源引擎130根据存储在访问控制列表126中的许可来提供。在此示例中,假设相应的参与者简档指示每一个群组聊天参与者(或者在一些情况下是至少大多数群组聊天参与者)位于美国内部。在各种实施方式中,gp自动化助理120可以使用此信息来将“橄榄球(football)”消除歧义为“美式橄榄球”。

此外,gp自动化助理120可以从相应的参与者简档中探知每一个参与者(或者在一些情况下是大多数参与者)对特定美式橄榄球队“球队a”(在图2中被包在括号中,因为其是假想球队)感兴趣。因此,gp自动化助理120可以具有足够的信息来智能地选择要前摄地并入到群组聊天中的内容。在图2的示例中,gp自动化助理120(图2中的“aa”)并入语句:“<球队a>对<球队b>的第一场比赛被定于美国东部时间8月10日晚上7点”。gp自动化助理120还可以并入其它类型的内容,诸如超链接(该超链接在被选择时使web浏览器打开与网络地址相关联的文档)或所谓的“深度链接”(该“深度链接”在被选择时使安装在客户端设备206上的另一个应用例如以预定状态打开)。例如,在图2中,第一图形元素246a包括到用户可以操作以获得比赛票的web页面或预加载应用的超链接或深度链接。第二图形元素246b包括能够由用户选择来将比赛添加到他或她的日历的超链接或深度链接。第三图形246c元素包括能够由用户操作来使比赛被记录(例如,由数字视频记录器(“dvr”)来记录)的超链接或深度链接。

gp自动化助理120不限于将新内容前摄地并入到群组聊天中。在各种实施方式中,gp自动化助理120可以使用其它接口和/或输出模态来向参与者提供新内容。在一些实施方式中,一旦识别出一个或多个共享兴趣和/或谈话话题,就可以使用其它接口和/或输出设备来例如向由参与者操作的一个或多个客户端设备前摄地提供与那些共享兴趣/话题有关的新发展(例如,新闻报道)。例如,在图2中描绘的群组聊天谈话之后的某个时间,服务于这些参与者中的一个或多个参与者的一个或多个gp自动化助理120可以确定与共享兴趣有关的新内容是可用的。可以将此内容作为例如文本消息、通知(例如,在锁定屏幕上的通知)、经由图形“卡”、可听输出、触觉输出等提供给参与者。

不要求每一个参与者以相同的方式接收所前摄提供的新内容,每一个参与者也没必要必需完全接收新内容(例如,参与者可以选择不接收这样的通知)。在一些实施方式中,特定群组聊天参与者是否接收到新内容可能取决于各种因素,诸如参与者过去如何消除这样的通知(例如,点击通知、通过滑掉通知来将其拒绝等)和/或基于来自参与者的反馈。即使在gp自动化助理120将新内容前摄地并入到当前不活跃的群组聊天中(例如,没有参与者当前使群组聊天应用打开)的场景中,参与者可以仍然接收到通知,例如,该通知作为在表示群组聊天或参与者访问群组聊天的应用的图形元素内的或附近的括弧或其它符号中的数字。

在一些实施方式中,被前摄地提供给参与者的新内容也可以被用作用于由参与者使用计算设备参与的其它活动的信号。例如,在一些实施方式中,参与者开始将文本输入到搜索栏中时被选择用于提供给参与者的替代查询建议可以受到使用本文中所描述的技术向参与者提供的新内容的影响(例如,排名)。类似地,所前摄提供的新内容可以用于对呈现给用户的搜索结果和/或针对媒体内容的建议进行排名。例如,可以至少部分地基于使用本文中所描述的技术向参与者提供的新内容来选择由参与者的流音乐服务回放的下一首歌曲。

在一些实施方式中,可以响应于所前摄提供的内容而基于来自参与者的反馈来调整参与者简档。例如,假设群组聊天中的多个参与者被确定为共享特定兴趣。这可以例如根据相应用户的搜索历史和浏览历史来确定。现在,假设由群组聊天参与者中的给定参与者操作的客户端设备106也常常例如由给定参与者的家庭中的具有不同兴趣的其它成员操作。即使给定参与者实际上不具有那些兴趣,这些不同的兴趣也仍可以归于给定参与者。因此,可以检测到那些兴趣,并且如果所述兴趣在群组聊天中被其它参与者共享,则所述兴趣用于选择要前摄提供给所有群组聊天参与者的内容。给定参与者可以例如通过滑掉它或者通过提供更显式的否定反馈(例如,点击“没有帮助”按钮)来拒绝此内容。然后可以使用该否定反馈来修改给定参与者的简档以排除该兴趣。

如上面所指出的,由图2所演示的,新发起的群组聊天可能缺少足够的单独内容来使自动化助理(gp自动化助理120和/或一个或多个领域特定的聊天机器人)能够以有效方式前摄地并入内容。一个或多个术语可能由易受多种解释影响的参与者提起。在没有更多信息的情况下,可能将不相关的信息前摄地并入到群组聊天中。这是如上所述的在相对新建立的群组聊天的情况下还可以利用个体参与者简档来确定共享兴趣的原因,所述共享兴趣然后可以用于选择要前摄提供给群组聊天参与者的内容。

然而,随着群组聊天成熟,与基于群组聊天的一个或多个话题而选择的内容相比,基于共享参与者兴趣而选择的内容可能变得不太令人信服和/或不太有用。因此,在各种实施方式中,共享参与者兴趣对选择要前摄并入到群组聊天中的新内容具有的影响量可能基于消息交换线程的长度而减小。例如,群组聊天的时间寿命越长,或者群组聊天中的消息的数目越大,则相对于共享兴趣,讨论的话题可以越重地影响对用于前摄并入的内容的选择。随着提起和讨论了更多的话题,gp自动化助理120和/或领域特定的聊天机器人可以更好地能够前摄并入更可能被人类参与者良好接收的内容。

图3演示了可以随着群组聊天成熟而被前摄并入到群组聊天中(或者以其它方式推送给群组聊天参与者)的新内容的类型的一个示例。客户端设备206可以是与图2中所描绘的相同的用户客户端设备。假设对于此示例,自发生图2中所描绘的群组谈话以来已经过去了数周或数月,使得nfl赛季已经到达季后赛。进一步假设,<球队a>(即,根据图2中的参与者的共享兴趣识别的球队)已经被淘汰出局。因此,与<球队a>有关的话题此时在季赛中可能不是相关的。

用户在图3中以语句“即将到来的季后赛应该会很有趣...”开始谈话。jim回复“毫无疑问。首发四分卫可用吗?”此时,不清楚参与者正在讨论的是哪一个季后赛,因为例如可能存在多个即将到来的季后赛,例如,一个是国家橄榄球联会(“nfc”)的季后赛,而另一个是美国橄榄球联会(“afc”)的季后赛。因此,短语“首发四分卫”也是含糊的。然而,可以将在群组聊天的此后续点期间提起的话题(诸如“季后赛”、“四分卫”等)添加到先前已经在群组聊天中涵盖的话题(例如,“美式橄榄球”、“球队a”等)的正在进行的列表。

至少部分地基于这些新提起的话题,gp自动化助理120(图3中的“aa”)可以将新内容前摄地并入到群组聊天中。在一些实施方式中,gp自动化助理120可以基于新话题搜索并检索新内容候选者,然后可以以各种信号(诸如较旧的谈话话题和/或共享用户兴趣)对所检索到的新内容候选者进行排名。在此示例中,gp自动化助理120可以基于参与者的一个或多个共享兴趣来在多个即将到来的季后赛之间消除歧义。假设<球队a>是在nfc中。gp自动化助理120可以基于此事实在即将到来的afc季后赛与即将到来的nfc季后赛之间消除歧义。然后,gp自动化助理120可以能够将短语“首发四分卫”消除歧义为两个潜在的四分卫:在nfc季后赛中比赛的球队的四分卫。术语“可用”可能出现在关于一个nfc季后赛球队的新闻报道和/或其它数据源中,例如,因为该球队的四分卫(johnjones)可能最近受伤了,并且他的首发可能存在问题。这可以使gp自动化助理120能够进一步在两个nfc季后赛球队之间消除歧义。因此,gp自动化助理120可以将以下语句前摄地并入到群组聊天中:“johnjones的伤势昨晚得以改善。预计他会首发。”

图4描绘了此时在多个用户之间的音频谈话(例如,“音频群组聊天”或“线上电话会议”)的背景下实施本文中所描述的技术的另一个示例。在此示例中,参与者401经由采取独立交互式扬声器形式的客户端设备406与两个其它参与者sarah和samir一起参与可听会议。可以以各种方式实施多参与者音频交换,诸如使用基于ip的语音、标准电话基础设施或者使用常用来便于线上会议的其它技术。在一些实施方式中,客户端设备406可以正在操作gp自动化助理客户端118的实例,从而允许用户401参与与gp自动化助理120的对话。然而,这不是必需的,并且在一些实施方式中,可以将其它类型的自动化助理(诸如常为特定域定制的先前描述的“聊天机器人”)全部地或部分地实施在客户端设备406上,并且/或者可以将其实施在一个或多个远程计算系统(例如,云)上,使得由该机器人提供的内容在客户端设备406上被可听见地输出。

在各种实施方式中,在参与者提供许可(例如,事先提供许可)的前提下,可以或可以不基于云的一个或多个自动化助理或其它组件可以接收每一个用户的音频输入并且将那些输入转换成文本,使得参与者的谈话的副本可用于使用本文中所描述的技术进行分析。例如,参与者可以使用为这样的音频群组聊天所配置的特定应用来加入图4的音频群组聊天。该应用可以(可听见地或在视觉上)通知参与者他们的谈话将被留有副本并用于分析。在一些实施方式中,参与者可以例如作为群组和/或在个体参与者基础上具有选择退出这样的副本的选项。如果所有参与者都选择退出,则该谈话可以不组成副本。如果仅一个参与者选择退出并且一个或多个其它参与者选择加入(或者不选择退出),则可以不对选择退出的参与者所提供的任何消息留有副本/进行分析,并且任何分析可以均限于由其它参与者所提供的消息。

此外,在一些实施方式中,一个或多个参与者可以自动地选择推出,并且他们不必提供显式指令。例如,如果特定参与者响应于使用本文中所描述的技术前摄提供的新内容而一致地/频繁地提供否定反馈,则该参与者可以自动选择退出副本/分析。在一些实施方式中,参与者可以在领域特定的基础上自动地选择退出。例如,假设群组聊天中的特定参与者对网球没有兴趣,但是多个其它参与者对网球非常感兴趣。在一些实施方式中,可以仅对由对网球感兴趣的参与者所提供的消息留有副本/进行分析;可以不对由不感兴趣的参与者所提供的消息留有副本/进行分析。在一些这样的实施方式中,可以不向不感兴趣的用户提供所前摄提供给群组聊天的其它参与者的新的网球相关的内容(甚至在消息交换线程本身中;不感兴趣的用户的消息交换客户端107也可以简单地不接收用于显示的新内容,并且/或者可以选择不呈现该新内容)。

虽然正在参考图4(音频群组聊天)描述显式地或自动地选择加入/退出的构思,但是这不意在为限制性的。这些构思在其它类型的群组聊天(诸如图2和图3中示出的纯文本群组聊天)中可以同样适用。此外,群组聊天中的每一参与者没有必要使用相同的输入/输出模态。例如,参与者401可以使用音频输入(由麦克风捕获)和音频输出(一个或多个扬声器)来参与群组聊天。然而,其它参与者(诸如图4中的sarah和/或samir)可以使用文本方式(诸如消息交换客户端)来参与群组聊天。这是可能的,因为如上面所指出的,可以对并入到群组聊天中的任何音频消息(假定说话参与者未选择退出)留有副本。

在图4中,参与者401通过问“各位是否想星期五晚上出来闲逛?”来开始。sarah回复“当然。我们应该做些什么?”samir回复“我不知道,各位怎么想?”。此时在语音群组聊天中,除了参与者正在为星期五晚上做计划的未定事实,群组聊天分析服务138没有许多谈话话题可以进行工作。因此,gp自动化助理120可以咨询用户控制资源引擎130以分析每一个参与者的参与者简档以识别例如“电影”和“老挝美食”方面的共享兴趣。基于这些共享兴趣(在一些情况下是基于根据参与者简档确定的参与者的地理接近性),gp自动化助理120可以识别用于并入到音频群组聊天中的新内容。例如,gp自动化助理120可以搜索公开可用的数据源,以得到与本地电影放映时间有关的信息以及附近老挝餐馆的可用预定。因此,gp自动化助理120前摄地提供以下新内容:“<电影>于那晚7:30在<电影院>放映。您可以先在<老挝餐馆>品尝一些老挝食物。我发现在6点时有两人桌子可用。要我进行预定吗?”因为客户端设备406是交互式独立扬声器(其可以或可以不包括任何显示能力),所以可以由客户端设备406可听见地提供此新内容,例如,经由一个或多个扬声器。然而,如果其它参与者中的一个或多个参与者以文本方式(例如,通过消息交换客户端107)参与群组聊天,则所述一个或多个参与者可以以文本形式接收到相同的新内容。

在一些实施方式中,甚至在相对新的群组聊天中,也可以基于作为根据参与者简档确定的共享兴趣的补充或替代的信号来选择新内容。例如,多个个体可以使用部署在例如公司或其它组织内的企业聊天软件来建立群组聊天。此企业聊天软件可以使个体能够将群组聊天与特定文档和/或事件相关联。例如,一个个体(群组聊天协调员)可以为与一个或多个其它个体的会议创建日历条目。通过操作企业聊天软件,群组聊天协调员可以将日历事件配置成与群组聊天(为会议新建立的或现存的群组聊天)相关联。群组聊天协调员还可以向日历条目添加各种信息,诸如谈话的提议话题(例如,议程)、一个或多个附件文档等。这种添加的信息可以例如由gp自动化助理120来分析,并且被用于选择要前摄提供给参与者的新内容。在一些实施方式中,所添加的信息可以包括从与群组聊天相关联的文档中提取的一个或多个话题。因此,即使在参与者提起了较少的话题甚至没有话题时的全新群组聊天中的早期,也可以有足够的现存话题供gp自动化助理120智能地选择要前摄提供给参与者的新内容。

图5是示出根据本文中所公开的实施方式的示例方法500的流程图。为了方便,参考执行操作的系统来描述流程图的操作。此系统可以包括各种计算机系统的各种组件,诸如gp自动化助理120的一个或多个组件(包括群组聊天分析服务138)。此外,虽然方法500的操作以特定次序示出,但这不意在为限制性的。可以重新排序、省略或添加一个或多个操作。

在块502处,系统可以例如通过一个或多个自动化助理120或诸如群组聊天分析服务138这样的其它组件来分析涉及多个人类参与者的消息交换线程的内容(例如,文本、音频和/或视听群组聊天)。在可选的块504处,系统可以例如通过一个或多个自动化助理120或诸如群组聊天分析服务138这样的其它组件来分析与消息交换线程相关联的一个或多个文档。应该理解的是,在一些实施方式中,特别是当没有文档与群组聊天相关联时,可以执行仅与块502相关联的操作。

在块506处,系统可以基于块502和/或块504的分析来识别与消息交换线程有关的一个或多个话题。可以采用各种常规技术来确定消息交换线程和/或相关文档(例如,议程、日历条目等)中的讨论的话题。在一些实施方式中,可以例如使用消息交换线程内容的滑动窗口在正在进行的基础上采用一个或多个话题分类器(未在图1中描绘),以识别讨论的一个或多个当前话题。话题分类器可以采取机器学习模型(受监督的或无监督的)或基于规则的模型的形式。

在基于机器学习的话题分类器的情况下,在一些实施方式中,可以训练话题分类器以提供指示是否正在讨论特定话题的输出(例如,二进制输出或概率)。在其它实施方式中,可以训练话题分类器以提供指示是否正在讨论多个不同的话题的输出。例如,话题分类器可以被配置成提供指示正在讨论多个不同的话题的可能性或置信度的输出。在一些实施方式中,可以仅将具有满足一个或多个阈值的可能性/置信度的那些话题识别为讨论的话题。在其它实施方式中,可以仅将n个最高可能性/置信度的话题识别为讨论的话题。可以采用各种已知技术用于话题分类,所述各种已知技术包括但不限于期望最大化、词频率-逆文档频率(“tf-idf”)、朴素贝叶斯分类器、神经网络(例如,即时训练的神经网络)、支持向量机、各种自然语言处理方法(例如,话题分段)、情感分析等。

在块508处,系统可以例如基于与参与者相关联的个体参与者简档(例如,存储在用户控制资源128中、本地存储在客户端设备106上等的信息)来识别参与者的一个或多个共享兴趣。可以基于各种不同的信号来识别这些共享兴趣,所述各种不同的信号包括但不限于一个或多个位置坐标(例如,当前的、历史的、最近的位置坐标等)、浏览历史、搜索历史、显式设定的偏好、日历条目(例如,被安排参加相同事件的所有或大多数参与者)、提醒列表、购物列表等。

每一个参与者没有必要使用相同的信号来识别在大多数或所有参与者之间共享的兴趣。例如,假设群组聊天中的第一参与者与位于特定城市中的位置坐标相关联。假设第二参与者已经选择退出提供位置坐标,或者假设访问控制列表126指示群组聊天(或群组聊天分析服务138)中的其它参与者缺少访问第二参与者的位置坐标的足够的许可。在这样的场景中,如果第二参与者的浏览历史或搜索历史(假定这些可用于群组聊天分析服务138)指示对与特定城市相关联的特定体育队或其它实体的兴趣,则可以假定第二用户共享对该特定城市的兴趣。

至少在一些实施方式中,每一个参与者也不严格必需共享兴趣以便该兴趣用于选择要前摄提供给群组聊天中的参与者的新内容。例如,假设群组聊天中的大多数参与者表现出对特定城市的兴趣。即使与其余少数其它参与者相关联的参与者简档没有分别包括显式地提出他们共享对所述特定城市的兴趣的数据,只要不存在倾向于与其对所述特定城市的兴趣相矛盾的信息,所述特定城市就可以被视为群组聊天参与者的共享兴趣。在一些实施方式中,可以识别多个共享兴趣,并且可以例如基于共享那些兴趣的参与者的数目来对所识别的共享兴趣进行排名。在一些这样的实施方式中,可以仅考虑n个(正整数)最高排名的共享兴趣。

回来参考图5,在块510处,系统可以选择要前摄提供给群组聊天参与者的新内容。在一些实施方式中,特别是当群组聊天相对新且没有足够充实的话题来用作用于智能选择新内容的唯一源时,可以与在块508处识别的共享兴趣相结合基于已经讨论的任何有关话题(即使略有含糊)来选择新内容。在一些实施方式中,可以从群组聊天本身中或者从与群组聊天相关联的文档(诸如附件(例如,议程)、在群组聊天内被链接到(例如,由参与者链接)的文档、与群组聊天相关联的日历条目等)中选择所使用的话题。如上所述,新内容可以采取各种形式,诸如与一个或多个话题/共享兴趣相对应的最近的新闻项。实际上,即使在群组聊天已经变得不活跃(例如,当前没有参与者在查看群组聊天)之后,系统可以仍然选择新内容,例如,当该新内容变得可用时。例如,假设群组聊天的多个参与者讨论即将到来的比赛。在比赛完成之后,与比赛的结果有关的信息可以在被前摄提供给参与者(在下面讨论的块512中)时被选择。

在块512处,可以将在块510处选择的新内容前摄提供给一个或多个参与者。在一些实施方式中,新内容可以被并入到群组聊天中,例如作为由gp自动化助理120(在一些情况下是由领域特定的机器人)提供的消息。应该理解的是,这不一定要求将新内容推送给每一个客户端设备,特别是在群组聊天采取线上论坛(例如,在网站上)的形式的场景中。在一些实施方式中,新内容可以被推送给每一个客户端设备,例如作为与群组聊天分开的或者在群组聊天的本地副本内的通知。在一些实施方式中,该通知可以被呈现为用户能够选择以获得更多信息和/或采取与新内容有关的进一步动作的视觉“卡”。并且如上面所指出的,例如,如果所有参与者都选择退出或者对新内容所涉及的话题/共享兴趣不感兴趣,则不一定需要给所有参与者都提供新内容。

图6是可以被可选地利用以执行本文中所描述的技术的一个或多个方面的示例计算设备610的框图。在一些实施方式中,客户端计算设备、用户控制资源引擎130和/或其它组件中的一个或多个可以包括示例计算设备610的一个或多个组件。

计算设备610通常包括至少一个处理器614,所述至少一个处理器614经由总线子系统612与许多外围设备进行通信。这些外围设备可以包括存储子系统624(该存储子系统624包括例如存储器子系统625和文件存储子系统626)、用户接口输出设备620、用户接口输入设备622和网络接口子系统616。输入和输出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口并且被联接到其它计算设备中的对应的接口设备。

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

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

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

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

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

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

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

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

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

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