CN106164869B - 用于并行处理的混合客户端/服务器架构 - Google Patents

用于并行处理的混合客户端/服务器架构 Download PDF

Info

Publication number
CN106164869B
CN106164869B CN201580018588.6A CN201580018588A CN106164869B CN 106164869 B CN106164869 B CN 106164869B CN 201580018588 A CN201580018588 A CN 201580018588A CN 106164869 B CN106164869 B CN 106164869B
Authority
CN
China
Prior art keywords
local
remote
data
service
client
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.)
Active
Application number
CN201580018588.6A
Other languages
English (en)
Other versions
CN106164869A (zh
Inventor
C·D·勒
M·卡尔卡尼奥
J·哈梅克
R·钱伯斯
M·D·普林佩
T·威尔逊
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106164869A publication Critical patent/CN106164869A/zh
Application granted granted Critical
Publication of CN106164869B publication Critical patent/CN106164869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本公开描述了可以用来充分利用远程服务和本地服务的独特能力的示范性的混合客户端/服务器架构。数据可以通过远程过程和本地过程并行地处理。在并行处理过程中生成的结果可以在远程服务和本地服务之间交换,并且用来更新由单独的服务生成的结果。混合客户端/服务器架构可被利用来生成增强的推断、基于本地和远程订阅的混合订阅以及增强自然语言表达评估服务。

Description

用于并行处理的混合客户端/服务器架构
背景技术
分布式网络通常对更多的计算资源具有访问权,且因此能够相对高效地执行复杂的处理任务。另外,驻留于分布式网络上的应用可以频繁地被更新,并且因此倾向于并入较新的功能。由于这些因素,曾经在本地设备上执行的许多服务现在利用可以作为分布式网络的一部分的远程设备来执行。然而,远程服务通常被实现为使得它们能够由许多不同的客户端来使用。由于此,一般化的远程服务可能对能够用于为具体用户提供高度个性化的信息没有访问权。此外,在许多情形下,客户端设备上的个人数据不能转移到远程设备。因此,难以按照对个人执行个性化任务的方式来使用远程服务。
实施例正是针对这些以及其他的一般考虑给出的。而且,虽然已经论述了相对具体的问题,应当理解实施例不应限于解决在背景技术中所确定的具体的问题。
发明内容
本公开的实施例涉及,通过在客户端设备的本地的服务以及通过网络与客户端设备通信的远程服务,提供对在诸如平板计算机、智能手机或任何其他计算系统等客户端设备处接收到的输入进行共享处理的混合客户端/ 服务器架构。当客户端设备接收到来自用户的输入、来自设备本地的过程或应用的数据、来自设备传感器(例如,麦克风、GPS、加速度计等)的数据或者来自远程设备或过程的数据时,客户端设备可以分析数据以判定:除了可能发生在设备上的对数据的任何处理之外,发送数据给远程服务以进行处理是否恰当和/或高效。如果该设备判定数据应当被提供给远程服务 (例如,在诸如服务器等远程设备上和/或在远程设备的分布式网络上执行的应用),则客户端设备将数据(以及任何相关的命令或信息)发送到远程服务以便处理。同时,本地设备也开始利用本地服务处理数据。远程服务可以接收数据并且开始除了可以在设备上执行的任何处理之外的处理。远程服务可以与设备同时或者基本同时地处理数据,可以在设备完成数据处理之前就开始处理数据,或者可以在另外的时间处理数据。在实施例中,本地服务和远程服务在处理期间交换数据。这样做,可以增强本地服务和远程服务的处理能力。
在实施例中,可以采用混合客户端/服务器架构来基于用户与客户端设备的交互而生成有关于她的推断(inference)。在实施例中,推断可以标识有关人的信息,包括她喜欢的和不喜欢的、她的习惯、她计划参加的即将到来的事件等。在实施例中,推断可以是基于用户的习惯、位置、日历、 web历史、搜索历史、联系人、设备使用等等的与个人有关和/或相关的信息的任何类型的标识或判定。客户端设备上的本地推断服务可以处理可能不适合发送到远程设备的一些数据(比方说例如私有数据),或者可能通过网络进行发送是低效率的数据(比方说例如加速度计数据),来生成关于用户的初始推断。在更具体的实施例中,初始推断可以不包括私有数据,或者可以被抽象以去除任何私有数据。在判定初始推断不包括私有信息时,推断可以被发送到远程推断服务以便进一步处理。远程推断服务可以充分利用可供远程设备和/或远程设备的分布式网络使用的额外的数据,来提供增强的推断。增强的推断可以存储在用户配置文件中,并且用于对设备与用户的交互进行定制。
在又一实施例中,混合客户端/服务架构可被采用,以基于本地订阅和远程订阅来生成混合订阅。可以在本地订阅(诸如监视用户位置的本地服务)与远程服务(诸如输送新闻更新的远程服务)之间标识关系。服务之间的关系可被充分利用以创建基于本地和远程服务的组合来将通知智能地呈现给用户的混合服务。
本公开的进一步的实施例提供了能够将由本地自然语言表达(NLE) 评估过程或服务以及远程自然语言表达(NLE)评估过程或服务两者所提供的益处充分利用并且融合的混合客户端/服务架构。在实施例中,NLE过程接收作为自然语言的输入,并且解释NLE以标识命令、数据等。示范性的NLE评估过程是语音识别器。然而,对于本文公开的实施例可以采用其他NLE评估过程,比方说例如,文本评估过程。混合客户端/服务器架构提供了这样的系统:其中自然语言表达可以既在本地评估又通过远程服务来评估。本地和远程评估服务可以交换能够被每个服务用来更新和增强语音识别结果的解释。混合客户端/服务架构还可以被充分利用来为第三方开发者提供定义第三方知识库(例如,由第三方提供的数据和/或规则、第三方语法、第三方提示等)的能力,第三方知识库可用来辅助与具体应用有关的自然语言表达的评估。第三方知识库可由基于本地或远程的NLE评估过程来使用,以便可选地扩增它们的内置的评估NLE的能力,从而改善结果。
提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选集。该发明内容不旨在确定所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图说明
下面参考附图描述了非限制性的且非穷举性的实施例,在附图中:
图1是能够在客户端设备和分布式网络上执行共享处理数据的混合客户端/服务器系统100的实施例。
图2是使用混合客户端/服务器架构进行共享处理数据的方法200的实施例。
图3是生成最终结果的方法300的实施例。
图4是混合客户端/服务器推断系统400的实施例。
图5是利用混合客户端/服务器架构生成推断的方法500的实施例。
图6图示出能够编写混合订阅的混合客户端/服务器系统600的示范性的实施例。
图7图示出用于生成混合订阅警告的方法700的示范性的实施例。
图8是用于增强语音识别的混合客户端/服务器系统800的实施例。
图9是使用混合客户端/服务器架构进行共享语音处理的方法900的实施例。
图10是用于选择或生成自然语言表达的一个或多个解释的方法1000 的实施例。
图11是用于在语音识别过程中标识第三方提示的方法1100的实施例。
图12是用于电影应用的示范性的第三方语法1200的实施例。
图13是用于通信应用的示范性的第三方语法1300的实施例。
图14图示出用于执行本公开的一个或多个实施例的平板计算设备。
图15图示出适合于实现本文公开的一个或多个实施例的计算环境的框图。
图16A图示出执行本文公开的一个或多个实施例的移动计算设备的一个实施例。
图16B是适合于实践本文公开的一个或多个实施例的示范性的移动计算设备的简化框图。
图17是适合于实践本文公开的一个或多个实施例的示范性的分布式计算系统的简化框图。
具体实施方式
下文参考构成了各个实施例的一部分以及示出具体的示范性的实施例的附图来更全面地描述各个实施例。然而,实施例可通过多种不同的形式来实现,而不应解释为限于本文阐述的实施例;相反,这些实施例被提供以使本公开将是透彻的以及完备的,并且将向本领域技术人员充分传达实施例的范围。实施例可以实现为方法、系统或设备。因此,实施例可以采取硬件实现方式、全软件实现方式或者组合软件和硬件方面的实现方式的形式。下面的详细说明因此不应在限制的意义上考量。
本公开的实施例涉及一种将设备专用(device specific)的过程解耦并且允许对要在客户端设备与分布式网络(也称为“云”)上拆分的数据进行处理的混合客户端/服务器架构。分布式网络可以包括经由比方说例如因特网等网络与客户端设备通信的一个或多个远程设备。在一些方面,分布式网络可以具有更多可用的资源(例如,存储器和处理能力),其与在客户端设备上执行任务相比允许执行更大的任务且允许更快地完成任务。因此,分布式网络可以提供远程服务(例如,过程或应用,云服务等),其提供除了驻留在客户端设备上的本地服务之外的额外功能。然而,在一些情形下,可能不期望将完成任务所必须的信息提供给分布式网络。例如,诸如隐私担忧、带宽使用、功耗等原因可能使得不期望将某些类型的信息发送到分布式网络以便处理。由于这些考虑导致的局限性可通过采用混合客户端/服务器架构来克服,该混合客户端/服务器架构允许通过客户端设备上的本地服务以及在可以是分布式网络的部分的一个或多个远程设备(例如,一个或多个服务器)上执行的远程服务来进行共享任务处理。然而,在其他实施例中,远程设备可以不是分布式网络的部分。公开的实施例进一步提供了在处理期间本地服务与远程服务之间的信息交换。在实施例中,这些信息可以包括通过单个过程或者对于单个过程可用的不同数据集所生成的结果。
本公开的实施例采用了混合客户端/服务器架构来增强诸如生产应用、日历应用和地图应用、设备通知、设备功能等。在其他实施例中,混合客户端/服务器架构可被采用来增强客户端设备上的应用诸如个人数字助理等,或者设备的其他用户体验(UX)元素。在实施例中,混合客户端/服务器架构可被采用来生成充分利用本地设备和一个或多个远程设备的力量来解释和处理数据。本文公开的混合客户端/服务器实施例可用于提供增强的推断、混合订阅以及增强的自然语言表达评估(例如,语音识别、文本处理等)、标识用户可能感兴趣或者与用户相关的信息,以及其他用途。这些特征可用于基于特定用户的喜欢的、不喜欢的和/或模式,来智能地更新应用、应用或设备的UX元素、提供额外的信息给设备等。
图1是能够进行共享处理数据的混合客户端/服务器系统100的实施例。共享数据处理可以包括与设备同时或者基本同时地,并行地,和/或在远程服务或本地服务完成处理数据之前,通过一个或多个本地服务(例如,在客户端设备上执行的服务、应用、过程等)和远程服务数据对数据的处理。在其他实施例中,共享处理可以包括通过分布式网络和一个或多个设备上的不同服务进行处理,以执行共同的任务、标识共同的解决方案,达到共同的结果,等等。混合客户端/服务器系统100包括经由通信网络110与分布式网络112通信的至少一个客户端设备102。通信网络110可以是任何类型的有线网络或无线网络或者有线网络和无线网络的组合。这种网络的非限制示例包括局域网(LAN)、广域网(WAN)、简易老式电话服务(POTS) 网络、蜂窝数据网、卫星数据网、Wi-Fi网络和/或因特网。在实施例中,客户端设备102可以是智能手机、平板设备、膝上型设备、个人计算机或任何其他类型的能够通过网络交换数据的计算设备。在实施例中,分布式网络112可以是能够共享网络资源并且跨设备协调动作以产生结果的计算设备、数据存贮和软件的分布式系统。构成分布式网络112的计算设备、数据存贮和软件远离客户端设备102定位。在实施例中,分布式网络112可以能够执行分布式程序以执行任务。任务的组件可以散布在作为分布式网络112的部分的多个计算设备上,其中每个计算设备执行任务的组件并且利用消息将与任务有关的数据在彼此之间传达。作为分布式网络112的部分的单个计算设备和数据存贮可以通过诸如LAN、WAN或任何其他类型的网络的网络连接。
混合客户端/服务器系统允许通过客户端设备102和分布式网络112并行地处理。执行数据的共享处理的能力利用由客户端设备和分布式网络所提供的不同的能力和数据存贮。例如,客户端设备可以包含在分布式网络上不能得到的个人数据,诸如用户联系人、日历信息、当前位置。因此,本文公开的系统和方法可以采集信息,信息可以包括个人可标识信息(PII),用于例程商业目的,诸如但不限于,安全审计、产品支持、产品改进、产品注册以及用户注册。如本文所使用的,PII广义地包含了用户不想要其他人知道的任何事物。这通常意味着关于用户采集的或者由用户提供的任何数据,除非用户明确地授权组织共享该信息。PII的一些常见示例是姓名、生日、SSN、账户名和电话号码。可以被视为PII的其他数据包括IP地址、公司名称和位置信息。为了隐私的原因,有的人可能选择不使他或她的位置被跟踪和传送,但是有些人将选择自动允许传送他们的位置。
客户端设备可以包含不同类型的硬件和软件组件,使得可以生成数据或以其他方式提供数据用于由客户端设备102和/或分布式网络112处理。在实施例中,客户端设备102的硬件和软件组件也可以用来处理数据。另一方面,分布式网络112具有更多的处理能力以及对可用于处理从客户端设备102接收到的数据的更多的数据和信息的访问权。混合客户端/服务器 100提供充分利用客户端设备102和分布式网络112的不同力量的能力,来达到当处理数据集时的改进的判定或结果。在实施例中,混合客户端/服务器系统还包括协调服务118,其对客户端112的和分布式网络112的对数据的共享处理进行协调。在实施例中,协调服务可以确定何种数据发送到分布式网络112进行处理,确定客户端设备102或分布式网络112何时达到最终结果,和/或从由客户端112和分布式网络112提供的一组结果确定最佳结果。在实施例中,协调服务118可以驻留于客户端设备102上、分布式网络112上,或者不同的设备上。
一般地,客户端设备102可以生成和/或接收数据,并且在生成或接收数据时标识与接收到的数据有关的任务或过程。客户端设备102还可以将数据经由通信网络110发送到分布式网络112,同时利用诸如本地服务 108A-C等一个或多个本地服务108来处理数据。在客户端设备112本地地处理数据的同时,分布式网络112从客户端接收正在由设备处理的数据或者正在由设备处理的数据的子集,并且开始利用诸如远程服务116A-C等一个或多个远程服务116来处理接收到的数据。在实施例中,在处理期间得到的结果和/或判定可以在它们生成时在客户端设备102(也称为客户端102 或本地设备102)与分布式网络112之间共享。共享结果可由客户端设备 102和分布式网络112两者使用来更新它们自己的判定和/或结果,或者可以作为输入被接收到正在处理数据的服务以细化由客户端102和/或分布式网络112所生成的判定和/或结果。在实施例中,在共享初始判定之后,最终结果或判定可以由客户端102和分布式网络112两者来生成。最终结果或判定可由另外的服务诸如协调服务118来分析,以确定最佳结果或判定。最佳结果或判定可由客户端102达到,由分布式网络112达到,由客户端 102和分布式网络112两者达到,或者由客户端102和分布式网络所达到的结果的组合来达到。然后,改进的结果或判定可以提供给客户端设备102、分布式网络112或两者。在实施例中,改进的结果可以是给定正在被处理的数据的情况下最可能的结果,具有最高置信度的结果是正确的,和/或可以是对标识正确结果的另外动作(例如,提示用户选择正确的结果)的判定。在实施例中,客户端设备102可以基于由协调服务118确定的最终结果来执行动作。
一般地,客户端设备102包括信号路由器104、客户端数据106和本地服务108。信号路由器接收一个或多个数据。数据可以包括用户请求或查询、命令或任何其他类型的数据。该数据可由用户输入生成,例如通过语音或用户与客户端设备102的用户输入组件的交互。数据还可以通过其他设备组件来生成,诸如设备时钟、加速度计、GPS组件和/或作为客户端设备102 的部分的任何其他软件或硬件组件。在另外的实施例中,数据可由客户端设备102经由网络从远程设备接收。在接收到数据时,信号路由器104可以判定数据是否应当发送给分布式网络112。在做出该判定时,信号路由器可以判定将全部接收到的和/或生成的数据、接收到的和/或生成的数据的子集发送到分布式网络112,或者不将任何接收到的和/或生成的数据发送到分布式网络112。在实施例中,是否发送数据的判定可以基于策略,诸如隐私策略,客户端设备102和/或分布式网络112能力、用户请求和/或协议要求。本领域技术人员可以意识到,其他的客户端侧决策可由于各种原因做出,以限制何种数据发送到分布式网络112。无论信号路由器104判定为是否提供数据、或数据的子集到分布式网络112,信号路由器可以将数据提供给本地服务108进行处理。在实施例中,调用哪个本地服务处理数据的判定可以通过信号路由器或者通过作为客户端设备操作系统的部分或以其他方式与本地服务相关联的控制器来做出。
本地服务108可以包括驻留在客户端设备102上的一个或多个服务,诸如服务108A-C。本地服务可以是软件(例如,应用、过程等)、硬件编码功能、或硬件和软件的组合。本地服务108提供处理数据的能力,从而做出判定、生成结果、执行数据转换、执行动作或以其他方式分析数据。示范性的本地服务108可用于根据作为客户端设备102的部分的组件或应用的要求来得出推断、标识命令、执行动作、生成警告、监视订阅、执行语音识别、或以其他方式处理数据。本领域技术人员将意识到,任意数量的本地服务108可以驻留于客户端设备102上,如图1所示的本地服务1 108A至本地服务N 108C所示的。此外,本领域技术人员将意识到,本地服务108所采用的过程可以根据接收到的数据的类型、本地服务涉及的应用或组件、用户请求等而变化。因此,客户端设备102上的应用可以提供其自身的一个或多个本地服务,其能够添加到一组本地服务108以根据应用要求来处理数据。本文公开的实施例因此允许有通过添加新的应用和/或经由软件更新来修改的本地服务的动态库。
在实施例中,本地服务108可使用客户端数据106来辅助处理数据。在实施例中,客户端数据106包括驻留于客户端设备102上或以其他方式对于客户端设备102为可用的全部数据。示范性的数据包括但不限于,设备位置、用户联系人、设备用途(例如,所访问的网站、呼叫的电话号码、一些动作的时间等)、设备组件信息(例如,蜂窝信息、GPS信息、加速度计数据)、第三方应用数据(例如,本地应用数据、可以包含语法和/或提示的第三方知识库)等。在实施例中,第三方应用可以提供有关其可以执行的动作类型或其能够满足的用户意图的指示。该指示可用于辅助确定本地和/或远程语音系统如何处理数据和/或对结果进行路由。在具体的实施例中,一些而不是全部的客户端数据106可与分布式网络112共享。例如,由于隐私限制或设备能力,将全部的客户端数据106发送到分布式网络112 可能不是最优的。隐私限制可禁止客户端设备102传送某些数据,诸如用户联系人、已进行的电话呼叫、设备位置等。在其他实施例中,该信息可发送到分布式网络112。隐私限制可通过用户、通过法律或法规、或者通过第三方如网络载体(network carrier)来选择和施加。在其他实施例中,隐私限制可基于设备类型来选择。例如,用于起居室设备诸如游戏控制台的隐私限制,可能不同于用于电话的隐私限制。不同的限制可由用户来确定或者通过应用和/或服务提供商自动地确定。此外,设备能力可以禁止特定类型的客户端数据106的共享。例如,通过某些设备组件(诸如加速度计) 生成的数据的量可能要求大量的带宽来传输数据到分布式网络112。该限制可能会耗尽设备电池(通过要求持续的连接来执行大量的数据传输)或者会导致增加金钱成本来购买额外的数据(例如从蜂窝载体)。此外,一些客户端数据106可以在客户端设备106上更高效地处理。在这些情形下,本地服务108可以更好地被安置(situate)以充分利用客户端数据106来处理数据。
分布式网络112可以包括远程数据114以及远程服务116,诸如远程服务116A-C。在实施例中,分布式网络112可以接收由信号路由器104确定的数据的至少一个子集。分布式网络可以调用一个或多个远程服务116来与设备102的本地服务108并行地、作为附加地、同时地或者基本同时地处理接收到的数据。在实施例中,远程服务116可在处理接收到的数据时充分利用分布式网络112的更大的计算能力。远程服务116也可以使用远程数据114来辅助对从客户端设备102接收到的数据的处理。远程数据114 可以包括设备不可用的数据,诸如来自第三方源的数据(新闻提供商、股票数据、航班数据等),以及太大而不能存储在客户端设备102上的语言语法(例如,电影列表、电视节目、城市名称、用户可能请求动作的不同方式,等等)。
在给定本地设备102与分布式网络112之间的处理能力的差别的情况下,本地服务108和远程服务116可以具有不同的能力,并且对可被充分利用来处理数据以基于从客户端设备102接收到的数据做出判定或者生成结果的不同数据源具有访问权。这会使得通过本地服务108或者远程服务 116来生成不同的判定或结果。然而,因为本地服务108和远程服务116两者都可以处理相关数据,所以本地服务108和远程服务116可以交换它们生成的任何数据、结果和/或判定,使得其他服务可以进一步处理交换的数据以确认、更新或以其他方式生成更佳的结果和/或判定。数据可以实时地 (例如,当用户正在讲话或打字时,等等)交换,或者在输入信号已经完全输入之后但是在完成最终分析之前交换数据。在这样做时,混合客户端/ 服务器系统100充分利用本地设备102和分布式网络112两者的独特的数据和能力,响应于由本地设备102标识和/或生成的用户动作、用户查询、用户请求或事件来做出改进的判定并且提供改进的结果。
在实施例中,在生成结果和/或判定时,客户端设备102和分布式网络 112可以将结果发送到协调服务118。在实施例中,协调服务可以分析来自本地服务108和远程服务116的结果以确定最终的结果和/或判定。在实施例中,协调服务118可以分析机器学习(例如,在短语&词语层级、域、n 最佳列表重叠处(overlap of n-best list)由本地和/或远程服务生成的结果的置信度)、当前用户状态(近期他们采取了何种动作、他们是否正在驾驶,等等)、神经网络、排名系统、计分系统、置信系统、高斯模型、分类模型和/或采用任何其他类型的算法、模型和/或基于规则的机制来基于从本地服务108和/或远程服务116接收到的结果来生成最终结果。本领域技术人员将意识到由协调服务118所采用的算法或模型的类型可以根据从本地服务 108接收到的结果或判定的类型或者基于将被请求的动作或输出的类型而变化。在实施例中,在拾取最终的一个或多个结果时,协调服务118可以将结果返回客户端设备102。在实施例中,最终结果的列表可能被区分优先次序。在另外的实施例中,最终结果可以随着可用于判定最终意图的以对话形式的信息或其他UX输出一起发送。在接收到来自协调服务118的最终结果时,客户端设备102可以执行动作,存储结果,或者基于接收到的结果来生成用户体验。
虽然本文关于图1所描述的实施例已经关于协调服务118根据从本地服务108和/或远程服务116接收到的结果确定最终结果进行了描述,但是在其他实施例中,协调服务118还可以从远程服务116和本地服务108接收初始结果并且基于该初始结果来做出判定。例如,在接收到来自服务之一的结果时,协调服务118可以确定正确的结果已经被标识且提供最终结果,而不等待来自其他服务的初始结果。在实施例中,因为通过客户端设备102接收到的数据可能已经通过期待实时回应的用户来提供,所以协调服务118可标识出迟滞,诸如来自本地服务108或远程服务118之一的延迟的回应,并且生成最终结果以确保用户以及时的方式接收回应。在又一实施例中,协调服务118可以判定是否应当将初始结果在本地服务108与远程服务116之间共享。例如,来自本地服务108的结果可以包括由于隐私策略而不应当被分发的数据。在这样的实施例中,协调服务118可以禁止结果被传输到分布式网络112或者对初始结果进行抽象以去除任何受保护的数据且将经抽象的结果发送到分布式网络。然而,在其他实施例中,远程服务116和本地服务108可以判定是否应当将初始结果共享。
已经描述了示范性的混合客户端/服务器系统,本公开现在将描述通过客户端设备和分布式网络进行共享数据处理的示范性的方法。图2是使用混合客户端/服务器架构(诸如图1所示的架构)进行共享处理数据的方法 200的实施例。由于本文公开的系统和方法的共享本质,图2描绘了由客户端设备以及远程设备(诸如分布式网络上的服务器)两者执行的操作。在图示的实施例中,操作202-216由客户端设备(诸如客户端设备102(图1))来执行,而操作218-226可以通过服务器计算机(其是分布式网络(诸如分布式网络112(图1))的部分)来并行地、作为附加地、同时地或者基本同时地执行。
流程开始于操作202,其中客户端设备接收一个或多个数据。在实施例中,该一个或多个数据可以由用户动作生成,用户动作诸如用户与设备的输入组件(例如,小键盘、触摸屏或用于识别语音和/或音乐的麦克风,以及其他组件)的交互。在替代实施例中,在操作202处接收到的一个或多个数据可通过客户端设备的组件、驻留于客户端设备上的应用和/或通过与客户端设备通信的远程设备或应用来生成。在实施例中,流程同时或者基本同时地继续到操作204和206。在操作204处,对发送数据的至少一个子集到分布式网络以便进行共享处理做出判定。在实施例中,如果数据不包含私有数据,不要求对于作为分布式网络的部分的远程服务为不可用的能力,并且传输不是资源密集的,则可以在操作204处发送给分布式网络。在替代实施例中,关于要发送的数据的类型的判定可以在操作206期间做出,这将在下文进行进一步详述。在操作218处,分布式网络接收数据或至少数据的至少一个子集。在替代的实施例中,操作204和206可顺序地执行。
在实施例中,关于在操作204中何种数据发送给分布式网络而进行判定的同时,客户端设备还可以在操作206处开始处理接收到的数据。在实施例中,在操作202处接收到的数据可以涉及用户请求。通常期望尽快提供对用户请求的回应以增强用户体验。因此,在接收到数据时,方法200 在实施例中提供在客户端设备处对数据的立即处理,同时关于数据是否应当由分布式网络处理做出判定。在实施例中,在操作206处,可通过驻留于客户端设备上的一个或多个本地服务来处理信号。本领域技术人员将意识到,在操作206处执行的处理可以基于在操作202处接收到的数据的类型而不同。例如,在实施例中,在操作206处处理信号可以执行动作,生成推断,触发警告,执行语音识别,或者执行任何其他类型的动作或计算。在操作206处执行的处理的示范性的实施例将在下文中关于图5-11进行进一步详述。在实施例中,在操作206处,本地服务可能能够使用客户端数据和组件来处理数据。
在客户端设备在操作206中处理数据的同时,分布式网络可以在操作 220中处理数据的至少一个子集。在实施例中,数据的子集包括在操作202 中接收到的数据中的一些而不是全部。类似于操作206,本领域技术人员将意识到,在操作206处执行的处理可以基于在操作202处接收到的数据的类型而不同。例如,在实施例中,在操作206中处理数据可以执行动作,生成推断,触发警告,执行语音识别,和/或执行任何其他类型的动作或计算。下文将关于图5-11进一步详述在操作206中执行的处理的示范性的实施例。在实施例中,在操作220,一个或多个远程服务可使用由分布式网络提供的远程数据和/或增强的处理能力来处理数据的子集。因此,通过在操作206和220中分别由设备和远程设备并行地、作为附加地、同时地、或者基本同时地执行的处理,充分利用不同的数据集和/或能力来生成有关在操作202处接收到的数据的结果或判定。
关于操作206,随着客户端设备利用本地服务处理信号,其可以生成一个或多个结果。在实施例中,结果可以是在操作206执行过程中生成的初始结果。在操作208处生成和提供的结果可以是由本地服务生成的判定或结论。在另外的实施例中,结果可以是由本地服务在处理数据的同时标识或以其他方式生成的命令、提示或数据。在操作208中,初始结果可提供给远程设备。如本文所使用的,术语“初始结果”可以是指部分判定和/或不完全分析。在其他实施例中,术语“初始结果”可以是指在进一步处理时可能变化的最初判定或分析。类似地,在操作222中,远程服务也可以生成初始结果。初始远程服务结果(本文还称为“远程结果”)可以是部分结论、判定、命令、提示等。初始的本地和远程服务结果可以由于对于不同处理为可用的处理能力以及数据的差别而不同。在实施例中,操作208 和222允许客户端设备和分布式网络在结果生成时发送结果。换言之,数据可以在生成时交换,而无需本地服务和/或远程服务在交换数据之前完成。因此,在操作208和222中交换初始结果为本地服务和远程服务提供了将原本可能对于改进数据的处理来说是不可用的数据并入的能力,并且可以进而提供改进的结果。
在交换初始结果时,流程从操作206继续到操作210以及从操作220 继续到操作224。在操作210中,本地服务结果(本文还称为“本地结果”) 是用初始远程服务结果来更新的。在一个实施例中,用初始远程服务结果更新本地服务结果可能要求客户端设备利用初始远程服务结果作为额外的输入来重新处理数据和本地服务结果。在这样的实施例中,在操作206中执行的本地服务可以利用由初始远程服务结果提供的额外数据来再次执行。在另外的实施例中,在一个或多个本地服务仍处理数据的同时,可以接收初始远程服务结果。在这样的实例中,一个或多个本地服务可以在完成之前处理初始远程服务结果,从而更新本地服务结果,而无需用初始远程服务结果重新处理数据。在实施例中,在操作210中更新本地服务结果可使得生成中间的本地服务结果。
类似地,在操作224中,用初始本地服务结果来更新远程服务结果。在一个实施例中,用初始本地服务结果更新远程服务结果可能要求服务器设备利用初始本地服务结果作为额外的输入来重新处理数据、数据的子集和远程服务结果。在这样的实施例中,在操作220中执行的远程服务可以利用由初始本地服务结果提供的额外的数据来再次执行。在另外的实施例中,在一个或多个远程服务仍处理数据的同时,可以接收初始本地服务结果。在这样的实例中,一个或多个远程服务也可以在完成之前处理初始本地服务结果,从而更新远程服务结果,而无需重新处理数据和初始远程服务结果。在操作224中更新初始远程服务结果之后,流程继续到操作226,在操作226中,将中间的远程服务结果提供给客户端或另外的组件或过程,诸如协调服务(例如,协调服务118(图1))或仲裁器,这将在下文结合图8-11进行进一步详述。在实施例中,中间的远程服务结果可以是在从本地设备接收到初始结果之后以其他方式生成、更新或重新处理的判定、结果、命令、提示或数据。
返回设备操作,在操作210中更新本地服务结果之后,流程继续到可选的操作212。在操作212中,中间的本地服务结果可与中间的远程服务结果进行比较。在实施例中,可利用中间的远程服务结果作为额外的输入,再次执行一个或多个本地服务。在另一实施例中,可以利用机器学习、神经网络、排名系统、计分系统、置信系统、高斯模型、分类模型来执行比较,或者采用任何其他类型的算法或模型来根据一组中间结果生成最佳结果。下文参考图3更详细说明操作212。
流程继续到操作214,在该操作中客户端设备生成最终结果。该最终结果可以是在操作206或210中生成的本地服务结果之一。在其他实施例中,最终结果可以是在可选的操作212中生成或标识的结果。在其他实施例中,不是在操作214中生成最终结果,而是客户端可以从例如协调服务或远程设备接收最终结果。在实施例中,最终结果可包括单个结果、多个结果或者结果的网格(lattice)。
流程继续到操作216,在该操作中设备基于在操作214中生成的最终结果来执行动作。本领域技术人员将意识到,动作的类型取决于在操作214 中生成的结果。例如,设备可以执行动作(例如,执行web搜索,呼叫联系人或者对联系人进行文本编辑、显示地图、进行预定,更新配置文件信息,等)。在其他实施例中,如果在操作214中确定了需要澄清的多个结果,则在操作216中,设备可以向用户显示多个结果并且允许用户选择正确的结果。
虽然图2图示出客户端与远程设备之间的结果的单次交换,但是在实施例中,远程设备和客户端可以多次交换结果和/或执行更新的处理,直到客户端和远程设备中的一者或两者确定已经达到满意的结果。在另外的实施例中,根据接收到的数据的类型,可以执行多次数据交换作为处理操作 206和220和/或更新操作210和224的部分。例如,如果接收到的数据要求语音识别,则客户端和远程设备两者都可以执行语音识别并且交换它们的初始结果。在接收到初始结果时,客户端和远程设备两者都可以更新它们的结果。除了更新结果之外,客户端和远程设备还可以执行额外的处理,诸如域检测。通过域检测生成的结果可以随后在客户端与远程设备之间交换,此时,每一方将再次更新它们的结果。在完成域检测时,客户端和远程设备两者可以再次处理结果来执行进一步的语言理解。例如,客户端和远程设备可各自分析它们的结果来执行意图检测、上下文判定、实体检测和数据库查找。来自该额外分析的结果还可以在客户端和远程设备之间交换,从而允许各方进一步基于个体的判定来更新结果。因此,本领域技术人员将意识到可以调用多个本地和远程服务,并且在方法200执行期间可以发生多次交换。
图3是生成最终结果的方法300的实施例。在实施例中,方法300可以通过协调服务或仲裁器来执行。方法300可通过客户端设备、通过可能是分布式网络的部分的远程设备(例如,服务器)或者通过既不是分布式网络的部分也不是客户端的另一远程设备来执行。在实施例中,在图3中所描述的操作可以在图2的操作212或214中来执行。流程在操作302开始,在操作302接收到第一结果。在实施例中,第一结果可以来自客户端设备(例如,通过本地服务生成)或分布式网络(例如,通过远程服务生成)。流程继续到判定操作304,其中方法300判定第二结果是否被接收到的。在实施例中,第二结果可从客户端或远程设备接收到。如果第二结果没有接收到,则流程分支到“否(NO)”到操作306。
在操作306中,方法300判定等待时间是否已到期。在实施例中,结果可以响应于用户请求而生成。在这样的实施例中,如果做决策过程挂起或者用户必须等待长时间来得到结果,则用户体验降级。在这样的实施例中,即使已经接收到其他结果,也可以仅利用第一结果来生成最终结果,从而最小化用户等待时间。等待时间可以预先确定,或者可以基于请求的类型或正在生成的结果的类型[based on the type or request or type ofrequest being generated]而动态地确定。如果等待时间没有到期,则流程分支到“否”并且返回决策操作304。
如果等待时间已经到期,则流程分支到“是(YES)”到操作308,在该操作308中,可以仅利用第一结果来生成最终结果。在实施例中,生成最终结果可能要求对第一结果执行额外的操作。在其他实施例中,生成最终结果可以包括选择未经修改的初始结果作为最终结果。流程继续到操作 312,其中最终结果被提供给客户端设备、分布式网络中的远程设备、不是分布式网络的部分的其他远程设备、和/或由本地设备、分布式网络中的远程设备以及其他远程设备组成的组合。
返回操作304,如果已经接收到第二结果,则流程分支“是(YES)”到操作310。在操作310中,基于第一结果和第二结果生成最终结果。在一个实施例中,生成最终结果可以包括:将第一结果和第二结果提供给过程或算法来基于第一结果和第二结果生成新的最终结果。在另一实施例中,生成最终结果可以包括选择第一结果或第二结果中的一个作为最终结果。该选择可以基于机器学习、神经网络、排名系统、计分系统、置信系统、高斯模型、分类模型来确定,或者采用任何其他类型的算法或模型来选择最佳答案。在生成最终结果时,流程继续到操作312,在该操作312中,最终结果提供给客户端设备、提供给可以是分布式网络的部分的服务器,或者提供给两者。
虽然图3已经被描述为接收两个结果,在另外的实施例中,多于两个的结果可用来生成最终结果。另外地,多个本地服务和/或远程服务可用于处理数据。本文所描述的实施例可用于以基本同时的方式在执行于设备和/ 或分布式网络上的多个服务之间交换数据。例如,通过设备上的麦克风接收到的输入可由本地语音识别过程、本地音乐识别过程、远程语音识别过程和/或远程音乐识别过程来处理。本文公开的实施例可用于在同时执行的多个过程之间交换结果。在另外的实施例中,在操作308或310中生成的最终结果可进一步被处理、分析或者与其他结果组合以生成额外的和/或改进的最终结果。
已经描述了代表了操作中的通用混合客户端/服务器架构的系统和方法,本公开现在将描述可利用混合客户端/服务器架构来采用的另外的实施例。可能期望的是将某些信息维持在客户端设备上。这样的信息可能涉及个人用户信息,比方说例如,用户的联系人、约会和/或在一天的任何既定时间的位置。然而,个人数字助理应用的执行可通过标识出用户的某些特性诸如所喜欢的、所不喜欢的和/或习惯来改进。个人数字助理的功能可通过提供如下的机制来进一步扩增:其中个人数字助理可以标识出这样的特性,而不必请用户明确地提供和/或定义特性。这样做允许个人数字助理应用随时间推移而学习用户,以及针对用户行为的变化进行调节。可采用各种推断服务来基于用户与客户端设备的交互、用户位置、用户的常用联系人等来标识和更新有关用户的特性。然而,客户端设备经常缺乏精确地得出这样的推断所需的资源(例如,处理能力、可用的存储器等)。另一方面,分布式网络具有确定这些推断的资源,但是没有做出推断所需的用户数据,这些数据可能驻留于客户端设备上。使得问题进一步复杂化的是,由用户限定的或按法律限定的隐私策略可能禁止做出这样的推断所需的个人数据被传输到远程设备。混合客户端/服务器架构可被采用,在维持用户数据的隐私的同时提供得到推断所需的资源。
图4是混合客户端/服务器系统400的实施例。混合客户端/服务器系统 400可以包括客户端设备402以及分布式网络410,它们经由通信网络410 来通信。虽然系统400可以包括如在图1的混合客户端/服务器系统100中所描述的类似的组件,为图示简单,与图1所提供的说明类似的方式操作的组件(例如,图1的信号路由器104)没有被包含在图4中。在实施例中,客户端设备402包括一个或多个推断服务,诸如本地推断服务404。在实施例中,本地推断服务404接收客户端数据406作为输入。客户端数据406 包括诸如在特定时间点的设备位置、用户联系人信息、用户的安排或约会和/或其他类型的个人输入等数据。因为本地推断服务404位于设备402上,所以客户端数据406保持在客户端设备402上,并且因此,当客户端数据 406被本地推断服务404访问时,没有违反隐私限制。本地推断服务404对客户端数据406进行操作来生成本地推断。本领域技术人员将意识到,根据要确定的推断的类型,可以在设备404上采用许多不同类型的推断服务。例如,可采用本地推断服务来标识喜爱的位置,同时联系人推断服务能够被采用来标识喜爱的联系人。推断服务的操作可基于服务的类型而不同。
作为示例,在客户端设备上的位置服务可以有规律地在一天之内的不同时点跟踪用户的位置。在获取了足够量的位置数据之后,位置服务可以基于时间和位置来生成位置推断。如果在确定的时间段(例如,一个月) 内,用户的设备在夜间有规律地位于特定位置,则本地推断服务404可以判定该位置是用户的家。在其他实施例中,判定可不基于时间,而是基于置信值来确定需要多少数据来做出精确的判定。本领域技术人员将意识到,在不偏离本公开的精神的前提下,判定可基于任意数量的因素。类似地,如果用户在日间有规律地位于特定的位置,则推断服务404可以判定该位置是用户的工作场所。作为另一示例,如果用户经常呼叫特定联系人、与特定联系人通过电子邮件和/或写文本来通信,则推断服务可确定该联系人为家庭成员、朋友或原本应当添加到喜爱列表的联系人。虽然本文描述了本地推断服务的具体示例,但是本领域技术人员将意识到,可采用不同类型的推断服务,而不偏离本公开的精神。
虽然本地推断服务404能够从用户的个人数据和喜欢得出有限的推断,但是本地推断服务404经常缺乏得出完整推断的能力。例如,本地推断服务404可以将特定的位置标识为用户的家或工作场所,但是它可能不能够标识出家庭地址或者用户营业地点。然而,在分布式网络412上的远程推断服务414,诸如远程推断服务414A-C,可以足够精准和/或具有生成更完整推断所需的数据。在实施例中,由本地推断服务404生成的推断可以被抽象以去除个人数据并且经由通信网络410或协调服务418发送到远程推断服务414。在一个实施例中,本地推断服务404可以生成抽象结论并且发送请求以获得来自远程推断服务414的进一步的推断。在其他实施例中,协调服务可以生成抽象。在替代的实施例中,本地推断服务可以确定位置,但是不能够将其标识为家或工作场所,直至接收到来自远程推断服务的额外的信息为止。例如,如果位置推断服务判定用户在被远程推断服务(或本地推断服务)表明其是购物商场的位置度过夜晚,并且在被远程推断服务(或本地推断服务)表明其为居住区域的位置度过白天,则本地推断服务404可以判定用户在夜间工作,并且商场是用户的工作地,而白天位置是用户的家。
返回家庭和工作场所的示例,与用户的家相关联的位置可以从提供给远程推断服务414的推断或数据中提取。在将位置信息发送给远程推断服务414之前,可从位置信息中除去任何个人数据(诸如关于该位置是用户家的指示)。然后,远程推断服务404可以充分利用远程数据416来得出有关位置信息的进一步的推断和/或结论。在实施例中,远程数据416可以包括现实世界数据,诸如但不限于,地图数据、地址簿、第三方记录等。远程推断服务414可以交叉引用自本地推断服务404抽象的数据与远程数据 416,从而关于位置推断提供额外的信息和/或得出额外结论。例如,远程推断服务414可以对位置信息执行逆地理码查找以确定用户家和/或工作场所的地址。在示例的扩展中,该地址随后可以与地址数据存贮进行交叉引用以确定用户工作场所的名称。通过使用混合架构,对于客户端设备402不可用的额外的信息可被推断出,而无需将任何个人数据从客户端设备402 传输到分布式网络412。
通过远程推断服务414确定的额外的推断数据可以提供给协调服务 418。协调服务418可以将本地推断服务404生成的本地推断与远程推断服务414生成的额外的推断信息进行组合,以创建更新的推断。协调服务418 随后可以将更新的推断存储到用户配置文件420中。例如,通过推断信息的组合,用户配置文件420可更新以表明他们居住在华盛顿州Redmond, ABC街道123号,并且用户在微软公司工作。
更新的用户配置文件420可以存储在客户端设备402上。在替代的实施例中,用户配置文件可以存储在分布式网络中,或者部分地存储在分布式网络和所述设备中。客户端设备402上的用户体验(UX)生成器408可使用来自更新的用户配置文件的信息来提供更好的用户体验。例如,因为用户配置文件表明用户工作在微软公司,所以UX生成器可以自动向用户显示有关微软公司的新闻故事,在早晨和/或晚上自动显示用户家与微软公司之间的地图和/或交通信息,等等。因此,以及除了其他益处之外,混合客户端/服务器推断系统400克服了之前确定的隐私限制以及设备局限性,来提供个人数字助理持续地学习用户以及因此为用户提供更相关且更需要的信息的能力。
图5是利用混合客户端/服务器架构生成推断的方法500的实施例。由于本文公开的系统和方法的共享本质,图5描绘了在分布式网络上通过客户端设备和计算设备诸如服务器执行的操作。在图示的实施例中,操作 502-512是由客户端设备执行的,诸如客户端设备402(图4),而操作514-516 可与由作为分布式网络(诸如分布式网络412(图4))的部分的服务器计算机并行地、作为附加地、同时地、或者基本同时地执行。虽然图5图示出具体的次序,本领域技术人员将意识到,本文公开的系统和方法可以采用其他类型的次序。例如,数据可源自于分布式网络,源自其他设备,或者源自分布式网络、设备和/或其他设备的组合。
流程从操作502开始,其中客户端设备接收一个或多个数据。在实施例中,一个或多个数据可通过设备组件(例如,GPS信号,呼入电话或电子邮件,等)生成,或者通过用户动作(诸如用户与设备的输入组件(例如,小键盘、触摸屏、用于标识语音的麦克风)的交互)来生成。在可替代的实施例中,在操作502处接收到的一个或多个数据可通过客户端设备的组件生成,通过驻留于客户端设备上的应用生成,或者通过与设备通信的远程设备或应用生成。在实施例中,流程继续到操作504。在操作504中,做出判定,数据不能发送到本地设备。在实施例中,数据不能发送到远程设备,因为其包含有被用户偏好或隐私法禁止从设备中传出的受保护或隐私数据。
流程继续到操作506,在该操作中通过一个或多个本地推断服务来处理数据以生成一个或多个本地推断。如之前所述,用于生成这样的推断的处理可根据所确定的推断、接收到的数据的类型和/或推断类型和数据类型的组合而不同。例如,关于图4所描述的家和工作场所推断可以在操作506 中生成。在操作506中生成一个或多个推断之后,流程继续到决策操作508,在该操作中对本地推断是否应当发送到远程服务以便进一步处理做出判定。例如,在实施例中,本地推断可以包含不能被抽象或泛化的隐私信息。在这些情况下,流程分支“否(NO)”到操作510,其中本地推断被保存到用户配置文件,可以访问用户配置文件以提供增强的用户体验。
另一方面,如果在操作506中生成的本地推断不包含受保护或隐私信息,或者如果本地推断可被进一步抽象或泛化以去除受保护的或隐私数据,则本地推断数据被发送到远程设备,并且流程分支“是(YES)”到操作514,在操作514,可以是分布式网络的部分的诸如服务器的远程设备接收本地推断数据。在实施例中,本地推断数据可以是通过本地推断服务生成的结论或结果和/或与结论或结果相关的数据,诸如地址、标识符、名称、话题(例如,体育、新闻类别等)。流程继续到操作516,在该操作中,可通过驻留于远程设备上和/或在分布式网络中的一个或多个远程推断服务来处理本地推断。在实施例中,分布式网络中的远程推断服务可以对客户端设备不可用的额外的数据(例如,远程数据416(图4))和/或服务(例如,逆地理码查找)具有访问权。远程推断服务可以处理本地推断以标识与本地推断相关联的额外的信息(例如,地址、工作场所名称、关系)。在其他实施例中,远程推断服务可以标识与本地推断相关的其他类型的服务(例如,地图/交通数据,新闻源,第三方资源,等等)。在操作516中通过远程推断服务进行的处理可以生成更新的推断或者确定可能与推断相关联的额外的信息(例如,到新闻源或第三方资源的连接)。在操作518中,与本地推断相关的经更新的推断和/或信息可发送给客户端设备,其中经更新的推断被保存到用户配置文件,可访问该用户配置文件以提供增强的用户体验。
混合客户端/服务器架构还可以被采用来基于设备本地的订阅和存储在分布式网络中的订阅来创建复合的、或混合的订阅服务。在实施例中,订阅可以是这样的服务:其采集用户可能感兴趣的信息且自动地提供警告和/ 或信息给用户,而无需用户手动搜索信息。示范性的本地订阅包括但不限于,本地闹钟(local alarm)、位置监视(例如,当设备越过地理围栏时生成警告)、日历提醒等。示范性的远程订阅包括但不限于,订阅新闻源或体育计分,股票市场更新、订阅第三方服务(例如,监视航班状况以自动通知用户他们的航班是否延迟的服务)、交通更新,等等。一般地,本地设备订阅不涉及远程订阅。通过标识本地订阅和远程订阅以标识本地订阅与远程订阅之间的关系,可以增强个人数字助理应用。个人数字助理应用能够生成混合订阅,混合订阅自动地将不同的订阅相关联以提供增强的订阅服务。例如,可以创建将在用户当前地点有新闻价值的事件通知给用户的混合服务。
例如,混合订阅可以由监视用户位置的本地订阅和对新闻源的远程订阅构成。混合订阅可以创建提供来自新闻源的与用户的当前位置相关的新闻文章的订阅。通过混合订阅输送的内容可以随着用户的行进而动态地变更。在另一实施例中,混合订阅可以将多个远程和/或本地订阅相互关联。例如,如果用户具有对交通数据和航班状况的远程订阅以及监视用户当前位置的本地订阅,则混合订阅可以将三个订阅组合成混合订阅,该混合订阅基于交通信息生成警告,告知用户她应当何时出发去机场来确保她不会错过她的航班。虽然已经描述了混合订阅的具体示例,但是本领域技术人员将意识到,利用混合客户端/服务器架构可以生成其他类型的混合订阅。在实施例中,本地订阅和远程订阅可以利用类似的逻辑来构造,从而允许将各种订阅组合成混合订阅。
图6是能够构成混合订阅的混合客户端/服务器系统600的实施例。混合客户端/服务器系统600包括经由通信网络612通信的客户端设备602以及分布式网络614。在实施例中,客户端设备602包括包含有一个或多个本地订阅(例如,604A-C)的本地订阅集合604。如之前所述,示范性的本地订阅包括但不限于,本地闹钟、位置监视(例如,当设备越过地理围栏时生成警告)、日历提醒,等等。在实施例中,客户端设备602还可以包括本地流处理器(local stream processor)606。本地流处理器可以监视来自订阅集合604和客户端数据608的一个或多个订阅以判定订阅事件何时发生的。客户端数据608可以包括涉及客户端设备602的基于用户的位置、用户输入、设备时间等的信息。在实施例中,本地服务609可用于填充 (populate)和/或生成客户端数据608,如关于图1所描述的。流处理器606 将客户端数据608与设备订阅集合604进行比较以判定本地订阅事件何时已发生。本地订阅事件的示范性的例子是判定设备已经越过地理围栏。本领域技术人员将意识到,流处理器可采用各种不同的方法来判定本地订阅事件是何时发生的。当订阅事件被标识时,流处理器606执行由订阅事件所标识的动作,诸如生成警告。警告可提供给用户体验(UX)生成器610 以向用户提供通知。
在实施例中,分布式网络614包括包含有与用户相关的一个或多个订阅(例如,订阅616A-C)的远程订阅集合。如之前所述,示范性的远程订阅包括但不限于,对新闻源或体育计分的订阅,对股票市场更新的订阅,对第三方服务的订阅(例如,监视航班状况以自动通知用户他们的航班是否延迟的服务),交通更新,等等。分布式网络614还可以包括远程流处理器618,其对于作为远程订阅集合616的部分的远程订阅而监视远程数据 620以标识远程订阅事件。在实施例中,远程数据620可以包括现实世界数据,诸如但不限于,新闻更新、体育计分、股票市场信息或第三方提供的数据,如航班状况。远程订阅事件的示范性的示例是关于用户感兴趣的航班已经延迟或取消的判定。在实施例中,远程流处理器可以生成经由通信网络612输送给本地设备602的远程订阅事件。远程订阅可以输送到UX 生成器610以提供通知给用户。
在实施例中,本地订阅集合604和远程订阅616可以由协调服务622 监视。在实施例中,协调服务622可以标识本地订阅事件与远程订阅事件之间的关系。相关的本地订阅和远程订阅可以通过协调服务622组合成一个或多个混合订阅624。在生成一个或多个混合订阅624之后,协调服务可以监视本地流生成器606和远程流处理器618生成的事件以确定混合订阅条件何时被触发。当混合订阅被触发时,通知可输送到UX生成器610以将通知提供给用户。
图7图示出用于生成混合订阅警告的方法700的示范性的实施例。流程从操作702开始,其中该方法接收来自客户端设备的本地订阅。如之前所述,示范性的本地订阅包括但不限于,本地闹钟、位置监视(例如当设备越过地理围栏时生成警告)、日历提醒,等等。流程继续到操作704,在该操作中,方法700接收来自一个或多个远程设备的远程订阅。而且,如之前所论述,示范的远程订阅包括但不限于,对新闻源或体育计分的订阅、对股票市场更新的订阅,对第三方服务的订阅(例如,监视航班状况以自动通知用户他们的航班是否延迟的服务)、交通更新,等等。
在接收到本地和远程订阅之后,流程继续到操作706,在该操作中,分析订阅以判定在订阅之间是否存在关系。例如,与新闻输送有关的远程订阅可与监视客户端设备位置的本地订阅相关。可基于新闻订阅包含基于地点的信息的这一事实来确定关系。在实施例中,结构化的表示语言可用于标识本地订阅和远程订阅之间的关系。本地订阅和远程订阅本身可包含结构化表示语言的表达,并且在实施例中,本地订阅和远程订阅中的表达可针对到来的事件的流(例如,来自电话的位置数据、或者现实世界数据的变化——航班状况变化、交通事故、股票报价机移动等)进行评估。当表达中的条件满足时,事件可被提起(raised),在处理器或应用内触发动作(比方说例如协调服务),并且相关的结构化信息可以在那时从客户端设备传递到远程设备(或者反之亦然)。虽然已经在此描述了关系的具体示例,本领域技术人员将意识到,在不背离本公开的精神的前提下,可以标识其他类型的关系。如果不存在关系,则流程分支“否(NO)”且返回操作702,在操作702中接收额外的订阅。
如果存在关系,则流程分支“是(YES)”到操作708。在操作708中,创建混合订阅,其将来自本地和远程订阅的相关数据组合以生成将用户感兴趣的信息相关联以提供额外通知的混合订阅。返回之前的示例,混合订阅可以将来自远程服务的交通数据和航班状况订阅与监视用户当前位置的本地订阅合并以创建混合订阅,该混合订阅将三种订阅组合成能够生成预先警告的复合订阅,诸如基于交通信息通知用户她应当何时出发去机场从而确保赶上她的航班的警告。
流程继续到操作710,在该操作710中,方法监视来自本地和远程流处理器的数据。在决策操作712中,对是否已经基于本地和远程流处理器生成的事件触发混合订阅条件做出判定。如果没有触发混合订阅,则流程分支“否(NO)”且返回操作710,并且对本地和远程流处理器的监视继续。如果混合订阅被触发,则流程分支“是(YES)”到操作714,在操作714中,生成混合订阅警告。混合订阅警告可被输送到客户端设备的UX生成器以提供混合订阅事件的通知给用户。本领域技术人员将意识到,混合客户端/架构允许个人数字助理智能地组合用户感兴趣的信息以提供有用的相关通知,而无需用户识别各种信息源之间的复杂关系。
混合客户端/服务器架构还可以用来执行增强自然语言表达评估。自然语言表达是用户可以提供给客户端设备的命令、请求、查询或其他输入。自然语言表达区别于会受特定规则约束的构造的语言或形式语言,诸如计算机编程语言。换言之,示范性的自然语言表达是在两人之间的对话(口语或书面)所使用的言语。个人数字助理应用的实用性可通过自然语言接口来改善,允许用户利用自然语言表达将查询或请求(口语或书面)提交给个人数字助理应用。这允许用户与个人数字助理应用(或客户端设备) 直观地交互,而不是强迫用户学习看起来是不自然的且用户不熟悉的基于规则的命令结构。此外,自然语言接口允许个人数字助理应用的人格化,这有益于用户与个人数字助理应用之间的促进的交互。
一种执行自然语言识别的方式是使用知识库。自然语言表达能够与知识库进行比较,所述知识库包含如语法等信息,所述信息提供用于确定自然语言表达的含义的指令。一般地,通过使得大的知识库可由语音识别过程访问,有益于语音识别的性能。由于此,客户端设备上的语音识别趋于受限制。诸如智能手机或平板设备的客户端设备简单地不具有足够的存储器来存储用于语音识别的大的知识库,也不具有对着大的知识库来分析自然语言表达所要求的处理能力。由于此,更有效的语音识别应用通常实现为能够使用分布式网络的分布式程序。这是因为,分布式网络具有为语音识别目的而存储和分析大知识库的存储容量和处理能力。然而,存储在分布式网络上的大知识库趋于泛化以便在广泛范围的用户之间使用。由于此,语音识别过程可能难以使用泛化的知识库来标识个体独有的术语,诸如个体经常使用的独特的名称或术语。
另一方面,客户端设备在具有明显小的知识库的同时可以访问个体经常使用的独特的术语,例如,经由对用户联系人存贮(例如,对于姓名)、用户模式和/或可能通常适于为了拼写检查的目的而识别俚语的重复使用的本地词典的访问,或者对客户端设备所独有的其他形式的知识的访问。由于此,驻留于客户端设备上的自然语言评估过程,通过对本地知识库的访问,可以针对于确定独特术语而提供更佳的性能。混合客户端/服务器架构的实施例提供了一种可以使用位于分布式网络上的自然语言评估过程的能力和大的知识库,以及访问在本地自然语言评估过程可访问的本地知识库中可见的独特的术语和使用模式的能力。
此外,本公开的实施例可被充分利用来为第三方开发者提供用来提供专门的知识库来辅助理解对于应用所独有的自然语言表达的能力。开发知识库(比方说例如语法)来辅助语音识别是需要专业技能的复杂的过程。由于此,第三方开发者经常缺乏修改共享知识库所要求的经验和知识,比方说例如分布式网络的知识库。然而,第三方开发者经常具有用户如何与他们的应用交互的专业知识。混合客户端/服务器架构为第三方开发者提供了将特定于可被充分利用来提供引导或提示的应用的第三方知识库(例如,由第三方提供的数据和或规则,第三方语法,第三方提示,等等)分布给位于客户端设备或分布式网络上的语音识别过程。例如,电影应用的开发者可以提供确定自然语言表达“MovieApp观看”或“MovieApp我想要观看”、紧接着电影名称或TV节目的知识库,其中术语MovieApp是应用的名称。除了确定这些短语之外,第三方知识库可以向自然语言评估过程提供提示。在提供的示例中,示范性的提示可以是该短语紧接着电影名称或 TV节目。这些提示可以提供给自然语言评估过程以引导该过程到与电影或 TV节目有关的特定的域、语法或知识库以帮助确定用户所请求的电影或 TV节目。因此,通过允许第三方开发者提供可由客户端设备上的本地自然语言评估过程和远程自然语言评估过程两者用来解释自然语言表达的提示,客户端/服务器架构的实施例进一步增强了自然语言评估(例如,语音识别,文本识别,等等)。这些提示还可以提供关于应用能够执行何种动作的信息(例如,打电话、发送电子邮件,播放电影)等。这类信息可用于对用户意图进行解密,以及其它用途。本领域技术人员将意识到,提示还可以由第一方应用、操作系统等来提供,而不背离本公开的精神。
图8是用于增强NLE评估的混合客户端/服务器系统800的实施例。在实施例中,NLE评估过程可以是语音识别过程或者任何其他类型的能够接收自然语言表达作为输入并且基于该输入来执行动作的过程。混合客户端/ 服务器系统800包括经由通信网络812通信的客户端设备802和分布式网络814。在实施例中,客户端设备804包括确定自然语言表达的信号路由器 804。自然语言表达可以呈文本输入(例如,用户输入自然语言表达)或口语的形式。在实施例中,信号路由器804识别自然语言表达并且将表达发送到本地NLE评估服务806进行处理。信号路由器804还可以将自然语言表达经由通信网络812发送到远程NLE评估服务816以便与本地NLE评估服务806并行地、作为附加地、同时地或者基本同时地处理。
本地NLE评估服务806接收来自信号处理器的自然语言表达并且加载本地知识库808和第三方知识库810。在实施例中,本地知识库808可以包括用户联系人、日历事件、本地目录或任何其他本地数据。本地知识库808 允许本地NLE评估过程806来确定用户所独有的术语,例如,独特的姓或俚语言辞。第三方知识库810可以包含由第三方应用开发者提供的辅助本地识别器806来确定与特定应用有关的言辞的语法和提示。图12和图13 图示出第三方语法的示范性的实施例。例如,图12是用于电影应用的示范性的第三方语法1200的实施例。第三方语法200可以标识标识具体应用的命令前缀1202。例如,命令前缀1202标识应用“MovieApp”。除了标识应用之外,第三方语法可以标识作为相关应用命令的自然语言表达的各个示例。例如,语法1200标识应用“WatchShow”命令1204,随后是指示“WatchShow”命令的示范性的自然语言表达“播放Raising Hope”1206。除了标识示范性的自然语言表达1206之外,第三方语法1200提供提示1208 或指令,以试图解释自然语言表达的引导NLE评估过程。在实施例中,提示不是经典NLE评估系统所采用的约束。反而,提示可以是用来引导NLE评估过程(例如,NLE服务)的信息。图13示出了用于通信应用的又一示范性的第三方语法1300。虽然已经公开了示范性的第三方语法,但是本领域技术人员将意识到,本文可改的实施例可采用其他第三方语法、提示、定义等。例如,第三方语法可被提供给不同类型的应用或者具有除了标记语言文档之外的格式,而不背离本公开的精神。
本地NLE服务806可使用本地知识库808和第三方知识库810来解析并解释从信号路由器接收到的自然语言表达。在本地NLE评估服务806正在处理自然语言表达的同时,它可以将初始结果发送到用户体验(UX)生成器824以向用户显示初始处理结果。另外,本地NLE评估服务806可以与远程NLE服务816共享其初始处理结果,比方说例如,独特联系人姓名或第三方应用提示的标识。
分布式网络814在实施例中可以包括远程NLE服务816,其与本地NLE 服务806并行地、作为附加地、同时地或者基本同时地处理从信号路由器 804接收到的自然语言表达。远程NLE服务816可以使用存储在远程知识库818中的信息。如之前所述,远程知识库可以比本地知识库广泛得多,从而提供远程NLE服务816可依赖以执行增强NLE评估的额外的语法和提示。另外,远程NLE评估服务816还可以接收来自第三方知识库的信息(例如,第三方语法、提示、定义等)其可以在NLE评估过程中使用。因为在实施例中,远程NLE服务816与本地NLE服务806并行地、同时地或者基本同时地处理自然语言表达,所以两个过程可以交换初始结果,每个NLE 评估服务可以并入初始结果来辅助自然语言表达的解释。
混合客户端/服务器NLE评估系统800还可以包括排名服务820。排名服务820可以驻留于客户端设备802上、分布式网络814上、另一设备上、和/或在多个设备之间(例如,在客户端设备802和分布式网络814两者上)。在实施例中,排名器820接收来自本地NLE服务806和远程NLE服务的结果并且融合结果。在实施例中,排名器可以使用机器学习、神经网络、排名系统、计分系统、置信系统、高斯模型、分类模型或采用任何其他类型的算法或模型来融合来自各处理器的结果并进行排名。排名后的结果可以提供给仲裁器822,仲裁器822基于来自排名服务820的结果标识最佳结果或者判定是否存在歧义性。类似于排名服务820,仲裁器822可使用机器学习、神经网络、排名系统、计分系统、置信系统、高斯模型、分类模型或采用任何其他类型的算法或模型来判定结果是否已经达到或者结果是否需要来自用户的澄清。在实施例中,如果结果能够在多个域上进行解释,可能需要澄清。在实施例中,无论仲裁器822已经标识出单个结果或者多个歧义性的结果,一个或多个结果都可以提供给UX生成器822以便呈现给用户。如果存在歧义性,UX生成器822可以提供向用户显示多个结果以及接收来自一系列歧义性结果的正确结果的选择。
混合客户端/服务器NLE评估系统800将具有本地NLE服务806可用的独特知识库的能力与远程NLE服务816的扩大的知识库融合以增强NLE 评估的结果。图9是利用混合客户端/服务器架构进行语言共享处理的方法 900的实施例。由于本文公开的系统和方法的共享本质,图9描绘了可由可作为分布式网络的部分的客户端设备和远程设备诸如服务器执行的操作。在图示的实施例中,操作902-916由诸如客户端设备802(图8)的客户端设备来执行,而操作918-926可通过作为诸如分布式网络814(图8)的分布式网络的部分的远程设备并行地、作为附加地、同时地或者基本同时地执行。
流程从操作902开始,其中客户端设备接收一个或多个自然语言表达。自然语言表达可以是口语言辞或文本表达。在实施例中,流程同时或者基本同时地继续到操作904和906。在替代实施例中,操作904和906可以串行地执行。在操作904中,自然表达可以发送到分布式网络进行处理。为了向用户提供立即的反馈,客户端设备还可以在操作906中利用一个或多个本地NLE服务在本地开始处理自然语言表达。在替代的方面中,作为 NLE评估器的的替代或者附加,来采用其他类型的识别过程(例如,音乐识别过程、文本识别过程、翻译过程等)。本地NLE服务可使用独特的本地知识库和/或第三方提供的知识库来解释自然语言表达。在本地处理期间,通过一个或多个本地语音识别过程生成的初始本地判定可以在操作908中提供给一个或多个远程NLE服务。将结合图11更详细描述通过在操作906 和908中执行的本地NLE评估过程执行的处理的实施例。
在客户端设备正在操作906中处理自然语言表达的同时,远程设备可以在操作920中并行地、作为附加地、同时地或者基本同时地执行自然语言表达。在实施例中,远程NLE评估服务可使用分布式网络提供的扩展远程知识库和/或增强的处理能力来在操作920中处理数据的子集。因此,在操作906和920中通过设备和远程设备并行地、作为附加地、同时地或者基本同时地执行的处理分别充分利用不同的知识库和能力来生成有关在操作902中接收到的自然语言表达的结果或解释。此外,在操作906中通过客户端NLE评估服务以及在操作920中通过远程NLE评估服务生成的初始结果可以交换,如操作908和922所示。因此,在操作908和922中交换初始结果为本地NLE服务和远程NLE服务提供了合并基于否则不能为不同服务可用的不同的知识库的解释的能力,从而改善本地和远程NLE服务的语音识别。
使用交换的初始结果,流程从操作906继续到操作910以及从操作920 继续到操作924。在操作910中,本地解释可以基于自然语言表达的初始远程解释来更新。在实施例中,用初始远程解释更新本地解释可能要求客户端设备利用初始远程服务结果作为本地NLE服务的附加来重新处理数据和本地服务结果。在这样的实施例中,在操作906处执行的本地NLE服务可利用远程NLE服务提供的解释再次执行。在进一步的实施例中,在一个或多个本地NLE服务仍在处理自然语言表达的同时,接收初始远程解释。在这样的实例中,一个或多个本地NLE服务可在完成之前另外地处理初始远程解释,从而更新本地服务结果,而不必根据初始远程判定来重新处理自然语言表达。在实施例中,在操作920中更新本地服务结果可以导致生成中间本地解释。
类似地,在操作924中,可以用初始本地解释来更新初始远程解释以生成中间远程解释。在操作924中更新了初始远程NLE评估服务结果之后,流程继续到操作926,在该操作926中,中间远程NLE评估服务结果被提供给客户端和/或另一组件或过程,诸如排名服务和/或仲裁器。
返回设备操作,在操作910中更新本地服务结果之后,流程继续到可选的操作912。在操作912中,中间本地解释可以与中间远程解释进行比较和/或合并。操作912将下文结合图10进行详述。
流程继续到操作914,在操作914中,客户端设备生成最终结果。在一个实施例中,最终结果可以是在操作908或910中生成的本地解释之一。在其他实施例中,最终结果可以是在可选的操作912中生成或选定的解释。在其他实施例中,不是在操作914中生成最终的解释,而是客户端可以接收例如来自仲裁器或远程设备的最终解释。在实施例中,最终结果可包括需要用户澄清的单个解释或多个解释。流程继续到操作916,在操作916中,设备基于在操作914中生成的最终解释来执行动作。
图10是用于选择或生成自然语言表达的一个或多个解释的方法1000 的实施例。在实施例中,方法1000可以通过排名服务、仲裁器、或组合了排名服务和仲裁器的操作的组件来执行。方法1000可以通过客户端设备、作为分布式网络的部分的远程计算设备或者与客户端设备和/或远程设备通信的另一设备来执行。在实施例中,图9的可选的操作912可以执行方法 1000的操作。流程在操作1002中开始,在该操作中接收到一个或多个初始判定。一个或多个初始判定可以从客户端设备上的本地NLE服务、在可作为分布式网络的部分的远程设备上执行的远程NLE服务或两者接收到的。
流程继续到决策操作1004。在操作1004中,方法1000判定是否应当等待来自一个或多个自然语言评估服务的后处理。在实施例中,如果初始解释被判定为精确的,具有高置信值,则可能无需执行自然语言表达的额外处理。在另一实施例中,如果存在显著的网络滞后或者如果定时器已经到期,则等待额外处理可能不利地影响用户的体验。在那些情况下,流程分支“否(NO)”到操作1006,在操作1006中,可以基于初始结果来生成最终解释。生成一个或多个最终的解释可以包括选择一个或多个初始解释并且将初始解释融合以产生一个或多个新解释。最终解释的生成可利用机器学习、神经网络、排名系统、计分系统、置信系统、高斯模型、分类模型来执行,或者采用本领域已知的任何其他类型的算法或模型。
返回操作1004,如果需要额外的处理,则流程分支“是(YES)”到操作1008,在操作1008中,接收到一个或多个中间解释。所述一个或多个中间解释可以从客户端设备上的本地NLE评估服务、远程设备上的远程NLE 评估服务或两者接收。流程继续到可选的操作1010,在操作1010中,可以从第三方接收额外的解释。例如,自然语言表达或者表达的部分可以提交给第三方,诸如搜索引擎或私人拥有的(proprietary)知识库,以进行额外的解释。在这些情形下,可以在操作1010中接收第三方解释。
流程继续到操作1012,在操作1012中,将初始解释、中间解释和/或第三方解释融合。在操作1012中,机器学习技术、神经网络、排名系统、计分系统、置信系统、高斯模型、分类模型或任何其他类型的本领域已知的算法或模型可用来融合结果。在实施例中,将结果合并可以生成一个或多个经排名的解释。解释可按置信值、域、计分等来排名。流程继续到操作1014,其中一个或多个最终结果可以从融合的结果生成。在一个实施例中,生成最终解释可以包括选择最高的排名计分。在其他实施例中,可以对排名后的结果执行进一步的处理以生成一个或多个最终结果。
图11是用于在NLE评估过程中标识第三方提示的方法1100的实施例。方法1100可通过客户端设备上的本地NLE评估过程来执行。在实施例中,方法1100可以在图9所描述的操作906和908过程中执行。流程开始于操作1102,在该操作中接收自然语言表达。自然语言表达可以是口语言辞或文本输入。流程继续到操作1104,在该操作中,本地知识库被加载。在实施例中,本地知识库可以包括本地设备特有的信息。可以包含在本地知识库中的示范性的数据可以为但不限于,用户联系人、用户日历信息、本地目录输入项、本地消息、文本、呼叫等。
流程继续到操作1106,在操作1106中,加载第三方知识库。在实施例中,第三方知识库可以包括通过第三方开发者生成的语法或提示。在实施例中,第三方语法可以随同客户端设备上的应用而被安装。此外,当更新应用时,语法可以由第三方开发者持续地更新。示范性的第三方语法提供在图12-13中。第三方知识库为应用开发者提供辅助对与它们的应用相关的自然语言表达的解释的能力。这允许用户与他们的应用进行自然地交互,而无需第三方开发者开发或修改NLE评估过程。
流程继续到操作1108,在该操作中,本地NLE服务利用本地知识库和第三方知识库两者来分析自然语言表达。第三方知识库可以包括前缀,其引导本地NLE评估来评估具体的应用语法。这些前缀的一个示例可以是应用名称。当来自应用的语法被本地NLE评估过程标识为相关时,流程继续到操作1110,在该操作中,可以对照着应用语法来评估自然语言表达,以标识提示。示范性的提示包括可标识短语(identifiable phrases),紧接着是关于如何继续对表达的评估的NLE服务的指示符。例如,图12的示范性的语法1200提供了包含词语“播放(Play)”的自然语言表达的示例。根据该语法,如果动词“播放”被识别,则NLE评估应当标识紧接着动词“播放”的节目名称或节目名称的用语。在实施例中,在接收到提示时,本地识别器可以加载与节目名称或电影名称有关的语法,从而增大NLE服务正确地解释命令的可能性。虽然本文的实施例已经关于识别动词进行了说明,但是自然语言表达的其他成分可以被识别,比方说例如短语(例如,电影名称)、数字序列(例如,电话号码或邮政编码)等。
在标识一个或多个提示时,提示可以在操作1112中发送到远程NLE 评估服务。如之前所述,远程NLE评估服务可以充分利用额外的处理能力和较大的知识库来执行先进的识别技术。发送第三方提示给远程NLE评估服务将额外的信息提供给远程NLE评估服务,其将过程引导到相关的域或语法。因此,远程NLE服务可以通过发送提示而借助存储在客户端设备上的第三方知识库来增强。在其他实施例中,第三方知识库可以存储在可作为分布式网络的部分的远程设备上。在这样的实施例中,客户端设备可以标识第三方NLE评估过程应当使用的作为分布式网络的部分的第三方知识库。
已经描述了使用混合客户端/服务器架构的系统和方法的各个实施例,本公开现在将描述可用于实现这些系统和方法的各种计算设备和操作环境。图14图示出可以执行本文公开的一个或多个示例的示范性的平板计算设备1400。另外,本文所描述的实施例和功能可以运行于分布式系统(例如,云计算系统)上,其中应用功能、存储器、数据存储和取回以及各种处理功能可以在分布式计算网络如因特网或内联网上彼此远程地操作。各种类型的用户界面和信息可以经由板上计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来显示。例如,各种类型的用户界面和信息可在各类型的用户界面和信息所投影到的壁面上显示和交互。与可实现本发明实施例的多种计算系统的交互包括击键输入、触摸屏输入、语音或其他音频输入、姿势输入等,在姿势输入中关联的计算设备装备有检测(例如,照相机)功能,用于捕获和解释用于控制计算设备的功能等的用户姿势。图15-17以及关联的说明提供了可实现本发明实施例的各种操作环境的论述。然而,参考图15-17所图示和论述的设备和系统是为了示例和说明的目的,而不是对可用于实现本文所述的本发明实施例的大量的计算设备构造的限制。
图15是示出可实现本公开的实施例的示范性的计算设备1500的物理组件的框图。下述的计算设备组件可适合于上述的计算设备。在基本的配置中,计算设备1500可以包括至少一个处理单元1502以及系统存储器 1504。根据计算设备的构造和类型,系统存储器1504可包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器或这些存储器的任意组合。系统存储器1504可包括适合运行应用1520的操作系统1505以及一个或多个程序模块1506。例如操作系统1505 可适于控制计算设备1500的操作。此外,本公开的实施例可与图形库、其他操作系统或任何其他应用程序相结合来实现,而不限于任何特定的应用或系统。该基本配置通过虚线1508内的那些组件图示在图15中。计算设备1500可以具有附加的特征或功能。例如,计算设备1500还可以包括附加的数据存储设备(可移除和/或非可移除),比方说例如磁盘、光盘或磁带。该附加的存储由可移除存储设备1509和非可移除存储设备1510显示在图 15中。
如上所述,多个程序模块和数据文件可存储在系统存储器1504中。在处理单元1502上执行的同时,程序模块1506可以执行的处理包括但不限于如本文所描述的方法的一个或多个阶段。上述过程是示例,处理单元1502 可以执行其他处理。可根据本发明的实施例使用的其他程序模块可包括电子邮件以及联系人应用,文本处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序,定位应用,等等。
一般地,与本公开的方案一致,程序模块可以包括例程、程序、组件、数据结构以及执行特定任务或者实现特定抽象数据类型的其他类型的结构。而且,本公开的实施例可以利用其他计算机系统配置来实现,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子设备、微型计算机以及大型计算机,等等。本公开的实施例还可以实现于分布式计算环境中,其中通过通信网络链接的远程处理设备来执行任务。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备中。
此外,本公开的方案可以实现于包括离散的电子元件的电路、包含逻辑门的封装或集成电子芯片、使用微处理器的电路或者包含电子元件或微处理器的单个芯片中。例如,本公开的实施例可通过片上系统(SOC)来实现,在SOC中,图15所示的每个或多个组件可集成到单个集成电路中。该SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,全部这些都集成(或“烧制”)到芯片基板上作为单个集成电路。当经由SOC来操作时,本文所描述的可以经由与单个集成电路(芯片)上的计算设备1500的其他组件集成的专用逻辑来操作。本公开的实施例还可以利用能够执行比方说例如与(AND)、或(OR)或非(NOT)的逻辑运算的其他技术来实现,包括但不限于数学技术、光学技术、流体技术以及量子技术。另外,本公开的实施例可以实现在通用计算机内或者任何其他电路或系统内。
例如,本公开的实施例可以实现为计算机过程(方法)、计算系统或制品,诸如计算机程序产品或计算机可读介质。计算机程序产品可以是能够由计算机系统读取且编码有用于执行计算机过程的指令的计算机程序的计算机存储介质。
本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可以包括易失性和非易失性的、可移除和非可移除的介质,它们以用于诸如计算机可读指令、数据结构或程序模块的信息的存储的任何方法或技术来实现。系统存储器1504、可移除存储设备1509和非可移除存储设备1510都是计算机存储介质的示例(即,存储器存储)。计算机存储介质可包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪速存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储、磁盒、磁带、磁盘存储或其他磁存储设备、或任何其他能够用于存储信息且能够由计算设备800访问的有形介质。任何这样的计算机存储介质可以是计算设备1500的部分。计算机存储介质不包括载波或其他传播或调制数据信号。计算设备1500还可以具有一个或多个输入设备1512,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可以使用诸如显示器、扬声器、打印机等输出设备1514。上述设备是示例,可以使用其他设备。
如本文所使用的术语计算机可读介质还可以包括通信介质。通信介质可通过计算机可读指令、数据结构、程序模块、或调制数据信号中的其他数据如载波或其他传输机制来具体实施,并且包括任何信息输送介质。术语“调制数据信号”可以描述其一个或多个特性以将信息编码到信号中的方式进行设定或改变的信号。通过示例而不是限制的方式,通信介质可以包括诸如有线网或直接连线连接的有线介质以及诸如声波、射频(RF)、红外和其他无线介质的无线介质。计算设备1500可以包括一个或多个通信连接1516,允许与其他计算设备1518通信。适合的通信连接1516的示例包括但不限于,RF发射器、接收器和/或收发器电路;通用串行总线(USB)、并行端口和/或串行端口,以及其他适合于与可应用计算机可读介质一起使用的连接。
图16A和16B示出了可以实现本发明的实施例的移动计算设备900,例如,移动电话、智能电话、平板个人计算机和膝上型计算机等。参考图 16A,示出了用于实现各方案的示范性的移动计算设备1600的一个实施例。在基本配置中,移动计算设备1600是具有输入元件和输出元件的手持式计算机。移动计算设备1600典型地包括显示器1605以及允许用户输入信息到移动计算设备1600的一个或多个输入按钮1610。移动计算设备1600的显示器1605还可以充当输入设备(例如,触摸屏显示器)。如果包含,可选的侧部输入元件1615允许另外的用户输入。侧部输入元件1615可以是旋转开关、按钮或任何其他类型的手动输入元件。在可选的实施例中,移动计算设备1600可以包含更多或更少的输入元件。例如,在一些方案中显示器1605可以是触摸屏。在又一替选实施例中,移动计算设备1600是便携式电话系统,诸如蜂窝电话。移动计算设备1600还可以包括可选的小键盘1635。可选的小键盘1635可以是物理小键盘或产生于触摸屏显示器上的“软“小键盘。在各个实施例中,输出元件包括用于示出图形用户界面(GUI) 的显示器1605、可视指示符1620(例如,发光二极管)和/或音频换能器 1625(例如,扬声器)。在一些示例中,移动计算设备1600包含了用于为用户提供触反馈的振动换能器。在又一实施例中,移动计算设备1600可包含了输入端口和/或输出端口,诸如音频输入(例如,麦克风插口)、音频输出(例如,耳机插口)以及视频输出(例如,HDMI端口),用于发送信号到外部设备或者从外部设备接收信号。
虽然本文结合移动计算设备1600进行了说明,在可替代的示例中,本公开的特征可与任意数量的计算机系统来结合,诸如桌面环境、膝上型或笔记本计算机系统、多处理器系统、基于微处理器或可编程消费电子设备、网络PC、微型计算机、主机型计算机等。本公开的实施例还可以实现在分布式计算环境中,其中任务在分布式计算环境中通过经由通信网链接的远程处理设备来执行;程序可以位于本地和远程存储器存储设备中。总之,具有多个环境传感器、向用户提供通知的多个输出元件以及多个通知事件类型的任何计算机系统可以并入本公开的实施例。
图16B是示出移动计算设备的一个实施例的架构的框图。也即,移动计算设备1600可以包含系统(即,架构)1602以实现一些实施例。在一个实施例中,系统1602实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传递客户端、游戏和媒体客户端/播放器)的“智能手机”。在一些实施例中,系统1602集成为计算设备,诸如集成个人数字助理(PDA)和无线电话。
一个或多个应用程序1666可以加载到存储器1662中以及运行于操作系统1664上或者与操作系统1664关联。应用程序的示例包括电话拨号程序、电子邮件应用、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息传递程序等。系统1602还包括位于存储器 1662内的非易失性存储区1668。非易失性存储区1668可用于存储在系统 902掉电的情况下不应丢失的永久性信息。应用程序1666可使用信息且存储信息于非易失性存储区1668中,诸如电子邮件应用使用的电子邮件或其他消息,等等。同步应用(未示出)也位于系统1602上并且被编程以与位于主机上的对应的同步应用交互以保持存储在非易失性存储区1668中的信息与存储在主机中的对应信息同步。应当意识到,其他应用可以加载到存储器1662中且运行于移动计算设备1600上。
系统1602具有电源1670,电源1670实现为一个或多个电池。电源1670 可能进一步包括外部电源,诸如AC适配器或为电池补电或再充电的电力对接拖座。
系统1602还可以包括执行发送和接收射频通信的功能的无线电1672。无线电1672促进系统1602与“外界”之间经由通信载波或服务提供商之间的无线连接。向无线电1672发送以及从无线电1672接收是在操作系统 1664的控制下进行的。换言之,由无线电1672接收到的通信可以经由操作系统1664散播到应用程序1666,反之亦然。
无线电1672允许系统1602与其他计算设备通信,例如通过网络。无线电1672是通信介质的一个示例。通信介质典型地以诸如载波或其他传输机制的调制数据信号来具体实施计算机可读指令、数据结构、程序模块或其他数据并且包括任何信息输送介质。术语“调制数据信号”可以是指使其一个或多个特性以将信息编码在信号中的方式来设定或改变的信号。通过示例而不是限制的方式,通信介质包括有线网或直接接线连接的有线介质以及诸如声波、RF、红外和其他无线介质的无线介质。如本文所使用的术语计算机可读介质包括存储介质和通信介质两者。
系统1602的该实施例利用可视指示器1620来提供通知。可视指示器 920可以用于提供可视通知,和/或音频接口1674可用于经由音频换能器 1625产生可听的通知。在图示的实施例中,可视指示器1620是发光二极管 (LED),音频换能器1625是扬声器。这些设备可以直接与电源1670耦合,从而当被激活时,它们在通知机制所规定的持续期间内保持接通,即使处理器1660和其他组件可能为了节约电池电力而关闭。LED可以被编程以保持无限接通直至用户采取措施来指示设备的加电状态。音频接口1674用来提供可听信号到用户以及从用户接收可听信号。例如,除了与音频换能器 1625耦合之外,音频接口1674还可以与麦克风耦合以接收可听输入,例如促进电话对话。根据本公开的实施例,麦克风还可以充当音频传感器以促进通知的控制,如下文将要说明的。系统1602可进一步包括使得板上照相机1630的操作能够记录静像、视频流等的视频接口1676。
实现系统1602的移动计算设备1600可以具有额外的特征或功能。例如,移动计算设备1600还可以包括额外的数据存储设备(可移除的和/或非可移除的),诸如磁盘、光盘或磁带。该额外的存储由非易失性存储区1668 图示在图16B中。计算机存储介质可以包括易失性的和非易失性的、可移除的和非可移除的介质,它们以存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术来实现。
通过移动计算设备1600生成或捕获以及经由系统1602存储的数据/信息可以本地地存储在移动计算设备1600上,如上所述,或者数据可以存储在可由设备经由无线电1672或者经由移动计算设备1600与关联移动计算设备1600的单独的计算设备(例如,诸如因特网的分布式计算网络中的服务器计算机)之间的有线连接访问的任意数量的存储介质上。应当意识到是,这些数据/信息可以通过移动计算设备1600经由无线电1672或者经由分布式计算网络来访问。类似地,根据公知的数据/信息传输和存储手段,包括电子邮件和协作数据/信息共享系统,这些数据/信息可轻易地在计算设备之间传输以便存储和使用。
图17是示出本文所描述的向一个或多个客户端设备提供转换后的文档的系统的架构的一个实施例。在一些实施例中,转换的文档可以存储在不同的通信信道或为其他存储类型。例如,可利用目录服务1722、web门户 1724、邮箱服务1726、即时消息传递库1728或社交网站1730来存储各个文档,包括转换后的文档。系统100的各个组件使用这些类型的系统等中的任一种来实现数据利用,如本文所述。服务器1720可以将转换后的段落提供给客户端。服务器1720可以是经由网络1715在web上将转换后的段落和状态更新提供给客户端。通过示例的方式,客户端计算设备1718可以实现为计算设备1700且体现在个人计算机1718a、平板计算设备1718b和/ 或移动计算设备1718c(例如,智能手机)中。客户端计算设备1718的这些实施例中的任一个可以从库1116获得内容。在各个实施例中,用于在构成本公开的计算设备之间通信的网络的类型包括但不限于,互联网、内联网、广域网(WAN)、局域网(LAN)、和虚拟私有网络(VPN)。在本申请中,网络包括企业网和客户端计算设备借以访问企业网络的网络(即,客户端网络)。在一个实施例中,客户端网络是企业网络的部分。在另一实施例中,客户端网络是通过外部可用的进入点访问企业网络的单独的网络,进入点诸如为网关、远程接入协议或者公共或私人互联网地址。
在其他示例中,本公开提供了利用客户端设备来进行并行数据处理的系统和方法,包括:在所述客户端设备处接收包含所述数据的信号;将数据的至少一个子集发送到远程服务;利用本地服务处理所述数据;将初始本地服务结果发送到所述远程服务以便分析;从远程服务接收初始远程服务结果;以及生成中间本地服务结果,其中生成所述中间本地服务结果包括基于所述初始远程服务结果来更新所述初始本地服务结果。在进一步的示例中,发送数据的子集还包括:确定数据的子集不包含私有数据。在另外的示例中,本地服务是推断服务,并且其中利用本地服务处理数据包括分析私有数据来生成本地推断作为初始本地服务结果。在进一步的示例中,发送初始本地服务结果还包括:分析本地推断以判定本地推断是否能够被提供给远程服务;并且当本地推断能够提供给远程服务时,将本地推断发送到远程服务。在进一步的示例中,当本地推断无法提供给远程服务时,抽象本地推断以去除私有数据;以及将抽象的本地推断发送给远程服务。在进一步的示例中,接收初始远程服务结果还包括:从远程服务接收更新的推断,其中更新的推断包括关于本地推断的额外信息。在进一步的示例中,基于更新的推断生成用户体验。在进一步的示例中,数据包括自然语言表达,并且其中本地服务包括本地自然语言表达评估过程。在进一步的示例中,处理数据还包括:加载本地知识库;加载第三方知识库;以及利用本地知识库和第三方知识库来处理自然语言表达。在进一步的示例中,标识自然语言表达中的独特术语,其中独特术语是利用本地知识库来标识的。在进一步的示例中,标识自然语言表达中的前缀,其中前缀标识第三方应用;以及将自然语言表达与与第三方应用相关联的第三方语法进行比较。在进一步的示例中,从第三方知识库中标识至少一个提示;并且其中发送初始本地服务结果到远程服务以便进行分析包括发送来自第三方语法的至少一个提示。在进一步的示例中,接收远程服务结果;将中间本地服务结果和中间远程服务结果进行比较;以及基于比较,生成最终结果。
本文公开的进一步的方面提供了用于使用分布式网络来进行数据处理的系统和方法,包括:在分布式网络处接收数据;利用远程服务来处理数据;在数据处理过程中,生成初始远程服务结果;将初始远程服务结果发送到客户端设备;从客户端设备接收初始本地服务结果,其中初始本地服务结果是在数据处理完成之前接收到的;用初始本地服务结果更新数据的处理;基于更新,生成中间远程服务结果;以及将中间远程服务结果发送到客户端设备。在进一步的示例中,初始本地服务结果是本地推断,并且其中中间远程服务结果包括与本地推断相关的额外数据。在进一步的示例中,数据是自然语言表达,并且其中初始本地服务结果包括至少一个第三方提示。在进一步的示例中,更新数据的处理还包括:基于至少一个第三方提示来标识至少一个相关知识库;以及利用至少一个相关知识库来分析自然语言表达。在进一步的示例中,接收中间本地服务结果;以及基于中间本地服务结果来更新中间远程服务结果。
本文公开的额外的方面提供了示范性的混合客户端/服务器系统,包括:客户端设备,包括:至少一个客户端处理器;以及客户端计算机存储介质,其中编码有执行客户端方法的计算机可执行指令,所述客户端方法包括:接收自然语言表达;将自然语言表达发送到远程语音识别过程;处理自然语言表达以生成自然语言表达的初始本地解释;接收来自分布式网络的自然语言表达的初始远程解释;以及分布式网络,包括至少一个服务器,该服务器包括:至少一个服务器处理器;以及服务器计算机存储介质,其中编码有计算机可执行指令,当通过至少一个服务器处理器执行时,该计算机可执行指令执行服务器方法,该方法包括;接收来自客户端设备的自然语言表达;与客户端设备并行地处理自然语言表达以生成自然语言表达的初始远程解释;将自然语言表达的初始远程解释发送到客户端设备;接收自然语言表达的初始本地解释;基于初始本地解释更新初始远程解释以生成中间远程解释;以及将中间远程解释发送到客户端设备。在另外的示例中,初始本地解释包括至少一个第三方提示。
本文公开的实施例可以利用软件、硬件、或者软件和硬件的组合来实施以实现且执行本文公开的系统和方法。虽然在通篇公开中记述了具体的设备执行具体的功能,本领域技术人员将意识到,这些设备仅为了示例的目的而提供,可以采用其他设备来执行本文公开的功能,而不背离本公开的范围。
本公开参考附图描述了本技术的一些实施例,其中仅描述了一些可能的方面。然而,其他方面能够以多种不同的形式来实施并且本文公开的具体实施例不应解释为限于本文阐述的公开的各个方面。相反,提供这些示范性的实施例以使本公开全面且完整,并且向本领域技术人员充分传达其他可能的实施例的范围。例如,本文公开的各个实施例的方面可以在不背离本公开的范围的情况下进行修改和/或组合。
虽然在本文中描述了具体的实施例,但是技术的范围不限于那些具体的实施例。本领域技术人员将认识到其他实施例或改进也在本技术的范围和精神内。因此,公开了具体的结构、动作或介质仅作为示例性的实施例。技术的范围由随附权利要求和其中任何等同内容来限定。

