首页> 中国专利> 用于选择软件策略网络并且基于所选择的策略网络自主控制对应软件客户端的强化学习技术

用于选择软件策略网络并且基于所选择的策略网络自主控制对应软件客户端的强化学习技术

摘要

公开了通过利用多代理强化学习框架生成动作序列以执行任务来使得能够使用户接口输入自动化的技术。各种实施方式使用整体强化策略网络处理与接收到的用户接口输入相关联的意图,以选择软件强化学习策略网络。动作序列可以通过使用所选择的软件强化学习策略网络处理意图以及软件客户端状态数据序列来被生成。动作序列用于控制与所选择的软件强化学习策略网络对应的软件客户端。

著录项

  • 公开/公告号CN113227973A

    专利类型发明专利

  • 公开/公告日2021-08-06

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN201980084995.5

  • 申请日2019-03-06

  • 分类号G06F9/48(20060101);G06N3/04(20060101);G06N3/08(20060101);G06N5/02(20060101);

  • 代理机构11219 中原信达知识产权代理有限责任公司;

  • 代理人邓聪惠;周亚荣

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 12:07:15

说明书

背景技术

许多用户在客户端设备(例如,智能电话)上重复某些任务,诸如订购披萨、请求出租车/汽车服务、下载报表、控制智能设备等。对于这些任务中的每个任务,当用户执行任务时,用户都重复对应的动作序列。客户端设备可以另外包括可以与用户交互的自动化助理(也称为“个人助理”、“移动助理”等)。客户端设备可以包括各种客户端设备,诸如,智能电话、平板计算机、可穿戴设备、汽车系统、独立个人助理设备等。自动化助理接收来自用户的输入,该输入包括口语自然语言输入(即,话语),并且可以通过执行动作、通过控制另一个设备和/或提供响应内容(例如,视觉和/或听觉自然语言输出)来做出响应。通过客户端设备交互的自动化助理可以通过客户端设备本身和/或通过与客户端设备进行网络通信的一个或多个远程计算设备(例如,云中的计算设备)来实施。

发明内容

本文中所描述的实施方式涉及整体(holistic)多代理强化学习技术,这些技术用于:(a)选择软件策略网络来执行由接收到的用户输入指定的任务,以及(b)利用所选的软件策略网络,生成动作序列,用于控制对应软件客户端以自动(即,没有进一步的用户输入)完成任务。各种实施方式可以减少完成任务所需的用户输入的数量,因为,例如,可以自动选择适当的软件策略网络和/或可以利用所选的软件策略网络自动生成动作序列并且可以自动执行序列的一个或多个(例如,全部)动作以控制对应软件客户端并且完成任务。因此,减少了各种客户端设备资源的消耗,诸如,提示用户选择适当的软件客户端、渲染来自软件客户端的内容并且等待用户输入以控制软件客户端和/或处理这种用户输入否则所需的资源。另外,可以减少用户输入的数量来完成特定任务,这对灵活性有限的用户和/或其他用户可以是有利的。此外,各种实施方式基于接收到的用户输入自动选择和/或控制软件客户端,从而在执行由用户输入指定的技术任务时自动指导人类/助理交互。

用户可以使用各种软件应用在客户端设备执行各种任务(即,执行动作序列以完成任务)。例如,在音乐应用中应用的动作序列可以用于使音乐应用通过客户端设备播放音乐,应用于餐厅应用的动作序列可以使餐厅应用订购披萨,应用于照明控制应用的动作序列可以使照明控制应用控制一个或多个智能灯,等等。本文中所公开的实施方式提出了一种整体强化学习框架,该框架用于选择适当的软件策略网络来解析由用户输入指定的意图,并且控制用于解析意图的对应软件客户端。在许多实施方式中,整体强化学习框架可以有效地将自动化助理功能扩展到客户端设备的各种软件应用。

一般来说,强化学习的目标是控制试图最大化奖励函数的代理,在客户端设备任务的场境中,该奖励函数表示客户端设备应当尝试完成的内容的用户提供定义。强化学习从初始状态分布中找到最优策略,该最优策略最大化奖励的期望和。奖励是基于依赖于要完成的任务的奖励函数。因此,强化学习寻求学习用于执行给定任务的最优策略。

整体强化学习框架是多代理框架并且包括整体代理(以及对应的整体策略网络模型)以及一个或多个软件客户端代理(每个都有对应的软件策略神经网络),其中,每个软件应用代理都与客户端设备的特定软件应用对应。例如,用户可以向客户端设备提供自然语言口语输入“play rock music(播放摇滚音乐)”,并且整体策略网络可以用于选择与口语输入的意图相对应的软件策略网络。例如,整体代理可以利用整体策略网络选择与假设音乐客户端对应的软件策略网络,其中,假设音乐客户端可以播放音乐。与假设音乐客户端对应的软件策略网络然后可以用来(例如,由对应代理)生成和应用(对假设音乐客户端)动作序列来“play rock music”。

可以使用客户端设备和/或与客户端设备通信的远程设备的附加组件(诸如,自动化助理的自然语言理解(NLU)引擎)来确定与用户接口输入对应的意图。可以使用整体强化学习代理的策略网络模型(即,整体策略神经网络)来处理所确定的意图。在许多实施方式中,策略网络模型可以是神经网络,诸如,前馈神经网络、卷积神经网络、递归神经网络、序列到序列网络、指针网络和/或附加类型的神经网络模型。

相似地,每个软件客户端都可以有对应的软件策略网络模型,该软件策略网络模型可以处理意图、状态数据序列、用户接口输入的一个或多个部分和/或附加信息,以生成动作序列来完成任务。动作序列可以依次应用于软件客户端来完成任务。要注意,状态数据序列(用于生成动作序列)是基于软件客户端的对应状态,所述对应状态会受到动作序列中已经应用的动作的影响。

在各种实施方式中,用户接口输入可以包括与意图对应的部分以及与附加意图对应的附加部分。例如,用户接口输入可以包括“turn off the lights and turn down theair conditioning(关灯并关掉空调)”或“turn off the lights and order a largecheese pizza(关灯并订购大的芝士披萨)”。在一些这样的实施方式中,整体策略网络可以处理与第一部分相关联的意图(例如,与关灯对应的意图),以选择与用于关灯的第一软件客户端相关联的软件策略网络。相似地,整体策略网络可以处理与第二部分相关联的意图(例如,与关空调对应的意图或与订购大的芝士披萨对应的意图),以选择与用于控制空调系统或订购披萨的第二软件客户端相关联的附加软件策略网络。每个所选的软件策略神经网络都可以用于生成对应的动作序列,以完成对应任务。例如,第一软件策略神经网络将用于生成第一动作序列,以控制第一软件客户端,并且第二软件策略神经网络将用于生成第二动作序列,以控制第二软件客户端。

