CN112489632A - 实施校正模型以减少自动语音识别错误的传播 - Google Patents

实施校正模型以减少自动语音识别错误的传播 Download PDF

Info

Publication number
CN112489632A
CN112489632A CN202010932884.XA CN202010932884A CN112489632A CN 112489632 A CN112489632 A CN 112489632A CN 202010932884 A CN202010932884 A CN 202010932884A CN 112489632 A CN112489632 A CN 112489632A
Authority
CN
China
Prior art keywords
utterance
correction
subsystem
output
speech
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010932884.XA
Other languages
English (en)
Other versions
CN112489632B (zh
Inventor
T·L·杜翁
M·E·约翰逊
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN112489632A publication Critical patent/CN112489632A/zh
Application granted granted Critical
Publication of CN112489632B publication Critical patent/CN112489632B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/01Assessment or evaluation of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • 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/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)

Abstract

本公开涉及实施校正模型以减少自动语音识别错误的传播。本文所描述的一些技术确定对话系统的校正模型,使得所述校正模型校正所述对话系统中的自动语音识别(ASR)子系统的输出。本文所描述的方法包括:访问训练数据。所述训练数据的第一元组包括话语,其中,所述话语是语音的文本表示。所述方法进一步包括:使用对话系统的ASR子系统来将所述话语转换为输出话语。所述方法进一步包括:将所述输出话语存储在基于所述训练数据的校正训练数据中。所述方法进一步包括:基于所述校正训练数据训练校正模型,使得所述校正模型被配置成在所述对话系统的操作期间校正所述ASR子系统的输出。

Description