Claims (14)

1.一种利用客户端计算设备进行数据的并行处理的方法,所述方法包括:
在所述客户端计算设备处接收包含所述数据的信号;
从所述客户端计算设备向至少一个远程设备发送至少数据的子集;
在所述客户端计算设备处利用所述客户端计算设备的本地服务处理所述数据;
将初始本地服务结果发送到所述至少一个远程设备的远程服务以便分析,其中所述初始本地服务结果包括在本地处理期间生成的第一部分确定;
在利用所述本地服务处理所述数据的同时,在所述客户端计算设备处并且从所述远程服务接收初始远程服务结果,其中,所述初始远程服务结果包括第二部分确定;
使用所述本地服务,生成中间本地服务结果,其中生成所述中间本地服务结果包括基于所述初始远程服务结果来更新所述初始本地服务结果;
接收中间远程服务结果;
将所述中间本地服务结果和所述中间远程服务结果进行比较;以及
基于所述比较,生成最终结果。
2.如权利要求1所述的方法,其中所述本地服务是推断服务,并且其中利用所述本地服务处理所述数据包括分析私有数据以生成本地推断作为所述初始本地服务结果。
3.如权利要求2所述的方法,其中发送所述初始本地服务结果还包括:
分析所述本地推断以判定所述本地推断是否能够被提供给所述远程服务;以及
当所述本地推断能够被提供给所述远程服务时,将所述本地推断发送到所述远程服务。
4.如权利要求3所述的方法,还包括:
当所述本地推断不能被提供给所述远程服务时,抽象所述本地推断以去除私有数据;以及
将抽象的本地推断发送到所述远程服务。
5.如权利要求1所述的方法,其中所述数据包括自然语言表达,并且其中所述本地服务包括本地自然语言表达(NLE)评估过程。
6.如权利要求5所述的方法,其中处理所述数据还包括:
加载本地知识库;
加载第三方知识库;以及
利用所述本地知识库和所述第三方知识库来处理所述自然语言表达。
7.如权利要求6所述的方法,还包括:标识所述自然语言表达中的独特术语,其中所述独特术语是利用所述本地知识库来标识的。
8.如权利要求7所述的方法,还包括:
标识所述自然语言表达中的前缀,其中所述前缀标识第三方应用;以及
将所述自然语言表达与和所述第三方应用相关联的第三方语法进行比较。
9.如权利要求8所述的方法,还包括:
标识来自第三方知识库的至少一个提示;以及
其中将初始本地服务结果发送到所述远程服务以便进行分析包括发送来自所述第三方语法的所述至少一个提示。
10.一种利用包括至少一个远程设备的分布式网络进行数据的并行处理的方法,所述方法包括:
在所述至少一个远程设备处接收来自客户端设备的数据;
利用远程服务来处理所述数据;
在处理所述数据的过程中,生成初始远程服务结果,其中,所述初始远程服务结果包括由所述远程服务生成的第一部分确定;
将所述初始远程服务结果发送到所述客户端设备;
在所述至少一个远程设备处并且从所述客户端设备接收初始本地服务结果,其中所述初始本地服务结果在通过所述远程服务完成对所述数据的处理之前被接收到;
用所述初始本地服务结果来更新通过所述远程服务对所述数据的处理;
基于所述更新,由所述远程服务生成中间远程服务结果;以及
将所述中间远程服务结果发送到所述客户端设备,以用于将所述中间远程服务结果与中间本地服务结果进行比较来生成最终结果。
11.如权利要求10所述的方法,其中所述数据是自然语言表达(NLE),并且其中所述初始本地服务结果包括至少一个第三方提示。
12.如权利要求11所述的方法,其中更新对所述数据的处理还包括:
基于所述至少一个第三方提示来标识至少一个相关知识库;以及
利用所述至少一个相关知识库分析所述自然语言表达。
13.一种混合客户端/服务器系统,所述系统包括:
客户端设备,其包括:
至少一个客户端处理器;以及
编码有计算机可执行指令的客户端计算机存储介质,所述计算机可执行指令执行一种客户端方法,所述客户端方法包括:
接收自然语言表达;
至少将所述自然语言表达的子集发送到远程语音识别过程;
处理所述自然语言表达以生成所述自然语言表达的初始本地解释;
接收来自分布式网络的所述自然语言表达的初始远程解释;以及
所述分布式网络,其包括至少一个服务器,所述服务器包括:
至少一个服务器处理器;以及
服务器计算机存储介质,其编码有计算机可执行指令,所述计算机可执行指令当通过所述至少一个服务器处理器执行时执行一种服务器方法,所述服务器方法包括:
接收来自所述客户端设备的自然语言表达;
与所述客户端设备并行地处理所述自然语言表达以生成所述自然语言表达的所述初始远程解释,其中所述初始远程解释包括在本地处理期间生成的第二部分确定;
将所述自然语言表达的初始远程解释发送给所述客户端设备;
接收所述自然语言表达的初始本地解释;
基于所述初始本地解释来更新所述初始远程解释以生成中间远程解释;以及
将所述中间远程解释发送到所述客户端设备。
14.如权利要求13所述的系统,其中所述初始本地解释包括至少一个第三方提示。
CN201580018588.6A 2014-04-01 2015-03-30 用于并行处理的混合客户端/服务器架构 Active CN106164869B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461973770P 2014-04-01 2014-04-01
US61/973,770 2014-04-01
US14/480,422 US10749989B2 (en) 2014-04-01 2014-09-08 Hybrid client/server architecture for parallel processing
US14/480,422 2014-09-08
PCT/US2015/023228 WO2015153388A1 (en) 2014-04-01 2015-03-30 Hybrid client/server architecture for parallel processing

Publications (2)

Publication Number Publication Date
CN106164869A CN106164869A (zh) 2016-11-23
CN106164869B true CN106164869B (zh) 2020-12-11

Family

ID=54192087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580018588.6A Active CN106164869B (zh) 2014-04-01 2015-03-30 用于并行处理的混合客户端/服务器架构

Country Status (5)

Country Link
US (1) US10749989B2 (zh)
EP (1) EP3126978B1 (zh)
KR (1) KR102357685B1 (zh)
CN (1) CN106164869B (zh)
WO (1) WO2015153388A1 (zh)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
BR112015018905B1 (pt) 2013-02-07 2022-02-22 Apple Inc Método de operação de recurso de ativação por voz, mídia de armazenamento legível por computador e dispositivo eletrônico
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10885918B2 (en) 2013-09-19 2021-01-05 Microsoft Technology Licensing, Llc Speech recognition using phoneme matching
US9601108B2 (en) 2014-01-17 2017-03-21 Microsoft Technology Licensing, Llc Incorporating an exogenous large-vocabulary model into rule-based speech recognition
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9754228B2 (en) * 2014-06-17 2017-09-05 Sap Se Integrating software solutions to execute business applications
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9792315B2 (en) 2014-08-21 2017-10-17 Dropbox, Inc. Multi-user search system with methodology for bypassing instant indexing
US9384226B1 (en) * 2015-01-30 2016-07-05 Dropbox, Inc. Personal content item searching system and method
US9183303B1 (en) 2015-01-30 2015-11-10 Dropbox, Inc. Personal content item searching system and method
US11468340B2 (en) * 2015-02-09 2022-10-11 Xerox Corporation Method and system for using data storage technology as a repository of functional logic knowledge for use in a knowledge abstraction layer subsystem
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10446142B2 (en) * 2015-05-20 2019-10-15 Microsoft Technology Licensing, Llc Crafting feedback dialogue with a digital assistant
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10091336B2 (en) * 2015-12-21 2018-10-02 Sap Se Computing platform agnostic application server
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10346003B2 (en) * 2016-02-16 2019-07-09 Bank Of America Corporation Integrated geolocation resource transfer platform
US9799082B1 (en) * 2016-04-25 2017-10-24 Post Social, Inc. System and method for conversation discovery
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
CN106599161B (zh) * 2016-12-08 2020-02-14 竹间智能科技(上海)有限公司 延长机器人思考时间的回复方法及系统
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10971157B2 (en) * 2017-01-11 2021-04-06 Nuance Communications, Inc. Methods and apparatus for hybrid speech recognition processing
KR102339819B1 (ko) * 2017-04-05 2021-12-15 삼성전자주식회사 프레임워크를 이용한 자연어 표현 생성 방법 및 장치
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
EP3659321B1 (en) * 2017-07-26 2021-06-30 Amazon Technologies, Inc. Tiered data processing for iot device clusters
US11108575B2 (en) 2017-07-26 2021-08-31 Amazon Technologies, Inc. Training models for IOT devices
US10980085B2 (en) 2017-07-26 2021-04-13 Amazon Technologies, Inc. Split predictions for IoT devices
US11902396B2 (en) * 2017-07-26 2024-02-13 Amazon Technologies, Inc. Model tiering for IoT device clusters
US10491758B2 (en) * 2017-08-16 2019-11-26 Wipro Limited Method and system for optimizing image data for data transmission
US10866926B2 (en) 2017-12-08 2020-12-15 Dropbox, Inc. Hybrid search interface
CN107896285A (zh) * 2017-12-27 2018-04-10 广东欧珀移动通信有限公司 数据上报方法、装置、移动终端及计算机可读介质
US11170762B2 (en) 2018-01-04 2021-11-09 Google Llc Learning offline voice commands based on usage of online voice commands
US10747962B1 (en) 2018-03-12 2020-08-18 Amazon Technologies, Inc. Artificial intelligence system using phrase tables to evaluate and improve neural network based machine translation
CN108491220B (zh) * 2018-03-15 2019-04-23 苏州思必驰信息科技有限公司 技能训练方法及系统
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
CN110399211B (zh) 2018-04-24 2021-06-08 中科寒武纪科技股份有限公司 机器学习的分配系统、方法及装置、计算机设备
US10602317B2 (en) 2018-05-01 2020-03-24 Satellite Tracking Of People Llc System and method of alternative tracking upon disabling of monitoring device
CN110692040A (zh) 2018-05-07 2020-01-14 谷歌有限责任公司 在网络系统中激活远程设备
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
TWI698857B (zh) * 2018-11-21 2020-07-11 財團法人工業技術研究院 語音辨識系統及其方法、與電腦程式產品
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11710480B2 (en) * 2019-08-07 2023-07-25 International Business Machines Corporation Phonetic comparison for virtual assistants
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
CN111091182A (zh) * 2019-12-16 2020-05-01 北京澎思科技有限公司 数据处理方法、电子设备及存储介质
US11611580B1 (en) 2020-03-02 2023-03-21 Amazon Technologies, Inc. Malware infection detection service for IoT devices
US11489853B2 (en) 2020-05-01 2022-11-01 Amazon Technologies, Inc. Distributed threat sensor data aggregation and data export
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11989627B1 (en) 2020-06-29 2024-05-21 Amazon Technologies, Inc. Automated machine learning pipeline generation
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11669361B1 (en) * 2021-04-01 2023-06-06 Ai-Blockchain, Inc. System, method and program product for optimizing computer processing power in cloud computing systems
US11776537B1 (en) * 2022-12-07 2023-10-03 Blue Lakes Technology, Inc. Natural language processing system for context-specific applier interface

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1408182A (zh) * 1999-10-05 2003-04-02 约莫拜尔公司 基于本地中断探测的语音识别技术
CN101454775A (zh) * 2006-05-23 2009-06-10 摩托罗拉公司 通过基于协同客户端和服务器的语言识别的语法调整
US7624018B2 (en) * 2004-03-12 2009-11-24 Microsoft Corporation Speech recognition using categories and speech prefixing
CN102469112A (zh) * 2010-11-01 2012-05-23 赵继安 位置跟踪实现方法、装置及系统
CN102496364A (zh) * 2011-11-30 2012-06-13 苏州奇可思信息科技有限公司 基于云端网络的交互式语音识别方法
CN102594717A (zh) * 2011-01-18 2012-07-18 四川火狐无线科技有限公司 一种服务信息处理及交互方法、装置和系统

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715468A (en) 1994-09-30 1998-02-03 Budzinski; Robert Lucius Memory system for storing and retrieving experience and knowledge with natural language
US5799279A (en) 1995-11-13 1998-08-25 Dragon Systems, Inc. Continuous speech recognition of text and commands
JP3027543B2 (ja) 1996-12-11 2000-04-04 株式会社エイ・ティ・アール音声翻訳通信研究所 連続音声認識装置
US6839669B1 (en) 1998-11-05 2005-01-04 Scansoft, Inc. Performing actions identified in recognized speech
US6523061B1 (en) 1999-01-05 2003-02-18 Sri International, Inc. System, method, and article of manufacture for agent-based navigation in a speech-based data navigation system
WO2000058942A2 (en) 1999-03-26 2000-10-05 Koninklijke Philips Electronics N.V. Client-server speech recognition
JP3636941B2 (ja) 1999-07-19 2005-04-06 松下電器産業株式会社 情報検索方法と情報検索装置
US6601026B2 (en) 1999-09-17 2003-07-29 Discern Communications, Inc. Information retrieval by natural language querying
CN1315721A (zh) 2000-03-23 2001-10-03 韦尔博泰克有限公司 客户服务器语音信息传送系统与方法
US6738745B1 (en) 2000-04-07 2004-05-18 International Business Machines Corporation Methods and apparatus for identifying a non-target language in a speech recognition system
US7747782B2 (en) 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
DE60016722T2 (de) 2000-06-07 2005-12-15 Sony International (Europe) Gmbh Spracherkennung in zwei Durchgängen mit Restriktion des aktiven Vokabulars
GB0028277D0 (en) 2000-11-20 2001-01-03 Canon Kk Speech processing system
JP4240807B2 (ja) 2000-12-25 2009-03-18 日本電気株式会社 移動通信端末装置、音声認識方法、およびそのプログラムを記録した記録媒体
FR2820872B1 (fr) 2001-02-13 2003-05-16 Thomson Multimedia Sa Procede, module, dispositif et serveur de reconnaissance vocale
US6738743B2 (en) 2001-03-28 2004-05-18 Intel Corporation Unified client-server distributed architectures for spoken dialogue systems
WO2002103675A1 (en) 2001-06-19 2002-12-27 Intel Corporation Client-server based distributed speech recognition system architecture
US7013275B2 (en) 2001-12-28 2006-03-14 Sri International Method and apparatus for providing a dynamic speech-driven control and remote service access system
US20030125869A1 (en) 2002-01-02 2003-07-03 International Business Machines Corporation Method and apparatus for creating a geographically limited vocabulary for a speech recognition system
US7177814B2 (en) 2002-02-07 2007-02-13 Sap Aktiengesellschaft Dynamic grammar for voice-enabled applications
US7292689B2 (en) 2002-03-15 2007-11-06 Intellisist, Inc. System and method for providing a message-based communications infrastructure for automated call center operation
US20030233237A1 (en) 2002-06-17 2003-12-18 Microsoft Corporation Integration of speech and stylus input to provide an efficient natural input experience
US7584102B2 (en) 2002-11-15 2009-09-01 Scansoft, Inc. Language model for use in speech recognition
US7401132B1 (en) 2002-12-20 2008-07-15 Symantec Operating Corporation Method and system for creating a peer-to-peer overlay network
US7603267B2 (en) 2003-05-01 2009-10-13 Microsoft Corporation Rules-based grammar for slots and statistical model for preterminals in natural language understanding system
GB0513820D0 (en) 2005-07-06 2005-08-10 Ibm Distributed voice recognition system and method
US20070043687A1 (en) 2005-08-19 2007-02-22 Accenture Llp Virtual assistant
US7542904B2 (en) 2005-08-19 2009-06-02 Cisco Technology, Inc. System and method for maintaining a speech-recognition grammar
US20070067305A1 (en) 2005-09-21 2007-03-22 Stephen Ives Display of search results on mobile device browser with background process
DE102006029755A1 (de) 2006-06-27 2008-01-03 Deutsche Telekom Ag Verfahren und Vorrichtung zur natürlichsprachlichen Erkennung einer Sprachäußerung
US7873620B2 (en) 2006-06-29 2011-01-18 Microsoft Corporation Desktop search from mobile device
US7957972B2 (en) 2006-09-05 2011-06-07 Fortemedia, Inc. Voice recognition system and method thereof
US20080154870A1 (en) 2006-12-26 2008-06-26 Voice Signal Technologies, Inc. Collection and use of side information in voice-mediated mobile search
US20110054900A1 (en) * 2007-03-07 2011-03-03 Phillips Michael S Hybrid command and control between resident and remote speech recognition facilities in a mobile voice-to-speech application
US8949130B2 (en) 2007-03-07 2015-02-03 Vlingo Corporation Internal and external speech recognition use with a mobile communication facility
US8620658B2 (en) 2007-04-16 2013-12-31 Sony Corporation Voice chat system, information processing apparatus, speech recognition method, keyword data electrode detection method, and program for speech recognition
JP4887264B2 (ja) 2007-11-21 2012-02-29 株式会社日立製作所 音声データ検索システム
US20090177462A1 (en) 2008-01-03 2009-07-09 Sony Ericsson Mobile Communications Ab Wireless terminals, language translation servers, and methods for translating speech between languages
US8589161B2 (en) 2008-05-27 2013-11-19 Voicebox Technologies, Inc. System and method for an integrated, multi-modal, multi-device natural language voice services environment
US8364481B2 (en) 2008-07-02 2013-01-29 Google Inc. Speech recognition with parallel recognition tasks
US7933777B2 (en) * 2008-08-29 2011-04-26 Multimodal Technologies, Inc. Hybrid speech recognition
US8019608B2 (en) 2008-08-29 2011-09-13 Multimodal Technologies, Inc. Distributed speech recognition using one way communication
US8180641B2 (en) 2008-09-29 2012-05-15 Microsoft Corporation Sequential speech recognition with two unequal ASR systems
US8224644B2 (en) * 2008-12-18 2012-07-17 Microsoft Corporation Utterance processing for network-based speech recognition utilizing a client-side cache
US20100268534A1 (en) 2009-04-17 2010-10-21 Microsoft Corporation Transcription, archiving and threading of voice communications
US9201965B1 (en) 2009-09-30 2015-12-01 Cisco Technology, Inc. System and method for providing speech recognition using personal vocabulary in a network environment
US9502025B2 (en) 2009-11-10 2016-11-22 Voicebox Technologies Corporation System and method for providing a natural language content dedication service
CA2691326A1 (en) * 2010-01-28 2011-07-28 Ibm Canada Limited - Ibm Canada Limitee Integrated automatic user support and assistance
US8532994B2 (en) 2010-08-27 2013-09-10 Cisco Technology, Inc. Speech recognition using a personal vocabulary and language model
US8831947B2 (en) 2010-11-07 2014-09-09 Nice Systems Ltd. Method and apparatus for large vocabulary continuous speech recognition using a hybrid phoneme-word lattice
US9245525B2 (en) 2011-01-05 2016-01-26 Interactions Llc Automated speech recognition proxy system for natural language understanding
US10032455B2 (en) 2011-01-07 2018-07-24 Nuance Communications, Inc. Configurable speech recognition system using a pronunciation alignment between multiple recognizers
WO2012116110A1 (en) 2011-02-22 2012-08-30 Speak With Me, Inc. Hybridized client-server speech recognition
CN102682763B (zh) 2011-03-10 2014-07-16 北京三星通信技术研究有限公司 修正语音输入文本中命名实体词汇的方法、装置及终端
US9009041B2 (en) 2011-07-26 2015-04-14 Nuance Communications, Inc. Systems and methods for improving the accuracy of a transcription using auxiliary data such as personal data
US20130028443A1 (en) 2011-07-28 2013-01-31 Apple Inc. Devices with enhanced audio
US8660847B2 (en) 2011-09-02 2014-02-25 Microsoft Corporation Integrated local and cloud based speech recognition
US20130085753A1 (en) 2011-09-30 2013-04-04 Google Inc. Hybrid Client/Server Speech Recognition In A Mobile Device
US8972263B2 (en) 2011-11-18 2015-03-03 Soundhound, Inc. System and method for performing dual mode speech recognition
US10019994B2 (en) 2012-06-08 2018-07-10 Apple Inc. Systems and methods for recognizing textual identifiers within a plurality of words
WO2014028071A1 (en) 2012-08-17 2014-02-20 Flextronics Ap, Llc Methods and displays for providing intelligent television badges
US20130337853A1 (en) 2012-06-19 2013-12-19 Talkler Labs, LLC System and method for interacting with a mobile communication device
US9502029B1 (en) 2012-06-25 2016-11-22 Amazon Technologies, Inc. Context-aware speech processing
US10354650B2 (en) * 2012-06-26 2019-07-16 Google Llc Recognizing speech with mixed speech recognition models to generate transcriptions
CN102760431A (zh) 2012-07-12 2012-10-31 上海语联信息技术有限公司 智能化的语音识别系统
US9570076B2 (en) 2012-10-30 2017-02-14 Google Technology Holdings LLC Method and system for voice recognition employing multiple voice-recognition techniques
US9131369B2 (en) * 2013-01-24 2015-09-08 Nuance Communications, Inc. Protection of private information in a client/server automatic speech recognition system
CN103165130B (zh) 2013-02-06 2015-07-29 程戈 语音文本匹配云系统
US9305545B2 (en) 2013-03-13 2016-04-05 Samsung Electronics Co., Ltd. Speech recognition vocabulary integration for classifying words to identify vocabulary application group
US20150314454A1 (en) 2013-03-15 2015-11-05 JIBO, Inc. Apparatus and methods for providing a persistent companion device
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9940927B2 (en) 2013-08-23 2018-04-10 Nuance Communications, Inc. Multiple pass automatic speech recognition methods and apparatus
CN103491429A (zh) 2013-09-04 2014-01-01 张家港保税区润桐电子技术研发有限公司 一种音频处理方法和音频处理设备
US10885918B2 (en) 2013-09-19 2021-01-05 Microsoft Technology Licensing, Llc Speech recognition using phoneme matching
US9484025B2 (en) 2013-10-15 2016-11-01 Toyota Jidosha Kabushiki Kaisha Configuring dynamic custom vocabulary for personalized speech recognition
US9530416B2 (en) 2013-10-28 2016-12-27 At&T Intellectual Property I, L.P. System and method for managing models for embedded speech and language processing
US9666188B2 (en) * 2013-10-29 2017-05-30 Nuance Communications, Inc. System and method of performing automatic speech recognition using local private data
US9837070B2 (en) 2013-12-09 2017-12-05 Google Inc. Verification of mappings between phoneme sequences and words
US9601108B2 (en) 2014-01-17 2017-03-21 Microsoft Technology Licensing, Llc Incorporating an exogenous large-vocabulary model into rule-based speech recognition

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1408182A (zh) * 1999-10-05 2003-04-02 约莫拜尔公司 基于本地中断探测的语音识别技术
US7624018B2 (en) * 2004-03-12 2009-11-24 Microsoft Corporation Speech recognition using categories and speech prefixing
CN101454775A (zh) * 2006-05-23 2009-06-10 摩托罗拉公司 通过基于协同客户端和服务器的语言识别的语法调整
CN102469112A (zh) * 2010-11-01 2012-05-23 赵继安 位置跟踪实现方法、装置及系统
CN102594717A (zh) * 2011-01-18 2012-07-18 四川火狐无线科技有限公司 一种服务信息处理及交互方法、装置和系统
CN102496364A (zh) * 2011-11-30 2012-06-13 苏州奇可思信息科技有限公司 基于云端网络的交互式语音识别方法