如果无法使用整体策略网络选择软件策略网络,则系统可以提示用户提供与完成任务相关联的软件客户端,并且软件客户端可以用于更新整体策略网络中的一个或多个参数(诸如,一个或多个权重)。另外或可替代地,系统可以提示用户整个动作序列以执行任务,并且可以使用动作序列的部分(例如,用户选择适当的软件客户端的动作)更新整体策略网络的一个或多个参数。此外,动作序列可以用作训练回合(episode)来更新对应软件策略网络的一个或多个参数(诸如,一个或多个权重)。相似地,如果软件策略网络无法生成动作序列(尽管正确的软件策略网络是使用整体策略网络来选择的),则系统可以提示用户动作序列以用作训练回合来更新软件策略网络中的一个或多个参数。

在许多实施方式中,可以基于奖励信号更新整体策略网络中的一个或多个权重和/或所选的软件策略网络中的一个或多个权重。例如,整体策略网络的奖励信号可以指示选择特定软件应用策略网络的成功。整体奖励信号可以是基于所选的特定软件客户端所生成的内容、由用户执行的进一步的动作(例如,客户端设备渲染输出之后的用户动作)和/或附加奖励信号。例如,用户可以提供自然语言输入“turn on the kitchen light(打开厨房灯)”。如果在客户端设备渲染输出后,用户重复请求“turn off the kitchen light(关闭厨房灯)”,则可以确定消极奖励信号,指示灯没有关闭。相似地,如果在客户端设备渲染输出后,用户以与先前的用户接口输入不同的意图提供附加用户接口输入,则可以确定积极奖励信号,指示任务完成。换言之,提供附加任务的用户提供先前的任务成功完成的指示。另外或可替代地,诸如确认消息(或当期望确认消息时,没有该确认信息)的消息可以提供指示任务成功完成(或如果确认消息丢失,如果确认消息指示备选任务完成,等等,则未成功完成)的奖励信号。例如,用户接口输入“please order me three cheese pizzas(请为我订购三个芝士披萨)”后的确认消息“Your order of three pizzas has been placed(你的三个披萨已经下了订单)”可以提供订购披萨的任务完成的积极奖励信号。相反,用户接口输入“please order me three cheese pizzas”后的确认消息“Your order of threebrownies has been placed(你的三个布朗尼已经下了订单)”可以提供订购披萨的任务未成功完成的消极奖励信号。此外,客户端设备可以提示用户在执行一个或多个动作后提供奖励信号(例如,提示用户提供指示任务是否成功完成的口语响应)。

在许多实施方式中,训练的整体策略网络和/或训练的软件策略网络可以从远离客户端设备的服务器传输到客户端设备。在一些这样的实施方式中,训练的整体策略网络和/或训练的软件策略网络可以基于客户端设备的用户的动作序列来针对客户端设备的用户进一步训练和改进。

本文中所公开的各种实施方式阐述了用于使与接收到的用户接口输入对应的技术任务的执行自动化的技术,例如,以控制技术系统。通过使用整体策略网络和软件策略网络使任务自动化,减少执行任务所需的用户接口输入。例如,用户接口输入“decrease thetemperature by three degrees(将温度降低3度)”与调整智能恒温器上的温度的技术任务对应。用户执行这种任务的动作序列可以包括:导航到与智能恒温器对应的软件客户端;打开与智能恒温器对应的软件客户端;选择恒温器;将温度降低1度;将温度降低又一度;将温度降低又一度。通过将用户动作序列替换为单个用户输入实例(即口语输入“decreasethe temperature by three degrees”),使这种任务自动化会减少输入。减少完成任务所需的输入可以节省资源,包括电池功率、处理器周期和/或存储器消耗(即,不需要客户端设备渲染与软件客户端的每种状态对应的输出,这可能减少总屏幕开启时间,客户端设备接收较少的用户接口输入,因此可能不需要处理这么多的用户输入,等等)。

本文中所公开的各种实施方式在利用软件策略网络生成动作序列中的动作的一个或多个迭代中减少与软件策略网络对应的动作空间。例如,并不是软件客户端的每个动作在软件客户端的每种状态下都可用。例如,软件客户端的初始启动屏幕可以具有可用的动作A、B、C和D,而软件客户端的另一个屏幕可以具有可用的动作C、D和E。当前状态下可用的动作可以利用各种技术中的一种或多种来确定。例如,可用的动作可以使用可访问性应用编程接口(API)基于对所渲染的内容(例如,图形按钮、文本输入字段等)的分析和/或由软件客户端提供的API来确定。使用当前状态下可用的动作以各种方式——包括通过掩模(mask)不是当前可用动作的动作、通过只向可以利用可变长度输入和可变长度输出的软件策略网络模型(例如,指针网络)提供可用的动作,等等——可以减少软件策略网络的动作空间。这种动作空间的减少允许策略神经网络模型被更有效的训练和/或更有效地运行,这进一步节省了客户端设备资源,诸如,电池功率、处理器周期、存储器使用和/或附加客户端设备资源。

其他实施方式可以包括存储指令的非暂时性计算机可读存储介质,所述指令可由一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU))执行来执行方法,诸如,上面所描述和/或在本文其他地方所描述的一种或多种方法。其他实施方式可以包括一个或多个计算机的系统,所述一个或多个计算机包括一个或多个处理器,该处理器可操作以执行所存储的指令以执行方法,诸如,上面所描述的和/或在本文其他地方所描述的一种或多种方法。

应当了解,前述概念和在本文中更详细地描述的附加概念的所有组合都被视为本文中所公开的主题的部分。例如,在本公开的末尾出现的所要求保护的主题的所有组合均被视为本文中所公开的主题的部分。

附图说明

图1图示了示例环境的框图,在该示例环境中可以实施本文中所公开的各种实施方式。