实施校正模型以减少自动语音识别错误的传播
相关申请的交叉引用
本公开要求于2019年9月11日提交的名称为“Implementing a Corrective Modelto Reduce Propagation of Automatic Speech Recognition Errors[实施校正模型以减少自动语音识别错误的传播]”的美国临时申请序列号62/898,677以及于2020年8月13日提交的名称为“IMPLEMENTING A CORRECTION MODEL TO REDUCE PROPAGATION OF AUTOMATICSPEECH RECOGNITION ERRORS[实施校正模型以减少自动语音识别错误的传播]”的美国申请序列号16/992291的优先权,前述美国申请通过引用以其全文结合在此。
技术领域
本公开涉及对话系统,并且更具体地,涉及用于在对话系统中实施校正模型以校正自动语音识别的输出并由此减少所述对话系统中在自动语音识别期间产生的错误的传播的技术。
背景技术
现在,越来越多的设备使得用户能够直接使用话音或口述语音与设备进行交互。例如,用户可以用自然语言对这种设备说话,并且这样做时,用户可以询问问题或进行请求执行动作的陈述。作为响应,设备执行所请求的动作或使用音频输出来对用户的问题作出响应。由于直接使用话音进行交互是人类与其周围环境进行交流的更自然且更直观的方式,因此这种基于语音的系统的普及正以天文数字的速率增长。
发明内容
本公开涉及用于实施校正模型以减少对话系统中在自动语音识别期间产生的错误的传播的技术。所述校正模型可以在自动语音识别(ASR)子系统与语义解析器子系统之间的工作流程中进行操作,以减少由ASR子系统输出并因此由语义解析器子系统接收到的错误,或者所述校正模型可以被集成到语义解析器子系统以使得语义解析器子系统能够将错误的ASR子系统输出映射到适当的逻辑形式。
在一些实施例中,校正系统训练校正模型,所述校正模型可以但不必与校正语义解析器集成。为此,所述校正系统可以访问旨在用于训练语义解析器子系统的训练数据,其中,所述训练数据可以包括多个元组,每个元组包括原始话语和表示该原始话语的逻辑形式。对于每个这种元组,所述校正系统可以生成一组语音,其中,每个语音是音频文件或音频文件的一部分,并且其中,该组语音表示可以口述原始话语的方式的变体。对于每个这种语音,所述校正系统可以应用ASR子系统来确定输出话语,从而产生与表示原始话语的该组语音相对应的一组输出话语。在一些实施例中,所述ASR子系统是在对话系统的常规操作期间使用的同一ASR子系统。
在一些实施例中,所述校正系统用多个校正元组训练校正模型,每个校正元组包括输出话语和对应的原始话语。这样,所述校正模型可以被训练用于将由ASR子系统输出的话语映射到经校正的话语。在另一实施例中,所述校正系统用多个校正元组训练校正语义解析器,每个校正元组包括输出话语和对应原始话语的逻辑形式。这样,所述校正语义解析器可以被训练用于将由ASR子系统输出的话语映射到经校正的话语的逻辑形式;因此,校正模型实际上被集成到语义解析器中。
在一些实施例中,在对话系统的操作期间,校正模型在ASR子系统的输出被输入到语义解析器子系统之前对ASR子系统的输出进行校正,或者校正语义解析器在确定逻辑形式时会隐式地校正这种错误。从而,减少了ASR子系统的输出中的错误并且因此这些错误不会在整个对话系统中传播。
在参考以下说明书、权利要求和附图之后,前述内容以及其他特征和实施例将变得更加显而易见。
附图说明
图1是根据某些实施例的对话系统的示例的图,所述对话系统结合了校正模型以减少由对话系统中的自动语音识别产生的错误的传播。
图2是根据某些实施例的校正系统的示例的图,所述校正系统被配置成训练要包括在对话系统中的校正模型。
图3是根据某个实施例的将校正模型结合到对话系统中的方法的图。
图4是根据某些实施例的校正系统的另一示例的图,所述校正系统被配置成训练要包括在对话系统中的校正模型。
图5是根据某些实施例的训练校正模型以校正自动语音识别的输出的方法的图。
图6是根据本文所描述的某些实施例的对话系统的示例的图,所述对话系统利用校正语义解析器来减少由自动语音识别产生的错误的传播。
图7是根据某些实施例的校正系统的示例的图,所述校正系统被配置成训练要包括在对话系统中的校正语义解析器。
图8是根据某些实施例的训练校正语义解析器以在确定逻辑形式时隐式地校正自动语音识别的输出的方法的图。
图9是用于实施某些实施例的分布式系统的图。
图10是根据某些实施例的基于云的系统环境的图,其中,校正模型或校正语义解析器的训练或使用可以至少部分地作为云服务来提供。
图11是可以用于实施某些实施例的示例计算机系统的图。
具体实施方式
在以下描述中,出于解释的目的,阐述了具体细节以便提供对某些实施例的透彻理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实践各个实施例。附图和描述不旨在是限制性的。词语“示例性”在本文中用来意指“用作示例、实例或说明”。在本文中被描述为“示例性”或作为“示例”的任何实施例或设计不必被解释为比其他实施例或设计更优选或有利。
能够经由语音输入和音频输出(也称为语音输出或话音输出)与用户进行对话的支持话音的系统可以以各种形式出现。例如,这种系统可以被提供为独立式设备、数字助理或虚拟助理、具有话音功能的服务等。在这些形式中的每一种形式中,系统能够接收语音输入、理解语音输入、生成响应或者响应于语音输入而采取动作、以及使用音频输出来输出响应。在某些实施例中,在这种支持话音的系统中的对话功能由对话系统或基础设施(“对话系统”)来提供。对话系统被配置成接收语音输入,解释语音输入,维持对话,可能基于语音输入的解释来执行一个或多个动作或使一个或多个动作被执行,准备适当的响应,并且使用音频输出将响应输出给用户。
传统上,对话系统包括各种机器学习(ML)模型(即,预测模型)。用干净数据(即,不是对话系统的部件的输出的数据)训练对话系统的ML模型(如自动语音识别(ASR)子系统、语义解析器子系统和文本到语音(TTS)子系统)。结果是,这些ML模型通常学习处理干净数据,而不是已经被处理过并且很可能已经引入了错误的数据。例如,对话系统接收来自用户的语音输入。如果ASR子系统(也被称为ASR)在将该语音输入转译为话语时产生错误,则该错误将以由ASR子系统输出的不准确话语形式传递给语义解析器子系统。然后语义解析器子系统(也被称为语义解析器)产生基于不准确话语的逻辑形式。对话管理器子系统处理该逻辑形式,所述对话管理器子系统尝试对如逻辑形式所表示的原始语音输入作出响应。然而,由于在整个对话系统中传播的错误,该逻辑形式可能无法准确表示语音输入,并且因此,对话管理器子系统可能无法有效地促进与用户的对话或执行作为对话的一部分的用户请求的任务。
本文所描述的实施例提供了用于校正ASR输出(即,ASR的输出)的改进技术,这些技术采用在对话系统的流水线中置于ASR与语义解析器之间的校正模型的形式或采用已针对ASR可能产生的错误进行了训练的校正语义解析器的形式。为此,如本文所描述的校正系统可以训练校正模型或者可以训练结合了校正模型的校正语义解析器。
传统上,用一组元组训练语义解析器,每个元组包括话语(即,语音单元的文本表示)和逻辑形式(即,话语根据所建立语法的句法表达或语音根据所建立语法的其他表示)。该训练使得语义解析器能够将输入话语映射到对应的逻辑形式。根据一些实施例,校正系统的示例访问一组元组,该组元组通常用于训练语义解析器,其中,每个这种元组包括话语和逻辑形式。校正系统将每个话语转换为一组语音,其中每个语音可以是音频文件或音频文件的一部分。与话语相对应的每组语音是如所口述的话语的音频变体。例如,该组语音文件可以包括男性话音和女性话音两者以及各种口音和方言。因此,该组语音包括各种音频,每个音频表示由不同话音口述的话语。校正系统利用该组语音中的每个语音作为到ASR(所述ASR在一些实施例中是在对话系统的工作流程期间使用的同一ASR)中的输入,使得ASR为每个语音文件输出话语。因此,每个原始话语已被转换为由ASR输出的一组话语。
在某些实施例中,将由ASR输出的每个这种话语加入具有原始话语的元组并用于训练校正模型。这样,在对话系统的工作流程(即,流水线)中,校正模型位于ASR与语义解析器之间以有效地校正ASR输出。另外地或可替代地,在某些实施例中,将由ASR输出的与原始话语相对应的每个这种话语与原始话语的逻辑形式一起加入元组,并且校正系统使用这种元组来训练校正语义解析器。这样,校正语义解析器被隐式地配置成处理ASR输出中的错误。
图1是根据某些实施例的对话系统100的示例的图,所述对话系统结合了校正模型113以减少由对话系统100中的自动语音识别产生的错误的传播。对话系统100被配置成从用户102接收语音输入104(也被称为话音输入)。对话系统100然后可以解释语音输入104。对话系统100可以维持与用户102的对话并且可以基于对语音输入104的解释来执行一个或多个动作或使一个或多个动作被执行。对话系统100可以准备适当的响应,并且可以使用话音输出或语音输出(也被称为音频输出)将响应输出给用户。对话系统100是可以用于潜在地使用大量计算机处理周期来处理大量数据的专用计算系统。出于说明性目的,提供了在图1中描绘的多个设备。可以使用不同数量的设备。例如,尽管图1中的每个设备、服务器和系统都被示出为单个设备,但也可以替代地使用多个设备。
在某些实施例中,对话系统100所执行的处理由部件或子系统的流水线来实施,所述部件或子系统包括语音输入部件105;唤醒词检测(WD)子系统106;ASR子系统108;包括命名实体识别器(NER)子系统112和语义解析器子系统114的自然语言理解(NLU)子系统110;对话管理器(DM)子系统116;自然语言生成器(NLG)子系统118;TTS子系统120;以及语音输出部件124。以上列出的子系统可以仅在软件(例如,使用可由一个或多个处理器或核执行的代码、程序或指令)中、硬件中或硬件与软件的组合中实施。在某些实施方式中,一个或多个子系统可以被组合成单个子系统。另外地或可替代地,在一些实施方式中,可以由多个子系统来实施本文所描述的、如由特定子系统执行的功能。
语音输入部件105包括被配置成接收语音输入104的硬件和软件。在一些实例中,语音输入部件105可以是对话系统100的一部分。在一些其他实例中,语音输入部件105可以与对话系统100分离并且通信地耦接至所述对话系统。语音输入部件105可以例如包括耦接至软件的麦克风,所述软件被配置成对语音输入104进行数字化并将其传输到唤醒词检测子系统106。
唤醒词检测(WD)子系统106被配置成监听并监测音频输入流,以获得与特殊声音或单词或一组单词(被称为唤醒词)相对应的输入。在检测到用于对话系统100的唤醒词时,WD子系统106被配置成激活ASR子系统108。在某些实施方式中,可以为用户提供激活或去激活WD子系统106的能力(例如,通过按下按钮),以使得WD子系统106监听或停止监听唤醒词。当被激活或在激活模式下操作时,WD子系统106被配置成连续地接收音频输入流,并且对所述音频输入流进行处理以识别出与唤醒词相对应的音频输入(如语音输入104)。当检测到与唤醒词相对应的音频输入时,WD子系统106激活ASR子系统108。
如上所述,WD子系统106激活ASR子系统108。在对话系统100的一些实施方式中,可以使用唤醒词检测以外的机制来触发或激活ASR子系统108。例如,在一些实施方式中,可以使用设备上的按钮来触发ASR子系统108而无需唤醒词。在这种实施方式中,不必提供WD子系统106。当按钮被按下或激活时,在按钮激活后接收到的语音输入104被提供给ASR子系统108以进行处理。另外地或可替代地,在一些实施方式中,ASR子系统108可以在接收到要处理的输入时被激活。
ASR子系统108被配置成在触发信号或唤醒信号(例如,可以在检测到语音输入104中的唤醒词时由WD子系统106发送唤醒信号,或者可以在激活按钮时接收唤醒信号)之后接收和监测语音输入104,并且将语音输入104转换为文本。作为其处理的一部分,ASR子系统108执行语音到文本的转换。语音输入104可以是自然语言的形式,并且ASR子系统108被配置成以语音输入104的语言生成对应的自然语言文本。该对应的自然语言文本在本文中被称为话语。例如,由ASR子系统108接收的语音输入104可以包括一个或多个单词、短语、从句、句子、问题等。ASR子系统108被配置成针对每个口述从句生成话语,并将所述话语馈送到NLU子系统110,以进行进一步处理。
NLU子系统110接收由ASR子系统108生成的话语。由NLU子系统110从ASR子系统108接收的话语可以包括与口述单词、短语、从句等相对应的文本话语。NLU子系统110将每个话语或一系列话语转译为对应的逻辑形式。
在某些实施方式中,NLU子系统110包括命名实体识别器(NER)子系统112和语义解析器子系统114。NER子系统112接收话语作为输入、识别话语中的命名实体、并且利用与所识别出的命名实体相关的信息来标记话语。然后将经标记的话语馈送到语义解析器子系统114,所述语义解析器子系统被配置成针对每个经标记的话语或针对一系列经标记的话语生成逻辑形式。针对话语生成的逻辑形式可以识别与话语相对应的一个或多个意图。话语的意图标识话语的目的。意图的示例包括“order pizza(订购披萨)”和“find directions(查找方向)”。意图可以例如标识被请求执行的动作。除了意图之外,针对话语生成的逻辑形式还可以识别所识别出的意图的槽位(slot)(也被称为参数或自变量)。例如,对于语音输入“I’d like to order a large pepperoni pizza with mushrooms and olives(我想要订购带有蘑菇和橄榄的大份意大利辣香肠披萨)”,NLU子系统110可以识别出意图“订购披萨”。NLU子系统还可以识别并填充槽位,例如,披萨_尺寸(用大份来填充)和披萨_配料(用蘑菇和橄榄来填充)。NLU子系统110可以使用基于机器学习的技术、规则(其可能是领域特定的)、或机器学习技术和规则的组合来生成逻辑形式。然后将由NLU子系统110生成的逻辑形式馈送到DM子系统116,以进行进一步处理。
在本文所描述的一些实施例中,NLU子系统110还包括校正模型113。如以下详细地描述的,校正模型113可以处理ASR子系统108与语义解析器子系统114之间的数据或者可以与语义解析器子系统114集成。校正模型113可以是ML模型并且可以学习通常在对话系统100的该特定ASR子系统108中产生的错误。这样,校正模型113可以校正这些错误,以防止这种错误以逻辑形式向前传递。
DM子系统116被配置成基于从NLU子系统110接收的逻辑形式来管理与用户的对话。作为对话管理的一部分,DM子系统116被配置成跟踪对话状态、发起对一个或多个动作或任务的执行或自身执行一个或多个动作或任务、并且确定如何与用户进行交互。这些动作可以包括例如查询一个或多个数据库、产生执行结果或其他动作。例如,DM子系统116被配置成对在从NLU子系统110接收的逻辑形式中识别出的意图进行解释。基于这些解释,DM子系统116可以发起其解释为通过由用户提供的语音输入104所请求的一个或多个动作。在某些实施例中,DM子系统116基于当前的和过去的语音输入104并基于为DM子系统116配置的一组规则(例如,对话策略)来执行对话状态跟踪。这些规则可以指定不同的对话状态、状态之间转变的条件、处于特定状态时要执行的动作等。这些规则可以是领域特定的。DM子系统116还生成要被传送回对话中所涉及的用户的响应。这些响应可以基于由DM子系统116发起的动作以及这些动作的结果。将由DM子系统116生成的响应馈送到NLG子系统118,以进行进一步处理。
NLG子系统118被配置成生成与由DM子系统116生成的响应相对应的自然语言文本。所述文本可以以使得所述文本能够由TTS子系统120转换为语音的形式生成。TTS子系统120从NLG子系统118接收文本,并将这些文本中的每个文本转换为语音或话音音频,然后可以经由对话系统的音频或语音输出部件124(例如,扬声器或耦接至外部扬声器的通信信道)将所述语音或话音音频作为音频输出给用户。在一些实例中,语音输出部件124可以是对话系统100的一部分。在一些其他实例中,语音输出部件124可以与对话系统100分离并且通信地耦接至所述对话系统。
如上所述,对话系统100的各个子系统协作地工作提供了以下功能:使得对话系统100能够接收语音输入104;并使用语音输出122作出响应;并且因此使用自然语言语音来维持与用户的对话。可以使用单个计算机系统或使用协作地工作的多个计算机系统来实施上述各个子系统。例如,对于实施支持话音的系统的设备,可以完全在用户与之交互的设备上实施上述对话系统100的子系统。在一些其他实施方式中,对话系统100的一些部件或子系统可以在用户与之交互的设备上实施,而其他部件可以远离设备实施、可能在一些其他计算设备、平台或服务器上实施。
图2是根据本文所描述的一些实施例的校正系统200的示例的图,所述校正系统被配置成训练要包括在对话系统中的校正模型113。例如,校正模型113可以用作对话系统的流水线的一部分,如以下详细地描述的。在一些实施例中,校正系统200被实施为计算设备或其一部分,如服务器。校正系统200可以被实施为专用硬件设备或程序代码或两者的组合。例如,在本文中被描述为由校正系统200执行的操作可以在实施校正系统200的程序代码中体现,其中,这种程序代码可由一个或多个处理单元执行。
如图2所示,校正系统200访问一组原始训练数据220,该组原始训练数据包括一组原始元组,其中,每个这种原始元组可以包括话语230和对应的逻辑形式240。存在用于获得该原始训练数据220的各种技术,并且校正系统200可以使用这种技术中的一个或多个。类似的多个元组(每个元组包括话语和逻辑形式)通常适合于训练语义解析器,并且因此,除了如本文所描述的对原始训练数据220的使用之外,原始训练数据220还可以被用于或可用于在对话系统中训练语义解析器以将话语映射到逻辑形式。例如,原始训练数据220可以用于训练将在其中使用校正模型113的同一对话系统中使用的语义解析器。
在一些实施例中,校正系统200利用数据生成子系统250,所述数据生成子系统将原始训练数据220转换为校正训练数据260。例如,对于原始训练数据220中的每个原始元组,数据生成子系统250将原始元组转换为可用于训练校正模型113的一个或多个校正元组。数据生成子系统250可以仅在软件(例如,使用可由一个或多个处理器或核执行的代码、程序或指令)中、硬件中或硬件与软件的组合中实施。
另外,在一些实施例中,校正系统200的训练子系统280训练校正模型113以校正ASR的输出。具体地,例如,训练子系统280的实施例训练校正模型113以基于实际ASR输出来预测经校正的ASR输出或者基于经隐式校正的ASR输出来预测逻辑形式。训练子系统280可以仅在软件(例如,使用可由一个或多个处理器或核执行的代码、程序或指令)中、硬件中或硬件与软件的组合中实施。
在某些实施例中,在对话系统的操作期间,所得的校正模型113位于ASR与语义解析器子系统(也被称为语义解析器)之间。具体地,校正模型113将ASR的输出映射到语义解析器的输入,或者校正模型113与语义解析器集成以在确定逻辑形式时隐式地校正ASR的输出。更一般地,校正模型113的一些实施例校正ASR的输出中的错误以防止这种错误在整个对话系统中传播。
图3是根据本文所描述的某个实施例的将校正模型113结合到对话系统中的方法300的图。该方法300说明了一些实施例的概述。图3中描绘的方法300以及本文所描述的其他方法可以在由一个或多个处理单元(例如,处理器或处理器核)执行的软件(例如,代码、指令或程序)中、硬件中或其组合中实施。软件可以存储在非暂态存储介质(如,存储器设备)上。该方法300旨在是说明性且非限制性的。尽管图3描绘了以特定次序或顺序发生的各种活动,但这并不旨在是限制性的。例如,在某些实施例中,所述活动可以以不同的顺序执行,或者方法300的一个或多个活动可以并行执行。在某些实施例中,方法300至少可以部分地由校正系统200执行。
如图3所示,在方法300的框305处,校正系统200访问原始训练数据220。在一些实施例中,原始训练数据220是或者包括通常可以用于训练对话系统的语义解析器的训练数据。例如,原始训练数据220包括一组原始元组,每个原始元组包括话语和对应的逻辑形式。
在框310处,校正系统200将原始训练数据220转换为校正训练数据260。例如,如以下详细地描述的,校正系统200的一些实施例应用数据生成子系统250来将原始训练数据220转换为校正训练数据260。校正训练数据260因此基于原始训练数据220但可用于训练校正模型113,所述校正模型校正ASR与语义解析器之间的错误。
在框315处,校正系统200使用校正训练数据260来训练校正模型113。更具体地,例如,校正系统200的训练子系统280基于校正训练数据260来训练校正模型113。在一些实施例中,校正模型113是神经网络,如序列到序列(seq2seq)模型;然而,未必是这种情况,因为校正模型113可以是各种ML模型中的一个或多个。
在框320处,将校正模型113插入到对话系统的流水线中,使得校正模型113在对话系统的操作期间校正ASR的输出。在一些实施例中,对话系统已经在操作中,并且校正模型113以改装的方式被插入现有的对话系统中(如通过插在ASR与语义解析器之间)。然而,在一些其他实施例中,对话系统尚未使用,并且校正模型113在对话操作的操作之前被集成到对话系统中。
图4是根据本文所描述的一些实施例的校正系统200的示例的图,所述校正系统被配置成训练要包括在对话系统中的校正模型113。图4的示例是图2所示的校正系统200的特定实例,并且应当理解的是,图4不限制本文所描述的各个实施例。如上所述,校正系统200的一些实施例使用数据生成子系统250来将原始训练数据220映射到校正训练数据260。具体地,在该示例中,数据生成子系统250包括校正TTS子系统410和ASR子系统108(也被称为ASR 108)。
在一些实施例中,用于训练校正模型113的校正系统200中所使用的ASR 108是校正模型113将在其中操作的对话系统100中使用的同一ASR 108。结果是,校正模型113专门针对该ASR 108进行调整,并且进行学习以校正由将与校正模型113一起操作的ASR108实际产生的错误类型。
在一些实施例中,图4所示的校正系统200被实施为计算设备或其一部分,如服务器。校正系统200可以被实施为专用硬件设备或程序代码或两者的组合。例如,在本文中被描述为由校正系统200执行的操作可以在实施校正系统200的程序代码中体现,其中,这种程序代码可由一个或多个处理单元执行。
在一些实施例中,校正系统200被配置成训练校正模型113。校正模型113可以将输出话语230b(其由ASR 108输出)映射到经校正的话语230。这样做使得校正模型113减少了ASR输出(即,ASR 108的输出)中的错误,这导致到语义解析器中的更准确的输入(即,由ASR108接收的语音输入104的更好的表示),并且因此由于减少了在整个对话系统中传播的错误而在整个对话系统中导致更好的结果。
在一些实施例中,校正系统200访问原始训练数据220,所述原始训练数据包括一组原始元组,其中,每个这种原始元组可以包括原始话语230a和对应的逻辑形式240。存在用于获得该原始训练数据220的各种技术,并且校正系统200可以使用这种技术中的一个或多个。包括话语230和逻辑形式240的多个元组通常适合于训练语义解析器,并且因此,除了如本文所描述的对原始训练数据220的使用之外,原始训练数据220还可以被用于或可用于在对话系统中训练语义解析器以将话语230映射到逻辑形式。
对于原始训练数据220中的每个原始元组,校正系统200可以将原始话语230a转换为一组语音430(如通过使用校正TTS子系统410)。校正TTS子系统410可以是用于生成语音430以确定如本文所描述的校正训练数据260的TTS系统。该组语音430可以包括多个语音430,并且该组中的每个语音430可以包括口述原始话语230a的话音。例如,每个语音430可以是音频文件或音频文件的一部分或其他音频数据。该组中的语音430的不同可以在于:一些语音430可以是以男性话音口述的而其他语音是以女性话音口述的,并且语音430可以在口音或方言方面不同。通常,该组语音430可以表示可以准确口述原始话语230a的不同方式。
在一些情况下,ASR 108可以更好地转译具有某些特性(例如,某些口音)的音频,并且因此,与不具有这种特性的话语230相比,具有不同特性的口述话语230可以由ASR108以不同的方式转译。然而,理想地,基于原始话语230a生成的每个语音430在被处理作为对话系统100的语音输入104时将被映射到原始元组的对应逻辑形式240。校正系统200的各个实施例试图通过基于这些不同的语音430训练校正模型113来实现该映射。
校正系统200可以将ASR 108应用于与原始话语230a相对应的该组语音430中的每个语音430,使得ASR 108输出每个这种语音430的对应话语230(在本文中被称为输出话语230b)。结果是,原始话语230a可以与一组输出话语230b相关联,每个输出话语是将ASR 108应用于原始话语230a的语音变型的结果。如果ASR 108是完美的,则每个输出话语230b将与原始话语230a相匹配,但是事实并非如此。
校正系统200的实施例生成与原始话语230a相对应的校正元组的子集,其中,每个这种校正元组包括原始话语230a和对应的输出话语230b。校正系统200可以针对如上所述生成的与原始话语230a相对应的每个输出话语230b生成这种校正元组。这可以导致校正元组的数量等于基于原始话语230a生成的语音430的数量。在一些实施例中,这种校正元组的子集是针对原始训练数据220中的每个原始话语230a生成的,并且因此,校正系统200针对原始训练数据220中的各种原始话语230a生成校正元组的汇总集合,每个校正元组包括原始话语230a和对应的输出话语230b。
校正系统200的一些实施例利用与各种原始话语230a相对应的校正元组(即,表示与每个原始话语230a相对应的校正元组的汇总集合)来训练校正模型113。在一些实施例中,校正模型113是序列到序列(seq2seq)ML模型,但是另外地或可替代地可以使用其他ML模型。在训练期间,校正系统200可以将校正元组的输出话语230b标识为输入并且将原始话语230a标识为预期输出,因为原始话语230a准确地反映了各种语音430中的口述文本并且因此是准确的,而输出话语230b潜在地包括由ASR 108引入的错误。因此,在训练之后和操作期间,校正模型113的实施例将输出话语230b(即,由ASR 108输出的话语230)映射到经校正的话语230;校正模型113基于所学习的输出话语230b到原始话语230a的映射来预测经校正的话语230,使得经校正的话语230是对原始话语230a将是什么的预测。因此,在训练之后,可以使用校正模型113来校正ASR 108的输出。
在一些实施例中,由于已经如本文所描述的进行了训练,因此校正模型113被配置成对ASR 108的输出进行校正。返回参考图1,在对话系统100中,ASR 108确定并输出与对话系统100接收的语音输入104相对应的输出话语230b。如果在对话系统100中包括NER子系统112,则校正模型113在输出话语230b被NER子系统112标记之前或之后接收所述输出话语,并且校正模型113将输出话语230b映射到经校正的话语230c。在一些实施例中,经校正的话语230c与输出话语230b相比是语音输入104的更准确的表示,并且具体地,是对将与输出话语230b相对应的原始话语230a的预测。
例如,在从ASR 108接收输出话语“what are the abandoned theme parks cold(废弃的主题公园寒冷的是什么)”时,校正模型113可以将该输出话语230b映射到经校正的话语“what are the abandoned theme parks called(废弃的主题公园叫什么)”。又例如,在接收输出话语“were in Edinburgh can I practice football(我可以在爱丁堡踢足球吗)”时,校正模型113可以将该输出话语230b映射到经校正的话语“where in Edinburghcan I practice football(我可以在爱丁堡的什么地方踢足球)”。再例如,在接收输出话语“how are butchers exist in purse(钱包中有多少个屠夫)”时,校正模型113可以被配置成将该输出话语230b映射到经校正的话语“how many butchers exist in Paris(巴黎有多少个屠夫)”。再例如,在接收输出话语“are there any monuments in MarseilleInez so how many(马赛伊内兹有纪念碑吗,因此有多少)”时,校正模型113可以被配置成将该输出话语230b映射到经校正的话语“are there any monuments in Marseille,andif so,how many(马赛有没有纪念碑,如果有的话,有多少)”。
在一些实施例中,语义解析器114接收经校正的话语230c并且因此输出逻辑形式240。由于在对话系统100的流水线中包括校正模型113,逻辑形式240可以排除由ASR 108引入的某些错误,因为校正模型113校正了这种错误。更一般地,本文所描述的对话系统100的流水线与传统对话系统相比在提供与用户的对话方面更有效。通过使用ASR 108来确定包含ASR 108的错误的校正训练数据260,校正模型113可以被配置成解决这种错误,并且因此学习存在这种错误的情况下的适当输出。在一些实施例中,整体结果是,由ASR 108产生的一些错误不会在整个对话系统100的流水线中传播。错误传播的减少可以导致来自对话管理器子系统116的改进的或更加准确的响应,并且因此可以改进用户与对话系统100之间的对话。
图5是根据本文所描述的一些实施例的训练校正模型113以校正ASR 108的输出的方法500的示例的图。更具体地,校正系统200的一些实施例在上述图3中的更一般方法300的框310和315处执行该方法500或类似方法。在一些实施例中,在执行该方法500之前,已经对对话系统的ASR 108进行了训练。可以在执行该方法500之前、期间或之后对对话系统的其他方面(如语义解析器和TTS子系统)进行训练。
图5中描绘的方法500以及本文所描述的其他方法可以在由一个或多个处理单元(例如,处理器或处理器核)执行的软件(例如,代码、指令或程序)中、硬件中或其组合中实施。软件可以存储在非暂态存储介质(如,存储器设备)上。该方法500旨在是说明性且非限制性的。尽管图5描绘了以特定次序或顺序发生的各种活动,但这并不旨在是限制性的。例如,在某些实施例中,所述活动可以以不同的顺序执行,或者方法500的一个或多个活动可以并行执行。在某些实施例中,方法500可以由校正系统200执行。
如图5所示,在框505处,校正系统200访问原始训练数据220,所述原始训练数据包括原始元组,其中,每个原始元组包括原始话语230a和逻辑形式240。原始训练数据220可以通过本领域已知的各种技术获得。例如,原始训练数据220中的逻辑形式240由计算机系统基于所建立语法自动生成,并且对应的原始话语230a是基于逻辑形式240通过众包(crowdsourcing)生成的。然后将所得的原始训练数据220存储到校正系统200可读的存储器设备中。
框510开始一个循环,在该循环中,每次迭代考虑原始训练数据220中的每个原始话语230a。具体地,在框510处,校正系统200从原始训练数据220中选择原始元组中尚未考虑的原始话语230a。如以下描述的,可以使用原始话语230a来生成用于训练校正模型113的一个或多个校正元组。
在框515处,校正系统200将校正TTS子系统410应用于原始话语230a以生成包括一个或多个语音430的一组语音430。在一些实施例中,校正TTS子系统410可以是高质量的TTS系统。校正TTS子系统410可以但不必是在将使用校正模型113的对话系统的常规操作期间使用的同一TTS子系统。在一些实施例中,在对话系统的操作期间使用的TTS子系统可以被设计得很小,例如,如果对话系统是由嵌入式设备执行的话。在这种情况下,在对话系统的操作期间使用的TTS子系统可能具有导致准确度限制的空间限制。在这种情况下,可能期望使用其他更高质量的TTS子系统作为校正TTS子系统410。校正TTS子系统410可以是自动TTS系统或者可以通过人工活动来实施。例如,校正TTS子系统410可以是经训练的ML模型,或者校正TTS子系统410可以被实施为负责口述原始话语230a以进行记录的人类口述者。
在一些实施例中,校正TTS子系统410可以应用于具有多种变体的原始话语230a,以在该组中产生与原始话语230a相对应的各种语音430,其中,每个语音430表示呈语音变型形式的原始话语230a。例如,语音430可以表示各种话音、口音、方言和性别。
在框520处,校正系统200将ASR 108应用于与原始话语230a相对应的每个语音430以确定输出话语230b。换言之,ASR 108可以将与原始话语230a相对应的该一组语音430中的每个语音430映射到对应的输出话语230b。结果是,原始话语230a现在可以与由ASR 108基于原始话语230a的语音变型提供的一组输出话语230b相关联。
在框525处,校正系统200向一组校正训练数据260添加一组校正元组,每个校正元组包括原始话语230a和相应的输出话语230b。更具体地,例如,针对基于原始话语230a生成的每个输出话语230b,可以将这种校正元组添加到校正训练数据260,其中,每个输出话语230b与共享原始话语230a成对,导致将数量等于由校正TTS子系统410基于原始话语230a生成的语音430的数量的校正元组添加到校正训练数据260中。
在决策框530处,训练子系统280确定原始训练数据220中是否还有要考虑的任何原始话语230a。如果有任何这种原始话语230a,则方法500返回到框510,在所述框处,选择另一原始话语230a以供考虑。然而,如果已考虑了原始训练数据220中的所有原始话语230a,则方法500可以前进到框535。
在框535处,校正系统200用校正训练数据260来训练校正模型113。在一些实施例中,校正模型113是seq2seq模型,但是另外地或可替代地可以使用其他ML模型。例如,校正系统200可以用校正训练数据260的校正元组来训练校正模型113,每个校正元组包括原始话语230a和对应的输出话语230b,其中,所述对应的输出话语已从ASR 108本身输出。在校正模型113的训练期间,校正元组的每个输出话语230b可以被标识为输入,并且每个对应的原始话语230a可以被标识为在给定该输入的情况下的正确输出。因此,在一些实施例中,校正系统200可以因此训练校正模型113以将输出话语230b映射到经校正的话语230,所述经校正的输出话语是原始话语230a的预测。
图6是根据一些实施例的对话系统100的另一示例的图。具体地,对话系统100的该示例通过在其工作流程中结合了包含校正模型113的校正语义解析器610而相对于传统对话系统有所改进。图6所示的对话系统100的示例类似于图1中对话系统100的示例,区别在于在图6中,对话系统100包括校正语义解析器610作为语义解析器114,并且校正语义解析器610包含校正模型113。进一步地,如图6所示,在一些实施例中,在ASR 108与校正语义解析器610之间不需要校正模型113。
在图6的示例对话系统100中,ASR子系统108被配置成针对每个口述从句生成话语230,并将所述话语230馈送到NLU子系统110,以进行进一步处理。[0001]NLU子系统110接收由ASR子系统108生成的话语230。由NLU子系统110从ASR子系统108接收的话语230可以包括与口述单词、短语、从句等相对应的文本话语。
NLU子系统110将每个话语230或一系列话语230转译为对应的逻辑形式。[0002]在某些实施方式中,NLU子系统110包括命名实体识别器(NER)子系统112和语义解析器子系统114。NER子系统112接收话语230作为输入、识别话语230中的命名实体、并且利用与所识别出的命名实体相关的信息来标记话语230。然后将经标记的话语230馈送到校正语义解析器610,所述校正语义解析器被配置成针对每个经标记的话语230或针对一系列经标记的话语230生成逻辑形式240,使得逻辑形式240将对ASR 108引入的错误的校正结合到话语230中。然后将由NLU子系统110生成的逻辑形式240馈送到DM子系统116,以进行进一步处理。
在本文所描述的一些实施例中,校正语义解析器610是或者包括ML模型。如以下进一步描述的,校正语义解析器610学习通常在对话系统100的特定ASR子系统108中产生的错误。这样,校正语义解析器610可以校正这些错误,以防止这种错误以逻辑形式240向前传递。[0003]DM子系统116被配置成基于从NLU子系统110接收的逻辑形式240来管理与用户的对话。
图7是根据本文所描述的某些实施例的校正系统200的再一示例的图。图7的示例是图2所示的校正系统200的特定实例,并且应当理解的是,图7不限制本文所描述的各个实施例。如上所述,校正系统200的一些实施例使用数据生成子系统250来将原始训练数据220映射到校正训练数据260。具体地,在该示例中,数据生成子系统250再次包括校正TTS子系统410和ASR 108。然而,在该示例中,根据本文所描述的一些实施例,校正系统200被配置成训练校正语义解析器610以包括在对话系统100中。为此,校正训练数据260包括与图4的示例中描述的那些校正元组不同的校正元组。
在一些实施例中,用于训练校正语义解析器610的校正系统200中所使用的ASR108是校正语义解析器610将在其中操作的对话系统100中使用的同一ASR 108。结果是,校正语义解析器610专门针对该ASR 108进行调整,并且进行学习以校正由校正语义解析器610将与其一起操作的ASR 108实际产生的错误类型。
在一些实施例中,校正语义解析器610包含校正模型113,其中,校正语义解析器610隐式地校正来自ASR 108的输出话语230b。与传统语义解析器一样,校正语义解析器610可以将话语230映射到逻辑形式240。然而,在一些实施例中,用校正元组训练校正语义解析器610,并且这样,所述校正语义解析器隐式地校正ASR输出中的错误。由于减少了在整个对话系统100中传播的错误,因此这可以在整个对话系统100中导致更好的结果。
如图4与图7的比较所示,用于提供校正语义解析器610的工作流程的各个方面类似于用于在不包括校正语义解析器610时提供校正模型113的那些方面。例如,如图7所示,校正系统200访问一组原始训练数据220,该组原始训练数据包括一组原始元组,其中,每个这种原始元组可以包括原始话语230a和逻辑形式240。
对于原始训练数据220中的每个原始元组,校正系统200可以将原始话语230a转换为一组语音430(如通过使用校正TTS子系统410)。该组语音430可以包括多个这种语音430,并且每个语音430可以包括口述话语230的话音。通常,该组语音430可以表示可以准确口述原始话语230a的不同方式。在一些情况下,ASR 108可以更好地转译具有某些特性(例如,某些口音)的音频,并且因此,具有不同特性的口述话语230可以由ASR 108以不同的方式转译。然而,理想地,基于原始话语230a生成的每个语音430在被处理作为对话系统100的语音输入104时将被映射到对应的逻辑形式240。校正系统200的各个实施例试图实现该映射。在该示例中,校正系统200提供了校正语义解析器610,所述校正语义解析器结合了针对这种映射的训练。
为此,在一些实施例中,校正系统200将ASR 108应用于与原始话语230a相对应的该组语音430中的每个语音430,使得ASR 108输出每个这种语音430的对应输出话语230b。结果是,原始话语230a可以与一组输出话语230b相关联,每个输出话语是将ASR 108应用于原始话语230a的语音变型的结果。如果ASR 108是完美的,则每个输出话语230b将与原始话语230a相匹配,但是事实并非如此。
校正系统200的实施例生成与原始话语230a以及从中选择原始话语230a的原始元组相对应的校正元组的子集。每个这种校正元组可以包括如在原始训练数据220中的标识的原始话语230a的逻辑形式240和该原始话语230a的对应输出话语230b。校正系统200可以针对如上所述生成的与原始话语230a相对应的每个输出话语230b生成这种校正元组。对于每个原始话语230a,这可以导致校正元组的子集的数量等于基于原始话语230a生成的语音430的数量。因此,作为校正训练数据260,校正系统200针对原始训练数据220中的各种原始话语230a(即,每个原始元组)生成校正元组的汇总集合,每个校正元组包括逻辑形式240和对应的输出话语230b。
校正系统200的实施例利用校正训练数据260(即,表示与各种原始话语230a相对应的校正元组的汇总集合)来训练校正语义解析器610。在一些实施例中,校正语义解析器610是或者包括seq2seq模型,但是另外地或可替代地可以使用其他ML模型。在训练期间,校正系统200可以将校正元组的输出话语230b标识为输入并且将逻辑形式240标识为预期输出,因为该逻辑形式240准确地反映了对应原始话语230a的逻辑形式240,所述逻辑形式是输出话语230b的经校正版本。因此,在训练中隐含了输出话语230b对原始话语230a的校正。
在一些实施例中,在训练之后和操作期间,校正语义解析器610将输出话语230b(即,由ASR 108输出的话语230)映射到逻辑形式240。具体地,在训练之后,校正语义解析器610预测与可能由给定输出话语230b表示的理论原始话语230a相对应的逻辑形式240。因此,基于所提供的训练对输出话语230b的校正是隐式的,使得校正语义解析器610隐式地校正ASR 108的输出中的错误。
在一些实施例中,由于已经如本文所描述的进行了训练,因此校正语义解析器610被配置成生成结合了对ASR 108的输出的校正的逻辑形式240。返回参考图6,在对话系统100中,ASR 108确定并输出与对话系统100接收的语音输入104相对应的输出话语230b。如果在对话系统100中包括NER子系统112,则校正语义解析器610潜在地在输出话语230b被NER子系统112标记之后接收所述输出话语,并且校正语义解析器610将输出话语230b映射到与潜在的经校正的话语230c相对应的逻辑形式240。换言之,校正语义解析器610在确定逻辑形式240时隐式地校正输出话语230b。
例如,在接收输出话语“what are the abandoned theme parks cold(废弃的主题公园寒冷的是什么)”时,校正语义解析器610可以被配置成将该输出话语230b映射到逻辑形式“query(nwr(keyval(‘abandoned:tourism’,‘theme_park’)),qtype(findkey(‘name’)))”,所述逻辑形式是经校正的话语“what are the abandoned theme parkscalled(废弃的主题公园叫什么)”的逻辑形式240。又例如,在接收输出话语“were inEdinburgh can I practice football(我可以在爱丁堡踢足球吗)”时,校正语义解析器610可以被配置成将该输出话语230b映射到逻辑形式“query(area(keyval(‘name’,‘City_of_Edinburgh’)),nwr(keyval(‘sport’,‘soccer’)),qtype(least(topx(1))))”,所述逻辑形式是经校正的话语“where in Edinburgh can I practice football(我可以在爱丁堡的什么地方踢足球)”的逻辑形式240。再例如,在接收输出话语“how are butchersexist in purse(钱包中有多少个屠夫)”时,校正语义解析器610可以被配置成将该输出话语230b映射到逻辑形式“query(area(keyval(‘name’,‘Paris’),keyval(‘is_in:country’,‘France’)),nwr(keyval(‘shop’,‘butcher’)),qtype(count))”,所述逻辑形式是经校正的话语“how many butchers exist in Paris(巴黎有多少个屠夫)”的逻辑形式240。再例如,在接收输出话语“are there any monuments in Marseille Inez so howmany(马赛伊内兹有纪念碑吗,因此有多少)”时,校正语义解析器610可以被配置成将该输出话语230b映射到逻辑形式“query(area(keyval(‘name’,‘Marseille’)),nwr(keyval(‘historic’,‘monument’)),qtype(least(topx(1)),count))”,所述逻辑形式是经校正的话语“are there any monuments in Marseille,and if so,how many(马赛有没有纪念碑,如果有的话,有多少)”的逻辑形式240。
在一些实施例中,对话管理器子系统116分析逻辑形式240并且基于处理该逻辑形式240来确定响应。由于使用了校正语义解析器610来解决ASR输出中的错误,逻辑形式240可以排除由ASR 108引入的某些错误。更一般地,与传统对话系统相比,本文所描述的对话系统100的流水线在提供与用户的对话方面更有效。通过使用ASR 108来确定包含ASR 108的错误的校正训练数据260,校正语义解析器610可以被配置成解决这种错误,并且从而学习在存在这种错误的情况下的适当输出。在一些实施例中,整体结果是,由ASR 108产生的一些错误不会在整个对话系统100的流水线中传播。错误传播的减少可以导致来自对话管理器子系统116的改进的或更加准确的响应,并且因此可以改进用户与对话系统100之间的对话。
图8是根据本文所描述的一些实施例的训练校正语义解析器610以在确定逻辑形式240时隐式地校正ASR 108的输出的方法800的示例的图。更具体地,校正系统200的一些实施例在上述图3中的更一般方法300的框310和315处执行该方法800或类似方法。在一些实施例中,在执行该方法800之前,已经对对话系统100的ASR 108进行了训练。可以在执行该方法800之前、期间或之后对对话系统100的其他方面(如TTS子系统560)进行训练。进一步地,可能已经用原始训练数据220或其他训练数据训练了校正语义解析器610,在这种情况下,该方法800包括对校正语义解析器610的进一步训练。
图8中描绘的方法800以及本文所描述的其他方法可以在由一个或多个处理单元(例如,处理器或处理器核)执行的软件(例如,代码、指令或程序)中、硬件中或其组合中实施。软件可以存储在非暂态存储介质(如,存储器设备)上。该方法800旨在是说明性且非限制性的。尽管图8描绘了以特定次序或顺序发生的各种活动,但这并不旨在是限制性的。例如,在某些实施例中,所述活动可以以不同的顺序执行,或者方法800的一个或多个活动可以并行执行。在某些实施例中,方法800可以由校正系统200执行。
如图8所示,在框805处,校正系统200访问原始训练数据220,所述原始训练数据包括原始元组,其中,每个原始元组包括原始话语230a和逻辑形式240。在一些实施例中,除了如本文所描述的使用校正元组之外,已经使用或将使用原始训练数据220来训练校正语义解析器610。原始训练数据220可以通过本领域已知的各种技术获得。例如,原始训练数据220中的逻辑形式240由计算机系统基于所建立语法自动生成,并且对应的原始话语230a是基于逻辑形式240通过众包生成的。然后将所得的原始训练数据220存储到校正系统200可读的存储器设备中。
框810开始一个循环,在该循环中,每次迭代考虑原始训练数据220中的每个原始元组。在框810处,校正系统200从原始训练数据220中选择原始元组中尚未考虑的原始话语230a。如以下描述的,可以使用原始话语230a来生成用于训练校正模型113的多个校正元组。
在框815处,校正系统200将校正TTS子系统410应用于原始话语230a以生成一组语音430。在一些实施例中,校正TTS子系统410可以是高质量的TTS子系统。所应用的校正TTS子系统410可以但不必是在对话系统100的常规操作期间使用的同一TTS子系统120。在一些实施例中,在对话系统100的操作期间使用的TTS子系统120可以被设计得很小,例如,如果对话系统100是由嵌入式设备执行的话。在这种情况下,在对话系统100的操作期间使用的TTS子系统120可能具有导致准确度限制的空间限制。在这种情况下,可以期望使用如本文关于校正TTS子系统410所描述的用于校正ASR的输出的其他更高质量的TTS子系统。校正TTS子系统410可以是自动TTS子系统,或者校正TTS子系统410可以包括人工活动。例如,校正TTS子系统410可以是经训练的ML模型,或者校正TTS子系统410可以被实施为负责口述原始话语230a以进行记录的人类口述者。
在一些实施例中,校正TTS子系统410可以应用于具有多种变体的原始话语230a,以在该组中产生与原始话语230a相对应的各种语音430,其中,每个语音430表示原始话语230a。例如,语音430可以表示各种话音、口音、方言和性别。
在框820处,校正系统200将ASR 108应用于与原始话语230a相对应的每个语音430以确定输出话语230b。换言之,ASR 108可以将与原始话语230a相对应的该一组语音430中的每个语音430映射到对应的输出话语230b。结果是,原始话语230a现在可以与ASR 108基于原始话语230a的口述版本提供的一组输出话语230b相关联。
在框825处,校正系统200向一组校正训练数据260添加一组校正元组,每个校正元组包括输出话语230b和原始话语230a的逻辑形式240。更具体地,例如,针对基于原始话语230a生成的每个输出话语230b,可以将这种校正元组添加到校正训练数据260,导致将数量等于由校正TTS子系统410基于原始话语230a生成的语音430的数量的校正元组添加到校正训练数据260中。
在决策框830处,训练子系统280确定原始训练数据220中是否还有要考虑的任何原始元组。如果有任何这种原始元组,则方法800返回到框810,在所述框处,选择另一原始元组以供考虑。然而,如果已考虑了原始训练数据220中的所有原始元组,则方法800可以前进到框835。
在框835处,校正系统200用校正训练数据260来训练校正语义解析器610。例如,校正系统200可以用校正元组训练校正语义解析器610,每个校正元组包括输出话语230b和对应的逻辑形式240,其中,所述输出话语已从ASR 108输出并且所述对应的逻辑形式是从原始训练数据220中选择的准确的逻辑形式240。在校正语义解析器610的训练期间,校正元组的每个输出话语230b可以被标识为输入,并且每个对应的逻辑形式240可以被标识为在给定该输入的情况下的正确输出。因此,在一些实施例中,校正系统200可以因此训练校正语义解析器610以将经校正的话语230(即,原始话语230a)的变体(这种变体体现在对应的输出话语230b中)映射到该经校正的话语230的逻辑形式240。
图9是用于实施某些实施例的分布式系统900的图。在图示的实施例中,分布式系统900包括经由一个或多个通信网络910耦接至服务器912的一个或多个客户端计算设备902、904、906和908。客户端计算设备902、904、906和908可以被配置成执行一个或多个应用程序。
在各个实施例中,服务器912可以被适配成运行使得能够训练或使用校正模型113或校正语义解析器610的一个或多个服务或软件应用程序。例如,服务器912可以执行校正系统200的一些或全部方面或对话系统100的一些或全部方面。
在某些实施例中,服务器912还可以提供可以包括非虚拟环境和虚拟环境的其他服务或软件应用程序。在一些实施例中,这些服务可以作为基于web的服务或云服务(如在软件即服务(SaaS)模型下)提供给客户端计算设备902、904、906和/或908的用户。操作客户端计算设备902、904、906和/或908的用户进而可以利用一个或多个客户端应用程序来与服务器912交互以利用这些部件所提供的服务。更具体地,例如,客户端计算设备902、904、906和/或908中的每一个可以是嵌入式设备,所述嵌入式设备被配置成执行对话系统100并且进一步被配置成与服务器912通信以使得服务器912能够训练校正模型113或校正语义解析器610以用于对话系统100中。
在图9所描绘的配置中,服务器912可以包括实施由服务器912执行的功能的一个或多个部件918、920和922。这些部件可以包括可以由一个或多个处理器、硬件部件或其组合执行的软件部件。应了解,可以与分布式系统900不同的各种不同的系统配置是可能的。因此,图9所示的实施例是用于实施实施例系统的分布式系统的一个示例并且不旨在是限制性的。
根据本公开的教导,用户可以使用客户端计算设备902、904、906和/或908来与服务器912提供的对话系统100的各方面交互。客户端设备可以提供使得客户端设备的用户能够与客户端设备交互的接口(例如,语音接口)。客户端设备还可以通过此接口向用户输出信息。尽管图9描绘了仅四个客户端计算设备,但是可以支持任何数量的客户端计算设备。
客户端设备可以包括各种类型的计算系统,如PA设备、便携式手持设备、如个人计算机和膝上型计算机等通用计算机、工作站计算机、可穿戴设备、游戏系统、瘦客户端、各种消息传递设备、传感器或其他感测设备等。这些计算设备可以运行各种类型和版本的软件应用程序和操作系统(例如,Microsoft
Figure BDA0002670872050000211
Apple
Figure BDA0002670872050000212
或类UNIX操作系统、Linux或类Linux操作系统(如Google ChromeTM OS)),包括各种移动操作系统(例如,Microsoft Windows
Figure BDA0002670872050000213
Windows
Figure BDA0002670872050000214
AndroidTM
Figure BDA0002670872050000215
Palm
Figure BDA0002670872050000216
)。便携式手持设备可以包括蜂窝电话、智能电话(例如,
Figure BDA0002670872050000217
)、平板计算机(例如,
Figure BDA0002670872050000218
)、个人数字助理(PDA)等。可穿戴设备可以包括Google
Figure BDA0002670872050000219
头戴式显示器以及其他设备。游戏系统可以包括各种手持游戏设备、支持因特网的游戏设备(例如,有或没有
Figure BDA00026708720500002110
姿势输入设备的Microsoft
Figure BDA00026708720500002111
游戏控制台、Sony
Figure BDA00026708720500002112
系统、由
Figure BDA00026708720500002113
提供的各种游戏系统以及其他设备)等。客户端设备可以能够执行各种不同的应用程序,如各种因特网相关应用程序、通信应用程序(例如,电子邮件应用程序、短消息服务(SMS)应用程序)并可以使用各种通信协议。
(多个)网络910可以是本领域技术人员所熟悉的可以使用各种可用协议中的任何一种支持数据通信的任何类型的网络,所述可用协议包括但不限于TCP/IP(传输控制协议/因特网协议)、SNA(系统网络架构)、IPX(因特网分组交换)、
Figure BDA00026708720500002114
等。仅通过示例的方式,(多个)网络910可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟私人网络(VPN)、内部网、外部网、公共交换电话网(PSTN)、红外线网、无线网(例如,根据电气与电子协会(IEEE)802.11协议组、
Figure BDA0002670872050000226
和/或任何其他无线协议操作的网络)和/或这些网络和/或其他网络的任何组合。
服务器912可以由以下各项构成:一个或多个通用计算机、专用服务器计算机(通过示例的方式包括PC(个人计算机)服务器、
Figure BDA0002670872050000221
服务器、中档服务器、大型计算机、机架式服务器等)、服务器群、服务器集群、或任何其他适当的布置和/或组合。服务器912可以包括运行虚拟操作系统的一个或多个虚拟机或涉及虚拟化的其他计算架构(如逻辑存储设备的可以被虚拟化以维护服务器的虚拟存储设备的一个或多个灵活池。在各个实施例中,服务器912可以被适配成运行提供前述公开内容所描述的功能的一个或多个服务或软件应用程序。
服务器912中的计算系统可以运行一个或多个操作系统,所述一个或多个操作系统包括以上所讨论的那些操作系统中的任何一个操作系统以及任何可商购获得的服务器操作系统。服务器912也可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一种应用程序,包括HTTP(超文本运输协议)服务器、FTP(文件传送协议)服务器、CGI(通用网关接口)服务器、
Figure BDA0002670872050000222
服务器、数据库服务器等。示例性数据库服务器包括但不限于可从
Figure BDA0002670872050000223
(国际商业机器公司)等商购获得的那些数据库服务器。
在一些实施方式中,服务器912可以包括一个或多个应用程序以分析并合并从客户端计算设备902、904、906和908的用户接收的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于
Figure BDA0002670872050000224
馈送、
Figure BDA0002670872050000225
更新或从一个或多个第三方信息源和连续数据流接收的实时更新,所述实时更新可以包括与传感器数据应用程序、财务收报机、网络性能测量工具(例如,网络监测和流量管理应用程序)、点击流分析工具、汽车交通监测等相关的实时事件。服务器912还可以包括一个或多个应用程序以通过客户端计算设备902、904、906和908的一个或多个显示设备来显示数据馈送和/或实时事件。
分布式系统900还可以包括一个或多个数据储存库914、916。在某些实施例中,这些数据储存库可以用于存储数据和其他信息。例如,数据储存库914、916中的一个或多个数据储存库可以用于存储训练或操作校正模型113或校正语义解析器610所需的数据。数据储存库914、916可以驻留在各种位置中。例如,服务器912所使用的数据储存库可以在服务器912本地或者可以远离服务器912并通过基于网络的或专用的连接与服务器912通信。数据储存库914、916可以是不同类型。在某些实施例中,服务器912所使用的数据储存库可以是数据库,例如关系数据库,如由Oracle
Figure BDA0002670872050000231
和其他供应商提供的数据库。这些数据库中的一个或多个数据库可以被适配成响应于SQL格式的命令来实现数据到数据库以及从数据库的存储、更新和取得。
在某些实施例中,数据储存库914、916中的一个或多个数据储存库还可以被应用程序用来存储应用程序数据。应用程序所使用的数据储存库可以是不同类型,如例如由文件系统支持的通用存储储存库、键值存储储存库或对象存储储存库。
在某些实施例中,可以经由云环境将训练或利用校正模型113或校正语义解析器610的全部或一部分作为服务提供。图10是根据某些实施例的基于云的系统环境的框图,其中,校正模型113或校正语义解析器610的训练或使用可以至少部分地作为云服务来提供。在图10所描绘的实施例中,云基础设施系统1002可以提供可以由用户使用一个或多个客户端计算设备1004、1006和1008请求的一个或多个云服务。云基础设施系统1002可以包括一个或多个计算机和/或服务器,所述一个或多个计算机和/或服务器可以包括以上针对服务器912所描述的那些计算机和/或服务器。云基础设施系统1002中的计算机可以被组织成通用计算机、专用服务器计算机、服务器群、服务器集群或任何其他适当的布置和/或组合。
(多个)网络1010可以促进客户端计算设备1004、1006和1008与云基础设施系统1002之间的数据通信和交换。(多个)网络1010可以包括一个或多个网络。网络可以是相同或不同的类型。(多个)网络1010可以支持一个或多个通信协议(包括有线和/或无线协议)以促进通信。
图10所描绘的实施例仅是云基础设施系统的一个示例并且不旨在是限制性的。应了解,在一些其他实施例中,云基础设施系统1002可以具有比图10所描绘的那些部件更多或更少的部件、可以组合两个或更多个部件或可以具有不同的部件配置或布置。例如,尽管图10描绘了三个客户端计算设备,但是在替代性实施例中,可以支持任何数量的客户端计算设备。
术语云服务通常用于指代通过服务提供商的系统(例如,云基础设施系统1002)按需且经由如因特网等通信网络变得可用于用户的服务。通常,在公共云环境中,构成云服务提供商的系统的服务器和系统不同于客户自己的室内服务器和系统。云服务提供商的系统由云服务提供商管理。因此,客户可以使自身利用由云服务提供商提供的云服务,而不必针对服务购买单独的许可证、支持或硬件和软件资源。例如,云服务提供商的系统可以托管应用程序,并且用户可以通过因特网按需订购并使用应用程序,而用户不必购买用于执行应用程序的基础设施资源。云服务被设计成提供对应用程序、资源和服务的容易的、可伸缩的访问。几个提供商提供云服务。例如,由加利福尼亚州红木海岸(Redwood Shores,California)的Oracle
Figure BDA0002670872050000241
提供如中间件服务、数据库服务、Java云服务以及其他服务等几种云服务。
在某些实施例中,云基础设施系统1002可以使用不同的模型(如在软件即服务(SaaS)模型、平台即服务(PaaS)模型、基础设施即服务(IaaS)模型和其他模型(包括混合服务模型)下)提供一个或多个云服务。云基础设施系统1002可以包括实现对各种云服务的供给的一套应用程序、中间件、数据库和其他资源。
SaaS模型使应用程序或软件能够作为服务通过如因特网等通信网络输送给客户,而客户不必购买底层应用程序的硬件或软件。例如,可以使用SaaS模型为客户提供对由云基础设施系统1002托管的按需应用程序的访问。Oracle
Figure BDA0002670872050000242
提供的SaaS服务的示例包括但不限于用于人力资源/资本管理、客户关系管理(CRM)、企业资源规划(ERP)、供应链管理(SCM)、企业绩效管理(EPM)、分析服务、社交应用程序以及其他等的各种服务。
IaaS模型通常用于将基础设施资源(例如,服务器、存储、硬件和联网资源)作为云服务提供给客户以提供弹性计算和存储能力。由Oracle
Figure BDA0002670872050000243
提供各种IaaS服务。
PaaS模型通常用于作为服务提供使客户能够开发、运行并管理应用程序和服务而客户不必采购、构建或维护这种资源的平台和环境资源。由Oracle
Figure BDA0002670872050000244
提供的PaaS服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)、数据管理云服务、各种应用程序开发解决方案服务、以及其他服务。
云服务通常是以按需自助服务基础、基于订阅、可弹性伸缩、可靠、高度可用且安全的方式提供的。例如,客户可以通过订阅订单来订购由云基础设施系统1002提供的一个或多个服务。然后,云基础设施系统1002执行处理以提供客户的订阅订单中请求的服务。例如,客户可以以会话形式订阅对话系统100提供的信息服务或其他服务。云基础设施系统1002可以被配置成提供一个或甚至多个云服务。
云基础设施系统1002可以通过不同的部署模型提供云服务。在公共云模型中,云基础设施系统1002可以由第三方云服务提供商拥有,并且云服务被提供给任何一般的公众客户,其中,所述客户可以是个人或企业。在某些其他实施例中,在私有云模型下,云基础设施系统1002可以在组织内(例如,在企业组织内)操作并且服务被提供给组织内的客户。例如,客户可以是如人力资源部门、薪资部门等企业的各个部门或甚至是企业内的个人。在某些其他实施例中,在社区云模型下,云基础设施系统1002和所提供的服务可以由相关的社区中的几个组织共享。也可以使用如以上所提到的模型的混合等各种其他模型。
客户端计算设备1004、1006和1008可以是不同类型的(如图9所描绘的客户端计算设备902、904、906和908)并且可以能够操作一个或多个客户端应用程序。用户可以使用客户端计算设备与云基础设施系统1002交互,如请求由云基础设施系统1002提供的服务。攻击者可能使用客户端设备来发送恶意请求。
在一些实施例中,由云基础设施系统1002执行的处理可以涉及大数据分析。此分析可以涉及使用、分析并操纵大数据集以检测并可视化数据中的各种趋势、行为、关系等。此分析可以由一个或多个处理器执行,从而可能并行地处理数据、使用数据执行模拟等。例如,大数据分析可以由云基础设施系统1002执行,以提供如本文所描述的校正模型113或校正语义解析器610的训练或使用。用于此分析的数据可以包括结构化数据(例如,存储在数据库中或根据结构化模型结构化的数据)和/或非结构化数据(例如,数据块(二进制大对象))。
如图10中的实施例所描绘的,云基础设施系统1002可以包括被用于促进供给由云基础设施系统1002提供的各种云服务的基础设施资源1030。基础设施资源1030可以包括例如处理资源、存储或存储器资源、联网资源等。
在某些实施例中,为了促进对这些资源的高效供给以用于支持由云基础设施系统1002为不同客户提供的各种云服务,基础设施资源1030可以被捆绑成资源组或资源模块(也被称为“群(pod)”)。每个资源模块或群可以包括一种或多种类型的资源的预先集成且优化的组合。在某些实施例中,可以针对不同类型的云服务预先供给不同的群。例如,可以针对数据库服务供给第一组群、可以针对Java服务供给第二组群(所述第二组群可以包括与第一组群中的群不同的资源组合)等。对于一些服务,被分配用于供给服务的资源可以在服务之间共享。
云基础设施系统1002本身可以在内部使用由云基础设施系统1002的不同部件共享并且促进云基础设施系统1002供给服务的服务1032。这些内部共享服务可以包括但不限于安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高度可用性、备份和恢复服务、用于实现云支持的服务、电子邮件服务、通知服务、文件传送服务等。
云基础设施系统1002可以包括多个子系统。这些子系统可以在软件或硬件或其组合中实施。如图10所描绘的,子系统可以包括使得云基础设施系统1002的用户或客户能够与云基础设施系统1002交互的用户接口子系统1012。用户接口子系统1012可以包括各种不同的接口,如web接口1014、在线商店接口1016(其中,广告并且客户可购买由云基础设施系统1002提供的云服务)和其他接口1018。例如,客户可以使用客户端设备请求(服务请求1034)由云基础设施系统1002使用接口1014、1016和1018中的一个或多个接口提供的一个或多个服务。例如,客户可以访问在线商店、浏览由云基础设施系统1002提供的云服务并且针对客户希望订阅的由云基础设施系统1002提供的一个或多个服务下订阅订单。服务请求可以包括标识客户和客户期望订阅的一个或多个服务的信息。
在某些实施例(如图10所描绘的实施例)中,云基础设施系统1002可以包括被配置成处理新订单的订单管理子系统(OMS)1020。作为此处理的一部分,OMS 1020可以被配置成:为客户创建账户(如果尚未创建的话);从客户接收要用于向客户开具账单以向客户提供所请求的服务的账单和/或计费信息;验证客户信息;在验证之后,为客户预订订单;以及策划各种工作流程来准备订单以进行供给。
一旦被正确地验证,那么,OMS 1020就可以调用被配置成为订单供给资源(包括处理资源、存储器资源和联网资源)的订单供给子系统(OPS)1024。供给可以包括为订单分配资源并配置资源以促进客户订单所请求的服务。为订单供给资源的方式和所供给的资源的类型可以取决于客户已经订购的云服务的类型。例如,根据一个工作流程,OPS 1024可以被配置成确定正在请求的特定云服务并且识别可能已经为所述特定云服务预先配置的群的数量。为订单分配的群的数量可以取决于所请求服务的大小/量/层级/范围。例如,要分配的群的数量可以基于服务所要支持的用户的数量、正在请求的服务的持续时间等来确定。然后,可以为特定的请求客户定制分配的群以用于提供所请求服务。
云基础设施系统1002可以向请求客户发送响应或通知1044,以指示何时所请求服务现在已准备好使用。在一些实例中,可以向客户发送使客户能够开始使用和利用所请求服务的益处的信息(例如,链接)。
云基础设施系统1002可以向多个客户提供服务。对于每个客户,云基础设施系统1002负责管理与从客户接收的一个或多个订阅订单有关的信息、维护与订单相关的客户数据并且向客户提供所请求服务。云基础设施系统1002还可以收集关于客户使用所订阅服务的使用情况统计数据。例如,可以收集所使用的存储量、所传送的数据量、用户的数量以及系统开机时间量和系统停机时间量等的统计数据。可以使用此使用情况信息向客户开具账单。可以例如以月为周期完成开具账单。
云基础设施系统1002可以并行地向多个客户提供服务。云基础设施系统1002可以存储这些客户的信息(可能包括专有信息)。在某些实施例中,云基础设施系统1002包括被配置成管理客户信息并提供对所管理信息的分离使得与一个客户相关的信息不能够被另一个客户访问的身份管理子系统(IMS)1028。IMS 1028可以被配置成提供如身份服务等各种安全有关服务,如信息访问管理、认证和授权服务、用于管理客户身份和角色以及相关功能的服务等。
图11是可以用于实施某些实施例的示例计算机系统1100的框图。例如,在一些实施例中,计算机系统1100可以用于实施本文所描述的系统、子系统和部件中的任何一个。例如,多个主机可以实施校正模型113或语义解析器114的训练或使用。计算机系统(如计算机系统1100)可以用作主机。如图11所示,计算机系统1100包括各种子系统,包括通过总线子系统1102与多个其他子系统通信的处理子系统1104。这些其他子系统可以包括处理加速单元1106、I/O子系统1108、存储子系统1118和通信子系统1124。存储子系统1118可以包括非暂态计算机可读存储介质,包括存储介质1122和系统存储器1110。
总线子系统1102提供用于使计算机系统1100的各个部件和子系统按预期彼此通信的机制。虽然总线子系统1102被示意性地示出为单个总线,但是总线子系统的替代性实施例可以利用多个总线。总线子系统1102可以是包括存储器总线或存储器控制器、外围总线、使用各种总线架构中的任何一种的局部总线等的若干种类型的总线结构中的任何一种。例如,这种架构可以包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线以及外围部件互连(PCI)总线(所述PCI总线可以被实施为被制造成IEEE P1386.1标准的夹层(Mezzanine)总线)等。
处理子系统1104控制计算机系统1100的操作并且可以包括一个或多个处理器、专用集成电路(ASIC)或现场可编程门阵列(FPGA)。处理器可以包括单核处理器或多核处理器。计算机系统1100的处理资源可以被组织成一个或多个处理单元1132、1134等。处理单元可以包括一个或多个处理器、来自相同或不同处理器的一个或多个核、核和处理器的组合或核和处理器的其他组合。在一些实施例中,处理子系统1104可以包括如图形处理器、数字信号处理器(DSP)等一个或多个专用协处理器。在一些实施例中,处理子系统1104的处理单元中的一些或全部可以使用如专用集成电路(ASIC)或现场可编程门阵列(FPGA)等定制电路来实施。
在一些实施例中,处理子系统1104中的处理单元可以执行存储在系统存储器1110内或计算机可读存储介质1122上的指令。在各个实施例中,处理单元可以执行各种程序或代码指令并且可以维护多个同时执行的程序或过程。在任何给定时间,要执行的程序代码中的一些或全部可以驻留在系统存储器1110中和/或计算机可读存储介质1122上(潜在地包括驻留在一个或多个存储设备上)。通过适当的编程,处理子系统1104可以提供以上所述的各种功能。在计算机系统1100在执行一个或多个虚拟机的实例中,可以向每个虚拟机分配一个或多个处理单元。
在某些实施例中,可以可选地提供处理加速单元1106以用于执行定制处理或用于卸载处理子系统1104所执行的处理中的一些处理,从而加速计算机系统1100所执行的总体处理。
I/O子系统1108可以包括用于向计算机系统1100输入信息和/或用于从或通过计算机系统1100输出信息的设备和机构。通常,使用术语输入设备旨在包括用于向计算机系统1100输入信息的所有可能类型的设备和机构。用户接口输入设备可以包括例如键盘、如鼠标或轨迹球等指向设备、并入到显示器中的触摸板或触摸屏、滚轮、点击轮、拨号盘、按钮、开关、小键盘、具有话音命令识别系统的音频输入设备、麦克风以及其他类型的输入设备。用户接口输入设备还可以包括运动感测和/或姿势识别设备,如使得用户能够控制输入设备并与输入设备交互的Microsoft
Figure BDA0002670872050000281
运动传感器、Microsoft
Figure BDA0002670872050000282
360游戏控制器、提供用于使用姿势和口述命令接收输入的接口的设备。用户接口输入设备还可以包括眼部姿势识别设备,如检测来自用户的眼部活动(例如,在拍照和/或进行菜单选择时“眨眼”)并将眼部姿势变换为到输入设备(如Google
Figure BDA0002670872050000283
)的输入的Google
Figure BDA0002670872050000284
眨眼检测器。另外,用户接口输入设备可以包括使得用户能够通过话音命令与话音识别系统(例如,
Figure BDA0002670872050000285
导航器)交互的话音识别感测设备。
用户接口输入设备的其他示例包括但不限于三维(3D)鼠标、操纵杆或指向杆、游戏手柄和图形板、以及音频/视觉设备(如扬声器、数码相机、数码摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、眼睛注视跟踪设备)。另外,用户接口输入设备可以包括例如医学成像输入设备,如计算机断层扫描、磁共振成像、正电子发射断层扫描和医学超声检查设备。用户接口输入设备还可以包括例如音频输入设备,如MIDI键盘、数码乐器等。
通常,使用术语输出设备旨在包括用于从计算机系统1100向用户或其他计算机输出信息的所有可能类型的设备和机构。用户接口输出设备可以包括显示子系统、指示灯或如音频输出设备等非视觉显示器。显示子系统可以是阴极射线管(CRT)、平板设备(如使用液晶显示器(LCD)或等离子显示器的平板设备)、投影设备、触摸屏等。例如,用户接口输出设备可以包括但不限于在视觉上传达文本、图形和音频/视频信息的各种显示设备,如监视器、打印机、扬声器、头戴式耳机、汽车导航系统、绘图仪、话音输出设备和调制解调器。
存储子系统1118提供用于存储计算机系统1100所使用的信息和数据的储存库或数据存储设备。存储子系统1118提供用于存储提供一些实施例的功能的基本编程和数据构造的有形非暂态计算机可读存储介质。存储子系统1118可以存储当由处理子系统1104执行时提供以上所描述的功能的软件(例如,程序、代码模块、指令)。软件可以由处理子系统1104的一个或多个处理单元执行。存储子系统1118还可以根据本公开的教导提供用于存储所使用的数据的储存库。
存储子系统1118可以包括一个或多个非暂态存储器设备,所述一个或多个非暂态存储器设备包括易失性存储器设备和非易失性存储器设备。如图11所示,存储子系统1118包括系统存储器1110和计算机可读存储介质1122。系统存储器1110可以包括多个存储器,包括用于在程序执行期间存储指令和数据的易失性主随机存取存储器(RAM)和其中存储有固定指令的非易失性只读存储器(ROM)或闪速存储器。在一些实施方式中,包含如在启动期间帮助在计算机系统1100内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以存储在ROM中。RAM通常包含目前由处理子系统1104操作并执行的数据和/或程序模块。在一些实施方式中,系统存储器1110可以包括如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等多种不同类型的存储器。
通过示例而非限制的方式,如图11所描绘的,系统存储器1110可以加载正在执行的应用程序1112(所述应用程序可以包括如web浏览器、中间层应用程序、关系数据库管理系统(RDBMS)等各种应用程序)、程序数据1114和操作系统1116。通过示例的方式,操作系统1116可以包括各种版本的Microsoft
Figure BDA0002670872050000301
Apple
Figure BDA0002670872050000302
和/或Linux操作系统、各种可商购获得的
Figure BDA0002670872050000303
或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、Google
Figure BDA0002670872050000304
OS等)和/或如iOS、
Figure BDA0002670872050000305
电话、
Figure BDA0002670872050000306
OS、
Figure BDA0002670872050000307
OS、
Figure BDA0002670872050000308
OS操作系统等移动操作系统、以及其他操作系统。
在某些实施例中,实施校正模型113或校正语义解析器610的训练或使用的软件指令或代码可以在系统存储器1110中执行。
计算机可读存储介质1122可以存储提供一些实施例的功能的编程和数据构造。计算机可读存储介质1122可以为计算机系统1100提供对计算机可读指令、数据结构、程序模块和其他数据的存储。当由处理子系统1104执行时提供以上所描述的功能的软件(程序、代码模块、指令)可以存储在存储子系统1118中。通过示例的方式,计算机可读存储介质1122可以包括如硬盘驱动器、磁盘驱动器、光盘驱动器(如CD ROM、DVD、
Figure BDA0002670872050000309
盘或其他光学介质)等非易失性存储器。计算机可读存储介质1122可以包括但不限于
Figure BDA00026708720500003010
驱动器、闪速存储器卡、通用串行总线(USB)闪速存储器驱动器、安全数字(SD)卡、DVD盘、数字录像带等。计算机可读存储介质1122还可以包括如基于闪速存储器的固态驱动器(SSD)、企业级闪速存储器驱动器、固态ROM等基于非易失性存储器的SSD、如固态RAM、动态RAM、静态RAM等基于易失性存储器的SSD、基于DRAM的SSD、磁阻RAM(MRAM)SSD、以及使用DRAM和基于闪速存储器的SSD的组合的混合SSD。
在某些实施例中,存储子系统1118还可以包括可以进一步连接到计算机可读存储介质1122的计算机可读存储介质读取器1120。读取器1120可以从如盘、闪速存储器驱动器等存储器设备接收数据并且被配置成从所述存储器设备读取数据。
在某些实施例中,计算机系统1100可以支持虚拟化技术,包括但不限于对处理和存储器资源的虚拟化。例如,计算机系统1100可以提供对执行一个或多个虚拟机的支持。在某些实施例中,计算机系统1100可以执行如促进对虚拟机的配置和管理的管理程序等程序。每个虚拟机可以分配有存储器、计算(例如,处理器、核)、I/O和联网资源。每个虚拟机通常独立于其他虚拟机运行。虚拟机通常运行其自身的操作系统,所述操作系统可以与由计算机系统1100所执行的其他虚拟机执行的操作系统相同或不同。因此,多个操作系统可以潜在地由计算机系统1100同时运行。
通信子系统1124提供到其他计算机系统和网络的接口。通信子系统1124用作用于从其他系统接收数据并从计算机系统1100向其他系统传输数据的接口。例如,通信子系统1124可以使得计算机系统1100能够通过因特网构建到一个或多个客户端设备的通信通道以用于从客户端设备接收信息并向客户端设备发送信息。
通信子系统1124可以支持有线通信协议和/或无线通信协议两者。例如,在某些实施例中,通信子系统1124可以包括用于访问无线话音和/或数据网络的射频(RF)收发器部件(例如,使用蜂窝电话技术、如3G、4G或EDGE(全球演进增强型数据速率)等先进的数据网络技术、WiFi(IEEE 802.XX家庭标准、或其他移动通信技术、或其任何组合)、全球定位系统(GPS)接收器部件和/或其他部件。在一些实施例中,除了无线接口之外或替代无线接口,通信子系统1124可以提供有线网络连接性(例如,以太网)。
通信子系统1124可以接收并传输各种形式的数据。例如,在一些实施例中,除了其他形式之外,通信子系统1124还可以接收结构化和/或非结构化数据馈送1126、事件流1128、事件更新1130等形式的输入通信。例如,通信子系统1124可以被配置成从社交媒体网络和/或其他通信服务的用户实时地接收(或发送)数据馈送1126,如
Figure BDA0002670872050000311
馈送、
Figure BDA0002670872050000312
更新、web馈送(如丰富站点摘要(RSS)馈送)和/或来自一个或多个第三方信息源的实时更新。
在某些实施例中,通信子系统1124可以被配置成接收连续数据流形式的数据,所述连续数据流可以包括(可以没有显式结束的本质上连续的或无界的)实时事件的事件流1128和/或事件更新1130。生成连续数据的应用程序的示例可以包括例如传感器数据应用程序、财务收报机、网络性能测量工具(例如,网络监测和流量管理应用程序)、点击流分析工具、汽车交通监测等。
通信子系统1124还可以被配置成将数据从计算机系统1100传达到其他计算机系统或网络。可以将数据以如结构化和/或非结构化数据馈送1126、事件流1128、事件更新1130等各种不同的形式传达到可以与耦接至计算机系统1100的一个或多个流数据源计算机通信的一个或多个数据库。
计算机系统1100可以是各种类型中的一种,包括手持便携式设备(例如,
Figure BDA0002670872050000313
蜂窝电话、
Figure BDA0002670872050000315
计算平板计算机、PDA)、可穿戴设备(例如,Google
Figure BDA0002670872050000314
头戴式显示器)、个人计算机、工作站、主机、自助服务终端、服务器机架、或任何其他数据处理系统。由于计算机和网络的不断变化的性质,对图11所描绘的计算机系统1100的描述旨在仅作为具体示例。具有比图11所描绘的系统更多或更少的部件的许多其他配置是可能的。基于本文提供的公开内容和教导,本领域普通技术人员将理解实施各个实施例的其他方式和/或方法。
虽然已经描述了具体实施例,但是各种修改、更改、替代性构造和等同物是可能的。实施例不局限于在某些具体数据处理环境中的操作,而是自由地在多个数据处理环境中操作。另外,尽管已经使用特定系列的事务和步骤描述了某些实施例,但是对于本领域技术人员而言应当显而易见的是,这不旨在是限制性的。虽然一些流程图将操作描述为顺序过程,但是许多操作可以并行地或同时地执行。另外,可以重新布置操作的顺序。过程可以具有图中未包括的另外的步骤。可以单独地或联合地使用以上所述的实施例的各种特征和方面。
进一步地,虽然已经使用硬件和软件的特定组合描述了某些实施例,但是应当认识到,硬件和软件的其他组合也是可能的。某些实施例可以仅在硬件中或仅在软件中或使用其组合实施。本文所描述的各种过程可以在相同处理器或不同处理器上以任何组合实施。
在将设备、系统、部件或模块描述为被配置成执行某些操作或功能的情况下,这种配置可以例如通过将电子电路设计成执行操作、通过对可编程电子电路(如微处理器)进行编程以执行操作(如通过执行计算机指令或代码)或通过被编程成执行存储在非暂态存储器介质上的代码或指令的处理器或核或其任何组合来完成。过程可以使用包括但不限于用于过程间通信的传统技术的各种技术进行通信,并且不同的过程对可以使用不同的技术,或者相同的过程对可以在不同的时间使用不同的技术。
本公开中给出了具体细节以提供对实施例的透彻理解。然而,可以在没有这些具体细节的情况下实践实施例。例如,已经示出了公知的电路、过程、算法、结构和技术,而没有不必要的细节,以避免模糊实施例。此描述仅提供了示例实施例并且不旨在限制其他实施例的范围、适用性或配置。而是,先前对实施例的描述将为本领域技术人员提供用于实施各个实施例的使能描述。可以对元件的功能和布置作出各种改变。
因此,应当从说明性而非限制性意义上看待说明书和附图。然而,将明显的是,在不脱离权利要求中阐述的更广泛的精神和范围的情况下,可以对其作出添加、减少、删除以及其他修改和改变。因此,虽然已经描述了具体实施例,但是这些示例不旨在是限制性的。各种修改和等同物均在以下权利要求的范围内。

Claims (21)

1.一种方法,包括:
访问训练数据,所述训练数据包括多个元组,所述多个元组中的第一元组包括话语,其中,所述话语是语音的文本表示;
利用对话系统的自动语音识别(ASR)子系统来将所述话语转换为输出话语;
将所述输出话语存储在基于所述训练数据的校正训练数据中;以及
基于所述校正训练数据训练校正模型,所述校正模型被配置成在所述对话系统的操作期间校正所述ASR子系统的输出。
2.如权利要求1所述的方法,其中,利用所述对话系统的所述ASR子系统来将所述话语转换为所述输出话语包括:
生成语音,所述语音包括所述第一元组中的所述话语的音频版本;以及
通过将所述ASR子系统应用于所述语音来确定所述输出话语。
3.如权利要求2所述的方法,进一步包括:
生成第二语音,所述第二语音包括所述第一元组中的所述话语的第二音频版本,其中,所述第二语音是所述语音的语音变型;
通过将所述ASR子系统应用于所述第二语音来确定第二输出话语;以及
将所述第二输出话语存储在所述校正训练数据的第二校正元组中,其中,所述输出话语被存储在所述校正训练数据的第一校正元组中。
4.如权利要求2所述的方法,其中,生成所述语音包括:将文本到语音子系统应用于所述第一元组中的所述话语以确定所述语音。
5.如权利要求1所述的方法,其中:
所述第一元组进一步包括与所述话语相对应的逻辑形式,其中,所述逻辑形式是根据所建立语法的所述话语的句法表达;
将所述输出话语存储在基于所述训练数据的所述校正训练数据中包括:将所述输出话语和所述逻辑形式组合成所述校正训练数据的校正元组;以及
所述校正模型与校正语义解析器集成,所述校正语义解析器被配置成将话语映射到逻辑形式。
6.如权利要求5所述的方法,进一步包括:
生成第二语音,所述第二语音包括所述第一元组中的所述话语的第二音频版本,其中,所述第二语音是所述语音的语音变型;
通过将所述ASR子系统应用于所述第二语音来确定第二输出话语;以及
将所述第二输出话语和所述第一元组的所述逻辑形式存储到所述校正训练数据的第二校正元组中。
7.如权利要求1所述的方法,其中,将所述输出话语存储在基于所述训练数据的所述校正训练数据中包括:将所述输出话语和所述话语组合成所述校正训练数据的校正元组。
8.如权利要求7所述的方法,进一步包括将所述校正模型包括在所述对话系统中介于所述对话系统的所述ASR子系统与语义解析器之间,所述ASR子系统被配置成将语音映射到话语,并且所述语义解析器被配置成将话语映射到逻辑形式。
9.如权利要求8所述的方法,进一步包括:
所述对话系统接收由所述ASR子系统输出的第一话语;
所述对话系统将来自所述ASR子系统的所述第一话语提供给所述校正模型以确定经校正的话语;以及
所述对话系统向所述语义解析器输入所述经校正的话语。
10.一种系统,包括:
数据生成子系统,所述数据生成子系统被配置成:
访问训练数据,所述训练数据包括多个元组,所述多个元组中的第一元组包括话语,其中,所述话语是语音的文本表示;
利用对话系统的自动语音识别(ASR)子系统来将所述话语转换为与所述话语相对应的多个输出话语;以及
将所述多个输出话语存储在基于所述训练数据的校正训练数据中;以及
训练子系统,所述训练子系统被配置成基于所述校正训练数据训练校正模型,所述校正模型被配置成在所述对话系统的操作期间校正所述ASR子系统的输出。
11.如权利要求10所述的系统,其中,为了利用所述对话系统的所述ASR子系统来将所述话语转换为所述多个输出话语,所述数据生成子系统进一步被配置成:
生成第一语音,所述第一语音包括所述第一元组中的所述话语的第一音频版本;
通过将所述ASR子系统应用于所述第一语音来确定第一输出话语;
生成第二语音,所述第二语音包括所述第一元组中的所述话语的第二音频版本,其中,所述第二语音是所述第一语音的语音变型;以及
通过将所述ASR子系统应用于所述第二语音来确定第二输出话语。
12.如权利要求11所述的系统,其中,为了生成所述第一语音,所述数据生成子系统进一步被配置成将文本到语音子系统应用于所述第一元组中的所述话语以确定所述第一语音。
13.如权利要求10所述的系统,其中:
所述第一元组进一步包括与所述话语相对应的逻辑形式,其中,所述逻辑形式是根据所建立语法的所述话语的句法表达;以及
为了将所述多个输出话语存储在基于所述训练数据的校正训练数据中,所述数据生成子系统进一步被配置成:
将所述第一输出话语和所述逻辑形式组合成所述校正训练数据的第一校正元组;以及
将所述第二输出话语和所述逻辑形式组合成所述校正训练数据的第二校正元组。
14.如权利要求13所述的系统,其中,所述校正模型与校正语义解析器集成,所述校正语义解析器被配置成将话语映射到所述话语的经校正版本的逻辑形式。
15.如权利要求10所述的系统,其中,为了将所述多个输出话语存储在基于所述训练数据的校正训练数据中,所述数据生成子系统进一步被配置成:
将所述第一输出话语和所述话语组合成所述校正训练数据的第一校正元组;以及
将所述第二输出话语和所述话语组合成所述校正训练数据的第二校正元组。
16.如权利要求15所述的系统,进一步包括对话系统,所述对话系统包括:
所述ASR子系统,所述ASR子系统作为所述对话系统的一部分被配置成将语音映射到话语,其中,所述ASR子系统是第一预测模型;
语义解析器,所述语义解析器被配置成将话语映射到逻辑形式,其中,所述语义解析器是第二预测模型;以及
所述校正模型,所述校正模型作为所述对话系统的一部分被配置成:
接收由所述ASR子系统输出的第一话语;以及
生成由所述语义解析器使用的经校正的话语。
17.如权利要求10所述的系统,其中,所述校正模型是序列到序列预测模型。
18.一种计算机程序产品,所述计算机程序产品用于配置校正模型以校正对话系统的自动语音识别(ASR)子系统的输出,所述计算机程序产品包括具有在其上体现的程序指令的计算机可读存储介质,所述程序指令能够由一个或多个处理器执行以使所述一个或多个处理器执行包括以下各项操作的方法:
访问训练数据,所述训练数据包括多个元组,所述多个元组中的第一元组包括话语,其中,所述话语是语音的文本表示;
使用文本到语音子系统来确定与所述话语相对应的语音,所述语音包括所述话语的音频版本;
使用所述对话系统的ASR子系统来确定与所述话语相对应的输出话语;
将所述话语和所述输出话语存储在校正元组中;
将所述校正元组存储在基于所述训练数据的校正训练数据中,所述校正训练数据包括一组校正元组;以及
基于所述校正训练数据训练所述校正模型,所述校正模型被配置成将由所述ASR子系统输出的话语映射到经校正的话语。
19.如权利要求18所述的计算机程序产品,所述方法进一步包括将所述校正模型包括在所述对话系统中介于所述对话系统的所述ASR子系统与语义解析器之间,所述ASR子系统被配置成将语音映射到话语,并且所述语义解析器被配置成将话语映射到逻辑形式。
20.如权利要求18所述的计算机程序产品,其中:
所述训练数据的所述第一元组进一步包括与所述话语相对应的逻辑形式,其中,所述逻辑形式是根据所建立语法的所述话语的句法表达;以及
所述方法进一步包括基于所述训练数据来训练所述语义解析器。
21.一种对话系统,所述对话系统通过使用如权利要求10-17中任一项所述的系统来识别语音。
CN202010932884.XA 2019-09-11 2020-09-08 实施校正模型以减少自动语音识别错误的传播 Active CN112489632B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962898677P 2019-09-11 2019-09-11
US62/898,677 2019-09-11
US16/992,291 2020-08-13
US16/992,291 US11462208B2 (en) 2019-09-11 2020-08-13 Implementing a correction model to reduce propagation of automatic speech recognition errors

Publications (2)

Publication Number Publication Date
CN112489632A true CN112489632A (zh) 2021-03-12
CN112489632B CN112489632B (zh) 2024-04-05

Family

ID=74849422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010932884.XA Active CN112489632B (zh) 2019-09-11 2020-09-08 实施校正模型以减少自动语音识别错误的传播

Country Status (2)

Country Link
US (1) US11462208B2 (zh)
CN (1) CN112489632B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277626B (zh) * 2022-07-29 2023-07-25 平安科技(深圳)有限公司 地址信息转换方法、电子设备和计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170323636A1 (en) * 2016-05-05 2017-11-09 Conduent Business Services, Llc Semantic parsing using deep neural networks for predicting canonical forms
CN108766437A (zh) * 2018-05-31 2018-11-06 平安科技(深圳)有限公司 语音识别方法、装置、计算机设备及存储介质
CN109753636A (zh) * 2017-11-01 2019-05-14 阿里巴巴集团控股有限公司 机器处理及文本纠错方法和装置、计算设备以及存储介质
CN109791761A (zh) * 2016-07-29 2019-05-21 谷歌有限责任公司 使用校正的术语的声学模型训练
CN109859760A (zh) * 2019-02-19 2019-06-07 成都富王科技有限公司 基于深度学习的电话机器人语音识别结果校正方法
CN110019745A (zh) * 2017-10-26 2019-07-16 株式会社日立制作所 具有自学习自然语言理解的对话系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9977778B1 (en) * 2016-11-03 2018-05-22 Conduent Business Services, Llc Probabilistic matching for dialog state tracking with limited training data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170323636A1 (en) * 2016-05-05 2017-11-09 Conduent Business Services, Llc Semantic parsing using deep neural networks for predicting canonical forms
CN109791761A (zh) * 2016-07-29 2019-05-21 谷歌有限责任公司 使用校正的术语的声学模型训练
CN110019745A (zh) * 2017-10-26 2019-07-16 株式会社日立制作所 具有自学习自然语言理解的对话系统
CN109753636A (zh) * 2017-11-01 2019-05-14 阿里巴巴集团控股有限公司 机器处理及文本纠错方法和装置、计算设备以及存储介质
CN108766437A (zh) * 2018-05-31 2018-11-06 平安科技(深圳)有限公司 语音识别方法、装置、计算机设备及存储介质
CN109859760A (zh) * 2019-02-19 2019-06-07 成都富王科技有限公司 基于深度学习的电话机器人语音识别结果校正方法

Also Published As

Publication number Publication date
US11462208B2 (en) 2022-10-04
CN112489632B (zh) 2024-04-05
US20210074262A1 (en) 2021-03-11

Similar Documents

Publication Publication Date Title
US20210082424A1 (en) Reduced training intent recognition techniques
CN114365215B (zh) 动态上下文对话会话扩展
US11935521B2 (en) Real-time feedback for efficient dialog processing
CN112487790B (zh) 包括粗略语义解析器和精细语义解析器的改进语义解析器
US11810553B2 (en) Using backpropagation to train a dialog system
US11790901B2 (en) Task-oriented dialog suitable for a standalone device
CN112487137B (zh) 使用集成共享资源来流线化对话处理
US20240144923A1 (en) Using a generative adversarial network to train a semantic parser of a dialog system
CN112489632B (zh) 实施校正模型以减少自动语音识别错误的传播
EP3792912B1 (en) Improved wake-word recognition in low-power devices
US20210081799A1 (en) Compressing neural networks for natural language understanding

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