CN110050303B - 基于第三方代理内容的语音到文本转换 - Google Patents

基于第三方代理内容的语音到文本转换 Download PDF

Info

Publication number
CN110050303B
CN110050303B CN201780076180.3A CN201780076180A CN110050303B CN 110050303 B CN110050303 B CN 110050303B CN 201780076180 A CN201780076180 A CN 201780076180A CN 110050303 B CN110050303 B CN 110050303B
Authority
CN
China
Prior art keywords
text
speech
additional
content
agent
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
CN201780076180.3A
Other languages
English (en)
Other versions
CN110050303A (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 CN202311011370.0A priority Critical patent/CN117059097A/zh
Publication of CN110050303A publication Critical patent/CN110050303A/zh
Application granted granted Critical
Publication of CN110050303B publication Critical patent/CN110050303B/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
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)
  • Telephonic Communication Services (AREA)

Abstract

实施方式涉及动态地并且以上下文敏感的方式偏置语音到文本转换。在一些实施方式中,语音到文本转换的偏置由本地代理的语音到文本引擎执行,并且偏置至少部分地基于由与本地代理网络通信的第三方(3P)代理提供给本地代理的内容。在这些实施方式中的一些实施方式中,内容包括由3P代理提供的上下文参数结合在以下的对话期间由3P代理生成的响应内容:3P代理与支持语音的电子设备的用户之间;并由本地代理协助。上下文参数指示待响应于由3P代理生成的响应内容而提供的另外的语音输入的潜在特征。本文所述的实施方式减少了各种计算资源的使用,否则这些计算资源可能被语音输入的不准确表示所消耗(例如,可能由校正语音输入的不准确表示所必需的附加“回合”所消耗的网络流量)。

Description