图2是流程图,图示了使用整体策略神经网络选择软件策略神经网络并且使用软件策略神经网络生成动作序列的示例过程。

图3是流程图,图示了根据本文中所公开的各种实施方式训练整体强化学习框架的示例过程。

图4图示了示例环境的框图,在该示例环境中可以实施本文中所公开的各种实施方式。

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

具体实施方式

转向图1,图示了示例环境,在该示例环境中可以执行本文中所公开的各种实施方式。图1包括客户端计算设备102、整体代理引擎104、软件代理引擎106、整体训练引擎110和软件训练引擎114。例如,客户端设备104可以是独立语音激活扬声器设备、台式计算设备、膝上型计算设备、智能电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)和/或用户的可穿戴装置,该装置包括计算设备(例如,具有计算设备的手表、具有计算设备的眼镜、虚拟或增强现实计算设备等)。可以提供附加和/或备选客户端设备。

整体代理引擎104、软件代理引擎106、整体训练引擎110和软件训练引擎114是示例组件,在所述示例组件中可以实施本文中所描述的技术和/或本文中所描述的系统、组件和技术可以与所述示例组件接合(interface)。由一个或多个引擎104、106、110和/或114执行的操作可以分布在多个计算系统中。在一些实施方式中,引擎104、106、110和/或114的一个或多个方面可以被结合在单个系统中和/或一个或多个方面可以在客户端设备102上实施。例如,在那些实施方式中的一些实施方式中,整体代理引擎104的方面可以与整体训练引擎110的方面结合。根据许多实施方式的引擎可以分别在一个或多个计算设备中实施,所述一个或多个计算设备例如通过通信网络进行通信。通信网络可以包括广域网,诸如,因特网、一个或多个局域网(LAN)(诸如,Wi-Fi LAN、网状网络等)和/或一个或多个总线子系统。通信网络可以可选地利用一种或多种标准通信技术、协议和/或进程间通信技术。

在许多实施方式中,使用整体训练引擎110,客户端设备102可以训练整体策略模型108。例如,整体训练引擎110可以基于用户动作序列(诸如,用户在客户端设备上选择软件客户端,然后使用软件客户端执行动作)训练整体策略模型108的一个或多个参数。另外或可替代地,整体训练引擎110可以使用奖励信号更新整体策略模型108的一个或多个参数。奖励信号可以使用整体训练引擎110、整体代理引擎104、客户端设备102的一个或多个附加引擎等而被生成。例如,奖励信号可以是基于由与使用整体策略模型选择的软件策略模型相关联的特定软件客户端生成的内容。另外或可替代地,奖励信号可以是基于由用户在客户端设备渲染输出后执行的一个或多个进一步的动作。消极奖励信号可以与用户在客户端设备渲染输出后重复相同的用户接口输入相关联。例如,用户在客户端设备基于用户输入“turn off the light(关灯)”来渲染输出后提供用户输入“turn off the light”,可以指示客户端设备没有开灯。相似地,积极奖励信号可以与用户响应于客户端设备渲染输出而提供不同的用户接口输入相关联。例如,用户可以在客户端设备基于用户接口输入“turn off the light”来渲染输出后提供接口输入“play rock music”,可以指示客户端设备没有开灯。

另外或可替代地,使用软件训练引擎114,客户端设备102可以训练软件策略模型112。例如,软件训练引擎114可以基于用户动作序列(诸如,用户在客户端设备上选择软件客户端,然后使用软件客户端执行动作)训练一个或多个软件策略模型112的一个或多个参数。另外或可替代地,软件训练引擎114可以使用奖励信号更新软件策略模型112的一个或多个参数。在一些实施方式中,用于更新软件策略模型112的奖励信号可以是用于更新整体策略模型108的相同奖励信号,该整体策略模型108用于选择特定软件策略模型112。在一些其他实施方式中,用于更新软件策略模型112的奖励信号是与用于更新整体策略模型108的奖励信号不同的奖励信号。奖励信号可以使用软件训练引擎114、软件代理引擎106、客户端设备102的一个或多个附加引擎等而被生成。

使用整体策略模型108,整体代理引擎104可以处理意图(与接收到的用户接口输入相关联)以选择特定软件策略模型112。意图可以例如由NLU引擎(例如,图4的自然语言处理器)生成。在一些实施方式中,整体代理引擎104可以另外处理与意图相关联并且也与用户输入相关联的一个或多个槽的一个或多个值。例如,对于用户输入“dim the kitchenlight(调暗厨房灯)”,整体代理104可以使用整体策略模型108处理与“dimming(调暗)”相关联的意图和/或对应于“kitchen lights(厨房灯)”的值。因此,在选择特定软件策略模型112时,使用整体策略模型108,整体代理引擎104可以处理与意图相关联的意图和/或值。此外,使用特定软件策略模型112,软件代理引擎106可以使用意图、客户端设备状态数据序列和/或附加输入生成动作序列。在一些实施方式中,在生成动作序列时,使用特定软件策略模型112,软件代理引擎106可以另外处理与意图相关联的槽的值。

图2是流程图,图示了使用软件策略网络生成动作序列的示例过程200,该软件策略网络是使用整体策略网络来选择的。为了方便起见,流程图的操作是参照执行操作的系统来描述的。这种系统可以包括诸如处理器等客户端设备的一个或多个组件。此外,虽然过程200的操作是按特定的顺序示出的,但是这并不意味着限制。一个或多个操作可以重新排序、省略和/或添加。

在框202中,系统接收由客户端设备的用户提供的用户接口输入。例如,系统可以接收由客户端设备的一个或多个麦克风捕获的口语输入、由客户端设备的一个或多个相机捕获的手势输入、通过客户端设备的一个或多个虚拟键盘提供的键入输入和/或其他用户接口输入。

在框204中,系统通过使用整体策略神经网络处理与用户接口输入对应的意图来选择特定软件策略神经网络。如本文中所描述的,意图可以由单独的组件生成,所述单独的组件诸如,处理用户接口输入中所包括或基于用户接口输入(例如,使用话音到文本处理器)生成的文本的自然语言处理器。在许多实施方式中,选择特定软件策略网络可以使对应软件客户端打开。在各种实施方式中,特定软件策略神经网络是从软件策略神经网络的组选择的,每个网络都与客户端设备的不同软件客户端对应。例如,客户端设备可以包括‘假设音乐客户端’、‘假设披萨客户端’和“智能灯客户端”。第一软件策略神经网络可以与‘假设音乐客户端’相关联,第二软件策略神经网络可以与‘假设披萨客户端’相关联并且第三软件策略神经网络可以与‘智能灯客户端’相关联。响应于客户端设备接收到用户接口输入“order alarge cheese pizza(订购大的芝士披萨)”,整体软件策略神经网络可以选择与对应于订购披萨的意图的‘假设披萨客户端’相关联的第二软件策略神经网络。

