CN111108476A - 通过语音驱动的计算基础设施进行的图形用户界面渲染管理 - Google Patents

通过语音驱动的计算基础设施进行的图形用户界面渲染管理 Download PDF

Info

Publication number
CN111108476A
CN111108476A CN201880061283.7A CN201880061283A CN111108476A CN 111108476 A CN111108476 A CN 111108476A CN 201880061283 A CN201880061283 A CN 201880061283A CN 111108476 A CN111108476 A CN 111108476A
Authority
CN
China
Prior art keywords
responses
data processing
processing system
component
computing device
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.)
Granted
Application number
CN201880061283.7A
Other languages
English (en)
Other versions
CN111108476B (zh
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 CN111108476A publication Critical patent/CN111108476A/zh
Application granted granted Critical
Publication of CN111108476B publication Critical patent/CN111108476B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • 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
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)

Abstract

提供了管理图形用户界面的渲染。系统接收包括输入音频信号的数据分组。该系统确定应用标识符和查询。该系统向应用提供查询以使应用生成第二查询以传输到第三方服务器,并识别对查询的响应。该系统拦截响应,并基于响应生成关键词。该系统使用关键词选择数字组成部分,执行重复删除过程并确定将数字组成部分添加到响应中。该系统使用图形用户界面模板来构造显示输出,该图形用户界面模板将由应用生成的多个响应与数字组件集成在一起,并将显示输出提供给计算设备以进行渲染。

Description