Also Published As

Publication number Publication date
US10749989B2 (en) 2020-08-18
CN106164869A (zh) 2016-11-23
KR20160138982A (ko) 2016-12-06
US20150281401A1 (en) 2015-10-01
EP3126978A1 (en) 2017-02-08
EP3126978B1 (en) 2021-02-17
KR102357685B1 (ko) 2022-01-28
WO2015153388A1 (en) 2015-10-08

Similar Documents

Publication Publication Date Title
CN106164869B (zh) 用于并行处理的混合客户端/服务器架构
US10733983B2 (en) Parameter collection and automatic dialog generation in dialog systems
US11887594B2 (en) Proactive incorporation of unsolicited content into human-to-computer dialogs
CN107112013B (zh) 用于创建可定制对话系统引擎的平台
CA2913735C (en) Environmentally aware dialog policies and response generation
JP2019503526A5 (zh)
CN107750360A (zh) 通过利用语言理解的上下文语言生成
US11575624B2 (en) Contextual feedback, with expiration indicator, to a natural understanding system in a chat bot
WO2018039009A1 (en) Systems and methods for artifical intelligence voice evolution
US20200380076A1 (en) Contextual feedback to a natural understanding system in a chat bot using a knowledge model
US20220358917A1 (en) Multi-device Mediation for Assistant Systems
US11477140B2 (en) Contextual feedback to a natural understanding system in a chat bot
US11900926B2 (en) Dynamic expansion of acronyms in audio content
US20230353652A1 (en) Presenting Personalized Content during Idle Time for Assistant Systems
US20230236555A1 (en) Event-Based Reasoning for Assistant Systems
US20240161742A1 (en) Adaptively Muting Audio Transmission of User Speech for Assistant Systems
TW202240461A (zh) 使用輔助系統的語音和手勢輸入之文字編輯

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant