CN110149806A - 堆栈数据结构的数字助理处理 - Google Patents

堆栈数据结构的数字助理处理 Download PDF

Info

Publication number
CN110149806A
CN110149806A CN201780004310.2A CN201780004310A CN110149806A CN 110149806 A CN110149806 A CN 110149806A CN 201780004310 A CN201780004310 A CN 201780004310A CN 110149806 A CN110149806 A CN 110149806A
Authority
CN
China
Prior art keywords
profile
data structure
processing system
data processing
profile layer
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
CN201780004310.2A
Other languages
English (en)
Other versions
CN110149806B (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
Priority to CN202310923755.8A priority Critical patent/CN117059087A/zh
Publication of CN110149806A publication Critical patent/CN110149806A/zh
Application granted granted Critical
Publication of CN110149806B publication Critical patent/CN110149806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • 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/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • 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
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供处理堆栈的数据结构。一种系统接收由本地计算设备的传感器检测到的输入音频信号、识别声学签名、并且识别与该特征相对应的账户。所述系统建立会话以及包括具有由第三方设备配置的策略的第一简档层的简档栈数据结构。所述系统将从账户检索到的第二简档层推送到简档栈数据结构。所述系统解析输入音频信号以识别请求和触发关键字。所述系统基于触发关键字和第二简档层而生成与第一简档层兼容的第一动作数据结构。所述系统提供第一动作数据结构以供执行。所述系统拆解简档栈数据结构以从该简档栈数据结构中移除第一简档层或第二简档层。

Description

堆栈数据结构的数字助理处理
背景技术
位于公共空间内的计算设备可能并不安全。各种实体可以访问或利用公共计算设备。随着不同实体访问或利用公共计算设备,由于与该不同实体的策略相关联的歧义,准确处理特定实体的远程过程调用、应用或脚本可能具有挑战性,由此引起错误的网络传输、应用调用和远程过程调用,从而导致浪费网络和处理资源。
发明内容
本公开总体上涉及处理堆栈数据结构以提高数字助理在公共位置中的效率。数据处理系统能够进行说话者辨识以识别电子账户,并且然后将与说话者相关联的简档推送到简档栈数据结构,该简档栈数据结构包括具有由与公共位置相关联的第三方实体建立的基线简档(baseline profile)的第一层。所述数据处理系统能够响应于触发事件而拆解所述简档栈数据结构,从而保持安全并且减少错误的远程过程调用。
至少一个方面涉及一种处理堆栈数据结构的系统。所述系统能够包括数据处理系统,所述数据处理系统具有一个或多个处理器和存储器,以执行自然语言处理器组件、接口、说话者辨识组件、和直接动作应用编程接口。所述接口能够接收包括由本地计算设备的传感器检测到的输入音频信号的数据分组。所述数据处理系统能够从所述输入音频信号中识别声学签名(acoustic signature)。所述数据处理系统能够基于在数据存储库中的查找来识别与所述声学签名相对应的电子账户。所述数据处理系统能够响应于识别所述电子账户而建立会话以及供所述会话中使用的简档栈数据结构。所述简档栈数据结构能够包括具有由第三方实体的设备配置的一个或多个策略的第一简档层。所述数据处理系统能够将从所述账户检索到的第二简档层推送到为所述会话建立的所述简档栈数据结构。所述数据处理系统能够解析所述输入音频信号以识别请求以及与所述请求相对应的触发关键字。所述数据处理系统能够基于所述触发关键字以及推送到所述简档栈数据结构的所述第二简档层来生成与所述简档栈数据结构的所述第一简档层兼容的响应于所述请求的第一动作数据结构。所述数据处理系统能够提供所述第一动作数据结构以供执行。所述数据处理系统能够响应于检测到触发事件而拆解所述简档栈数据结构以从所述简档栈数据结构中移除所述第一简档层或所述第二简档层中的一个。
至少一个方面涉及一种处理堆栈数据结构的方法。所述方法能够由具有一个或多个处理器和存储器的数据处理系统来执行。所述方法能够包括:所述数据处理系统的接口接收包括由本地计算设备的传感器检测到的输入音频信号的数据分组。所述方法能够包括:所述数据处理系统从所述输入音频信号中识别声学签名。所述方法能够包括:所述数据处理系统基于在数据存储库中的查找来识别与所述声学签名相对应的电子账户。所述方法能够包括:所述数据处理系统响应于识别所述电子账户而建立会话以及供会话中使用的简档栈数据结构。所述简档栈数据结构能够包括具有由第三方实体的设备配置的一个或多个策略的第一简档层。所述方法能够包括:所述数据处理系统将从所述账户检索到的第二简档层推送到为所述会话建立的所述简档栈数据结构。所述方法能够包括:所述数据处理系统解析所述输入音频信号以识别请求以及与所述请求相对应的触发关键字。所述方法能够包括:所述数据处理系统基于所述触发关键字以及推送到所述简档栈数据结构的所述第二简档层来生成与所述简档栈数据结构的第一简档层兼容的响应于所述请求的第一动作数据结构。所述方法能够包括:所述数据处理系统提供所述第一动作数据结构以供执行。所述方法能够包括:所述数据处理系统响应于检测到触发事件而拆解所述简档栈数据结构以从所述简档栈数据结构中移除所述第一简档层或所述第二简档层中的一个。
至少一个方面涉及数字助理设备。所述数字助理设备能够包括音频驱动器、换能器、检测输入音频信号的传感器、以及耦合到所述音频驱动器、所述换能器、和所述传感器的预处理器组件。所述预处理器组件能够对所述输入音频信号进行滤波以创建经滤波的输入音频信号。所述预处理器组件能够将经滤波的输入音频信号转换成数据分组。所述预处理器组件能够将所述数据分组传输到数据处理系统,所述数据处理系统包括一个或多个处理器和存储器,所述一个或多个处理器和存储器执行自然语言处理器组件、接口、说话者辨识组件、和直接动作应用编程接口。所述数据处理系统能够经由所述接口从所述预处理器组件接收包括由所述传感器检测到的所述经滤波的输入音频信号的所述数据分组。所述数据处理系统能够从所述输入音频信号中识别声学签名。所述数据处理系统能够基于在数据存储库中的查找来识别与所述声学签名相对应的电子账户。所述数据处理系统能够响应于识别所述电子账户而建立会话以及供所述会话中使用的简档栈数据结构。所述简档栈数据结构能够包括具有由第三方实体的设备配置的一个或多个策略的第一简档层。所述数据处理系统能够将从所述电子账户检索到的第二简档层推送到为所述会话建立的所述简档栈数据结构。所述数据处理系统能够解析所述输入音频信号以识别请求以及与所述请求相对应的触发关键字。所述数据处理系统能够基于所述触发关键字以及推送到所述简档栈数据结构的所述第二简档层而生成与所述简档栈数据结构的所述第一简档层兼容的响应于所述请求的第一动作数据结构。所述数据处理系统能够提供所述第一动作数据结构以供执行。所述数据处理系统能够响应于检测到触发事件而拆解所述简档栈数据结构以从所述简档栈数据结构中移除所述第一简档层或所述第二简档层中的一个。所述数据处理系统能够向所述预处理器组件提供所述简档栈数据结构的状态。所述数字助理设备的所述音频驱动器能够进一步接收所述简档栈数据结构的状态的指示,以及基于所述指示来生成输出信号。所述数字助理装置的所述换能器能够基于由所述音频驱动器生成的输出信号来进一步生成声音。
下面详细讨论这些以及其他方面和实施方式。前文的信息和下文的具体实施方式包括各个方面和实施方式的说明性示例,并且提供用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供对各个方面和实施方式的说明和进一步理解并且被包含在本说明书中并构成其一部分。
附图说明
附图并非旨在按比例绘制。在各附图中相似的附图标记和名称指示相似的元素。清楚起见,并非在每个附图中标注每个组件。在附图中:
图1是经由计算机网络处理堆栈数据结构的系统的图示。
图2是经由计算机网络处理堆栈数据结构的系统的操作的图示。
图3是经由计算机网络处理堆栈数据结构的系统的操作的图示。
图4是经由计算机网络处理堆栈数据结构的系统的操作的图示。
图5是经由计算机网络处理堆栈数据结构的方法的图示。
图6是图示出能够用来实现本文描述并示出的系统和方法的元素的计算机系统的总体架构的框图。
具体实施方式
下面是关于经由计算机网络来路由分组化动作的方法、装置和系统的各种概念及其实施方式的具体实施方式。上面介绍并在下面更详细讨论的各种概念可以采用诸多方式中的任何一种来实现。
本公开总体上涉及处理堆栈数据结构以操作和提高数字助理在公共位置中的效率。数据处理系统能够进行说话者辨识以识别电子账户,并且然后将与说话者相关联的简档推送到简档栈数据结构,该简档栈数据结构包括具有由与公共位置相关联的第三方实体建立的基线简档的第一层。所述数据处理系统能够响应于触发事件而拆解简档栈数据结构,从而保持安全并且减少错误的远程过程调用。
本方案能够通过以下来减少资源消耗、处理器利用、电池消耗、带宽利用、音频文件大小、或者说话者耗费的时间量:解析来自最终用户的基于语音的指令,识别声学签名,选择对应的简档,将该简档推送到在第一层中包括默认简档的简档栈,使用所选择的简档来构建动作数据结构,确定动作数据结构是否与默认简档相符,将动作数据结构路由到对应设备,并且然后响应于触发事件而拆解简档栈。
本方案的系统和方法能够将数字助理配置成用于公共情景(public setting),诸如酒店房间,或者允许访客登录数字助理以供临时使用(例如,10分钟、30分钟、1小时、2小时、24小时、48小时、72小时)。本方案能够允许数字助理通过恢复到先前的配置并且擦除或保护所有会话信息,来以智能方式接涉(engage)账户和脱离(disengage)账户。数字助理能够通过与任何第三方设备或接口进一步建立会话或链接而以智能方式接涉。数字助理能够提供安全认证机制,以有助于确保将正确的设备用于服务,诸如示出快速响应码、光码、条形码或者能够提供指纹特征(fingerprinting)的其他视觉或听觉信号。本方案能够通过将数字助理重置为出厂设置、自动触发脱离、以及提供确保恰当的脱离的冗余机制来脱离。本方案还能够允许订制由数字助理提供的数字助理或数字内容。例如,能够加重提供数字助理的酒店的数字组件的权重,以提供该酒店的品牌效应(branding)。此外,如果用户尚未具有数字助理,则能够为数字助理提供数字组件。
图1图示出用于处理简档栈的示例系统100。系统100能够包括内容选择基础架构。系统100能够包括数据处理系统102。数据处理系统102能够经由网络105与内容提供者计算设备106、第三方设备146、或者本地计算设备104通信。网络105能够包括诸如互联网、局域网、广域网、城域网或其他域网、内联网、卫星网络的计算机网络以及诸如语音或数据移动电话网络的其他通信网络。网络105能够被使用于访问能够在诸如膝上型计算机、桌面型计算机、平板型计算机、数字助理设备、智能电话、便携式计算机或扬声器的至少一个本地计算设备104上呈现、输出、渲染或显示的诸如web页面、web站点、域名或统一资源定位符的信息资源。例如,经由网络105,本地计算设备104的用户能够访问由内容提供者106提供的信息或数据。计算设备104可以包括或可以不包括显示器;例如,计算设备可以包括有限类型的用户接口,诸如麦克风和扬声器。在一些情况下,计算设备104的主用户接口可以是麦克风和扬声器或者语音接口。
本地计算设备104能够指代位于诸如公共位置202的公共情景或者诸如私人位置402的私人情景(private setting)的计算设备或客户端设备。术语本地能够指代计算设备位于用户能够使用语音输入或其他输入与该计算设备进行交互的位置。本地计算设备能够位于远离诸如数据处理系统102的远程服务器的位置。因此,例如,本地计算设备104能够被定位于用户能够使用语音输入与本地计算设备104进行交互的酒店客房、商场、隔间或者其他建筑物或居所中,而数据处理系统102能够被远程定位于数据中心中。本地计算设备104能够被称为数字助理设备。
网络105能够包括或构成展示网络,例如,互联网上可用的信息资源的子集,其与内容放置或搜索引擎结果系统相关联或者有资格包括第三方数字组件作为数字组件放置宣传活动的一部分。数据处理系统102能够使用网络105来访问能够由本地客户端计算设备104呈现、输出、渲染或显示的信息资源,诸如web页面、web站点、域名或统一资源定位符。例如,经由网络105,本地客户端计算设备104的用户能够访问由内容提供者计算设备106或服务提供者计算设备108提供的信息或数据。
网络105可以是任何类型或形式的网络,并且可以包括以下任何一个:点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光纤网)网络、SDH(同步数字体系)网络、无线网络和有线网络。网络105可以包括诸如红外信道或卫星频带的无线链路。网络105的拓扑可以包括总线、星形或环形网络拓扑。网络可以包括使用用于在移动设备间通信的任何一个或多个协议的移动电话网络,包括高级移动电话协议(“AMPS”)、时分多址(“TDMA”)、码分多址(“CDMA”)、全球移动通信系统(“GSM”)、通用分组无线电业务(“GPRS”)或通用移动电信系统(“UMTS”)。可以经由不同的协议传输不同类型的数据,或者可以经由不同的协议传输相同类型的数据。
系统100能够包括至少一个数据处理系统102。数据处理系统102能够包括至少一个逻辑设备——诸如具有处理器的计算设备——以经由网络105与例如计算设备104、内容提供者计算设备106(内容提供者106)或第三方设备146(或第三方146)通信。数据处理系统102能够包括至少一个计算资源、服务器、处理器或存储器。例如,数据处理系统102能够包括位于至少一个数据中心中的多个计算资源或服务器。数据处理系统102能够包括多个逻辑分组的服务器并且促进分布式计算技术。服务器的逻辑组可以称为数据中心、服务器群或机器群。服务器也能够在地理上分散。数据中心或机器群可以作为单个实体来管理,或者机器群能够包括多个机器群。每个机器群内的服务器能够是异构的—服务器或机器中的一个或多个能够根据一种或多种类型的操作系统平台来进行操作。
机器群中的服务器能够被存储在高密度机架系统以及相关联的存储系统中,并且位于企业数据中心中。例如,以这种方式整合服务器可以通过在本地化高性能网络上定位服务器和高性能存储系统来提高系统可管理性、数据安全性、系统的物理安全性和系统性能。对包括服务器和存储系统的全部或一些的数据处理系统102组件集中化并且将它们与高级系统管理工具耦合允许更有效率地利用服务器资源,这会节省电力和处理要求并且减少带宽占用。
系统100能够包括、访问或以其他方式与至少一个第三方设备146进行交互。第三方设备146能够包括至少一个逻辑设备——诸如具有处理器的计算设备——以经由网络105例如与计算设备104、数据处理系统102或内容提供者106通信。第三方设备146能够包括至少一个计算资源、服务器、处理器或存储器。例如,第三方设备146能够包括位于至少一个数据中心中的多个计算资源或服务器。
内容提供者设备106能够提供基于音频的数字组件,以供作为音频输出数字组件来由本地计算设备104显示。数字组件能够包括针对商品或服务的报价,诸如基于语音的消息,其陈述:“Would you like me to order you a taxi?(您想让我为您叫辆出租车吗?)”例如,内容提供者计算设备106能够包括存储器,用以存储能够响应于基于语音的查询而提供的一系列音频数字组件。内容提供者计算设备106还能够将基于音频的数字组件(或其他数字组件)提供给数据处理系统102,在所述数据处理系统102中它们能够被存储在数据存储库124中。数据处理系统102能够选择音频数字组件并且将所述音频数字组件提供(或者指令内容提供者计算设备104提供)给本地客户端计算设备104。基于音频的数字组件能够只是音频或者能够与文本、图像或视频数据组合。
第三方设备146能够包括数据处理系统102、与之对接或以其他方式与之通信。第三方设备146能够包括本地计算设备104、与之对接或以其他方式与之通信。第三方设备146能够包括移动计算设备144、与之对接或以其他方式与之通信。第三方设备146能够包括内容提供者设备106、与之对接或以其他方式与之通信。例如,第三方设备106能够向数据处理系统102提供简档以使得数据处理系统102更新堆栈简档数据结构,该堆栈简档数据结构被使用于生成对与本地计算设备104相关联的请求的响应。第三方设备106能够为本地计算设备104提供配置信息或设置。
本地计算设备104能够包括至少一个传感器134、换能器136、音频驱动器138或预处理器140、与之对接或以其他方式与之通信。本地计算设备104能够包括配置成提供视觉或光学输出的光源148,诸如光指示器、发光二极管(“LED”)、有机发光二极管(“OLED”)或其他视觉指示器。传感器134能够例如包括氛围光传感器、接近传感器、温度传感器、加速计、陀螺仪、运动检测器、GPS传感器、位置传感器、麦克风、或触摸传感器。换能器136能够包括扬声器或麦克风。音频驱动器138能够提供到硬件换能器136的软件接口。音频驱动器能够执行由数据处理系统102提供的音频文件或其他指令,以控制换能器136生成对应的音波或声波。预处理器140能够包括处理单元,该处理单元具有配置成检测关键字并且基于该关键字来执行动作的硬件。预处理器140在将一个或多个词项传输到数据处理系统102以供进一步处理之前,能够过滤掉该词项或修改该词项。预处理器140能够将由麦克风检测到的模拟音频信号转换成数字音频信号,并且将携载数字音频信号的一个或多个数据分组经由网络105传输到数据处理系统102。在一些情况下,响应于检测到执行这样的传输的指令,预处理器140能够传输携载输入音频信号中的一些或全部的数据分组。该指令能够例如包括将包括输入音频信号的数据分组传输到数据处理系统102的触发关键字或其他关键字或者批准。
本地客户端计算设备104能够与最终用户相关联,该最终用户将语音查询作为音频输入(经由传感器134)录入到本地客户端计算设备104并且接收计算机生成的语音形式的音频输出,该音频输出能够从数据处理系统102(或者内容提供者计算设备106或服务提供者计算设备108)提供给本地客户端计算设备104,从换能器136(例如,扬声器)输出。计算机生成的语音能够包括来自真人的录音或计算机生成的语言。
数据存储库124能够包括一个或多个本地或分布式数据库,并且能够包括数据库管理系统。数据存储库124能够包括计算机数据存储或存储器,并且能够存储一个或多个参数126、一个或多个策略128、内容数据130、签名与账户132、或简档栈142、以及其他数据。参数126、策略128、和签名132或简档栈142能够包括诸如关于本地客户端计算设备104与数据处理系统102(或第三方设备146)之间的基于语音会话的规则的信息。内容数据130能够包括音频输出的数字组件或相关联的元数据,以及能够作为与本地客户端计算设备104的一个或多个通信会话的一部分的输入音频消息。
数据处理系统102能够包括具有至少一个计算资源或服务器的内容放置系统。数据处理系统102能够包括至少一个接口110、与之对接或以其他方式与之通信。数据处理系统102能够包括至少一个自然语言处理器组件112、与之对接或以其他方式与之通信。数据处理系统102可以包括至少一个堆栈引擎组件114、与之对接或以其他方式与之通信。数据处理系统102能够包括至少一个直接动作应用编程接口(“API”)116、与之对接或以其他方式与之通信。数据处理系统102能够包括至少一个内容选择器组件118、与之对接或以其他方式与之通信。数据处理系统102能够包括至少一个说话者辨识组件120、与之对接或以其他方式与之通信。数据处理系统102可以包括至少一个数据存储库124、与之对接或以其他方式与之通信。至少一个数据存储库124能够将参数126、策略128、内容数据130、签名132、或简档栈142包括或存储在一个或多个数据结构或数据库中。参数126能够例如包括阈值、距离、时间间隔、持续时间、分值、或权重。内容数据130能够例如包括内容宣传活动信息、内容组、内容选择准则、数字组件对象或者由内容提供者106提供或由数据处理系统获得或确定以促进内容选择的其他信息。内容数据130能够例如包括内容宣传活动的历史效能。策略128能够例如包括在本地计算设备104处允许或阻止某些类型的动作或内容递送的策略。签名132能够包括声学或音频签名。签名132能够指代能够包括精简数字摘要的声学指纹——从音频信号确定性地生成的、能够用于识别音频样本或者在音频数据库中迅速定位类似项目的指纹。签名132能够包括促进由说话者辨识组件120识别简档的数据。简档栈数据结构142能够包括被层叠、堆栈、或合并并且被应用来在本地计算设备104处处理输入音频信号的一个或多个简档。
接口110、自然语言处理器组件112、堆栈引擎组件114、直接动作API116、内容选择器组件118、或说话者辨识组件120均能够包括至少一个处理单元或其他逻辑设备,诸如可编程逻辑阵列引擎,或者配置成与数据库存储库或数据库124通信的模块。接口110、自然语言处理器组件112、堆栈引擎组件114、直接动作API116、内容选择器组件118、或者说话者辨识组件120和数据存储库124能够是分开的组件、单个组件或数据处理系统102的一部分。系统100及其组件——诸如数据处理系统102——能够包括诸如一个或多个处理器、逻辑设备或电路的硬件元件。
数据处理系统102能够获得与多个计算设备104相关联的匿名计算机网络活动信息。本地计算设备104或移动计算设备144的用户能够肯定地核准数据处理系统102来获得与本地计算设备104或移动计算设备144相对应的网络活动信息。例如,数据处理系统102能够针对获得一种或多种类型的网络活动信息的同意来提示计算设备104的用户。移动计算设备144或本地计算设备104的用户的身份能够保持匿名,并且计算设备104或144能够与唯一标识符(例如,由数据处理系统或计算设备的用户提供的用户或计算设备的唯一标识符)相关联。数据处理系统能够将每个观察与对应的唯一标识符相关联。
内容提供者106能够建立电子内容宣传活动。电子内容宣传活动能够作为内容数据130存储在数据存储库124中。电子内容宣传活动能够指代与共同主题相对应的一个或多个内容组。内容宣传活动能够包括分层数据结构,其包括内容组、数字组件数据对象、和内容选择准则。为了创建内容宣传活动,内容提供者106能够指定内容宣传活动的宣传活动级参数的值。宣传活动级参数能够例如包括:宣传活动名称、用于放置数字组件对象的优选内容网络、将用于内容宣传活动的资源的值、内容宣传活动的开始和结束日期、内容宣传活动的持续时间、数字组件对象放置的时程、语言、地理位置、其上提供数字组件对象的计算设备的类型。在一些情况下,闪现(impression)能够指代何时从数字组件对象的来源(例如,数据处理系统102或内容提供者106)提取数字组件对象,并且是可计数的。在一些情况下,由于点击欺诈的可能性,机器人活动能够被过滤并排除而不作为闪现。因此,在一些情况下,闪现能够指代由Web服务器对来自浏览器的页面请求的响应的测量,其从机器人活动和错误代码中过滤出来并且在尽可能接近在渲染数字组件对象以供在计算设备104上显示的机会的点处被记录。在一些情况下,闪现能够指代可见或可听的闪现;例如,数字组件对象至少部分地(例如,20%、30%、30%、40%、50%、60%、70%或更多)在本地客户端计算设备104的显示设备上可见或者经由计算设备104的扬声器136可听。点击或选择能够指代与数字组件对象的用户交互,诸如对可听闪现的语音响应、鼠标点击、触摸交互、手势、摇动、音频交互、或键盘点击。转化能够指代用户针对数字组件对象采取期望的动作;例如,购买产品或服务、完成群体调查、访问与数字组件相对应的实体商店、或完成电子交易。
内容提供者106可以进一步建立内容宣传活动的一个或多个内容组。内容组包括一个或多个数字组件对象和对应的内容选择准则,诸如关键字、词语、词项、短语、地理位置、计算设备的类型、日内时间、兴趣、话题、或垂直元。相同内容宣传活动下的内容组能够共享相同的宣传活动级参数,但可能具有特定内容组级参数的定制规范,诸如关键字、否定关键字(例如,在存在关于主要内容的否定关键字的情况下阻止数字组件的放置)、关键字竞价或与竞价或内容宣传活动相关联的参数。
为了创建新的内容组,内容提供者能够为内容组的内容组级参数提供值。内容组级参数例如包括内容组名称或内容组题目,以及针对不同内容放置机会(例如,自动放置或受管理的放置)或效果(例如,点击、闪现、或转化)的竞价。内容组名称或内容组题目能够是内容提供者106能够用来捕获要针对其选择内容组的数字组件对象以供显示的话题或主题的一个或多个词项。例如,汽车经销商能够为其经营的每个车辆品牌创建不同的内容组,并且可以进一步为其经营的每个车辆型号创建不同的内容组。例如,汽车经销商可以使用的内容组题目的示例包括“Make A sports car(品牌A跑车)”、“Make B sports car(品牌B跑车)”、“Make C sedan(品牌C轿车)”、“Make C truck(品牌C卡车)”、“Make C hybrid(品牌C混合动力车)”或“Make D hybrid(品牌D混合动力车)”。示例内容宣传活动题目能够是“hybrid(混合动力车)”,并且包括“Make C hybrid(品牌C混合动力车)”以及“Make Dhybrid(品牌D混合动力车)”二者的内容组。
内容提供者106能够向每个内容组提供一个或多个关键字和数字组件对象。关键字能够包括有关与数字组件对象相关联或由数字组件对象标识的产品或服务的词项。关键字能够包括一个或多个词项或短语。例如,汽车经销商可以包括“sports car(跑车)”、“V-6engine(V-6发动机)”、“four-wheel drive(四轮驱动)”、“fuel efficiency(燃油效率)”作为内容组或内容宣传活动的关键字。在一些情况下,内容提供者能够指定否定关键字,以避免、防止、阻止或禁用对特定词项或关键字的内容放置。内容提供者能够指定用于选择数字组件对象的匹配类型,诸如精确匹配、短语匹配、或广泛匹配。
内容提供者106能够提供数据处理系统102用来选择由内容提供者106提供的数字组件对象的一个或多个关键字。内容提供者106能够识别待竞价的一个或多个关键字,并且进一步提供各个关键字的竞价金额。内容提供者106能够提供待由数据处理系统102用来选择数字组件对象的附加内容选择准则。多个内容提供者106能够对相同或不同的关键字竞价,并且数据处理系统102能够响应于接收到电子消息的关键字的指示而运行内容选择过程或广告竞拍。
内容提供者106能够提供一个或多个数字组件对象以供数据处理系统102选择。当内容放置机会变得可用时,数据处理系统102(例如,经由内容选择器组件118)能够选择数字组件对象,该内容放置机会与资源分配、内容调度、最大竞价、关键字、和为内容组指定的其他选择准则匹配。不同类型的数字组件对象可以被包括在诸如语音数字组件、音频数字组件、文本数字组件、图像数字组件、视频数字组件、多媒体数字组件、或数字组件链接的内容组中。数字组件对象(或数字组件)能够例如包括:内容项、在线文档、音频、图像、视频、多媒体内容、或赞助内容。在选择数字组件后,数据处理系统102能够传输数字组件对象以供在计算设备104或计算设备104的显示设备上渲染。渲染能够包括在显示设备上显示数字组件,或者经由计算设备104的扬声器播放数字组件。数据处理系统102能够向计算设备104提供渲染数字组件对象的指令。数据处理系统102能够指令计算设备104或计算设备104的音频驱动器138生成音频信号或声波。
数据处理系统102能够包括设计、配置、构建、或操作以例如使用数据分组来接收和传输信息的接口组件110。接口110能够使用诸如网络协议的一个或多个协议来接收和传输信息。接口110能够包括硬件接口、软件接口、有线接口、或无线接口。接口110能够促进将数据从一个格式转换或格式化成另一个格式。例如,接口110能够包括应用编程接口,该应用编程接口包括用于诸如软件组件的各个组件间通信的定义。接口110能够经由网络105与本地计算设备104、内容提供者设备106、第三方设备146、或移动计算设备144通信。
数据处理系统102能够与本地客户端计算设备104处安装的应用、脚本或程序——诸如App——对接,以将输入音频信号传送到数据处理系统102的接口110并且驱动本地客户端计算设备的组件渲染输出音频信号。数据处理系统102能够接收包括或标识音频输入信号的数据分组或其他信号。
数据处理系统102能够包括说话者辨识组件120,其被设计、构建并操作来接收由本地计算设备104检测到的音频输入信号、识别声学签名、并且识别与该声学签名相对应的电子账户。说话者辨识组件120能够经由接口110接收包括由本地计算设备104的传感器134或换能器136检测到的输入音频信号的数据分组。说话者辨识组件120能够根据输入音频信号来识别声学签名。说话者辨识组件120能够基于在数据存储库中的查找来识别与声学签名相对应的电子账户。
说话者辨识组件120能够接收具有携载输入音频信号的有效载荷的数据分组。说话者辨识组件120能够对输入音频信号执行预滤波或预处理以移除某些频率的音频。预滤波能够包括诸如低通滤波器、高通滤波器或带通滤波器的滤波器。滤波器能够被应用到频域中。能够使用数字信号处理技术来应用滤波器。滤波器能够被配置成保留与人类语音或人类话音相对应的频率,同时消除在人类话音典型频率之外的频率。例如,带通滤波器能够被配置成移除低于第一阈值(例如,70Hz、75Hz、80Hz、85Hz、90Hz、95Hz、100Hz或105Hz)且高于第二阈值(例如,200Hz、205Hz、210Hz、225Hz、235Hz、245Hz或255Hz)的频率。应用带通滤波器能够降低下游处理中的计算资源利用。在一些情况下,本地计算设备104上的预处理器140能够在将输入音频信号传输到数据处理系统102之前应用带通滤波器,从而降低网络带宽利用。然而,基于本地计算设备104可用的计算资源,将输入音频信号提供给数据处理系统102以允许数据处理系统102执行滤波可能会更加有效率。
说话者辨识组件120能够应用附加的预处理或预滤波技术以促进识别与说话者相对应的电子账户。例如,说话者辨识组件120能够应用降噪技术来降低可能干扰说话者辨识的氛围噪声水平。降噪技术能够提高说话者辨识的准确度和速度,从而提高数据处理系统102识别电子账户的效能。
说话者辨识组件120能够访问存储在数据存储库124中的签名132。说话者辨识组件120能够分析经过滤的输入音频信号来识别签名,并且使用该签名来识别电子账户。因此,说话者辨识组件120能够执行说话者辨识或语音辨识,以识别与输入音频信号的签名相对应的电子账户。
说话者辨识组件120能够被配置有一个或多个说话者辨识技术,诸如模式辨识。说话者辨识组件120能够被配置有以与文本无关的说话者辨识过程。在与文本无关的说话者辨识过程中,用于建立电子账户的文本能够与用于日后辨识说话者的文本不同。
例如,说话者辨识组件120能够识别输入音频信号中在输入声源之间不同的声学特征。声学特征能够反映能够与唯一输入声源相对应的物理模式或所学习的模式。声学特征能够例如包括语音音高或言语风格。用于识别、处理和存储签名的技术能够包括频率估计(例如,瞬时基频或离散能量分离算法)、隐马尔可夫模型(例如,用于建模随机变化系统的随机模型,其中未来状态取决于当前状态并且被建模的系统具有未观察到的状态)、高斯混合模型(例如,表示为高斯分量密度的加权和的参数概率密度函数)、模式匹配算法、神经网络、矩阵表示、向量量子化(例如,信号处理中允许通过原型向量的分布对概率密度函数建模的量子化技术)、或决策树。其他技术能够包括去说话者技术,诸如群队(cohort)模型和世界模型。说话者辨识组件120能够被配置有机器学习模型来促进模式辨识或适应说话者特性。
在识别输入音频信号中的声学签名后,说话者辨识组件120能够在数据存储库124或签名数据结构132中执行查找。存储在签名数据结构132中的签名能够被映射到电子账户的标识符。说话者辨识组件120能够使用在输入音频信号中识别的签名在签名数据结构132中执行查找,以检索与输入音频的签名相对应的电子账户。
在一些情况下,说话者辨识组件120能够基于查找而确定不存在与声学签名相对应的电子账户。例如,签名可能未被存储在签名数据结构132中,或者针对签名的电子账户可能尚未建立。查找可能会返回空值或空集。响应于确定不存在签名或电子账户,说话者辨识组件120能够在数据存储库中创建电子账户。说话者辨识组件120能够更新签名数据结构132以包括由输入音频信号构建的新签名和对应的电子账户。说话者辨识组件120能够将电子账户映射到新的声学签名。
数据处理系统102能够包括堆栈引擎组件114、与其对接或以其他方式访问该堆栈引擎组件114,该堆栈引擎组件114被设计、构建并操作来建立会话并且组合一个或多个简档以供会话期间使用。堆栈引擎组件114能够从说话者辨识组件120接收电子账户的指示。堆栈引擎组件114能够从签名与账户数据结构132中检索与电子账户相关联的信息。电子账户能够存储促进处理输入音频查询并生成响应的信息。电子账户能够包括与提供输入音频信号的说话者相对应的简档。简档能够包括标签、规则、偏好、标识符、订阅、账户设置、或设备配置设置。简档能够包括和诸如与电子账户相关联的移动计算设备144的其他远程设备或与电子账户相关联的其他联网设备交互的配置信息。
例如,电子账户能够包括联网设备的标签,诸如配置成与网络105接口的恒温器。该恒温器能够位于和与电子账户相对应的说话者相关联的第一位置(例如,住宅)处。在简档中,恒温器能够具有标签“living room(起居室)”恒温器。当数据处理系统102接收到输入查询“what is the temperature in the living room(起居室中的温度是多少)”或“set the temperature in the living room to 70degrees(将起居室中的温度设为70度)”时,数据处理系统102能够经由简档来确定将电子账户链接到具有标签“living room”的恒温器,并且然后将该标签提供给直接动作API116以生成与标记为“living room”的恒温器相对应的动作数据结构。
然而,检测到输入音频信号的本地计算设备104可能并不位于第一位置。相反,本地计算设备104能够位于在物理和地理上与第一位置分开的第二位置。第二位置能够是由与第三方设备相关联的第三方实体管理、由其管控、受其控制、或以其他方式由其维护的位置。第二位置能够是不安全位置、公共位置或临时位置,诸如酒店客房、会议室、会议厅、零售店、租赁车辆、客房、招待所、或宿舍。
维护公共位置或不安全位置的第三方设备146能够建立并维护本地计算设备104。第三方设备146能够为本地计算设备104建立基线或默认简档。第三方设备146能够提供第一简档。第一简档能够是基线简档、默认简档或第三方简档。第三方设备146能够建立第一简档。第一简档能够包括由第三方设备146建立的一个或多个策略或规则。例如,第三方设备146能够提供阻止或防止某些类型的活动或动作的策略、规则或配置设置,同时加重其他类型的活动或动作的权重。策略能够被存储在第一简档中。
第一简档能够包含互联网连接设备的标签。第一简档中的标签能够由第三方设备146建立或提供。例如,标签能够对应于互联网连接设备(例如,互联网连接恒温器、互联网连接光源、互联网连接烟雾报警器、互联网连接电器、互联网连接显示器、互联网连接电视机、或互联网连接扬声器)。这些互联网连接设备的标签能够由第三方实体提供。例如,标签能够是“hotel thermostat(酒店恒温器)”或“Brand A Hotel thermostat(A品牌酒店恒温器)”。
第三方设备146能够将第一简档提供给数据处理系统102以使得数据处理系统102将第一简档推送到针对与本地计算装置104相关联的会话发起的简档栈。堆栈引擎组件114能够将第一简档存储、放置、或堆栈在针对会话建立的简档栈中的第一简档层中。简档栈数据结构能够包括具有由第三方实体的设备(例如,第三方设备146)配置的一个或多个策略的第一简档层。
响应于识别电子账户,堆栈引擎组件114能够建立会话。会话能够指代通信会话、数字助理会话、直接动作会话、内容选择会话、数字组件选择会话、或简档会话。会话能够有一定持续时间。会话能够持续直到终止事件或条件出现为止。终止事件能够使得会话结束。在终止后,能够存储会话状态。在会话终止后,能够更新简档栈中的简档。
堆栈引擎组件114能够建立用于会话的简档栈数据结构。堆栈引擎组件114能够初始化简档栈数据结构以包括由第三方设备146提供的第一简档。
堆栈引擎组件114能够将第一简档(例如,本地计算设备104的默认简档)推送到简档栈中的第一层。例如,堆栈引擎组件114能够确定默认简档是由与维护、拥有、管理、或管控本地计算设备104的相同第三方相关联的第三方设备146提供的。
然后,堆栈引擎组件114能够检索与电子账户和签名相对应的第二简档。堆栈引擎组件114能够将第二简档推送到简档数据结构。例如,第一简档层能够包括第一简档,并且第二简档层能够包括第二简档。
堆栈引擎组件114能够将包括第一简档层和第二简档层的简档栈提供给数据处理系统102的一个或多个组件以供进一步处理。在一些情况下,堆栈引擎组件114能够融合、合并或以其他方式组合第一简档层和第二简档层以创建单个简档层。在一些情况下,堆栈引擎组件114能够将具有两个简档层的简档栈提供给直接动作API 116或内容选择器组件118以供进一步处理。
建立具有第二简档层和第一简档层的简档栈数据结构能够包括与第一简档层和第二简档层中关联或指示的一个或多个互联网连接设备、会话、接口、或第三方设备接涉。例如,第一简档层能够包括图2的安全公共情景202中所描绘的互联网连接设备204、206、208、210和212,并且第二简档层能够包括图4的私人情景402中所描绘的互联网连接设备204、206、208、210和212。与私人情景402中的互联网连接设备相比,公共情景202中的互联网连接设备能够具有不同的标识符。数据处理系统102在建立简档栈数据结构后能够查验(ping)、轮询、或以其他方式查询互联网连接设备中的每一个以执行状态检查或进入就绪状态。
数据处理系统102能够使用简档栈来处理经由输入音频信号从本地计算设备104接收的查询或动作。数据处理系统102能够使用NLP组件112来识别输入音频信号中的查询,并且然后直接动作API 116能够使用简档栈来处理输入查询以生成与简档栈一致并相符的动作数据结构。
例如,数据处理系统102能够执行或运行NLP组件112以接收或获得音频信号并且解析该音频信号。例如,NLP组件112能够提供人与计算机之间的交互。NLP组件112能够被配置有用于理解自然语言并且允许数据处理系统102从人类或自然语言输入中导出含义的技术。NLP组件112能够包括或被配置有基于诸如统计机器学习的机器学习的技术。NLP组件112能够利用决策树、统计模型、或概率模型来解析输入音频信号。例如,NLP组件112能够执行一些功能,诸如命名实体辨识(例如,给定文本流,确定文本中哪些项目映射到专有名称,诸如人或地点,以及每个这样的名称的类型是什么,诸如人、位置或组织)、自然语言生成(例如,将信息从计算机数据库或语义意图转换成可理解的人类语言)、自然语言理解(例如,将文本转换成更正式的表示,诸如计算机模块能够操纵的一阶逻辑结构)、机器翻译(例如,自动将文本从一种人类语言翻译成另一种人类语言)、词法分割(例如,将词语分成各个语素并且识别语素的类别,这基于所考虑的语言的词语的语素或结构的复杂性而能够有挑战性)、问题回答(例如,确定对人类语言问题的回答,其可能是明确或开放式的回答)、语义处理(例如,在识别词语并且编码其含义以便将所识别的词语与具有相似含义的其他词语相关之后可能发生的处理)。
通过将音频输入信号与所存储的代表性音频波形集(例如,存储在数据存储库124中)进行比较并且选取最接近的匹配,NLP组件112将该输入信号转换成辨识的文本。音频波形集能够被存储在数据存储库124或数据处理系统102可访问的其他数据库中。代表性波形跨大用户集生成,并且然后可以通过来自用户的话音样本进行增强。在音频信号被转换成辨识的文本之后,NLP组件112将该文本和与例如经由跨用户训练或通过手动指定与数据处理系统102能够服务的动作相关联的词语相匹配。
音频输入信号能够由本地客户端计算设备104的传感器134或换能器136(例如,麦克风)检测。经由换能器136,音频驱动器138或本地客户端计算设备104的其他组件能够将音频输入信号提供给数据处理系统102(例如,经由网络105),其中该音频输入信号能够被接收(例如,通过接口110)并且提供给NLP组件112或存储在数据存储库124中。
NLP组件112能够获得输入音频信号。NLP组件112能够从输入音频信号中识别至少一个请求或与请求相对应的至少一个触发关键字。该请求能够指示输入音频信号的意图或主题。触发关键字能够指示很可能将采取的动作的类型。例如,NLP组件112能够解析输入音频信号以识别晚上出门赴宴和看电影的至少一个请求。触发关键字能够包括至少一个词语、短语、词根或部分词,或者指示要采取的动作的派生词。例如,来自输入音频信号的触发关键字“go(去…)”或“to go to(前往…)”能够指示对交通工具的需求。在本示例中,输入音频信号(或所识别的请求)未直接表达对交通运输的意图,然而触发关键字指示交通运输是对请求所指示的至少一个其他动作的辅助动作。
NLP组件112能够解析输入音频信号以识别、确定、检索、或以其他方式获得请求和触发关键字。例如,NLP组件112能够对输入音频信号应用语义处理技术以识别触发关键字或请求。NLP组件112能够对输入音频信号应用语义处理技术以识别触发短语,该触发短语包括一个或多个触发关键字,诸如第一触发关键字和第二触发关键字。例如,输入音频信号能够包括语句“I need someone to do my laundry and my dry cleaning(我需要有人为我洗衣和干洗)”。NLP组件112能够对包括该语句的数据分组应用语义处理技术或其他自然语言处理技术以识别触发短语“do my laundry(为我洗衣)”和“do my dry cleaning(为我干洗)”。NLP组件112能够进一步识别多个触发关键字,诸如洗衣和干洗。例如,NLP组件112能够确定触发短语包括触发关键字和第二触发关键字。
NLP组件112能够过滤输入音频信号以识别触发关键字。例如,携载输入音频信号的数据分组能够包括“It would be great if I could get someone that could helpme go to the airport(如果我能找到会助我去机场的人就好了)”,在这种情况下,NLP组件112能够滤除一个或多个如下用语:“it”、“would”、“be”、“great”、“if”、“I”、“could”、“get”、“someone”、“that”、“could”、或“help”。通过滤除这些词项,NLP组件112可以更准确并可靠地识别触发关键字,例如“go to the airport(去机场)”并且确定这是对出租车或拼车服务的请求。
在一些情况下,NLP组件能够确定携载输入音频信号的数据分组包括一个或多个请求。例如,输入音频信号能够包括语句“I need someone to do my laundry and my drycleaning”。NLP组件112能够确定这是对洗衣服务和干洗服务的请求。NLP组件112能够确定这是对能够提供洗衣服务和干洗服务二者的服务提供者的单个请求。NLP组件112能够确定这是两个请求:对履行洗衣服务的服务提供者的第一请求,以及对提供干洗服务的服务提供者的第二请求。在一些情况下,NLP组件112能够将多个确定的请求组合成单个请求,并且将该单个请求传输到第三方设备146。在一些情况下,NLP组件112能够将各个请求传输到另一个服务提供者设备,或者分别将这两个请求传输到相同的第三方设备146。
数据处理系统102能够包括直接动作API 116,其被设计和构建成基于触发关键字来生成响应于请求的动作数据结构。数据处理系统102的处理器能够调用直接动作API 116来执行脚本,该脚本生成数据结构以提供给第三方设备146或其他服务提供者来订购服务或产品,诸如来自拼车服务的车。直接动作API 116能够获得来自数据存储库124数据以及在最终用户同意的情况下从本地客户端计算设备104接收的数据来确定位置、时间、用户账户、物流或其他信息,以允许第三方设备146执行操作,诸如从拼车服务预约汽车。使用直接动作API 116,数据处理系统102还能够与第三方设备146通信来完成转化,在本示例中通过作出拼车服务接客预约来完成转化。
直接动作API 116能够接收由堆栈引擎组件114针对会话构建的简档栈。如数据处理系统102所确定,直接动作API 116在执行指定的动作时能够应用来自简档栈的一个或多个策略来满足最终用户的意图。根据其输入中指定的动作以及由堆栈引擎组件114针对会话构建的简档栈中的层叠简档和策略,直接动作API 116能够执行识别满足用户请求所需的参数的代码或对话脚本。这样的代码能够例如在数据存储库124中查找诸如家庭自动化服务名称或第三方服务的附加信息,或者其能够提供用于在本地客户端计算设备104处渲染的音频输出以向最终用户询问诸如请求的出租车的意图目的地的问题。直接动作API116能够确定参数并且能够将信息打包成动作数据结构,该动作数据结构然后能够被发送到诸如内容选择器组件118的另一个组件或发送到服务提供者计算设备108以被履行。
直接动作API 116能够从NLP组件112或数据处理系统102的其他组件接收生成或构建动作数据结构的指令或命令。直接动作API 116能够确定动作类型,以便从存储在数据存储库124中的模板存储库122中选择模板。动作类型能够例如包括服务、产品、预约、或票务。动作类型能够进一步包括服务类型或产品类型。例如,服务类型能够包括拼车服务、送餐服务、洗衣服务、保姆服务、维修服务、家政服务、设备自动化服务、或媒体流送服务。产品类型能够例如包括服装、鞋类、玩具、电子产品、计算机、书籍、或珠宝。预约类型能够例如包括晚餐预约或美发沙龙预约。票务类型能够例如包括电影票、体育场馆门票、或机票。在一些情况下,服务类型、产品类型、预约类型或票务类型能够基于价格、地点、运输方式、可用性、或其他属性来分类。
NLP组件112能够解析输入音频信号以识别请求和与该请求相对应的触发关键字,并且将请求和触发关键字提供给直接动作API 116,以使得直接动作API基于触发关键字和推送到简档栈数据结构的第二简档层来生成与简档栈数据结构的第一简档层兼容的响应于请求的第一动作数据结构。
在识别请求的类型后,直接动作API 116能够从模板存储库122中访问对应的模板。模板能够包括能够由直接动作API 116填充的结构化数据集中的字段,以推进经由第三方设备146的本地计算设备104检测到的输入音频所请求的操作(诸如派遣出租车在接客位置接最终用户并且将最终用户送到目的地位置的操作)。直接动作API 116能够在模板存储库122中执行查找以选择与触发关键字和请求的一个或多个特性相匹配的模板。例如,如果请求对应于对到目的地的汽车或搭车的请求,则数据处理系统102能够选择拼车服务模板。拼车服务模板能够包括以下字段中的一个或多个:设备标识符、接客位置、目的地位置、乘客人数、或服务类型。直接动作API 116能够用值填充字段。为了用值填充字段,直接动作API 116能够从计算设备104的一个或多个传感器134或设备104的用户接口查验、轮询或以其他方式获得信息。例如,直接动作API 116能够使用诸如GPS传感器的位置传感器来检测源位置。直接动作API 116能够通过向计算设备104的最终用户提交调查、提示、或查询来获得进一步的信息。直接动作API能够经由数据处理系统102的接口110和计算设备104的用户接口(例如,音频接口、基于语音的用户接口、显示器、或触摸屏)提交调查、提示或查询。因此,直接动作API 116能够基于触发关键字或请求来选择动作数据结构的模板,利用由一个或多个传感器134检测或经由用户接口获得的信息填充模板中的一个或多个字段,并且生成、创建或以其他方式构建动作数据结构以促进第三方设备146执行操作。
为了构建或生成动作数据结构,数据处理系统102能够识别所选择的模板中的一个或多个字段以用值填充。这些字段能够被填充有数值、字符串、统一码(Unicode)值、布尔逻辑、二进制值、十六进制值、标识符、位置坐标、地理区域、时间戳、或其他值。字段或数据结构本身能够被加密或掩码以保持数据安全性。
在确定模板中的字段后,数据处理系统102能够识别用于字段的值以填充模板的字段来创建动作数据结构。数据处理系统102能够通过对数据存储库124执行查找或其他查询操作而获得、检索、确定或以其他方式识别用于字段的值。
在一些情况下,数据处理系统102能够确定数据存储库124中不存在字段的信息或值。数据处理系统102能够确定存储在数据存储库124中的信息或值过时、陈旧、或在其他方面不适于构建响应于由NLP组件112识别的触发关键字和请求的动作数据结构(例如,本地客户端计算设备104的位置可能是旧位置而不是当前位置;账户可能过期;目的地餐馆可能已迁移到新位置;物理活动信息;或者交通模式)。
如果数据处理系统102确定当前不能够在数据处理系统102的存储器中访问模板字段的值或信息,则数据处理系统102能够获取这些值或信息。数据处理系统102能够通过查询或轮询本地客户端计算设备104的一个或多个可用的传感器、针对信息而向本地客户端计算设备104的最终用户进行提示、或者使用HTTP协议来访问基于在线web的资源来获取或获得信息。例如,数据处理系统102能够确定其不具有本地客户端计算设备104的当前位置,其可能是模板的所需字段。数据处理系统102能够向本地客户端计算设备104查询位置信息。数据处理系统102能够请求本地客户端计算设备104使用诸如全球定位系统传感器、WIFI三角测量、小区塔三角测量、蓝牙信标、IP地址、或其他位置感测技术的一个或多个位置传感器134来提供位置信息。
在一些情况下,数据处理系统102能够使用第二简档来生成动作数据结构。然后,数据处理系统102能够确定使用第二简档所生成的动作数据结构是否与第一简档相符。例如,第一简档能够包括阻止一个类型的动作数据结构的策略,诸如经由本地计算设备104从在线电子零售商购买产品。由本地计算设备104检测到的输入音频可能已包括从在线电子零售商购买产品的请求。数据处理系统102可能已使用第二简档来识别与在线电子零售商相关联的账户信息并且然后生成动作数据结构以购买产品。动作数据结构能够包括和与由说话者辨识组件120识别的声学签名相关联的电子账户相对应的账户标识符。
在生成动作数据结构后,直接动作API 116可能尝试将该动作数据结构传输到在线电子零售商。然而,堆栈引擎组件114能够拦截动作数据结构。堆栈引擎组件114能够分析动作数据结构以确定其是否符合针对会话建立的简档栈中的第一简档层中的一个或多个策略。如果堆栈引擎组件114确定从电子零售商购买产品的动作数据结构相符,则堆栈引擎组件114能够释放动作数据结构。然而,如果堆栈引擎组件确定动作数据结构违背或不符合第一简档层,则堆栈引擎组件114能够阻止动作数据结构。
在一些情况下,直接动作API 116能够检索简档栈并且识别第一简档层和第二简档层,其中第二简档层对应于随后推送的第二简档。直接动作API 116能够使用最后一个推送的简档——诸如第二简档——来生成动作数据结构。然后,直接动作API 116能够将使用第二简档所生成的动作数据结构与第一简档中所包含的一个或多个策略进行比较。基于使用策略的比较,直接动作API 116能够确定是批准动作数据结构还是阻止动作数据结构。
例如,数据处理系统102能够基于触发关键字和推送到简档栈的第二简档层来生成第一动作数据结构。数据处理系统102能够响应于输入音频信号中的请求而生成第一动作数据结构。数据处理系统102能够将第一动作数据结构与第一简档层的一个或多个策略进行比较,其中第一简档层对应于默认简档层或基线简档层。基于第一动作数据结构与第一简档层的一个或多个策略的比较,数据处理系统102能够确定第一动作数据结构与第一简档层兼容。响应于确定第一动作数据结构与第一简档层兼容,数据处理系统102能够提供第一动作数据结构以供执行。
第一简档层中的策略能够包括阻止一个类型的动作数据结构的策略。能够被阻止的动作数据结构的类型能够例如包括以从第三方竞争者实体购买产品或服务的动作数据结构、不安全动作、或网络带宽密集型动作(例如,流送4K分辨率的多媒体内容,下载诸如超过50兆字节、100兆字节或更多字节的大型数据文件)。数据处理系统能够将第一动作的类型与由第一简档层的一个或多个策略指示的动作数据结构的类型进行比较,以确定第一动作数据结构与第一简档层是否兼容。如果策略允许(例如,策略不阻止)第一动作数据结构,则数据处理系统102能够批准第一动作数据结构。
在一些情况下,数据处理系统102能够接收由自然语言处理器识别的触发关键字和简档栈数据结构。基于触发关键字和简档栈数据结构,数据处理系统102能够选择与第一简档层和第二简档层二者皆兼容的数字组件。数字组件能够指代增补数字组件。例如,数据处理系统102能够包括、执行或以其他方式与内容选择器组件118通信以接收由自然语言处理器识别的触发关键字,并且基于该触发关键字经由实时内容选择过程来选择数字组件。内容选择过程能够指代或包括选择由第三方内容提供者106提供的赞助数字组件对象。实时内容选择过程能够包括:解析、处理、加权、或匹配由多个内容提供者提供的数字组件以便选择一个或多个数字组件以提供给计算设备104的服务。内容选择器组件118能够实时进行内容选择过程。实时进行内容选择过程能够指代响应于经由本地客户端计算设备104接收到的对内容的请求而进行内容选择过程。能够在接收请求的时间间隔(例如,5秒、10秒、20秒、30秒、1分钟、2分钟、3分钟、5分钟、10分钟、或20分钟)内进行(例如,发起或完成)实时内容选择过程。能够在与本地客户端计算设备104的通信会话期间或者在通信会话终止之后的时间间隔内进行实时内容选择过程。
例如,数据处理系统102能够包括设计、构建、配置或操作以选择数字组件对象的内容选择器组件118。为了选择用于在基于语音的环境中显示的数字组件,数据处理系统102(例如,经由NLP组件112)能够解析输入音频信号以识别关键字(例如,触发关键字),并且使用该关键字基于广泛匹配、精确匹配、或短语匹配选择匹配的数字组件。例如,内容选择器组件118能够分析、解析、或以其他方式处理候选数字组件的主题,以确定候选数字组件的主题是否对应于由本地客户端计算设备104的麦克风检测到的输入音频信号中的关键字或短语的主题。内容选择器组件118可以使用图像处理技术、字符辨识技术、自然语言处理技术、或数据库查找来识别、分析、或辨识候选数字组件中的语音、音频、词项、字符、文本、符号、或图像。候选数字组件可以包括指示候选数字组件的主题的元数据,在此情况下,内容选择器组件118可以处理元数据以确定候选数字组件的主题是否对应于输入音频信号。
内容选择器组件118能够进一步利用简档栈中提供的信息来进行内容选择。内容选择器组件118能够利用第二简档层,该第二简档层能够对应于与提供由本地计算设备104检测到的输入音频信号的说话者相关联的电子账户。内容选择器118还能够使用与第一简档层相关联的信息,该第一简档层能够对应于由第三方设备146提供的默认简档层。由内容提供者106提供的内容宣传活动能够包括内容选择准则,数据处理系统102能够将该内容选择准则与第二简档层或第一简档层中指示的准则进行匹配。
简档层能够更改内容选择器组件118用来选择数字组件的权重或分值。例如,由第三方设备建立的第一简档层能够提高针对或描述由第三方实体提供的产品或服务的数字组件的权重或分值,同时降低由第三方实体的竞争者提供的产品或服务的权重或分值。本地计算设备104可能位于由第三方实体控制的情景中,因此第三方实体能够在第一简档层中建立将在内容选择期间供内容选择器组件118使用的内容选择规则、策略、或加权。
通过使用第二简档层来选择数字组件,内容选择器组件118通过基于第二简档层而不只是第一简档层来更精确地选择数字组件,能够减少数字组件的过度传输。使用由多个简档构建的简档栈来选择数字组件,而不仅是使用第一层(或默认层)或只使用第二层(与电子账户相关联的简档)来选择数字组件,可能导致错误或无关的数字组件选择。第一简档层能够提供与第三方实体或本地计算设备104所处的公共位置或不安全位置相关联的信息,该信息可以促进内容选择或阻止错误的内容选择。例如,输入音频信号能够包括对干洗服务的请求。内容选择器组件118可以接收该请求并且尝试识别由内容提供者设备106提供的增补数字组件。为了识别增补内容提供者,内容选择器组件118能够使用与该请求相关联的一个或多个特性来执行实时内容选择过程。内容选择器组件118能够进一步输入从第二简档层获得的信息。通过使用来自第二简档层的信息,内容选择器组件118可以选择与干洗服务提供者相对应的数字组件。然而,第一简档层能够包括阻止提供与干洗服务提供者相关的增补数字组件的策略,因为建立第一简档层的第三方实体可以提供优选的干洗服务。内容选择器组件118可能还未选择由第三方实体提供的干洗服务的数字组件,因为第三方实体可能尚未建立他们自己的干洗服务的内容宣传活动。因此,在不利用包括第一简档层和第二简档层二者的简档栈的情况下,当优选的数字组件对应于由第一简档层中标识的第三方实体提供的干洗服务时,数据处理系统102可能已错误地提供了与干洗服务提供者相对应的增补数字组件。因此,数据处理系统102能够用经由第一简档层(或默认简档层)指示的优选数字组件覆盖或替换所选择的数字组件。
在一些情况下,内容选择器组件118能够解析第一简档层,以确定第一简档层是否包括阻止选择一个类型的数字组件的策略或信息,并且防止执行实时内容选择过程,从而减少计算资源的利用,并且潜在地减少响应于包含在输入音频信号中的请求而提供数字组件的延迟或时延。
在设立包括数字组件的内容宣传活动时,内容提供者106可以提供附加指示符。内容提供者106可以提供内容选择器组件118可以通过使用关于候选数字组件的信息进行查找而识别的内容宣传活动或内容组级的信息。例如,候选数字组件可以包括唯一标识符,该唯一标识符可以映射到内容组、内容宣传活动、或内容提供者。内容选择器组件118可以基于存储在数据存储库124中的内容宣传活动数据结构中的信息来确定关于内容提供者106的信息。
数据处理系统102能够经由计算机网络接收对于用于在计算设备104上呈现的内容的请求。数据处理系统102能够通过处理由本地客户端计算设备104的麦克风检测到的输入音频信号而识别该请求。该请求能够包括请求的选择准则,诸如设备类型、位置、以及与请求相关联的关键字。该请求能够包括动作数据结构或动作数据结构。
响应于请求,数据处理系统102能够从数据存储库124或与内容提供者106相关联的数据库中选择数字组件对象,并且经由网络105提供数字组件以供经由计算设备104来呈现。数字组件对象能够由与第三方设备146不同的内容提供者设备108提供。数字组件能够对应于与动作数据结构的服务类型不同的服务类型(例如,出租车服务对照送餐服务)。计算设备104能够与数字组件对象进行交互。计算设备104能够接收对数字组件的音频响应。计算设备104能够接收选择与数字组件对象相关联的超链接或其他按钮的指示,该指示使得或允许计算设备104识别服务提供者108,请求来自服务提供者108的服务,指令服务提供者108履行服务,向服务提供者108传输信息,或者以其他方式查询第三方设备146。
数据处理系统102(例如,经由接口110和网络105)能够传输包括响应于输入音频信号或者其请求或查询的输出信号的数据分组。输出信号能够使得客户端设备104的音频驱动器组件138或由该客户端设备104执行的音频驱动器组件驱动本地计算设备104的扬声器(例如,换能器136)以生成与输出信号相对应的声波。
数据处理系统102(例如,经由堆栈引擎组件114)能够拆解简档栈数据结构以从该简档栈数据结构中移除第一简档层或第二简档层中的一个。数据处理系统能够通过恢复到先前配置或默认配置而与电子账户脱离,并且擦除或保护与会话和电子账户相关联的所有信息。例如,数据处理系统能够从配置用于本地计算设备104的简档栈数据结构中移除或删除第二简档层。数据处理系统102能够将本地计算设备104恢复或重置为出厂设置或默认配置。数据处理系统102能够将任何会话相关信息上传到存储在数据处理系统102中的第二简档,并且移除或清除与第二简档相关联的信息的任何本地副本。
响应于检测到触发事件,数据处理系统102能够从简档栈中移除第一简档层或第二简档层中的一个。触发事件能够基于时间间隔、指令、事件、位置、地理围栏、未核准使用、欺诈检测、或新的说话者辨识。数据处理系统102能够基于触发事件的类型来确定移除第一简档或第二简档中的一个。
数据处理系统102(例如,经由说话者辨识组件120)能够确定不同的用户正向本地计算设备104提供输入音频信号。不同的用户能够是与第一用户不同的第二用户。第二用户能够具有不同的声学签名。说话者辨识组件120能够检测第二声学签名,确定存在不同的用户,并且然后终止与第一用户的会话。说话者辨识组件120能够将不同的第二用户的指示提供给堆栈引擎组件114,其能够从简档栈移除第二简档层。响应于接收到与第一用户不同的第二用户的指示,堆栈引擎组件114能够清除简档栈数据结构或者仅移除与第一用户相对应的第二简档层。
数据处理系统102经由接口110接收包括由客户端设备(例如,本地计算设备104)的传感器134检测到的第二输入音频信号的第二数据分组。能够在音频信号之后检测第二输入音频信号。数据处理系统102(例如,说话者辨识组件120)能够从第二输入音频信号中识别第二声学签名。第二声学签名能够与第一声学签名不同。数据处理系统102能够基于识别与第一声学签名不同的第二声学签名而确定触发事件。
响应于不活动达时间间隔,堆栈引擎组件114能够清除简档栈或者移除第二简档层。响应于与第二简档层相对应的用户在诸如5分钟、10分钟、15分钟、20分钟、25分钟、30分钟、1小时或更长的时间间隔内未提供任何语音输入,堆栈引擎组件114能够清除简档栈或第二简档层。清除简档栈或者移除第二简档层能够提高的安全性并且在存储器中维护最小的简档栈。
响应于确定与第二简档层相对应的用户已离开与本地计算设备104或第三方实体相对应的公共位置或不安全位置,堆栈引擎组件114能够清除简档栈。堆栈引擎组件114能够从用户能够携带的移动计算设备144接收移动计算设备144距离本地计算装置104大于阈值距离的指示。阈值距离能够是20米、25米、50米、100米、200米、500米、750米、1000米、或更远。例如,堆栈引擎组件114能够在本地计算设备104周围建立地理围栏。地理围栏能够指代由全球定位系统(“GPS”)或者射频识别(“RFID”)或近场通信信标限定的虚拟地理边界,其允许软件在移动设备进入或离开本地计算设备104周围的特定区域时触发响应。因此,当用户携带他们的移动计算设备144离开酒店房间时,数据处理系统102能够自动从用于处理由本地计算设备104检测到的语音输入的简档栈中移除第二简档层。
堆栈引擎组件114能够与第三方设备146对接并且从第三方设备146接收清除简档栈或移除第二简档层的指示。例如,第三方设备146能够包括电子酒店房客管理系统,其接收与第二简档层相关联的用户已经办理酒店退房手续的指示。响应于接收到房客已退房的指示,第三方设备146能够将该指示转发到数据处理系统102。数据处理系统102(例如,堆栈引擎组件114)能够接收房客已办理退房手续的指示,并且响应于该指示而从用于处理与本地计算设备104相关联的语音输入的简档栈中移除第二简档层,从而拆解简档栈。
拆解简档栈数据结构能够包括从简档栈中移除或清除一个或多个简档。拆解简档栈能够包括仅移除第一简档层,仅移除第二简档层,或者移除第一简档层和第二简档层二者。例如,数据处理系统能够移除和与声学签名相对应的电子账户相对应的第二简档层,同时保留与默认简档层相对应的第一简档层。
图2是处理简档栈的系统100的操作的图示。系统100能够在环境200中操作。环境200能够包括图1中描绘的系统100或图6中描绘的系统600的一个或多个组件。环境200能够包括安全公共位置202。安全公共位置202能够指代公共位置。公共位置能够指代多个用户能够在同一时间或不同时间占用或者能够供多个用户访问的位置、地点、建筑物、房屋、房间、或者其他结构或地点。例如,公共地点或公共位置能够包括酒店房间、汽车旅馆房间、客房、租赁汽车、实体零售店、商场、公园、办公室、或隔间。在本示例中,安全公共位置202能够是酒店房间。公共位置202能够安全的原因在于,移动计算设备144可能位于位置202内,由此指示用户可能在场。然而,无论移动计算设备144是否位于位置202内,系统都可以基于触发事件或无活动的时间间隔而将位置202视为不安全。
酒店房间(或安全公共位置202)能够包括若干互联网连接的设备,诸如连接的电信设备204(例如,连接的电话)、连接的恒温器206、连接的灯具208、连接的扬声器210(或声音系统)、或者连接的多媒体显示器212(或智能电视)。互联网连接的设备204、206、208、210或212能够经由无线网关214(例如,网络路由器、无线路由器、或调制解调器)连接到网络105,该无线网关能够提供对网络105的访问。互联网连接的设备204、206、208、210或212能够经由数据处理系统102来监视、管理、或控制。在一些情况下,互联网连接的设备204、206、208、210或212能够由第三方设备146经由数据处理系统102来监视、管理、或控制。
在图2中描绘的说明性环境200中,移动计算设备144位于酒店房间或安全公共位置202中。本地计算设备104也位于安全公共位置202中。本地计算设备104能够从位于酒店房间中的用户接收语音输入。本地计算设备104能够生成包括输入音频的数据分组,并且经由无线网关214和网络105将该数据分组传输到数据处理系统102。数据处理系统102能够接收数据分组并且执行说话者辨识以从输入音频信号中识别声学签名。然后,数据处理系统102能够识别与声学签名相对应的电子账户。数据处理系统102能够选择与电子账户相对应的简档,并且然后将该简档推送到本地计算设备104的简档栈数据结构142。简档栈数据结构142能够特定于本地计算设备104。例如,每个本地计算设备104能够具有相应的简档栈数据结构142。本地计算设备104的简档栈数据结构142能够被存储或维护在数据处理系统102上(例如,数据处理系统102的数据存储库或存储器中),以促进使用简档栈数据结构142来进行处理。在一些情况下,简档栈数据结构142能够本地存储于本地计算设备104上的存储器中。
简档栈数据结构142能够包括与由第三方设备146建立的默认简档或基线简档相对应的第一简档层“层1(Layer 1)”。第三方设备146能够将层1简档提供给数据处理系统102,以供放置在简档栈数据结构142中。响应于检测到声学签名,数据处理系统102能够将与电子账户相对应的第二简档推送到简档栈数据结构142,以供放置在第二简档层“层2(Layer 2)”中。
层1简档能够包括互联网连接设备204、206、208、210或212的预定标签。所述标签能够经由第三方设备146来建立。第三方设备146能够与管理、拥有、或管控安全公共位置202(例如,酒店)的第三方实体相关联。
层2中的第二简档层能够包括和与声学签名相对应的用户的电子账户相关联的简档信息。第二简档可以包括或可以不包括互联网连接的设备204、206、208、210或212的标签。在第二简档包括与层1中提供的标签相似的互联网连接设备的标签的情况下,数据处理系统102能够确定使用层1标签,因为层1中的标签可能比层2中的标签排名或优先级更高。在一些情况下,数据处理系统102能够向用户提供阐明正涉及哪个互联网连接的设备的提示,以促进消歧并且减少传输到互联网连接的设备的动作数据结构的数目,从而降低由非意图的互联网连接的设备的网络带宽利用以及计算资源利用。
例如,输入音频能够包括“turn on my living room lamp(打开我的起居室灯具)”的请求。如果简档栈数据结构仅包括层1简档,则数据处理系统102可以确定该灯具与连接的灯具208相对应,因为在酒店房间202中只有一个连接的灯具。然后,数据处理系统102可以通过经由网络105将包括指令的动作数据结构发送到连接的灯具208而开启连接的灯具208。然而,如果简档栈数据结构142中加载有层2简档,则数据处理系统102能够解析第二简档以确定其是否包含标签“living room lamp(起居室灯具)”。标签“living roomlamp”可以对应于与电子账户相关联的私人住宅处的灯具。如果数据处理系统102检测到标签“living room lamp”,则数据处理系统102可以将包括指令的动作数据结构传输到位于私人住宅处的连接的起居室灯具。
本地计算设备104能够包括音频驱动器138、换能器136、传感器134和预处理器组件140。传感器134能够接收或检测输入音频信号(例如,语音输入)。预处理器组件140能够耦合到音频驱动器、换能器、和传感器。预处理器组件140能够对输入音频信号进行滤波以创建经滤波的输入音频信号(例如,通过移除某些频率或抑制噪声)。预处理器组件140能够将经滤波的输入音频信号转换成数据分组(例如,通过使用软件或硬件数模转换器)。在一些情况下,预处理器组件140能够将未经滤波的输入音频信号转换成数据分组并且将该数据分组传输到数据处理系统102。预处理器组件140能够将数据分组传输到数据处理系统102,该数据处理系统包括一个或多个处理器和存储器,其执行自然语言处理器组件、接口、说话者辨识组件、和直接动作应用编程接口。
数据处理系统102能够经由接口从预处理器组件接收包括由传感器检测到的经滤波(或未经滤波)的输入音频信号的数据分组。数据处理系统102能够从输入音频信号中识别声学签名。数据处理系统102能够基于在数据存储库中的查找(例如,查询数据库)来识别与声学签名相对应的电子账户。数据处理系统102能够响应于识别电子账户而建立会话以及供会话中使用的简档栈数据结构。简档栈数据结构包括具有由第三方实体的设备配置的一个或多个策略的第一简档层。数据处理系统102能够将从电子账户检索到的第二简档层推送到针对会话建立的简档栈数据结构。数据处理系统102能够解析输入音频信号以识别请求以及与请求相对应的触发关键字。数据处理系统102能够基于触发关键字以及推送到简档栈数据结构的第二简档层来生成与简档栈数据结构的第一简档层兼容的、响应于请求的第一动作数据结构。数据处理系统102能够提供第一动作数据结构以供执行。数据处理系统102能够响应于检测到触发事件而拆解简档栈数据结构以从简档栈数据结构中移除第一简档层或第二简档层中的一个。
数据处理系统102能够向本地计算设备104的预处理器组件提供简档栈数据结构的状态。状态能够指示第二简档层已被推送到简档栈。状态能够指示第一简档层和第二简档层都在简档栈中。状态能够指示第二简档层已从简档栈中移除。状态能够指示简档栈已被清除或返回到默认状态(例如,简档栈中只有第一简档层)。能够使用各个术语来指示状态,例如包括“安全情景”;“公共情景”;“<电子账户的标识符>”;或“准备就绪”。
本地计算设备104能够接收状态的指示。音频驱动器能够接收简档栈数据结构的状态的指示,并且基于该指示来生成输出信号。音频驱动器能够将指示转换成输出信号,诸如声音信号或声学输出信号。音频驱动器能够驱动换能器136(例如,扬声器),以基于由音频驱动器生成的输出信号来生成声音。
在一些情况下,本地计算设备104能够包括光源。光源能够包括配置成提供光学或视觉输出的一个或多个LED、灯、显示器、或者其他组件或设备。预处理器组件能够使得光源提供与简档栈数据结构的状态相对应的视觉指示。例如,视觉指示能够是:打开的状态指示灯、光的颜色变化、具有一种或多种颜色的光图案、或者文本或图像的视觉显示。
图3是处理简档栈的系统100的操作的图示。系统100能够在环境300中操作,该环境300能够包括图1中描绘的系统100、图2中描绘的环境200、或图6中描绘的系统600的一个或多个组件。环境300能够包括图2中描绘的相同位置202,但与安全公共位置202相反,该位置可能不是不安全公共位置302。公共位置可能是不安全公共位置302的原因在于,移动计算设备144位于安全公共位置304之外。在安全位置304之外能够指代在地理栅栏之外或者远于距本地计算设备104的距离阈值。不安全公共位置302内的互联网连接设备204、206、208、210、和212能够是与安全公共位置202内的相同的互联网连接设备。然而,离开位置302的移动计算设备144能够触发终止事件,该终止事件使得数据处理系统102拆解简档栈数据结构142。拆解简档栈数据结构142能够包括移除层2中的第二简档,同时留下层1中的第一简档。数据处理系统102能够将简档栈数据结构142返回到由第三方建立的配置用于本地计算设备104的默认状态。例如,数据处理系统102能够传输从简档栈数据结构142中移除层2的指令306。
图4是处理简档栈的系统100的操作的图示。系统100能够在环境400中操作,该环境400能够包括图1中描绘的系统100或图6中描绘的系统600的一个或多个组件。环境400能够包括安全私人位置402,诸如私人住宅,其对应于和具有与第二简档相关联的声学签名的电子账户相关联的用户。安全私人位置402能够包括能够由数据处理系统102管理、监视、或控制的若干互联网连接的设备。所述互联网连接的设备能够例如包括:连接的电信设备204、连接的恒温器206、连接的灯具208、连接的扬声器210、和连接的多媒体显示器212。安全私人位置402还能够包括本地计算设备104。本地计算设备能够包括如同本地计算设备104的一个或多个组件或功能。安全私人位置402还能够包括无线网关214,该无线网关能够包括如位于图2中描绘的公共位置202中的无线网关214的一个或多个组件或功能。
位于安全私人位置402中的连接的电信设备204能够包括如位于图2中描绘的公共位置202中的连接的电信设备204的一个或多个组件或功能。然而,与位于图2中描绘的公共位置202中的连接的电信设备204相比,位于安全私人位置402中的连接的电信设备204能够包括不同的配置设置或标识符。
位于安全私人位置402中的连接的恒温器206能够包括如位于图2中描绘的公共位置202中的连接的恒温器206的一个或多个组件或功能。然而,与位于图2中描绘的公共位置202中的连接的恒温器206相比,位于安全私人位置402中的连接的恒温器206能够包括不同的配置设置或标识符。
位于安全私人位置402中的连接的灯具208能够包括如位于图2中描绘的公共位置202中的连接的灯具208的一个或多个组件或功能。然而,与位于图2中描绘的公共位置202中的连接的灯具208相比,位于安全私人位置402中的连接的灯具208能够包括不同的配置设置或标识符。
位于安全私人位置402中的连接的扬声器210能够包括如位于图2中描绘的公共位置202中的连接的扬声器210的一个或多个组件或功能。然而,与位于图2中描绘的公共位置202中的连接的扬声器210相比,位于安全私人位置402中的连接的扬声器210能够包括不同的配置设置或标识符。
位于安全私人位置402中的连接的多媒体显示器212能够包括如位于图2中描绘的公共位置202中的连接的多媒体显示器212的一个或多个组件或功能。然而,与位于图2中描绘的公共位置202中的连接的多媒体显示器212相比,位于安全私人位置402中的连接的多媒体显示器212能够包括不同的配置设置或标识符。
安全私人位置402能够指代用户的私人住宅、住所或公寓。安全私人位置402中的本地计算设备104可能不利用由第三方设备146提供的默认或基线简档。因此,数据处理系统102能够仅添加与第二用户的电子账户相关联的层2简档。位于安全私人位置402处的本地计算设备104的简档栈数据结构142(其能够包括简档栈数据结构142的一个或多个组件或功能)可能不包括由第三方设备建立的层1简档。因此,数据处理系统102能够仅将层2404添加到简档栈数据结构142。
然而,如果第二用户进入安全私人位置402并且提供由本地计算设备104检测到的语音输入,则数据处理系统102能够选择与第二用户相对应的第三简档,并且然后将该第三简档推送到简档栈数据结构142作为层3(图中未描绘出层1来图示与简档栈数据结构142一致的层叠结构)。
在一些情况下,安全私人位置402中的本地计算设备104和数据处理系统102能够将一个或多个附加简档层推送到简档栈数据结构142上。例如,安全私人位置402处的访客能够提供能够由本地计算设备104检测到的语音输入。在检测到语音输入或输入音频信号后,本地计算设备104能够对该输入音频信号执行预处理并且将与该输入音频信号相对应的数据分组传输到数据处理系统102以供进一步处理。数据处理系统102能够尝试从输入音频信号中检测声学签名。数据处理系统102可以识别声学签名,并且然后尝试识别访客的对应的电子账户。然而,数据处理系统102可能无法识别访客的对应的电子账户—或者数据处理系统102可能无法识别声学签名。在任一情况下,数据处理系统102可能无法访问或无法选择响应于输入音频信号或其声学签名的简档层。在这种情况下,数据处理系统102能够利用单独的处理流程。
例如,提供输入音频信号的访客用户可能不具有用数据处理系统102建立的电子账户或简档。访客可能具有移动计算设备144。数据处理系统102能够确定不存在与输入音频信号相对应的电子账户。在一些情况下,数据处理系统102能够生成创建新简档的提示或请求。然而,如果访客用户拒绝创建新简档的提示或请求,或者在数据处理系统102确定继续处理流程而不创建简档的情况下,数据处理系统102能够发起简档流程或者进入访客模式。在访客模式中,数据处理系统102能够利用单独的认证机制。例如,数据处理系统102能够经由耦合到本地计算设备104的显示设备来呈现诸如QR码的光码(或一些其他代码,诸如账户的唯一标识符、标识符或金融工具)。唯一标识符或QR码能够允许访客建立临时会话,该临时会话不会导致创建简档或电子账户。经由临时会话,数据处理系统102能够继续构建动作数据结构或执行其他任务。
在一些情况下,数据处理系统102可以向访客的移动计算设备144传输购买产品的数字组件,诸如本地计算设备104本身。
图5是经由计算机网络处理堆栈数据结构的方法的图示。方法500能够由图1中描绘的系统100或图6中描绘的系统600的一个或多个组件、系统或元件执行。方法500能够在图2中描绘的环境200、图3中描绘的环境300、或图4中描绘的环境400中执行。方法500能够包括:在ACT502,数据处理系统接收输入音频信号。数据处理系统经由接口接收包括输入音频信号的数据分组。输入音频信号可能已被本地计算设备的传感器——诸如麦克风——检测到。本地计算设备可以位于公共位置,诸如酒店。在一些情况下,本地计算设备可以位于安全的私人位置,诸如住宅。本地计算设备能够检测语音输入,预处理语音输入,生成包括语音输入中至少一些的数据分组,并且将数据分组传输到数据处理系统。本地计算设备可以响应于识别触发关键字而传输数据分组,该触发关键字指示本地计算设备检测语音输入,将其转换成数字数据分组,并且将数字数据分组传输到数据处理系统以供进一步处理。
在ACT504,数据处理系统识别签名。数据处理系统能够从输入音频信号中识别声学签名。数据处理系统能够应用说话者辨识技术、模式辨识技术或其他技术来识别声学签名。数据处理系统能够识别一个或多个声学签名。在一些情况下,数据处理系统能够针对多因素认证来提示用户,诸如经由通行码、密码、个人识别号(pin)、密语、其他生物识别认证、或传输到移动设备的安全码。
在ACT506,数据处理系统识别账户。数据处理系统能够在数据存储库中执行查找,查验签名以识别电子账户。数据处理系统能够响应于基于声学签名的认证或多因素认证被满足而执行查找。电子账户能够包括简档信息,诸如偏好、标签、策略、规则、或者能够减少错误或浪费的远程过程调用、或数据传输的其他信息。
在一些情况下,数据处理系统能够在不使用声学签名的情况下识别账户。数据处理系统能够使用各种输入、传感器、或接口来识别账户。例如,数据处理系统能够基于用户拥有的移动设备来识别账户,而非使用声学签名来识别账户。移动设备能够与本地计算设备进行通信或交互。用户能够使用该账户登录到移动设备。使用该账户登录到移动设备能够指代将诸如用户名(或其他账户标识符)和密码(或其他令牌、密钥或生物识别密码)的凭证输入到移动设备上执行的软件应用或操作系统,并且认证所述凭证。移动设备能够将账户信息(例如,用户名)传送到本地计算设备并且指示该账户已在移动设备上得到认证。本地计算设备能够向数据处理系统传输账户标识符以及已认证或验证该账户标识符的指示。数据处理系统能够从本地计算设备接收账户标识符,访问对应的电子账户,并且检索对应的简档。因此,数据处理系统能够使用可以包括或可以不包括使用声学签名的一种或多种技术来识别与用户相关联的账户。其他技术能够包括使用光码(例如,快速查阅码(quickreference code))、生物识别(例如,指纹、虹膜扫描仪、或面部辨识),使用键盘、鼠标、或触摸接口来键入账户标识符,或者使用语音输入来提供账户标识符。
在ACT508,数据处理系统建立会话和简档栈。数据处理系统能够建立会话以及供该会话中使用的简档栈数据结构。数据处理系统能够响应于识别电子账户或完成认证过程(例如,基于声学签名的认证、或多因素认证、或附加生物识别认证)而建立会话和简档栈数据结构。简档栈数据结构能够用于由第三方维护的位于公共位置的本地计算设备,因此简档栈数据结构能够包括具有由第三方实体(例如,酒店管理者、商场管理者、或租车管理者)的设备配置的一个或多个策略的第一简档层。
在ACT510,数据处理系统推送第二简档。数据处理系统能够将第二简档作为第二简档层推送到针对会话建立的简档栈数据结构上。第一简档层可以具有使优先级高于第二简档层的某些标签或策略。虽然可以利用第二简档层来选择数字组件并且生成动作数据结构,但第一简档层能够阻止执行某些类型的数字组件或动作数据结构(例如,递送以供呈现给用户,传输到意图的互联网连接设备,或者传输到诸如拼车服务的服务提供者)。
在ACT512,数据处理系统识别请求。数据处理系统能够解析输入音频信号以识别请求以及与该请求相对应的触发关键字。数据处理系统能够解析用于识别声学签名、电子账户、和第二简档的相同输入音频信号。在一些情况下,数据处理系统可以处理继用于识别电子账户和简档的第一输入音频信号之后接收的第二输入音频信号。数据处理系统可以识别第二输入音频信号中的请求和触发关键字。
在步骤514中,数据处理系统生成并提供动作数据结构。数据处理系统能够基于请求、触发关键字和被推送到简档栈数据结构的第二简档层来生成动作数据结构。动作数据结构能够响应于请求而被生成。动作数据结构能够与简档栈数据结构的第一简档层兼容。虽然动作数据结构能够使用和与声学签名相关联的电子账户相关联的第二简档来生成,但数据处理系统能够执行错误检查来确定所生成的动作数据结构是否与第一简档层兼容或相符。例如,第一简档层可以阻止、防止、或禁止某些类型的数据结构,所述某些类型的数据结构可能是错误的或者消耗过多的网络带宽或计算资源。
在确定动作数据结构与第一简档层相符后,数据处理系统能够提供用于执行的第一动作数据结构。提供用于执行的动作数据结构能够包括:将该动作数据结构传输到互联网连接设备以执行动作或提供指令;将该动作数据结构传输到服务提供者;或者将该动作数据结构提供给内容选择器组件以接收数字组件。
在ACT516,数据处理系统拆解简档栈514。数据处理系统能够响应于检测到触发事件而拆解简档栈。数据处理系统能够通过从简档栈数据结构中移除第一简档层或第二简档层中的一个来拆解简档栈数据结构。例如,数据处理系统能够通过移除与声学签名相对应的第二简档而将简档栈重置成默认设置。触发事件能够包括时间间隔(例如,由用户设置的自定义时间间隔,或者诸如10分钟、20分钟、30分钟、1小时、12小时、或24小时的预定时间间隔)。触发事件能够包括地理围栏或者检测到与第一用户不同的第二用户。
通过使用简档栈数据结构,数据处理系统能够促进对由本地计算设备接收到的命令进行消歧。例如,数据处理系统能够接收语法为“lights at home(家中灯)”的命令。数据处理系统能够检查第二简档以识别与“lights at home”相对应的一个或多个互联网连接设备。然而,第一简档层也能够包括与“lights at home”相对应的标签。数据处理系统能够向用户提供辨认要控制哪个互联网连接设备的提示。例如,数据处理系统能够基于第二简档来生成动作数据结构,并且然后将该动作数据结构与第一简档中的策略或规则进行比较,以确定所生成的动作数据结构是否与第一简档相符。在一些情况下,数据处理系统可能因标签与第一简档中的标签重合而确定动作数据结构不符,因此在没有进一步提示的情况下阻止动作数据结构的传输或执行。
图6是示例计算机系统600的框图。计算机系统或计算设备600能够包括或用于实现系统100或其组件,诸如数据处理系统102。数据处理系统102能够包括智能个人助理或基于语音的数字助理。计算系统600包括用于传送信息总线605或其他通信组件以及耦合到总线605以用于处理信息的处理器610或处理电路。计算系统600还能够包括耦合到总线以用于处理信息的一个或多个处理器610或处理电路。计算系统600还包括耦合到总线605的用于存储信息以及待由处理器610执行的指令的主存储器615,诸如随机存取存储器(RAM)或其他动态存储设备。主存储器615能够是或包括数据存储库145。主存储器615也能够用于在处理器610执行指令期间存储位置信息、临时变量、或其他中间信息。计算系统600可以进一步包括耦合到总线605的只读存储器(ROM)620或其他静态存储设备,用于存储处理器610的静态信息和指令。诸如固态设备、磁盘或光盘的存储设备625能够耦合到总线605以永久性存储信息和指令。存储设备625能够包括或是数据存储库145的一部分。
计算系统600可以经由总线605耦合到显示器635,诸如液晶显示器或有源矩阵显示器,以供向用户显示信息。诸如包括字母数字键和其他键的键盘的输入设备630可以耦合到总线605,以供向处理器610通信信息和命令选择。输入设备630能够包括触摸屏显示器635。输入设备630还能够包括光标控制器,诸如鼠标、跟踪球或光标方向键,以用于向处理器610传送方向信息和命令选择以及用于控制显示器635上的光标移动。例如,显示器635能够是图1的数据处理系统102、客户端计算设备150或其他组件的一部分。
本文所述的过程、系统和方法能够由计算系统600响应于处理器610执行主存储器615中包含的指令布置来实现。这样的指令能够从诸如存储设备625的另一个计算机可读介质读入主存储器615。执行主存储器615中包含的指令布置使得计算系统600执行本文所述的说明性过程。也可以采用多处理布置中的一个或多个处理器来执行主存储器615中包含的指令。能够使用硬连线电路代替软件指令或与软件指令组合来实现本文所述的系统和方法。本文所述的系统和方法不限于硬件电路和软件的任何特定组合。
尽管已在图6中描述了示例计算系统,但本说明书所述的包括操作的主题能够以其他类型的数字电子电路或者计算机软件、固件或硬件——包括本说明书中所公开的结构及其结构等价物、或者以其中一个或多个的组合来实现。
针对本文讨论的系统收集关于用户的个人信息或者可以利用个人信息的情形,可以向用户提供机会来控制程序或特征是否可以收集个人信息(例如,关于用户社交网络、社交动作或活动、用户偏好或用户位置的信息),或者控制是否或如何从内容服务器或其他数据处理系统接收可能与用户更相关的内容。此外,在存储或使用某些数据之前可以通过一种或多种方式将其匿名,以使得在生成参数时去除个人可识别信息。例如,用户的身份可以被匿名,以使得无法确定用户的个人可识别信息,或者在获得位置信息的情况下可以将用户的地理位置泛化(诸如到城市、邮政编码、或州级),以使得无法确定用户的特定位置。因此,用户可以控制如何收集关于他或她的信息以及如何供内容服务器使用该信息。
本说明书所述的主题和操作能够以数字电子电路或者计算机软件、固件或硬件——包括本说明书中所公开的结构及其结构等价物、或者以其中一个或多个的组合来实现。本说明书所述的主题能够被实现为一个或多个计算机程序——例如,编码在一个或多个计算机存储介质上以供数据处理装置执行或者控制其操作的计算机程序指令的一个或多个电路。替选地或附加地,程序指令能够被编码在人工生成的传播信号上,例如,机器生成的电信号、光信号或电磁信号,所述信号被生成用来编码信息以用于传输到合适的接收器装置,以供数据处理装置来执行。计算机存储介质能够是以下或包括在以下中:计算机可读存储设备、计算机可读存储基底、随机或串行存取存储器阵列或设备、或者其中一个或多个的组合。尽管计算机存储介质不是传播信号,但计算机存储介质能够是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也能够是以下或者被包括在以下中:一个或多个单独的组件或介质(例如,多个CD、磁盘或其他存储设备)。本说明书所述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上的数据或者从其他来源接收的数据进行的操作。
术语“数据处理系统”、“计算设备”、“组件”或“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机、片上系统、或前述中的多个或者前述的组合。该装置能够包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,该装置还能够包括为上述计算机程序创建执行环境的代码,例如,构建处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或者其中一个或多个的组合的代码。该装置和执行环境能够实现各种不同的计算模型基础架构,诸如Web服务、分布式计算和网格计算基础架构。例如,直接动作API 116、内容选择器组件118、或者NLP组件112和其他数据处理系统102组件能够包括或共享一个或多个数据处理装置、系统、计算设备或处理器。
计算机程序(也称为程序、软件、软件应用、App、脚本、或代码)能够以任何形式的编程语言来编写,包括编译语言或解释语言、声明性语言或过程性语言,并且能够以任何形式来部署,包括作为独立程序或者作为模块、组件、子例程、对象、或适用于计算环境的其他单元。计算机程序能够对应于文件系统中的文件。计算机程序能够被存储在保持其他程序或数据的文件的一部分中(例如,存储在标记语言文档中一个或多个脚本)、专用于所讨论程序的单个文件、或者多个协同文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序能够被部署成在一台计算机或者位于一个站点或跨多个站点分布并通过通信网络互联的多台计算机上执行。
本说明书所述的过程和逻辑流程能够由执行一个或多个计算机程序的一个或多个可编程处理器(例如,数据处理系统102的组件)执行,以通过对输入数据进行操作并且生成输出来执动作。所述过程和逻辑流程也能够由专用逻辑电路执行并且装置也能够被实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。适用于存储计算机程序指令和数据的设备包括各种形式的非易失性存储器、介质和存储器设备,例如包括:半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内置硬盘或可移动盘;磁光盘;以及CD ROM盘和DVD-ROM盘。处理器和存储器能够辅以专用逻辑电路,或者并入其中。
本文所述主题能够在计算系统中实现,该计算系统包括后端组件,例如,作为数据服务器,该计算系统包括中间件组件,例如,应用服务器,或者该计算系统包括前端组件,例如,具有用户能够借以与本说明书所述主题的实施方式交互的图形用户界面或web浏览器的客户端计算机,或者这样的后端组件、中间件组件、或前端组件的组合。该系统的组件能够通过例如通信网络的任何形式或者介质的数字数据通信来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互连网(例如,互联网)以及点对点网络(例如,Ad-hoc点对点网络)。
诸如系统100或系统600的计算系统能够包括客户端和服务器。客户端与服务器一般彼此远离,并且通常通过通信网络(例如,网络105)进行交互。客户端与服务器的关系借助在相应计算上运行并且彼此具有客户端-服务器关系的计算机程序来实现。在一些实施方式中,服务器将数据(例如,表示数字组件的数据分组)传输到客户端设备(例如,目的是向与客户端设备交互的用户显示数据以及从该用户接收用户输入)。在客户端设备处生成的数据(例如,用户交互的结果)能够从服务器处的客户端设备接收(例如,由数据处理系统102从本地计算设备104或内容提供者计算设备106或第三方设备146接收)。
虽然在图中以特定顺序来描绘操作,但不要求以所示的特定顺序或相继顺序来进行这样的操作,并且不要求进行所有图示的操作。本文所述的动作能够以不同的顺序来进行。
各种系统组件的分离不要求在所有实施方式中皆分离,并且所述的程序组件能够被包含在单个硬件或软件产品中。例如,NLP组件112或内容选择器组件118能够是单个组件、App、或程序,或者具有一个或多个处理电路的逻辑设备,或者数据处理系统102的一个或多个服务器的一部分。
此时已描述一些说明性实施方式,显而易见,前述内容以说明性而非限制性方式举例呈现。特别地,虽然本文提出的许多示例涉及方法动作或系统元素的特定组合,但那些动作和那些元素可以通过其他方式组合来实现相同的目标。结合一个实施方式讨论的动作、元素和特征并非旨在排除于其他实施方式中的类似职能。
本文所用的措辞和用语是出于描述目的,不应被认为具限制性。本文使用“包含”、“包括”、“具有”、“含有”、“涉及”、“其特征是”、“其特征在于”及其变型意在涵盖其后所列项、其等价物、和补充项,以及仅由其后所列项组成的替选实施方式。在一个实施方式中,本文所述的系统和方法由所述元素、动作、或组件中的一个、一个以上的每种组合、或全部组成。
本文以单数形式对系统和方法的实施方式或元素或动作的任何引用也可以涵盖包括多个这些元素的实施方式,并且本文以复数形式对任何实施方式或元素或动作的引用也可以涵盖仅包括单个元素的实施方式。以单数或复数形式引用并非旨在将当前公开的系统或方法、其组件、动作、或元素限制成单个或多个配置。基于任何信息、动作或元素引用任何动作或元素可以包括该动作或元素至少部分地基于任何信息、动作、或元素的实施方式。
本文公开的任何实施方式可以与任何其他实施方式或实施例组合,并且引用“实施方式”、“一些实施方式”、“一个实施方式”等并不一定互斥,并且旨在指明结合该实施方式描述的特定特征、结构、或特性可以被含入至少一个实施方式或实施例。本文所用的这样的术语并非必然全指代相同的实施方式。任何实施方式可以采用任何与本文公开的方面和实施方式一致的方式包含或排他地与任何其他实施方式组合。
引用“或者”可以被解释为包含性,使得使用“或者”描述的任何术语可以指示单个、一个以上、和全部所述术语中的任何一个。例如,引用“‘A’和‘B’中的至少一个”能够仅包含“A”、仅包含“B”以及包含“A”和“B”两者。这样的引用与“包括”或其他开放式用语结合使用能够包含补充项。
在附图、具体实施方式或任何权利要求中的技术特征后接附图标记的情况下,已包含所述附图标记来增加附图、具体实施方式和权利要求书的可懂度。因此,存在附图标记或缺少附图标记都不会对任何权利要求元素的范围产生任何限制作用。
本文所述的系统和方法在不脱离其特性的情况下可以通过其他特定形式来体现。前述实施方式是说明性而非限制所述的系统和方法。因此,本文所述系统和方法的范围应由所附权利要求书而并非前述描述指明,落入权利要求含义及等价范围内的变化涵属于其中。