通过语音驱动的计算基础设施进行的图形用户界面渲染管理
背景技术
计算设备可以接收通过计算机网络传输的数据。设备可以呈现数据。由于过多的数据传输,有效地呈现来自多个源的数据可能具有挑战性。
发明内容
本公开总体上涉及通过语音驱动的计算基础设施进行的图形用户界面渲染管理。可以接收来自多个、完全不同的源的响应或输出。每个源都可以提供处于一种格式的输出。执行来自不同源的输出的多个渲染可能效率低下或占用大量处理器资源。
至少一个方面涉及一种用于管理图形用户界面的渲染的系统。该系统可以包括具有一个或多个处理器和存储器的数据处理系统。数据处理系统可以执行自然语言处理器组件、接口、输出合并组件和内容选择器组件。数据处理系统可以经由接口接收包括由计算设备的传感器检测到的输入音频信号的数据分组。数据处理系统可以从输入音频信号中确定应用标识符和要输入到与该应用标识符相对应的应用中的查询。数据处理系统可以向应用提供查询,以使应用生成第二查询以传输到第三方服务器,并识别对该查询的多个响应以经由计算设备显示。数据处理系统可以在计算设备上显示之前,从应用中获取由应用响应于传输给第三方服务器的第二查询而识别的多个响应。数据处理系统可以解析多个响应以基于多个响应来生成关键词。数据处理系统可以响应于关键词的生成,利用基于从应用获取的多个响应而生成的关键词来执行实时内容选择过程。数据处理系统可以基于实时内容选择过程来识别由内容提供方设备提供的数字组成部分。数据处理系统可以利用数字组成部分和由应用生成的多个响应来执行重复删除(deduplication)过程。数据处理系统可以响应于利用数字组成部分和由应用生成的多个响应执行的重复删除过程来确定将数字组成部分添加到多个响应中。数据处理系统可以针对该应用检索定义字体、颜色和布局的图形用户界面模板,以渲染多个响应。数据处理系统可以使用图形用户界面模板构造显示输出,该图形用户界面模板将由应用生成的多个响应与基于实时内容选择过程识别的数字组成部分集成在一起。数据处理系统可以将显示输出提供给计算设备,以使计算设备渲染显示输出以经由通信地耦合到计算设备的显示设备显示。
至少一个方面涉及一种管理图形用户界面的渲染的方法。该方法可以由具有一个或多个处理器和存储器的数据处理系统执行。该方法可以包括数据处理系统经由接口接收包括由计算设备的传感器检测到的输入音频信号的数据分组。该方法可以包括数据处理系统通过数据处理系统从输入音频信号中确定应用标识符和要输入到与该应用标识符相对应的应用中的查询。该方法可以包括:数据处理系统向应用提供查询,以使应用生成第二查询以传输到第三方服务器,并识别对该查询的多个响应以经由计算设备显示。该方法可以包括:数据处理系统在计算设备上显示之前,从应用获取由应用响应于传输至第三方服务器的第二查询而识别的多个响应。该方法可以包括数据处理系统解析多个响应以基于多个响应生成关键词。该方法可以包括数据处理系统响应于关键词的生成,利用基于从应用获取的多个响应而生成的关键词来执行实时内容选择过程。该方法可以包括数据处理系统基于实时内容选择过程来识别由内容提供方设备提供的数字组成部分。该方法可以包括数据处理系统利用数字组成部分和由应用生成的多个响应来执行重复删除过程。该方法可以包括:数据处理系统响应于利用数字组成部分和由应用生成的多个响应执行的重复删除过程来确定将数字组成部分添加到多个响应中。该方法可以包括数据处理系统针对该应用检索定义字体、颜色和布局的图形用户界面模板以渲染多个响应。该方法可以包括数据处理系统使用图形用户界面模板构造显示输出,该图形用户界面模板将由应用生成的多个响应与基于实时内容选择过程识别的数字组成部分集成在一起。该方法可以包括数据处理系统将显示输出提供给计算设备,以使计算设备渲染显示输出以经由通信地耦合到计算设备的显示设备来显示。
至少一个方面涉及一种数字助理设备。数字助理设备可以包括显示设备、图形驱动器、传感器和预处理器组件。传感器可以检测输入音频信号。预处理器组件可以耦合到显示设备、图形驱动器和传感器。预处理器组件可以对输入音频信号进行滤波以创建滤波后的输入音频信号。预处理器组件可以将滤波后的输入音频信号转换为数据分组。预处理器组件可以将数据分组传输到数据处理系统。该数据处理系统可以具有执行自然语言处理器组件、接口、输出合并组件和内容选择器组件的一个或多个处理器和存储器。数据处理系统可以经由接口接收包括由计算设备的传感器检测到的输入音频信号的数据分组。数据处理系统可以从输入音频信号中确定应用标识符和要输入到与该应用标识符相对应的应用中的查询。数据处理系统可以向应用提供查询,以使应用生成第二查询以传输到第三方服务器,并识别对该查询的多个响应以经由计算设备显示。数据处理系统可以在计算设备上显示之前,从应用获取由应用响应于传输给第三方服务器的第二查询而识别的多个响应。数据处理系统可以解析多个响应以基于多个响应来生成关键词。数据处理系统可以响应于关键词的生成,利用基于从应用获取的多个响应而生成的关键词来执行实时内容选择过程。数据处理系统可以基于实时内容选择过程来识别由内容提供方设备提供的数字组成部分。数据处理系统可以利用数字组成部分和由应用生成的多个响应来执行重复删除过程。数据处理系统可以响应于利用数字组成部分和由应用生成的多个响应执行的重复删除过程来确定将数字组成部分添加到多个响应中。数据处理系统可以针对该应用检索定义字体、颜色和布局的图形用户界面模板,以渲染多个响应。数据处理系统可以使用图形用户界面模板构造显示输出,该图形用户界面模板将由应用生成的多个响应与基于实时内容选择过程识别的数字组成部分集成在一起。数据处理系统可以将显示输出提供给数字助理设备,以使数字助理设备渲染显示输出以经由通信地耦合至数字助理设备的显示设备显示。数字助理设备的图形驱动器可以渲染显示输出,以使显示设备呈现与显示输出相对应的视觉指示。
这些和其他方面以及实施方式在下面详细讨论。前述信息和以下详细描述包括各个方面和实施方式的说明性示例,并且提供用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供对各个方面和实施方式的说明和进一步理解,并且被并入本说明书中并构成本说明书的一部分。
附图说明
附图并非旨在按比例绘制。在各个附图中,相似的附图标记和名称指示相似的元素。为了清楚起见,并非在每个附图中都标记了每个组件。在附图中:
图1是用于管理图形用户界面的渲染的系统的图示。
图2是用于管理图形用户界面的渲染的系统的操作的图示。
图3是由用于管理图形用户界面的渲染的系统提供的图形用户界面的图示。
图4是管理图形用户界面的渲染的方法的图示。
图5是图示可用于实现本文描述和示出的系统和方法的元件的计算机系统的总体架构的框图。
具体实施方式
下面是与经由计算机网络进行路由分组化动作的方法、装置和系统有关的各种概念以及其实现的更详细描述。可以以许多方式中的任何一种来实现上面介绍和下面更详细讨论的各种概念。
本公开总体上涉及管理图形用户界面的渲染。可以接收来自多个完全不同源的响应或输出。每个源都可以提供格式的输出。执行来自不同来源的输出的多个渲染可能效率低下或占用大量处理器资源。
本方案的系统和方法通常涉及将数字助理与第三方用户体验集成在一起。计算系统可以从多个源提供数字组成部分。然而,经由单个接口有效地呈现来自完全不同的源的数字组成部分可能是具有挑战性的。本方案的系统和方法涉及将数字助理与第三方用户体验集成在一起。例如,本公开可以允许数字助理与聊天机器人应用集成在一起,以便提供与聊天机器人的界面一致的用户体验和界面,从而在由数字驱动的视觉显示器内提供第三方的外观和感觉。聊天机器人应用可以指计算机程序,该计算机程序使用音频输出或显示文本来模拟对话。在某些情况下,数字助理可以添加来自其他源的内容以用于与第三方内容一起进行呈现。例如,用户可以提交语音查询“Chatbot,suggest some restaurantsnearby(聊天机器人,建议附近的一些餐馆)”,并且数字助理可以利用来自聊天机器人的有机内容以及集成的赞助数字组成部分进行响应。
图1图示用于管理图形用户界面的渲染的示例系统100。系统100可以包括内容选择基础设施。系统100可以包括数据处理系统102。数据处理系统102可以经由网络105与内容提供方计算设备106、聊天机器人提供方设备108或客户端计算设备104中的一个或多个通信。网络105可以包括诸如互联网、局域网、广域网、城域网或其他区域网络的计算机网络、内联网、卫星网络以及诸如语音或数据移动电话网络的其他通信网络。网络105可以用于访问诸如网页、网站、域名或统一资源定位符之类的信息资源,该信息资源可以在至少一个计算设备104上呈现、输出、渲染或显示,该计算设备102诸如膝上型计算机、台式计算机、平板计算机、数字助理、个人数字助理、智能手表、可穿戴设备、智能手机、便携式计算机或扬声器。例如,经由网络105,计算设备104的用户可以访问由聊天机器人提供方108或内容提供方计算设备106提供的信息或数据。计算设备104可以或可以不包括显示器;例如,计算设备可以包括有限类型的用户接口,诸如,麦克风和扬声器。在某些情况下,计算设备104的主要用户接口可以是麦克风和扬声器。
网络105可以包括或构成显示网络,例如,互联网上可用的与内容放置或搜索引擎结果系统相关联或有资格包括第三方数字组成部分作为数字组成部分放置活动的一部分的信息资源的子集。数据处理系统102可以使用网络105来访问信息资源,诸如,可以由客户端计算设备104呈现、输出、渲染或显示的网页、网站、域名或统一资源定位符。例如,经由网络105,客户端计算设备104的用户可以访问由内容提供方计算设备106或聊天机器人提供方计算设备108提供的信息或数据。
网络105可以是任何类型或形式的网络,并且可以包括以下任何一种:点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光网络)网络、SDH(同步数字体系)网络、无线网络和有线网络。网络105可以包括无线链路,诸如,红外信道或卫星频带。网络105的拓扑可以包括总线型、星型或环型网络拓扑。该网络可以包括使用任何一种或多种用于在移动设备之间进行通信的协议的移动电话网络,该协议包括高级移动电话协议(“AMPS”)、时分多址(“TDMA”)、码分多址(“CDMA”)、全球移动通信系统(“GSM”)、通用分组无线业务(“GPRS”)或通用移动电信系统(“UMTS”)。可以经由不同的协议传输不同类型的数据,或者可以经由不同的协议传输相同类型的数据。
系统100可以包括至少一个数据处理系统102。数据处理系统102可以包括至少一个诸如具有处理器的计算设备的逻辑设备以经由网络105与例如计算设备104、内容提供方设备106(内容提供方计算设备106)或聊天机器人提供方设备108(或聊天机器人提供方108)通信。数据处理系统102可以包括至少一个计算资源、服务器、处理器或存储器。例如,数据处理系统102可以包括位于至少一个数据中心中的多个计算资源或服务器。数据处理系统102可以包括多个按逻辑分组的服务器,并且有助于分布式计算技术。服务器的逻辑组可以称为数据中心、服务器场或机器场。服务器也可以在地理上分散。数据中心或机器场可以作为单个实体进行管控,或者机器场可以包括多个机器场。每个机器场内的服务器可以是异构的——服务器或机器中的一个或多个可以根据一种或多种类型的操作系统平台进行操作。
机器场中的服务器可以与关联的存储系统一起存储在高密度机架系统中,并且可以位于企业数据中心中。例如,通过在本地化的高性能网络上定位服务器和高性能存储系统,以这种方式整合服务器可以提高系统的可管理性、数据安全性、系统的物理安全性和系统性能。集中包括服务器和存储系统的所有或一些数据处理系统102组件并将它们与高级系统管理工具相结合允许更有效地利用服务器资源,这节省了功率和处理需求并减少了带宽使用。
计算设备104可以包括下述组件,与下述组件接合(interface)或以其他方式与下述组件通信:至少一个显示器132、至少一个传感器134、至少一个换能器136、至少一个音频驱动器138或至少一个预处理器140。显示器132可以包括被配置为提供视觉指示或光学输出的一个或多个硬件或软件组件,诸如,发光二极管、有机发光二极管、液晶显示器,激光器或显示器535。传感器134可以包括:例如,相机、环境光传感器、接近传感器、温度传感器、加速度计、陀螺仪、运动检测器、GPS传感器、位置传感器、麦克风、视频、图像检测或触摸传感器。换能器136可包括扬声器或麦克风或为扬声器或麦克风的一部分。音频驱动器138可以向硬件换能器136提供软件接口。音频驱动器可以执行音频文件或由数据处理系统102提供的其他指令,以控制换能器136生成对应的音波或声波。预处理器140可包括一个或多个处理器(例如,处理器510)、逻辑阵列或存储器。预处理器140可以检测关键词并基于该关键词执行动作。预处理器140可以在将词项传输到数据处理系统102以进行进一步处理之前滤波掉一个或多个词项或修改词项。预处理器140可以将由麦克风检测到的模拟音频信号转换为数字音频信号,并经由网络105将携带数字音频信号的一个或多个数据分组传输到数据处理系统102。在某些情况下,预处理器140可以响应于检测到用于执行这种传输的指令来传输携带输入音频信号中的一些或全部的数据分组。该指令可以包括例如触发关键词或其他关键词,或可以批准将包括输入音频信号的数据分组传输到数据处理系统102。
预处理器140可以对输入音频信号执行预滤波或预处理以去除某些频率的音频。预滤波可以包括诸如低通滤波器、高通滤波器或带通滤波器之类的滤波器。滤波器可以应用于频域。可以使用数字信号处理技术来应用滤波器。滤波器可以配置为保留对应于人类语音或人类话语的频率,同时消除属于人类话语的典型频率之外的频率。例如,带通滤波器可以被配置为去除低于第一阈值(例如,70Hz、75Hz、80Hz、85Hz、90Hz、95Hz、100Hz或105Hz)以及高于第二阈值(例如,200Hz、205Hz、210Hz、225Hz、235Hz、245Hz或255Hz)的频率。应用带通滤波器可以减少下游处理中的计算资源利用。在某些情况下,计算设备104上的预处理器140可以在将输入音频信号传输到数据处理系统102之前应用带通滤波器,从而降低网络带宽利用。然而,基于可用于计算设备104的计算资源和可用的网络带宽,将输入音频信号提供给数据处理系统102以允许数据处理系统102执行滤波可能更高效。
预处理器140可以应用附加预处理或预滤波技术,诸如,降噪技术,以减少可能干扰自然语言处理器的环境噪声水平。降噪技术可以提高自然语言处理器的准确性和速度,从而提高数据处理系统102的性能,并管理经由显示器132提供的图形用户界面的渲染。
客户端计算设备104(或称为计算设备104)可以与终端用户相关联,该终端用户将语音查询作为音频输入(经由传感器134)输入到客户端计算设备104中并接收形式为计算机生成语音的音频输出,该音频输出可以从数据处理系统102(或内容提供方计算设备106或聊天机器人提供方计算设备108)提供给客户端计算设备104,从换能器136(例如,扬声器)输出。计算机生成语音可以包括来自真实人或计算机生成语言的录音。客户端计算设备104可以经由通信地耦合到计算设备104的显示设备132提供视觉输出。
客户端计算设备104可以与提供图像或视频的终端用户相关联,该图像或视频可以指示作为(经由传感器134)对客户端计算设备104的输入的查询。终端用户响应于输入可以接收计算机生成语音形式的音频输出,该音频输出可以从数据处理系统102(或内容提供方计算设备106或聊天机器人提供方计算设备108)提供给客户端计算设备104,从换能器136(例如,扬声器)输出。终端用户响应于输入可以接收计算机生成图形用户界面形式的视觉输出,该视觉输出可以从数据处理系统102(或内容提供方计算设备106或聊天机器人提供方计算设备108)提供给客户端计算设备104,输出到显示器132。由一个或多个传感器134检测到的输入可以包括音频输入(例如,声信号)、视觉输入(例如,图像或视频数据)、运动输入或其他输入中的一个或多个。可以将对计算设备104的输入(例如,音频、图像、视觉或运动输入中的一个或多个)转换为数字文件,并提供给数据处理系统102以进行进一步处理或生成动作。例如,对计算设备104的输入(例如,音频、图像、视觉或运动输入中的一个或多个)可以触发对包括聊天机器人的计算机程序的选择,触发要输入到聊天机器人的查询的生成,并且聊天机器人可以将响应于所生成的查询或与输入相对应的输出(例如,音频、图像、视觉或运动输入中的一个或多个)提供给计算设备104。
计算设备104可以接收由计算设备104的传感器134(例如,麦克风)检测到的输入音频信号。输入音频信号可以包括例如查询、问题、命令、指令或其他以语言提供的声明。输入音频信号可以包括问题或查询所指向的聊天机器人的标识符或名称。例如,查询可以包括后跟查询的聊天机器人的名称,以便指令数据处理系统102将查询输入到指定的聊天机器人中。例如,输入音频信号可以包括“Foodbot,suggest some good restaurants nearby(食品机器人,建议附近有一些好的餐馆)”。输入音频信号可以或可以不包括聊天机器人的标识符。
系统100可以包括、访问至少一个第三方聊天机器人提供方设备108或以其他方式与之交互。第三方聊天机器人提供方设备108可以包括一个或多个服务器,并且可以被称为第三方聊天机器人服务器。第三方聊天机器人提供方设备108可以与数据处理系统102集成在一起,或者至少部分地由数据处理系统102执行。第三方聊天机器人提供方设备108可以包括至少一个诸如具有处理器的计算设备的逻辑设备以经由网络105与例如计算设备104、数据处理系统102或内容提供方计算设备106通信。聊天机器人提供方设备108可以包括至少一个计算资源、服务器、处理器或存储器。例如,聊天机器人提供方设备108可以包括位于至少一个数据中心中的多个计算资源或服务器。聊天机器人提供方设备108可以包括数据处理系统102的一个或多个组件或功能。
聊天机器人提供方设备108可以包括或指代聊天机器人开发者,诸如,设计、开发、管理或维护形成或提供一个或多个聊天机器人的计算机程序的实体。聊天机器人可以包括经由听觉、图像或文本方法进行对话的计算机程序。聊天机器人可以设计为模拟人类作为对话伙伴将如何表现。聊天机器人可以在对话系统中用于客户服务或信息获取。聊天机器人可以包括或使用自然语言处理系统(例如,自然语言处理器组件112)。聊天机器人可以扫描输入中的关键词,然后从数据库中提取具有最匹配关键词或最相似措词模式的回复。聊天机器人可以编程有过程,该过程利用应用模式匹配来查找预定义的对话数据结构。聊天机器人可以编程有自然语言处理技术以识别输入的语法和句法,令牌化输入或以其他方式处理输入以确定响应。
聊天机器人提供方设备108可以包括至少一个聊天机器人提供方自然语言处理器组件142和聊天机器人提供方接口144,与之接合或可以以其他方式与之通信。聊天机器人提供方计算设备108可以包括至少一个聊天机器人提供方自然语言处理器(NLP)组件142和至少一个聊天机器人提供方接口144。聊天机器人提供方NLP组件142(或聊天机器人提供方计算设备108的其他组件)可以与客户端计算设备104交互(经由数据处理系统102或绕过数据处理系统102),以在客户端计算设备104和聊天机器人提供方计算设备108之间创建来回实时语音或基于音频的对话(例如,会话)。聊天机器人提供方NLP 142可以包括如数据处理系统102的NLP组件112的一个或多个功能或特征。例如,聊天机器人提供方接口144可以接收数据消息或向数据处理系统102的接口110提供数据消息。聊天机器人提供方计算设备108和内容提供方计算设备106可以与同一实体相关联。例如,内容提供方计算设备106可以为聊天机器人创建、存储或提供数字组成部分,并且聊天机器人提供方计算设备108可以与客户端计算设备106建立会话,以经由客户端计算设备104经由聊天机器人进行通信。数据处理系统102还可经由接口110、聊天机器人组件114或其他组件与客户端计算设备104建立会话,包括或绕过聊天机器人提供方计算设备104。
第三方聊天机器人提供方设备108可以指与管控或提供数据处理系统102的实体不同的实体的一个或多个服务器。第三方聊天机器人设备108可以接收用于聊天机器人的计算机程序。第三方聊天机器人设备108可以提供自然语言处理和其他功能。第三方聊天机器人设备108可以与计算设备104接合或通信以提供聊天机器人功能。例如,第三方聊天机器人设备108可以执行或运行该聊天机器人以便与计算设备104的用户进行对话。第三方聊天机器人设备108可以在远离数据处理系统102和计算设备104的服务器上执行。在某些情况下,第三方聊天机器人设备108可以至少部分地在计算设备104上执行(例如,作为预处理器140的一部分)。
数据处理系统102可以包括具有至少一个计算资源或服务器的内容放置系统。数据处理系统102可以包括至少一个接口110,与至少一个接口110接合或以其他方式与至少一个接口110通信。数据处理系统102可包括至少一个自然语言处理器组件112,与至少一个自然语言处理器组件112接合或以其他方式与至少一个自然语言处理器组件112通信。数据处理系统102可包括至少一个聊天机器人组件114,与至少一个聊天机器人组件114接合或以其他方式与至少一个聊天机器人组件114通信。数据处理系统102可以包括至少一个挂钩组件116,与至少一个挂钩组件116接合或以其他方式与至少一个挂钩组件116通信。数据处理系统102可以包括至少一个内容选择器组件118,与至少一个内容选择器组件118接合或以其他方式与至少一个内容选择器组件118通信。数据处理系统102可以包括至少一个输出合并组件120,与至少一个输出合并组件120接合或以其他方式与至少一个输出合并组件120通信。数据处理系统102可以包括至少一个数据存储库122,与至少一个数据存储库122接合或以其他方式与至少一个数据存储库122通信。至少一个数据存储库122可在一个或多个数据结构或数据库中包括或存储模板124、历史数据126、内容数据128或聊天机器人数据130。数据存储库122可以包括计算机数据存储或存储器,并且可以存储一个或多个模板124、历史数据126、内容数据128或聊天机器人数据130以及其他数据。模板124可以包括有助于生成显示输出的信息。模板124可以包括图形用户界面模板。图形用户界面模板可以定义字体、颜色或布局以生成显示输出,诸如经由聊天机器人界面的显示输出。模板124可以被存储为例如数据结构、照片编辑器文件或样式表。
历史数据126可以存储在一个或多个数据结构中。历史数据126可以包括与计算设备104相关联的历史网络活动、计算设备104所利用的聊天机器人的标识符、计算设备104的配置、设备功能、偏好或与计算设备104相关联的其他信息,该信息可以促进内容选择或在聊天机器人结果中选择要插入数字组成部分的定位。内容数据130可以包括例如内容活动信息、内容组、内容选择标准、数字组成部分对象或由内容提供方计算设备106提供或由数据处理系统获取或确定以促进内容选择的其他信息。内容数据130可以包括例如内容活动的历史性能。内容数据128可以包括用于音频输出、显示输出或相关联的元数据的数字组成部分,以及可以是与客户端计算设备104的一个或多个通信会话的一部分的输入音频消息。数字组成部分(或数字组成部分对象)内容可以包括例如内容项、在线文档、音频、图像、视频、多媒体内容或赞助内容。
聊天机器人数据130可以包括聊天机器人的标识符、关于聊天机器人的类型的信息(例如,类别、限制或话题)。聊天机器人数据130可以存储在数据结构中,并且可以基于聊天机器人的标识符进行索引。聊天机器人数据130可以基于与计算设备104相关联的标识符被进一步索引。数据存储库122可以包括一个或多个本地或分布式数据库,并且可以包括数据库管理系统。
接口110、自然语言处理器组件112、聊天机器人组件114、挂钩组件116、内容选择器组件118或输出合并组件120均可以包括至少一个处理单元或诸如可编程逻辑阵列引擎的其他逻辑设备,或配置为与数据库存储库或数据库122通信的模块。接口110、自然语言处理器组件112、聊天机器人组件114、挂钩组件116、内容选择器组件118、输出合并组件120和数据存储库122可以是单独的组件、单个组件或数据处理系统102的一部分。系统100及其诸如数据处理系统102的组件可以包括硬件元件,诸如,一个或多个处理器、逻辑设备或电路。
数据处理系统102可以获取与多个计算设备104相关联的匿名计算机网络活动信息。计算设备104的用户可以肯定地授权数据处理系统102获取与该用户的计算设备104相对应的网络活动信息。例如,数据处理系统102可以提示计算设备104的用户以得到同意以获取一种或多种类型的网络活动信息。计算设备104的用户的身份可以保持匿名,并且计算设备104可以与唯一标识符(例如,由数据处理系统或计算设备的用户提供的用户或计算设备的唯一标识符)相关联。数据处理系统可以将每个观察结果与对应的唯一标识符相关联。
内容提供方计算设备106可以提供基于音频、视觉或多媒体的数字组成部分,以供客户端计算设备104呈现为音频输出数字组成部分或视觉输出数字组成部分。数字组成部分可以是或包括数字组成部分。数字组成部分可以是或可以包括数字对象。数字组成部分可以包括商品或服务的品牌名称或公司名称。可以为参数驱动的文本到话音技术配置数字组成部分。可以为将普通语言文本转换为话音的文本到话音(TTS)实现配置数字组成部分。可以将数字组成部分输入到应用编程接口,该应用编程接口利用话音合成能力将文本合成为各种语言、口音和嗓音的自然发音话音。可以将数字组成部分编码为纯文本或话音合成标记语言(SSML)。SSML可以包括可以被设置为控制话音的各方面的参数,所述各方面诸如可以形成声学指纹或本机语音的发音、音量、音高或速率。
内容提供方计算设备106可以提供数字组成部分的内容选择标准,诸如,值、关键词、概念或促进内容选择过程的其他元数据或信息。内容提供方计算设备106还可以将基于音频的数字组成部分(或其他数字组成部分)提供给数据处理系统102,在所述数据处理系统102中它们可以被存储在数据存储库122中。数据处理系统102可以选择音频数字组成部分(或为参数驱动的文本、图像或视频到话音技术配置的组成部分)并将音频数字组成部分提供(或指令内容提供方计算设备106将音频数字组成部分提供)给客户端计算设备104。基于音频的数字组成部分可以排他地是音频,或可以与文本、图像或视频数据相结合。
内容提供方计算设备106可以将数字组成部分提供给数据处理系统102,用于存储在数据存储库122中在内容数据数据结构128中。数据处理系统102可以响应于对内容的请求或以其他方式确定要提供数字组成部分而检索数字组成部分。
内容提供方计算设备106可以建立电子内容活动。电子内容活动可以作为内容数据128存储在数据存储库122中。电子内容活动可以指与公共主题相对应的一个或多个内容组。内容活动可以包括分层数据结构,该分层数据结构包括内容组、数字组成部分数据对象(例如,数字组成部分或数字对象)和内容选择标准。为了创建内容活动,内容提供方计算设备106可以指定用于内容活动的活动级别参数的值。活动级别参数可以包括例如活动名称、用于放置数字组成部分对象的优选内容网络、用于内容活动的资源的值、内容活动的开始和结束日期、内容活动的持续时间、数字组成部分对象放置的时间表、语言、地理位置、要在其上提供数字组成部分对象的计算设备类型。在某些情况下,曝光(impression)可以指从数字组成部分对象的源(例如,数据处理系统102或内容提供方计算设备106)中获取该数字组成部分对象的时间,并且曝光是可计数的。在某些情况下,由于点击欺诈的可能性,因此,机器人活动作为曝光可以被过滤并排除。因此,在某些情况下,曝光可以指对来自Web服务器的对来自浏览器的页面请求的响应的度量,该度量是从机器人活动和错误代码中过滤,并记录在尽可能接近用于渲染数字组成部分的机会的位置,以显示在计算设备104上。在某些情况下,曝光可以指可见的或可听的曝光;例如,数字组成部分对象或数字组成部分至少部分(例如,20%、30%、30%、40%、50%、60%、70%或更多)在客户端计算设备104的显示设备上可见,或经由计算设备104的扬声器136可听。点击或选择可以指与数字组成部分对象的用户交互,诸如,对可听曝光的语音响应、鼠标点击、触摸交互、手势、摇动、音频交互或键盘点击。转化可以指用户针对数字组成部分对象采取了预期的行动;例如,购买产品或服务、完成调查、访问与数字组成部分相对应的实体店或完成电子交易。
内容提供方计算设备106可以进一步为内容活动建立一个或多个内容组。内容组包括一个或多个数字组成部分对象和相应的内容选择标准,诸如,关键词、单词、词项、短语、地理位置、计算设备的类型,一天中的时间、兴趣、话题或垂直领域。相同内容活动下的内容组可以共享相同的活动级别参数,但是可以具有针对内容组级别参数的定制规范,诸如,关键词、否定关键词(例如,在主要内容上存在否定关键词的情况下阻止数字组成部分的放置)、关键词竞价或与竞价或内容活动相关联的参数。
为了创建新的内容组,内容提供方计算设备106可以提供内容组的内容组级别参数的值。内容组级别参数包括,例如,内容组名称或内容组主题,以及针对不同内容放置机会(例如,自动放置或管理放置)的竞价或结果(例如,点击、曝光或转化)。内容组名称或内容组主题可以是内容提供方计算设备106可以用来捕获要针对其选择内容组的数字组成部分对象以用于显示的话题或主题的一个或多个词项。例如,食品和饮料公司可以针对其所出售的每种食品或饮料品牌创建不同的内容组,并且可以进一步针对其所出售的每种车辆的模型创建不同的内容组。食品和饮料公司可以使用的内容组主题的示例包括,例如,“品牌A可乐”、“品牌B姜汁”、“品牌C橙汁”、“品牌D运动饮料”或“品牌E纯净水”。例如,示例内容活动主题可以是“苏打水”,并且包括“品牌A可乐”和“品牌B姜汁”的内容组。数字组成部分(或数字组成部分对象或数字组成部分)可以包括“品牌A”、“品牌B”、“品牌C”、“品牌D”或“品牌E”。数字组成部分对象或数字组成部分可以指配置用于参数驱动的文本到话音技术的数字组成部分。
内容提供方计算设备106可以向每个内容组提供一个或多个关键词和数字组成部分对象。关键词可以包括与数字组成部分对象关联或通过数字组成部分对象识别的产品或服务相关的词项。关键词可以包含一个或多个词项或短语。例如,食品和饮料公司可以将“苏打水”、“可乐”、“软饮料”作为内容组或内容活动的关键词,其可以描述品牌提供的商品或服务。在某些情况下,内容提供方可以指定否定关键词,以避免、防止、阻止或禁用对某些词项或关键词的内容放置。内容提供方可以指定用于选择数字组成部分对象的匹配类型,诸如,精确匹配、短语匹配或广泛匹配。
内容提供方计算设备106可以提供一个或多个关键词,以供数据处理系统102使用以选择由内容提供方计算设备106提供的数字组成部分对象。内容提供方计算设备106可以识别一个或多个要竞价的关键词,并进一步提供各种关键词的竞价金额。内容提供方计算设备106可以提供附加内容选择标准,以供数据处理系统102用来选择数字组成部分对象。多个内容提供方106可以对相同或不同的关键词竞价,并且数据处理系统102可以响应于接收到对电子消息的关键词的指示而运行内容选择过程或广告拍卖。
内容提供方计算设备106可以提供一个或多个数字组成部分对象以供数据处理系统102选择。当内容放置机会变得可用时,数据处理系统102可以(例如,经由内容选择器组件118)选择数字组成部分对象,该数字组成部分对象与资源分配、内容时间表、最高竞价、关键词以及为内容组指定的其他选择标准相匹配。内容组中可以包括不同类型的数字组成部分对象,诸如,语音数字组成部分、音频数字组成部分、文本数字组成部分、图像数字组成部分、视频数字组成部分、多媒体数字组成部分或数字组成部分链接。在选择了数字组成部分之后,数据处理系统102可以传输数字组成部分对象以在计算设备104或计算设备104的显示设备上进行渲染。渲染可以包括在显示设备上显示数字组成部分,或者经由计算设备104的扬声器播放数字组成部分。数据处理系统102可以向计算设备104或聊天机器人组件114或第三方聊天机器人提供方设备108提供指令以呈现数字组成部分对象。数据处理系统102可以指令计算设备104、显示器132或计算设备104的音频驱动器138生成音频信号、声波或视觉输出。
数据处理系统102可以包括被设计、配置、构造或操作为使用例如数据分组来接收和传输信息的接口组件110。接口110可以使用一种或多种诸如网络协议的协议来接收和传输信息。接口110可以包括硬件接口、软件接口、有线接口或无线接口。接口110可以促进将数据从一种格式转换或格式化为另一种格式。例如,接口110可以包括应用编程接口,该应用编程接口包括用于在诸如软件组件的各种组件之间进行通信的定义。
数据处理系统102可以包括安装在客户端计算设备104上的应用、脚本或程序,诸如,用于将输入音频信号传送到数据处理系统102的接口110并驱动客户端计算设备的组件以渲染输出音频信号或视觉输出的应用。数据处理系统102可以接收数据分组、数字文件或包括或识别音频输入信号(或输入音频信号)的其他信号。计算设备104可以经由换能器136检测音频信号,并且经由模数转换器将模拟音频信号转换为数字文件。例如,音频驱动器138可以包括模数转换器组件。在某些情况下,预处理器组件140可以将音频信号转换为可以经由数据分组通过网络105传输的数字文件。
数据处理系统102可以执行或运行NLP组件112,以接收或获取包括由计算设备104的传感器134检测到的输入音频信号的数据分组。数据分组可以提供数字文件。NLP组件112可以接收或获取包括音频信号的数字文件或数据分组并解析音频信号。例如,NLP组件112可以提供人与计算机之间的交互。NLP组件112可以配置有用于理解自然语言并允许数据处理系统102从人或自然语言输入中得出含义的技术。NLP组件112可以包括或配置有基于诸如统计机器学习的机器学习的技术。NLP组件112可以利用决策树、统计模型或概率模型来解析输入音频信号。NLP组件112可以执行例如如下功能:诸如,命名实体辨识(例如,给定文本流,确定文本中的哪些项映射到诸如人或地方的适当名称,以及每个这样的名称的类型是什么,诸如,人员、位置或组织)、自然语言生成(例如,将来自计算机数据库中的信息或语义意图转换为可理解的人类语言)、自然语言理解(例如,将文本转换为更正式表示,诸如,计算机模块可以操纵的一阶逻辑结构)、机器翻译(例如,自动将文本从一种人类语言翻译成另一种人类语言)、语素切分(例如,将单词分离为单个语素并识别语素的类别,基于所考虑的语言的单词的词法或结构的复杂性,这可能具有挑战性)、问题回答(例如,确定对人类语言问题的回答,这可以是特定的或开放式的)、语义处理(例如,处理可以在识别单词并将其含义编码后进行,以便将识别出的单词与其他具有相似含义的单词相关联)。
NLP组件112可以通过将输入信号与所存储的(例如,在数据存储库122中)代表性音频波形集进行比较并选择最接近的匹配来将音频输入信号转换为辨识的文本。该音频波形集可以存储在数据存储库122或数据处理系统102可访问的其他数据库中。代表性波形跨大的用户集生成,然后可以用来自用户的话音样本来增强。在音频信号被转换成辨识的文本之后,NLP组件112将文本与单词匹配,该单词例如经由跨用户的训练或通过手动指定与数据处理系统102可以服务的动作相关联。NLP组件112可以将图像或视频输入转换为文本或数字文件。NLP组件112可以处理、分析或解释图像或视频输入以执行动作,生成请求,或者选择或识别数据结构。
音频输入信号可以由客户端计算设备104的传感器134或换能器136(例如,麦克风)检测到。经由换能器136、音频驱动器138或其他组件,客户端计算设备104可以将音频输入信号提供给数据处理系统102(例如,经由网络105),在该数据处理系统102中,可以将其作为数字文件或数字格式接收(例如,经由接口110),并提供给NLP组件112或存储在数据存储库122中。在某些情况下,除了输入声信号之外或代替输入声信号,数据处理系统102可以接收图像或视频输入信号。数据处理系统102可以使用例如图像解释技术、计算机视觉、机器学习引擎或其他技术来处理图像或视频输入信号,以辨识或解释图像或视频以将图像或视频转换为数字文件。一种或多种图像解释技术、计算机视觉技术、机器学习技术可以统称为成像技术。除了音频处理技术之外或代替音频处理技术,数据处理系统102(例如,NLP组件112)可以配置有成像技术。
NLP组件112可以获取输入音频信号。从输入音频信号中,NLP组件112可以识别至少一个请求或与该请求相对应的至少一个触发关键词。该请求可以指示输入音频信号的意图或主题。触发关键词可以指示可能要采取的动作类型。例如,NLP组件112可以解析输入音频信号,以识别至少一个晚上离开家参加晚宴和看电影的请求。触发关键词可以包括指示要采取的动作的至少一个单词、短语、词根或部分单词或派生词。例如,来自输入音频信号的触发关键词“go”(去)或“to go to(要去)”可以指示对交通工具的需求。在该示例中,输入音频信号(或所识别的请求)没有直接表达对交通工具的意图,但是,触发关键词指示乘坐交通工具是由请求指示的至少一个其他动作的辅助动作。
NLP组件112可以解析输入音频信号以识别、确定、检索或以其他方式获取请求和触发关键词。例如,NLP组件112可以将语义处理技术应用于输入音频信号以识别触发关键词或请求。NLP组件112可以将语义处理技术应用于输入音频信号以识别包括诸如第一触发关键词和第二触发关键词的一个或多个触发关键词的触发短语。例如,输入音频信号可以包含句子“Foodbot,suggest some good restaurants nearby”。NLP组件112可以确定输入音频信号包括应用标识符和查询。应用标识符可以指聊天机器人标识符或名称。NLP组件112可以将语义处理技术或其他自然语言处理技术应用于包括句子的数据分组,以识别应用标识符“Foodbot(食品机器人)”和查询“suggest some good restaurants nearby(建议附近的一些好餐馆)”。NLP组件112可以进一步识别多个关键词,诸如,“good(好的)”、“restaurant(餐馆)”和“nearby(附近)”,这些关键词可以用于生成查询以输入到应用中。例如,NLP组件112可以确定触发短语包括触发关键词和可用于形成查询的多个附加关键词。
NLP组件112可以过滤输入音频信号以识别应用标识符和查询。在某些情况下,输入音频信号可以包括查询,但可能不包括应用标识符或聊天机器人的名称。例如,携带输入音频信号的数据分组可以包括“It would be great if I could get help finding somegood restaurants nearby(如果我能得到帮助在附近找到一些好的餐馆,那将是很好的)”,在这种情况下,NLP组件112可以过滤出一个或多个词项,如下所示:“it(那)”、“would(将)”、“be(是)”、“great(很好的)”、“if(如果)”、“I(我)”、“could(能)”、“get(得到)”或“help(帮助)”。通过滤出这些词项,NLP组件112可以更准确和可靠地识别查询或关键词,诸如“finding(找到)”、“good(好)”、“restaurant(餐馆)”、“nearby(附近)”,并确定这是启动餐馆聊天机器人的请求。
输入音频信号可以包括应用标识符,诸如,期望的聊天机器人的标识符。输入音频信号可以包括聊天机器人的唯一标识符、聊天机器人的名称、或有关启动或调用哪个聊天机器人的其他指示。例如,输入音频信号可以包括聊天机器人的名称,诸如,“食品机器人”。应用标识符可以是字母数字标识符。
因此,数据处理系统102可以接收与携带由计算设备104的传感器134或换能器136检测到的语音内容的输入音频信号相对应的数据分组。输入音频信号可以通过计算设备104的模数转换器(例如,音频驱动器138)转换为数字文件。数据处理系统102可以通过网络105接收与数字文件相对应的数据分组,然后解析该数据分组或数字文件以选择包括聊天机器人的计算机程序。例如,数据处理系统102可以包括聊天机器人组件114,其被设计和构造为响应于数据分组或数字文件而选择包括聊天机器人的计算机程序,以供数据处理系统102或计算设备104或第三方聊天机器人提供方设备108执行。
聊天机器人组件114可以识别数字文件中的关键词、令牌、词项、概念或其他信息。聊天机器人组件114可以利用自然语言处理器组件112来识别数字文件中的关键词、令牌、词项、概念或其他信息。自然语言处理器组件112可以将所解析的关键词、令牌、词项或概念提供给聊天机器人组件114。聊天机器人组件114可以选择响应于数字文件的关键词或概念的聊天机器人。聊天机器人组件114可以选择映射到输入音频信号中提供的应用标识符的聊天机器人。
数据处理系统102(例如,经由NLP组件112或聊天机器人组件114)可以确定输入音频信号包括应用标识符“食品机器人”。NLP组件112或聊天机器人组件114可以进一步识别输入音频信号中的查询。NLP组件112可以将应用标识符提供给聊天机器人组件114。聊天机器人组件114可以在聊天机器人数据结构130中执行查找,以识别映射到应用标识符“食品机器人”的聊天机器人。在某些情况下,输入音频信号可能不包括聊天机器人标识符,但可能包括查询,该查询指示可以提供对该查询的响应的聊天机器人的类型。例如,聊天机器人数据结构130可以包括关键词或其他信息,其针对每个聊天机器人描述该聊天机器人可以提供的商品、服务或功能(例如,餐馆搜索)。聊天机器人组件114可以使用经由聊天机器人数据结构130确定的标识符来启动、发起、执行或以其他方式激活对应的聊天机器人。在某些情况下,标识符可以包括文件名或文件路径、指针、web地址、互联网协议地址、统一资源定位符或聊天机器人的其他标识信息,或可以与之相关联。例如,数据处理系统102可以确定经由第三方聊天机器人提供方设备108提供食谱聊天机器人,并且指令第三方聊天机器人提供方设备108启动餐馆搜索聊天机器人并直接与计算设备104进行交互或经由数据处理系统102(例如,经由聊天机器人组件114)与计算设备104进行交互。
因此,数据处理系统102可以从输入音频信号中确定应用标识符和要输入到与该应用程序标识符相对应的应用中的查询。数据处理系统102可以将查询提供给应用或聊天机器人,以使该应用生成第二查询以传输到第三方服务器,并识别对该查询的多个响应以经由计算设备104显示。例如,聊天机器人组件114可以至少部分地执行聊天机器人或促进聊天机器人与计算设备104之间的接口。数据处理系统102可以调用聊天机器人并输入经由输入音频信号接收到的查询。聊天机器人在执行后可以识别查询,然后生成第二查询以传输给第三方聊天机器人提供方设备108。第三方聊天机器人提供方设备108可以接收第二查询,执行搜索,然后生成一个或多个对该查询的响应。
在某些情况下,在启动或引起聊天机器人的启动或执行之前,数据处理系统102可以确定计算设备104是否被授权访问聊天机器人。数据处理系统102(例如,经由聊天机器人组件114)可以利用计算设备104的标识符在数据存储库122(例如,聊天机器人数据130)中执行查找,以确定计算设备104是否被授权访问包含聊天机器人的计算机程序。授权可以基于订阅、计划、限制、资源要求、版本控制或设备功能。例如,如果计算设备104被配置有操作系统的预定义版本,则数据处理系统102可以准许计算设备104访问聊天机器人。在另一示例中,如果计算设备104与有效账户或简档相关联,则数据处理系统102可以准予计算设备104访问聊天机器人。在某些情况下,如果数据处理系统102确定计算设备102未被授权访问聊天机器人,则数据处理系统102可以终止线程,提示用户或识别计算设备104被授权访问的另一个聊天机器人。因此,数据处理系统102可以响应于确定计算设备104被授权访问聊天机器人而选择聊天机器人。
接口110可以启动聊天机器人本身,或将指令传输到第三方聊天机器人提供方设备108,以使第三方聊天机器人提供方设备108调用与聊天机器人(例如,NLP组件142)相关联的谈话应用编程接口,并在数据处理系统102或第三方聊天机器人提供方设备108与客户端计算设备104之间建立通信会话。响应于在数据处理系统102或第三方聊天机器人提供方设备108与客户端计算设备104之间建立通信会话,数据处理系统102或第三方聊天机器人提供方设备108可以经由网络105直接将数据分组传输到客户端计算设备104。在某些情况下,第三方聊天机器人提供方设备108可以经由数据处理系统102和网络105向客户端计算设备104传输数据分组。
聊天机器人提供方设备108或数据处理系统102可以执行聊天机器人提供方NLP组件142的至少一部分。例如,第三方聊天机器人提供方设备108可以处置通信会话的某些方面或查询类型。第三方聊天机器人设备108可以利用由数据处理系统102执行的NLP组件112来促进处理与通信会话相关联的音频信号并生成对查询的响应。在某些情况下,数据处理系统102可以包括为第三方聊天机器人设备108配置的会话API 142。在某些情况下,数据处理系统在客户端计算设备和第三方提供方设备108之间路由数据分组以建立通信会话。数据处理系统102可以从第三方聊天机器人设备108接收第三方设备与客户端设备104建立了通信会话的指示。该指示可以包括客户端计算设备104的标识符、与建立通信会话的时间相对应的时间戳或与通信会话相关的其他信息,诸如,与通信会话相关联的数据结构。
聊天机器人提供方NLP组件142可以是包括第一NLP 112的一个或多个组件或功能的第二NLP。聊天机器人提供方NLP组件142可以交互或利用第一NLP 112。在某些情况下,系统100可以包括由数据处理系统102执行的单个NLP 112。单个NLP 112可以支持数据处理系统102和聊天机器人。在某些情况下,接口110生成或构造数据结构以促进执行服务,并且谈话API生成响应或查询以推进与终端用户的通信会话或获取其他信息以改善或增强终端用户的体验或服务的性能。
包括聊天机器人的计算机程序可以在数据处理系统102、聊天机器人提供方设备108或计算设备104上执行。聊天机器人可以接收和处理一个或多个数字文件或一个或多个数字文件的一部分,以确定响应。例如,聊天机器人可以在数据处理系统102上作为聊天机器人组件114来执行。
聊天机器人在执行后可以识别输入查询。数据处理系统102可以调用、执行或启动聊天机器人,并输入接收的或基于来自计算设备104的输入音频信号确定的查询。例如,数据处理系统102从计算设备104接收的数据分组可以包括应用标识符和查询。数据处理系统102(例如,经由聊天机器人组件114)可以调用与该应用标识符相对应的聊天机器人,然后输入查询“good restaurant nearby(附近的好餐馆)”。聊天机器人组件114可以生成第二查询,该第二查询要输入到聊天机器人或提供给第三方聊天机器人提供方设备108,以便执行搜索并生成一个或多个响应。
聊天机器人组件114可以基于输入音频信号中的输入查询来生成第二查询。第二查询可以被传输到第三方聊天机器人提供方设备108。第二查询可以被格式化以促进第三方聊天机器人提供方设备108的处理。第二查询可以包括相对于在输入音频信号中接收的第一查询不同的信息。第二查询可以包括相对于第一查询的附加信息,或与相对于第一查询较少的信息。聊天机器人组件112可以对输入查询执行初始处理或预处理,以减少第三方聊天机器人提供方设备108可能需要执行的处理量。聊天机器人组件112可以对输入查询执行初始处理或预处理,以减少第三方聊天机器人提供方设备108、数据处理系统102和计算设备104之间的远程过程调用的数量。
例如,在来自计算设备104的输入音频信号中接收到的输入查询可以是“Foodbot,suggest some good restaurants nearby.”。聊天机器人组件114可以基于词项“nearby(附近)”来确定存在输入查询的位置组件。聊天机器人组件114不是将查询原样传递给第三方聊天机器人提供方设备108,这可以使第三方聊天机器人提供方设备108随后向数据处理系统102或计算设备104查询位置信息,而是聊天机器人组件114可以构造第二查询并输入对应于计算设备104的位置信息。数据处理系统102(例如,经由聊天机器人组件114)可以确定计算设备104的位置。数据处理系统102可以确定计算设备104的简档中建立的位置偏好。位置偏好可以包括,例如,阻止位置的传输或允许传输的位置分辨率(例如,地址、半径100米内、200米、300米、500米、1000米,1英里、邮政编码、城市、城镇或县)。基于位置偏好,数据处理系统102可以识别计算设备104的当前位置,并且构造第二查询以包括如下位置信息:“identify good restaurants near 123Main Street,Anytown,USA(识别在美国某一城镇的123大街附近的好餐馆)”。因此,通过预处理输入查询以识别缺失的信息,然后确定缺失的信息并生成包括所确定的信息的第二查询,数据处理系统102可以通过减少由第三方聊天提供方设备108执行的过多的远程过程调用来提高整体系统效率,从而减少计算设备104的计算资源利用或电池消耗。
聊天机器人组件114可以将所生成的第二查询提供给第三方聊天机器人提供方设备108。第三方聊天机器人提供方设备108可以使用自然语言处理技术、搜索引擎技术、模式匹配技术或语义分析技术来识别对该查询的一个或多个响应。例如,聊天机器人可以使用查询执行搜索,然后生成包含搜索结果的响应。
第三方聊天机器人提供方设备108可以使用由聊天机器人组件114提供的第二查询实施或执行搜索。第三方聊天机器人提供方设备108可以访问第三方聊天机器人提供方设备108内部或外部的一个或多个数据库。在某些情况下,第三方聊天机器人提供方设备108可以利用数据处理系统102的一个或多个组件、功能、资源或数据库来执行搜索。第三方聊天机器人提供方设备108可以识别对第二查询的多个响应。多个响应可以包括搜索结果。多个响应可以包括例如满足由第二查询定义的搜索标准的餐馆列表。例如,餐馆列表可以包括在计算设备104的当前位置的半径内并且基于餐馆的评级大于或等于4星而为“好”的餐馆。
数据处理系统102可以包括、执行挂钩组件116或以其他方式与挂钩组件116通信,以在显示在计算设备104上之前从聊天机器人应用(或至少部分地执行聊天机器人应用或生成对第二查询的响应的第三方聊天机器人提供方设备108)获取对第二查询的一个或多个响应。在数据处理系统102执行聊天机器人应用以识别对第二查询的响应的情况下,挂钩组件116可以在聊天机器人应用将响应传输到计算设备104之前获取响应。在某些情况下,挂钩组件116可以拦截来自第三方聊天提供方设备108的响应,因为该响应可能旨在指向聊天机器人应用或计算设备104以进行显示。拦截可以指挂钩组件116获取响应并将其转发到内容选择器组件118,而不是聊天机器人组件114或用于显示的计算设备104。
聊天机器人应用可以通过在数据处理系统102、聊天机器人组件114或第三方聊天机器人提供方设备108中的至少一个上执行来生成对第二查询的响应。在生成或识别对第二查询的响应之后,聊天机器人应用(无论是否至少部分在数据处理系统102、第三方聊天机器人提供方设备108或计算设备104中的一个或多个上执行)可以传输或提供响应以供经由计算设备104的显示器132呈现。然而,在呈现供显示的结果之前,挂钩组件116可以获取或拦截对第二查询的响应。挂钩组件116可以从数据处理系统102、第三方聊天机器人提供方设备108或计算设备104的组件获取或拦截响应。
系统100可以包括在数据处理系统102或客户端计算设备104中的一个或多个上执行的挂钩组件118,以在提供响应以在计算设备104上显示之前获取或拦截对第二查询的响应。挂钩组件116可以获取或拦截响应,并将响应重指向到输出合并组件120。
挂钩组件116可以使用挂钩技术来获取或拦截对第二查询的响应,该挂钩技术被设计为拦截在数据处理系统102的组件之间、在数据处理系统102和计算设备104之间、在数据处理系统102和第三方提供方设备108之间或在第三方提供方设备108和计算设备104之间传递的功能调用、响应、数字组成部分、消息或事件。挂钩组件116可以在聊天机器人应用运行时插入被配置为拦截响应的事件挂钩。在一些实施方式中,挂钩组件118可以例如在将数据传递到栈的应用层之前在网络栈内执行。在其他实施方式中,挂钩组件118可以在操作系统的内核级、用户级内执行或者可以由独立于一个或多个虚拟机的管理程序执行。
例如,在数据处理系统102或计算设备104上执行的挂钩组件118可以获取或拦截经由聊天机器人应用或第三方聊天机器人提供方设备108提供的响应,并将该响应转发给内容选择器组件118。挂钩组件可以被配置为将响应重新路由或重指向到内容选择器组件118。拦截可以发生在处理的任何方便或合适的部分,诸如,在网络栈中(例如,在应用层或在应用层下方);在已经将响应写入沙盒媒体环境的存储器或缓冲区之后,但在沙盒媒体环境的处理线程读取数字组成部分之前;等等。
数据处理系统102可以包括、执行内容选择器组件118或以其他方式与内容选择器组件118通信,以从聊天机器人应用接收对第二查询的响应并选择数字组成部分。内容选择器组件118可以解析从聊天机器人应用接收到的响应并生成关键词。内容选择器组件118可以利用基于由挂钩组件116拦截的响应而生成的关键词来执行实时内容选择过程。内容选择器组件118可以使用实时内容选择过程来识别数字组成部分。数字组成部分可以由内容提供方设备106提供。
内容选择器组件118可以基于来自聊天机器人组件118的响应来生成一个或多个关键词。内容选择器组件118可以解析该响应以识别一个或多个关键词。内容选择器组件118可以使用语义分析技术、机器学习模型、模式匹配技术或其他关键词生成技术来识别或生成一个或多个关键词。内容选择器组件118可以识别与响应相关联的话题垂直领域、概念、类别、商品、服务或实体以生成关键词。例如,对查询“good restaurant nearby(附近的好餐馆)”的响应可以包括以下三个结果:i)餐馆A,ii)餐馆B和iii)餐馆C。结果可以进一步包括对在每个餐馆提供的食品类型的描述。食品的类型可以包括餐馆A的汉堡和薯条、餐馆B的比萨饼和意大利面以及餐馆C的煎饼和华夫饼。内容选择器组件118可以解析这些结果以生成以下关键词:汉堡、薯条、比萨饼、意大利面、煎饼和华夫饼。内容选择器组件118可以将这些自动生成的关键词输入到实时内容选择过程中以选择赞助的数字组成部分。
实时内容选择过程可以指代或包括选择由第三方内容提供方106提供的赞助数字组成部分对象。实时内容选择过程可以包括服务,其中由多个内容提供方提供的数字组成部分被解析、处理、加权或匹配,以选择要提供给计算设备104的一个或多个数字组成部分。内容选择器组件118可以实时执行内容选择过程。实时执行内容选择过程可以指响应于经由客户端计算设备104接收的对内容的请求而执行内容选择过程。实时内容选择过程可以在接收请求的时间间隔(例如,5秒、10秒、20秒、30秒、1分钟、2分钟、3分钟、5分钟、10分钟或20分钟)内执行(例如,发起或完成)。实时内容选择过程可以在与客户端计算设备104的通信会话期间或在通信会话终止之后的时间间隔内执行。
例如,数据处理系统102可以包括被设计、构造、配置或操作为选择数字组成部分对象的内容选择器组件118。内容选择器组件118可以使用图像处理技术、字符辨识技术、自然语言处理技术或数据库查找来识别、分析或辨识候选数字组成部分的语音、音频、词项、字符、文本、符号或图像。候选数字组成部分可以包括指示候选数字组成部分的主题的元数据,在这种情况下,内容选择器组件118可以处理元数据以确定候选数字组成部分的主题是否对应于输入音频信号。
当建立包括数字组成部分的内容活动时,内容提供方106可以提供附加的指示符。内容提供方计算设备106可以在内容活动或内容组级别上提供内容选择器组件118可以通过使用关于候选数字组成部分的信息执行查找来识别的信息。例如,候选数字组成部分可以包括唯一标识符,其可以映射到内容组、内容活动或内容提供方。内容选择器组件118可以基于存储在数据存储库122中的内容活动数据结构中的信息来确定关于内容提供方计算设备106的信息。
数据处理系统102可以响应于从聊天应用拦截对第二查询的响应而自动生成对内容的请求。数据处理系统102可以经由计算设备104接收对要提供的内容的请求。该请求可以包括请求的选择标准,诸如,设备类型、位置以及与请求相关联的关键词。
响应于请求,数据处理系统102可以从数据存储库122或与内容提供方计算设备106相关联的数据库中选择数字组成部分对象,并经由网络105提供该数字组成部分以经由计算设备104呈现。可以由不同于聊天机器人提供方设备108的内容提供方设备108来提供数字组成部分对象。计算设备104可以与数字组成部分对象进行交互。计算设备104可以接收对数字组成部分的音频响应。计算设备104可以接收用于选择与数字组成部分对象相关联的超链接或其他按钮的指示,该指示使得或允许计算设备104识别内容提供方计算设备106,请求来自内容提供方计算设备106的服务,指令内容提供方计算设备106执行服务,将信息传输到内容提供方计算设备106或以其他方式识别与内容提供方计算设备106相关联的商品或服务。
对内容的请求可以包括内容选择标准,诸如,内容的格式、关键词、概念、简档信息或可以促进内容选择的其他信息。内容选择器组件118可以执行实时内容选择过程。实时内容选择可以指响应于对内容的请求而执行内容选择。在聊天机器人识别出响应于语音输入的对话数据结构之后,可以生成、传输或以其他方式提供对内容的请求。
内容选择器组件118可以选择包括文本、字符串或字符的数字组成部分,该数字组成部分可以由文本到语音系统处理或可以经由显示器呈现。内容选择器组件118可以选择处于被配置用于参数化驱动的文本到话音技术的参数化格式的数字组成部分。在某些情况下,对话数据结构可以采用SSML格式,或可以配置有语音参数。数据处理系统102可以配置数字组成部分的语音参数以匹配由聊天机器人识别的对话数据结构的语音参数,使得可以将数字组成部分以本机语音、图像或声学指纹呈现给计算设备104的用户(例如,与没有数字组成部分的对话数据结构相比,数字组成部分具有相同或相似的声学属性)。
内容选择器组件118可以选择处于被配置用于文本到话音的参数化格式的数字组成部分,而不是处于音频文件格式的数字组成部分。例如,内容选择器组件118可能不选择处于音频文件格式或音频编码格式(诸如,.WAV、.AIFF或.AU)的音频文件中的数字组成部分,因为已处于音频文件格式的数字组成部分可能未被配置用于无缝插入到由聊天机器人计算机程序识别的对话数据结构的占位符字段中。与计算设备的本机语音或为聊天机器人设置的声学指纹相比,处于音频文件格式的数字组成部分可能具有不同的声学指纹。如果数字组成部分音频文件与聊天机器人或对话数据结构的本机语音或声学指纹相比具有不同的声学指纹(例如,单词以不同的速率、不同的频率、不同的音高、不同的音调、不同的音量或不同的口音被说出),则将数字组成部分音频文件插入或集成到对话数据结构中的占位符字段中可能不是无缝的、平滑的或连续的。例如,具有不同的声学指纹的数字组成部分音频文件可能导致尴尬的过渡或不一致的迹象。因此,通过提供被配置用于文本到话音技术的数字组成部分,其中聊天机器人或计算设备可以以与该聊天机器人或计算设备的声音指纹或本机语音相对应的方式播放数字组成部分,数据处理系统102可以促进提供对聊天机器人计算机程序输出的无缝修改。
内容选择器组件118可以选择处于被配置用于经由显示设备132显示的格式的数字组成部分。内容选择器组件118可以选择可以被重新格式化以匹配聊天机器人应用的本机输出格式的数字组成部分。
内容选择器组件118可以经由实时内容选择过程来选择多个数字组成部分。内容选择器组件118可以对数字组成部分进行评分和排名,并将多个数字组成部分提供给输出合并组件120以允许输出合并组件120选择排名最高的数字组成部分。
内容选择器组件118可以将选择的数字组成部分提供给输出合并组件120。数据处理系统102可以包括、执行输出合并组件120,或以其他方式与输出合并组件120通信,以将选择的数字组成部分与从聊天机器人应用接收到的响应组合或集成,以经由计算设备104进行呈现。输出合并组件120可以提供组合的数字组成部分和响应以经由音频输出或视觉输出进行呈现。
为了减少冗余条目,从而防止或减少计算设备104的网络带宽利用率或处理器利用率,输出合并组件120可以对数字组成部分和由聊天机器人应用生成的多个响应执行重复删除(deduplication)过程。重复删除可以指消除或删除计算机数据中的重复或冗余条目。重复删除技术可以确保输出中仅保留一个唯一的数据实例。冗余数据条目可以替换为新的数据条目。
例如,由内容选择器组件118选择的数字组成部分可以包括餐馆A的数字组成部分,它也是由聊天机器人应用响应于第二查询而生成的响应之一。在该示例中,输出合并组件120可以去除或删除数字组成部分并选择第二数字组成部分(例如,从实时内容选择过程输出的第二排名数字组成部分)。因此,基于重复删除过程结果,数据处理系统102可以请求附加的数字组成部分,阻止数字组成部分的插入,或者如果数字组成部分不是重复条目则确定添加该数字组成部分。
输出合并组件120可以响应于对数字组成部分和聊天机器人应用的多个响应执行的重复删除过程来确定将数字组成部分添加到响应中。输出合并组件120可以确定数字组成部分是唯一的或与响应不同。然后,输出合并组件120可以构造显示输出,该显示输出包括数字组成部分和来自聊天机器人应用的响应。
为了管理经由图形用户界面的显示输出的渲染并在传输数字组成部分和结果时降低图形处理器利用、CPU利用或存储器利用以及网络带宽利用,输出合并组件120可以使用统一的图形布局构造显示输出。例如,不是使用需要不同的布局、样式、颜色、图形的响应的第一图形主题以及数字组成部分的第二、不同的图形主题,输出合并组件120而是可以确定使用合并的数据集的单个、统一的图形主题和布局。
为了构造显示输出,输出合并组件120可以从数据存储库122中存储的模板数据结构124中检索图形用户界面模板。图形用户界面模板可以定义、提供、设置或以其他方式指示输出合并组件120可以用来生成显示输出的字体、颜色和布局。输出合并组件120可以基于聊天机器人应用的应用标识符来选择图形用户界面模板。例如,每个应用标识符(例如,每个聊天机器人应用)可以建立有图形用户界面模板。第三方聊天机器人提供方设备108可以设置、配置、建立或设计图形用户界面模板。图形用户界面模板可以包括用于文本的字体、颜色、布局或其他图形用户界面或显示元素。在某些情况下,图形用户界面模板可以包括或定义动画、透明度、定位、大小或声音。
输出合并组件120可通过在模板数据结构124中执行查找来从模板数据结构中检索图形用户模板。模板数据结构124可将图形用户界面模板存储在索引数据结构中。在某些情况下,计算设备104可以为计算设备104建立定制的图形用户界面,其可以包括优选的主题、布局、响应的数量或字体。输出合并组件120可以生成由应用标识符和计算设备104的标识符形成的元组,并使用该元组在模板数据结构124中执行查找以检索为特定聊天机器人应用建立并针对与计算设备104一起使用定制的图形用户界面模板。
在某些情况下,输出合并组件120可以从第三方聊天机器人提供方设备108请求图形用户界面模板。例如,输出合并组件120可以确定模板数据结构124不包括与聊天机器人的应用标识符相对应的图形用户模板,或者所存储的图形用户模板已过期、失效或过时。输出合并组件120可以将请求传输到与应用标识符相对应的第三方聊天提供方设备108,然后响应于该请求而接收图形用户界面模板以用于构造显示输出。然后,输出合并组件120可以利用接收到的图形用户界面模板更新数据存储库122中的模板数据结构124,并使用它来构造后续的显示输出。
输出合并组件120可以在从聊天机器人应用接收的响应中选择要插入或放置数字组成部分的定位。聊天机器人应用的图形用户界面模板可以指示要插入数字组成部分的定位。图形用户界面模板可以指示将数字组成部分附加到响应列表。图形用户界面模板可以指示在响应列表之前或在响应列表之中(例如,在第一响应之后、第二响应之后或第三响应之后)添加数字组成部分。图形用户界面模板可以指示将数字组成部分添加到定位,以使该数字组成部分看起来与响应一致或相似,以提供响应和数字组成部分由诸如聊天机器人应用的同一源提供的外观。
在某些情况下,输出合并组件120可以动态选择定位。例如,输出合并组件120可以使用与数字组成部分的历史交互基于性能信息来确定定位。输出合并组件120可以使用机器学习模型来确定在何处插入数字组成部分。可以利用从聊天机器人应用的多个实例收集的历史性能数据来生成机器学习模型。性能数据可以指示与点击、选择或转换相关联的特征。数据处理系统102可以接收与数字组成部分的交互的指示。与数字组成部分的交互可以经由计算设备104的接口或组件发生。数据处理系统102可以记录、存储或以其他方式监视和跟踪与数字组成部分的交互以及关于该交互或与之关联的信息。
机器学习模型可以更重地加权与数字组成部分上的点击、选择或转换相关联的定位,同时减少与不接收点击、选择或转换的定位相关联的权重。机器学习模型可以针对不同类型的数字组成部分、话题、关键词、计算设备或其他参数生成不同的模型,以便定制机器学习模型以确定插入数字组成部分的定位。
输出合并组件120可以使用检索到的图形用户界面模板来构造显示输出。输出合并组件120可以通过将经由实时内容选择过程选择的数字组成部分与聊天机器人应用生成的响应进行集成来构造显示输出。输出合并组件120可以将图形用户模板一致地应用于数字组成部分和响应两者,以提高由计算设备104渲染显示输出的效率。为了构造显示输出,输出合并组件120可以修改数字组成部分的字体或颜色,以将数字组成部分与响应集成在一起。输出合并组件120可以将显示输出提供给计算设备104,以使计算设备104渲染显示输出以经由显示器132呈现。
计算设备104可以包括、执行或被称为数字助理设备。数字助理设备(或计算设备104)可以包括显示设备132、图形驱动器146、检测输入音频信号的传感器以及耦合到显示设备、图形驱动器和传感器的预处理器组件140。图形驱动器146可以接收来自数据处理系统102的显示输出,并在显示设备132上渲染显示输出。图形驱动器146可以包括控制或增强如何在显示器132上显示图形或视觉输出的硬件或软件组件。图形驱动器146可以包括例如控制图形组件如何与计算设备104(或数字助理)的其余部分一起工作的程序。预处理器组件140对输入音频信号进行滤波以创建滤波后的输入音频信号,将滤波后的输入音频信号转换为数据分组,并将数据分组传输至包括一个或多个处理器和存储器的数据处理系统。
数字助理设备可以包括音频驱动器138和扬声器组件(例如,换能器136)。预处理器组件140接收显示输出的指示并指令音频驱动器138生成输出音频信号,以使扬声器组件(例如,换能器136)传输与显示输出的指示相对应的音频输出。例如,音频输出可以包括在图3的文本框312中描述的文本的文本到话音表示。
图2是用于管理图形用户界面的渲染的系统200的操作的图示。系统200的操作可以包括图1中描绘的系统100的一个或多个组件或功能。例如,系统200的操作可以由数据处理系统102、计算设备104、第三方聊天机器人提供方设备108或内容提供方设备106执行。在动作202处,计算设备104可以检测或接收输入音频信号。输入音频信号可以包括由终端用户说出的语音输入。输入音频信号可以包括第一查询。输入音频信号可以包括或可以不包括应用标识符。输入音频信号可以包括用于执行查询的聊天机器人应用的标识符。输入音频信号可以不包括应用标识符,但是,数据处理系统102可以自动确定要调用以执行查询的聊天机器人应用。在某些情况下,如果输入音频信号不包括应用标识符,则计算设备104或数据处理系统102可以提供音频或视觉提示,该提示要求终端用户提供对聊天机器人应用的指示以用于执行查询。
在动作204处,计算设备104传输指示第一查询的数据分组。数据处理系统102可以接收第一查询。数据处理系统102的NLP组件112可以处理数据分组以识别第一查询或应用标识符。数据处理系统102可以将第一查询提供给聊天机器人组件114,或者可以将第一查询直接提供给第三方聊天机器人提供方服务器108。
在动作206处,数据处理系统102可以向聊天机器人组件114提供第一查询。聊天机器人组件114可以识别查询以及与可以执行查询以生成响应的聊天机器人应用相对应的应用标识符。聊天机器人组件114可以基于第一查询生成第二查询。第二查询可以采用促进聊天机器人应用生成对第一查询的响应的格式。第二查询可以过滤掉聊天机器人应用生成对该查询的响应可能不需要的信息。聊天机器人组件14可以相对于第一查询添加信息以生成第二查询。聊天机器人组件114可以以其他方式构造或生成第二查询,以促进第三方聊天机器人应用生成对查询的响应,同时减少远程过程调用。例如,第一查询可能不包括计算设备104的位置信息,但是该位置信息可能对生成响应是有帮助的或需要的。聊天机器人组件114可以检测到第一查询中缺失位置信息,并且还可以在生成第二查询时确定包括位置信息。聊天机器人组件114可以确定包括位置信息,因为聊天机器人组件114可以确定第二查询中缺少位置信息可能导致聊天机器人应用或第三方聊天机器人提供方108返回错误或生成位置信息的提示。因此,为了防止聊天机器人应用或第三方聊天机器人提供方108出现运行时错误或生成额外信息的后续提示,聊天机器人组件114可以前摄并自动地确定计算设备的位置信息并生成包括位置信息的第二查询。通过生成完整的第二查询而不缺失信息,聊天机器人组件114可有助于减少生成对输入音频信号的响应中的时延或延迟。
在动作208处,聊天机器人组件114将第二查询提供给第三方聊天机器人提供方108。在某些情况下,NLP组件112或聊天机器人组件114可以将第一查询转发给第三方聊天机器人提供方服务器108而无需更改、修改或以其他方式调整第一查询。例如,聊天机器人组件114可以确定第一查询包括足够的信息以允许第三方聊天机器人提供方108生成响应。在某些情况下,聊天机器人组件114可以将第一查询转发给第三方聊天机器人提供方108,并且第三方聊天机器人提供方可以生成对附加信息的请求以促进识别响应。第三方聊天机器人提供方108可以将对附加信息的请求传输到聊天机器人组件114、数据处理系统102,或者直接传输到计算设备104。在接收到所请求的附加信息后,第三方聊天机器人提供方108可以生成第二查询并识别对第二查询的响应,该响应也可以响应于第一查询。
第三方聊天机器人提供方设备108可以执行第二查询以识别响应,然后在动作210处将响应提供给数据处理系统102。挂钩组件116可以拦截响应。例如,响应可能已经旨在直接进入输出合并组件122或直接进入计算设备104。挂钩组件116可以拦截响应,然后在动作212处将响应提供给内容选择器组件118。内容选择器组件118可以解析响应,基于响应生成一个或多个关键词,然后利用一个或多个关键词执行实时内容选择过程。内容选择器组件118可以在动作214处将所选择的一个或多个数字组成部分提供给输出合并组件122。输出合并组件122可以执行重复删除过程,检索图形用户界面模板并构造统一的显示输出,该显示输出组合数字组成部分与来自第三方聊天机器人提供方设备108的响应。输出合并组件122可以在动作216处将显示输出传输或提供给计算设备104。计算设备104可以经由显示设备132渲染显示输出以可视地将输出呈现给提供输入音频信号的终端用户。
图3是由用于管理图形用户界面的渲染的系统提供的图形用户界面的实施方式的图示。图形用户界面300可以由图1、图2或图5中描绘的一个或多个组件或系统提供。用户可以将音频信号输入到数字助理306(例如,由计算设备102执行的数字助理)。由计算设备102执行的数字助理306提供的图形用户界面300可以为用户指示图标302,并在文本框304中可视地呈现输入音频信号的文本,如下所示:“Foodbot,suggest some good restaurantsnearby.”。输入音频信号可以包括应用标识符和查询。在此示例中,应用标识符可以是“Foodbot(食品机器人)”,而查询可以是“suggest some good restaurants nearby(建议附近的一些好餐馆)”。数字助理306可以识别应用标识符。数字助理306可以通过本地解析输入音频信号,或者将数据分组传输到数据处理系统102,然后从数据处理系统102接收带有对应用标识符的指示的响应,来识别应用标识符。数字助理306可以在文本框308中提供状态指示,诸如“Connecting you to Foodbot(将您连接到食品机器人)”。在某些情况下,数字助理306可以提供对状态的音频指示。
数据处理系统102或数字助理306可以与第三方聊天机器人提供方设备108交互以获取对查询的响应。数字助理306或数据处理系统102可以将接收到的查询原样传输给第三方聊天机器人提供方设备108,或者基于第一查询生成可以促进第三方聊天机器人提供方设备108识别响应的第二查询。
数据处理系统102可以从第三方聊天机器人提供方设备108接收对响应的指示,生成关键词,利用该关键词执行实时内容选择过程以识别数字组成部分,然后使用图形用户界面模板来合并数字组成部分和响应。数据处理系统102可以提供包括与响应集成在一起的数字组成部分的显示输出。
数字助理306可以接收显示输出并渲染显示输出314。数字助理306可以显示食品机器人的图标310,并且包括指示响应的文本框312。例如,文本框312可以声明“We suggestthe following restaurants.All three are 4+stars,and within 5miles of yourlocation(我们建议以下餐馆。三个全部都是4星以上的,并且在距您的位置5英里之内)”。该文本可以对应于输入查询304。例如,输入词项“good(好)”可能已使食品机器人310识别4星以上的餐馆。输入词项“nearby(附近)”可能已使食品机器人310识别距离计算设备104的当前位置5英里内的餐馆。
可以使用用于食品机器人310的图形用户界面模板来构造显示输出314。显示输出314可以包括来自第三方聊天机器人提供方设备108和赞助数字组成部分的响应。图形用户界面模板可以为响应和数字组成部分定义布局、颜色和字体。例如,图形用户模板可以定义:i)布局,其包括单个列,其中每个响应具有单独的行(例如,4行,每个餐馆一行);ii)位于行的左侧的用于响应的图标320;iii)每个响应两行文本,其中文本的第一行包括加粗和下划线的餐厅名称,后跟冒号,然后是餐厅所提供食品的描述,并且文本的第二行包括餐厅的街道地址。
为了将数字组成部分与来自第三方聊天机器人服务器的响应集成在一起,数据处理系统102可以将图形用户模板应用于聊天机器人提供的响应以及经由实时内容选择过程选择的数字组成部分两者以生成显示输出314。将数字组成部分与响应集成在一起可以指以保留或保持外观和感觉或其他用户界面特征的方式将数字组成部分添加到响应中。将数字组成部分与响应集成在一起可以是指以保留或保持外观和感觉或其他用户界面特征的方式将数字组成部分与响应组合在一起。
数据处理系统可以使用图形用户界面模板将数字组成部分与响应集成在一起。图形用户界面模板可以指示将数字组成部分附加到响应。因此,显示输出314可以包括:i)餐馆A的第一响应314a,其在第一文本行上包括描述“Burgers&Fries(汉堡和薯条)”,在第二行上包括地址“123Main Street(123大街)”;ii)餐厅B的第二响应314b,其在第一文本行中包括描述“Pizza&Pasta(披萨和意大利面)”,在第二文本行中包括地址“456Main street(456大街)”;iii)餐厅C的第三响应314c,其在第一文本行包括描述“Pancakes&Waffles(煎饼和华夫饼)”,在第二文本行中包括地址“321Main Street(321大街)”。数据处理系统102可以使用与用于响应314a-c相同的图形用户界面模板来附加餐厅D的数字组成部分314d。数据处理系统102可以通过基于响应314a-c生成关键词并将关键词输入到实时内容选择过程中,来选择餐馆D的数字组成部分。数据处理系统102可以构造显示输出以将数字组成部分与响应集成在一起,以使得数字组成部分与响应314a-c的相同图形用户界面元素匹配。例如,数字组成部分可以使布局与两行文本和图标322相匹配。数字组成部分的文本可以包括加粗和下划线的餐馆318的名称,后跟冒号和描述“Pizza&Subs(披萨和潜艇三明治)”,第二行文本包括地址。与餐厅A的文本316相似,文本318可以加粗和下划线以匹配样式。然而,数字组成部分的显示可以通过包括其是赞助数字组成部分324的指示而变化。
图4是管理图形用户界面的渲染的方法的图示。方法400可以由图1、图2或图5中描绘的一个或多个组件或系统执行。方法400可以包括在402处数据处理系统接收数据分组。数据处理系统可以经由接口来接收数据分组。数据分组可以包括由计算设备的传感器检测到的输入音频信号。例如,数字助理设备的麦克风可以检测输入音频信号。
在动作404处,数据处理系统可以确定标识符和查询。数据处理系统可以确定应用标识符和要输入到与该应用标识符相对应的应用中的第一查询。数据处理系统可以基于对输入音频信号进行处理或解析来确定应用标识符和第一查询。数据处理系统可以应用自然语言处理技术或语义分析技术来识别应用标识符和第一查询。应用标识符可以识别或指示聊天机器人应用。可以调用聊天机器人应用以执行或处理查询。聊天机器人应用可以包括配置为处理查询的谈话应用编程接口。
在动作406处,数据处理系统可以生成并提供第二查询。数据处理系统可以基于第一查询生成第二查询。数据处理系统可以基于第一查询和与检测到输入音频信号的计算设备相关联的信息来生成第二查询。数据处理系统可以利用附加信息补充第一查询以生成第二查询。例如,第一查询可以包括与位置有关的词项的指示,诸如,“near me(我附近)”、“nearby(附近)”、“close by(近处)”、“within walking distance(在步行距离之内)”或“in my neighborhood(在我附近)”。数据处理系统(例如,经由聊天机器人组件)可以解析第一查询以识别该与位置有关的词项。数据处理系统可以确定与该词项相关联的信息,诸如,计算设备的当前位置。数据处理系统然后可以生成包括位置信息的第二查询。例如,如果第一查询是“find restaurantsnear me(找我附近的餐馆)”,则第二查询可以是“findrestaurants in San Jose,California(找加利福尼亚州圣何塞的餐馆)”。数据处理系统可以将第二查询传输或提供给聊天机器人应用或第三方聊天机器人提供方服务器。
在某些情况下,数据处理系统可以将第一查询直接提供给第三方聊天机器人提供方服务器。第三方聊天机器人提供方服务器可以解析第一查询,并确定生成对第一查询的相关响应可能需要的附加信息。响应于解析第一查询并识别缺失的信息或附加信息可以促进生成响应,第三方服务器可以生成对附加信息的提示或请求,并将提示或请求传输给数据处理系统或计算设备。数据处理系统或计算设备可以利用所请求的附加信息来响应来自第三方服务器的请求。
在某些情况下,数据处理系统可以将查询提供给聊天机器人应用。聊天机器人应用可以接收第一查询,并基于第一查询生成第二查询。聊天机器人应用可以至少部分地在数据处理系统上执行。聊天机器人应用可以包括查询输入接口查询处理组件(例如,聊天机器人组件),该组件接收输入查询或第一查询,识别失的信息或以其他方式预处理第一查询以生成有助于生成响应的第二查询。聊天机器人应用可以将第二查询传输到第三方聊天机器人提供方服务器,以获取对第二查询的响应。数据处理系统可以接收对第二查询的响应以经由计算设备显示。
在动作408处,数据处理系统可以获取响应。数据处理系统可以从第三方聊天机器人提供方服务器获取或接收响应。在某些情况下,数据处理系统可以在响应显示在计算设备上之前拦截响应。数据处理系统可以使用挂钩组件来拦截响应。响应可以由第三方聊天机器人提供方传输到在数据处理系统或计算设备上执行的聊天机器人应用。挂钩组件可以拦截针对在数据处理系统或计算设备上执行的聊天机器人应用的响应。在拦截响应后,挂钩组件可以将响应重指向或转发到内容选择器组件。
在动作410处,数据处理系统可以生成关键词并识别数字组成部分。数据处理系统可以解析拦截的响应以基于响应生成关键词。数据处理系统可以选择响应中的词项以用作关键词。数据处理系统可以将语义处理应用于响应以识别响应的话题。数据处理系统可以使用自动生成的关键词来执行实时内容选择过程,以识别由内容提供方提供的数字组成部分。
在动作412处,数据处理系统可以利用响应对数字组成部分进行重复删除来验证数字组成部分以与响应集成。数据处理系统可以执行重复删除以确认数字组成部分与由第三方内容提供方设备提供的有机响应之一不匹配。如果数字组成部分与响应不同,则数据处理系统可以确定将数字组成部分添加到响应中。如果数字组成部分与响应之一匹配,则数据处理系统可以确定阻止数字组成部分的添加,然后选择第二数字组成部分(例如,基于内容选择过程的第二高排名的数字组成部分)。
在动作414处,数据处理系统可以检索模板并构造显示输出,该显示输出包括与响应集成在一起的数字组成部分。数据处理系统可以检索定义字体、颜色和布局以渲染多个响应的模板(例如,图形用户界面模板)。模板可以包括字体的标识符,诸如“Times NewRoman”或字体的字母数字标识符。模板可以进一步包括对字体大小、字体样式,字符间距或行间距的指示。模板可以包括或定义字体的颜色、文本的颜色、前景颜色、背景颜色、图标的颜色或其他在构建显示输出时要使用的颜色主题。模板可以定义布局,诸如图形元素的定位,该图形元素诸如,文本、图标、响应、边框、行或列。
可以以各种格式提供图形用户界面模板。例如,可以使用级联样式表或其元素来提供图形用户界面模板,以定义如何在显示屏上显示元素。图形用户界面模板可以使用用户界面工具包。图形用户界面可以使用*.PSD文件(例如,photoshop编辑器程序文件格式)。
在动作416处,数据处理系统可以提供显示输出。数据处理系统可以将生成的显示输出传输到计算设备,以使计算设备渲染显示输出以经由通信地耦合到计算设备的显示设备来显示。
图5是示例计算机系统500的框图。计算机系统或计算设备500可以包括或用于实现系统100或其组件,诸如,数据处理系统102。数据处理系统102可以包括智能个人助理或基于语音的数字助理。计算系统500包括总线505或用于传送信息的其他通信组件,以及耦合到总线505以用于处理信息的处理器510或处理电路。计算系统500还可包括耦合到总线以处理信息的一个或多个处理器510或处理电路。计算系统500还包括耦合到总线505以存储信息的主存储器515(诸如,随机存取存储器(RAM)或其他动态存储设备)以及将由处理器510执行的指令。主存储器515可以是或包括数据存储库122。主存储器515也可以用于存储定位信息、临时变量或在处理器510执行指令的过程中的其他中间信息。计算系统500还可以包括只读存储器(ROM)520或耦合到总线505用于存储静态信息和处理器510的指令的其他静态存储设备。存储设备525(诸如,固态设备、磁盘或光盘)可以耦合到总线505以持续存储信息和指令。存储设备525可以包括数据存储库122或可以是数据存储库122的一部分。
计算系统500可以经由总线505耦合到显示器535,诸如,液晶显示器或有源矩阵显示器,以向用户显示信息。输入设备530(诸如,包括字母数字和其他键的键盘)可以耦合到总线505,以用于将信息和命令选择传送给处理器510。输入设备530可以包括触摸屏显示器535。输入设备530可以还包括光标控件,诸如,鼠标、轨迹球或光标方向键,以用于将方向信息和命令选择传送给处理器510并控制显示器535上的光标移动。例如,显示器535可以是数据处理系统102、客户端计算设备150或图1的其他组件的一部分。
可以由计算系统500响应于处理器510执行包含在主存储器515中的指令的布置来实现本文描述的过程、系统和方法。可以从另一计算机可读介质(诸如,存储设备525)将这些指令读入主存储器515。执行包含在主存储器515中的指令的布置使计算系统500执行本文所述的说明性过程。也可以采用多处理布置中的一个或多个处理器来执行包含在主存储器515中的指令。硬连线电路可以代替软件指令与本文所述的系统和方法一起使用,或者硬连线电路可以与软件指令组合与本文描述的系统和方法一起使用。本文描述的系统和方法不限于硬件电路和软件的任何特定组合。
虽然已经在图5中描述了示例计算系统,但包括在本说明书中描述的操作的主题可以以其他类型的数字电子电路、或计算机软件、固件或硬件实现,包括在本说明书中公开的结构及其结构等同物,或其一个或多个的组合。
对于此处讨论的系统收集有关用户的个人信息或可以利用个人信息的情况,可以为用户提供控制是否程序或功能可以收集个人信息(例如,有关用户的社交网络、社交行为或活动、用户的偏好或用户的位置的信息)或控制是否或如何从内容服务器或其他与用户更相关的数据处理系统接收内容的机会。另外,某些数据可以在存储或使用之前以一种或多种方式匿名化,以便在生成参数时删除个人可识别信息。例如,可以对用户的身份进行匿名处理,以便无法针对用户确定任何个人可识别信息,或者可以在获取位置信息时将用户的地理位置概括化(诸如,城市、邮政编码或州级别),使得无法确定用户的特定位置。因此,用户可以控制如何收集有关他或她的信息以及如何由内容服务器使用。
本说明书中描述的主题和操作可以以数字电子电路或计算机软件、固件或硬件实现,包括在本说明书中公开的结构及其结构等同物,或其一个或多个的组合。本说明书中描述的主题可以被实现为一个或多个计算机程序,例如,计算机程序指令的一个或多个电路,被编码在一个或多个计算机存储介质上以由数据处理装置执行或控制数据处理装置的操作。可替代地或另外,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置以通过数据处理装置来执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基质、随机或串行访问存储器阵列或设备、或它们中的一个或多个的组合中。尽管计算机存储介质不是传播信号,但是计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的组件或介质(例如,多个CD、磁盘或其他存储设备)或包含在其中。本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
术语“数据处理系统”、“计算设备”、“组件”或“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机、片上系统、或多个芯片,或上述的组合。该装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行环境、虚拟机或其中一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础设施,诸如,web服务、分布式计算和网格计算基础设施。例如,接口110、聊天机器人组件114、内容选择器组件118、输出合并组件120或NLP组件112以及其他数据处理系统102组件可以包括或共享一个或多个数据处理装置、系统、计算设备或处理器。
计算机程序(也称为程序、软件、软件应用、应用、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言,声明性或过程语言)编写,并且可以以任何形式布署,包括作为独立程序或作为模块、组件、子例程、对象或其他适合在计算环境中使用的单元。计算机程序可以对应于文件系统中的文件。计算机程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论程序的单个文件中,或多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。可以将计算机程序布署为在一台计算机执行,或可以将计算机程序布署为在位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
可以通过执行一个或多个计算机程序(例如,数据处理系统102的组件)的一个或多个可编程处理器来执行本说明书中描述的过程和逻辑流程,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或可以并入专用逻辑电路中。
本文所述的主题可以在包括后端组件(例如,作为数据服务器)、或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可通过该web浏览器与本说明书中描述的主题的实施方式进行交互)或者一种或多种此类后端、中间件或前端组件的组合的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或媒介(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),网际网(例如,互联网)和对等网络(例如ad hoc对等网络)。
诸如系统100或系统500的计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络(例如,网络105)进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。在一些实施方式中,服务器将数据(例如,表示数字组成部分的数据分组)传输到客户端设备(例如,出于向与客户端设备交互的用户显示数据以及从与客户端设备交互的用户接收用户输入的目的)。可以在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)(例如,由数据处理系统102从计算设备104或内容提供方计算设备106或聊天机器人提供方计算设备108接收的)。
虽然在附图中以特定次序描绘了操作,但是不需要以所示的特定次序或以顺序次序来执行这样的操作,并且不需要执行所有示出的操作。本文描述的动作可以以不同次序执行。
各个系统组件的分离并不需要在所有实施方式中都分离,并且所描述的程序组件可以包括在单个硬件或软件产品中。例如,NLP组件112或内容选择器组件118可以是单个组件、应用或程序,具有一个或多个处理电路的逻辑设备,或者数据处理系统102的一个或多个服务器的一部分。
现在已经描述了一些说明性实施方式,很明显,前述内容是说明性的而不是限制性的,其已经被以示例的方式给出。特别地,尽管本文呈现的许多示例涉及方法动作或系统元素的特定组合,但是可以以其他方式组合那些动作和那些元素以实现相同的目标。结合一个实施方式所讨论的动作、元素和特征不旨在被排除在其他实施方式或实施方式中的类似角色之外。
这里使用的措词和术语是出于描述的目的,而不应被认为是限制性的。本文中“包括”、“包含(comprising)”、“具有”、“包含(containing)”、“涉及”、“特征为”、“特征在于”及其变体的使用意在涵盖其后列出的项目、其等同物以及附加项目,以及仅由其后列出的项目组成的替代实施方式。在一种实施方式中,本文描述的系统和方法由所描述的元素、动作或组件中的一个、多于一个的每种组合或全部组成。
对本文中以单数形式提及的系统和方法的实现或元素或动作的任何引用也可以包含包括多个这些元素的实现,并且在本文中对任何实现或元素或动作的复数形式的任何引用也可以包含仅包括单个元素的实现。单数或复数形式的引用无意将当前公开的系统或方法、它们的组件、动作或元素限制为单个或多个配置。对基于任何信息、动作或元素的任何动作或元素的引用可以包括其中该动作或元素至少部分基于任何信息、动作或元素的实现。
本文公开的任何实施方式可以与任何其他实施方式或实施例组合,并且对“实施方式”、“某些实施方式”、“一个实施方式”等的引用不一定是互斥的,并且旨在指示结合实施方式描述的特定特征、结构或特性可以被包括在至少一个实施方式或实施例中。如本文所使用的这样的术语不一定全部指代相同的实施方式。任何实施方式可以以与本文公开的方面和实施方式一致的任何方式与任何其他实施方式包含性地或排他性地组合。
对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、一个以上以及所有所描述术语中的任何一个。例如,对“A”和“B”中的至少一个的引用包括仅“A”、仅“B”以及“A”和“B”两者。结合“包含”或其他开放式术语使用的此类引用可以包括附加项目。
对于附图、详细描述或任何权利要求中的技术特征之后跟有附图标记的情况,附图标记已被包括以增加附图、详细描述和权利要求的可理解性。因此,附图标记或其缺失对任何权利要求要素的范围没有任何限制作用。
在不脱离其特征的情况下,本文中描述的系统和方法可以以其他特定形式来实现。例如,数据处理系统102可以基于输入音频信号来识别第一查询,并且将第一查询传输到第三方聊天机器人提供方设备以生成对第一查询的响应,而无需生成第二查询。前述实施方式是说明性的,而不是限制所描述的系统和方法。因此,在此描述的系统和方法的范围由所附权利要求而不是前述描述来指示,并且在权利要求的等同含义和范围内的改变被包含在其中。

Claims (20)

1.一种在语音驱动的计算环境中管理图形用户界面的渲染的系统,包括:
数据处理系统,所述数据处理系统包括一个或多个处理器和存储器以执行自然语言处理器组件、接口、输出合并组件和内容选择器组件,所述数据处理系统用于:
经由所述接口接收数据分组,所述数据分组包括由计算设备的传感器检测到的输入音频信号;
从所述输入音频信号中确定应用标识符和第一查询;
基于所述第一查询和与所述计算设备相关联的信息,生成第二查询;
将所述第二查询提供给提供与所述应用标识符相对应的应用的第三方服务器,以使所述应用识别对所述第二查询的多个响应以经由所述计算设备显示;
在所述计算设备上显示之前,从所述应用中,获取由所述应用响应于传输到所述第三方服务器的所述第二查询而识别的所述多个响应;
解析所述多个响应以基于所述多个响应来生成关键词;
响应于所述关键词的生成,利用基于从所述第三方服务器获取的所述多个响应而生成的所述关键词来执行实时内容选择过程;
基于所述实时内容选择过程,识别由内容提供方设备提供的数字组成部分;
利用所述数字组成部分和由所述应用生成的所述多个响应来执行重复删除过程;
响应于利用所述数字组成部分和由所述应用生成的所述多个响应来执行的所述重复删除过程,确定将所述数字组成部分添加到所述多个响应中;
针对所述应用检索定义字体、颜色和布局的图形用户界面模板,以渲染所述多个响应;
使用所述图形用户界面模板来构造显示输出,所述图形用户界面模板将由所述应用生成的所述多个响应与基于所述实时内容选择过程识别的所述数字组成部分集成在一起;以及
将所述显示输出提供给所述计算设备,以使所述计算设备渲染所述显示输出以经由通信地耦合到所述计算设备的显示设备来显示。
2.根据权利要求1所述的系统,包括所述数据处理系统以用于:
解析所述第一查询以识别与位置有关的词项;
基于对所述与位置有关的词项的识别,确定所述计算设备的位置;以及
将所述计算设备的所述位置插入所述第一查询中以生成所述第二查询。
3.根据权利要求1所述的系统,包括所述数据处理系统以用于:
向提供所述应用的所述第三方服务器传输对所述图形用户界面模板的请求;
响应于所述请求,接收所述图形用户界面模板;以及
将所述图形用户界面模板存储在所述数据处理系统的数据存储库中。
4.根据权利要求1所述的系统,包括所述数据处理系统以用于:
修改所述数字组成部分的字体和颜色中的至少一个,以将所述数字组成部分与所述多个响应集成在一起,以用于所述显示输出。
5.根据权利要求1所述的系统,其中,所述应用包括由所述第三方服务器提供的第三方聊天机器人。
6.根据权利要求1所述的系统,包括所述数据处理系统以用于:
在所述多个响应中选择定位;以及
将所述数字组成部分添加到所述多个响应中的所述定位以构造所述显示输出。
7.根据权利要求1所述的系统,包括所述数据处理系统以用于:
基于机器学习模型,选择所述多个响应中的定位,所述机器学习模型利用从所述应用的多个实例收集的历史性能数据来生成;以及
将所述数字组成部分添加到所述多个响应中的所述定位以构造所述显示输出。
8.根据权利要求1所述的系统,包括:
所述数据处理系统使用语义分析技术来解析所述多个响应中的每个响应,以识别所述关键词。
9.根据权利要求1所述的系统,包括所述数据处理系统以用于:
生成根据所述应用标识符和所述计算设备的标识符而形成的元组;以及
基于根据所述应用标识符和所述计算设备的标识符而形成的所述元组,选择所述图形用户界面模板。
10.根据权利要求1所述的系统,包括所述数据处理系统以用于:
响应于基于由所述计算设备的所述传感器检测到的第二输入信号而被选择的第二多个响应,接收第二数字组成部分;
利用所述第二数字组成部分和由所述应用生成的所述第二多个响应来执行第二重复删除过程;
响应于利用所述数字组成部分和由所述应用生成的所述多个响应执行的所述第二重复删除过程,确定所述第二数字组成部分与所述第二多个响应之一匹配;以及
阻止将所述第二数字组成部分添加到所述第二多个响应中。
11.根据权利要求1所述的系统,包括所述数据处理系统以用于:
响应于基于由所述计算设备的所述传感器检测到的第二输入信号而被选择的第二多个响应,接收第二数字组成部分;
利用所述第二数字组成部分和由所述应用生成的所述第二多个响应来执行第二重复删除过程;
响应于利用所述数字组成部分和由所述应用生成的所述多个响应执行的所述第二重复删除过程,确定所述第二数字组成部分与所述第二多个响应之一匹配;
响应于所述第二数字组成部分与所述第二多个响应之一匹配的所述确定,选择第三数字组成部分;以及
将所述第三数字组成部分添加到所述第二多个响应中,以经由所述显示设备显示。
12.一种在语音驱动的计算环境中管理图形用户界面的渲染的方法,包括:
经由包括一个或多个处理器的数据处理系统的接口,接收包括由计算设备的传感器检测到的输入音频信号的数据分组;
由所述数据处理系统从所述输入音频信号中确定应用标识符和用于输入到与所述应用标识符相对应的应用的第一查询;
由所述数据处理系统基于所述第一查询来生成第二查询;
由所述数据处理系统将所述第二查询提供给第三方服务器,以使所述第三方服务器识别对所述第二查询的多个响应,以经由所述计算设备显示;
在所述计算设备上显示之前,由所述数据处理系统从所述应用中获取由所述应用响应于传输给所述第三方服务器的所述第二查询而识别的所述多个响应;
由所述数据处理系统解析所述多个响应,以基于所述多个响应来生成关键词;
由所述数据处理系统响应于所述关键词的生成,利用基于从所述应用拦截的所述多个响应而生成的所述关键词来执行实时内容选择过程;
由所述数据处理系统基于所述实时内容选择过程,识别由内容提供方设备提供的数字组成部分;
由所述数据处理系统利用所述数字组成部分和由所述应用生成的所述多个响应来执行重复删除过程;
由所述数据处理系统响应于利用所述数字组成部分和由所述应用生成的所述多个响应而执行的所述重复删除过程来确定将所述数字组成部分添加到所述多个响应中;
由所述数据处理系统针对所述应用检索定义字体、颜色和布局的图形用户界面模板,以渲染所述多个响应;
由所述数据处理系统使用所述图形用户界面模板来构造显示输出,该图形用户界面模板将由所述应用生成的所述多个响应与基于所述实时内容选择过程识别的所述数字组成部分集成在一起;以及
由所述数据处理系统将所述显示输出提供给所述计算设备,以使所述计算设备渲染所述显示输出以经由通信地耦合到所述计算设备的显示设备显示。
13.根据权利要求12所述的方法,包括:
修改所述数字组成部分的字体和颜色中的至少一个,以将所述数字组成部分与所述多个响应集成在一起,以用于所述显示输出。
14.根据权利要求12所述的方法,其中,所述应用包括由所述第三方服务器提供的第三方聊天机器人。
15.根据权利要求12所述的方法,包括:
在所述多个响应中选择定位;以及
将所述数字组成部分添加到所述多个响应中的所述定位以构造所述显示输出。
16.根据权利要求12所述的方法,包括:
基于机器学习模型,选择所述多个响应中的定位,所述机器学习模型利用从所述应用的多个实例收集的历史性能数据被生成;以及
将所述数字组成部分添加到所述多个响应中的所述定位以构造所述显示输出。
17.根据权利要求12所述的方法,包括:
使用语义分析技术来解析所述多个响应中的每个响应,以识别所述关键词。
18.根据权利要求12所述的方法,包括:
生成根据所述应用标识符和所述计算设备的标识符而形成的元组;以及
基于根据所述应用标识符和所述计算设备的标识符而形成的元组,选择所述图形用户界面模板。
19.一种数字助理设备,包括:
显示设备;
图形驱动器;
传感器,所述传感器用于检测输入音频信号;以及
预处理器组件,所述预处理器组件耦合到所述显示设备、所述图形驱动器和所述传感器,所述预处理器组件用于:
对所述输入音频信号进行滤波以创建滤波后的输入音频信号;
将所述滤波后的输入音频信号转换为数据分组;
将所述数据分组传输到数据处理系统,所述数据处理系统包括执行自然语言处理器组件、接口、输出合并组件和内容选择器组件的一个或多个处理器和存储器,所述数据处理系统用于:
经由所述接口接收数据分组,所述数据分组包括由计算设备的所述传感器检测到的所述输入音频信号;
从所述输入音频信号中确定应用标识符和第一查询;
基于所述第一查询和与所述计算设备相关联的信息,生成第二查询;
将所述第二查询提供给提供与所述应用标识符相对应的应用的第三方服务器,以使所述应用识别对所述第二查询的多个响应以经由所述计算设备显示;
在所述计算设备上显示之前,从所述应用中获取由所述应用响应于传输到所述第三方服务器的所述第二查询而识别的所述多个响应;
解析所述多个响应以基于所述多个响应来生成关键词;
响应于所述关键词的生成,利用基于从所述应用拦截的所述多个响应而生成的所述关键词来执行实时内容选择过程;
基于所述实时内容选择过程,识别由内容提供方设备提供的数字组成部分;
利用所述数字组成部分和由所述应用生成的所述多个响应来执行重复删除过程;
响应于利用所述数字组成部分和由所述应用生成的所述多个响应执行的所述重复删除过程,确定将所述数字组成部分添加到所述多个响应中;
针对所述应用检索定义字体、颜色和布局的图形用户界面模板,以渲染所述多个响应;
使用所述图形用户界面模板来构造显示输出,所述图形用户界面模板将由所述应用生成的所述多个响应与基于所述实时内容选择过程识别的所述数字组成部分集成在一起;以及
将所述显示输出提供给所述数字助理设备,以使所述数字助理设备渲染所述显示输出以经由通信地耦合到所述数字助理设备的显示设备显示;以及
所述图形驱动器渲染所述显示输出,以使所述显示设备呈现与所述显示输出相对应的视觉指示。
20.根据权利要求19所述的设备,包括:
音频驱动器;
扬声器组件;以及
预处理器组件,所述预处理器组件接收对所述显示输出的指示并指令所述音频驱动器生成输出音频信号,以使所述扬声器组件传输与对所述显示输出的所述指示相对应的音频输出。
CN201880061283.7A 2017-12-08 2018-06-15 通过语音驱动的计算基础设施进行的图形用户界面渲染管理 Active CN111108476B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/836,746 US10558426B2 (en) 2017-12-08 2017-12-08 Graphical user interface rendering management by voice-driven computing infrastructure
US15/836,746 2017-12-08
PCT/US2018/037858 WO2019112646A1 (en) 2017-12-08 2018-06-15 Graphical user interface rendering management by voice-driven computing infrastructure

