CN112771530A - 交互式web文档的自动导航 - Google Patents

交互式web文档的自动导航 Download PDF

Info

Publication number
CN112771530A
CN112771530A CN201980064051.1A CN201980064051A CN112771530A CN 112771530 A CN112771530 A CN 112771530A CN 201980064051 A CN201980064051 A CN 201980064051A CN 112771530 A CN112771530 A CN 112771530A
Authority
CN
China
Prior art keywords
interactive
value
key
feature vectors
dom
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980064051.1A
Other languages
English (en)
Inventor
亚历山德拉·福斯特
迪莱克·哈卡尼-图尔
伊泽丁·古尔
乌尔里希·吕克特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN112771530A publication Critical patent/CN112771530A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开通常涉及用于学习自动地导航交互式web文档和/或网站的方法、装置和计算机可读介质(暂时性和非暂时性)。更特别地,各种方法被提出用于训练各种深Q网络(DQN)代理,以在具有稀疏奖励以及大状态和动作空间的有挑战性的web导航环境中执行与包括分层强化学习的强化学习相关联的各种任务。这些代理包括能够使用学习值函数来自动地浏览交互式web文档的web导航代理,以及在本文中称为“元训练器”的训练代理,该训练代理能够被训练来生成合成训练示例。当专家演示可用时,可以实现本文描述的一些方法。当专家演示不可用时,可以实现本文描述的其他方法。在任何一种情况下,可以使用密集的基于势能的奖励来扩增训练。

Description