Claims (20)

1.一种用于处理堆栈数据结构的系统,包括:
数据处理系统,所述数据处理系统包括一个或多个处理器和存储器,以执行自然语言处理器组件、接口、说话者辨识组件、和直接动作应用编程接口,所述数据处理系统用以:
经由所述接口,接收包括由本地计算设备的传感器检测到的输入音频信号的数据分组;
从所述输入音频信号中识别声学签名;
基于在数据存储库中的查找,识别与所述声学签名相对应的电子账户;
响应于识别所述电子账户,建立会话以及供所述会话中使用的简档栈数据结构,所述简档栈数据结构包括具有由第三方实体的设备配置的一个或多个策略的第一简档层;
将从所述电子账户检索到的第二简档层推送到为所述会话建立的所述简档栈数据结构;
解析所述输入音频信号以识别请求以及与所述请求相对应的触发关键字;
基于所述触发关键字以及推送到所述简档栈数据结构的所述第二简档层,生成与所述简档栈数据结构的所述第一简档层兼容的响应于所述请求的第一动作数据结构;
提供所述第一动作数据结构以供执行;以及
响应于检测到触发事件,拆解所述简档栈数据结构以从所述简档栈数据结构中移除所述第一简档层或所述第二简档层中的一个。
2.根据权利要求1所述的系统,包括所述数据处理系统,用以:
基于所述查找,确定不存在与所述声学签名相对应的所述电子账户;
响应于确定不存在,在所述数据存储库中创建所述电子账户;以及
将所述电子账户映射到所述声学签名。
3.根据权利要求1所述的系统,其中,所述第一简档层包括用以一个或多个互联网连接的设备的标签,所述标签是由所述第三方实体的设备来建立的。
4.根据权利要求1所述的系统,其中,所述第一简档层的所述一个或多个策略包括阻止一个类型的动作数据结构的策略。
5.根据权利要求1所述的系统,包括所述数据处理系统,用以:
基于所述触发关键字以及推送到所述简档栈数据结构的所述第二简档层,生成响应于所述请求的所述第一动作数据结构;
将所述第一动作数据结构与所述第一简档层的所述一个或多个策略进行比较;
基于所述第一动作数据结构与所述第一简档层的所述一个或多个策略的比较,确定所述第一动作数据结构与所述第一简档层兼容;以及
响应于所述第一动作数据结构被确定为与所述第一简档层兼容,提供所述第一动作数据结构以供执行。
6.根据权利要求5所述的系统,其中,所述第一简档层的所述一个或多个策略包括阻止一个类型的动作数据结构的策略,所述系统包括:
所述数据处理系统,用以将第一动作数据结构的类型与由所述第一简档层的所述一个或多个策略指示的动作数据结构的类型进行比较,以确定所述第一动作数据结构与所述第一简档层兼容。
7.根据权利要求1所述的系统,其中,所述一个或多个策略包括阻止一个类型的内容的策略,并且所述数据处理系统包括内容选择器组件,所述内容选择器组件用以:
接收由所述自然语言处理器组件和所述简档栈数据结构识别的所述触发关键字;以及
基于所述触发关键字和所述简档栈数据结构,选择与所述第一简档层和所述第二简档层二者皆兼容的数字组件。
8.根据权利要求1所述的系统,包括所述数据处理系统,用以:
合并所述第一简档层与所述第二简档层以生成所述会话的合并简档。
9.根据权利要求1所述的系统,包括:
所述数据处理系统,用以基于时间间隔来检测所述触发事件。
10.根据权利要求1所述的系统,包括:
所述数据处理系统,用以基于地理围栏来检测所述触发事件。
11.根据权利要求1所述的系统,包括所述数据处理系统,用以:
经由所述接口,接收包括由所述本地计算设备的所述传感器检测到的第二输入音频信号的第二数据分组,所述第二输入音频信号是继所述输入音频信号之后被检测到的;
从所述第二输入音频信号中识别第二声学签名,所述第二声学签名与所述声学签名不同;以及
基于识别与所述声学签名不同的所述第二声学签名,确定所述触发事件。
12.一种处理堆栈数据结构的方法,包括:
经由包括一个或多个处理器的数据处理系统的接口,接收包括由本地计算设备的传感器检测到的输入音频信号的数据分组;
由所述数据处理系统,从所述输入音频信号中识别声学签名;
由所述数据处理系统,基于在数据存储库中的查找,识别与所述声学签名相对应的电子账户;
由所述数据处理系统,响应于识别所述电子账户,建立会话以及供所述会话中使用的简档栈数据结构,所述简档栈数据结构包括具有由第三方实体的设备配置的一个或多个策略的第一简档层;
由所述数据处理系统,将从所述电子账户检索到的第二简档层推送到为所述会话建立的所述简档栈数据结构;
由所述数据处理系统,解析所述输入音频信号以识别请求以及与所述请求相对应的触发关键字;
由所述数据处理系统,基于所述触发关键字以及推送到所述简档栈数据结构的所述第二简档层,生成与所述简档栈数据结构的所述第一简档层兼容的响应于所述请求的第一动作数据结构;
由所述数据处理系统,提供所述第一动作数据结构以供执行;以及
由所述数据处理系统,响应于检测到触发事件,拆解所述简档栈数据结构以从所述简档栈数据结构中移除所述第一简档层或所述第二简档层中的一个。
13.根据权利要求12所述的方法,包括所述数据处理系统,用以:
基于所述查找,确定不存在与所述声学签名相对应的电子账户;
响应于确定不存在,在所述数据存储库中创建所述电子账户;以及
将所述电子账户映射到所述声学签名。
14.根据权利要求12所述的方法,包括:
基于所述触发关键字以及推送到所述简档栈数据结构的所述第二简档层,生成响应于所述请求的所述第一动作数据结构;
将所述第一动作数据结构与所述第一简档层的所述一个或多个策略进行比较;
基于所述第一动作数据结构与所述第一简档层的所述一个或多个策略的比较,确定所述第一动作数据结构与所述第一简档层兼容;以及
响应于所述第一动作数据结构被确定为与所述第一简档层兼容,提供所述第一动作数据结构以供执行。
15.根据权利要求14所述的方法,其中,所述第一简档层的所述一个或多个策略包括阻止一个类型的动作数据结构的策略,所述系统包括:
将所述第一动作数据结构的类型与由所述第一简档层的所述一个或多个策略指示的动作数据结构的类型进行比较,以确定所述第一动作数据结构与所述第一简档层兼容。
16.根据权利要求12所述的方法,其中,所述一个或多个策略包括阻止一个类型内容的策略,并且所述方法包括:
接收由所述自然语言处理器组件和所述简档栈数据结构识别的所述触发关键字;以及
基于所述触发关键字和所述简档栈数据结构,选择与所述第一简档层和所述第二简档层二者皆兼容的数字组件。
17.根据权利要求12所述的方法,包括所述数据处理系统,用以:
合并所述第一简档层与所述第二简档层以生成所述会话的合并简档。
18.根据权利要求12所述的方法,包括:
经由所述接口,接收包括由所述本地计算设备的所述传感器检测到的第二输入音频信号的第二数据分组,所述第二输入音频信号是继所述输入音频信号之后被检测到的;
从所述第二输入音频信号中识别第二声学签名,所述第二声学签名与所述声学签名不同;以及
基于识别与所述声学签名不同的所述第二声学签名,确定所述触发事件。
19.一种数字助理设备,包括:
音频驱动器;
换能器;
检测输入音频信号的传感器;以及
耦合至所述音频驱动器、所述换能器、和所述传感器的预处理器组件,所述预处理器组件用以:
对所述输入音频信号进行滤波以创建经滤波的输入音频信号;
将经滤波的输入音频信号转换成数据分组;
将所述数据分组传输到数据处理系统,所述数据处理系统包括一个或多个处理器和存储器,所述一个或多个处理器和存储器执行自然语言处理器组件、接口、说话者辨识组件、和直接动作应用编程接口,所述数据处理系统用以:
经由所述接口,从所述预处理器组件接收包括由所述传感器检测到的所述经滤波的输入音频信号的所述数据分组;
从所述输入音频信号中识别声学签名;
基于在数据存储库中的查找,识别与所述声学签名相对应的电子账户;
响应于识别所述电子账户,建立会话以及供所述会话中使用的简档栈数据结构,所述简档栈数据结构包括具有由第三方实体的设备配置的一个或多个策略的第一简档层;
将从所述电子账户检索到的第二简档层推送到为所述会话建立的所述简档栈数据结构;
解析所述输入音频信号以识别请求以及与所述请求相对应的触发关键字;
基于所述触发关键字以及推送到所述简档栈数据结构的所述第二简档层,生成与所述简档栈数据结构的所述第一简档层兼容的响应于所述请求的第一动作数据结构;
提供所述第一动作数据结构以供执行;
响应于检测到触发事件,拆解所述简档栈数据结构以从所述简档栈数据结构中移除所述第一简档层或所述第二简档层中的一个;以及
向所述预处理器组件提供所述简档栈数据结构的状态;
所述音频驱动器用以接收所述简档栈数据结构的状态的指示,以及基于所述指示来生成输出信号;以及
所述换能器用以基于由所述音频驱动器生成的输出信号来生成声音。
20.根据权利要求19所述的设备,包括:
光源;以及
所述预处理器组件,所述预处理器组件用以使得所述光源提供与所述简档栈数据结构的状态相对应的视觉指示。
CN201780004310.2A 2017-12-08 2017-12-08 堆栈数据结构的数字助理处理 Active CN110149806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310923755.8A CN117059087A (zh) 2017-12-08 2017-12-08 堆栈数据结构的数字助理处理

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/065464 WO2019112626A1 (en) 2017-12-08 2017-12-08 System for securing a personal digital assistant with stacked data structures

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310923755.8A Division CN117059087A (zh) 2017-12-08 2017-12-08 堆栈数据结构的数字助理处理

Publications (2)

Publication Number Publication Date
CN110149806A true CN110149806A (zh) 2019-08-20
CN110149806B CN110149806B (zh) 2023-08-08

Family

ID=60972342

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780004310.2A Active CN110149806B (zh) 2017-12-08 2017-12-08 堆栈数据结构的数字助理处理
CN202310923755.8A Pending CN117059087A (zh) 2017-12-08 2017-12-08 堆栈数据结构的数字助理处理

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310923755.8A Pending CN117059087A (zh) 2017-12-08 2017-12-08 堆栈数据结构的数字助理处理

Country Status (7)

Country Link
US (3) US10580412B2 (zh)
EP (1) EP3529802A1 (zh)
JP (1) JP6797916B2 (zh)
KR (3) KR102100976B1 (zh)
CN (2) CN110149806B (zh)
AU (2) AU2017442245B2 (zh)
WO (1) WO2019112626A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110691446A (zh) * 2019-09-12 2020-01-14 深圳市云慧联科技有限公司 Id信息二次生成方法及装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12007941B2 (en) 2017-09-29 2024-06-11 Oracle International Corporation Session state tracking
US10665236B2 (en) 2017-12-08 2020-05-26 Google Llc Digital assistant processing of stacked data structures
US10580412B2 (en) 2017-12-08 2020-03-03 Google Llc Digital assistant processing of stacked data structures
US10649727B1 (en) * 2018-05-14 2020-05-12 Amazon Technologies, Inc. Wake word detection configuration
GB2577879B (en) 2018-10-08 2022-08-24 B & W Group Ltd Content playback system
GB2579554A (en) * 2018-12-03 2020-07-01 Audiogum Uk Ltd Content playback system
US10839167B2 (en) 2018-12-04 2020-11-17 Verizon Patent And Licensing Inc. Systems and methods for dynamically expanding natural language processing agent capacity
US10789266B2 (en) 2019-02-08 2020-09-29 Innovaccer Inc. System and method for extraction and conversion of electronic health information for training a computerized data model for algorithmic detection of non-linearity in a data
US11106934B2 (en) 2019-02-11 2021-08-31 Innovaccer Inc. Automatic visual display overlays of contextually related data from multiple applications
US10706045B1 (en) * 2019-02-11 2020-07-07 Innovaccer Inc. Natural language querying of a data lake using contextualized knowledge bases
US10484367B1 (en) * 2019-06-06 2019-11-19 Capital One Services, Llc Utilizing natural language processing to automatically perform multi-factor authentication
US11936739B2 (en) * 2019-09-12 2024-03-19 Oracle International Corporation Automated reset of session state
US10789461B1 (en) 2019-10-24 2020-09-29 Innovaccer Inc. Automated systems and methods for textual extraction of relevant data elements from an electronic clinical document
US11158308B1 (en) * 2019-11-27 2021-10-26 Amazon Technologies, Inc. Configuring natural language system
US20220229987A1 (en) * 2021-01-21 2022-07-21 Servicenow, Inc. System and method for repository-aware natural language understanding (nlu) using a lookup source framework
US11650980B2 (en) 2021-01-29 2023-05-16 Walmart Apollo, Llc Methods and apparatus for retrieving information via an intermediate representation
US11538480B1 (en) * 2021-03-30 2022-12-27 Amazon Technologies, Inc. Integration of speech processing functionality with organization systems

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327346B1 (en) * 1998-09-01 2001-12-04 At&T Corp. Method and apparatus for setting user communication parameters based on voice identification of users
CN1342290A (zh) * 1998-10-02 2002-03-27 国际商业机器公司 会话浏览器和会话系统
CN102016867A (zh) * 2008-03-04 2011-04-13 苹果公司 基于至少一个已安装的简档来授权执行软件代码的系统和方法
CN103597494A (zh) * 2011-04-02 2014-02-19 英特尔公司 用于管理文档的数字使用权限的方法和设备
US8938808B1 (en) * 2010-03-01 2015-01-20 Symantec Corporation Systems and methods for using virtualization to implement information rights management
CN105190745A (zh) * 2013-02-20 2015-12-23 谷歌公司 用于共享调适语音简档的方法和系统
US20170133012A1 (en) * 2015-11-05 2017-05-11 Acer Incorporated Voice control method and voice control system
US20170237801A1 (en) * 2004-06-30 2017-08-17 Google Inc. Device configuration-based function delivery

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872850A (en) * 1996-02-02 1999-02-16 Microsoft Corporation System for enabling information marketplace
US6055637A (en) * 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US6088679A (en) * 1997-12-01 2000-07-11 The United States Of America As Represented By The Secretary Of Commerce Workflow management employing role-based access control
US6839410B2 (en) * 1998-09-01 2005-01-04 At&T Corp. Method and apparatus for setting user communication parameters based on voice identification of users
WO2007016114A2 (en) * 2005-07-27 2007-02-08 Shea Writer Methods and systems for improved security for financial transactions through a trusted third party entity
US20100005085A1 (en) * 2008-07-03 2010-01-07 Oracle International Corporation Creating relationship maps from enterprise application system data
US9493130B2 (en) * 2011-04-22 2016-11-15 Angel A. Penilla Methods and systems for communicating content to connected vehicle users based detected tone/mood in voice input
US20140310379A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Vehicle initiated communications with third parties via virtual personality
KR20240132105A (ko) * 2013-02-07 2024-09-02 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10152031B2 (en) * 2013-03-15 2018-12-11 Fisher-Rosemount Systems, Inc. Generating checklists in a process control environment
WO2016040506A1 (en) * 2014-09-13 2016-03-17 Advanced Elemental Technologies, Inc. Methods and systems for secure and reliable identity-based computing
US20170092278A1 (en) 2015-09-30 2017-03-30 Apple Inc. Speaker recognition
US9928840B2 (en) 2015-10-16 2018-03-27 Google Llc Hotword recognition
US9747926B2 (en) 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10380208B1 (en) * 2015-12-28 2019-08-13 Amazon Technologies, Inc. Methods and systems for providing context-based recommendations
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10418026B2 (en) 2016-07-15 2019-09-17 Comcast Cable Communications, Llc Dynamic language and command recognition
CN108075892B (zh) * 2016-11-09 2021-07-27 斑马智行网络(香港)有限公司 一种语音处理的方法、装置和设备
WO2019022698A1 (en) * 2017-07-24 2019-01-31 Visa International Service Association SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR AUTHENTICATING A TRANSACTION
US10580412B2 (en) 2017-12-08 2020-03-03 Google Llc Digital assistant processing of stacked data structures
US10157042B1 (en) 2018-02-06 2018-12-18 Amazon Technologies, Inc. Audio output control
US10747894B1 (en) * 2018-09-24 2020-08-18 Amazon Technologies, Inc. Sensitive data management
US10839167B2 (en) 2018-12-04 2020-11-17 Verizon Patent And Licensing Inc. Systems and methods for dynamically expanding natural language processing agent capacity

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327346B1 (en) * 1998-09-01 2001-12-04 At&T Corp. Method and apparatus for setting user communication parameters based on voice identification of users
CN1342290A (zh) * 1998-10-02 2002-03-27 国际商业机器公司 会话浏览器和会话系统
US20170237801A1 (en) * 2004-06-30 2017-08-17 Google Inc. Device configuration-based function delivery
CN102016867A (zh) * 2008-03-04 2011-04-13 苹果公司 基于至少一个已安装的简档来授权执行软件代码的系统和方法
US8938808B1 (en) * 2010-03-01 2015-01-20 Symantec Corporation Systems and methods for using virtualization to implement information rights management
CN103597494A (zh) * 2011-04-02 2014-02-19 英特尔公司 用于管理文档的数字使用权限的方法和设备
CN105190745A (zh) * 2013-02-20 2015-12-23 谷歌公司 用于共享调适语音简档的方法和系统
US20170133012A1 (en) * 2015-11-05 2017-05-11 Acer Incorporated Voice control method and voice control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110691446A (zh) * 2019-09-12 2020-01-14 深圳市云慧联科技有限公司 Id信息二次生成方法及装置
CN110691446B (zh) * 2019-09-12 2021-11-19 深圳市云慧联科技有限公司 Id信息二次生成方法及装置