Publications (2)

Publication Number Publication Date
CN111108476A true CN111108476A (zh) 2020-05-05
CN111108476B CN111108476B (zh) 2024-03-26

Family

ID=62916751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880061283.7A Active CN111108476B (zh) 2017-12-08 2018-06-15 通过语音驱动的计算基础设施进行的图形用户界面渲染管理

Country Status (6)

Country Link
US (3) US10558426B2 (zh)
EP (1) EP3665567A1 (zh)
JP (2) JP7032523B2 (zh)
KR (2) KR102477073B1 (zh)
CN (1) CN111108476B (zh)
WO (1) WO2019112646A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6966979B2 (ja) * 2018-06-26 2021-11-17 株式会社日立製作所 対話システムの制御方法、対話システム及びプログラム
CN108958844B (zh) * 2018-07-13 2021-09-03 京东方科技集团股份有限公司 一种应用程序的控制方法及终端
US11997060B1 (en) * 2019-01-29 2024-05-28 Allscripts Software, Llc Apparatus, systems, and methods for third-party information display in a user interface in a medical computer system environment
US20200244604A1 (en) * 2019-01-30 2020-07-30 Hewlett Packard Enterprise Development Lp Application program interface documentations
US11113475B2 (en) * 2019-04-15 2021-09-07 Accenture Global Solutions Limited Chatbot generator platform
US11637792B2 (en) * 2019-04-19 2023-04-25 Oracle International Corporation Systems and methods for a metadata driven integration of chatbot systems into back-end application services
CN110297685B (zh) * 2019-06-28 2022-09-16 百度在线网络技术(北京)有限公司 用户界面描述文件生成方法、装置、设备及存储介质
US11853649B2 (en) 2019-10-15 2023-12-26 Google Llc Voice-controlled entry of content into graphical user interfaces
WO2021119441A1 (en) * 2019-12-13 2021-06-17 Liveperson, Inc. Function-as-a-service cloud chatbot for two-way communication systems
US11550552B2 (en) * 2020-03-30 2023-01-10 Nuance Communications, Inc. Development system and method for a conversational application
US11604929B2 (en) * 2020-08-31 2023-03-14 Google Llc Guided text generation for task-oriented dialogue
US11893589B2 (en) * 2020-09-15 2024-02-06 International Business Machines Corporation Automated support query
CN115812193A (zh) * 2020-10-21 2023-03-17 谷歌有限责任公司 经由数字助理传递兼容的补充内容
US11693874B2 (en) * 2020-11-25 2023-07-04 Sap Se Framework to facilitate data access
CN114067797A (zh) * 2021-11-19 2022-02-18 杭州逗酷软件科技有限公司 一种语音控制方法、装置、设备以及计算机存储介质
US20240020570A1 (en) * 2022-07-13 2024-01-18 Capital One Services, Llc Systems and methods for using machine learning models to organize and select access-restricted components for user interface templates based on characteristics of access token types

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198339A1 (en) * 2006-02-22 2007-08-23 Si Shen Targeted mobile advertisements
US20090030800A1 (en) * 2006-02-01 2009-01-29 Dan Grois Method and System for Searching a Data Network by Using a Virtual Assistant and for Advertising by using the same
CN101939740A (zh) * 2007-12-11 2011-01-05 声钰科技 在集成语言导航服务环境中提供自然语言语音用户界面
CN102150162A (zh) * 2008-07-15 2011-08-10 谷歌公司 嵌入式应用中的地理和关键词语境
US20140244266A1 (en) * 2013-02-22 2014-08-28 Next It Corporation Interaction with a Portion of a Content Item through a Virtual Assistant
CN107331389A (zh) * 2008-03-07 2017-11-07 谷歌公司 基于场境的语音识别语法选择方法和系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047422A1 (en) * 2000-01-21 2001-11-29 Mcternan Brennan J. System and method for using benchmarking to account for variations in client capabilities in the distribution of a media presentation
JP2007122525A (ja) * 2005-10-29 2007-05-17 National Institute Of Information & Communication Technology 言い換え処理方法及び装置
US7962464B1 (en) * 2006-03-30 2011-06-14 Emc Corporation Federated search
AU2008298576A1 (en) 2007-09-13 2009-03-19 Molecular Insight Pharmaceuticals, Inc. Infusion and transfer system for use with radioactive agents
US9146909B2 (en) * 2011-07-27 2015-09-29 Qualcomm Incorporated Web browsing enhanced by cloud computing
EP4138075A1 (en) 2013-02-07 2023-02-22 Apple Inc. Voice trigger for a digital assistant
US9767198B2 (en) * 2014-08-25 2017-09-19 Excalibur Ip, Llc Method and system for presenting content summary of search results
KR101662399B1 (ko) * 2014-10-27 2016-10-04 포항공과대학교 산학협력단 키워드 입력 기반의 사용자 관심정보를 이용한 질의응답 장치 및 방법
US10331312B2 (en) * 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US20170092278A1 (en) 2015-09-30 2017-03-30 Apple Inc. Speaker recognition
US9747926B2 (en) 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US9928840B2 (en) 2015-10-16 2018-03-27 Google Llc Hotword recognition
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US11294908B2 (en) * 2015-11-10 2022-04-05 Oracle International Corporation Smart search and navigate
CN106855771A (zh) * 2015-12-09 2017-06-16 阿里巴巴集团控股有限公司 一种数据处理方法、装置和智能终端
KR20170076199A (ko) * 2015-12-24 2017-07-04 오드컨셉 주식회사 커머셜 컨텐츠를 제공하는 방법, 장치 및 컴퓨터 프로그램
US10747758B2 (en) * 2016-04-29 2020-08-18 Rovi Guides, Inc. Methods and systems for identifying an information resource for answering natural language queries
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090030800A1 (en) * 2006-02-01 2009-01-29 Dan Grois Method and System for Searching a Data Network by Using a Virtual Assistant and for Advertising by using the same
US20070198339A1 (en) * 2006-02-22 2007-08-23 Si Shen Targeted mobile advertisements
CN101939740A (zh) * 2007-12-11 2011-01-05 声钰科技 在集成语言导航服务环境中提供自然语言语音用户界面
CN107331389A (zh) * 2008-03-07 2017-11-07 谷歌公司 基于场境的语音识别语法选择方法和系统
CN102150162A (zh) * 2008-07-15 2011-08-10 谷歌公司 嵌入式应用中的地理和关键词语境
US20140244266A1 (en) * 2013-02-22 2014-08-28 Next It Corporation Interaction with a Portion of a Content Item through a Virtual Assistant

Also Published As

Publication number Publication date
US11074039B2 (en) 2021-07-27
JP7032523B2 (ja) 2022-03-08
US20200174746A1 (en) 2020-06-04
CN111108476B (zh) 2024-03-26
KR102353286B1 (ko) 2022-01-20
KR20220010070A (ko) 2022-01-25
JP2021501926A (ja) 2021-01-21
EP3665567A1 (en) 2020-06-17
US20210326106A1 (en) 2021-10-21
US11429346B2 (en) 2022-08-30
JP7459153B2 (ja) 2024-04-01
JP2022071013A (ja) 2022-05-13
KR102477073B1 (ko) 2022-12-13
US20190179608A1 (en) 2019-06-13
KR20200042927A (ko) 2020-04-24
WO2019112646A1 (en) 2019-06-13
US10558426B2 (en) 2020-02-11

Similar Documents

Publication Publication Date Title
US11429346B2 (en) Graphical user interface rendering management by voice-driven computing infrastructure
US11582169B2 (en) Modification of audio-based computer program output
JP7111818B2 (ja) セキュアな処理環境内のデータ転送
US10600409B2 (en) Balance modifications of audio-based computer program output including a chatbot selected based on semantic processing of audio
US10614122B2 (en) Balance modifications of audio-based computer program output using a placeholder field based on content
US11640822B2 (en) Dynamic sequence-based adjustment of prompt generation
US10657173B2 (en) Validate modification of audio-based computer program output
CN111213136A (zh) 联网系统中特定于域的模型的生成
KR102471071B1 (ko) 오디오 기반 컴퓨터 프로그램 출력의 수정
EP3430616A1 (en) Modification of audio-based computer program output

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
GR01 Patent grant
GR01 Patent grant