交互式WEB文档的自动导航
背景技术
在具有大状态和动作空间的环境中,尤其是当仅稀疏奖励可用时,强化学习(“RL”)是有挑战性的。在这样的环境的一个示例中,RL可以用于训练RL策略,该RL策略然后由自动化助理(也称为“虚拟助理”、“聊天机器人”、“数字助理”等)使用,以基于根据自然语言指令确定的用户的意图自动地导航web文档(例如,网页)。可操作元素的潜在输入词汇和数目在这样的场景中可能增长得相当大。
在典型的web环境中,自动化助理可能需要仔细地浏览大量的交互式输入组件(例如,文档对象模型或“DOM”元素)以遵循由大词汇制定的高度动态指令。例如,假设用户发出自然语言指令“Book a flight from WTK to LON on 21-Oct-2016(预订于2016年10月21日从WTK到LON的航班)”。自动化助理(或与自动化助理协作行动的单独的web导航)可能需要用正确的机场代码填写网页上的起点和目的地下拉菜单,选择日期,点击提交按钮,然后在返回的所有选项当中选择最便宜的航班。
这对自动化助理或在与自动化助理截然不同的情况下为web导航代理来说不是琐碎任务。可以按任何次序填写前三个字段。此外,供选择的选项很多,并且在所有可能的机场/日期组合当中,仅一个组合符合用户的请求。在一些情况下,只要所有三个字段都被填充才能够提交网页表单。那时web环境/网页改变,并且航班选择变得可能。然后,能够选择并且预订航班。给定大状态和动作空间,通过试错法在此类任务中达到真正目标是麻烦的。具有稀疏奖励的强化学习导致大多数情节根本不生成任何信号。当在访问每个选项可能是不可行的情况下根据大指令集学习时,问题恶化。
发明内容
本公开通常涉及用于学习自动地导航交互式web文档和/或网站的方法、装置和计算机可读介质(暂时性和非暂时性)。更特别地,各种方法被提出用于训练各种深Q网络(DQN)代理,以在具有稀疏奖励以及大状态和动作空间的有挑战性的web导航环境中执行与包括分层强化学习的强化学习相关联的各种任务。这些代理包括能够使用学习值函数来自动地浏览交互式web文档的web导航,以及在本文中称为“元训练器”的训练代理,该训练代理能够被训练来生成合成训练示例。当专家演示可用时,可以实现本文描述的一些方法。当专家演示不可用时,可以实现本文描述的其他方法。在任何一种情况下,可以使用密集的基于势能的奖励来扩增训练。
当专家演示可用时,可以采用课程学习来将复杂指令分解成多个较简单的子指令。可以向按本公开的所选方面而配置的web导航代理递增地指派这些子指令的较大子集,直到它最终揭开原始复杂指令为止。当专家演示不可用时,可以使用前述元训练器来生成带有密集奖励信号的目标状态和指令对,以便web导航代理更高效地训练。在不使用任何人类演示的情况下,公开的模型在有挑战性的环境上做得比先前的现有技术水平模型好。
在一些实现方式中,可以提供一种计算机实现的方法,该方法包括:确定自然语言输入,其中,该自然语言输入包括用于执行任务的命令;分析自然语言输入以标识一个或多个键-值对;检索可经由图形用户界面(“GUI”)操作以执行任务的交互式web文档,其中,该交互式web文档包括可操作以输入一个或多个键-值对的一个或多个值的一个或多个组成交互式元素;将一个或多个参数键-值对编码成一个或多个指令特征向量;将一个或多个键-值对与一个或多个交互式元素之间的重叠内容编码成一个或多个重叠特征向量;将交互式web文档的一个或多个交互式元素编码成一个或多个交互式元素特征向量;基于一个或多个重叠特征向量调节一个或多个交互式元素特征向量;基于经调节的一个或多个交互式元素特征向量和一个或多个指令特征向量,针对一个或多个交互式元素中的每一个生成一个或多个Q值;以及至少部分地基于Q值响应于自然语言输入促进在交互式web文档中的自动导航。
本文公开的技术的这种方法和其他实现方式可以各自任选地包括以下特征中的一个或多个。
在各种实现方式中,一个或多个交互式元素包括文档对象模型(“DOM”)节点。在各种实现方式中,该方法可以进一步包括使表示DOM节点的树结构线性化。在各种实现方式中,长短期记忆(“LSTM”)网络可以用于对一个或多个交互式元素特征向量进行编码。在各种实现方式中,LSTM网络包括双向LSTM网络。
在各种实现方式中,一个或多个参数中的每一个均可以是键-值对。在各种实现方式中,针对一个或多个组成交互式元素中的给定交互式元素生成的一个或多个Q值可以采取复合Q值的形式。在各种实现方式中,复合Q值可以包括交互式元素Q值、点击或打字Q值和打字Q值。
在另一方面中,一种计算机实现的方法可以包括:确定适用于可操作以执行任务的交互式web文档的键集,其中,该交互式web文档包括可操作以输入对应的多个值的多个组成交互式元素;用任意值自动地填充多个组成交互式元素中的至少一些以生成交互式web文档的目标状态;将至少多个交互式元素中的已填充的交互式元素编码成多个交互式元素特征向量;从键集中选择键;将至少所选择的键编码成键特征向量;基于键特征向量和多个交互式元素特征向量,计算针对至少已填充的交互式元素的Q值;基于Q值从已填充的交互式元素中选择一个交互式元素;以及基于所选择的键和用于填充所选择的交互式元素的任意值来生成指令。
在各种实现方式中,指令可以包括一个或多个字段,一个或多个字段中的每一个均包括键-值对。在各种实现方式中,LSTM网络用于对多个交互式元素特征向量进行编码。在各种实现方式中,LSTM网络包括双向LSTM网络。
在各种实现方式中,多个交互式元素可以包括DOM元素。在各种实现方式中,针对至少已填充的交互式元素的Q值包括针对每个DOM元素的Q值和针对每个DOM元素的每个属性的Q值。在各种实现方式中,任意值可以是随机值。
其他实现方式可以包括一种非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质存储可由处理器执行以执行诸如上述方法中的一种或多种的方法的指令。又一个实现方式可以包括一种系统,该系统包括存储器和一个或多个处理器,该处理器可操作以执行存储在存储器中的指令,以实现一个或多个模块或引擎,这些模块或引擎单独或共同地执行诸如上述方法中的一种或多种的方法。
应该领会,本文更详细地描述的前面的构思和附加构思的所有组合被设想为本文公开的主题的一部分。例如,在本公开结尾处出现的要求保护的主题的所有组合被设想为本文公开的主题的一部分。
附图说明
图1图示依照各种实现方式的可以在其中实现本文描述的技术的环境。
图2描绘依照各种实现方式的用于分层Q学习的示例动作依赖图。
图3示意性地描绘在本文中称为“QWeb”的示例web导航机器学习架构,其可以由按本公开的所选方面而配置的web导航代理使用以自动地导航交互式Web文档。
图4A、图4B、图4C和图4D描绘能够使用本文描述的技术来自动地导航的交互式web文档—在此示例中为航班预订网页—的各种状态。
图4E演示依照各种实现方式的可以如何分析图4A-D的不同的web文档状态。
图5描绘用于实现课程学习以高效地训练诸如图3中描绘的机器学习架构的机器学习架构的伪算法。
图6描绘用于训练诸如图3中描绘的QWeb的web导航机器学习架构的伪算法。
图7描绘用于训练诸如图8中描绘的INET的合成训练数据机器学习架构使得它能够例如由按本公开的所选方面而配置的元训练器使用以生成合成专家演示的伪算法,这些合成专家演示进而能够用于训练web导航机器学习架构,诸如图3中描绘的QWeb。
图8描绘在本文中称为“INET”的示例合成训练数据机器学习架构,其可以被训练和应用来生成例如形式为合成专家演示的合成训练数据,其进而能够用于训练web导航机器学习架构,诸如图3中描绘的QWeb。
图9示意性地描绘可以如何使用本文描述的INET来生成合成训练数据以训练本文描述的QWeb的示例。
图10描绘用于使用诸如图3中描绘的QWeb的机器学习架构来自动地导航交互式web文档的示例方法。
图11描绘用于使用诸如图8中描绘的INET的合成训练数据机器学习架构来生成合成专家演示的示例方法。
图12示意性地描绘计算机系统的示例架构。
具体实施方式
现在转向图1,图示了可以在其中实现本文公开的技术的示例环境。该示例环境包括一个或多个客户端计算设备106。每个客户端设备106可以执行自动化助理客户端108的相应的实例,该自动化助理客户端在本文中还可以被称为自动化助理的“客户端部分”。可以在经由通常在114处指示的一个或多个局域网和/或广域网(例如,因特网)通信地耦合到客户端设备106的一个或多个计算系统(统称为“云”计算系统)上实现一个或多个基于云的自动化助理组件119,其在本文中还可以被统称为自动化助理的“服务器部分”。
在各种实现方式中,自动化助理客户端108的实例通过其与一个或多个基于云的自动化助理组件119的交互,可以形成从用户的角度看似乎为自动化助理120的逻辑实例的东西,用户可以在人机对话中与该逻辑实例接洽。这样的自动化助理120的一个实例在图1中用虚线描绘。因此应该理解,与在客户端设备106上执行的自动化助理客户端108接洽的每个用户实际上可以与他或她自己的自动化助理120的逻辑实例接洽。为了简洁和简单起见,如在本文中用作“为”特定用户“服务”的术语“自动化助理”将是指在由用户操作的客户端设备106上执行的自动化助理客户端108和一个或多个基于云的自动化助理组件119(其可以在多个自动化助理客户端108之间共享)的组合。还应该理解,在一些实现方式中,自动化助理120可以对来自任何用户的请求做出响应,而不管该用户是否由自动化助理120的那个特定实例实际地“服务”。
一个或多个客户端设备106可以包括例如以下各项中的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器(其在一些情况下可以包括视觉传感器)、诸如智能电视(或配备有具有自动化助理能力的联网加密狗的标准电视)的智能器具和/或用户的可穿戴装置,其包括计算设备(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代客户端计算设备。一些客户端设备106,诸如独立交互式扬声器(或“智能扬声器”),可以采取被主要设计来促进用户与自动化助理120之间的对话的助理设备的形式。一些此类助理设备可以采取具有附连的显示器的独立交互式扬声器的形式,该附连的显示器可以或可能不是触摸屏显示器。
在一些实现方式中,客户端设备106可以被配备有具有一个或多个视场的一个或多个视觉传感器107,但是这不是必需的。视觉传感器107可以采取各种形式,诸如数码相机、无源红外(“PIR”)传感器、立体相机、RGBd相机等。一个或多个视觉传感器107可以用于捕获其中部署有客户端设备106的环境的图像帧(静止图像或视频)。这些图像帧然后可以例如由视觉线索模块1121分析,以检测包含在图像帧中的用户提供的视觉线索。这些视觉线索可以包括但不限于手势、朝向特定参考点的凝视、面部表情、由用户进行的预定义移动等。这些检测到的视觉线索可以被用于各种目的,诸如调用自动化助理120和/或使自动化助理120执行各种动作。
如本文更详细地描述的,自动化助理120经由一个或多个客户端设备106的用户界面输入和输出设备参与与一个或多个用户的人机对话会话。在一些实现方式中,自动化助理120可以响应于由用户经由客户端设备106之一的一个或多个用户界面输入设备提供的用户界面输入而参与与用户的人机对话会话。在那些实现方式中的一些中,用户界面输入被显式地引导到自动化助理120。例如,用户可以口头上提供(例如,打字、讲出)预定调用短语,诸如“OK,Assistant(好的,助理)”或“Hey,Assistant(嘿,助理)”。当被讲出时,这种口头输入可以由麦克风109捕获并且可以使自动化助理120开始主动地监听或监视打字的文本。附加地或替换地,在一些实现方式中,可以单独或与口头调用短语相结合地基于一个或多个检测到的视觉线索调用自动化助理120。
在一些实现方式中,即使当用户界面输入未被显式地引导到自动化助理120时,自动化助理120也可以响应于用户界面输入而参与人机对话会话。例如,自动化助理120可以检查用户界面输入的内容并且响应于在用户界面输入中存在某些术语和/或基于其他线索参与对话会话。在许多实现方式中,自动化助理120可以利用语音辨识来将来自用户的话语转换成文本,并且相应地对文本做出响应,例如,通过提供搜索结果、一般信息和/或采取一个或多个响应动作(例如,播放媒体、启动游戏、订购食物等)。在一些实现方式中,自动化助理120能够附加地或替换地对话语做出响应,而不用将话语转换成文本。例如,自动化助理120能够将话音输入转换成嵌入,转换成实体表示(其指示存在于话音输入中的一个或多个实体)和/或其他“非文本”表示,并且对这种非文本表示进行操作。因此,在本文中描述为基于从话音输入转换的文本来操作的实现方式可以附加地和/或替换地直接对话音输入和/或话音输入的其他非文本表示进行操作。
操作基于云的自动化助理组件119的客户端计算设备106和计算设备中的每一个均可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并且执行应用的一个或多个处理器以及促进通过网络通信的其他组件。由客户端计算设备106和/或由自动化助理120执行的操作可以跨多个计算机系统分布。可以将自动化助理120实现为例如在一个或多个位置中通过网络彼此耦合的一个或多个计算机上运行的计算机程序。
如以上所指出的,在各种实现方式中,客户端计算设备106可以操作自动化助理客户端108或自动化助理120的“客户端部分”。在各种实现方式中,自动化助理客户端108可以包括语音捕获模块110和/或视觉线索模块1121。在其他实现方式中,语音捕获模块110和/或视觉线索模块112的一个或多个方面可以例如由一个或多个基于云的自动化助理组件119与自动化助理客户端108分开地实现。例如,在图1中,还存在可以检测图像数据中的视觉线索的基于云的视觉线索模块1122
在各种实现方式中,可以使用硬件和软件的任何组合来实现的语音捕获模块110可以与诸如麦克风109或其他压力传感器的硬件对接以捕获用户的话语的音频记录。可以出于各种目的对此音频记录执行各种类型的处理。
在各种实现方式中,视觉线索模块1121(和/或基于云的视觉线索模块1122)可以使用硬件或软件的任何组合来实现,并且可以被配置成分析由视觉传感器107提供的一个或多个图像帧以检测在一个或多个图像帧中和/或跨一个或多个图像帧捕获的一个或多个视觉线索。视觉线索模块1121可以采用各种技术来检测视觉线索。例如,视觉线索模块1121(或1122)可以使用被训练来生成指示在图像帧中检测到的用户提供的视觉线索的输出的一个或多个人工智能(或机器学习)模型。
客户端设备106也可以安装有其他应用,诸如web浏览器111和/或消息交换客户端113。消息交换客户端113可以采用各种形式。在一些实现方式中,消息交换客户端113可以采用以下形式:短消息传递服务(“SMS”)和/或多媒体消息传递服务(“MMS”)客户端、在线聊天客户端(例如,即时信使、因特网中继聊天或“IRC”等)、与社交网络相关联的消息传递应用等。在一些实现方式中,可以在由web浏览器111渲染的网页内实现消息交换客户端113。在各种实现方式中,消息交换客户端113可以提供用于用户参与与自动化助理120的键入或讲出的人机对话的界面,作为一对一对话或者作为自动化助理120可以“参加”的多参与者对话。在一些实现方式中,web浏览器111可以被特殊地设计,例如,具有可操作以调用自动化助理120的麦克风按钮或其他用户界面元素,使得用户能够发出话音命令以辅助web浏览器111的操作。
语音捕获模块110可以被配置成如先前所提及的那样例如经由麦克风109捕获用户的语音。附加地或替换地,在一些实现方式中,语音捕获模块110还可以被配置成例如使用语音至文本(“STT”)处理技术来将那个捕获的音频转换为文本和/或转换为其他表示或嵌入。附加地或替换地,在一些实现方式中,语音捕获模块110可以被配置成例如使用一个或多个话音合成器来将文本转换为计算机合成的语音。然而,在一些(而非全部)情况下,因为客户端设备106可能在计算资源(例如,处理器周期、存储器、电池等)方面相对地受约束,所以客户端设备106本地的语音捕获模块110可以被配置成将有限数目的不同的口头短语—特别是调用自动化助理120的短语—转换为文本(或其他形式,诸如较低维数嵌入)。可以将其他语音输入发送到基于云的自动化助理组件119,其可以包括基于云的文本至语音转换(“TTS”)模块116和/或基于云的STT模块。
基于云的TTS模块116可以被配置成利用云的实际上无限的资源来将文本数据(例如,由自动化助理120制定的自然语言响应)转换成计算机生成的语音输出。在一些实现方式中,TTS模块116可以将计算机生成的语音输出提供给客户端设备106以例如使用一个或多个扬声器来直接输出。在其他实现方式中,可以将由自动化助理120生成的文本数据(例如,自然语言响应)提供给语音捕获模块110,该语音捕获模块然后可以将文本数据转换成在本地输出的计算机生成的语音。
基于云的STT模块117可以被配置成利用云的实际上无限的资源来将由语音捕获模块110捕获的音频数据转换成文本,该文本然后可以被提供给意图匹配器135。在一些实现方式中,基于云的STT的模块117可以将语音的音频记录转换为一个或多个音素,然后将一个或多个音素转换为文本。附加地或替换地,在一些实现方式中,STT模块117可以采用状态解码图。在一些实现方式中,STT模块117可以生成用户的话语的多个候选文本解释。在一些实现方式中,STT模块117可以取决于是否存在同时检测到的视觉线索而对特定候选文本解释进行加权或偏置得高于其他候选文本解释。
自动化助理120(特别是基于云的自动化助理组件119)可以包括意图匹配器135、前述TTS模块116、前述STT模块117以及在下面更详细地描述的其他组件。在一些实现方式中,可以在与自动化助理120分开的组件中省略、组合和/或实现模块和/或自动化助理120的模块中的一个或多个。在一些实现方式中,为了保护隐私,可以至少部分地在客户端设备106上(例如,排除在云外)实现自动化助理120的组件中的一个或多个,诸如自然语言处理器122、TTS模块116、STT模块117等。
在一些实现方式中,自动化助理120响应于由客户端设备106之一的用户在与自动化助理120的人机对话会话期间生成的各种输入而生成响应内容。自动化助理120可以(例如,当与用户的客户端设备分开时通过一个或多个网络)提供响应内容以用于作为对话会话的一部分呈现给用户。例如,自动化助理120可以响应于经由客户端设备106提供的自由形式自然语言输入而生成响应内容。如本文所使用的,自由形式输入是由用户制定并且不约束于被呈现供由用户选择的一组选项的输入。自由形式自然语言输入可以被讲出(并且由麦克风109捕获)和/或键入(例如,到由诸如消息交换客户端113的一个或多个应用提供的一个或多个界面中)。
意图匹配器135可以被配置成基于由用户提供的输入(例如,口头话语、视觉线索等)和/或基于诸如传感器信号、在线信号(例如,从web服务获得的数据)等的其他信号来确定用户的意图。在一些实现方式中,意图匹配器135可以包括自然语言处理器122和前述基于云的视觉线索模块1122。在各种实现方式中,除了基于云的视觉线索模块1122可以任意地具有更多的资源以外,基于云的视觉线索模块1122可以类似于视觉线索模块1121操作。特别地,基于云的视觉线索模块1122可以检测可以由意图匹配器135单独或与其他信号相结合地使用以确定用户的意图的视觉线索。
自然语言处理器122可以被配置成处理由用户经由客户端设备106生成的自然语言输入并且可以生成带注释的输出(例如,以文本形式)以供由自动化助理120的一个或多个其他组件使用。例如,自然语言处理器122可以处理由用户经由客户端设备106的一个或多个用户界面输入设备生成的自然语言自由形式输入。所生成的带注释的输出包括自然语言输入的一个或多个注释和/或自然语言输入的术语中的一个或多个(例如,全部)。
在一些实现方式中,自然语言处理器122被配置成标识并且注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括形态学模块,该形态学模块可以将个别单词分成词素和/或例如按它们的类注释这些词素。自然语言处理器122还可以包括词性标记器,该词性标记器被配置成按其语法角色注释术语。例如,词性标记器可以按其诸如“名词”、“动词”、“形容词”、“代词”等的词性标记每个术语。另外,例如,在一些实现方式中自然语言处理器122可以附加地和/或替换地包括可以依赖解析器(未描绘),该依赖解析器被配置成确定自然语言输入中的术语之间的句法关系。例如,依赖解析器可以确定哪些术语修饰其他术语、句子的主语和动词等(例如,解析树),并且可以对这种依赖进行注释。
在一些实现方式中,自然语言处理器122可以附加地和/或替换地包括实体标记器(未描绘),该实体标记器被配置成注释一个或多个段中的实体引用,诸如对人们(包括例如文学人物、名人、公众人物等)、组织、位置(真实的和虚构的)等的引用。在一些实现方式中,可以将关于实体的数据存储在一个或多个数据库中,诸如在知识图(未描绘)中。在一些实现方式中,知识图可以包括表示已知实体(并且在一些情况下为实体属性)的节点以及连接节点并且表示实体之间的关系的边。例如,“香蕉”节点可以被连接(例如,作为孩子)到“水果”节点,该“水果”节点进而可以被连接(例如,作为孩子)到“产品”和/或“食物”节点。作为另一示例,被称作“假想咖啡厅”的餐馆可以由还包括诸如其地址、招待食物的类型、营业时间、联系信息等的属性的节点表示。“假想咖啡厅”节点可以在一些实现方式中通过边(例如,表示孩子与父关系)连接到一个或多个其他节点,诸如“餐馆”节点、“企业”节点、表示餐馆所位于的城市和/或州的节点等。
自然语言处理器122的实体标记器可以以较高的粒度水平(例如,以使得能够标识对诸如人们的实体类的所有引用)和/或较低的粒度水平(例如,以使得能够标识对诸如特定人员的特定实体的所有引用)注释对实体的引用。实体标记器可以依靠自然语言输入的内容来消解特定实体并且/或者可以任选地与知识图或其他实体数据库进行通信以消解特定实体。
在一些实现方式中,自然语言处理器122可以附加地和/或替换地包括共指消解器(未描绘),该共指消解器被配置成基于一个或多个上下文线索对对同一实体的引用进行分组或“聚类”。例如,可以利用共指消解器来将自然语言输入“I liked Hypothetical Cafélast time we ate there(我喜欢上次我们在那里吃饭的假想咖啡厅)”中的术语“there(那里)”消解为“Hypothetical Café(假想咖啡厅)”。
在一些实现方式中,自然语言处理器122的一个或多个组件可以依靠来自自然语言处理器122的一个或多个其他组件的注释。例如,在一些实现方式中命名实体标记器可以在注释对特定实体的所有指代时依靠来自共指消解器和/或依赖解析器的注释。另外,例如,在一些实现方式中共指消解器可以在对对同一实体的引用进行聚类时依靠来自依赖解析器的注释。在一些实现方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用相关在先输入和/或在特定自然语言输入外的其他相关数据来确定一个或多个注释。
意图匹配器135可以使用各种技术来例如基于来自自然语言处理器122的输出(其可以包括自然语言输入的注释和术语)和/或基于来自视觉线索模块(例如,1121和/或1122)的输出确定用户的意图。在一些实现方式中,意图匹配器135可以能够访问一个或多个数据库(未描绘),该一个或多个数据库包括例如语法、视觉线索和响应动作(或更一般地,意图)之间的多个映射。在许多情况下,这些语法可以随着时间的推移而被选择和/或学习,并且可以表示用户的最常见意图。例如,一个语法“play<artist>(播放<艺术家>)”可以被映射到调用使得在由用户操作的客户端设备106上播放<artist>的音乐的响应动作的意图。另一语法“[weather|forecast]today(今天的[天气|预报])”可能可与诸如“what’s theweather today(今天天气怎样)”和“what’s the forecast for today?(今天预报怎样?)”的用户查询匹配。
除了语法之外或代替语法,在一些实现方式中,意图匹配器135可以单独或与一个或多个语法和/或视觉线索相结合地采用一个或多个训练后的机器学习模型。这些训练后的机器学习模型也可以被存储在一个或多个数据库中,并且可以被训练来标识意图,例如,通过将指示用户的话语和/或任何检测到的用户提供的视觉线索的数据嵌入到潜在或嵌入空间中,并且然后例如使用诸如欧几里德距离、余弦相似度等的技术来确定哪些其他嵌入(以及因此意图)是最接近的。
如在“play<artist>”示例语法中看到的,一些语法具有能够用槽值(或“参数”)填充的槽(例如,<artist>)。可以以各种方式确定槽值。常常用户将前摄地提供槽值。例如,对于语法“Order me a<topping>pizza(为我订购<浇头>披萨)”,用户可能很可能讲出短语“order me a sausage pizza(为我订购香肠披萨)”,在此情况下自动地填充槽<topping>。附加地或替换地,如果用户调用包括要用槽值填充的槽的语法,而无需用户前摄地提供槽值,则自动化助理120可以从用户恳求那些槽值(例如,“what type of crust do you wanton your pizza?(在你的披萨上你想要什么类型的外壳?)”)。
履行模块124可以被配置成接收由意图匹配器135输出的预测/估计意图以及关联的槽值(无论是由用户前摄地提供的还是从用户恳求的)并且执行(或“消解”或“履行”)意图。在各种实现方式中,对用户的意图的履行(或“消解”或“执行”)可以使各种履行信息(也称为“响应”信息或“消解信息”)例如由履行模块124生成/获得。如将在下面描述的,可以在一些实现方式中将履行信息提供给自然语言生成器(在一些图中为“NLG”)126,该自然语言生成器可以基于履行信息生成自然语言输出。
履行(或“消解”)信息可以采取各种形式,因为能够以各种方式履行(或“消解”)意图。假设用户请求纯粹信息,诸如“Where were the outdoor shots of‘The Shining’filmed?(‘闪灵’的室外镜头是在哪里拍摄的?)”。用户的意图可以例如由意图匹配器135确定为搜索查询。可以将搜索查询的意图和内容提供给履行模块124,其如图1中所描绘的那样可以与一个或多个搜索模块150通信,该一个或多个搜索模块150被配置成在文档的语料库和/或其他数据源(例如,知识图等)中搜索响应信息。履行模块124可以向搜索模块150提供指示搜索查询的数据(例如,查询的文本、降维嵌入等)。搜索模块150可以提供响应信息,诸如GPS坐标,或其他更显式信息,诸如“Timberline Lodge,Mt.Hood,Oregon(俄勒冈州胡德山的林线客栈)”。这种响应信息可以形成由履行模块124生成的履行信息的一部分。
附加地或替换地,履行模块124可以被配置成例如从意图匹配器135接收用户的意图以及由用户提供或者使用其他手段(例如,用户的GPS坐标、用户偏好等)确定的任何槽值并且触发响应动作。响应动作可以包括例如订购商品/服务、启动定时器、设定提醒、发起电话呼叫、播放媒体、发送消息、操作诸如灯或恒温器的智能器具等。在一些此类实现方式中,履行信息可以包括与履行相关联的槽值、确认响应(其在一些情况下可以从预定响应中选择)等。
自然语言生成器126可以被配置成基于从各种源获得的数据生成和/或选择自然语言输出(例如,被设计成模仿人类语音的单词/短语)。在一些实现方式中,自然语言生成器126可以被配置成接收与对意图的履行相关联的履行信息作为输入,并且基于履行信息生成自然语言输出。附加地或替换地,自然语言生成器126可以从诸如第三方应用(例如,所需槽)的其他源接收信息,它可以使用该信息来为用户组成自然语言输出。
本公开的各个方面可以整个地或部分地由网站导航引擎128实现。为此,在各种实现方式中,网站导航引擎128可以包括web导航代理130、采取“课程-DQN”代理132的形式的训练代理以及在本文中称为“元训练器”136的另一训练代理。可以使用硬件和计算机实现的指令(例如,软件)的任何组合来实现代理130、132和136。在其他实现方式中,可以包括更多或更少的代理以执行本公开的所选方面。
Web导航代理130可以被配置成响应于由用户提供的自然语言指令如“find me aticket from London to Paris on June 12(为我查找于6月12日从伦敦到巴黎的票)”而促进在交互式web文档(例如,网页)中的自动导航。为此,web导航代理130可以依靠各种类型的策略,这些策略在许多实现方式中可以采取机器学习模型的形式,诸如使用强化学习来训练的一个或多个深Q网络(“DQN”)。特别地,web导航代理130可以分析例如由如先前描述的意图匹配器135从自然语言指令中确定的意图。Web导航代理130还可以分析可用于履行意图的目标交互式web文档。
在执行这些分析时,web导航代理130可以使用在本文中称为“QWeb”136的训练后的web导航机器学习架构来生成形成用户的意图的键-值对(或“字段”)的编码以及正在用于履行用户的意图的交互式web文档的组成交互式元素的编码。使用这些编码,web导航代理130可以生成Q值的层次结构(在图2中演示),这些Q值标识(i)哪一个组成交互式元素将在动作时生成最多值,(ii)无论是点击交互式元素还是将文本键入到元素中都将生成最大值,以及(iii)如果动作是将某些东西键入到元素中,则应该键入什么(例如,机场代码)以便生成最大值。在各种实现方式中,组成交互式元素可以包括可由用户操作以提供输入的多个文档对象模型(“DOM”)元素(例如,其层次)。这些可以包括例如文本字段、下拉菜单、单选按钮、可填充日历、可填充座位表、滑块、复选框等。
可以由web导航引擎130使用来(基于使用QWeb 136计算出的Q值)选择下一个动作的当前状态可以从各种信息中生成并且可以采取各种形式。作为非限制性示例,用户状态可以是诸如语义丰富的特征向量、嵌入等的数据结构。可以至少部分地基于考虑中的特定交互式web文档的内容(特别是其组成交互式元素及其之间的关系)以及根据自然语言指令探知的意图来生成用户状态。如本文所描述的,意图可以采取许多字段的形式,其中每个字段包括键(例如,“from(从)”)和对应的值(“London(伦敦)”)。在一些实现方式中,状态还可以包括关于意图与组成交互式元素的属性之间的重叠的信息。在一些此类实现方式中,可以基于这种重叠调节DOM元素编码。
附加地,在一些实现方式中,可以在用户状态中包括例如从用户的配置文件获得的关于用户的各种信息。例如,可以将诸如优选支付方式、是否应该在每次交易时向用户恳求支付信息、用户的优选就座方位(例如,飞机上的过道/窗户、电影院或体育赛事的节等)、优选价格范围、或各种其他产品或服务特定参数(例如,素食者或绝对素食者、吸烟或不吸烟等)的各种用户偏好烘焙成用户状态。可以被包括在用户状态中的其他用户配置文件信息包括但不限于用户的电子日历上的约会(例如,其可以用于在用户有冲突的情况下自动地消除电影放映时间)、诸如电子邮件、文本消息等的电子通信的内容(包括与其相关联的元数据)、社交媒体帖子(例如,状态更新、上传的图片等)等。
可以各种方式确定用户偏好。在一些实现方式中,可以人工地例如使用图形用户界面或由用户告诉自动化助理120他的或她的偏好来设定它们。附加地或替换地,在一些实现方式中,可以例如基于用户与交互式网站的交互、用户与自动化助理120的交互等随着时间的推移而学习一些用户偏好。例如,假设当使用web浏览器111来购买商品或服务时,用户总是相对迅速地(例如,比将通常是完全地消耗无论什么免责声明或其他语言被呈现所需要的更迅速地)点击确认屏幕。可以在确定用户很可能对例如由网站导航引擎128和/或自动化助理自动地浏览的屏幕感到舒适时考虑那个,而无需来自用户的显式输入。
概括地说,网站导航引擎128可以在各种场景中实现一个或多个强化学习(“RL”)代理。可以训练这些代理中的一些,诸如上述web导航代理130,以响应于自然语言指令而浏览交互式web文档和/或网站并且与交互。其他代理可以用于例如通过生成训练数据和/或管理训练过程来训练web导航代理130。现在将更详细地描述这些代理,诸如课程-DQN代理132和元训练器136。
当专家演示(例如,由人类在填写交互式web表单时采取的动作的时间上记录的序列)或指令遵循政策(在本文中称为“ORACLE”)可用时,课程学习可以例如作为前述课程-DQN代理132被采用来引导web导航代理130通过大状态和动作空间的探索。课程-DQM代理132可以从相对简单的指令遵循任务开始。课程-DQM代理132然后可以在许多训练步骤之上逐渐地增加web导航代理130的任务的难度。更特别地,课程-DQN代理132可以将指令分解成多个子指令并且向web导航代理130指派求解这些子指令的子集的相对较简单的任务。专家指令遵循策略(ORACLE)能够用于使web导航代理130更接近于其目标。
然而,专家演示和/或ORACLE策略可能不总是可用于训练web导航代理。例如,专家演示可能需要相当多的体力劳动,这可能是昂贵的、费时的和/或不可扩展的。因此,在本公开的另一方面中,可以采用元学习框架来训练生成模型(本文描述的INET),以在没有来自用户的具体指令的情况下使用任意或随机web导航策略来生成专家演示(在本文中还称为“合成ORACLE”或“合成专家演示”)。例如,可以将任意导航策略(例如,随机策略)视为它是否为针对某个隐藏或尚待确定的自然语言指令的专家指令遵循策略(ORACLE)。如果使用本文描述的技术来恢复底层隐藏指令,则可以自主地生成新合成专家演示。在不存在“真正的”专家演示的情况下,这些合成专家演示可以被用作训练数据以大体按比例增加web导航代理130的训练。直观地,根据策略生成指令不比遵循指令复杂,因为web导航代理130不需要与动态网页交互并且执行复杂的动作。因此,本文描述了用于训练元训练器134以生成能够进而用于训练web导航代理130的合成专家演示的技术。
本文描述了用于对两个不同的web导航Q值函数进行编码的各种神经网络架构,这两个不同的web导航Q值函数由web导航代理130利用来响应于自然语言命令而浏览网站。在本文中描述了这些QWeb136和“INET”138中的两个,并且这两个利用自我注意力、长短期记忆(“LSTM”)网络和浅编码的各种组合。QWeb 136可以由web导航代理130采用来浏览交互式web文档。特别地,QWeb 136是用于学习的指令遵循策略的Q值函数,并且可以由课程-DQN代理132或元训练器134中的一个或两个训练。INET 138是可以由元训练器134利用以便开发前述合成专家演示的Q值函数。这些演示然后可以用于在不存在真正的专家演示(或者称赞真正的专家演示)的情况下训练web导航代理130。
尽管本文描述的技术集中于web导航,但是这不意在为限制性的。公开的技术可以适用于在大离散状态和动作马尔可夫决策过程中求解其他面向目标的任务。
在各种实现方式中,可以训练QWeb 136以学习值函数Q(s,a),该值函数将状态s映射到动作a的可能集合之上的值。在每个时间步并且使用QWeb 130,web导航代理130观察状态st,采取动作at,并且观察新状态st+1和奖励rt=r(st+1,at)。目标是为了通过推出如由值函数Q(s,a)所建议的情节并且累积奖励来使折扣奖励的和∑t rtrt最大化。在一些实现方式中,奖励可以是稀疏的并且仅在情节结束时才可用。作为示例,对于成功的情节中的仅一小部分,奖励是+1;在其他情况下奖励是-1。在这样的场景中,大状态和动作空间使得难以训练web导航代理130以在Web环境中成功地导航。
在各种实现方式中,可以提供自然语言指令,例如,作为来自用户的口头命令。特别地,可以(例如,由意图匹配器135和/或先前描述的其他组件)将指令分解成字段F的列表,其中每个字段被表示为键-值对(K,V)(例如{from:“San Francisco”,to:“LA”,date:“12/04/2018”}({从:“旧金山”,到:“LA”,日期:“12/04/2018”})),使得I=[F=(K,V)]。在一些实现方式中,在每个时间步,环境的状态st包括指令I和网页的表示作为DOM元素的树Dt(DOM树)。可以将每个DOM元素表示为诸如“标签”、“值”、“名字”、“文本”、“id”、“类”等的之类的命名属性的列表。例如,可以通过将情节的最终状态(DN)与最终目标状态G(I)进行比较来计算环境的奖励。
在一些实现方式中,可以将动作空间约束为Click(e)和Type(e,y)动作,其中e是DOM树中的叶DOM元素并且y是来自指令的字段的值。这两个复合动作主要由DOM元素(e)标识,例如,“文本框”用序列键入,然而点击“date picker(日期挑选器)”。在一些实现方式中,复合动作可以使用原子动作的层次来表示,例如,由图2中的依赖图定义。遵循此布局,可以通过在此图中考虑其依赖对每个节点进行建模来定义复合Q值函数:
Q(s,a)=Q(s,aD)+Q(s,aC|aD)+Q(s,aT|aD,[aC==″type″]) (1)
其中a=(aD,ac,aT)是复合动作,aD表示选择DOM元素,aC|aD表示对给定DOM元素的“点击”或“键入”动作,并且aT|aD,[aC==type]表示在给定DOM元素上“键入来自指令的序列”。当(在探索期间或在测试期间)执行策略时,web导航代理130首先挑选具有最高Q(s,aD)的DOM元素。Web导航代理130然后可以基于Q(aD)在所选取的DOM元素上键入或点击之间选取。Web导航代理130然后可以针对键入动作,使用Q(s,aT|aD,|[ac==″type″])来从指令中选择值。总之,QWeb 136是可以被训练来为给定观察结果(st=(I,Dt))并且为每个原子动作aD、aC、aT生成Q值的深Q网络。
图3示意性地描绘了可以如何将QWeb 136实现为机器学习架构的示例。在此示例中,QWeb 136包括在分层结构中链接的三个不同的层340-344。每个层340、342、344可以对给定状态的不同部分进行编码。指令编码层340可以对用户的自然语言指令或更特别地键-值对的字段进行编码,这些键-值对构成例如由意图匹配器135根据用户的自然语言指令探知的意图。DOM树编码层344可以对考虑中的交互式web文档的DOM树进行编码。任选的DOM/指令交集编码层342可以对指令与考虑中的交互式网页或文档的DOM元素的属性之间的重叠单词进行编码。因此,在存在层342的情况下,可以基于被发现为类似的指令元素调节某些DOM元素编码。
在图3中并且在本文中别处,框指示具有整流器线性单元(“ReLU”)激活(例如,用于指令编码)或tanh激活(例如,用于浅编码)的全连接层(“FC”)。(K,V)指示键和值对在指令上的嵌入。每个“<E1em>”表示叶DOM元素嵌入。“SA”表示在指令字段之上生成分布的自我注意力机制。黑色圆圈指示用于加入由浅编码和深编码生成的Q值的选通机制。
在高级别,QWeb 136可以如下起作用。给定指令I=[F=(K,V)],指令编码层340通过针对每个K和V学习嵌入来将每个字段F编码成固定长度向量。DOM/指令交集编码层342可以将在DOM元素属性与指令I之间重叠的单词的序列编码成单个向量。此向量可以用于在上下文类似的字段上调节每个元素。在一些实现方式中,DOM树编码层344可以通过例如使树结构线性化并且在DOM元素序列之上运行双向LSTM网络346来对考虑中的交互式web文档的DOM树345进行编码。LSTM网络346的输出和对指令字段的编码可以用于针对每个原子动作aD、aC、aT生成Q值。现在将更详细地描述这些层340-344。
如以上间接提到并且在图3中描绘的,指令编码层340可以使用向量的列表来表示用户的自然语言指令。每个向量可以对应于不同的指令字段F。可以通过对字段F的对应键和值(例如,K=目的地;V=“路易斯维尔”)进行编码并且经由具有ReLU激活的FC变换经组合的编码来对字段F进行编码。令
Figure BDA0002996762660000221
表示第j个单词在第i个字段的键(值)中的嵌入。可以将键或值表示为这些嵌入在所对应的单词之上的平均值;即,
Figure BDA0002996762660000222
表示键的编码。然后可以如下计算字段的编码:
Figure BDA0002996762660000223
其中[,]表示向量级联。
对于DOM/指令编码层342,可以为指令中的每个字段和DOM元素的每个属性生成重叠单词的序列(到这种重叠存在的程度)。通过并行地对这些序列进行编码,可以生成指令感知DOM元素编码。例如,可以在每个序列和每个属性之上计算单词嵌入的平均值以计算以每个指令字段为条件的DOM元素的嵌入。使用自我注意力机制,可以在指令字段之上计算概率分布348以将这种指令感知嵌入约简成单个DOM元素编码。令E(f,Dt(i))表示以字段f为条件的DOM元素的嵌入,其中Dt(i)是第i个DOM元素。Dt(i)的条件嵌入是这些嵌入的加权平均值,即,EC=∑fpf*E(f,Dt(i)),其中自我注意力概率被计算为pf=softmaxi(u*Ef),其中u是可训练的向量。
对于DOM树编码层344,每个DOM元素属性可以通过计算其单词嵌入的平均值来表示。可以将每个DOM元素例如编码为其属性嵌入的平均值。可以将由DOM/指令交集编码层342生成的调节的DOM元素编码与由DOM树编码层344生成的DOM元素嵌入级联以针对每个DOM元素生成单个向量。在各种实现方式中,可以将双向LSTM(biLSTM)网络346应用于DOM元素嵌入的列表以对DOM树345进行编码。biLSTM网络346的每个输出向量可以通过例如具有tanh激活函数的另一FC层来变换,以生成DOM元素嵌入1-Z。尽管本文描述的示例使用biLSTM网络,但是这不意在为限制性的。可以替代地采用可用于对个别元素以及那些元素之间的关系进行编码的其他类型的网络,诸如图神经网络(“GNN”)、TreeLSTM等。
利用由指令编码层340生成的针对指令中的每个字段的编码以及由DOM树编码层344生成的针对DOM树中的每个DOM元素的编码,可以在每个字段与每个DOM元素之间计算逐对相似度以生成上下文矩阵M 350。上下文矩阵M的行和列分别表示在当前状态下每个字段和每个DOM元素的后验值。通过经由FC层(未描绘)变换并且在M的各行之上求和,可以针对每个DOM元素生成Q值356,即,
Figure BDA0002996762660000231
M的各行可以被例如用作用于将字段从指令键入到DOM元素的Q值358,即,
Figure BDA0002996762660000232
附加地,可以通过例如使用另一FC层(未描绘)将上下文矩阵M的各行变换成二维向量来生成用于对DOM元素进行“点击”或“键入”动作的Q值360,即,
Figure BDA0002996762660000233
然后可以通过计算这些Q值356-360的和:
Figure BDA0002996762660000234
来计算复合动作at的最终Q值。
在奖励稀少且潜在输入词汇大的场景中,诸如操作web导航代理以自动地浏览具有数百个机场的航班预订环境,很难使用仅单词嵌入来学习良好的语义相似度。因此,在一些实现方式中,可以用浅指令编码352和浅DOM树编码354扩增QWeb136。可以通过在每个子字段与每个DOM元素属性之间计算基于单词的相似度(诸如Jaccard相似度、诸如子集或超集的二进制指示符)来生成字段和元素的联合浅编码矩阵。还可以附加每个DOM元素的同级的浅编码以显式地并入考虑中的交互式web文档的DOM元素之间的关系(例如,DOM层次)。可以在浅编码矩阵的列和行之上计算出和以生成用于DOM元素的浅输入向量354和用于指令字段的浅输入向量352。这些向量可以使用例如具有tanh激活函数的相应的FC层来变换,并且经由一个或多个可训练的变量换算以生成用于DOM元素的单个值和用于指令字段的单个值。使用深Q值与浅Q值之间的一个或多个选通机制(图3中的黑色圆圈),可以在一些实现方式中计算最终Q值如下:
Figure BDA0002996762660000241
Figure BDA0002996762660000242
其中u和v是在训练期间学习的标量变量。
在各种实现方式中,可以采用基于势能的奖励以便扩增环境奖励函数(其如先前所描述的那样可以是稀疏的)。通过评价最终状态是否确切地等于目标状态来计算环境奖励。因此,可以定义对给定状态(s)与目标状态(g)之间的匹配DOM元素的数目进行计数的势能函数(Potential(s,g))。此数目可以通过处于目标状态下的DOM元素的数目归一化。然后可以例如使用诸如下列的等式来将基于势能的奖励计算为下一个状态和当前状态的两个势能之间的换算差:
Rpotential=γ(Potential(st+1,g)-Potential(st,g)) (4)
其中g是目标状态。
为了演示,图4A-D描绘与在形式为智能电话或平板计算机的客户端设备206上渲染的航班预订网页的交互的四个不同阶段。航班预订网页可以用于“Hypo海空公司”的单程票。在图4A-D中存在能够用来计算奖励的三个DOM元素:“从”、“到”和“出发日期”。假定在当前时间步web导航代理130正确地输入日期。当前状态的势能与先前状态的势能相比将增加1/3,并且web导航代理130将接收正奖励。
返回参考图1,课程-DQN代理132可以被配置成通过将自然语言指令分解成多个子指令并且向web导航代理130指派求解这些子指令的子集的相对简单的任务来实现课程学习。各种不同的课程学习策略可以由课程-DQN代理132采用来训练QWeb 136(使得web导航代理130在应用QWeb 136时更有效),web导航:(i)“热启动”或“自举”情节和/或(ii)模拟子目标。
可以通过将web导航代理130放置得更接近于目标状态,web导航代理130能够“学习”以执行少量子指令以成功地完成情节来“热启动”或“自举”情节。图5描绘用于热启动情节的示例“算法1”。在图6中描绘了作为算法1的一部分被采用的“算法2”。图4E演示依照各种实现方式的可以如何使用课程-DQN来分析图4A-D的不同的web文档状态。
可以按某个概率p独立地访问每个DOM元素并且可以探测ORACLE策略以对所选择的DOM元素执行正确的动作。例如,可以用热启动过程的最终状态初始化用于web导航代理130的环境,同时可以使环境的原始目标保持不变。还在图4E中针对图4A-D的航班预订交互式文档图示了此过程。在此示例场景中,web导航代理130从部分地填充的web表单右侧开始(已经输入了起点和出发日期)并且被仅派有学习正确地输入目的地机场的任务。在训练开始时,概率p可以用相对大的概率(例如,大于0.5,诸如0.85)初始化并且可以在一些预定义数目的步骤期间朝向0.0逐渐地衰变。在此极限之后,环境的初始状态将因完整自然语言指令而回复到原始DOM树的原始状态。
附加地或替换地,在一些实现方式中,可以通过使情节约束于交互式web文档的DOM元素的子集来针对web导航代理130模拟较简单但相关的子目标,使得仅需要所对应的子指令成功地完成情节。可以随机地选择大小K的DOM元素的子集。可以探测ORACLE(例如,专家演示)以对DOM元素的所选子集执行一组正确的动作以生成子目标。可以向web导航代理130的环境的目标指派此过程的最终状态。环境的初始状态可以保持不变。如果实现QWeb136的web导航代理130能够成功地到达此子目标,则它可以接收到正奖励。在训练开始时,K可以被设定为一并且可以在一定数目的步骤期间朝向考虑中的交互式web文档的DOM树中的DOM元素的最大数目逐渐地增加。在此极限之后,环境将回复到原始环境,类似于热启动方法。
如以上提及的,可能存在专家演示和/或ORACLE策略不可用的情形。因此,在一些此类实现方式中,可以训练由元训练器134使用的INET 138以恢复由非专家策略(例如基于规则的策略或随机策略)暗示的指令。一旦INET 138被训练,它就可以由元训练器134使用来生成可用于训练web导航代理130的合成专家演示。图7中描绘的算法3是可以如何训练INET 138的一种示例技术。
图9演示元训练器134可以如何基于INET 138生成合成指令并且那些合成指令然后可以如何用于训练QWeb 136的一个示例。如图所示,元训练器134接收一个或多个键以及包括例如一个或多个交互式DOM元素的目标交互式web文档作为输入。元训练器134使用INET 138来如下所述处理这些数据。元训练器134还在990处随机地对DOM元素的目标状态进行采样,例如,通过随机地填入每个DOM元素的值。
在一些实现方式中,元训练器134可以从这个采样的目标状态导出指令或学习。“指令状态”可以由包括被采样的目标以及在无替换的情况下从针对考虑中的交互式web文档预定义的一组可能键中采样的单个键(K)的对来定义。可以选择DOM元素
Figure BDA0002996762660000261
并且可以生成与当前键(K)相对应的值
Figure BDA0002996762660000262
例如,在诸如图4A-D中描绘的航班预订环境的航班预订环境中,可能键的列表由集合{从、到、日期}定义。在各种实现方式中,这些键可以由人类策划,从考虑中的网页的DOM元素中提取等。
如图9所示,由元训练器134生成的合成指令最终能够连同考虑中的交互式web文档一起作为输入被提供给web导航代理130。Web导航代理130可以使用QWeb 136来处理这些输入数据并且生成考虑中的交互式web文档的最终状态。当输入到QWeb的指令随机地填充DOM元素中的每一个(即对最终目标状态进行采样)时,可以用由元训练器134生成的最终状态贴标签于它。此最终状态标签可以例如由训练器994与由web导航代理130输出的最终状态进行比较。到web导航代理130的输出与最终状态标签不同的程度,那可以被认为是能够用于例如使用诸如反向传播、梯度下降等的技术来训练QWeb的错误。
现在参考图8,在各种实现方式中,INET 138可以采取深Q网络的形式。可以(例如,使用图7中的算法3)训练INET 138以学习与元训练器134相关联的指令生成环境的Q值函数近似。INET138的DOM树编码层844可以类似于与QWeb 136相关联的DOM树编码层344,并且可以由元训练器134使用来为考虑中的当前网页的DOM树845中的每个DOM元素生成向量表示(例如,如以前使用biLSTM编码器)。
处于环境状态下的键(其如以上所指出的那样可以由人类提供、从DOM元素中提取等)可以例如由键编码层840类似于QWeb 136的指令编码层340编码,除了仅键被输入到编码层之外,不输入任何值。可以例如通过学习键与DOM元素之间的相似度来计算用于选择考虑中的交互式web文档的DOM元素的Q值870,例如,
Figure BDA0002996762660000271
其中QI表示用于元训练器134的Q值。元素874表示基于此Q值选择的DOM元素的编码。
可以通过使用键与DOM元素之间的相同相似度并且在一些情况下通过将其编码约简成单个DOM树编码在DOM元素之上生成概率分布。可以通过将上下文向量850以及DOM树编码874和键编码的级联变换成DOM属性的可能集合之上的分值来生成DOM属性的Q值872,例如,
Figure BDA0002996762660000281
可以通过例如使用以下等式组合两个先前计算出的Q值来计算最终Q值:
Figure BDA0002996762660000282
在一些实现方式中,可以采用基于规则的随机化策略(“RRND”)来使web导航代理130迭代地访问处于当前状态下的每个DOM元素并且采取动作。如果动作是Click(e),则web导航代理130可以点击元素,并且过程可以继续。如果DOM元素是组的一部分,并且它们的值取决于组中的其他元素(诸如单选按钮)的状态,则web导航代理130可以随机地点击它们中的一个并且忽略其他元素。然而,如果动作是Type(e,t),则可以从给定知识源中随机地选择键入的序列。作为一个示例,考虑图4A-D的航班预订示例。如果所访问的DOM元素是文本框,则web导航代理130可以采用RRND来从可用机场的列表中随机地挑选一个机场并且将所选择的机场代码键入到文本框中。在访问了考虑中的交互式web文档中的每个DOM元素并且生成了最终DOM树(D)之后,web导航代理130可以停止采用RRND。
使用INET 138,元训练器134可以从最终DOM树D生成指令I并且使用对(I,D)来设置web导航环境。在web导航代理130(应用QWeb 136)采取动作并且在web导航环境中观察到新状态之后,可以将该新状态提供给元训练器134以收集元奖励(R1)。可以通过将R1加到环境奖励即R=R1+R2来计算最终奖励。
上述RRND不意在为限制性的。在其他实现方式中,可以设计不同种类的策略来收集期望的最终状态。附加地,所生成的目标状态(D)不必是有效的目标状态。元训练器134仍然能够通过利用不完整的情节以及web导航环境指派的指令和目标对来训练QWeb 136。元训练器134和INET 138也可以被用于各种其他目的,例如,以生成监督的情节并且执行行为克隆,以根据由元训练器134生成的情节安排课程等。
现在参考图10,描述了实践本公开的所选方面的一个示例方法1000。特别地,方法1000可以由web导航引擎130实现以基于用户的自然语言指令自动地导航交互式web文档。为了方便,参考执行操作的系统描述流程图的操作。此系统可以包括各种计算机系统的各种组件,包括本文描述的各种引擎。此外,虽然以特定次序示出方法1000的操作,但是这不意在为限制性的。可能重新排序、省略或添加一个或多个操作。
在框1002处,系统可以确定自然语言输入。该自然语言输入可以采取命令的形式,诸如“find me flights from London to New York next Thursday(为我查找下周四从伦敦到纽约的航班)”,以执行任务,诸如用这些数据填写web表单并且检索响应结果。在框1004处,系统可以分析自然语言输入以标识一个或多个键-值对。在一些实现方式中,参考图1描述的意图匹配器135和其他组件可以用于从口头或键入的自然语言输入生成用户的意图。该用户意图可以采取一个或多个字段的形式,每个字段包括键和值。
在框1006处,系统可以检索例如使用诸如web浏览器的GUI可操作以执行任务的交互式web文档。在各种实现方式中,交互式web文档可以采取网页(例如,HTML、XML、CSS或其他类似的文档)的形式,该网页包括可操作以输入一个或多个键-值对的一个或多个值的一个或多个组成交互式元素。如先前指出的,在一些实现方式中这些组成元素可以采取DOM元素的形式。
在框1008处,系统例如通过指令编码层340,可以如先前描述的那样将一个或多个参数键-值对编码成一个或多个指令特征向量。在框1010处,系统例如通过先前描述的DOM/指令交集编码层342,可以将一个或多个键-值对与一个或多个交互式元素之间的重叠内容编码成一个或多个重叠特征向量。在框1012处,系统例如通过先前描述的DOM指令编码层344,可以将交互式web文档的一个或多个交互式元素编码成一个或多个交互式元素特征向量。在框1014处,系统可以基于在框1010处编码的一个或多个重叠特征向量调节一个或多个交互式元素特征向量。
在框1016处,系统可以基于经调节的一个或多个交互式元素特征向量和一个或多个指令特征向量,针对一个或多个交互式元素中的每一个生成一个或多个Q值。在各种实现方式中,这些Q值可以采取复合Q值的形式,这些复合Q值各自包括DOM选择Q值356、用于将字段从指令键入到DOM元素的Q值358、以及用于对DOM元素进行“点击”或“键入”动作的Q值360。在框1018处,系统可以至少部分地基于Q值响应于自然语言输入促进在交互式web文档中的自动导航。
现在参考图11,描述了实践本公开的所选方面的一个示例方法1100。特别地,方法1100可以由元训练器134使用INET 138来执行以生成可以用于训练QWeb 136的合成专家演示。为了方便,参考执行操作的系统描述流程图的操作。此系统可以包括各种计算机系统的各种组件,包括本文描述的各种引擎。此外,虽然以特定次序示出方法1100的操作,但是这不意在为限制性的。可以重新排序、省略或添加一个或多个操作。
在框1102处,系统可以确定适用于例如经由GUI可操作以执行任务的交互式web文档的键集。这些键可以由一个或多个人们人工地策划,从交互式web文档的DOM元素中提取等。与先前情况一样,交互式web文档可以包括可操作以输入对应的多个值的多个组成交互式元素。
在框1104处,系统可以用任意值自动地填充多个组成交互式元素中的至少一些以生成交互式web文档的目标状态。在一些实现方式中,这些值可以是随机值。在其他实现方式中,可以使用各种启发法或其他规则来选择任意值。
在框1106处,系统例如通过DOM树编码层844,可以将至少多个交互式元素中的已填充的交互式元素编码成多个交互式元素特征向量。在框1108处,系统可以例如随机地或基于规则/启发法从键集中选择键。在框1110处,系统例如通过键编码层840,可以将至少所选择的键编码成键特征向量。
基于键特征向量和多个交互式元素特征向量,在框1112处,系统例如通过使用INET 138的元训练器134,可以针对至少已填充的交互式元素计算Q值。在框1114处,系统可以基于在框1112计算出的Q值从已填充的交互式元素中选择交互式元素。在框1116处,系统可以基于所选择的键和用于填充所选择的交互式元素的任意值来生成指令。如先前指出的,此指令例如结合在框1104处生成的目标状态可以被用作合成专家演示来训练QWeb136。
图12是示例计算机系统1210的框图。计算机系统1210通常包括至少一个处理器1214,该至少一个处理器经由总线子系统1212与许多外围设备进行通信。这些外围设备可以包括存储子系统1224(包括例如存储器子系统1225和文件存储子系统1226)、用户界面输出设备1220、用户界面输入设备1222和网络接口子系统1216。输入和输出设备允许用户与计算机系统1210交互。网络接口子系统1216提供到外部网络的接口并且被耦合到其他计算机系统中的对应的接口设备。
用户界面输入设备1222可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板的指点设备、扫描仪、并入到显示器中的触摸屏、诸如话音辨识系统的音频输入设备、麦克风和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括用于将信息输入到计算机系统1210或者到通信网络上的所有可能类型的设备和方式。
用户界面输出设备1220可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备、或用于创建可见图像的某种其他机制。显示子系统还可以例如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括用于从计算机系统1210向用户或者向另一机器或计算机系统输出信息的所有可能类型的设备和方式。
存储子系统1224存储提供本文描述的模块中的一些或全部的功能性的编程和数据构造。例如,存储子系统1224可以包括用于执行方法1000或1100的所选方面并且/或者实现图1、图3、图8和/或图9的组件的逻辑。
这些软件模块通常由处理器1214单独或与其他处理器相结合地执行。在存储子系统1224中使用的存储器1225能够包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)1230以及其中存储有固定指令的只读存储器(ROM)1232。文件存储子系统1226能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光驱或可移动介质盒。实现某些实现方式的功能性的模块可以由文件存储子系统1226存储在存储子系统1224中,或者存储在处理器1214可访问的其他机器中。
总线子系统1212提供用于让计算机系统1210的各种组件和子系统按预期彼此进行通信的机制。尽管总线子系统1212被示意性地示出为单条总线,但是总线子系统的替代实现方式可以使用多条总线。
计算机系统1210可以具有变化类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图12中描绘的计算机系统1210的描述仅作为具体示例意在供图示一些实施方式的目的使用。与图12中描绘的计算机系统比,计算机系统1210的许多其他配置可能具有更多或更少的组件。
虽然已在本文中描述并且图示了若干实现方式,但是可以利用用于执行功能和/或获得结果的各种其他手段和/或结构和/或本文描述的优点中的一个或多个,并且此类变化和/或修改中的每一个均被视为在本文描述的实现方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置都意在为示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用教导的一个或多个具体应用。本领域的技术人员将认识到或者能够使用仅仅例行实验来探知本文描述的具体实现方式的许多等同物。因此,应当理解,前面的实现方式仅作为示例被呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体地描述并且要求保护的方式实践实现方式。本公开的实现方式涉及本文描述的每个单独的特征、系统、制品、材料、套件和/或方法。此外,如果此类特征、系统、制品、材料、套件和/或方法不是相互不一致的,则两个或更多个此类特征、系统、制品、材料、套件和/或方法的任意组合被包括在本公开的范围内。