基于第三方代理内容的语音到文本转换
背景技术
诸如智能电话、车辆计算系统、可穿戴设备、平板电脑和独立语音激活扬声器的支持语音的电子设备正变得越来越普遍。支持语音的电子设备通常包括“本地”代理和/或与之网络通信,该“本地”代理促进用户与设备的基于语音的交互的各个方面。本地代理可以经由支持语音的电子设备本身和/或经由与支持语音的电子设备网络通信的一个或多个远程计算设备(例如,“云”中的计算设备)来实现。
本地代理在以下意义上是“本地的”:其直接接收经由支持语音的电子设备提供的语音输入(例如,人类语音的流媒体音频录音),至少初始地处理所接收的语音输入,并且提供响应于所接收的语音输入的输出以经由电子设备(例如,可听和/或图形的)呈现。例如,本地代理可以通过至少执行将语音输入转换为文本的语音到文本(也称为话音到文本)转换来初始地处理所接收的语音输入。还例如,本地代理可以进一步提供响应于该语音输入的输出。例如,本地代理本身可以生成响应内容,并且生成基于该响应内容的输出。
发明内容
本说明书通常涉及动态地并且以上下文敏感的方式偏置语音到文本转换的各种实施方式。语音到文本转换是对应的语音输入中的每一个,其基于对应的用户的口头输入并且由支持语音的电子设备(在本文中也被称为“电子设备”)的麦克风和/或其他换能器捕获。
在各种实施方式中,语音到文本转换的偏置由本地代理的语音到文本引擎执行,并且偏置至少部分地基于由与本地代理网络通信的第三方(3P)代理提供给本地代理的内容。在这些实施方式中的一些实施方式中,内容包括由3P代理提供的上下文参数结合在以下的对话期间由3P代理生成的响应内容:在3P代理与支持语音的电子设备的用户之间;并由本地代理协助。上下文参数指示待响应于由3P代理生成的响应内容而提供的另外的语音输入的潜在特征。
作为一个示例,本地代理可以与电子设备和3P代理两者网络通信。在促进3P代理与电子设备的用户之间的对话中,本地代理可以执行下述的一次或多次迭代:从电子设备接收语音输入;(可选地,基于3P代理提供上下文参数的最新迭代)将语音输入转换为文本;将至少部分转换后的文本(以及可选的附加内容)传送到3P代理;响应于该传送,从3P代理接收响应内容(以及可选地,动态更新的上下文参数);并且提供基于响应内容的输出(例如,当响应内容是文本格式时,执行文本到语音转换,并且将转换后的语音输出提供给电子设备以可听的呈现)。
因此,对于旨在传送到3P代理的所接收的语音输入,本地代理的语音到文本引擎可以将该语音输入转换为文本,同时考虑与该语音输入相关的3P代理的上下文参数。这可以提高语音到文本引擎执行的语音到文本转换的准确性和稳健性。例如,语音到文本引擎可以修改用在语音到文本转换中使用的语音到文本模型的一个或多个值和/或由语音到文本模型生成的一个或多个值-并且可以修改这些值以增加符合3P代理的上下文参数的文本被选择为符合所接收的语音输入的文本的可能性。此外,在各种实施方式中,上下文参数可以在对话的每个“回合(turn)”时由3P代理动态地更新(并且提供给本地代理),从而使本地代理能够在每个回合时调整语音到文本转换,以更适合于在该回合接收的可能的语音输入。如本文中更详细所述,上下文转换的文本可以由本地代理传送到3P代理,并且3P代理可以生成基于该上下文转换的文本的另外的响应内容。本文所述的实施方式增加了提供给3P代理的上下文转换的文本是对应的语音输入的准确表示的可能性,并且因此是该对应的语音输入所基于的口头输入的准确表示。这可以提高3P代理的性能和/或减少了各种计算资源的使用,否则这些计算资源可能被语音输入的不准确表示所消耗(例如,可能由校正语音输入的不准确表示所必需的附加“回合”所消耗的网络流量)。
如本文所使用的,3P代理是指由与管理本地代理的一方分开的一方管理的一个或多个计算设备和/或相关联的软件。3P代理被配置为从本地代理接收转换的文本和/或其他内容。响应于接收转换的文本和/或其他内容,3P代理基于接收的转换的文本和/或其他内容生成内容,并且将所生成的内容传送到本地代理,以由本地代理提供基于3P代理传送的内容的输出。3P代理和本地代理可以彼此进行选择性网络通信。在一些实施方式中,本地代理和3P代理可以经由一个或多个应用编程接口(API)交换数据。
3P代理通常可以被配置为执行一个或多个特定功能,诸如,例如:预约餐馆预订;点餐;购买电影票;采购服务;请求服务(例如运输);管理用户的文本、电子邮件或其他电子通信;为用户的任务提供指导(例如,混合饮料、固定漏水的水龙头)等。如本文所述,在一些实施方式中,本地代理可以响应于用户(例如,经由用户经由电子设备提供的语音输入)调用3P代理,发起并且促进用户(经由电子设备)与3P代理之间的对话。在这些实施方式中的一些实施方式中,调用可以是语音输入中出现用于3P代理的“关键字”和/或引用由3P代理管理的动作和/或项目。例如,可以通过“与电影票务代理谈话”(其中,“电影票务代理”是3P代理的关键字)、“购买一些电影票”(其中,“电影票”是由3P代理管理的项目)、“使用电影票务代理购买门票”等的语音输入来调用电影票购买代理。
在一些实施方式中,提供一种由一个或多个处理器执行的方法并且包括:接收由用户经由支持语音的电子设备提供的语音输入;执行语音到文本转换以将所述语音输入转换为文本;经由一个或多个网络接口,将所述文本传送到第三方代理;以及响应于传送所述文本,从所述第三方代理接收内容。所述接收是经由一个或多个网络接口并且所述内容包括响应于所述文本的响应内容。该方法进一步包括提供基于所述响应内容的输出,以经由所述支持语音的电子设备呈现给用户;接收由用户经由所述支持语音的电子设备提供的并且由所述用户响应于所述输出提供的另外的语音输入;以及使用从所述第三方代理接收的内容执行附加的语音到文本转换,以将所述附加的语音输入转换为附加的文本。
本文公开的技术的这些和其他实施方式可以可选地包括一个或多个下述特征。
在一些实施方式中,从所述第三方代理接收的所述内容进一步包括除所述响应内容之外的上下文参数,所述上下文参数指示待响应于所述响应内容而提供的另外的语音输入的一个或多个潜在特征。在一些上下文参数实施方式中,使用所述内容执行所述另外的语音到文本转换包括使用所述上下文参数来执行所述附加的语音到文本转换
在一些上下文参数实施方式中,在执行所述附加的语音到文本转换中使用语音到文本模型,以及使用所述上下文参数来执行所述附加的语音到文本转换包括:基于所述上下文参数,偏置在所述语音到文本模型上生成的值。在这些实施方式的一些版本中,由所述上下文参数指示的所述一个或多个潜在特征包括特定令牌,并且基于所述上下文参数,偏置在所述语音到文本模型上生成的值包括:修改对在所述语音到文本模型上的特定令牌生成的得分。从所述第三方代理接收的上下文参数可以包括特定令牌和/或语义类型的令牌。当上下文参数包括语义类型的令牌时,该方法可以进一步包括基于与所述语义类型相关联地存储的特定令牌来确定所述特定令牌。例如,可以基于与所述用户和所述语义类型两者均相关联地存储的所述特定令牌和/或基于由所述第三方代理与所述语义类型相关联地先前提供的所述特定令牌,确定所述特定令牌。
在一些上下文参数实施方式中,由所述上下文参数指示的所述一个或多个潜在特征包括表明所述语音到文本模型中的所述另外的语音输入的潜在路径的状态路径指示。
在一些上下文参数实施方式中,使用所述上下文参数来执行所述附加的语音到文本转换包括使用所述上下文参数和附加的用户参数两者,将所述附加的语音输入转换为所述附加的文本,所述附加的用户参数被分配给所述用户或所述设备并且与从所述第三方代理接收的所述内容无关地分配。在这些实施方式的一些实施方式中,所述附加的用户参数基于下述中的至少一个:与所述用户相关联的位置以及与所述用户相关联的附加的电子设备。
在一些上下文参数实施方式中,作为从所述第三方代理接收的单次传输的一部分,接收所述响应内容和所述上下文参数。
在一些实施方式中,在执行附加的语音到文本转换中使用语音到文本模型,并且使用所述内容来执行所述附加的语音到文本转换包括:基于所述内容生成上下文语音到文本模型;以及基于所述语音到文本模型和所述上下文语音到文本模型,选择所述附加的文本。
在一些实施方式中,使用所述内容来执行所述附加的语音到文本转换包括:基于所述内容利用偏置将所述语音输入的第一段转换为所述附加的文本的第一文本段;以及基于所述内容不利用偏置将所述语音输入的第二段转换为所述附加的文本的第二段。所述语音输入的所述第二段可以在所述第一段之后。在这些实施方式的一些实施方式中,该方法进一步包括:基于包括在所述内容中的上下文参数,确定不偏置所述语音输入的第二段。确定不偏置所述第二段可以是基于指示在符合所述第一文本段的语音输入段之后,不应当发生上下文偏置的上下文参数。
在一些实施方式中,提供一种由一个或多个处理器实现的方法,包括:存储上下文参数与第三方代理的调用的关联;接收由用户经由支持语音的电子设备提供的语音输入;使用语音到文本模型且不基于所述上下文参数偏置所述语音到文本模型,将所述语音输入的第一段转换为文本;以及确定所述文本符合调用。该方法进一步包括响应于确定所述文本符合所述第三方代理的调用并且响应于上下文参数与所述调用相关联地存储:使用所述语音到文本模型并且使用所述上下文参数来偏置所述语音到文本模型,将所述语音输入的第二段转换为附加的文本。所述语音输入的第二段在所述第一段之后,并且该方法进一步包括将所述附加的文本的至少一部分传送到所述第三方代理。
在一些实施方式中,所述调用是对由所述第三方代理管理的动作和/或项目的引用。
此外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,该指令被配置为使得执行任何上述方法。一些实施方式还包括存储计算机指令的一个或多个非瞬时性计算机可读存储介质,所述计算机指令可由一个或多个处理器执行以执行任何上述方法。
应当意识到,本文更详细描述的上述概念和附加的概念的所有组合都被认为是本文公开的主题的一部分。例如,出现在本公开的最后的要求保护的主题的所有组合都被认为是本文公开的主题的一部分。
附图说明
图1是可以实现本文公开的实施方式的示例性环境的框图。
图2是示出基于第三方代理提供的内容,动态地调整语音到文本转换的示例性方法的流程图。
图3是示出使用从第三方代理接收的上下文参数来偏置语音到文本转换的示例性方法的流程图。
图4是示出基于语音输入的第一部分的语音到文本转换来检测第三方代理的调用并且基于检测到该调用:使用与调用相关联地存储的上下文参数来执行语音输入的第二部分的语音到文本转换的示例性方法的流程图。
图5是示出从本地代理接收文本,并且响应于接收到文本而向本地代理提供响应内容以及可选地提供上下文参数的示例性方法的流程图。
图6示出了根据本文公开的实施方式的用户,支持语音的电子设备,以及可以由与支持语音的电子设备相关联的本地代理促进的用户和第三方代理之间的对话。
图7示出了计算设备的示例性架构。
具体实施方式
如上所述,支持语音的电子设备通常包括一个或多个本地代理和/或与一个或多个本地代理网络通信,所述本地代理促进用户与电子设备的基于语音的交互的各个方面。本地代理可以经由电子设备本身和/或经由与电子设备网络通信的一个或多个远程计算设备来实现。本地代理在以下意义上是“本地的”:其直接接收经由电子设备提供的语音输入,至少初始地处理所接收的语音输入,并且提供响应于所接收的语音输入的输出以呈现。例如,本地代理可以通过至少执行该语音输入到文本的语音到文本转换来初始地处理所接收的语音输入。本地代理可以进一步提供基于响应于该语音输入的响应内容的输出。
在一些情况下,本地代理可以在安排3P代理的情况下生成响应内容。例如,本地代理本身可以响应于所接收的语音输入来生成响应内容。例如,本地代理可以包含一个或多个引擎,其接收所接收的语音输入的文本转换(以及可选地,文本的注释),并且基于文本和/或其他因素(例如,较早的对话、用户偏好等)来生成本地响应内容。作为一个示例,本地代理可以生成响应内容以尝试能够适当选择3P代理。例如,假设语音输入“去芝加哥的票”。本地代理可以响应于这样的语音输入来生成本地响应内容,诸如“你想要机票、火车票还是剧院门票”,以使本地代理能够“区分”多个可用的3P“票务”代理。然后,本地代理可以利用响应语音输入来选择适当的3P代理(例如,响应于响应语音输入“飞机”,选择“航空代理”)。
然而,在一些情况下,本地代理可以替代地安排3P代理来响应于所接收的语音输入来生成响应内容。例如,如果所接收的语音输入包括3P代理调用(例如,3P代理的“关键字”或对3P代理管理的动作和/或项目的引用),则本地代理可以将语音输入的文本转换的至少一部分(以及可选地,文本的注释和/或其他参数)传送到3P代理。然后,该3P代理可以利用所提供的文本及其自己的语义引擎来生成3P响应内容,并且将该3P响应内容传送到本地代理。然后,本地代理可以提供基于3P响应内容的输出。如果输出是向用户请求附加的3P相关语音输入的提示,则可以将该附加的语音输入再次由本地代理转换为文本并且提供给3P代理。该一般过程可以继续,直到例如3P代理提供终止3P代理会话的响应内容(例如,答案或解决方案而不是提示),用户的附加的语音输入终止3P代理会话(例如,替代地调用来自本地代理或其他3P代理的响应)等。
作为一个示例,假设初始语音输入为“预订8点的桌子”,其调用3P“餐厅预订”代理。本地代理可以将该语音输入的至少一些文本转换提供给3P代理。3P代理可以生成响应内容并且将响应内容提供给本地代理。例如,3P代理可以提供文本“有什么美食偏好吗?”。然后,本地代理可以提供基于该响应内容的输出,诸如文本“有什么美食偏好吗?”的语音转换。响应于输出“美食偏好”,可以提供对应于“老挝菜”的附加的语音输入,该附加的语音输入由本地代理转换为附加的文本,以及将至少一些附加的文本提供给3P代理以生成另外附加地响应内容。
因此,在各种情况下,本地代理可以执行所接收的语音输入的话音到文本转换,并且将至少一些转换的文本提供给3P代理。本文公开的实施方式认识到,在一些情况下,利用由3P代理提供的内容来提高由本地代理执行的话音到文本转换的准确性和/或查全率可能是有益的。在一些实施方式中,内容可以是由3P代理提供的上下文参数的形式。在这些实施方式中的一些实施方式中,由3P代理结合3P代理提供的响应内容来提供上下文参数,并且上下文参数指示待响应于响应内容而提供的另外的语音输入的潜在特征。在一些实施方式中,可以附加地或替代地从3P代理响应内容本身收集上下文参数。
作为一个示例,假设3P代理向本地代理传送“什么菜系?”的响应内容。3P代理还可以(在相同或单独的传输中)传送对应于响应内容并且指示“什么菜系?”的响应语音输入的潜在特征的上下文参数。例如,上下文参数可以包括一个或多个显式令牌(例如,“意大利”、“墨西哥”、“BBQ”、“老挝”、“亚洲风”)、语义类型令牌(例如,“菜系”)和/或状态解码图语音到文本模型的路径(例如,对应于食物和/或烹饪的路径)。本地代理可以利用这些上下文参数来偏置响应于提供对应于“什么菜系?”的输出而实际接收的响应语音输入的语音到文本转换。例如,在语音到文本转换中,相对于“非烹饪”令牌,更可能选择“烹饪”令牌。例如,在没有基于“烹饪”的偏置的情况下,用户试图说“老挝”的语音输入的语音到文本转换可以是文本“度假”。然而,通过基于“烹饪”的偏置,该语音输入的语音到文本转换可以替代地正确地将语音输入转换为文本“老挝”。如本文所述,偏置可以采取各种形式,诸如修改对语音到文本模型上的文本“老挝”生成的得分和/或将“老挝”添加到语音到文本模型。例如,如果“老挝”是不包括在语音到文本模型中的“词汇外”令牌,则可以将其添加到语音到文本模型。将“老挝”添加到语音到文本模型可以包括修改语音到文本模型本身或者有效地“附加”单独的上下文参数语音到文本模型。
在一些实施方式中,假定上下文参数和“用户参数”都可以被用于偏置语音到文本转换。例如,假设从3P代理接收的上下文参数包括语义类型“餐馆”。进一步假设用户参数包括用户的位置--诸如用户的当前位置或“家”位置--附近的餐馆的名称的令牌。例如,可以与用户相关联地并且与语义类型“餐馆”相关联地预先存储用户附近的餐馆的名称。基于包括“餐馆”语义类型的上下文参数,并且基于被索引或以其他方式存储在用户参数中的“附近”餐馆的名称,可以使用用户的位置附近的餐馆名称来偏置语音到文本转换。可以提供附加的和/或替代的用户参数,其可以与对应的语义类型和/或一个或多个3P代理相关联地存储。例如,可以由特定3P代理控制的用户的电子设备的名称可以与语义类型相关联地存储和/或与特定3P代理相关联地存储。此外,例如,用户的联系人的姓名可以与语义类型“联系人”相关联地存储。例如,假设从3P代理接收的上下文参数包括语义类型“联系人”,那么可以使用用户的联系人的姓名偏置语音到文本转换。
在一些实施方式中,假定上下文参数和先前提供的3P上下文参数都可以被用于偏置语音到文本转换。例如,假设从3P代理接收的上下文参数包括语义类型“披萨配料”。进一步假设3P代理先前提供名为“披萨配料”的由3P代理提供的令牌以供本地代理使用。基于包括“披萨配料”语义类型的上下文参数,并且基于与该语义类型相关联地索引或以其他方式存储的(并且可选地与3P代理相关联)“披萨配料”的名称,可以使用这些披萨配料的名称来偏置语音到文本转换。
在一些实施方式中,所提供的上下文参数可以包括上下文参数“类型”的各种组合。例如,所提供的上下文参数可以包括显式令牌和语义令牌。例如,所提供的上下文参数可以是“是的在$餐馆的桌子(yes a table at$restaurant)”,其指示显式令牌序列“是的在…的桌子(yes a table at)”,其后是语义类型“餐馆(restaurant)”。在这种情况下,响应于检测到转换的文本“yes a table at”,语音到文本转换最初可能基于“yes a tableat”被偏置,然后偏置到“餐馆名称”(可选地,基于用户参数选择那些餐馆名称)。在一些实施方式中,所提供的上下文参数可以附加地和/或替代地指示应该对语音输入的某些部分执行偏置,而不对其他部分执行偏置。例如,上下文参数可以是“message $contact$someraw text”的形式,其指示语音输入可以包括令牌“消息(message)”,后面是“联系人(contact)”令牌(例如,存储在用户参数中的用户的联系人的姓名),接着是“打开文本(open text)”。在这种情况下,语音到文本转换最初可能偏向于令牌“消息”。响应于检测到“消息”令牌,然后,语音到文本转换可以偏向于作为用户的联系人的名称的令牌。然后,响应于检测到联系人令牌,(例如,基于基线语音到文本模型)可以不偏置语音到文本转换。
可以利用各种技术来使用上下文参数来偏置语音到文本转换。例如,在一些实施方式中,可以对“基本”语音到文本模型上的候选令牌和/或令牌序列的全部或部分生成得分,然后基于上下文参数修改那些得分。在这些实施方式中的一些实施方式中,上下文参数可以用于生成上下文参数语言模型,并且在上下文参数语言模型上生成的得分用于修改在基本语音到文本模型上生成的得分。作为另一示例,在一些实施方式中,可以将由上下文参数指示的一个或多个令牌添加到基本语音到文本模型(例如,作为“词汇外”词项添加到模型)。可以利用附加的和/或替代技术,诸如基于上下文参数修改包括在语音到文本模型中的值、修改与语音到文本模型中的各种路径和/或语义类型相关联的值等。
现在转到图1,示出了可以实现本文公开的技术的示例性环境。示例性环境包括支持语音的电子设备106(本文也被称为设备106)、本地代理110和第三方(3P)代理130。
尽管图1中将本地代理110示为与设备106分离,但在一些实施方式中,本地代理110的全部或多个方面可以由设备106实现。例如,在一些实施方式中,语音到文本引擎112可以由设备106实现。在本地代理110的一个或多个(例如,所有)方面由远离设备106的一个或多个计算设备实现的实施方式中,设备106和本地代理110的那些方面经由一个或多个网络,诸如广域网(WAN)(例如,因特网),进行通信。
尽管与本地代理110结合示出仅一个设备106,但是在许多实施方式中,本地代理110可以是远程的并且可以与多个用户的多个支持语音的电子设备中的每一个接合。例如,本地代理110可以经由不同会话管理与多个设备中的每个设备的通信,并且可以并行地管理多个会话。例如,在一些实施方式中,本地代理110可以被实现为采用云基础设施的基于云的服务,例如,使用运行适合于处理来自多个用户的大量请求的软件的高性能计算机的服务器群或集群。然而,为了简化起见,参考单个设备106描述本文中的许多示例。
本地代理110与3P代理130分离,并且经由一个或多个网络(诸如WAN)与3P代理130通信。在许多实施方式中,3P代理130由与管理本地代理110的一方分开的一方管理。尽管在图1中仅示出了单个3P代理110,但在许多实施方式中,本地代理110可以选择性地与多个3P代理中的每一个进行通信。例如,本地代理110可以在第一时间段期间,促进设备106和3P代理130之间的对话,可以在第二时间段期间,促进设备106和附加的3P代理之间的对话等。然而,为简化起见,参考单个3P代理130描述本文中的许多示例。
本地代理110可以包括语音到文本引擎112、本地解析器引擎114、本地动作引擎116和输出引擎118。在一些实施方式中,本地代理110的一个或多个引擎可以在与本地代理110分开的组件中被省略、组合和/或实现。
如图1所示,本地代理110从设备106接收语音输入的实例。例如,本地代理可以接收以流媒体音频录音的形式的语音输入。响应于从捕获设备106的用户的口头输入的设备106的麦克风接收的信号,可以由设备106生成该流媒体音频录音。在一些实施方式中,可以响应于设备106的用户对本地代理110的显式调用,可以由设备106生成语音输入和/或将语音输入提供给本地代理110。例如,调用可以是电子设备检测到用户的某些语音输入(例如,本地代理110关键字,诸如“嘿助手”)、与硬件按钮和/或虚拟按钮的用户交互(例如,敲击硬件按钮、选择由设备106显示的图形界面元素)、和/或其他特定的用户界面输入。
仍然如图1所示,本地代理110响应于从设备106接收到语音输入的实例,提供输出的实例。输出的实例可以是(例如,经由设备106的扬声器输出)例如由设备106可听地呈现的音频、由设备106图形的呈现(例如,经由设备106的显示器渲染)的文本和/或图形内容等。如本文所述,输出的一些实例可以基于由本地代理110生成的本地响应内容,而输出的其他实例可以基于由3P代理130生成的3P响应内容。
语音到文本引擎112接收语音输入的实例(例如,以数字音频数据的形式),并且将语音输入转换为包括一个或多个文本单词或短语(本文也被称为令牌)的文本。在一些实施方式中,语音到文本引擎112是流媒体语音到文本引擎。流媒体语音到文本引擎在逐个令牌的基础上并且实时地或接近实时地将语音输入转换为文本,使得令牌可以与用户的话音同时地并且因此在用户发出完整口头请求之前有效地输出。语音到文本引擎112可以依赖于一个或多个存储的语音到文本模型152(也被称为语言模型)。每个语音到文本模型152可以模拟音频信号与语言中的发音单元之间的关系,以及该语言中的单词序列。在一些实施方式中,可以提供单个语音到文本模型152,而在其他实施方式中,可以提供多个语音到文本模型152(例如,以支持多种语言)。
在一些实施方式中,语音到文本模型152中的一个或多个可以实现,例如,定义将数字音频数据映射到文本单词或短语的多个路径的有限状态解码图。在一些实施方式中,语音到文本模型152可以包括基本模型,该基本模型可以选择性地与(例如,至少部分地基于3P上下文参数生成的)上下文敏感模型耦合,和/或其输出可以被上下文敏感模型选择性地修改。基本模型可以支持主要词汇,其包括可能由用户说出的相对常见的单词和短语。另一方面,上下文敏感模型可以包括用于一个或多个单词或短语的路径,其可以被用来有效地增加特定上下文的基本模型的词汇。基本模型可以与上下文敏感模型集成或以其他方式补充的方式可以在不同的实施方式中变化,例如,基于路径被编码到模型中的方式。
语音到文本引擎112基于语音到文本模型152,并且不执行基于用户参数158和/或由3P代理130提供的内容(例如,由3P代理130提供的3P上下文参数)的任何偏置,将语音输入的一些实例转换为文本。然而,对于语音输入的一些其他实例,语音到文本引擎112在语音输入到文本的转换中使用由3P代理130提供的内容和/或用户参数158。例如,语音到文本引擎112可以基于在接收到该语音输入之前由3P代理130提供的3P上下文参数来偏置该语音输入的语音到文本转换。例如,语音到文本引擎112可以在语音到文本模型152上并且基于该语音输入,生成候选令牌和/或令牌序列的全部或部分的得分,并且基于所接收的3P上下文参数来修改那些得分。语音到文本引擎112可以使用附加的和/或替代的技术,以基于由3P代理提供的内容来将语音输入转换为文本。参考图2-4的方法200、300和400,描述语音到文本引擎112的实施方式的附加的描述。
尽管语音到文本引擎112将话音转换为文本,但是为了确定对文本的适当响应,本地解析器引擎114尝试辨别由引擎112输出的文本的语义或含义。例如,本地解析器引擎114可以尝试辨别文本的语义以确定文本是否调用3P代理、文本是由本地代理110本地处理还是由3P代理远程处理、和/或确定与文本相关联的其他动作和/或属性。本地解析器引擎114可以依赖于一个或多个存储的语法模型154来将文本映射到特定动作并且识别约束这些动作的执行的属性,例如,这些动作的输入变量。在一些实施方式中,可以提供单个语法模型154,而在其他实施方式中,可以提供多个语法模型154(例如,以支持不同的动作或动作域)。
作为示例,语法模型154可以支持用于调用各种3P代理的动作。例如,本地解析器引擎114可以接收令牌序列并且将令牌序列映射到与3P代理130建立通信会话并且促进3P代理110与设备106之间的对话的动作。作为另一示例,语法模型154可以可选地支持本地动作,诸如“设置提醒”动作,该本地动作具有指定要设置何种类型地提醒的提醒类型参数、指定与提醒相关联的一个或多个项目的项目参数、以及指定激活提醒并且提醒用户的时间的时间参数。例如,本地解析器引擎114可以接收令牌序列,诸如“提醒我”、“挑选”、“面包”和“下班后”,并且将令牌序列映射到设置提醒的动作,该提醒具有设置为“购物提醒”的提醒类型参数、设置为“面包”的项目参数以及“下午5:00”的时间参数,使得当天下午5:00,用户接收到“购买面包”的提醒。
本地动作引擎116可以协同本地解析器引擎114工作,并且执行由本地解析器引擎114提供的解析文本指示的一个或多个动作(例如,动作和动作参数)。例如,如果本地解析器引擎114确定文本调用3P代理130并且包括传递给3P代理130的动作参数,则本地动作引擎116可以与3P代理建立通信会话并且将动作参数传送到3P代理。对于本地动作,本地动作引擎116可以生成本地响应内容并且将该本地响应内容提供给输出引擎118,以经由设备106,向用户提供对应的输出以呈现。本地动作引擎116可以利用一个或多个存储的内容模型156来生成本地内容和/或执行其他动作。例如,内容模型156可以包含用于创建本地响应内容的各种规则。
输出引擎118向设备106提供输出的实例。输出的实例可以基于(来自本地动作引擎116的)本地响应内容和/或(例如,来自3P代理130或其他3P代理的)3P响应内容。在一些实施方式中,输出引擎118可以包括文本到语音引擎,其将响应内容的文本成分转换为音频格式,并且由输出引擎118提供的输出是以音频格式(例如,作为流媒体音频)。在一些实施方式中,响应内容可能已经是音频格式。在一些实施方式中,输出引擎118另外地或替代地提供文本回复内容作为输出(可选地,用于由设备106转换为音频)和/或提供输出以供设备106图形显示。
当本地代理110促进设备106和3P代理110之间的对话时,语音到文本引擎112将在对话期间接收的语音输入的实例转换为文本,并且本地代理110将该文本的至少一些提供给3P代理130。此外,3P代理130向本地代理110提供3P响应内容的实例,并且输出引擎118基于3P响应内容的对应实例来生成输出的实例。在一些情况下,还可以将来自本地解析器引擎114和/或本地动作引擎116的输出提供给3P代理110(例如,以促进3P代理110对文本的语义理解)。然而,在其他情况下,可以仅提供来自语音到文本引擎112的转换文本(例如,3P代理130执行其自己的语义处理)。
3P代理130可以包括3P上下文参数引擎132和3P内容引擎134。在一些实施方式中,可以组合引擎132和134。在许多实施方式中,3P代理130可以包括附加的引擎,诸如其自己的本地解析器引擎。此外,在许多实施方式中,3P代理130可以在生成3P上下文参数和/或3P响应内容时访问各种存储的模型和/或其他资源(例如,其自己的语法模型和/或内容模型)。
响应于由本地代理110提供的文本(以及可选地附加的内容),3P内容引擎134生成响应于文本的3P响应内容。3P内容引擎134可以在生成3P响应内容时利用3P语法模型和/或内容模型。
对于一些3P响应内容,3P上下文参数引擎132提供3P上下文参数,其指示响应于该3P响应内容而提供的另外的语音输入的一个或多个潜在特征。3P上下文参数引擎132可以利用3P代理的一个或多个模型来确定适合于给定3P响应内容的上下文参数。例如,3P代理的语法模型可以将3P响应内容的实例映射到对应的3P上下文参数。
作为一些示例,假设3P代理130提供“餐馆预订”功能。对于“什么时间”的3P响应内容,可以对其映射上下文参数以指示语义类型“时间”。它们可以由3P代理130传送到本地代理110以供语音到文本引擎112使用,以使(响应于基于“什么时间”的输出而接收的)至少一些响应语音输入的语音到文本转换偏向于具有语义类型“时间”的令牌(例如,对于“eight”的语音输入,与“ate”相比,偏向“8:00”)。对于“任何座位偏好”的3P响应内容,可以向其映射指示诸如“户外”、“露台座位”、“室内”、“包间”、“桌子”等的显式令牌的上下文参数。它们可以由3P代理130传送到本地代理110,以由语音到文本引擎112使用来使(响应于基于“任何座位偏好”的输出而接收的)至少一些响应语音输入的语音到话音转换偏向那些令牌。对于“哪个餐厅”的3P响应内容,可以向其映射指示语义类型“餐馆”的上下文参数。它们可以由3P代理130传送到本地代理110以供语音到文本引擎112使用来使得(响应于基于“哪个餐厅”的输出而接收的)至少一些响应语音输入的语音到话音转换偏向餐馆的名称。例如,语音到文本引擎112可以可选地利用“餐馆”语义类型和用户参数158来识别和偏向与用户相关联地存储的餐馆名称(例如,用户“本地”的餐馆)。此外,例如,语音到文本引擎112可以另外地或替代地可选地利用“餐馆”语义类型和先前提供的3P代理130支持的餐馆名称来识别和偏向与3P代理130相关联地存储的餐馆名称。
在一些实施方式中,语音到文本引擎112可以(除了3P上下文参数之外或代替3P上下文参数)基于3P响应内容本身,附加地或替代地推断3P上下文参数。例如,基于“哪个餐厅?”的3P响应内容中“餐馆”的存在,语音到文本引擎112可以利用用户参数158来识别和偏向与用户相关联地存储的餐馆名称。在一些实施方式中,在语音到文本引擎112基于3P响应内容本身推断3P上下文参数的情况下,3P代理130可以可选地省略3P上下文参数引擎132并且可以不传送除了3P响应内容外的3P上下文参数。
在图1中,3P响应内容被示为被提供给输出引擎118,并且3P上下文参数被示为被提供给语音到文本引擎112。然而,在一些实施方式中,3P响应内容和3P上下文参数均被直接提供给本地代理110,然后本地代理110将它们提供给它的一个或多个引擎。例如,本地代理110可以向语音到文本引擎112提供3P上下文参数和3P响应内容两者。当3P响应内容和3P上下文参数均被传送到本地代理110时,它们可以在单个传输中或在单独的传输中被传送。
现在转到图2-5,描述可以由图1的环境的组件执行的方法的示例。
图2是示出基于第三方代理提供的内容,动态地调整语音到文本转换的示例性方法200的流程图。为方便起见,参考执行该操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如本地代理110的一个或多个组件。此外,尽管方法200的操作以特定顺序示出,但这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
在框252处,系统接收语音输入。例如,系统可以接收以流媒体音频数据的形式的语音输入,所述语音输入基于由支持语音的电子设备的换能器感测到的口头输入而由该设备生成。
在框254处,系统将语音输入转换为文本。例如,系统的语音到文本引擎可以使用语音到文本模型,诸如有限状态解码图,将语音输入转换为文本。
在框256处,系统确定转换的文本是否调用3P代理。例如,系统可以基于转换的文本确定调用特定的3P代理,该转换的文本包括特定3P代理的关键字和/或对特定3P代理管理的动作和/或项目的引用。在一些实施方式中,系统可以在文本被转换时分析文本(例如,逐个令牌),并且可以基于来自语音输入的第一段的转换文本来确定3P代理的调用。在这些实施方式的一些实施方式中,系统可以可选地将用于3P代理的一个或多个预先存储的上下文参数用在执行语音输入的剩余段的语音到文本转换中。在图4的方法400中更详细地描述了其一个示例。
如果系统在框256处确定未调用3P代理,则系统进行到框258、260和262。在框258处,系统生成本地响应内容。例如,系统可以利用系统的本地语法模型和/或本地内容模型,生成本地响应内容。在框260处,系统提供基于本地响应内容的输出。例如,该输出可以是本地响应内容或本地响应内容的转换(例如,文本到话音转换)。提供该输出以经由支持语音的电子设备(例如,可听的或图形的)呈现。在框262处,系统等待附加的语音输入,并且在接收到附加的语音输入时返回到框252。
如果系统在框256处确定调用了3P代理,则系统进行到框270。在框270处,系统将至少一些转换后的文本提供给调用的3P代理。在一些实施方式中,系统可以结合文本提供附加的内容,所述文本诸如由系统的解析器引擎和/或其他组件生成的文本的语义标签。
在框272处,响应于在框270处向3P代理提供文本,系统从3P代理接收3P响应内容。3P响应内容响应于在框270处提供的文本并且可以由3P代理利用其自己的语义处理引擎和/或其自己的语义模型来生成。在一些实施方式中,在框272处,系统还从3P代理接收上下文参数。那些上下文参数可以结合3P响应内容提供,并且可以指示待响应于3P响应内容而提供的另外的语音输入的一个或多个潜在特征。在框272的一些迭代中,可以不接收上下文参数和/或可以指示“默认”上下文。例如,如果在框272处接收的3P响应内容是“告知”/“解决”而不是“询问”/“提示”,则3P代理可能不提供上下文参数,因为不预期针对3P代理的另外的语音输入。此外,例如,如果3P响应内容是“询问”/“提示”,则在一些情况下,3P代理可能仍然不提供上下文参数和/或指示应该使用“默认”上下文。例如,如果3P响应内容询问相对不受约束的问题(例如,“您想在电子邮件中说什么?”),则3P代理可以指示应该使用“默认”上下文。
在框274处,系统提供基于3P响应内容的输出。例如,输出可以是3P响应内容或3P响应内容的转换(例如,文本到话音转换)。提供输出以经由支持语音的电子设备(例如,可听的或图形的)呈现。
在可选框278处,系统确定是否预期在框276处等待附加的语音输入指向3P代理。在一些实施方式中,在框272处接收的响应内容可以指示是否预期指向3P代理的另外的语音输入。例如,响应内容可以指示是否是请求另外的3P代理相关的语音输入的“询问”/“提示”(在这种情况下,预期指向3P代理的另外的输入),或者可选地,不预期另外的3P代理相关的语音输入的“告知”/“解决”(在这种情况下,不预期指向3P代理的另外的输入)。
如果在框278处,确定不预期指向3P代理的另外的语音输入,则系统可以在接收到附加的语音输入(例如,再次调用系统的语音输入)时,返回到框252。
如果在框278处,确定预期指向3P代理的另外的语音输入,则系统在接收到附加的语音输入时进行到框280。在这些实施方式的一些实施方式中,系统还可以(例如,通过框274处的输出)提供命令,该命令使得支持语音的电子设备的麦克风(或其他换能器和/或相关联的组件)在预期接收另外的语音输入时被“打开”。在一些实施方式中,可以省略框278(例如,系统可以从框276进行到框280)。
在框280处,系统接收附加的语音输入。
在框282处,系统将在框280处接收的语音输入转换为文本。在框282的一些迭代中,系统基于在框272的最近迭代中接收的和/或从在框272的最近迭代中接收的3P响应内容推断的上下文参数,将框280的语音输入转换为文本。例如,系统可以基于显式包括在所接收的3P上下文参数中和/或由所接收的3P上下文参数以其他方式指示的令牌、状态路径和/或其他特征来偏置语音到文本转换。例如,系统可以使用在框254中使用的相同的语音到文本模型来生成令牌和/或令牌序列的得分,但是基于上下文参数来修改一个或多个所生成的得分。此外,例如,系统可以遍历语音到文本模型的一个或多个解码图,同时加权在上下文参数中指示的一个或多个状态路径。此外,例如,系统可以基于包括在上下文参数中或由上下文参数指示的令牌,有效地将一个或多个“值外”令牌添加到状态模型。
如本文所述,在一些实施方式中,系统可以可选地利用用户参数和/或先前提供的3P上下文参数,结合在框272处接收的内容,在框282中执行语音到文本转换。
此外,在框282的一些迭代中,系统可以利用在框272处接收的上下文参数来偏置语音输入的第一段的转换,但是在偏置语音输入的第二段时不利用所接收的上下文参数。例如,上下文参数可以指示语音输入可能包括“回复”令牌(例如,“回复”、“应答”、“告诉他/她”),然后是“打开文本”。在这种情况下,语音到文本转换可能最初偏向于“回复”令牌,但是,一旦在转换后的文本中检测到回复令牌,系统可能会切换到“无回复偏置”的语音到文本转换,因为“打开文本”被指示为可能在所检测的回复令牌后。“无回复偏置”语音到文本转换可以是例如基于基线语音到文本/语言模型的语音到文本转换。作为又一例子,上下文参数可以是“message$contact$some raw text”的形式,其指示语音输入可以包括令牌“消息”,后面是“联系人”令牌(例如,存储在用户参数中的用户的联系人的姓名),然后是“打开文本”。在这种情况下,语音到文本转换最初可能偏向于令牌“消息”。响应于检测到“消息”令牌,语音到文本转换然后可以偏向于作为用户的联系人的姓名的令牌。然后,响应于检测到联系人令牌,(例如,基于基线语音到文本模型)可以不偏置语音到文本转换。
在框282之后,系统进行到框270并且将来自框282的转换文本中的至少一些提供给3P代理,然后执行后续框的一次或多次迭代。如从上述描述和图2的流程图意识到,可以在每次迭代时动态地更新框282的语音到文本转换,以偏向更可能基于在框272的最近迭代中从3P代理接收的内容而接收的语音输入的特征。
图3是示出使用从第三方代理接收的上下文参数来偏置语音到文本转换的示例性方法300的流程图。为方便起见,参考执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如本地代理110的一个或多个组件(例如,语音到文本引擎112)。此外,虽然方法300的操作以特定顺序示出,但这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
方法300提供了如何利用(例如,在图2的方法200的框272的迭代处)从3P代理接收的上下文参数来(例如,在图2的方法200的框282的迭代处)偏置语音到文本转换的一些非限制性示例。
在框352处,系统从3P代理接收上下文参数。例如,系统可以在图2的方法200的框272处接收上下文参数。
在框354处,系统确定特定令牌是否包括在上下文参数中。如果是,则系统进行到框356并且基于所包括的令牌来偏置语音到文本转换。例如,系统可以有效地将所包括的令牌中的一些添加到基本语音到文本模型(例如,如果它们是词汇外令牌)和/或可以在语音到文本转换期间正向偏置所包括的令牌中的一些的得分。
系统还执行框358。在框358处,系统确定在上下文参数中是否指示了语义类型令牌。如果是,则系统进行到框360并且基于语义类型令牌来偏置语音到文本转换。在一些实施方式中,系统基于在语音到文本转换期间修改与语义类型相关联的令牌的得分或其他值来偏置语音到文本转换。在一些实施方式中,系统可以执行框361作为框360的一部分。在框361处,系统确定具有所存储的与语义类型的关联的令牌,并且可选地具有所存储的与下述的关联的令牌:3P代理(例如,由3P代理先前提供、与语义类型相关联)和/或用户(例如,先前与用户相关联地存储并且可选地存储在用户参数中的语义类型)。在这些实施方式中的一些实施方式中,所确定的令牌可以被用来以诸如参考框356所述的方式,偏置语音到文本转换。
系统还执行框362。在框362处,系统确定是否在上下文参数中指示状态路径。如果是,则系统进行到框364并且基于状态路径偏置语音到文本转换。例如,语音到文本转换可以利用具有多个状态路径的有限状态解码图和/或其他模型,并且可以在使用这样的模型的语音到文本转换期间,偏向在3P上下文参数中指示的那些状态路径中的一个或多个。
系统还执行框366。在框366,系统确定其他上下文参数是否包括在上下文参数中。如果是,则系统进行到框368并且基于那些上下文参数来偏置语音到文本转换。
在方法300的许多实施方式和/或迭代中,可以在语音到文本转换的全部或部分期间执行框356、360、364和368中的多个。例如,从3P代理接收的上下文参数可以包括特定令牌和语义类型令牌,并且可以执行框356和360两者。在一些实施方式中,可以省略方法300的一个或多个框。例如,在一些实施方式中,可以不支持状态路径,并且可以省略框362和364。
图4是示出基于语音输入的第一部分的语音到文本转换来检测第三方代理的调用并且基于检测到该调用:使用与调用相关联地存储的上下文参数来执行语音输入的第二部分的语音到文本转换的示例性方法400的流程图。该系统可以包括各种计算机系统的各种组件,诸如本地代理110的一个或多个组件(例如,语音到文本引擎112)。此外,虽然方法400的操作以特定顺序示出,但这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
方法400提供了如何利用从语音输入的第一段/部分转换的文本中的3P代理调用来偏置语音输入的第二段/部分的语音到文本转换的一些非限制性示例。例如,可以在图2的方法200的框252、254和256期间执行方法400。
在框452处,系统开始接收语音输入。
在框454处,系统基于迄今接收的语音输入来生成并且输出下一文本令牌。
在框456处,系统确定在框454的一次或多次迭代中生成的文本令牌中是否存在3P代理调用。例如,系统可以基于包括特定3P代理的关键字和/或对特定3P代理管理的动作和/或项目的引用的文本令牌,确定调用特定3P代理。
如果系统确定不存在3P代理调用,则系统进行到框458并确定是否处理了整个语音输入(例如,不再有语音输入,并且自接收语音输入以来至少已经过了阈值持续时间)。如果是,则系统进行到框460并且将生成的文本提供给系统的本地引擎,诸如本地解析器引擎和/或本地动作引擎。如果不是,则系统返回到框454并且生成和输出下一文本令牌。
如果在框456的迭代中,系统确定已调用3P代理,则系统进行到框462。
在框462处,系统识别与3P代理调用相关联地存储的上下文参数。例如,对于“餐馆预订”,3P代理可以识别语义类型“时间”、“日期”、“餐馆名称”等。可以确定附加的或替代类型的上下文参数,诸如显式令牌、状态路径等。
在框464处,系统基于所识别的上下文参数,生成并且输出文本令牌的剩余部分。例如,系统基于在框462处识别的上下文参数来偏置语音输入的剩余(或尚未接收的)片段的语音到文本转换。
在框466处,系统将所生成的文本中的至少一些提供给所调用的3P代理。
图5是示出从本地代理接收文本,并且响应于接收到文本而向本地代理提供响应内容以及可选地提供参数的示例性方法500的流程图。该系统可以包括各种计算机系统的各种组件,诸如3P代理130的一个或多个组件。此外,虽然方法500的操作以特定顺序示出,但这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
在框552处,系统从本地代理接收文本。例如,系统可以接收在图2的方法200的框270处传送到3P代理的文本。
在框554处,系统基于在框552处从本地代理接收的文本,生成响应内容。在框554的一些迭代中,系统还可以生成上下文参数,所述上下文参数指示待响应于在框554处生成的响应内容而提供的进一步语音输入的一个或多个潜在特征。可以生成各种类型的上下文参数,诸如本文描述的那些。
在一些实施方式中,在框554处,系统基于一个或多个因素确定是否生成上下文参数。例如,如果生成的响应内容不提示用户进行附加的输入(即,是“告诉”/“解决”),则系统可以不生成用于提供所生成的响应内容的上下文参数。此外,例如,如果生成的响应内容请求“打开回复”,则系统可以不生成用于提供所生成的响应内容的上下文参数。替选地,代替不生成用于提供所生成的响应内容的上下文参数,系统可以替代地生成“默认”上下文参数,其指示不应当使用基于3P代理的偏置。在一些实施方式中,系统可以生成一个或多个上下文参数,其指示基于3P代理的偏置应当最初在语音输入的语音到文本转换中执行,并且一旦生成具有一个或多个属性(例如,为指示令牌)的转换文本,基于3P代理的偏置应该不再用在该语音输入的语音到文本转换中(例如,替代地应该使用“打开文本”偏置)。
在框556处,系统向本地代理提供框554的响应内容,以及可选地框554的上下文参数(如果有的话)。例如,可以在图2的方法200的框272的迭代中,将这样的内容传送到本地代理并且由本地代理接收。
图6示出了根据本文公开的实施方式的用户101,支持语音的电子设备606,以及可由与支持语音的电子设备606相关联的本地代理促进的用户101与第三方代理之间的对话。支持语音的电子设备606包括一个或多个麦克风和一个或多个扬声器。图1的本地代理110的一个或多个方面可以在计算设备606上和/或在与计算设备606网络通信的一个或多个计算设备上实现。因此,为了便于解释,在图6的描述中引用了本地代理110。
在图6中,用户提供“预订8点的桌子”的口头输入680A。对应于口头输入的语音输入由设备606生成并且提供给本地代理110(例如,作为流媒体语音输入)。在一些实施方式中,本地代理110可以使用图4的方法400来基于对应于口头输入的语音输入的第一部分(“预订桌子”)的语音到文本转换来确定特定3P代理的调用。此外,本地代理110可以基于确定特定3P代理的调用,基于与特定3P代理的调用相关联地存储的所存储的上下文参数,执行对应于口头输入的语音输入的第二部分(“8点”)的语音到文本转换。例如,上下文参数可以指示语义类型“时间”,并且上下文参数可以被用来偏置语音到文本转换以更可能将“eight”转换为“8:00”(或“20:00”)而不是“吃”。
响应输出682A由设备606以可听形式提供给用户。输出682A可以基于由本地代理110基于所调用的3P代理的3P响应内容而生成的音频数据。例如,响应于3P代理的调用,本地代理110可以将对应于口头输入680A的转换后的文本中的至少一些传送到3P代理,作为回复,接收文本“菜系偏好?”,并且将该文本(以及“介绍性”文本“这是小部件”应用)转换为音频数据。
响应于响应输出682A,用户提供另外的口头输入680B“老挝”。对应于口头输入的语音输入由设备606生成并且提供给本地代理110。在一些实施方式中,本地代理110可以利用来自用于生成响应输出682A的3P代理的响应内容,和/或结合响应内容接收的3P上下文参数,以执行语音输入的语音到文本转换。例如,假定3P上下文参数可能已经包括词汇外令牌“老挝”,并且可以在将词汇外令牌添加到语音到文本模型之后执行语音到文本转换。因此,语音输入文本转换可以被识别为“老挝”,然而否则它可能被识别为不反映用户的口头输入的替代词项(例如,“度假”)。
设备606以可听形式向用户提供另外的响应输出682B。输出682B可以基于由本地代理110基于所调用的3P代理的3P响应内容生成的音频数据。例如,响应于对应于语音输入680B的语音输入的转换,本地代理110可以将至少一些转换后的文本传送到3P代理,作为回复,接收文本“老挝咖啡馆八点可预订,有老挝菜,并且评价很高。要我预订吗?”,并且将该文本转换为音频数据。
响应于另外的响应输出680C,用户提供“是”的另外的口头输入680C。对应于口头输入的语音输入由设备606生成并且提供给本地代理110。在一些实施方式中,本地代理110可以利用来自用于生成响应输出682B的3P代理的响应内容,和/或结合响应内容接收的3P上下文参数,以执行语音输入的语音到文本转换。例如,假定3P上下文参数可以已经指示预期语义类型“肯定或否定答复”的令牌。因此,语音输入到文本的转换可以偏向肯定答案“是”,这可以防止否则不准确的转换(例如,到“小狗”)。
设备606以可听形式向用户提供另外的响应输出682C。输出682C可以基于由本地代理110基于所调用的3P代理的3P响应内容生成的音频数据。例如,响应于对应于口头输入680C的语音输入的转换,本地代理110可以将转换后的文本中的至少一些传送到3P代理,作为回复,接收文本“完成。将给你传送确认”,并将该文本转换为音频数据。由于回复内容是“解决”回复输出,3P代理可以不通过回复内容向本地代理110提供任何3P上下文参数,和/或本地代理可以不协同来自设备606的下一接收的语音输入执行针对该3P代理的偏置。
图7是可以可选地用于执行本文所述的技术的一个或多个方面的示例性计算设备710的框图。在一些实施方式中,设备106、本地代理110、3P代理130和/或其他组件中的一个或多个可以包括示例性计算设备710的一个或多个组件。
计算设备710通常包括经由总线子系统712与多个外围设备通信的至少一个处理器714。这些外围设备可以包括存储子系统724,其包括例如存储器子系统725和文件存储子系统726、用户接口输出设备720、用户接口输入设备722、和网络接口子系统716。输入和输出设备允许用户与计算设备710交互。网络接口子系统716提供到外部网络的接口并耦合到其他计算设备中的对应接口设备。
用户接口输入设备722可以包括键盘,诸如鼠标、轨迹球、触摸板或图形板的指示设备,扫描仪,并入显示器中的触摸屏,诸如语音识别系统、麦克风的音频输入设备,和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备710或通信网络上的所有可能类型的设备和方式。
用户接口输出设备720可以包括显示子系统、打印机、传真机、或非视觉显示器,诸如音频输出设备。显示子系统可以包括阴极射线管(CRT),诸如液晶显示器(LCD)的平板设备,投影设备,或用于创建可见图像的一些其它机构。显示子系统还可以提供诸如经由音频输出设备的非视觉显示。通常,术语“输出设备”的使用旨在包括从计算设备710向用户或另一机器或计算设备输出信息的所有可能类型的设备和方式。
存储子系统724存储提供本文描述的一些或全部模块的功能的编程和数据构造。例如,存储子系统724可以包括用于执行图2、3、4和/或5的方法的所选方面的逻辑。
这些软件模块通常由处理器714单独执行或与其他处理器组合执行。在存储子系统724中使用的存储器725可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)530和存储固定指令的只读存储器(ROM)532。文件存储子系统726可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器连同关联的可移动介质、CD-ROM驱动器、光驱动器、或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统726存储在存储子系统724中,或者由处理器714可访问的其他机器中。
总线子系统712提供用于使计算设备710的各个组件和子系统按照预期彼此通信的机制。虽然总线子系统712被示意性地示出为单个总线,但是总线子系统的替选实施方式可以使用多个总线。
计算设备710可以是不同的类型,包括工作站、服务器、计算集群、刀片服务器、服务器群、或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图5所示的计算设备710的描述仅意图作为具体示例以用于说明一些实施方式的目的。计算设备710的许多其他配置可能具有比图5所描绘的计算设备更多或更少的组件。
在本文讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,从其他电子通信提取的用户数据、关于用户的社交网络的信息、用户的位置、用户的时间、用户的生物特征信息、以及用户的活动和群体特征信息)的情况下,向用户提供一个或多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息以及如何收集、存储、和使用有关用户的信息。也就是说,本文所讨论的系统和方法仅在接收到相关用户的明确授权才能收集、存储和/或使用用户个人信息。例如,向用户提供对程序或特征是否收集关于该特定用户或与程序或特征相关的其他用户的用户信息的控制。将收集其个人信息的每个用户都被呈现一个或多个选项,用于允许对与该用户相关的信息收集进行控制,用于提供关于该信息是否被收集以及关于信息的哪些部分被收集的许可或授权。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。此外,某些数据可以在存储或使用之前以一种或多种方式处理使得移除个人可识别信息。作为一个示例,可以对用户的身份进行处理,使得无法确定个人可识别信息。作为另一示例,用户的地理位置可以被泛化到更大的区域,使得用户的具体位置无法被确定。
尽管本文已经描述和图示了几个实施方式,但是可以利用用于执行功能和/或获得结果的各种其他手段和/或结构和/或本文所述的一个或多个优点,并且这样的变化和/或修改中的每一个被认为在本文描述的实施方式的范围内。更一般来说,本文描述的所有参数、尺寸、材料、和配置旨在是示例性的,并且该实际参数、尺寸、材料、和/或配置将取决于使用该教导的特定一个或多个应用。本领域技术人员将认识到或者能够使用不超过常规实验来确定本文所述的具体实现的许多等同物。因此,应当理解,前述实施方式仅以举例的方式呈现,并且在所附权利要求书及其等同物的范围内,可以以与具体描述和所要求保护不同的方式实践实施方式。本公开的实施方式涉及本文所述的每个单独特征、系统、制品、材料、套件、和/或方法。此外,如果这些特征、系统、制品、材料、套件和/或方法不相互矛盾,则两个或更多个这样的特征、系统、制品、材料、套件和/或方法的任何组合都包括在本公开的范围内。