在许多实施方式中,客户端设备可以包括用于满足特定用户意图的几个软件客户端。例如,客户端设备可以包括‘假设音乐客户端’和‘附加音乐客户端’,每个都有对应的软件策略神经网络。例如,软件客户端中的一个或多个可以是安装在客户端设备上的对应应用。在各种实施方式中,系统在它使用整体策略网络确定可以选择多个软件策略网络时,可以随机地(或伪随机地)选择软件策略网络。例如,系统可以在接收到播放音乐的第一意图后选择与‘假设音乐客户端’对应的软件策略网络,并且可以在接收到播放音乐的第二意图后选择与‘附加音乐客户端’对应的软件策略网络。

此外,在许多实施方式中,用户接口输入可以包括多个意图。例如,用户接口输入“order a large cheese pizza and play party music(订购大的芝士披萨并播放派对音乐)”包括与订购披萨相关联的第一意图和播放音乐的第二意图。整体策略神经网络可以处理第一意图(即,与订购大的芝士披萨相关联的意图)以选择第一软件策略神经网络,并且整体策略神经网络可以处理第二意图(即,与播放派对音乐相关联的意图)以选择第二软件策略神经网络。

如果在框204中,系统无法使用整体策略网络选择特定软件策略网络,则系统可以提示用户在客户端设备上执行动作序列,并且可以使用动作序列作为训练实例来更新整体策略网络和/或与用户所选的软件客户端对应的软件策略网络的一个或多个参数。例如,用户可以提供用户接口输入“increase the temperature by five degrees(将温度升高5度)”。如果系统无法通过使用整体策略网络处理调整恒温器的意图来选择软件策略网络,则系统可以向用户提供响应内容“unable to process your request,please manuallyincrease the temperature so we can learn how to in the future(无法处理你的请求,请手动升高温度,以便我们可以学习在未来如何)”,以提示用户提供与调整温度相关的训练实例。

在框206中,系统通过使用特定软件策略神经网络处理状态数据序列和意图,使用所选的特定软件策略神经网络生成特定动作序列。状态数据序列是基于在基于特定动作序列控制特定软件客户端期间特定软件客户端的状态。例如,开灯的动作序列可以包括:打开软件客户端以打开灯;选择与所需的灯对应的房间;选择所需的灯;打开所需的灯。在每个动作后,软件客户端的状态改变。例如,软件客户端可以从‘主’屏幕开始。在主屏幕上执行动作后,软件客户端的状态可以变成备选屏幕。

在许多实施方式中,软件客户端的当前状态和意图可以使用所选的软件策略网络来处理以生成第一动作。在客户端设备执行第一动作后,软件客户端的状态变成软件客户端的第二状态,并且客户端设备的第二状态和意图使用所选的软件策略网络来处理以生成第二动作。这可以继续,直到生成(并执行)动作序列来完成意图。

在各种实施方式中,软件策略神经网络可以与软件客户端的动作空间相关联。例如,动作空间可以包括软件客户端可以执行的所有可能的动作(和/或可通过客户端设备执行的所有可能的动作),并且动作序列是基于动作空间中的动作生成的。一些动作在软件客户端的任何状态下都可以是可用的。例如,关闭软件客户端的动作在软件客户端的所有状态下可以是可用的。然而,许多动作在客户端设备的每种状态下都将不可用。例如,软件客户端可以用于从假设咖啡馆订购食物并且可以包括为所选订单填充支付信息的动作。这个动作直到已经选择了要订购的食物才可用(即,在客户端设备的每种状态下都不可用)。在各种实施方式中,系统可以确定在一个状态下可用的一个或多个动作,并且可以在生成特定动作序列时处理可用动作。例如,可访问性API可以用于确定当前状态下可用的动作。另外或可替代地,可用的动作可以基于对诸如图形按钮、文本输入字段等的软件客户端的渲染内容的分析来确定。此外,可用的动作可以包括对用于与软件客户端交互的人类触摸的模拟,诸如,选择特定按钮、向上滚动、向下滚动、向左滑动、向右滑动,将文本录入文本字段中等。例如,软件客户端可以包括四个可选按钮,其中,动作1与选择按钮1对应,动作2与选择按钮2对应,动作3与选择按钮3对应并且动作4与选择按钮4对应。

在许多实施方式中,不与可用的动作对应的动作空间的部分可以被掩模掉。例如,动作空间可以包括:动作1、动作2、动作3和动作4。系统可以确定动作1和动作3对当前状态是可用的,并且可以掩模动作2和动作4。例如,可以将动作2和动作4的概率设置为零,从而确保使用软件策略网络生成的动作序列中的所生成的动作将不包括动作2和/或动作4。

在许多实施方式中,软件策略神经网络可以处理可变长度输入以生成可变长度输出。例如,指针网络可以处理可变长度输入并且生成“指向”(例如,使用指针数据结构)输入的可变长度输出。在各种实施方式中,可用的动作(以及状态数据和意图)可以使用指针网络进行处理,以确定用于生成动作的可变长度输出。通过不处理不可用的动作,指针网络可以在使用软件策略神经网络处理期间提高计算效率。此外,在训练期间,由于不处理不可用的动作,可以更有效地训练指针网络,使策略网络能够更快速地向最优策略收敛。作为进一步的示例,在第一状态下,动作空间可以减小到动作1和动作2。在第二状态下,动作空间可以减小到动作2、动作3和动作4;在第三状态下,动作空间可以再次减小到动作1和动作2。换言之,当软件客户端的状态改变时,动作空间可以在单个软件代理内动态地改变。

如果在框206中,系统无法使用所选的软件策略网络生成动作序列,则系统可以提示用户执行请求并且使用由用户生成的动作序列作为对整体策略网络和/或所选的策略网络的附加训练实例。例如,系统可能已经使用整体策略网络选择了不正确的软件策略网络,并且训练实例可以用于更新整体策略网络的一个或多个参数。另外或可替代地,整体策略网络可以选择正确的特定软件策略网络,但是系统无法使用正确的软件策略网络生成动作序列。在这种情况下,训练实例可以用于更新正确的软件策略网络中的一个或多个参数。