Also Published As

Publication number Publication date
CN110149806B (zh) 2023-08-08
KR102100976B1 (ko) 2020-05-15
US11557302B2 (en) 2023-01-17
KR20210018532A (ko) 2021-02-17
KR102216034B1 (ko) 2021-02-16
EP3529802A1 (en) 2019-08-28
AU2017442245A1 (en) 2019-07-11
AU2017442245B2 (en) 2020-03-26
JP2020507134A (ja) 2020-03-05
US20190180757A1 (en) 2019-06-13
AU2020203865B2 (en) 2022-05-12
US20200194005A1 (en) 2020-06-18
US10580412B2 (en) 2020-03-03
WO2019112626A1 (en) 2019-06-13
KR20200086660A (ko) 2020-07-17
US20230186920A1 (en) 2023-06-15
JP6797916B2 (ja) 2020-12-09
AU2020203865A1 (en) 2020-07-02
CN117059087A (zh) 2023-11-14
KR102279121B1 (ko) 2021-07-19
KR20190087962A (ko) 2019-07-25

Similar Documents

Publication Publication Date Title
CN110149806A (zh) 堆栈数据结构的数字助理处理
US11508371B2 (en) Digital assistant processing of stacked data structures
US11855988B2 (en) Synchronizing access controls between computing devices
CN108551766A (zh) 用于与服务提供者的会话建立的自然语言处理
CN108513705A (zh) 选择性传感器轮询
CN109074802A (zh) 分组化音频信号的调制
Turban et al. Intelligent (smart) E-commerce
CN108415984A (zh) 链接关联分析系统和方法
CN109392309A (zh) 建立与非注册资源的基于音频的网络会话
JP6995966B2 (ja) スタック形式のデータ構造のデジタルアシスタント処理
CN115812193A (zh) 经由数字助理传递兼容的补充内容

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