Claims (20)

1.一种使用一个或多个处理器实现的方法,包括:
确定自然语言输入,其中,所述自然语言输入包括用于执行任务的命令;
分析所述自然语言输入以标识一个或多个键-值对;
检索可经由图形用户界面(“GUI”)操作以执行所述任务的交互式web文档,其中,所述交互式web文档包括可操作以输入所述一个或多个键-值对的一个或多个值的一个或多个组成交互式元素;
将所述一个或多个参数键-值对编码成一个或多个指令特征向量;
将所述一个或多个键-值对与所述一个或多个交互式元素之间的重叠内容编码成一个或多个重叠特征向量;
将所述交互式web文档的一个或多个交互式元素编码成一个或多个交互式元素特征向量;
基于所述一个或多个重叠特征向量调节所述一个或多个交互式元素特征向量;
基于经调节的所述一个或多个交互式元素特征向量和所述一个或多个指令特征向量,针对所述一个或多个交互式元素中的每一个生成一个或多个Q值;以及
至少部分地基于所述Q值,响应于所述自然语言输入而促进在所述交互式web文档中的自动导航。
2.根据权利要求1所述的方法,其中,所述一个或多个交互式元素包括文档对象模型(“DOM”)节点。
3.根据权利要求2所述的方法,还包括使表示所述DOM节点的树结构线性化。
4.根据权利要求1所述的方法,其中,长短期记忆(“LSTM”)网络用于对所述一个或多个交互式元素特征向量进行编码。
5.根据权利要求4所述的方法,其中,所述LSTM网络包括双向LSTM网络。
6.根据权利要求1所述的方法,其中,所述一个或多个参数中的每一个均包括键-值对。
7.根据权利要求1所述的方法,其中,针对所述一个或多个组成交互式元素中的给定交互式元素生成的所述一个或多个Q值包括复合Q值。
8.根据权利要求7所述的方法,其中,所述复合Q值包括交互式元素Q值、点击或键入Q值和键入Q值。
9.一种使用一个或多个处理器实现的方法,包括:
确定适用于可经由图形用户界面(GUI)操作以执行任务的交互式web文档的键集,其中,所述交互式web文档包括可操作以输入对应的多个值的多个组成交互式元素;
用任意值自动地填充所述多个组成交互式元素中的至少一些以生成所述交互式web文档的目标状态;
将至少所述多个交互式元素中的已填充的交互式元素编码成多个交互式元素特征向量;
从所述键集中选择键;
将至少所选择的键编码成键特征向量;
基于所述键特征向量和所述多个交互式元素特征向量,针对至少已填充的交互式元素计算Q值;
基于所述Q值从已填充的交互式元素中选择交互式元素;以及
基于所选择的键和用于填充所选择的交互式元素的所述任意值来生成指令。
10.根据权利要求9所述的方法,其中,所述指令包括一个或多个字段,所述一个或多个字段中的每一个均包括键-值对。
11.根据权利要求9所述的方法,其中,长短期记忆(“LSTM”)网络用于对所述多个交互式元素特征向量进行编码。
12.根据权利要求11所述的方法,其中,所述LSTM网络包括双向LSTM网络。
13.根据权利要求9所述的方法,其中,所述多个交互式元素包括文档对象模型(“DOM”)元素。
14.根据权利要求13所述的方法,其中,针对至少已填充的交互式元素的所述Q值包括针对每个DOM元素的Q值和针对每个DOM元素的每个属性的Q值。
15.根据权利要求9所述的方法,其中,所述任意值包括随机值。
16.一种系统,所述系统包括一个或多个处理器和存储指令的存储器,响应于由所述一个或多个处理器对所述指令的执行,所述指令使所述一个或多个处理器:
确定自然语言输入,其中,所述自然语言输入包括用于执行任务的命令;
分析所述自然语言输入以标识一个或多个键-值对;
检索可经由图形用户界面(“GUI”)操作以执行所述任务的交互式web文档,其中,所述交互式web文档包括可操作以输入所述一个或多个键-值对的一个或多个值的一个或多个组成交互式元素;
将所述一个或多个参数键-值对编码成一个或多个指令特征向量;
将所述一个或多个键-值对与所述一个或多个交互式元素之间的重叠内容编码成一个或多个重叠特征向量;
将所述交互式web文档的一个或多个交互式元素编码成一个或多个交互式元素特征向量;
基于所述一个或多个重叠特征向量调节所述一个或多个交互式元素特征向量;
基于经调节的所述一个或多个交互式元素特征向量和所述一个或多个指令特征向量,针对所述一个或多个交互式元素中的每一个生成一个或多个Q值;以及
至少部分地基于所述Q值,响应于所述自然语言输入而促进在所述交互式web文档中的自动导航。
17.根据权利要求16所述的系统,其中,所述一个或多个交互式元素包括文档对象模型(“DOM”)节点。
18.根据权利要求17所述的系统,还包括用于使表示所述DOM节点的树结构线性化的指令。
19.根据权利要求16所述的系统,其中,长短期记忆(“LSTM”)网络用于对所述一个或多个交互式元素特征向量进行编码。
20.根据权利要求19所述的系统,其中,所述LSTM网络包括双向LSTM网络。
CN201980064051.1A 2018-09-27 2019-09-27 交互式web文档的自动导航 Pending CN112771530A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862737843P 2018-09-27 2018-09-27
US62/737,843 2018-09-27
PCT/US2019/053569 WO2020069387A1 (en) 2018-09-27 2019-09-27 Automatic navigation of interactive web documents