在框208中,系统使客户端设备基于由对应于特定软件策略神经网络的特定软件客户端生成的内容来渲染输出。例如,用户可以提供输入“turn off the kitchen light”,并且除了关灯外,系统还可以提供口语响应“ok,turning off the kitchen lights(好的,关闭厨房灯)”。相似地,用户可以提供输入“order my morning coffee(订购我的早晨咖啡)”,并且系统可以提供视觉响应(即,文本)“OK,your coffee has been ordered(好的,你的咖啡已经订购)”。

图3是图示了训练整体强化学习框架的示例过程300的流程图。为了方便起见,流程图的操作是参照执行操作的系统来描述的。这种系统可以包括诸如处理器等客户端设备的一个或多个组件。此外,虽然过程300的操作是按特定的顺序示出的,但是这并不意味着限制。一个或多个操作可以重新排序、省略和/或添加。

在框302中,系统接收由客户端设备的用户提供的用户接口输入的回合。在许多实施方式中,回合是具有对应状态的动作序列,所述对应状态以初始状态开始并且以最终状态结束。例如,回合可以包括客户端设备的没有软件客户端打开的初始状态、选择软件客户端的动作和一旦动作完成时客户端设备的对应状态以及软件客户端内的第二动作和一旦第二动作完成时客户端设备的对应状态,其中,一旦第二动作完成时客户端设备的状态是最终状态(即,动作序列已经达到用户的意图的状态)。

在框304中,系统使用用户接口输入的回合为整体策略模型生成更新的整体策略参数。例如,系统可以确定在回合中选择的软件,并且可以更新与选择对应的软件策略网络相关联的整体策略模型中的一个或多个参数(诸如,权重)。

在框306中,系统使用更新的整体策略参数来更新整体策略模型。

在框308中,系统使用用户接口输入的回合为软件策略模型生成更新的软件策略参数。例如,在动作序列中的每个动作中,系统可以为对应的动作确定中间奖励,并且基于每个单独的动作更新软件策略网络的一个或多个参数。作为进一步的示例,系统可以使用用户接口输入的整个回合生成更新的软件策略参数。

在框310中,系统使用更新的软件策略参数更新软件策略模型。

现在转向图4,图示了示例环境,在该示例环境中可以执行各种实施方式。图4包括客户端计算设备402,该客户端计算设备402执行自动化助理客户端404的实例。一个或多个基于云的自动化助理组件410可以在一个或多个计算系统(统称为云计算系统)上实施,该计算系统通过通常指示为408的一个或多个局域网和/或广域网(例如,因特网)通信耦合到客户端设备402。

自动化助理客户端404的实例,通过其与一个或多个基于云的自动化助理组件410的交互,可以形成从用户的角度来看好像是自动化助理400的逻辑实例的事物,用户可以用该自动化助理400的逻辑实例进行人机对话。应当理解,在一些实施方式中,与在客户端设备402上执行的自动化助理客户端404接洽的用户实际上可以与自动化助理400的他或她自己的逻辑实例接洽。为了简洁和简单,在本文中用作“服务”特定用户的术语“自动化助理”通常将指在用户所操作的客户端设备402上执行的自动化助理客户端404与一个或多个基于云的自动化助理组件410(其可以在多个客户端计算设备的多个自动化助理客户端当中共享)的组合。

例如,客户端设备402可以是:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统和车载娱乐系统、车载导航系统)、独立的交互式扬声器、智能电器(诸如,智能电视)和/或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或者增强现实计算设备)。可以提供附加和/或备选客户端计算设备。在各种实施方式中,客户端计算设备402可以可选地操作除了自动化助理客户端404之外的一个或多个其他应用,诸如,消息交换客户端(例如,SMS、MMS、在线聊天)、浏览器等。在那些各种实施方式中的一些实施方式中,其他应用中的一个或多个应用可以可选地与自动化助理400接合(例如,通过应用程序接口),或包括他们自己的自动化助理应用的实例(其也可以与基于云的自动化组件410接合)。

自动化助理400通过客户端设备402的用户接口输入和输出设备与用户进行人机对话。为了保护用户隐私和/或节省资源,在许多情况下,在自动化助理完全处理语音之前,用户通常必须显式地调用自动化助理400。响应于在客户端设备402接收到的某些用户接口输入,自动化助理400的显式调用可以发生。例如,可以通过客户端设备402调用自动化助理400的用户接口输入可以可选地包括客户端设备402的硬件和/或虚拟按钮的致动。此外,自动化助理客户端可以包括一个或多个本地引擎406,诸如,可操作以检测一个或多个口语调用短语的存在的调用引擎。调用引擎可以响应于对口语调用短语的检测调用自动化助理400。例如,调用引擎可以响应于检测到口语调用短语(诸如,“Hey Assistant(嘿,助理)”、“OK Assistant(好的,助理)”和/或“Assistant(助理)”)调用自动化助理400。调用引擎可以连续处理(例如,如果不是在非活动模式下)基于来自客户端设备402的一个或多个麦克风的输出的音频数据帧的流,以针对口语调用短语的出现进行监视。当针对口语调用短语的出现进行监视时,调用引擎丢弃(例如,在缓冲区中进行临时存储之后)任何不包括口语调用短语的音频数据帧。然而,当调用引擎检测到经过处理的音频数据帧中出现口语调用短语时,调用引擎可以调用自动化助理400。如本文中所使用的,“调用”自动化助理400可以包括使自动化助理400的一个或多个以前非活动的功能激活。例如,调用自动化助理400可以包括使一个或多个本地引擎406和/或基于云的自动化助理组件410进一步处理基于其检测调用短语的音频数据帧和/或一个或多个跟随的音频数据帧(然而,在调用前,没有出现对音频数据帧的进一步处理)。例如,本地和/或基于云的组件可以生成音频数据的改进版本和/或响应于对自动化助理400的调用执行其他处理。在一些实施方式中,可以对口语调用短语进行处理,以生成说话者嵌入,该说话者嵌入用于生成跟随口语调用短语的音频数据的改进版本。在一些实施方式中,可以对口语调用短语进行处理,以识别与口语调用短语的说话者相关联的账户和与用于生成跟随口语调用短语的音频数据的改进版本的账户相关联的所存储的说话者嵌入。

自动化助理400的一个或多个本地引擎406是可选的,并且例如,可以包括上述调用引擎、本地话音到文本(“STT”)引擎(该引擎将捕捉到的音频转换成文本)、本地文本到话音(“TTS”)引擎(该引擎将文本转换成话音)、本地自然语言处理器(该处理器确定音频和/或从音频转换的文本的语义意义)、整体代理引擎(如上所述)、软件代理引擎(如上所述)和/或其他本地组件。因为客户端设备402在计算资源方面相对受限(例如,处理器周期、存储器、电池等),所以本地引擎406相对于包括在基于云的自动化助理组件410中的任何对等体,可能具有有限的功能。

相对于本地引擎406的任何对等物,基于云的自动化助理组件410利用云的几乎无限的资源来执行更鲁棒和/或更准确的音频数据和/或其他用户接口输入的处理。再次,在各种实施方式中,响应于调用引擎检测到口语调用短语或检测到自动化助理400的一些其他显式调用,客户端设备402可以向基于云的自动化助理组件410提供音频数据和/或其他数据。

所示的基于云的自动化助理组件410包括基于云的TTS模块412、基于云的STT模块414和自然语言处理器416。在某些实施方式中,自动化助理400的引擎和/或模块中的一个或多个可能被省略、组合和/或在分离于自动化助理400的组件中实施。进一步地,在一些实施方式中,自动化助理400可以包括附加和/或备选引擎和/或模块。

基于云的STT模块414可以将音频数据转换成文本,该文本然后可以被提供给自然语言处理器416。基于云的TTS模块412可以将文本数据(例如,由自动化助理400制定的自然语言响应)转换成计算机生成的话音输出。在一些实施方式中,TTS模块412可以向客户端设备402提供计算机生成的话音输出,以被直接输出,例如,使用一个或多个扬声器。在其他实施方式中,可以向一个或多个本地引擎406提供由基于云的自动化助理组件410所生成的文本数据(例如,自然语言响应),该本地引擎406然后可以将文本数据转换成在本地输出的计算机生成的话音。

自动化助理400的自然语言处理器416对自由形式的自然语言输入进行处理,并且基于自然语言输入生成带注释的输出,以供自动化助理400的一个或多个其他组件使用。例如,自然语言处理器426可以对作为文本输入的自然语言自由形式输入进行处理,该文本输入是由STT模块414对用户通过客户端设备402提供的音频数据进行的转换。生成的带注释的输出可以包括自然语言输入的一个或多个注释以及自然语言输入的词项中的可选的一个或多个(例如,全部)。

在一些实施方式中,自然语言处理器416配置为识别和注释自然语言输入中各种类型的语法信息。在一些实施方式中,自然语言处理器416可以另外和/或可替代地包括实体标注器(未描述),配置为注释一个或多个分段中的实体指涉,诸如,对人(包括例如文学角色、名人、公众人物等)、组织、位置(真实与虚构)等的指涉。在一些实施方式中,自然语言处理器416可以另外和/或可替代地包括共指解析器(未描述),配置为基于一个或多个上下文提示将对相同实体的指涉分组或聚类。例如,共指解析器可以用于将词项“there(那里)”解析为自然语言输入“I liked Hypothetical Café last time we ate there(上次我们在那里吃饭时我喜欢假设咖啡)”中的“Hypothetical Café(假设咖啡)”。在一些实施方式中,自然语言处理器416的一个或多个组件可能依赖于来自自然语言处理器416的一个或多个其他组件的注释。在一些实施方式中,在对特定自然语言输入进行处理时,自然语言处理器416的一个或多个组件可以使用特定自然语言输入之外的相关先前输入和/或其他相关数据来确定一个或多个注释。

在一些实施方式中,基于云的自动化助理组件410可以包括对话状态跟踪器(未描述),该对话状态跟踪器可以配置为保持跟踪“对话状态”,例如,该“对话状态”包括一个或多个用户在人机对话会话的过程中和/或跨越多个对话会话的目标(或“意图”)的信念状态。在确定对话状态时,一些对话状态跟踪器可以试图基于对话会话中的用户和系统话语确定在对话中实例化的槽的最可能的值。一些技术利用固定本体,该固定本体定义槽集合和与那些槽相关联的值集合。另外或可替代地,一些技术可能是针对单独的槽和/或域定制的。例如,一些技术可能需要为每个域中的每种槽类型训练模型。

基于云的自动化助理组件410可以包括对话管理器(未描述),该对话管理器可以配置为将当前对话状态(例如,由对话状态跟踪器提供)映射到然后由自动化助理400执行的多个候选响应动作中的一个或多个“响应动作”。响应动作可能有多种形式,这取决于当前对话状态。例如,与出现在最后一个轮次(例如,当最终的用户预期任务被执行时)之前的对话会话的轮次对应的初始和中流对话状态可以映射到各种响应动作,这些响应动作包括自动化助理100输出附加的自然语言对话。例如,这种响应对话可以包括用户为对话状态跟踪器认为用户打算执行的一些动作提供参数(即,填充槽)的请求。在一些实施方式中,响应动作可以包括动作,诸如,“请求”(例如,寻找用于槽填充的参数)、“提供”(例如,为用户建议动作或动作的过程)、“选择”、“通知”(例如,向用户提供所请求的信息)、“不匹配”(例如,向用户通告用户的最后输入没有被理解)、对外围设备的命令(例如,关灯泡),等等。

在各种实施方式中,自动化助理400可以利用本文中所公开的整体多代理强化学习技术对各种用户输入起作用。例如,接收到的输入可以由STT模块414处理,并且结果文本由自然语言处理器416分析,以确定由用户输入指定的一个或多个意图,并且可选地确定意图的槽的一个或多个值。进一步地,自动化助理400可以包括整体代理引擎和软件代理引擎或与其接合。利用整体策略模型,整体代理引擎可以对意图进行处理并且可选地对值进行处理,以选择一个或多个软件策略网络来满足意图。进一步地,软件代理引擎可以利用软件策略网络来生成动作,以在控制期间基于意图(以及可选地,值)和软件客户端的状态数据来控制对应的软件客户端。助理400可以渲染(例如,在视觉上和/或在听觉上)输出,该输出是基于由软件客户端响应于在满足意图时被控制而被生成的内容。

图5是示例计算设备510的框图,该示例计算设备510可以可选地用于执行本文中所描述的技术的一个或多个方面。在一些实施方式中,客户端计算设备和/或其他组件中的一个或多个可以包括示例计算设备510的一个或多个组件。

计算设备510通常包括至少一个处理器514,该处理器514通过总线子系统512与多个外围设备进行通信。这些外围设备可以包括存储子系统524(例如,包括存储器子系统525和文件存储子系统526)、用户接口输出设备520、用户接口输入设备522和网络接口子系统516。输入设备和输出设备允许用户与计算设备510交互。网络接口子系统516向外部网络提供接口,并且耦合到其他计算设备中的相应接口设备。

用户接口输入设备522可以包括键盘、指向设备(诸如,鼠标、轨迹球、触摸板或图形输入板)、扫描仪、并入显示器中的触摸屏、音频输入设备(诸如,语音辨识系统、麦克风和/或其他类型的输入设备)。一般而言,术语“输入设备”的使用旨在包括将信息输入到计算设备510中或输入到通信网络上的所有可能类型的设备和方式。

用户接口输出设备520可以包括显示子系统、打印机、传真机或非可视显示器,诸如,音频输出设备。显示子系统可以包括阴极射线管(“CRT”)、平板设备(诸如,液晶显示器(“LCD”))、投影设备或用于创建可见的图像的一些其他机构。显示子系统还可以提供非可视显示器,诸如,通过音频输出设备。一般而言,术语“输出设备”的使用旨在包括将来自计算设备510的信息输出到用户或另一个机器或计算设备的所有可能类型的设备和方式。

存储子系统524存储编程和数据结构,该结构提供本文中所描述的模块中的一些或全部的功能。例如,存储子系统524可以包括逻辑,该逻辑用于执行图2和/或图3的一个或多个过程的所选方面并且实施图1和/或图4中所描绘的各个组件。

这些软件模块通常由处理器514单独或与其他处理器组合执行。在存储子系统524中所使用的存储器525可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(“RAM”)530以及存储有固定指令的只读存储器(“ROM”)532。文件存储子系统526可以为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质墨盒。实施某些实施方式的功能的模块可以由文件存储子系统526存储在存储子系统524中或在可由处理器514访问的其他机器中。

总线子系统512提供用于使计算设备510的各个组件和子系统都按照预期的方式彼此通信的机构。虽然总线子系统512被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。

计算设备510可以有各种类型,包括工作站、服务器、计算集群、刀片式服务器、服务器群或任何其他数据处理系统或计算设备。由于计算机和网络的性质多变,所以为了说明一些实施方式,对图5中所描绘的计算设备510的描述仅仅作为具体示例。计算设备510的许多其他配置都可能具有比图5中所描绘的计算设备更多或更少的组件。

在本文中所描述的系统收集有关用户(或在本文中称为“参与者”)的个人信息或可能使用个人信息的情况下,可以为用户提供如下机会:控制程序或特征是否收集用户信息(例如,有关用户的社交网络、社会行动或活动、职业、用户的偏好或用户的当前地理位置的信息)或控制是否和/或如何接收来自可能与用户更加相关的内容服务器的内容。同样,某些数据在存储或使用之前可以按照一种或多种方式来处理,从而去除个人可识别信息。例如,可以对用户的身份进行处理,使得无法为用户确定个人可识别信息或在获得地理位置信息的情况下可以使用户的地理位置一般化(诸如,至城市、ZIP代码或州级),使得用户的特定地理位置无法确定。因此,用户可以控制如何收集关于用户的信息和/或使用过的信息。

在一些实施方式中,提供一种由一个或多个处理器实施的方法,该方法包括通过客户端设备的一个或多个用户接口输入设备接收由客户端设备的用户提供的用户接口输入。该方法还包括从多个候选软件策略神经网络选择特定软件策略神经网络,其中,选择特定策略神经网络包括基于通过使用整体策略神经网络处理用户接口输入的一个或多个特征而生成的输出来选择特定策略神经网络,其中,整体策略神经网络表示整体强化学习策略,其中,用户接口输入的一个或多个特征包括基于分析用户接口输入而识别的意图,以及其中,特定软件策略神经网络表示特定软件客户端的强化学习策略。该方法进一步包括响应于选择特定软件策略神经网络:使用特定软件策略神经网络来生成特定动作序列并且基于特定动作序列控制特定软件客户端。在一些实施方式中,生成特定动作序列包括:使用特定软件策略神经网络处理特定软件客户端的状态数据序列和意图,其中,状态数据序列是基于在基于特定动作序列控制特定客户端期间的特定软件客户端的状态。该方法进一步包括使客户端设备渲染输出,该输出是基于响应于基于特定动作序列控制特定软件客户端来由特定软件客户端生成的内容。

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

在一些实施方式中,特定软件策略神经网络用于在动作空间中生成输出,其中,生成特定动作序列包括:识别针对状态数据序列的给定状态数据的可用动作。方法进一步包括基于处理给定状态数据和基于针对给定状态数据的识别到的可用动作来生成在特定动作序列中的给定动作。在那些实施方式的一些版本中,生成特定动作序列进一步包括使用可访问性应用编程接口来识别可用动作。在那些实施方式的一些版本中,方法进一步包括识别动作空间不与针对给定状态数据的可用动作对应的部分。在那些实施方式的一些版本中,基于处理给定状态数据和基于识别到的可用动作来生成给定动作包括:在动作空间中,掩模动作空间不与针对给定状态数据的可用动作对应的任何部分,以及从动作空间未通过掩模而被掩模的部分选择给定动作。在那些实施方式的一些版本中,基于处理给定数据和基于处理可用动作的识别到的可用动作来生成给定动作进一步包括:使用特定软件策略神经网络,处理可用动作以及给定状态数据和意图,以将动作空间限制为可用动作。在那些实施方式的一些版本中,特定软件策略神经网络包括指针网络,该指针网络配置为确定用于生成给定动作的可变长度输出。

在一些实施方式中,由客户端设备的用户提供的用户接口输入包括用户说出的自然语言输入并且指向自动化助理应用。

在一些实施方式中,方法进一步包括分析用户接口输入以识别意图和附加意图,其中,用于选择特定软件策略神经网络的用户接口输入的一个或多个特征包括意图,但不包括附加意图。方法进一步包括通过使用整体策略神经网络处理附加意图,从多个候选软件策略神经网络中选择附加软件策略神经网络,其中,附加软件策略神经网络表示附加软件客户端的强化学习策略。方法进一步包括使用附加软件策略神经网络生成附加特定动作序列,以及基于附加特定动作序列控制附加软件客户端。生成附加特定动作序列包括:使用附加软件策略神经网络处理附加软件客户端的附加状态数据序列和附加意图,其中,附加状态数据序列是基于在基于附加特定动作序列控制附加软件客户端期间的附加软件客户端的附加状态,并且使客户端设备渲染附加内容,所述附加内容是基于响应于基于附加动作序列来控制附加软件客户端而由附加软件客户端生成的附加内容。在那些实施方式的一些版本中,附加软件策略神经网络用于在进一步的动作空间中生成输出,其中,生成附加动作序列包括:识别针对附加状态数据序列的给定状态数据的可用动作。在那些实施方式的一些版本中,方法进一步包括基于处理附加状态数据序列的给定状态数据和基于针对附加状态数据序列的给定状态数据的识别到的可用动作来生成在附加动作序列中的给定动作。在那些实施方式的一些版本中,生成附加动作序列包括:识别进一步的动作空间不与针对附加状态数据序列的给定状态数据的可用动作对应的部分。在那些实施方式的一些版本中,基于处理附加状态数据序列的给定状态数据和基于针对附加状态数据序列的给定状态数据的识别到的可用动作来生成在附加动作序列中的给定动作包括:在进一步的动作空间中掩模进一步的动作空间不与附加状态数据序列的给定状态数据的可用动作对应的任何部分。在那些实施方式的一些版本中,方法进一步包括从进一步的动作空间未通过掩模而被掩模的部分中选择附加动作序列中的给定动作。在那些实施方式的一些版本中,基于处理附加状态数据序列的给定状态数据和基于附加状态数据序列的给定状态数据的识别到的可用动作生成在附加动作序列中的给定动作包括:使用附加软件策略神经网络,处理可用动作以及附加状态数据序列的给定状态数据和附加意图,以将进一步的动作空间限制为可用动作。在那些实施方式的一些版本中,附加软件策略神经网络包括指针网络,该指针网络配置为确定用于生成在附加动作序列中的给定动作的可变长度输出。

在一些实施方式中,客户端设备包括自动化助理客户端,以及其中,自动化助理客户端使用软件策略神经网络来生成特定动作序列,并且基于特定动作序列控制特定软件客户端。在那些实施方式的一些版本中,接收到的用户接口输入是用户的口语输入,并且包括调用短语部分和附加部分。在那些实施方式的一些版本中,方法进一步包括确定用户接口输入的附加部分。在那些实施方式的一些版本中,方法进一步包括分析附加部分以识别意图。

在一些实施方式中,响应于使客户端设备渲染输出,该输出是基于响应于基于动作序列来被控制而由特定软件客户端生成的内容:方法进一步包括确定整体奖励信号,该整体奖励信号提供成功使用整体策略神经网络选择与意图对应的特定软件策略神经网络的指示。在那些实施方式的一些版本中,方法进一步包括使用整体奖励信号为整体策略神经网络确定更新的整体策略参数。在那些实施方式的一些版本中,方法进一步包括使用更新的整体策略参数更新整体策略神经网络。在那些实施方式的一些版本中,整体奖励信号基于由特定软件客户端生成的内容和/或基于由用户在使客户端设备渲染基于由特定软件客户端生成的内容的输出之后执行的一个或多个进一步的动作。

在一些实施方式中,响应于使客户端设备渲染输出,该输出是基于由特定软件客户端响应于基于动作序列来被控制而生成的内容,方法进一步包括确定软件奖励信号,该软件奖励信号提供成功使用特定软件策略神经网络生成特定动作序列的指示。在那些实施方式的一些版本中,方法进一步包括使用软件奖励信号为软件策略神经网络确定更新的软件客户端策略参数。在那些实施方式的一些版本中,方法进一步包括使用更新的软件客户端策略参数更新软件策略神经网络。在那些实施方式的一些版本中,软件奖励信号基于由特定软件客户端生成的内容和/或基于由用户在使客户端设备渲染基于由特定软件客户端生成的内容的输出之后执行的一个或多个进一步的动作。

在一些实施方式中,使用特定软件策略神经网络处理特定软件客户端的状态数据序列和意图包括:使用可访问性应用编程接口为特定软件客户端确定状态数据序列。

在一些实施方式中,整体策略神经网络是深度神经网络,以及其中,软件策略神经网络是附加深度神经网络。

在一些实施方式中,整体策略神经网络被至少部分地包括在客户端设备的操作系统中。

在一些实施方式中,提供了一种由一个或多个处理器实施的方法,该方法包括通过客户端设备的一个或多个用户接口输入设备接收由客户端设备的用户提供的用户接口输入的回合,其中,用户接口输入的回合包括特定软件客户端的动作序列。该方法进一步包括使用用户接口输入的回合为整体策略神经网络生成更新的整体策略参数,其中,整体策略神经网络表示强化学习策略,其中,更新的整体策略神经网络用于选择与特定软件客户端对应的特定软件策略神经网络。该方法进一步包括使用更新的整体策略参数更新整体策略神经网络。该方法进一步包括使用用户接口输入的回合为软件策略神经网络生成更新的软件策略参数。该方法进一步包括使用更新的软件策略参数更新软件策略神经网络。

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

在一些实施方式中,接收由客户端设备的用户提供的用户接口输入的回合是响应于客户端设备的自动化助理客户端确定无法使用整体策略神经网络选择特定软件策略神经网络。

在一些实施方式中,接收由客户端设备的用户提供的用户接口输入的回合是响应于客户端设备的自动化助理客户端确定无法使用软件策略神经网络生成动作序列。

在一些实施方式中,由客户端设备的用户提供的用户接口输入的回合包括用户接口输入的多个实例,其中,用户接口输入的每个实例都包括开始客户端设备状态、从开始客户端设备状态转变到的后续客户端设备状态和从开始客户端设备状态转变到后续客户端设备状态的用户动作。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号