Claims (15)

1.一种由一个或多个处理器实现的方法,包括:
接收由用户经由支持语音的电子设备提供的语音输入;
执行语音到文本转换,以将所述语音输入转换为文本;
经由一个或多个网络接口,将所述文本传送到第三方代理;
响应于传送所述文本,从所述第三方代理接收内容,所述接收是经由所述网络接口中的一个或多个,以及所述内容包括:
响应于所述文本并且响应于所述语音输入而提供的响应内容;以及
除所述响应内容之外的一个或多个上下文参数,所述一个或多个上下文参数指示待响应于所述响应内容而提供的另外的语音输入的一个或多个令牌,
其中,所述响应内容和所述上下文参数是作为从所述第三方代理接收的单个传送的一部分来接收的;
提供所述响应内容作为输出,以经由所述支持语音的电子设备呈现给所述用户,所述输出响应于所述语音输入而提供;
接收由所述用户经由所述支持语音的电子设备提供的并且由所述用户响应于所述输出提供的附加的语音输入;以及
使用从所述第三方代理接收的所述内容执行附加的语音到文本转换,以将所述附加的语音输入转换为附加的文本,
其中,使用所述内容包括使用所述上下文参数执行所述附加的语音到文本转换,
其中,在执行所述附加的语音到文本转换中使用语音到文本模型,并且
其中,使用所述上下文参数执行所述附加的语音到文本转换包括基于所述上下文参数,偏置在所述语音到文本模型上生成的值。
2.如权利要求1所述的方法,其中,由所述上下文参数指示的所述一个或多个令牌包括特定令牌,并且其中,基于所述上下文参数,偏置在所述语音到文本模型上生成的所述值包括:
修改对在所述语音到文本模型上的特定令牌生成的得分。
3.如权利要求2所述的方法,其中,从所述第三方代理接收的所述上下文参数包括所述特定令牌。
4.如权利要求2所述的方法,其中,从所述第三方代理接收的所述上下文参数包括语义类型的令牌,并且进一步包括:
基于与所述语义类型相关联地存储的所述特定令牌来确定所述特定令牌。
5.如权利要求4所述的方法,其中,确定所述特定令牌是基于与所述用户和所述语义类型两者均相关联地存储的所述特定令牌。
6.如权利要求4所述的方法,其中,确定所述特定令牌是基于由所述第三方代理与所述语义类型相关联地先前提供的所述特定令牌。
7.如权利要求1所述的方法,其中,使用所述上下文参数来执行所述附加的语音到文本转换包括:
使用所述上下文参数和附加的用户参数两者,将所述附加的语音输入转换为所述附加的文本,所述附加的用户参数被分配给所述用户或所述设备并且与从所述第三方代理接收的所述内容无关地分配。
8.如权利要求7所述的方法,其中,所述附加的用户参数基于下述中的至少一个:与所述用户相关联的位置以及与所述用户相关联的附加的电子设备。
9.如权利要求1所述的方法,其中,语音到文本模型在执行附加的语音到文本转换中使用,并且其中,使用所述内容执行所述附加的语音到文本转换包括:
基于所述内容生成上下文语音到文本模型;以及
基于所述语音到文本模型和所述上下文语音到文本模型,选择所述附加的文本。
10.如权利要求1所述的方法,其中,所述附加的语音输入包括第一段和第二段并且是由所述用户响应于所述输出而提供的单个语音输入,并且其中,使用所述内容执行所述附加的语音到文本转换包括:
基于所述内容中包括的所述上下文参数利用偏置将所述附加的语音输入的所述第一段转换为所述附加的文本的第一文本段;以及
基于所述内容中包括的所述上下文参数不利用偏置将所述附加的语音输入的所述第二段转换为所述附加的文本的第二段,所述语音输入的所述第二段在所述第一段之后。
11.如权利要求10所述的方法,进一步包括:
基于包括在所述内容中的所述上下文参数,确定不偏置所述附加的语音输入的所述第二段,其中,确定不偏置所述第二段是基于所述上下文参数,所述上下文参数指示在符合所述第一文本段的语音输入段之后,不应当发生上下文偏置。
12.根据权利要求10所述的方法,其中,所述上下文参数指示所述令牌是特定语义类型的并且后面将跟随打开文本类型的一个或多个附加的令牌。
13.根据权利要求12所述的方法,
其中,利用偏置将所述附加的语音输入的所述第一段转换为所述附加的文本的第一文本段包括利用偏置将所述第一段朝向所述特定语义类型的所述令牌转换,以及
其中,不利用偏置将所述附加的语音输入的所述第二段转换为所述附加的文本的第二段是响应于检测到所述第一文本段是所述特定语义类型的并且是响应于所述令牌指示打开文本类型的所述附加的令牌将跟随所述特定语义类型的所述令牌。
14.根据权利要求1所述的方法,其中,所述方法由通过一方管理的本地代理的一个或多个处理器实现,并且其中,所述第三方代理由与管理所述本地代理的所述方不同的附加方管理。
15.一种系统,包括:
与支持语音的电子设备和第三方代理选择性通信的一个或多个网络接口;
存储指令的存储器;
一个或多个处理器,所述一个或多个处理器可操作以执行存储在所述存储器中的指令,所述指令包括用于以下的指令:
经由所述网络接口中的一个或多个接收由用户经由所述支持语音的电子设备提供的语音输入;
执行语音到文本转换以将所述语音输入转换为文本;
经由所述网络接口中的一个或多个,将所述文本传送到第三方代理;
响应于传送所述文本,经由网络接口中的一个或多个从所述第三方代理接收内容,所述内容包括:
响应于所述文本并且响应于所述语音输入而提供的响应内容;以及
除所述响应内容之外的一个或多个上下文参数,所述一个或多个上下文参数指示待响应于所述响应内容而提供的另外的语音输入的一个或多个令牌,输出基于所述响应内容响应于所述语音输入而被提供,
其中,所述响应内容和所述上下文参数是作为从所述第三方代理接收的单个传送的一部分来接收的;
经由网络接口中的一个或多个,向所述用户传送所述响应内容作为输出以在所述支持语音的电子设备上呈现;
经由网络接口中的一个或多个,接收由所述用户经由所述支持语音的电子设备提供的附加的语音输入,所述附加的语音输入响应于所述输出;以及
使用从所述第三方代理接收的所述上下文参数来执行附加的语音到文本转换,以将所述附加的语音输入转换为附加的文本。
CN201780076180.3A 2016-12-07 2017-09-21 基于第三方代理内容的语音到文本转换 Active CN110050303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311011370.0A CN117059097A (zh) 2016-12-07 2017-09-21 基于第三方代理内容的语音到文本转换

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/372,188 2016-12-07
US15/372,188 US10600418B2 (en) 2016-12-07 2016-12-07 Voice to text conversion based on third-party agent content
PCT/US2017/052730 WO2018106309A1 (en) 2016-12-07 2017-09-21 Voice to text conversion based on third-party agent content

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311011370.0A Division CN117059097A (zh) 2016-12-07 2017-09-21 基于第三方代理内容的语音到文本转换

Publications (2)

Publication Number Publication Date
CN110050303A CN110050303A (zh) 2019-07-23
CN110050303B true CN110050303B (zh) 2023-08-22

Family

ID=60009733

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311011370.0A Pending CN117059097A (zh) 2016-12-07 2017-09-21 基于第三方代理内容的语音到文本转换
CN201780076180.3A Active CN110050303B (zh) 2016-12-07 2017-09-21 基于第三方代理内容的语音到文本转换

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311011370.0A Pending CN117059097A (zh) 2016-12-07 2017-09-21 基于第三方代理内容的语音到文本转换

Country Status (6)

Country Link
US (5) US10600418B2 (zh)
EP (3) EP4332959A3 (zh)
CN (2) CN117059097A (zh)
DE (1) DE202017105865U1 (zh)
GB (1) GB2557400B (zh)
WO (1) WO2018106309A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049670B2 (en) * 2016-06-06 2018-08-14 Google Llc Providing voice action discoverability example for trigger term
US10600418B2 (en) 2016-12-07 2020-03-24 Google Llc Voice to text conversion based on third-party agent content
CN110390948B (zh) * 2019-07-24 2022-04-19 厦门快商通科技股份有限公司 一种快速语音识别的方法及系统
EP3800632A1 (en) * 2019-10-01 2021-04-07 Rovi Guides, Inc. Method and apparatus for generating hint words for automated speech recognition
US11527234B2 (en) 2019-10-01 2022-12-13 Rovi Guides, Inc. Method and apparatus for generating hint words for automated speech recognition
KR20220062360A (ko) 2019-11-27 2022-05-16 구글 엘엘씨 동적으로 업데이트되는 자연어 처리를 통한 애플리케이션과의 인터페이스
US11574634B2 (en) 2019-11-27 2023-02-07 Google Llc Interfacing with applications via dynamically updating natural language processing
US11682399B2 (en) * 2020-07-14 2023-06-20 Dell Products L.P. Dynamic redfish query URI binding from context oriented interaction
US11532313B2 (en) * 2020-08-27 2022-12-20 Google Llc Selectively storing, with multiple user accounts and/or to a shared assistant device: speech recognition biasing, NLU biasing, and/or other data
US11935519B2 (en) * 2020-10-15 2024-03-19 Google Llc Preserving speech hypotheses across computing devices and/or dialog sessions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101297355A (zh) * 2005-08-05 2008-10-29 沃伊斯博克斯科技公司 响应自然语言语音口头表达的系统和方法
CN104509080A (zh) * 2012-08-01 2015-04-08 苹果公司 基于动态上下文的语言确定
CN105027194A (zh) * 2012-12-20 2015-11-04 亚马逊技术有限公司 话语主题的识别

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144989A (en) * 1998-06-15 2000-11-07 Dejima, Inc. Adaptive agent-oriented software architecture
US8239197B2 (en) * 2002-03-28 2012-08-07 Intellisist, Inc. Efficient conversion of voice messages into text
US7542907B2 (en) * 2003-12-19 2009-06-02 International Business Machines Corporation Biasing a speech recognizer based on prompt context
US20070016401A1 (en) 2004-08-12 2007-01-18 Farzad Ehsani Speech-to-speech translation system with user-modifiable paraphrasing grammars
US8265933B2 (en) * 2005-12-22 2012-09-11 Nuance Communications, Inc. Speech recognition system for providing voice recognition services using a conversational language model
US7996228B2 (en) * 2005-12-22 2011-08-09 Microsoft Corporation Voice initiated network operations
US20100076843A1 (en) * 2006-02-28 2010-03-25 Speaksoft, Inc. Live-agent-enabled teis systems
US8204738B2 (en) * 2006-11-03 2012-06-19 Nuance Communications, Inc. Removing bias from features containing overlapping embedded grammars in a natural language understanding system
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
US9858925B2 (en) * 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9159322B2 (en) * 2011-10-18 2015-10-13 GM Global Technology Operations LLC Services identification and initiation for a speech-based interface to a mobile device
EP2839391A4 (en) * 2012-04-20 2016-01-27 Maluuba Inc CONVERSATION AGENT
CA2823835C (en) * 2012-08-15 2018-04-24 Homer Tlc, Inc. Voice search and response based on relevancy
US9070366B1 (en) * 2012-12-19 2015-06-30 Amazon Technologies, Inc. Architecture for multi-domain utterance processing
US9558743B2 (en) * 2013-03-15 2017-01-31 Google Inc. Integration of semantic context information
US20150073790A1 (en) * 2013-09-09 2015-03-12 Advanced Simulation Technology, inc. ("ASTi") Auto transcription of voice networks
US8862467B1 (en) 2013-12-11 2014-10-14 Google Inc. Contextual speech recognition
US10726831B2 (en) 2014-05-20 2020-07-28 Amazon Technologies, Inc. Context interpretation in natural language processing using previous dialog acts
US20150370787A1 (en) 2014-06-18 2015-12-24 Microsoft Corporation Session Context Modeling For Conversational Understanding Systems
US9502032B2 (en) * 2014-10-08 2016-11-22 Google Inc. Dynamically biasing language models
US9865280B2 (en) * 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9966073B2 (en) 2015-05-27 2018-05-08 Google Llc Context-sensitive dynamic update of voice to text model in a voice-enabled electronic device
US10600418B2 (en) 2016-12-07 2020-03-24 Google Llc Voice to text conversion based on third-party agent content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101297355A (zh) * 2005-08-05 2008-10-29 沃伊斯博克斯科技公司 响应自然语言语音口头表达的系统和方法
CN104509080A (zh) * 2012-08-01 2015-04-08 苹果公司 基于动态上下文的语言确定
CN105027194A (zh) * 2012-12-20 2015-11-04 亚马逊技术有限公司 话语主题的识别

Also Published As

Publication number Publication date
CN117059097A (zh) 2023-11-14
EP3926625A1 (en) 2021-12-22
EP3926625B1 (en) 2024-03-06
US20210020180A1 (en) 2021-01-21
EP4332959A3 (en) 2024-05-15
EP3545520B1 (en) 2021-09-08
US20200184974A1 (en) 2020-06-11
US11626115B2 (en) 2023-04-11
EP3545520A1 (en) 2019-10-02
US11922945B2 (en) 2024-03-05
US20220148596A1 (en) 2022-05-12
US11232797B2 (en) 2022-01-25
US10943591B2 (en) 2021-03-09
US10600418B2 (en) 2020-03-24
WO2018106309A1 (en) 2018-06-14
GB2557400B (en) 2020-02-26
GB201715619D0 (en) 2017-11-08
EP4332959A2 (en) 2024-03-06
GB2557400A9 (en) 2018-09-12
CN110050303A (zh) 2019-07-23
DE202017105865U1 (de) 2017-12-11
GB2557400A (en) 2018-06-20
US20190122657A1 (en) 2019-04-25
US20230260517A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
CN110050303B (zh) 基于第三方代理内容的语音到文本转换
JP7362827B2 (ja) 適切なエージェントの自動化アシスタント呼び出し
US11887595B2 (en) User-programmable automated assistant
JP6963700B2 (ja) 適切なサードパーティーエージェントへの呼び出し要求を生成および伝送すること
JP7263376B2 (ja) 自動化されたアシスタントによる以前の対話コンテキスト間の遷移
JP7498149B2 (ja) ユーザプログラマブル自動アシスタント

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