Publications (1)

Publication Number Publication Date
CN112771530A true CN112771530A (zh) 2021-05-07

Family

ID=68290350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980064051.1A Pending CN112771530A (zh) 2018-09-27 2019-09-27 交互式web文档的自动导航

Country Status (4)

Country Link
US (2) US11734375B2 (zh)
EP (1) EP3857330A1 (zh)
CN (1) CN112771530A (zh)
WO (1) WO2020069387A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116149631A (zh) * 2023-01-05 2023-05-23 三峡高科信息技术有限责任公司 一种基于自然语言生成Web智能表单的方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112771530A (zh) * 2018-09-27 2021-05-07 谷歌有限责任公司 交互式web文档的自动导航
US11442749B2 (en) 2019-11-11 2022-09-13 Klarna Bank Ab Location and extraction of item elements in a user interface
US11379092B2 (en) 2019-11-11 2022-07-05 Klarna Bank Ab Dynamic location and extraction of a user interface element state in a user interface that is dependent on an event occurrence in a different user interface
US11726752B2 (en) 2019-11-11 2023-08-15 Klarna Bank Ab Unsupervised location and extraction of option elements in a user interface
US11366645B2 (en) 2019-11-11 2022-06-21 Klarna Bank Ab Dynamic identification of user interface elements through unsupervised exploration
US11361550B2 (en) * 2019-12-30 2022-06-14 Yahoo Assets Llc Automatic digital content captioning using spatial relationships method and apparatus
US11409546B2 (en) 2020-01-15 2022-08-09 Klarna Bank Ab Interface classification system
US11386356B2 (en) 2020-01-15 2022-07-12 Klama Bank AB Method of training a learning system to classify interfaces
US10846106B1 (en) 2020-03-09 2020-11-24 Klarna Bank Ab Real-time interface classification in an application
US11496293B2 (en) 2020-04-01 2022-11-08 Klarna Bank Ab Service-to-service strong authentication
EP4158455A4 (en) * 2020-05-25 2024-02-07 Microsoft Technology Licensing Llc A CRAWLER OF WEB AUTOMATION SCRIPTS
CN112232149B (zh) * 2020-09-28 2024-04-16 北京易道博识科技有限公司 一种文档多模信息和关系提取方法及系统
CN113537603B (zh) * 2021-07-21 2022-02-01 北京交通大学 一种高速列车智能调度控制方法和系统
US11861263B1 (en) 2021-08-24 2024-01-02 X Development Llc Robust natural language based control of computer applications
WO2023234936A1 (en) * 2022-06-01 2023-12-07 Google Llc Adaptive structured user interface
CN117094260B (zh) * 2023-10-16 2024-01-19 上海合见工业软件集团有限公司 一种基于自然语言的命令交互系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101846525A (zh) * 2009-03-23 2010-09-29 华为软件技术有限公司 导航信息处理、获取方法及装置
CN103970839A (zh) * 2014-04-24 2014-08-06 四川长虹电器股份有限公司 语音控制网页浏览的方法
US20150149168A1 (en) * 2013-11-27 2015-05-28 At&T Intellectual Property I, L.P. Voice-enabled dialog interaction with web pages
US20150364132A1 (en) * 2014-06-13 2015-12-17 Nuance Communications, Inc. Structured natural language representations
CN105283837A (zh) * 2013-05-21 2016-01-27 微软技术许可有限责任公司 适于在语音用户界面中使用的用于找出web页面中的元素的方法(消歧)
US20160078019A1 (en) * 2014-09-12 2016-03-17 Microsoft Corporation Actions on digital document elements from voice
US20170140755A1 (en) * 2015-11-12 2017-05-18 Semantic Machines, Inc. Interaction assistant
CN107430859A (zh) * 2015-04-08 2017-12-01 谷歌公司 将输入映射到表单域
CN107992587A (zh) * 2017-12-08 2018-05-04 北京百度网讯科技有限公司 一种浏览器的语音交互方法、装置、终端和存储介质
CN108108387A (zh) * 2016-11-23 2018-06-01 谷歌有限责任公司 基于模版的结构化文档分类和提取

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847960B1 (en) * 1999-03-29 2005-01-25 Nec Corporation Document retrieval by information unit
US6725424B1 (en) * 1999-12-09 2004-04-20 International Business Machines Corp. Electronic document delivery system employing distributed document object model (DOM) based transcoding and providing assistive technology support
US6829746B1 (en) * 1999-12-09 2004-12-07 International Business Machines Corp. Electronic document delivery system employing distributed document object model (DOM) based transcoding
US7054952B1 (en) * 1999-12-09 2006-05-30 International Business Machines Corp. Electronic document delivery system employing distributed document object model (DOM) based transcoding and providing interactive javascript support
GB0113255D0 (en) * 2001-05-31 2001-07-25 Scient Generics Ltd Number generator
US20030187744A1 (en) * 2002-03-27 2003-10-02 Goodridge Alan Gardner System for enabling omnidirectional navigation of hierarchical networks with spatial continuity
US8566263B2 (en) * 2003-11-28 2013-10-22 World Assets Consulting Ag, Llc Adaptive computer-based personalities
US7849095B2 (en) * 2006-12-29 2010-12-07 Brooks Roger K Method for using two-dimensional dynamics in assessing the similarity of sets of data
US8375328B2 (en) * 2009-11-11 2013-02-12 Google Inc. Implementing customized control interfaces
US11074495B2 (en) * 2013-02-28 2021-07-27 Z Advanced Computing, Inc. (Zac) System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US9916538B2 (en) * 2012-09-15 2018-03-13 Z Advanced Computing, Inc. Method and system for feature detection
US9305268B2 (en) * 2012-06-12 2016-04-05 Connotate, Inc. Monitoring and replaying user behaviors on the web
US10963810B2 (en) * 2014-06-30 2021-03-30 Amazon Technologies, Inc. Efficient duplicate detection for machine learning data sets
US9734147B2 (en) * 2014-09-29 2017-08-15 International Business Machines Corporation Clustering repetitive structure of asynchronous web application content
US10545956B2 (en) * 2015-06-05 2020-01-28 Insight Engines, Inc. Natural language search with semantic mapping and classification
KR20180126452A (ko) * 2016-01-05 2018-11-27 센티언트 테크놀로지스 (바베이도스) 리미티드 인공 신경망을 이용하는 웹 인터페이스 생성 및 테스팅
US20170308535A1 (en) * 2016-04-22 2017-10-26 Microsoft Technology Licensing, Llc Computational query modeling and action selection
US9740368B1 (en) * 2016-08-10 2017-08-22 Quid, Inc. Positioning labels on graphical visualizations of graphs
US9836183B1 (en) * 2016-09-14 2017-12-05 Quid, Inc. Summarized network graph for semantic similarity graphs of large corpora
US11232101B2 (en) 2016-10-10 2022-01-25 Microsoft Technology Licensing, Llc Combo of language understanding and information retrieval
US10831450B2 (en) * 2016-10-26 2020-11-10 Soroco Private Limited Systems and methods for discovering automatable tasks
US10552468B2 (en) * 2016-11-01 2020-02-04 Quid, Inc. Topic predictions based on natural language processing of large corpora
US9977729B1 (en) * 2016-11-23 2018-05-22 Google Llc Testing applications with a defined input format
CN108230057A (zh) * 2016-12-09 2018-06-29 阿里巴巴集团控股有限公司 一种智能推荐方法及系统
US9715495B1 (en) * 2016-12-15 2017-07-25 Quid, Inc. Topic-influenced document relationship graphs
US10803249B2 (en) * 2017-02-12 2020-10-13 Seyed Ali Loghmani Convolutional state modeling for planning natural language conversations
WO2018183546A1 (en) * 2017-03-28 2018-10-04 Sri International Identification system for subject or activity identification using range and velocity data
US9911211B1 (en) * 2017-04-13 2018-03-06 Quid, Inc. Lens-based user-interface for visualizations of graphs
US20180357240A1 (en) * 2017-06-08 2018-12-13 Facebook, Inc. Key-Value Memory Networks
US11170179B2 (en) * 2017-06-30 2021-11-09 Jpmorgan Chase Bank, N.A. Systems and methods for natural language processing of structured documents
US10592147B2 (en) * 2017-07-26 2020-03-17 International Business Machines Corporation Dataset relevance estimation in storage systems
US11010656B2 (en) * 2017-10-30 2021-05-18 Clinc, Inc. System and method for implementing an artificially intelligent virtual assistant using machine learning
EP3714380A4 (en) * 2017-11-24 2021-06-02 Microsoft Technology Licensing, LLC PROVIDING A SUMMARY OF A MULTIMEDIA DOCUMENT IN A SESSION
KR102449842B1 (ko) * 2017-11-30 2022-09-30 삼성전자주식회사 언어 모델 학습 방법 및 이를 사용하는 장치
US10769056B2 (en) * 2018-02-26 2020-09-08 The Ultimate Software Group, Inc. System for autonomously testing a computer system
US10931702B2 (en) * 2018-04-24 2021-02-23 Cyberfortress, Inc. Vulnerability profiling based on time series analysis of data streams
US10824658B2 (en) * 2018-08-02 2020-11-03 International Business Machines Corporation Implicit dialog approach for creating conversational access to web content
US10915588B2 (en) * 2018-08-02 2021-02-09 International Business Machines Corporation Implicit dialog approach operating a conversational access interface to web content
CN112771530A (zh) * 2018-09-27 2021-05-07 谷歌有限责任公司 交互式web文档的自动导航

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101846525A (zh) * 2009-03-23 2010-09-29 华为软件技术有限公司 导航信息处理、获取方法及装置
CN105283837A (zh) * 2013-05-21 2016-01-27 微软技术许可有限责任公司 适于在语音用户界面中使用的用于找出web页面中的元素的方法(消歧)
US20150149168A1 (en) * 2013-11-27 2015-05-28 At&T Intellectual Property I, L.P. Voice-enabled dialog interaction with web pages
CN103970839A (zh) * 2014-04-24 2014-08-06 四川长虹电器股份有限公司 语音控制网页浏览的方法
US20150364132A1 (en) * 2014-06-13 2015-12-17 Nuance Communications, Inc. Structured natural language representations
US20160078019A1 (en) * 2014-09-12 2016-03-17 Microsoft Corporation Actions on digital document elements from voice
CN107430859A (zh) * 2015-04-08 2017-12-01 谷歌公司 将输入映射到表单域
US20170140755A1 (en) * 2015-11-12 2017-05-18 Semantic Machines, Inc. Interaction assistant
CN108108387A (zh) * 2016-11-23 2018-06-01 谷歌有限责任公司 基于模版的结构化文档分类和提取
CN107992587A (zh) * 2017-12-08 2018-05-04 北京百度网讯科技有限公司 一种浏览器的语音交互方法、装置、终端和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116149631A (zh) * 2023-01-05 2023-05-23 三峡高科信息技术有限责任公司 一种基于自然语言生成Web智能表单的方法
CN116149631B (zh) * 2023-01-05 2023-10-03 三峡高科信息技术有限责任公司 一种基于自然语言生成Web智能表单的方法

Also Published As

Publication number Publication date
US20230394102A1 (en) 2023-12-07
US20210334320A1 (en) 2021-10-28
EP3857330A1 (en) 2021-08-04
US11734375B2 (en) 2023-08-22
WO2020069387A1 (en) 2020-04-02

Similar Documents

Publication Publication Date Title
US11734375B2 (en) Automatic navigation of interactive web documents
US11971936B2 (en) Analyzing web pages to facilitate automatic navigation
US11868732B2 (en) System for minimizing repetition in intelligent virtual assistant conversations
US11775254B2 (en) Analyzing graphical user interfaces to facilitate automatic interaction
US10679622B2 (en) Dependency graph generation in a networked system
US11347801B2 (en) Multi-modal interaction between users, automated assistants, and other computing services
US11836183B2 (en) Digital image classification and annotation
CN112136124A (zh) 用于与计算机实现的自动助理进行人机对话会话的依赖图谈话建模
CN112868060A (zh) 用户、自动化助理和其它计算服务之间的多模态交互
US20200183928A1 (en) System and Method for Rule-Based Conversational User Interface
US20230306205A1 (en) System and method for personalized conversational agents travelling through space and time
CN115605871A (zh) 基于实体或实体类型推荐动作
US11842206B2 (en) Generating content endorsements using machine learning nominator(s)
CN112955911B (zh) 数字图像分类和注释
US20230409615A1 (en) Systems and Methods for Providing User Experiences on Smart Assistant Systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination