CN115836304A - 利用基于示例的语音机器人开发技术更新受训练语音机器人 - Google Patents
利用基于示例的语音机器人开发技术更新受训练语音机器人 Download PDFInfo
- Publication number
- CN115836304A CN115836304A CN202180048384.2A CN202180048384A CN115836304A CN 115836304 A CN115836304 A CN 115836304A CN 202180048384 A CN202180048384 A CN 202180048384A CN 115836304 A CN115836304 A CN 115836304A
- Authority
- CN
- China
- Prior art keywords
- voice robot
- robot
- training instances
- trained
- training
- 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.)
- Pending
Links
- 238000011161 development Methods 0.000 title claims abstract description 184
- 238000000034 method Methods 0.000 title claims description 107
- 238000012549 training Methods 0.000 claims abstract description 571
- 230000003542 behavioural effect Effects 0.000 claims abstract description 190
- 230000004044 response Effects 0.000 claims abstract description 140
- 230000009471 action Effects 0.000 claims description 77
- 241000282414 Homo sapiens Species 0.000 claims description 66
- 230000000694 effects Effects 0.000 claims description 66
- 230000006399 behavior Effects 0.000 claims description 54
- 238000012545 processing Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 14
- 230000002194 synthesizing effect Effects 0.000 claims description 8
- 238000002372 labelling Methods 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 301
- 238000010801 machine learning Methods 0.000 description 116
- 230000008569 process Effects 0.000 description 32
- 241000282412 Homo Species 0.000 description 9
- 230000002123 temporal effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000010200 validation analysis Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 238000004366 reverse phase liquid chromatography Methods 0.000 description 6
- 238000013518 transcription Methods 0.000 description 5
- 230000035897 transcription Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003442 weekly effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 231100000871 behavioral problem Toxicity 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/10—Speech classification or search using distance or distortion measures between unknown speech and reference templates
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/225—Feedback of the input speech
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Machine Translation (AREA)
- Manipulator (AREA)
Abstract
实施方案涉及更新被部署用于代表第三方进行会话的受训练语音机器人。第三方开发人员可以与语音机器人开发系统交互,语音机器人开发系统使第三方开发人员能够训练、更新、验证和监测受训练语音机器人的性能。在各种实施方案中,可以通过更新最初用于训练语音机器人的训练实例的语料库并且基于更新的语料库更新受训练语音机器人来更新受训练语音机器人。在一些实施方案中,当代表第三方进行会话时,可以响应于识别到受训练语音机器人的行为错误的发生而更新训练实例的语料库。在额外或替代实施方案中,可以响应于确定受训练语音机器人不包括期望行为而更新训练实例的语料库。
Description
背景技术
人类可以经由各种计算设备与称为“机器人”、“聊天机器人”、“自动助理”、“交互式个人助理”、“智能个人助理”、“会话代理”等交互式软件应用进行人机对话。作为一个示例,这些机器人可以发起电话呼叫或应答呼入电话呼叫,并且与人类进行会话以代表第三方执行动作。然而,这些机器人的功能可能受机器人用于执行动作的预定义意图模式限制。换句话说,如果参与和机器人的对话的人类提供包括未由预定义意图模式定义的意图的口头话语,则机器人将失败。此外,为了更新这些机器人,可以修改现有的意图模式或可以添加新的意图模式。然而,可能需要定义几乎无限的意图模式,以使机器人对人类语言的各种细微差别具有鲁棒性。需要计算资源的大量利用来手动定义和/或手动细化这样的意图模式。此外,即使定义了大量意图模式,也需要大量存储器来存储和/或利用大量意图模式。因此,意图模式实际上不可扩展到学习人类语言的细微差别的程度。
发明内容
本文所公开的实施方案涉及更新受训练语音机器人,所述受训练语音机器人被部署用于经由语音机器人开发平台代表第三方进行会话。语音机器人可以对应于利用一个或多个机器学习(ML)模型的多个ML层以代表第三方进行会话的一个或多个处理器。第三方开发人员可以与语音机器人开发平台交互,以训练、更新、验证和监测受训练语音机器人的性能。在各种实施方案中,可以通过更新最初用于训练语音机器人的训练实例的语料库并且基于更新的语料库更新受训练语音机器人来更新受训练语音机器人。在一些实施方案中,当代表第三方进行会话时,可以响应于识别到受训练语音机器人的行为错误的发生而更新训练实例的语料库。在额外或替代实施方案中,可以响应于确定受训练语音机器人不包括期望行为而更新训练实例的语料库。以这些和其它方式,语音机器人开发平台可以通过训练、更新和验证受训练语音机器人来指导第三方开发人员。
例如,假设与受训练语音机器人相关联的第三方是名为Hypothetical Café(假想咖啡馆)的虚构餐厅实体。进一步假设在向假想咖啡馆来电以至少为对应人类进行餐厅预订期间,受训练语音机器人已经代表假想咖啡馆与对应人类进行多个会话。在此示例中,进一步假设受训练语音机器人将给定餐厅预订(例如,“六个”人)的聚会规模参数的值与给定餐厅预订的时间参数的值(例如,下午“六点”)混淆。这种行为错误可能由用于训练与假想咖啡馆相关联的受训练语音机器人的训练实例的一个或多个缺失和/或错误标记特征而导致。在此示例中,进一步假设受训练语音机器人未能征求与餐厅预订相关联的名字参数的值。这种行为错误可能由缺乏用于训练包括名字特征的受训练语音机器人的训练实例而导致。语音机器人开发平台可以基于处理会话来识别这些行为错误,并且可以确定涉及校正这些行为错误的一个或多个动作。
在各种实施方案中,由受训练语音机器人进行的会话、与会话中的每个会话相关联的会话上下文、在对应会话期间生成的嵌入、和/或与对应会话相关联的任何其它信息可以作为语音机器人活动存储在语音机器人活动数据库中。可以使用ML模型中的一个或多个ML模型的多个额外ML层处理存储在语音机器人活动中的语音机器人活动以识别受训练语音机器人的给定行为错误。例如,可以使用ML模型中的一个或多个ML模型的多个额外ML层处理给定对应会话的一个或多个部分以及给定对应会话的一个或多个部分的给定会话上下文。例如,可以处理由受训练语音机器人对由对应人类提供的口头话语的响应以识别受训练语音机器人错误地将餐厅预订的聚会规模特征的值解读为餐厅预订的时间特征的值。此外,可以使用ML模型中的一个或多个ML模型的额外ML层处理此行为错误,以将此行为错误分类为一个或多个不同类别的行为错误。例如,如果用于最初训练受训练语音机器人的多个训练实例缺乏时间特征或聚会规模特征,则此行为错误可以被分类为与缺失特征错误相关联的类别;如果用于最初训练受训练语音机器人的多个训练实例中的一个或多个训练实例不正确地标记时间特征或聚会规模特征,则此行为错误可以被分类为与错误标记特征错误相关联的类别;如果用于最初训练受训练语音机器人的多个训练实例缺乏具有时间特征或聚会规模特征的足够训练实例,则此行为错误可以被分类为与稀疏性错误相关联的类别;和/或此行为错误可以被分类为其它类别的错误。
在一些实施方案中,可以识别被预测为导致给定行为错误的一个或多个训练实例。可以从语音机器人活动数据库获得与为其识别到给定行为错误的对应会话相关联的一个或多个嵌入。此外,可以获得与用于最初训练受训练语音机器人的语料库中的多个训练实例中的每个训练实例相关联的对应嵌入。可以在嵌入空间中将与对应会话相关联的嵌入中的一个或多个嵌入和与多个训练实例中的每个训练实例相关联的对应嵌入相比较,以确定与多个训练实例中的每个训练实例相关联的对应距离度量。对应距离度量可以是例如余弦相似度距离、欧几里德距离和/或嵌入中的一个或多个嵌入与对应嵌入之间的其它距离度量。可以将与满足阈值的对应距离度量相关联的训练实例中的一个或多个训练实例识别为给定行为错误的预测原因。例如,可以将与在其中识别到上述行为错误的对应会话相关联的一个或多个嵌入(例如,将餐厅预订的聚会规模特征的值不正确地解读为餐厅预订的时间特征的值)和与训练实例中的一个或多个训练实例相关联的对应嵌入相比较。因此,应当将包括时间特征和/或聚会规模特征的训练实例识别为给定行为错误的预测原因。
在一些实施方案中,可以确定涉及校正给定行为错误的一个或多个动作。可以基于将给定行为错误识别到的一个或多个不同类别来确定一个或多个动作。例如,如果给定行为错误被分类为与缺失特征错误相关联的类别,则涉及校正给定行为错误的一个或多个动作可以包括标记语料库中的一个或多个现有训练实例。作为另一示例,如果给定行为错误被分类为与错误标记特征错误相关联的类别,则涉及校正给定行为错误的一个或多个动作可以包括重新标记语料库中的一个或多个现有训练实例。作为又一示例,如果给定行为错误被分类为与稀疏性错误相关联的类别,则涉及校正给定行为错误的一个或多个动作可以包括合成语料库中的一个或多个额外训练实例和/或请求第三方开发人员在语料库中添加额外训练实例。
在各种实施方案中,语音机器人开发平台可以自动地执行涉及校正受训练语音机器人的给定行为错误的动作中的一个或多个动作。例如,在给定行为错误与缺失特征错误和/或错误标记特征错误相关联的实施方案中,语音机器人开发平台可以标记和/或重新标记被识别为给定行为错误的预测原因的训练实例中的一个或多个训练实例。例如,语音机器人开发平台可以执行对一个或多个识别到的训练实例的一个或多个术语的一个或多个自然语言理解操作,以将术语中的一个或多个术语分类为特定类别的术语(例如,与时间相关联的“6PM(下午6点)”)并且可以将一个或多个标记(重新标记)分配到术语中的一个或多个术语以添加时间特征。作为另一示例,在给定行为错误与稀疏性错误相关联的实施方案中,语音机器人开发平台可以合成一个或多个额外训练实例。语音机器人开发平台可以处理语音机器人活动,以基于由受训练语音机器人进行的会话和/或基于增强包括在语料库中的训练实例中的一个或多个训练实例来生成额外训练实例。例如,语音机器人开发平台可以将对应会话的一个或多个部分和对应会话的会话上下文转换成一个或多个训练实例,标记对应会话的一个或多个部分的特征,并且将那些训练实例添加到语料库。而且,例如,语音机器人开发平台可以通过改变给定训练实例的特征的值,改变给定训练实例的会话上下文,和/或以其它方式增强现有训练实例,来增强现有训练实例,并且将那些训练实例添加到语料库。
在额外或替代实施方案中,语音机器人开发平台可以生成提示第三方开发人员执行动作中的一个或多个动作的通知,并且使所述通知被渲染在第三方开发人员的客户端设备处。例如,语音机器人开发平台可以生成通知,所述通知包括给定行为错误的指示、被识别为给定行为错误的预测原因的一个或多个训练实例的指示、涉及校正给定行为错误(以及任选地语音机器人开发平台是否自动地执行动作中的一个或多个动作)的一个或多个动作的指示,和/或与给定行为错误相关或与校正给定行为错误相关的其它信息。第三方开发人员可以与语音机器人开发平台交互,以更新受训练语音机器人来校正受训练语音机器人的给定行为错误。
在各种实施方案中,并且在执行涉及校正给定行为错误的动作中的一个或多个动作之后,可以基于包括在语料库中的至少一个或多个修改的训练实例和/或被添加到语料库的一个或多个额外训练实例来更新受训练语音机器人。特别地,可以更新由处理器中的一个或多个处理器用于代表第三方进行会话的ML模型中的一个或多个ML模型的多个ML层。在一些实施方案中,可以基于至少这些训练实例来更新多个ML模型中的一个或多个ML模型的权重,而多个ML模型中的一个或多个ML模型的权重可以保持固定。在一些实施方案中,可以响应于接收到涉及更新语音机器人的用户输入而更新受训练语音机器人。在额外或替代实施方案中,可以响应于确定满足一个或多个条件而更新受训练语音机器人。一个或多个条件可以包括例如确定已经过去的持续时间(例如,每晚、每周和/或其它持续时间),确定没有实施语音机器人的实例,确定自上次训练语音机器人以来对语料库的变化的数量满足数量阈值,和/或其它条件。随后可以部署更新的语音机器人,以代表第三方进行额外会话。
在各种实施方案中,并且在更新受训练语音机器人之后并且在部署更新的语音机器人之前,可以验证更新的语音机器人。在一些实施方案中,语音机器人可以基于禁止在最初训练和/或随后更新语音机器人中利用的验证训练实例来验证。在一些额外或替代实施方案中,语音机器人可以基于来自第三方开发人员的验证更新的语音机器人的指向语音机器人开发平台的用户输入来验证以。当满足反映与当前被部署用于代表第三方进行会话的语音机器人相比更新的语音机器人的测量改进的一个或多个条件时,更新的语音机器人可以被认为得到验证。例如,一个或多个条件可以包括在进一步训练语音机器人时更新的多个ML层或多个额外ML层中的一个或多个的验证、更新的多个ML层或多个额外ML层中的一个或多个的汇聚(例如,零损失或在零损失的阈值范围内)、多个ML层或多个额外ML层中的一个或多个比当前正在利用的语音机器人的实例(如果有的话)(例如,关于精度和/或召回率)更好地执行的确定、基于至少阈值数量的训练实例的训练的发生、和/或基于训练实例的训练的持续时间。
通过使用本文所描述的技术,可以实现各种技术优势。作为一个非限制性实例,语音机器人开发平台使得能够通过添加新的训练实例或修改现有训练实例来容易地添加或修改语音机器人行为。因此,使用本文所描述的语音机器人开发平台训练的语音机器人更可扩展,并且由于不需要定义大量意图模式,因此减少存储器消耗。相反,训练和利用的ML模型中的一个或多个ML模型的多个ML层可以具有较小存储器占用,并且可以更稳健和/或准确。此外,使用语音机器人开发平台训练的语音机器人获得高水平的精度和召回率,从而使得会话能够更快速地且高效地结束,因为使用语音机器人开发平台训练的语音机器人更能够理解人类语言的细微差别并且相应地做出响应。
提供以上描述作为仅本文所公开的一些实施方案的概述。本文中以额外的细节描述这些实施方案和其它实施方案。
附图说明
图1描绘展示本公开的各个方面并且其中可以实施本文所公开的实施方案的示例环境的框图。
图2描绘根据各种实施方案的用于训练语音机器人的示例过程流。
图3A、3B、3C、3D和3E描绘根据各种实施方案的与语音机器人开发平台相关联的用户界面的各种非限制性实例。
图4描绘图示根据各种实施方案的更新受训练语音机器人的示例方法的流程图。
图5描绘图示根据各种实施方案的基于被添加到用于训练语音机器人的训练实例的语料库的额外训练实例来更新受训练语音机器人的示例方法的流程图。
图6描绘图示根据各种实施方案的基于包括在用于训练语音机器人的训练实例的语料库中的训练实例的错误标记特征和/或缺失特征来更新受训练语音机器人的示例方法的流程图。
图7描绘根据各种实施方案的计算设备的示例架构。
具体实施方式
现在转向图1,描绘展示本公开的各个方面并且其中可以实施本文所公开的实施方案的示例环境的框图。客户端设备110在图1中图示并且在各种实施方案中包括用户输入引擎111、渲染引擎112和语音机器人开发系统客户端113。客户端设备110可以是例如独立辅助设备(例如,具有麦克风、扬声器和/或显示器)、膝上型计算机、台式计算机、平板计算机、可穿戴计算设备、车辆计算设备和/或能够实施语音机器人开发系统客户端113的任何其它客户端设备。
用户输入引擎111可以检测在客户端设备110处的各种类型的用户输入。在客户端设备110处检测到的用户输入可以包括经由客户端设备110的麦克风检测到的口头输入、经由客户端设备110的用户接口输入设备(例如,触摸屏)检测到的触摸输入、和/或经由客户端设备110的用户接口输入设备(例如,经由触摸屏上的虚拟键盘、物理键盘、鼠标、触笔和/或客户端设备110的任何其它用户接口输入设备)检测到的键入输入。
渲染引擎112可以导致经由用户接口输出在客户端设备110处视觉地和/或可听地渲染输出。输出可以包括例如:与语音机器人开发系统客户端113相关联的各种类型的用户界面,其可以经由客户端设备110的用户界面视觉地渲染(例如,如关于图3A、3B和3C所述);与语音机器人开发系统客户端113相关联的通知,其可以经由客户端设备110的用户界面视觉地和/或经由客户端设备110的扬声器可听地渲染;和/或视觉地和/或可听地渲染本文所描述的任何其它输出。
在各种实施方案中,语音机器人开发系统客户端113可以包括自动语音识别(ASR)引擎130A、自然语言理解(NLU)引擎140A1和文本到语音(TTS)引擎150A1。此外,语音机器人开发系统客户端113可以通过一个或多个网络1991(例如,Wi-Fi、蓝牙、近场通信(NFC)、局域网(LAN)、广域网(WAN)、以太网、因特网和/或其它网络的任何组合)与语音机器人开发系统120通信。从与客户端设备110交互的用户的角度来看,语音机器人开发系统客户端113和语音机器人开发系统120形成语音机器人开发平台的逻辑实例。尽管在图1中将语音机器人开发系统120描绘为(例如,经由一个或多个服务器)从客户端设备110远程地实施,但是应理解,这是为了示例的目的且并不意味着限制性。例如,语音机器人开发系统120可以替代地在客户端设备110处本地实施。
第三方开发人员(例如,客户端设备110的用户)可以利用语音机器人开发平台来训练如本文所描述的将被部署用于针对与第三方相关联的电话呼叫代表与第三方开发人员相关联的第三方进行会话的语音机器人。值得注意的是,语音机器人开发平台可以由第一方提供,并且第三方开发人员可以利用语音机器人开发平台来为与第三方开发人员相关联的第三方训练语音机器人。如本文所使用,术语“第一方”是指发布语音机器人开发平台的实体,而术语“第三方”是指不同于与第一方相关联并且未发布语音机器人开发系统的实体。因此,第三方开发人员是指与语音机器人开发平台交互以训练与第三方相关联的语音机器人的用户。
本文所描述的电话呼叫可以使用各种语音通信协议(例如,互联网语音传输协议(VoIP)、公共交换电话网络(PSTN)和/或其它电话通信协议)执行。如本文所描述,合成语音可以被渲染为辅助电话呼叫的一部分,这可以包括将合成语音注入到呼叫中,使得它可由辅助电话呼叫的参与者中的至少一个参与者感知到。合成语音可以由作为给定电话呼叫的一个端点的客户端设备110生成和/或注入,和/或可以由连接到电话呼叫的服务器(例如,实施语音机器人开发系统120的服务器)生成和/或注入。
在各种实施方案中,语音机器人开发系统120包括ASR引擎130A2、NLU引擎140A2、TTS引擎150A2、语音机器人训练引擎160、语音机器人引擎170、错误识别引擎180和会话摘要引擎185。语音机器人训练引擎160可以用于训练将被部署用于针对与第三方相关联的电话呼叫代表第三方进行会话的语音机器人,并且在各种实施方案中可以包括训练实例引擎161和训练引擎162。此外,语音机器人引擎170随后可以利用受训练语音机器人以针对与第三方相关联的电话呼叫代表第三方进行会话,并且在各种实施方案中可以包括响应引擎171和远程过程调用(RPC)引擎172。
训练实例引擎161可以基于由第三方开发人员提供并且经由用户输入引擎111在客户端设备110处检测到的用户输入来获得用于训练语音机器人的多个训练实例。多个训练实例可以被存储在训练实例数据库161A中,并且与将基于多个训练实例训练的语音机器人的指示相关联。多个训练实例中的每个训练实例可以包括训练实例输入和训练实例输出。训练实例输入可以包括以下项中的一个或多个:对应会话的部分(例如,音频数据和/或与其对应的多个语音假设)、与对应会话相关联的先前上下文、呼入电话呼叫的指示、发起对呼出电话呼叫的执行的动作或命令、RPC入站请求、或一个或多个特征强调输入。训练实例输出可以包括以下项中的一个或多个:对应会话的部分(例如,音频数据和/或与其对应的多个语音假设)的地面真实响应、呼入电话呼叫的介绍、发起对呼出电话呼叫的执行、或RPC出站请求。
在一些实施方案中,可以基于用户输入从先前电话呼叫的语料库获得多个训练实例中的一个或多个训练实例。第三方开发人员可能需要经由用户输入从先前电话呼叫的语料库标记训练实例中的一个或多个训练实例。先前电话呼叫可以包括捕获多个人类和/或一个人类与对应语音机器人之间的对应会话的音频数据。训练实例引擎161可以处理先前电话呼叫以生成训练实例中的一个或多个训练实例。例如,假设先前电话呼叫包括捕获第一类型的人类(例如,客户)与第二类型的人类(例如,员工)之间的对应会话的音频数据。在此示例中,训练实例引擎161可以识别对应于与客户相关联的对应会话的部分的音频数据,并且识别对应于与员工相关联的对应响应的音频数据,所述响应是响应于与客户相关联的对应会话的部分。与客户相关联的对应会话的部分可以用作训练实例输入的一部分,并且与员工相关联的对应响应可以用作训练实例输出的一部分。此外,对应会话的先前上下文也可以用作训练实例输入的一部分。对应会话的先前上下文可以包括对应会话的在先音频数据(和/或与其对应的多个语音假设或与其对应的识别文本)、与会话相关联的元数据(例如,客户的位置、发起对应电话呼叫的时间、是否已经征求了参数的值等)和/或与先前电话呼叫相关联的其它上下文信息。
在这些实施方案的一些版本中,先前电话呼叫可以与正在为其训练语音机器人的第三方相关联。例如,假设第三方是销售各种产品的名为假想市场的虚构零售实体。先前电话呼叫可以包括捕获第一类型的人类(例如,客户)与一个或多个第二类型的人类(例如,假想市场的员工)之间的对应会话的音频数据、与假想市场相关联的语音机器人、或与假想市场相关联的交互式语音响应(IVR)系统。在这些实施方案的一些额外或替代版本中,先前电话呼叫可以与一个或多个其它第三方相关联,该一个或多个其它第三方与正在为其训练语音机器人的第三方不同。在这些实施方案的一些另外版本中,由训练实例引擎161获得的与一个或多个其它第三方相关联的先前电话呼叫可以限于与正在为其训练语音机器人的第三方具有相同类型的实体的其它第三方(例如,零售商实体、航空公司实体、餐馆实体、学校或大学实体、供应商实体、托运人实体、政府实体和/或任何其它类型的人、地方或事物)。继续以上示例,用于生成与假想市场相关联的语音机器人的训练实例的先前电话呼叫可以限于与其它零售商以及任选地销售相同或类似产品的其它零售商相关联的这些电话呼叫。
在额外或替代实施方案中,可以从基于用户输入进行的演示会话中获得多个训练实例中的一个或多个训练实例。演示会话可以包括捕获(例如,可能包括或可能不包括第三方开发人员的)一个或多个人类之间的对应演示会话的音频数据和/或文本。例如,假设第三方是销售各种产品的名为假想市场的虚构零售实体。在此示例中,人类可以从假想市场的客户的角度提供用户输入以发起对应对话,人类或另一人类可以从假想市场的员工的角度提供后续用户输入,人类可以从员工的角度提供另外的后续用户输入,人类或另一人类可以从客户的角度提供其它进一步后续用户输入等等(例如,如参考图3B所描述)。训练实例引擎161可以处理演示会话,以通过上文关于训练实例的语料库描述的类似方式生成训练实例中的一个或多个训练实例。
在一些额外或替代实施方案中,可以直接基于用户输入来获得多个训练实例中的一个或多个训练实例。例如,第三方开发人员可以定义将被用作给定训练实例的训练实例输入的对应会话的至少一部分,并且可以定义对将被用作给定训练实例的训练实例输出的对应会话的部分的地面真实响应。此外,第三方开发人员可以任选地定义还将被用作给定训练实例的训练实例输入的一部分的对应会话的先前上下文,或者对应会话的“先前”部分的会话摘要。值得注意的是,尽管第三方开发人员正在定义会话的这些部分,但第三方开发人员可能不需要像演示会话那样定义整个会话。因此,第三方开发人员可以定义涉及会话的特定部分的一个或多个训练实例,诸如征求任务(例如,餐厅预订任务、航班变更任务、库存检查任务和/或可以在对应电话呼叫期间执行的任何其它任务)的参数的特定值、执行RPC、介绍和/或对应会话的其它方面。
在各种实施方案中,一个或多个对应特征强调输入可以与多个训练实例中的一个或多个训练实例相关联。一个或多个对应特征强调输入可以是例如自然语言输入(例如,口头和/或键入),该自然语言输入指示特定训练实例的一个或多个部分对于训练语音机器人重要的原因,诸如训练实例输入的一个或多个部分包括时间特征、日期特征、名字特征、账号特征、电子邮件地址特征、电话号码特征、金钱特征、数量特征、产品名称特征、位置特征、RPC请求特征和/或给定训练实例的训练实例输入或训练实例输出的任何其它特征。一个或多个对应特征强调可以被包括在对应训练实例的训练实例输入中,用于偏置与正在训练的语音机器人相对应的多个ML层的更新,和/或用作对指针网络的输入以识别导致语音机器人注意一个或多个对应特征强调输入。因此,当第三方随后部署语音机器人进行会话时,受训练语音机器人可以注意这些特征的出现。
在一个或多个对应特征强调输入被用作对指针网络的输入的实施方案中,一个或多个对应特征强调输入和对应会话的部分(以及任选地对应会话的先前上下文)可以使用指针网络来处理。可以用一个或多个值(例如,概率、对数似然性、二元值和/或其它值)标记对应会话的部分的一个或多个令牌,这些值指示对应会话的部分的一个或多个令牌是否被包括在一个或多个对应特征强调输入中。例如,假设正在训练的语音机器人与假想市场相关联,假设训练实例输入包括对应于“I would like to purchase Product X ifavailable(如果可用,我想购买X产品)”的对应会话的至少一部分,并且假设一个或多个对应特征强调输入指示产品特征和可用性特征。在此示例中,与“Product X(产品X)”和“available(可用)”相对应的一个或多个令牌可以与指示这些特征对正确地响应对应会话的部分有意义的值相关联。此外,这些值可以用作训练实例输入的一部分、用作与对应的部分相关联的标记、用作在处理训练实例输入中和/或在偏置多个ML层的更新中的侧输入。换句话说,通过使用指针网络处理对应特征强调输入,多个ML层可以注意用作训练实例输入的一部分的对应会话的部分的这些特定特征。
继续假想市场示例,进一步假设对应地面真实响应指示“Product X(产品X)”实际上“available(可用)”于销售。基于此可用性,预测响应可以对应于“It is available(它可用)”、“It is available,would you like to purchase Product X?(它可用,您想购买产品X吗?)”等。在此示例中,第三方开发人员还可以提供指示对应地面真实响应的用户输入,该地面真实响应指示当“Product X(产品X)”“not available(不可用)”于销售时如何响应。基于此不可用性,第三方开发人员可以使语音机器人学习其它预测响应,诸如“It isnot available(它不可用)”、“It is not available,would you like to purchaseProduct Y instead?(它不可用,您想替代地购买产品Y吗?)”等。因此,第三方开发人员可以与语音机器人开发系统120交互,使得语音机器人可以基于包括特征强调输入的单个训练实例来学习多个行为。因此,不仅语音机器人学习对应会话中的对于对应会话重要的特定特征,而且语音机器人还可以通过与语音机器人开发系统120交互来学习如何在给定训练实例的对应会话的特定特征与包括在给定训练实例中的那些不同的场景中进行响应。
通过使用本文所描述的对应特征强调输入,可以实现各种技术优势。作为一个非限制性实例,通过包括对应特征强调输入,语音机器人可以基于给定数量的训练实例来实现给定的准确性和/或鲁棒性水平。如果不包括对应特征强调输入,则需要更大数量的训练实例来实现给定的准确度和/或鲁棒性水平,或者将不能实现给定的准确性和/或鲁棒性水平。因此,可以以更快速且高效的方式训练语音机器人,从而在通过一个或多个网络传输训练实例、训练损失和/或其它训练数据的实施方案中节省用于训练语音机器人的客户端设备的计算资源和/或网络资源。
在各种实施方案中,多个训练实例中的一个或多个训练实例可以是RPC训练实例。如本文所使用,RPC训练实例包括具有包括至少对应RPC入站请求的对应训练实例输入和/或包括至少对应RPC出站请求的对应训练实例输出的训练实例。包括在对应训练实例输出中的RPC出站请求可以指示语音机器人应当生成RPC请求,并且经由一个或多个网络1992将RPC请求传输到一个或多个第三方系统190(例如,预订系统、库存系统、状态检查系统和/或任何其它第三方系统)。包括在对应训练实例输入中的RPC入站请求可以指示语音机器人应当经由一个或多个网络1992从第三方系统190中的一个或多个接收对RPC请求的响应,并且处理响应以基于响应来生成输出。尽管在图1中网络1992与网络1991分开描绘,但是应理解,这是为了清楚起见并且并不意味着为限制性的。例如,网络1992和网络1991可以是相同网络或本文所描述的网络的不同组合。由于RPC请求与在其上生成用于训练语音机器人的多个训练实例的对应会话不直接相关联(例如,没有在会话的口头或键入输入中直接捕获),因此第三方开发人员可能需要定义训练实例的RPC出站请求和RPC入站请求、RPC出站请求应该被指向的一个或多个第三方系统190中的特定第三方系统、RPC请求的格式、对RPC请求的响应的格式、和/或与RPC相关联的任何其它信息。
在用户输入引擎111在获得如上文所描述的训练实例时经由客户端设备110的麦克风检测用户的口头输入的实施方案中,可以处理捕获口头输入的音频数据。在一些实施方案中,客户端设备110的ASR引擎130A1可以使用ASR模型130A处理捕获口头输入的音频数据。在额外或替代实施方案中,客户端设备110可以通过网络1991将音频数据传输到语音机器人开发系统120,并且ASR引擎130A2可以使用ASR模型130A处理捕获口头输入的音频数据。语音识别引擎130A1和/或130A2可以基于音频数据的处理来生成口头输入的多个语音假设,并且可以任选地基于与多个语音假设中的每个语音假设相关联的对应值(例如,概率值、对数似然值和/或其它值)来选择特定语音假设作为口头输入的识别文本。在各种实施方案中,ASR模型130A是端到端语音识别模型,使得ASR引擎130A1和/或130A2可以直接使用模型生成多个语音假设。例如,ASR模型130A可以是用于逐字符地(或另外逐令牌地)生成多个语音假设中的每个语音假设的端到端模型。用于逐字符地生成识别文本的这种端到端模型的一个非限制性示例是递归神经网络转换器(RNN-T)模型。RNN-T模型是不采用注意机制的一种形式的序列到序列模型。在其它实施方案中,ASR模型130A不是端到端语音识别模型,使得ASR引擎130A1和/或130A2可以替代地生成预测音素(和/或其它表示)。例如,预测音素(和/或其它表示)然后可以由ASR引擎130A1和/或130A2用于确定符合预测音素的多个语音假设。在这样做时,ASR引擎130A1和/或130A2可以任选地采用解码图、词典和/或其它资源。在各种实施方案中,可以在客户端设备110处渲染对应转录(例如,与训练实例输入、训练实例输出、对应特征强调输入、演示对话和/或语音机器人开发平台的其它方面相关联)。
在这些实施方案的一些版本中,客户端设备110的NLU引擎140A1和/或语音机器人开发系统120的NLU引擎140A2可以使用NLU模型140A处理由ASR引擎130A1和/或130A2生成的识别文本以确定包括在口头输入中的意图。例如,如果客户端设备110从第三方开发人员检测到“add training instance input of‘do you have any reservations at 6:30PMfor two people(添加‘您是否在下午6:30具有两个人的预订’的训练实例输入)”的口头输入(例如,作为定义训练实例输入的独立口头输入的一部分),则客户端设备110可以使用ASR模型130A1和/或130A2处理捕获口头输入的音频数据以生成对应于口头输入的识别文本,并且可以使用NLU模型140A处理识别文本以至少确定添加(例如,可以包括音频数据和/或用于口头输入的对应语音假设的)训练实例输入的意图。
在这些实施方案的一些版本中,客户端设备110的TTS引擎150A1和/或语音机器人开发系统120的TTS引擎150A2可以生成捕获合成语音的合成语音音频数据。合成语音可以使用渲染引擎112并且经由客户端设备110的扬声器被渲染在客户端设备110处。合成语音可以捕获由本文所描述的语音机器人开发生成的任何输出,并且可以包括例如已经添加训练实例(重复特定训练实例输入、训练实例输出、特征强调输入等)的指示、请求第三方开发人员添加一个或多个额外训练实例或一组训练实例(以及任选地与特定特征相关联的那些)的通知、请求第三方开发人员修改一个或多个现有训练实例或一组训练实例(以及任选地与特定特征相关联的那些)的通知、已经发起、完成语音机器人的训练的实例或关于语音机器人的训练的状态更新、和/或可以可听地被传达给第三方开发人员的与语音机器人或语音机器人开发平台相关的任何其它信息。
训练引擎162可以利用由训练实例引擎161捕获的多个训练实例(例如,存储在训练实例数据库161A中)来训练语音机器人(例如,其ML层)。语音机器人可以对应于利用一个或多个机器学习(ML)模型(例如,存储在ML层数据库170A1中)的多个ML层以针对与第三方相关联的电话呼叫代表第三方进行会话的一个或多个处理器。多个ML层可以对应于变换器ML模型(例如,输入层、编码层、解码层、前馈层、注意层、输出层和/或其它ML层)、单向和/或双向RNN模型(例如,输入层、隐藏层、输出层和/或其它ML层)中的那些ML层和/或其它ML模型的其它ML层。
例如并且参考图2,描绘用于训练语音机器人的示例过程流200。在一些实施方案中,训练实例引擎161可以从与存储在训练实例数据库161A中的语音机器人相关联的多个训练实例当中获得给定训练实例。在一些实施方案中,对于给定训练实例,训练实例输入可以至少包括对应于对应会话的部分的音频数据201和用于对应会话的会话上下文202。此外,对于给定训练实例,训练实例输出可以包括对会话的部分的地面真实响应203。音频数据201可以由ASR引擎130A1和/或130A2使用ASR模型130A处理,以生成多个语音假设204。在其它实施方案中,训练实例输入可以包括基于音频数据201生成的多个语音假设204,但是可以不包括音频数据201本身。
在一些实施方案中,编码引擎162A1可以使用存储在ML层数据库170A1中的多个ML层中的第一ML层处理多个语音假设204以生成第一编码。编码引擎162A1可以使用存储在ML层数据库170A1中的多个ML层中的第二ML层中的第一ML层处理会话上下文202以生成第二编码。此外,级联引擎162A2可以将第一编码和第二编码级联以生成级联编码。级联编码可以表示对应会话的当前状态。例如,级联编码可以对会话的历史和会话的最近部分进行编码,以对整个会话作为整体进行编码。
通过编码对应会话的当前状态,可以跟踪会话的对话,由此使语音机器人能够建模和/或学习对应会话的状态。因此,所得受训练语音机器人可以学习征求与经由对应电话呼叫执行的任务相关联的参数的对应值。例如,假设训练实例输入包括与“Hello,do youhave any of Product X available for sale(您好,您有产品X可用于销售吗)”相对应的对应会话的至少一部分。在此示例中,训练语音机器人以理解人类正在请求产品X的库存检查。此外,通过对对应会话的会话上下文202进行编码,还训练语音机器人以理解:如果产品X可用,则对于与购买或暂停产品X相关联的名称参数、对于与购买产品X相关联的金钱参数、对于地址参数(如果人类希望将产品X运送到其住所)等,人类尚未提供任何对应值。因此,可以训练语音机器人,以随后通过跟踪对话的状态向人类提示这些参数中的一个或多个参数的对应值。
此外,嵌入引擎162A3可以使用多个ML层中的一个或多个ML层处理级联编码,以生成与预测响应205相关联的预测嵌入(例如,利用第三方系统执行RPC、将响应于训练实例输入而被提供的合成语音或文本、应答呼入电话呼叫、发起呼出电话呼叫和/或预测为响应于训练实例输入的其它响应)。可以从(例如,包括地面真实响应203和多个额外候选响应的)候选响应数据库171A中的多个候选响应选择预测响应205。在生成预测嵌入时,可以将级联编码的大小减小到固定维数。这使得与预测响应205相关联的预测嵌入能够在嵌入空间中容易地与关于损失引擎162A4描述的其它嵌入进行比较。
在这些实施方案的一些版本中并且在处理多个语音假设204之前,训练引擎162可以使多个语音假设被对准。例如,假设多个语音假设捕获“for 4PM(下午4点)”的口头输入。在此示例中,多个语音假设可以被对准为[for,#empty,4PM;for,4,PM;four,four,PM],使得随后可以彼此组合地处理多个对准的语音假设中的每个。在这些实施方案中的一些另外版本中,训练引擎162可以进一步导致多个对准的语音假设被注释。继续以上实例,多个对准的语音假设可以被注释为[for,#empty(@null),4PM(@time);for,4(@time),PM(@time);four(@time),four(@time),PM(@time)]。
在训练实例输入还包括音频数据201的实施方案中,除了或代替基于多个语音假设生成的编码,编码引擎162A1可以生成与音频数据201相关联的编码。在这些实施方案中,级联引擎162A2可以处理与音频数据201相关联的编码和与会话上下文202相关联的编码以生成级联编码。此外,嵌入引擎162A3可以使用多个ML层中的一个或多个ML层处理级联编码,以生成与预测响应205相关联的预测嵌入。在各种实施方案中,尽管在图2中未描绘,但是编码引擎162A1可以另外处理与给定训练实例相关联的一个或多个对应特征强调输入以及音频数据201和/或多个语音假设204。
尽管编码引擎162A1、级联引擎162A2和嵌入引擎162A3在本文中描述为以特定顺序执行特定功能,但是应理解,这些特定功能的执行可以重新排序和/或这些引擎中的一个或多个可以省略。例如,可以省略编码引擎162A1,并且嵌入引擎162A3可以使用多个ML模型的相应ML层处理多个语音假设204和会话上下文202,以生成与对与多个语音假设相关联的对应会话的至少部分的预测响应相关联的预测嵌入。
此外,在各种实施方案中,损失引擎162A4可以在嵌入空间中将与预测响应205相关联的预测嵌入和与地面真实响应203相关联的地面真实嵌入相比较,以生成一个或多个损失206。预测嵌入和地面真实嵌入可以分别对应于预测响应205和对应地面真实响应203的低维表示。嵌入空间允许比较这些低维嵌入。此外,与预测响应205相关联的预测嵌入应当在嵌入空间中接近与对应地面真实响应203相关联的对应地面真实嵌入。换句话说,在处理对应会话的至少部分和会话的先前上下文时,系统应预测与对对应会话的至少部分的实际响应类似的响应。例如,可以确定在嵌入空间中的预测嵌入与对应地面真实嵌入之间的距离度量(例如,余弦相似度距离、欧几里德距离和/或其它距离度量),并且可以基于距离度量来生成损失206中的一个或一个损失。
在一些实施方案中,在基于给定训练实例来训练语音机器人时,使用不同ML模型(未描绘)的与在生成与预测响应205相关联的预测嵌入(例如,点积架构)中利用的多个ML层不同的不同ML层,可以生成与地面真实响应203相关联的地面真实嵌入。地面真实嵌入随后可以被存储在候选响应数据库171A中,以在推断时用作多个候选响应中的一个。值得注意的是,不同ML层可以另外或替代地基于损失206中的一个或多个损失来更新,使得不同ML层学习嵌入空间的相应部分以分配给地面真实嵌入。此外,与作为对对应会话的部分的不正确响应的一个或多个响应相关联的对应嵌入可以另外或替代地用作反例,以在嵌入空间中进一步区分对应会话的部分的正确嵌入。在更新不同ML层之后,可以使用更新的不同ML层处理多个额外候选响应,以生成对应候选响应嵌入。这些候选响应嵌入和对应候选响应也可以被存储在候选响应数据库171A中,即使它们不被用于训练语音机器人。因此,在推断时,可以省略不同ML层,因为候选响应嵌入和对应候选响应是已知的。在额外或替代实施方案中,地面真实嵌入可以与给定训练实例的地面真实响应相关联地存储在训练实例数据库161A中。
更新引擎162A5可以使多个ML层中的一个或多个基于损失206中的一个或多个而更新。例如,更新引擎162A5可以使损失206中的一个或多个跨多个ML层中的一个或多个反向传播,以更新多个ML层中的一个或多个的相应权重。在一些实施方案中,更新引擎162A5可以利用给定训练实例的对应特征强调输入中的一个或多个来偏置更新多个ML层中的一个或多个。例如,在更新多个ML层中的一个或多个的相应权重之前,损失引擎162A4或更新引擎162A5可以对损失中的一个或多个进行加权。因此,多个ML层中的一个或多个可以注意对应特征强调输入中的一个或多个的后续出现。
基于由训练实例引擎161以上述相同或相似方式获得的额外训练实例,可以进一步更新多个ML层中的一个或多个。在一些实施方案中,可以以这种方式获得语音机器人,直到满足一个或多个条件为止。一个或多个条件可以包括例如多个ML层或更新的多个额外ML层中的一个或多个的验证、多个ML层或更新的多个额外ML层中的一个或多个的汇聚(例如,零损失或在零损失的阈值范围内)、多个ML层或多个额外ML层中的一个或多个比当前正在利用的语音机器人的实例(如果有的话)(例如,关于精度和/或召回率)更好地执行的确定、基于至少阈值数量的训练实例的训练的发生、和/或基于训练实例的训练的持续时间。
尽管语音机器人被描述为以特定方式被训练并且使用特定架构,但是应理解,这是为了示例起见并且并不意味着为限制性的。例如,在训练与假想市场相关联的语音机器人时,与名为假想咖啡馆的虚构餐厅相关联的语音机器人可以用作基准语音机器人。在此示例中,一个或多个迁移学习技术(例如,元学习)可以用于使与假想咖啡馆相关联的语音机器人(或基于那些训练实例生成的输出)适应与假想市场相关联的语音机器人。例如,训练实例输入可以包括指示与假想市场相关联的语音机器人正在被训练用于不同的零售相关目的的额外输入,而与假想咖啡馆相关联的原始语音机器人被训练用于餐厅目的。
简要地参考回图1并且在训练语音机器人之后,语音机器人引擎170随后可以利用受训练语音机器人以针对与第三方相关联的电话呼叫代表第三方进行会话,并且在各种实施方案中可以包括响应引擎171和远程过程调用(RPC)引擎172。受训练语音机器人可以经由相应的额外客户端设备195与发起呼入电话呼叫或应答呼出电话呼叫的人类或额外语音机器人进行电话呼叫。电话呼叫可以使用语音通信协议(例如,互联网语音传输协议(VoIP)、公共交换电话网络(PSTN)和/或其它电话通信协议)通过一个或多个网络1993进行。值得注意的是,这些呼叫可以是基于云的电话呼叫,使得用于训练语音机器人的客户端设备110不是对应电话呼叫的端点。相反,语音机器人开发系统120(例如,一个或多个服务器)可以与额外客户端设备195中的一个一起充当电话呼叫的端点。
例如,假设为其训练语音机器人的第三方是销售各种产品的名为假想市场的虚构零售实体。进一步假设人类在额外客户端设备195中的相应一个处提供用户输入以发起与假想市场的电话呼叫,语音机器人应答由人类发起的呼入电话呼叫,并且使(例如,使用TTS模型150A生成的)捕获与语音机器人的特定介绍相对应的合成语音的合成语音音频数据可听地被渲染在额外客户端设备195中的相应一个处,使得人类经由额外客户端设备195中的相应一个的扬声器可感知到合成语音。进一步假设响应于合成语音音频数据的可听渲染,人类提供“Hello,do you have any of Product X available for sale(您好,您有产品X可用于销售吗)”的口头话语。可以在通过一个或多个网络传输到图1的语音机器人开发系统120的音频数据中捕获口头话语。
ASR引擎130A2可以使用ASR模型130A处理音频数据,以生成对应于口头话语的多个语音假设。语音机器人引擎170可以任选地使多个语音假设对被准和/或注释。此外,响应引擎171可以使用存储在ML层数据库170A1中的多个ML层处理多个语音假设、由人类发起的呼入电话呼叫的会话上下文(例如,存储在语音活动数据库170A2中)和/或音频数据中的一个或多个,以生成响应嵌入。在一些实施方案中,响应于确定由用户提供的口头话语是完整的,音频数据可以仅由ASR引擎130A2处理和/或多个语音假设可以仅由响应引擎171处理。例如,语音机器人开发系统120可以使用被训练为检测人类何时完成提供口头话语的端点模型处理音频数据,以确定人类在说出单词“sale(销售)”之后完成提供口头话语。
在一些实施方案中,响应引擎171可以将响应嵌入和与存储在候选响应数据库171A中的多个候选响应相关联的多个候选响应嵌入相比较。此外,基于在嵌入空间中在响应嵌入和与多个候选响应相关联的多个候选响应嵌入中的一个或多个之间的距离度量,响应引擎171可以选择多个候选响应中的给定一个作为对口头话语的响应。例如,可以选择与满足距离阈值的对应距离度量相关联的候选响应作为响应。响应可以由TTS引擎150A2使用TTS模型150A处理,以生成捕获响应的合成语音音频数据。此外,合成语音音频数据可以可听地被渲染在额外客户端设备195中的相应一个处。
在一些实施方案中,响应引擎171可以确定需要RPC请求对在音频数据中捕获的口头话语做出响应。在这些实施方案的一些版本中,RPC引擎172可以生成RPC出站请求,并且将RPC出站请求传输到一个或多个第三方系统190。继续以上示例,响应引擎171可以确定需要RPC请求确定假想市场是否具有“Product X(产品X)”的任何库存可用于销售。因此,RPC引擎172可以生成结构化请求(例如,库存=产品X,意图=销售)作为传输到库存第三方系统190的RPC出站请求。RPC引擎172可以响应于RPC出站请求而接收RPC入站请求。例如,RPC入站请求可以指示“Product X(产品X)”经由假想市场可用或不可用于销售。在响应引擎171确定需要RPC请求的实施方案中,与RPC出站请求相关联的合成语音音频数据的一个或多个实例(例如,“hold on a second while I check(稍等片刻,我检查一下)”)和/或与RPC入站请求相关联的合成语音音频数据的一个或多个实例(例如,“yes,we have ProductX available for sale,would you like to purchase it?(是的,我们具有产品X可用于销售,您想要购买吗?)”)可以以上文所描述的相同或相似方式被渲染在额外客户端设备195中的相应一个处。
可以重复此过程以生成由人类提供的口头话语的对应响应,直到完成电话呼叫。与人类的电话呼叫可以被存储在语音活动数据库170A2中。例如,对于给定电话呼叫,语音活动数据库170A2可以包括对应于人类的口头话语的音频数据、对应于语音呼叫的合成语音的合成语音音频数据、给定电话呼叫的结果、给定电话呼叫的持续时间、与给定电话呼叫相关联的时间和/或数据、和/或从给定电话呼叫导出的其它信息。在一些实施方案中,语音机器人可以在参与会话之前征求来自人类的对与语音机器人交互的同意。在人类同意在电话呼叫期间利用语音参与会话的实施方案中,语音机器人可以参与与用户的会话。在人类不同意在电话呼叫期间利用语音参与会话的实施方案中,语音机器人可以结束电话呼叫或与第三方相关联的另一人类加入电话呼叫的请求。
在各种实施方案中,错误识别引擎180可以使用存储在ML层数据库180A中的ML模型的多个ML层(或存储在ML层数据库180A中的多个规则)处理存储在语音机器人活动数据库170A2中的语音机器人活动以识别语音机器人的任何行为错误。例如,错误识别引擎180可以处理由与第三方相关联的受训练语音机器人进行的对应会话的一个或多个部分和/或对应会话的一个或多个部分的对应会话上下文。对于对应会话,可以基于处理对应会话的一个或多个部分和/或对应会话上下文来识别受训练语音机器人的行为错误。
在一些实施方案中,可以基于使用指示行为错误的多个ML层生成的输出将识别到的行为错误分类为一个或多个不同类别的错误。行为错误可以包括例如语音机器人过早终止呼叫、语音机器人未能提供响应和超时、语音机器人未能征求完成人类的期望动作需要的参数的对应值、语音机器人未能识别由人类提供以完成人类的期望动作的参数的对应值、语音机器人在需要时未能执行RPC、语音机器人利用不正确的第三方系统执行RPC、和/或在对应电话呼叫期间可能发生的该语音机器人的任何其它行为错误。此外,可以使用存储在ML层数据库180A中的ML模型或额外ML模型的多个额外ML层处理这些行为错误,以将给定行为错误分类为一个或多个不同类别的错误。例如,可以将语音机器人未能征求完成人类的期望动作需要的参数的对应值分类为与稀疏性错误相关联的类别,可以将语音机器人未能识别由人类提供以完成人类的期望动作的参数的对应值分类为与缺失或错误标记特征错误相关联的类别,可以将语音机器人在需要时未能执行RPC或语音机器人利用不正确的第三方系统执行RPC分类为与RPC错误相关联的类别等。换句话说,如果识别到的行为错误的根本原因相同,则可以将识别到的行为错误分类为相同的不同类别的错误中的一个或多个。下文(例如,关于图3C、3D和3E)描述识别和分类语音机器人的行为错误。
在一些实施方案中,错误识别引擎180可以使语音机器人开发系统120自动地执行一个或多个动作以校正这些识别到的行为问题。一个或多个动作可以包括例如合成要添加到训练实例的语料库的额外训练实例,以用于更新语音机器人和/或通过标记缺失特征和/或重新标记错误标记特征来修改语料库中的现有训练实例以更新语音机器人。例如,错误识别引擎180可以确定语音机器人已经混淆包括在对应会话的部分中的多个特征,但是在包括这些特征的训练实例中存在稀疏性问题,其阻止语音机器人能够一致地区分多个特征。在此示例中,错误识别引擎180可以使语音机器人开发系统120生成包括多个特征中的一个或多个的合成训练实例以解决稀疏性问题,并且使语音机器人基于与语音机器人相关联的多个训练实例(包括生成的合成训练实例)而更新。作为另一示例,错误识别引擎180可以使语音机器人开发系统120另外或替代地重新标记一个或多个现有训练实例,以进一步区分多个特征中的一个或多个。下文(例如,关于图3C、3D、3E、4、5和6)描述使语音机器人开发系统120自动地执行涉及校正受训练语音机器人的识别到的行为错误的一个或多个动作。在这些实施方案的一些版本中,错误识别引擎180可以使语音机器人开发系统120生成要被呈现给第三方开发人员的通知,该通知至少指示自动地执行一个或多个动作以校正受训练语音机器人的任何识别到的行为错误。
在一些额外或替代实施方案中,错误识别引擎180可以使语音机器人开发系统120生成要被呈现给第三方开发人员的通知,该通知请求第三方开发人员应执行涉及校正受训练语音机器人的任何识别到的行为错误的一个或多个动作。通知可以与对应呼叫的会话摘要一起渲染,或者经由单独的界面(例如,弹出式通知、通知界面、语音机器人行为错误界面等)渲染。一个或多个动作可以包括例如向语料库添加额外训练实例以更新语音机器人(以及任选地特定类型或具有特定特征的训练实例)和/或修改现有训练实例以更新语音机器人。例如,错误识别引擎180可以使语音机器人开发系统120呈现一个或多个训练实例,并且提示第三方开发人员识别多个训练实例中的一个或多个训练实例的一个或多个对应特征强调输入,添加包括特定特征或作为特定类型的训练实例的更多训练实例,重新标记可以包括一个或多个不正确标记的训练实例,和/或可以校正识别到的行为错误的根本原因的任何其它动作(例如,关于图3C、3D、3E、4、5和6)。
会话摘要引擎185可以基于存储在语音机器人活动数据库170A2中的语音机器人活动来生成由语音机器人进行的每个电话呼叫的对应会话摘要。对应会话摘要可以使用渲染引擎112被渲染在客户端设备110的用户界面处。在一些实施方案中,对应会话概要可以包括例如对应电话呼叫、对应电话呼叫的持续时间、对应电话呼叫的结果或成果、与对应电话呼叫相关联的金钱信息、和/或与电话呼叫相关联的其它信息中的每个的自然语言摘要。继续假想市场示例,对应会话摘要可以是例如“user called to inquire aboutavailability of Product X,I checked to make sure Product X was available,theuser purchased Product X for$100(用户致电询问产品X的可用性,我检查了确定产品X可用,用户以100美元购买产品X)”。在一些额外或替代实施方案中,对应会话摘要当被选择时可以使对应电话呼叫的转录使用渲染引擎112被渲染在客户端设备110的用户界面处。下文(例如,关于图3C)描述对应会话摘要。
因此,本文所描述的语音机器人开发平台使与第三方相关联的第三方开发人员能够训练语音机器人,监测语音机器人的性能,并且随后基于语音机器人的任何识别到的行为错误来更新语音机器人。值得注意的是,语音机器人开发平台是基于示例的,因为语音机器人基于会话的部分而训练,并且语音机器人基于添加更多示例或修改现有示例而更新。因此,第三方开发人员不需要对ML或如何定义各种意图模式具有任何广泛的知识,这可能是开发基于规则的语音机器人所需要的。然而,本文所描述的各种技术也可以用于训练、监测和更新基于规则的语音机器人。
通过使用本文所描述的技术,可以实现各种技术优势。作为一个非限制性实例,语音机器人开发平台使得能够通过添加新的训练实例或修改现有训练实例来容易地添加或修改语音机器人行为。因此,使用本文所描述的语音机器人开发平台训练的语音机器人更可扩展,并且由于不需要定义大量意图模式,因此减少存储器消耗。相反,训练和利用的ML模型中的一个或多个ML模型的多个ML层可以具有较小存储器占用,并且可以更稳健和/或准确。此外,使用语音机器人开发平台训练的语音机器人获得高水平的精度和召回率,从而使得会话能够更快速地且高效地结束,因为使用语音机器人开发平台训练的语音机器人更能够理解人类语言的细微差别并且相应地做出响应。
尽管语音机器人在本文中被描述为随后被部署用于针对与第三方相关联的电话呼叫代表第三方进行会话,但是应理解,这是为了示例起见并且并不意味着为限制性的。例如,本文所描述的语音机器人可以被部署在其中人类可以参与与给定语音机器人的人机对话的任何场景中。例如,可以训练给定语音机器人以经由汽车穿梭餐厅系统在汽车穿梭餐厅与人类进行会话,经由人类的客户端设备作为自动助理与人类进行会话,和/或在人类可以参与与给定语音机器人的人机对话的电话呼叫之外的任何其它域。因此,应理解,这些语音机器人的行为可以是基于用于训练对应语音机器人的训练实例。
现在转向图3A、3B、3C、3D和3E,描绘与语音机器人开发平台相关联的用户界面300的各种非限制性示例。第三方开发人员可以使用客户端设备与语音机器人开发平台交互,该客户端设备包括语音机器人开发系统客户端或语音机器人开发系统(例如,图1的客户端设备110)。通过与语音机器人开发平台交互,第三方开发人员可以训练语音机器人,所述语音机器人在被部署时可以代表与第三方开发人员相关联的第三方针对指向第三方的呼入电话呼叫和/或代表第三方发起的呼出电话呼叫进行会话。为了示例起见,在整个图3A、3B和3C中,假设第三方开发人员正在创建新的语音机器人,以针对电话呼叫和/或与假想咖啡馆(虚构餐厅)相关联的汽车穿梭餐厅进行会话。
具体参考图3A,语音机器人开发平台的主屏幕或登录页被描绘为被视觉地渲染在用户界面300上。在各种实施方案中,可以在主屏幕或登陆页上向第三方开发人员呈现各种图形元素。例如,用户界面300可以包括语音机器人图形元素310,所述语音机器人图形元素提供与由第三方开发人员开发的语音机器人和/或与第三方(例如,假想咖啡馆)相关联的任何语音机器人相关联的任何独特标识符的片段。在创建新的语音机器人时,第三方开发人员可以在文本输入字段318中提供将与正在开发的新语音机器人相关联的独特标识符。例如,如图3A中所示,第三方开发人员可以在文本输入字段318中提供“假想咖啡馆”的键入输入,或捕获与“假想咖啡馆”相对应的音频数据(并且任选地响应于麦克风接口元件350的用户选择)的口头输入。在一些实施方案中,第三方开发人员可以选择如图3A中所示的“查看更多”图形元素,以扩展语音机器人的片段(如果任何其它存在的话)以包括额外的语音机器人,或在用户界面300上启动语音机器人界面。
此外,用户界面300可以另外或替代地包括训练实例图形元素320,所述训练实例图形元素提供在创建新语音机器人中利用的多个训练实例的片段。多个训练实例中的每个训练实例可以包括训练实例输入和训练实例输出。训练实例输入可以包括例如对应会话的至少一部分和对应会话的先前上下文,并且训练实例输出可以包括例如对对应会话的至少部分的对应地面真实响应。例如,可以从与假想咖啡馆(或另一餐厅实体)相关联的现有电话呼叫语料库、从一个或多个人类(例如,其可能包括或可能不包括开发人员)之间的演示会话、和/或从与会话的片段相对应的一个或多个人类(例如,其可能包括或可能不包括开发人员)的一个或多个其它口头话语(例如,统称为“图3A中的假想咖啡馆语料库”)获得多个训练实例。下文(例如,关于图3B)描述获得多个训练实例以及训练与假想咖啡馆相关联的语音机器人。在一些实施方案中,第三方开发人员可以选择如图3A中所示的“添加训练实例”图形元素,以添加用于训练与假想咖啡馆相关联的语音机器人的训练实例,或在用户界面300上启动训练实例界面。
此外,用户界面300可以另外或替代地包括语音机器人活动图形元素330,所述语音机器人活动图形元素提供与受训练语音机器人相关联的语音机器人活动的片段(例如,称为图3A中的“假想咖啡馆活动”)。语音机器人活动可以包括与由受训练语音机器人代表假想咖啡馆进行的每个对应电话呼叫相关的信息。例如,语音机器人活动可以包括与每个对应电话呼叫相关联的时间和/或日期、每个对应电话呼叫的持续时间、与每个对应电话呼叫相关联的摘要、与每个对应电话呼叫相关联的转录、和/或与由受训练语音机器人代表假想咖啡馆进行的每个对应电话呼叫相关的任何其它信息。在一些实施方案中,可以在对应电话呼叫期间和/或在每个对应电话呼叫之后生成语音机器人活动。语音机器人活动使第三方开发人员能够监测语音机器人的性能。下文(例如,关于图3C)描述语音机器人活动。在一些实施方案中,第三方开发人员可以选择如图3A中所示的“查看更多”图形元素,以扩展语音机器人活动的片段(如果任何存在的话)以包括额外的语音活动,或在用户界面300上启动语音机器人活动界面。
甚至进一步,用户界面300可以另外或替代地包括语音机器人行为错误图形元素330,所述语音机器人行为错误图形元素提供与受训练语音机器人相关联的识别到的语音机器人行为错误的片段(例如,称为图3A中的“假想咖啡馆行为错误”)。语音机器人行为错误可以包括在代表假想咖啡馆进行的对应电话呼叫期间由受训练语音机器人所犯的错误。这些语音机器人行为错误可以包括例如接受或建议餐厅预订的不可用时间、提供不正确的营业时间、接受不可用的食物的订单、未能征求在对应会话期间正在执行的任务的参数的值、和/或与受训练语音机器人的不正确行为相对应的任何其它错误。语音机器人行为错误使语音机器人开发平台能够识别这些语音机器人行为错误的对应根本原因。在一些实施方案中,语音机器人开发平台可以采取一个或多个动作以自动地校正对应根本原因,诸如重新标记用于重新训练语音机器人的多个训练实例中的一个或多个,向用于重新训练语音机器人的多个训练实例中的一个或多个添加一个或多个特征强调输入,和/或可以由语音机器人训练平台采取以校正识别到的语音机器人行为错误的对应根本原因的任何其它动作。在额外或替代实施方案中,语音机器人开发平台可以生成一个或多个通知,以向第三方开发人员通知识别到的语音机器人行为错误的根本原因。这些通知可以任选地包括当由第三方开发人员执行时可以校正识别到的语音机器人行为错误的对应根本原因的一个或多个动作的指示,诸如请求第三方开发人员重新标记用于重新训练语音机器人的多个训练实例中的一个或多个,请求第三方开发人员将一个或多个特征强调输入添加到用于重新训练语音机器人的多个训练实例中的一个或多个,请求第三方开发人员添加用于重新训练语音机器人的一个或多个额外训练实例(以及任选地具有一个或多个特定标记或特定特征强调输入),和/或可以由第三方开发人员采取以校正识别到的语音机器人行为错误的对应根本原因的任何其它动作。在一些实施方案中,第三方开发人员可以选择如图3A中所示的“查看更多”图形元素,以扩展识别到的语音机器人行为错误的片段(如果任何存在的话),或在用户界面300上启动语音机器人行为错误界面。
第三方开发人员可以导航图3A中所示的语音机器人的主页或登录页以创建新的语音机器人,训练语音机器人,监测语音机器人的性能,和/或随后更新语音机器人。例如,假设第三方开发人员在文本输入字段318中提供语音机器人的独特标识符“假想咖啡馆”,并且选择导航到用户界面300到如图3B中所示的训练实例界面。第三方开发人员可以与训练实例界面交互以定义用于训练语音机器人的训练实例。
在一些实施方案中,可以从训练实例的语料库获得训练实例。训练实例的语料库可以包括例如在对应的先前电话呼叫期间与假想咖啡馆相关联的用户(例如,员工)与额外用户(例如,客户)之间的一个或多个先前会话、在对应的先前电话呼叫(例如,与另一餐厅实体相关联的电话呼叫)期间在不与假想咖啡馆相关联的其他用户之间的一个或多个先前会话、和/或可以生成训练实例的其它会话。例如,响应于接收到指向训练实例语料库界面元素380的用户输入,第三方开发人员可以访问训练实例的语料库,以选择对应会话的一部分以用作给定训练实例的训练实例输入321A(以及对应会话的任何先前上下文),以及对对应会话的部分的对应响应以用作给定训练实例的训练实例输出322A。指向训练实例语料库界面元素380的用户输入可以是例如经由触摸屏或经由用户接口输入设备(例如,鼠标或触控笔)检测到的触摸输入,和/或经由客户端设备的麦克风(以及任选地响应于指向语音界面元素350的用户输入)检测到的口头输入。在各种实施方案中,第三方开发人员可以任选地定义给定训练实例的特征强调输入323A。
在一些额外或替代实施方案中,可以从在经由用户界面300呈现给用户的训练实例界面处接收到的用户输入获得训练实例。在训练实例界面处接收到的用户输入可以是例如经由触摸屏或经由用户接口输入设备(例如,鼠标、触控笔、键盘等)检测到的触摸或键入输入和/或经由客户端设备的麦克风(以及任选地响应于指向语音界面元素350的用户输入)检测到的口头输入。例如,用户可以提供用户输入,所述用户输入包括在图3B中所示的训练实例的表格中的训练实例输入321A和训练实例输出322A(以及任选地特征强调输入323A)中的一个或多个。
在一些额外或替代实施方案中,可以从演示会话352B获得训练实例。演示会话352B然后可以用于生成用于训练与假想咖啡馆相关联的语音机器人的多个训练实例。例如,如由图3B中的演示会话所示,第三方开发人员(以及任选地另一个人类)可以根据不同的角色来行动,以通过提供用于演示会话的用户输入(例如,键入输入或口头输入)来模拟与假想咖啡馆相关联的人类(例如,员工)与另一个人类(例如,客户)之间的实际会话。例如,第三方开发人员可以选择员工图形元素362A并提供用户输入352B1“Hello,Hypothetical Café,how may I help you?(您好,假想咖啡馆,有什么我可以帮到您?)”,选择客户图形元素362B并提供用户输入354B1“Hi,I would like to book a table forfour people at 6PM tonight(嗨,我想在今晚6点预订一张四人桌)”,选择员工图形元素362A并提供用户输入352B2““Let me check(让我查一下)”,之后是用户输入352B3“I’msorry,we only have 7PM and 8PM available for four people(对不起,我们只有下午7点和8点的四人桌)”,选择客户图形元素362B并提供用户输入354B2“7PM will work(下午7点可以)”,选择员工图形元素362A并提供用户输入352B4“What’s the name?(叫什么名字?)”,选择客户图形元素362B并提供用户输入354B3“John Smith”,并且选择员工图形元素362A并提供用户输入352B5“Thanks John,see you tonight(感谢John,今晚见)”。语音机器人开发平台可以基于演示会话352B自动地生成多个训练实例。然而,第三方开发人员可能需要指定基于演示会话352B生成的训练实例的任何特征强调输入。
例如,假设基于演示会话352B生成的训练实例输入321A1包括存在呼入电话呼叫的指示,并且假设训练实例输出322A1包括对呼入呼叫的对应响应,诸如应答呼入电话呼叫并且提供对应于用户输入352B1的输出。在此示例中,特征强调输入323A1可以对应于呼入电话呼叫的介绍特征。呼入电话呼叫的介绍可以是用户输入352B1、经由交互式语音响应(IVR)系统呈现的选项、和/或第三方开发人员可能想要语音机器人学习的其它介绍。值得注意的是,由于没有演示会话352B的先前部分,因此不存在训练实例输入321A1的先前会话上下文。因此,在此训练实例上训练的语音机器人可以学习如何应答呼入电话呼叫。在训练实例输入和/或训练实例输出是基于用户输入的实施方案中,用户输入可以对应于捕获用户输入的音频数据、基于处理音频数据而生成的多个语音假设、和/或对应于用户输入的文本。
作为另一示例,假设基于演示会话352B生成的训练实例输入321A2包括对应于用户输入354B1的演示会话352B的部分和如由“$Context”指示的先前会话上下文(例如,在用户输入354B1之前发生的演示会话352B中的用户输入和/或与演示会话352B相关联的元数据),并且假设训练实例输出322A1包括对用户输入354B1的对应响应,诸如用户输入352B2以及发起对可用性的远程过程调用(RPC)出站请求的指示。在此示例中,特征强调输入323A2可以对应于用户输入354B1的特征,诸如聚会规模特征(例如,如由训练实例输入321A2的虚线框指示的“four people(四个人)”)、时间特征(例如,如也由训练实例输入321A2的虚线框指示的“6PM(下午6点)”)和RPC出站请求特征。值得注意的是,训练实例输出322A2还包括发起可用性的RPC出站请求的指示。此训练实例可以被视为RPC训练实例,并且RPC训练实例的类型可以是RPC出站请求训练实例。
对可用性的RPC出站请求可以包括例如生成结构化请求以查询在所请求时间特定聚会规模的餐厅预订可用性(例如,可用性:[聚会规模]=4;[时间]=6PM,或结构化请求的任何其它形式),以及将结构化请求传输到与管理假想咖啡馆的餐厅预订相关联的第三方系统。尽管RPC出站请求未明确地被包括在演示会话352B中,但是第三方开发人员可以将对可用性的RPC出站请求添加或注入到训练实例输出322A2中。此外,尽管将RPC出站请求传输到第三方系统(并且未传输到演示会话352B中的“客户”),但是仍然可以训练语音机器人以基于请求餐厅预订的可用性的训练实例输入321A2是RPC出站请求训练实例而在演示会话352B期间生成并传输可用性的RPC出站请求。此外,尽管RPC出站请求被描述为与餐厅预订可用性相关联,但是应理解,这是为了示例起见并且并不意味着为限制性的。例如,RPC出站请求可以与食物/库存可用性、营业时间查询、电话呼叫转移和/或在电话呼叫期间需要与一个或多个第三方系统交互的任何其它功能相关联。因此,在此RPC出站请求训练实例上训练的语音机器人可以学习何时以及如何发起RPC出站请求。
此外,当获得具有训练实例输入321A2和训练实例输出322A2的训练实例时,语音机器人开发平台可以生成通知390B,该通知请求第三方开发人员“添加具有时间特征的更多训练实例”,如图3B中所示。尽管通知390B在图3B中被描绘为请求第三方开发人员添加具有时间特征的训练实例,但是应当理解,这是为了示例起见。例如,语音机器人开发平台可以请求第三方开发人员添加特定类型的训练实例(例如,RPC训练实例)和/或包括特定特征(例如,时间特征、聚会规模特征、名字特征和/或任何其它特征)的训练实例。在一些实施方案中,语音机器人开发平台可以生成通知,所述通知请求第三方开发人员添加特定类型的训练实例和/或包括特定特征的训练实例,直到获得阈值数量的那些训练实例和/或已经验证了语音机器人关于处理与那些训练实例相关联的特定会话的执行。
作为又一示例,假设基于演示会话352B生成的训练实例输入321A3包括对应于RPC入站请求的演示会话352B的部分和如由“$Context”指示的先前会话上下文(例如,在RPC入站请求之前发生的演示会话352B中的用户输入和/或与演示会话352B相关联的元数据),并且假设训练实例输出322A3包括对RPC入站请求的对应响应,诸如用户输入352B3。在此示例中,特征强调输入323A3可以对应于RPC入站请求特征。值得注意的是,训练实例输出322A2还包括发起对可用性的RPC出站请求的指示。此训练实例可以被视为RPC训练实例,并且RPC训练实例的类型可以是RPC入站请求训练实例。
关于可用性的RPC入站请求可以包括例如接收结构化响应,所述结构化响应包括是否有满足预订请求的参数(例如,聚会规模4且时间是6PM)的任何餐厅预订以及任选地满足预订请求的参数的替代的一个或多个替代时间或时间范围的指示。在一些实施方案中,可以基于演示会话352B的当前状态来生成一个或多个亲和性特征。例如,假设餐厅预订的所请求时间是如包括在演示会话352B中的6PM,并且所请求时间可用。在此实例中,可以生成指示所请求时间可用的一个或多个亲和性特征。相反,假设餐厅预订的所请求时间不可用。在此实例中,指示所请求时间不可用的一个或多个亲和性特征还使所请求时间与替代时间相关(例如,如果可用性对应于7PM和8PM,则在所请求时间之后一小时和在所请求时间之后两小时,而不是所请求时间6PM)。
类似于上文所描述的RPC出站请求,尽管RPC入站请求未明确地被包括在演示会话352B中,但是第三方开发人员可以将关于可用性的RPC入站请求添加或注入到训练实例输入321A3中。此外,尽管从第三方系统(而不是演示会话352B中的“客户”)接收RPC入站请求,但是仍然可以训练语音机器人以基于包括餐厅预订的可用性的训练实例输入321A3是RPC入站请求训练实例而在演示会话352B期间接收关于可用性的RPC入站请求。此外,尽管RPC入站请求被描述为与餐厅预订可用性相关联,但是应理解,这是为了示例起见并且并不意味着为限制性的。例如,RPC入站请求可以是基于传输到第三方系统中的一个或多个的对应RPC出站请求。因此,在此RPC入站请求训练实例上训练的语音机器人可以学习如何处理RPC入站请求,并且如何基于会话的上下文和包括在RPC入站请求中的数据做出响应。
通过基于本文所描述的RPC训练实例训练语音机器人,可以实现各种技术优势。作为一个非限制性实例,语音机器人可以学习如何和/或何时向第三方系统传输请求,以及在解决语音机器人正在进行的电话会话的任务时如何利用对那些请求的响应。因此,任务可以由语音机器人在会话期间解决并且可以被高效地解决,而不需要另外的人类参与会话。此外,RPC训练实例的利用使得能够减少RPC请求的数量,因为存在较少犯错误的RPC请求,从而节省否则将在生成RPC请求时消耗的计算资源和/或否则将在通过一个或多个网络传输RPC请求时消耗的网络资源。
作为又一示例,假设基于演示会话352B生成的训练实例输入321A4包括对应于用户输入354B3的演示会话352B的部分和如由“$Context”指示的先前会话上下文(例如,在用户输入354B3之前发生的演示会话352B中的用户输入和/或与演示会话352B相关联的元数据),并且假设训练实例输出322A4包括对呼入呼叫的对应响应,例如对应于用户输入352B5的响应。在此示例中,特征强调输入323A4可以对应于名字特征(例如,如由训练实例输入321A4的虚线框指示的“John Smith”)。值得注意的是,在演示会话352B中,“客户”不提供餐厅预订的名字,直到被“员工”提示这么做。因此,如果“客户”不提供名字参数(例如,JohnSmith)的值,则在此训练实例上训练的语音机器人可以学习在进行餐厅预订时应征求名字参数的值。
在各种实施方案中并且在定义训练实例之后,可以训练与假想咖啡馆相关联的语音机器人。例如,响应于接收到指向训练语音机器人图形元素381的用户输入,可以基于训练实例来训练语音机器人。与假想咖啡馆相关联的语音机器人可以对应于利用一个或多个ML模型(例如,RNN模型、变换器模型、LSTM模型和/或其他ML模型)的多个层的一个或多个处理器。值得注意的是,在训练语音机器人时,ML模型的多个层中的一个或多个可以注意与多个训练实例中的一个或多个相关联的对应特征强调输入。例如,语音机器人可以注意至少聚会规模特征、时间特征、名字特征、RPC出站请求特征、RPC入站请求特征、和/或由各种训练实例的对应特征强调输入定义的其它特征。
在各种实施方案中,并且在部署语音机器人之后,第三方开发人员可以在代表假想咖啡馆进行会话时监测语音机器人的性能。例如,响应于接收到指向语音机器人活动界面元素383的用户输入,用户界面300可以呈现如图3C中所示的语音机器人活动界面。另外或替代地,响应于接收到指向主界面元素386的用户输入,用户界面300可以返回到如图3A中所示的主页或登录页,并且用户界面300可以响应于来自第三方开发人员的对语音机器人活动图形元素330(或上面参考图3A描述的对应“查看更多”图形元素)的选择而呈现如图3C中所示的语音机器人活动界面。第三方开发人员可以与语音机器人活动界面交互,以查看与假想咖啡馆相关联的语音机器人的语音机器人活动。语音机器人活动可以被存储在可由客户端设备访问的一个或多个数据库(例如,图1的语音活动数据库170A2)中。
例如,用户可以查看由受训练语音机器人代表假想咖啡馆进行的电话呼叫的会话摘要331A。在一些实施方案中,第三方开发人员可以查看语音机器人的所有语音机器人活动,如由330A指示。在一些额外或替代实施方案中,第三方开发人员可以在查看所有语音机器人活动与仅查看包括如由330B指示且如图3C中所示的语音机器人的识别到的行为错误的语音机器人活动之间切换。与330A和330B相关联的文本可以是可选择的,并使第三方开发人员能够在语音机器人活动的这些不同视图之间切换。在各种实施方案中,第三方开发人员可以搜索语音机器人活动日志。例如,第三方开发人员可以将一个或多个术语输入到文本输入字段330C中以搜索语音机器人活动。此外,在各种实施方案中,一个或多个排序标准可以用于对呈现给用户的会话摘要331A进行排序。一个或多个排序标准可以包括例如对应会话的最近性、自第三方开发人员审查对应会话摘要以来的最近性、和/或任何其它排序标准。
在一些实施方案中,会话摘要提供语音机器人代表假想咖啡馆进行的对应电话呼叫的自然语言解释。例如,会话摘要331A1指示“用户打电话进行预订,针对不正确的时间进行了预定且未执行RPC,并且未请求与预订相关联的名字”。在此示例中,会话摘要331A1指示类似于图3B的演示会话352B的电话呼叫。会话摘要331A1可以另外或替代地包括执行RPC以检查所请求时间的可用性并且识别替代时间和/或与对应电话呼叫相关联的其它信息的指示,所述其它信息诸如进行对应电话呼叫的时间和日期、对应电话呼叫的持续时间、与对应电话呼叫相关联的金钱信息(例如,外卖订单的成本)、与对应电话呼叫相关联的预订信息、和/或从对应电话呼叫导出的任何其它信息。
在一些额外或替代实施方案中,可以从语音呼叫活动界面访问与语音机器人代表假想咖啡馆进行的对应电话呼叫相关联的转录(并且任选地,仅当与语音机器人交谈的人类同意监测对应电话呼叫的语音机器人活动时)。例如,语音机器人活动图形用户界面的会话352C部分包括会话352C的转录,为该会话生成会话摘要331A1。例如,假设语音机器人应答指向假想咖啡馆的呼入电话呼叫,并且所述呼入电话呼叫由人类经由相应客户端设备发起。进一步假设在应答呼入电话呼叫后,语音机器人渲染捕获合成语音352C1“Hello,Hypothetical Café,how may I help you?(您好,假想咖啡馆,有什么我可以为您服务?)”的合成语音音频数据。进一步假设语音机器人处理捕获口头话语354C1“Hi,I would liketo make a reservation at 6PM(嗨,我想要预订下午6点)”(和会话352C的先前上下文)的音频数据,并且生成捕获合成语音352C2“Okay,for how many people?(好的,预订几个人的位子?)”的合成语音音频数据作为对口头话语352C2的响应,人类提供口头话语354C2“five people(五个人)”,并且语音机器人提供响应352C3“great,I booked yourreservation at 7PM for five people(好,我为您预订下午7点5个人的位子)”。
值得注意的是并且与图3B的演示会话352B相比,语音机器人未能执行RPC以确定“6PM”是否可用于预订,语音机器人在没有确认预订时间的情况下预订“7PM”而不是“6PM”,并且语音机器人未能请求预订的名字。会话摘要331A2和331A3提供指示语音机器人的其它行为错误的其它对应自然语言摘要。例如,会话摘要331A2规定,即使食物不可用,也会下外卖订单,并且会话摘要331A3规定,语音机器人不知道如何处理人类询问假想咖啡馆是否提供露台座位。
在各种实施方案中并且在部署语音机器人之后,第三方开发人员可以校正语音机器人的行为错误。例如,响应于接收到指向行为错误界面元素384的用户输入,用户界面300可以呈现如图3D和3E中所示的语音机器人行为错误界面。另外或替代地,响应于接收到指向主界面元素386的用户输入,用户界面300可以返回到如图3A中所示的主页或登录页,并且用户界面300可以响应于来自第三方开发人员的对语音机器人行为错误图形元素340(或上面参考图3A描述的对应“查看更多”图形元素)的选择而呈现如图3D和3E中所示的语音机器人行为错误界面。第三方开发人员可以与语音机器人行为错误界面交互以查看识别到的语音机器人行为错误、查看由语音机器人开发平台执行的一个或多个动作以校正识别到的语音机器人行为错误、执行一个或多个动作以校正识别到的语音机器人行为错误、更新语音机器人、和/或验证语音机器人。
在一些实施方案中,可以使用ML模型的多个ML层处理假想咖啡馆(例如,上文关于图3C描述)的语音机器人获得以识别一个或多个行为错误。此外,可以使用ML模型的多个ML层或ML模型或额外ML模型的额外多个ML层处理一个或多个行为错误,以将给定行为错误分类为可能互斥或可能不互斥的一个或多个不同类别的行为错误。在这些实施方案的一些另外版本中,语音机器人开发平台可以基于对应会话的至少一个或多个部分和对应会话的对应先前上下文来获得在对应会话期间生成的对应嵌入。
此外,语音机器人开发平台可以基于在对应会话期间生成的对应嵌入来识别包括在用于训练语音机器人的训练实例的语料库中的一个或多个训练实例。例如,语音机器人开发平台可以在嵌入空间中比较在与假想咖啡馆相关联的语音机器人的训练期间并且基于用于训练与假想咖啡馆相关联的语音机器人的一个或多个训练实例生成的相应嵌入与在对应会话期间生成的对应嵌入。此外,语音机器人开发平台可以识别与和满足阈值距离的对应距离度量(例如,余弦相似度距离、欧几里德距离和/或其它距离度量)相关联的相应嵌入相关联的一个或多个训练实例。例如,如果与一个或多个训练实例相关联的相应嵌入在到在为其识别到行为错误的对应会话期间生成的对应嵌入的阈值距离内,则基于那些训练实例的一个或多个方面训练语音机器人可能会导致语音机器人的行为错误。因此,那些训练实例可以被识别为与行为错误相关联。
例如,并且关于图3C的会话352C和会话摘要331A1,语音机器人开发平台可以处理口头话语354C2和/或响应354C3(以及先前的会话上下文)以识别RPC错误。换句话说,语音机器人开发系统可以确定与假想咖啡馆相关联的语音机器人应该已经响应于接收到口头话语354C2而向第三方预订系统生成RPC出站请求(例如,可用性:[聚会规模]=5;[时间]=6PM,或结构化请求的任何其它形式),并且响应352C3应该是基于由第三方预订系统生成的RPC入站请求(例如,所请求时间是否可用的指示以及任选地其它替代预订时间的指示)。因此,可以将此行为错误分类为与如由340A3A所指示的由RPC导致的行为错误相关联的类别3340A3。此外,类别3 340A3还可以包括如由340A3B所指示的被识别为可能是行为错误的原因的一个或多个训练实例的指示。例如,如由340A3B所指示的一个或多个训练实例可以包括与对不正确的第三方系统的RPC请求相关联的RPC训练实例、没有用对应特征强调输入标记和/或用不正确的特征强调输入错误标记的RPC训练实例。而且,例如,并且如由通知390D所指示的,语音机器人开发平台可以提供另外的信息以校正由RPC导致的行为错误(例如,“添加更多RPC训练实例将可能解决这个问题”)。因此,第三方开发人员可以选择RPC图形元素340A3C来校正现有的RPC训练实例,和/或添加额外RPC训练实例和/或训练实例图形元素382以返回到图3B中所示的语音机器人训练实例。值得注意的是,也可以将此错误分类为一个或多个其它不同类别。
另外或替代地,并且关于图3C的会话352C和会话摘要331A1,语音机器人开发平台可以处理口头话语354C2和/或响应354C3(以及先前的会话上下文)以识别缺失特征错误和/或错误标记特征错误。换句话说,语音机器人开发系统可以确定与假想咖啡馆相关联的语音机器人在预订之前应该已经征求了预订的名字参数的值,并且响应352C3应该已经实际上征求了名字参数的值。因此,可以将此行为错误分类为与如由340A1A所指示的由缺失名字特征导致的行为错误相关联的类别1 340A1。
此外,类别1 340A1还可以包括如由340A1B所指示的被识别为可能是行为错误的原因的一个或多个训练实例的指示。例如,如由340A1B指示的一个或多个训练实例可以包括包含名字特征的训练实例,但是没有将该名字特征标记为名字特征或该名字特征不包括指示名字特征的对应特征强调输入。此外,可以将此行为错误分类为与如由340A4A所指示的由错误标记的名字特征导致的行为错误相关联的类别4 340A4。此外,类别4 340A4还可以包括如由340A4B所指示的被识别为可能是行为错误的原因的一个或多个训练实例的指示。例如,如由340A4B所指示的一个或多个训练实例可以包括包含名字特征的训练实例,但是该名字特征被错误标记为聚会规模特征或其它特征。因此,第三方开发人员可以选择标记特征图形元素340A1C和/或340A4C以分别标记或重新标记如由340A1B和/或340A4C所指示的一个或多个训练实例,和/或训练实例图形元素382以返回到图3B中所示的语音机器人训练实例界面,以标记和/或重新标记训练实例中的一个或多个。
此外,在语音机器人的识别到的行为错误包括缺失特征错误(例如,被分类为图3D的类别1 340A1)的实施方案中,语音机器人开发平台可以生成通知,所述通知请求第三方开发人员将一个或多个缺失特征添加到一个或多个训练实例。例如,语音机器人开发平台可以识别第一训练实例和第二训练实例,并且可以将第一训练实例和第二训练实例与对第三方开发人员定义训练实例的一个或多个特征的请求一起包括在通知中。例如,假设第一训练实例和第二训练实例两者都包括术语“six(六)”。然而,进一步假设第一训练实例中的术语“six(六)”是指餐厅预订的聚会规模特征,而第二训练实例中的术语“six(六)”是指餐厅预订的时间特征。响应于通知被呈现给用户,第三方开发人员可以相应地标记这些缺失特征。因此,更新的语音机器人随后可能能够鉴于相应的对应会话的对话上下文来更好地区分这些特征。
另外或替代地,并且关于图3C的会话352C和会话摘要331A1,语音机器人开发平台可以处理口头话语354C2和/或响应354C3(以及先前的会话上下文)以识别稀疏性错误。换句话说,语音机器人开发系统可以确定与假想咖啡馆相关联的语音机器人应该在进行预订之前已经征求了预订的名字参数的值和/或应该已经对第三方餐厅预订系统执行RPC,并且响应352C3应该已经实际上征求了名字参数的值和/或应该已经对RPC请求做出响应。然而,语音机器人开发平台可能没有具有名字特征或指示名字特征的对应特征强调输入的训练实例和/或RPC训练实例。因此,可以将此行为错误分类为与如由340A2A所指示的由具有特定特征(例如,名字特征)的训练实例的稀疏性和/或特定类型的训练实例(例如,RPC训练实例)的稀疏性导致的行为错误相关联的类别2 340A2。
此外,类别2 340A2还可以包括一个或多个训练特定特征和/或如由340A2B所指示的导致行为错误的稀疏性错误的特定类型的训练实例的指示。例如,如由340A2B所指示的一个或多个训练实例可以包括包含名字特征和添加具有名字特征的额外训练实例的请求、添加额外RPC训练实例的请求的训练实例、和/或具有特定特征或其它类型的训练实例的其它训练实例。因此,第三方开发人员可以选择添加训练实例图形元素340A2C1以添加一个或多个训练实例340A2B,和/或训练实例图形元素382以返回到图3B中所示的语音机器人训练实例界面以添加额外训练实例来校正稀疏性错误。
在额外或替代实施方案中,语音机器人开发平台可以自动地执行涉及校正任何识别到的行为错误的一个或多个动作。例如,语音机器人开发系统可以响应于接收到合成图形元素340AC2的选择而合成一个或多个训练实例。可以基于来自语音机器人活动的对应会话和/或增强现有训练实例来生成一个或多个合成训练实例。例如,语音机器人开发平台可以以上面关于基于图3B的演示会话352B生成训练实例所描述的相同或相似方式合成一个或多个合成训练实例。此外,语音机器人开发平台可以请求开发人员提供一个或多个合成训练实例的一个或多个对应特征强调输入。而且,例如,语音机器人开发平台可以通过修改给定训练实例的训练实例输入(例如,修改对应会话的一部分或会话的上下文)和/或训练实例输出来合成一个或多个合成训练实例(例如,基于对应会话的修改的部分和/或会话的修改的上下文的不同响应)。作为另一示例,语音机器人开发平台可以自动地标记或重新标记一个或多个训练实例的一个或多个特征。可以基于NLU或与和对应会话的部分的一个或多个术语或一个或多个训练实例的地面真实响应相关联的一个或多个标记相关联的其它数据来标记和/或重新标记一个或多个训练实例。例如,如果对应会话的部分包括指示时间的一个或多个项(例如,“AM”或“PM”),则指示时间的术语可以用时间特征标记。
在这些实施方案的一些版本中,并且如图3E中所示,语音机器人开发平台可以生成通知390E,并且在识别到校正语音机器人的识别到的行为错误的一个或多个动作时,使通知被呈现给用户。例如,通知390E可以包括指示390E1,所述指示通知第三方开发人员已经执行了一个或多个动作以校正语音机器人的识别到的行为错误,例如合成一个或多个训练实例、标记一个或多个训练实例的缺失特征,和/或重新标记一个或多个训练实例的特征。此外,通知390E2可以另外或替代地包括指示390E2,所述指示向第三方开发人员通知动作预期校正的识别到的行为错误,并且通知390E2另外或替代地包括指示390E3,所述指示向第三方开发人员通知由语音机器人开发系统自动地执行的一个或多个动作。这些指示390E2和/或390E3可以是可选择的以使第三方开发人员能够查看行为错误和涉及校正行为错误的动作。
在各种实施方案中,并且在涉及校正语音机器人的一个或多个行为错误的一个或多个动作之后,可以至少部分地基于任何添加或合成的训练实例和/或任何修改的现有训练实例来进一步训练语音机器人。可以以上文关于图2和3B描述的相同或相似方式至少部分地基于这些训练实例来进一步训练语音机器人。值得注意的是,在进一步训练语音机器人时,可以更新由对应于与假想咖啡馆相关联的语音机器人的至少一个处理器实施的多个ML层中的一个或多个ML层的相应权重,而一个或多个其它层的相应权重可以保持固定。在一些实施方案中,可以响应于一个或多个图形元素(例如,381和/或390E4)的选择而进一步训练语音机器人。在额外或替代实施方案中,可以响应于确定满足一个或多个条件而进一步训练语音机器人。一个或多个条件可以包括例如确定已经过去的持续时间(例如,每晚、每周和/或其它持续时间)、确定没有实施语音机器人的实例、确定自上次训练语音机器人以来对语料库的变化的数量满足数量阈值、和/或其它条件。
在各种实施方案中,并且在至少部分地基于任何添加或合成的训练实例和/或任何修改的现有训练实例来进一步训练语音机器人之后,可以验证语音机器人。在一些实施方案中,语音机器人可以基于禁止在训练语音机器人中利用的验证训练实例来验证。在一些额外或替代实施方案中,语音机器人可以基于指向语音机器人开发平台的用户输入来验证。例如,第三方开发人员可以将输入指向图形元素350以发起验证会话352D。更新的语音机器人可以提供响应352D1,并且会话可以继续,如由354D1、352D2、352D3、352D4、354D2和352D5所指示。值得注意的是,关于验证会话352D的会话流遵循与图3C的会话352C相同的会话流。然而,与在被更新之前由语音机器人进行的关于图3C描述的对话352C相比,更新的语音机器人正确地执行RPC,正确地征求名字参数的值,并且利用正确的时间进行预约。在一些实施方案中,可以响应于一个或多个图形元素(例如,387)的选择而验证语音机器人。在额外或替代实施方案中,可以响应于语音机器人被进一步训练而验证语音机器人。此外,可以将语音机器人性能度量呈现给第三方开发人员。语音机器人性能度量可以包括语音机器人的一个或多个测量改进(例如,响应精度、响应时间、和/或其它性能度量)。
尽管本文中关于分类为特定类别的错误的特定错误描述图3C、3D和3E,但是应理解,这是为了示例起见并且并不意味着为限制性的。此外,尽管仅关于图3A、3B、3C、3D和3E描述与假想咖啡馆相关联的语音机器人的单个实例,但是应理解,这是为了示例起见并且并不意味着为限制性的。例如,语音机器人的多个实例可以同时由一个或多个计算设备(例如,客户端设备、服务器和/或其它计算设备)实施,使得语音机器人的多个实例可以同时参与与对应人类(或其它语音机器人)的会话。语音机器人的每个实例可以包括利用语音机器人的多个ML层的对应实例的对应处理器。此外,尽管与假想咖啡馆相关联的语音机器人关于图3A、3B、3C、3D和3E被描述为应答呼入电话呼叫,但是应理解,这是为了示例起见并且并不意味着为限制性的。例如,可以另外或替代地训练语音机器人,以向各个实体发起呼出电话呼叫。例如,给定训练实例的训练实例输入可以包括发起与特定实体的对应电话呼叫以执行特定任务的动作或命令,并且给定训练实例的训练实例输出可以包括与发起呼出电话呼叫相关联的对应地面真实响应。以此方式,与假想咖啡馆相关联的语音机器人可以用于发起和进行呼出电话呼叫,以从供应商订购更多库存,从信息技术查询软件问题,与顾客核实餐厅预订,和/或执行语音机器人被训练的任何其它功能。
现在参考图4,描绘图示更新受训练语音机器人的示例方法400的流程图。为了方便起见,参考执行操作的系统来描述方法400的操作。方法400的此系统包括至少一个处理器、至少一个存储器和/或计算设备(例如,图1的客户端设备110、图1的语音机器人开发平台120、和/或图7的计算设备710、服务器,和/或其它计算设备)的其它组件。此外,尽管以特定顺序示出方法400的操作,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
在框452处,系统识别与第三方相关联的受训练语音机器人和用于训练受训练语音机器人的训练实例的语料库。系统可以基于指向语音机器人开发平台界面的用户输入来识别受训练语音机器人和用于训练受训练语音机器人的训练实例的语料库。用户输入可以是经由相应的客户端设备从与第三方相关联的第三方开发人员接收到的触摸输入、键入输入、和/或口头输入。
在框454处,系统获得受训练语音机器人的语音机器人活动。语音机器人活动可以包括例如由受训练语音机器人代表第三方进行的对应会话、一个或多个对应会话的对应会话摘要、与一个或多个对应会话相关联的行为错误、与对应会话相关联的金钱信息、以及与对应会话相关联的订单或购买、和/或从对应会话导出的其它信息。语音机器人活动可以被存储在一个或多个数据库(例如,图1的语音机器人活动数据库170A2)中。
在框456处,系统基于处理语音机器人活动来识别受训练语音机器人的给定行为错误。通过使用一个或多个ML模型的多个ML层处理语音机器人活动以识别给定行为错误,系统可以识别受训练语音机器人的给定行为错误。此外,系统可以使用ML模型的多个ML层或ML模型或额外ML模型的额外多个ML层处理给定行为错误,以将给定行为错误分类为一个或多个不同类别的行为错误。具体来说,系统可以处理对应会话的至少一个或多个对应部分以识别包括受训练语音机器人的一些不当行为的会话,并且可以进一步处理不当行为以将其分类为一个或多个不同类别的行为错误。一个或多个不同类别的行为错误可以与例如缺失特征错误类别、错误标记特征错误类别、特定特征的稀疏性错误类别、特定类型的训练实例的稀疏性错误类别、RPC出站请求错误类别、RPC入站请求错误类别、和/或受训练语音机器人的其它类别的行为错误。
在一些实施方案中,框456可以包括子框456A。如果包括,则在子框456A处,系统识别语料库中的与给定行为错误相关联的一个或多个训练实例。在包括子框456A的实施方案中,系统可以获得在为其识别到语音机器人行为错误的给定对应会话期间生成的一个或多个对应嵌入。基于给定对应会话的部分中的至少一个或多个部分以及针对给定对应会话的一个或多个部分中的每个部分的给定对应会话的对应先前上下文,可能已经在给定对应会话期间生成一个或多个对应嵌入。此外,系统可以基于一个或多个对应嵌入来识别包括在用于训练受训练语音机器人的训练实例的语料库中的与给定行为错误相关联的一个或多个训练实例。例如,系统可以:获得与在训练受训练语音机器人时生成的一个或多个训练实例相关联的相应嵌入;将与一个或多个训练实例相关联的相应嵌入与在嵌入空间中为其识别到语音机器人行为错误的会话期间生成的一个或多个对应嵌入相比较;以及识别与满足相对于一个或多个对应嵌入的距离标准的相应嵌入相关联的一个或多个训练实例。这些训练实例、其错误标记特征、其缺失特征和/或这些训练实例的稀疏性可以是受训练语音机器人的给定行为错误的根本原因。
在框458处,系统基于受训练语音机器人的给定行为错误来确定涉及校正受训练语音机器人的给定行为错误的动作。在各种实施方案中,可以基于将受训练语音机器人的给定行为错误分类为的一个或多个不同类别的行为错误来确定涉及校正受训练语音机器人的给定行为错误的动作。在一些实施方案中,框458可以包括子框458A。如果包括,则在子框458A处,由系统确定的动作可以包括修改语料库中的用于训练受训练语音机器人的一个或多个训练实例。例如,在将给定行为错误分类为与缺失特征错误相关联的类别的实施方案中,涉及校正给定行为错误的动作可以是与标记一个或多个现有训练实例的缺失特征相关联的标记动作。作为另一示例,在将给定行为错误分类为与错误标记特征错误相关联的类别的实施方案中,涉及校正给定行为错误的动作可以是与重新标记一个或多个现有训练实例的一个或多个错误标记特征相关联的重新标记动作。
在一些额外或替代实施方案中,框458可以另外或替代地包括子框458B。如果包括,则在子框458B处,由系统确定的动作可以包括将一个或多个额外训练实例添加到用于训练受训练语音机器人的语料库。例如,在将给定行为错误分类为与稀疏性错误相关联的类别的实施方案中,涉及校正给定行为错误的动作可以是与将一个或多个额外训练实例添加到训练实例的语料库相关联的训练实例动作。一个或多个额外训练实例可以包括由系统请求的特定特征,和/或具有由系统请求的特定类型的训练实例。在一些实施方案中,一个或多个额外训练实例可以由第三方开发人员定义(例如,如关于图3B描述),而在额外或替代实施方案中,一个或多个额外训练实例可以由系统合成(例如,如关于图3D和3E描述)。
在框460处,系统基于涉及校正受训练语音机器人的给定行为错误的动作来生成将被呈现给与第三方相关联的第三方开发人员的通知。在框462处,系统使通知被呈现给第三方开发人员。通知可以经由与语音开发平台相关联的用户界面被呈现给用户,并且可以经由第三方开发人员的客户端设备视觉地和/或可听地呈现给用户。在一些实施方案中,通知可以包括受训练语音机器人的给定行为错误的指示以及对第三方开发人员请求执行涉及校正语音机器人的行为错误的动作的指示。在一些额外或替代实施方案中,通知可以包括受训练语音机器人的给定行为错误的指示以及系统自动地执行涉及校正语音机器人的给定行为错误的动作的指示。
在框464处,系统确定是否基于训练实例的更新的语料库来更新语音机器人,更新的语料库包括至少一个或多个修改的训练实例(例如,如关于子框458A所描述)和/或一个或多个额外训练实例(例如,如关于子框458B所描述)。在一些实施方案中,系统可以响应于接收到涉及更新语音机器人的用户输入(例如,图3D和3E的训练语音机器人可选择元素381的选择)而确定更新语音机器人。在额外或替代实施方案中,系统可以响应于确定满足一个或多个条件而确定更新语音机器人。一个或多个条件可以包括例如确定已经过去的持续时间(例如,每晚、每周和/或其它持续时间),确定没有实施语音机器人的实例,确定自上次训练语音机器人以来对语料库的变化的数量满足数量阈值,和/或其它条件。如果在框464的迭代处,系统确定不更新语音机器人,则系统可以在框464处继续监测何时更新语音机器人。当系统在框464处监测何时更新语音机器人时,系统可以实施框452至462的操作的一个或多个额外实例以识别额外行为错误,并且确定涉及校正识别到的任何额外行为错误的对应动作。如果在框464的迭代处,系统确定更新语音机器人,则语音机器人可以基于训练实例的更新的语料库来更新,并且系统可以前进到框466。
在框466处,系统使更新的语音机器人被部署用于代表第三方进行会话。例如,更新的语音机器人可以被部署为代表第三方应答呼入电话呼叫和/或发起呼出电话呼叫,并且在电话呼叫期间与对应人类进行会话,在汽车穿梭餐厅与人类交互,充当自动助理,和/或被部署为针对代表第三方进行的人机对话代表第三方进行任何会话。虽然为了简洁起见在图4中未描绘,但应理解,在被部署用于代表第三方进行会话之前,可以验证更新的语音机器人。在一些实施方案中,语音机器人可以基于禁止在最初训练和/或随后更新语音机器人中利用的验证训练实例来验证。在一些额外或替代实施方案中,语音机器人可以基于指向语音机器人开发平台的用户输入(例如,如关于图3E所描述)来验证。在更新的语音机器人在被部署之前被验证的实施方案中,除非更新的语音机器人的验证指示与当前被部署用于代表第三方进行会话的语音机器人相比更新的语音机器人有一些测量改进,否则更新的语音机器人可以不被部署。
现在转向图5,描绘图示基于被添加到用于训练语音机器人的训练实例的语料库的额外训练实例来更新受训练语音机器人的示例方法500的流程图。为了方便起见,参考执行操作的系统来描述方法500的操作。方法500的此系统包括至少一个处理器、至少一个存储器和/或计算设备(例如,图1的客户端设备110、图1的语音机器人开发平台120、和/或图7的计算设备710、服务器、和/或其它计算设备)的其它组件。此外,尽管以特定顺序示出方法500的操作,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
在框552处,系统识别与第三方相关联的受训练语音机器人和用于训练受训练语音机器人的训练实例的语料库。在框554处,系统获得受训练语音机器人的语音机器人活动。框552和框554的操作可以分别以上文关于框452和454描述的相同或相似方式执行。
在框556处,系统确定受训练语音机器人不包括期望行为。系统可以基于处理语音机器人活动来确定受训练语音机器人不包括期望行为。例如,假设受训练语音机器人与名为假想航空公司的虚构航空公司相关联,并且假设语音应该能够更改现有航班预订。然而,进一步假设与假想航空公司相关联的语音机器人从未在更改任何现有航班预订时请求常旅客号码,但常旅客号码是与更改现有航班预订相关联的参数的值。在此示例中,请求常旅客号码可能是期望行为,但是与假想航空公司相关联的语音机器人不包括这种期望行为。
在框558处,系统确定是否合成与期望行为相关联的一个或多个额外训练实例。系统可以基于第三方开发人员是否使系统能够合成一个或多个训练实例来确定是否合成一个或多个额外训练实例。一个或多个合成训练实例可以与期望行为相关联(例如,与请求常旅客号码相关联、具有与常旅客号码特征相关联的对应特征强调输入、接收常旅客号码值等)。此外,可以基于来自语音机器人活动的对应会话和/或增强现有训练实例(例如,如关于图3D所描述)来合成一个或多个合成训练实例。如果在框558的迭代处,系统确定合成与期望行为相关联的一个或多个额外训练实例,则系统合成额外训练实例中的一个或多个额外训练实例并且前进到框566。下文更详细地描述框566。如果在框558的迭代处,系统确定不合成与期望行为相关联的一个或多个额外训练实例,则系统制止合成额外训练实例中的一个或多个额外训练实例并且前进到框560。
在框560处,系统生成通知,所述通知请求与第三方相关联的第三方开发人员将与期望行为相关联的一个或多个额外训练实例添加到语料库。在框562处,系统使通知被呈现给第三方开发人员。通知可以经由与语音开发平台相关联的用户界面被呈现给用户,并且可以经由第三方开发人员的客户端设备视觉地和/或可听地呈现给用户。在一些实施方案中,通知可以请求与期望行为相关联的训练实例的阈值数量以及对第三方开发人员执行添加与期望行为关联的一个或多个训练实例的请求的指示。在一些额外或替代实施方式中,通知可以包括与期望行为相关联的一个或多个训练实例由系统合成的指示,并且任选地包括可选择元素,可选择元素当被选择时允许第三方开发人员查看那些训练实例。
在框564处,系统响应于通知被呈现给第三方开发人员而确定是否从第三方开发人员接收到包括与期望行为相关联的一个或多个额外实例的任何用户输入。用户输入可以被指向正在用于更新语音机器人的与第三方开发人员相关联的客户端设备。如果在框564的迭代处,系统确定没有接收到包括与期望行为相关联的一个或多个额外实例的用户输入,则系统可以在框564处继续监测用户输入。如果在框564的迭代处,系统确定接收到包括与期望行为相关联的一个或多个额外实例的用户输入,则系统可以前进到框566。
在框566处,系统使语音机器人基于一个或多个额外训练实例被更新。可以以上文关于图2和3B描述的相同或相似方式,至少部分地基于合成训练实例中的一个或多个和/或由第三方开发人员添加的训练实例中的一个或多个来更新语音机器人。虽然为了简洁起见在图5中未描绘,但应理解,系统可以在语音机器人被更新之前确定是否更新语音机器人(例如,如关于图4的框464所描述)。
在框568处,系统确定是否验证更新的语音机器人。在一些实施方案中,语音机器人可以基于禁止在最初训练和/或随后更新语音机器人中利用的验证训练实例来验证。在一些额外或替代实施方案中,语音机器人可以基于指向语音机器人开发平台的用户输入(例如,如关于图3E所描述)来验证。当满足反映与当前被部署用于代表第三方进行会话的语音机器人相比更新的语音机器人的测量改进的一个或多个条件时,系统可以确定更新的语音机器人得到验证。例如,一个或多个条件可以包括在进一步训练语音机器人时更新的多个ML层或多个额外ML层中的一个或多个的验证、更新的多个ML层或多个额外ML层中的一个或多个的汇聚(例如,零损失或在零损失的阈值范围内)、多个ML层或多个额外ML层中的一个或多个比当前正在利用的语音机器人的实例(如果有的话)(例如,关于精度和/或召回率)更好地执行的确定、基于至少阈值数量的训练实例的训练的发生、和/或基于训练实例的训练的持续时间。如果在框568的迭代处,系统确定更新的语音机器人未得到验证,则系统可以返回到框558,并确定是否合成一个或多个额外训练实例并且重复框558至566的操作以进一步更新受训练语音机器人。如果在框568的迭代处,系统确定更新的语音机器人得到验证,则系统可以前进到框570。
在框570处,系统可以使更新的语音机器人被部署用于代表第三方进行会话。例如,更新的语音机器人可以被部署未代表第三方应答呼入电话呼叫和/或发起呼出电话呼叫,并且在电话呼叫期间与对应人类进行会话,在汽车穿梭餐厅与人类交互,充当自动助理,和/或被部署为针对代表第三方进行的人机对话代表第三方进行任何会话。
现在转向图6,描绘图示基于包括在用于训练语音机器人的训练实例的语料库中的训练实例的错误标记特征和/或缺失特征来更新受训练语音机器人的示例方法600的流程图。为了方便起见,参考执行操作的系统来描述方法600的操作。方法600的此系统包括至少一个处理器、至少一个存储器和/或计算设备(例如,图1的客户端设备110、图1的语音机器人开发平台120、和/或图7的计算设备710、服务器、和/或其它计算设备)的其它组件。此外,尽管以特定顺序示出方法500的操作,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。
在框652处,系统识别与第三方相关联的受训练语音机器人和用于训练受训练语音机器人的训练实例的语料库。在框654处,系统获得受训练语音机器人的语音机器人活动。在框656处,系统基于处理语音机器人活动来识别受训练语音机器人的给定行为错误。框652、框654和框656的操作可以分别以上文关于框452、454和456描述的相同或相似方式执行。
在框658处,系统确定给定行为错误是否由语料库中的一个或多个对应训练实例的一个或多个错误标记特征和/或语料库中的一个或多个对应训练实例的一个或多个缺失特征导致。系统可以分析在框656处识别到的给定行为错误,以确定它是否与一个或多个不同类别的行为错误相关联,该一个或多个不同类别的行为错误指示由包括在框652处识别到的训练实例的语料库中的具有一个或多个错误标记特征或一个或多个缺失特征的一个或多个训练实例导致。如果在框658的迭代处,系统确定给定行为错误不是由语料库中的一个或多个对应训练实例的一个或多个错误标记特征和/或缺失特征导致,则系统可以前进到框664。下文描述框664。如果在框658的迭代处,系统确定给定行为错误至少部分地由语料库中的一个或多个对应训练实例的一个或多个错误标记和/或缺失特征导致,则系统可以前进到框660。
在框660处,系统确定是否可以自动地标记一个或多个缺失特征和/或是否可以自动地重新标记一个或多个错误标记特征。系统可以基于NLU数据或与一个或多个标记相关联的其它数据来确定是否可以自动地标记具有缺失特征的一个或多个训练实例和/或是否可以重新标记错误标记特征,该一个或多个标记与包括在识别为具有一个或多个错误标记特征的一个或多个训练实例中的一个或多个术语相关联。例如,如果在其上生成给定训练实例的对应会话的部分包括指示时间的一个或多个术语(例如,“AM(上午)”或“PM(下午)”),则系统可以确定可以标记一个或多个训练实例(或如果一个或多个术语与另一不同特征相关联,则重新标记一个或多个训练实例)。如果在框660的迭代处,系统确定可以自动地标记和/或重新标记缺失和/或错误标记特征中的一个或多个,则系统可以自动地重新标记错误标记特征中的一个或多个并且前进到框666。下文描述框666。如果在框660的迭代处,系统确定可以自动地标记和/或重新标记缺失和/或错误标记特征中的一个或多个,则系统可以前进到框662。
在框662处,系统使通知被呈现给用户,所述通知请求与第三方相关联的第三方开发人员重新标记语料库中的对应训练实例的一个或多个错误标记特征和/或将一个或多个缺失特征添加到语料库中的对应训练实例。通知可以经由与语音开发平台相关联的用户界面呈现给用户,并且可以经由第三方开发人员的客户端设备视觉地和/或可听地呈现给用户。在一些实施方案中,通知可以包括在框656处识别到的行为错误的指示、需要标记和/或重新标记一个或多个训练实例的指示、需要标记和/或重新标记一个或多个训练实例的一个或多个部分的指示、系统是否自动地标记和/或重新标记一个或多个训练实例的指示、和/或其它信息。
在框664处,系统确定是否从第三方开发人员接收用户输入,第三方开发人员重新标记错误标记特征中的一个或多个和/或添加一个或多个缺失特征的标记。可以在框664处自动地接收用户输入,直到一个或多个错误标记特征被重新标记和/或一个或多个缺失特征被标记。当第三方开发人员完成重新标记错误标记特征中的一个或多个和/或添加一个或多个缺失特征的标记时,可以至少基于具有被标记和/或重新标记的特征的对应训练实例来更新语音机器人,并且系统可以前进到框666。可以以上文关于图2和3B描述的相同或相似方式,至少部分地基于合成训练实例中的一个或多个和/或由第三方开发人员添加的训练实例中的一个或多个来更新语音机器人。
在框666处,系统确定是否验证更新的语音机器人。当满足一个或多个条件时,系统可以确定更新的语音机器人得到验证。可以以与关于图5的框568描述的相同或相似方式验证语音机器人。如果在框666的迭代处,系统确定更新的语音机器人未得到验证,则系统可以返回到框658以识别语料库中的一个或多个额外缺失和/或错误标记特征,并且重复框658至664的操作以进一步更新受训练语音机器人。如果在框666的迭代处,系统确定更新的语音机器人得到验证,则系统可以前进到框668。
在框668处,系统可以使更新的语音机器人被部署用于代表第三方进行会话。例如,更新的语音机器人可以被部署为代表第三方应答呼入电话呼叫和/或发起呼出电话呼叫,并且在电话呼叫期间与对应人类进行会话,在汽车穿梭餐厅与人类交互,充当自动助理,和/或被部署为针对代表第三方进行的人机对话代表第三方进行任何会话。
图7是可以任选地用于执行本文所描述的技术的一个或多个方面的示例计算设备710的框图。在一些实施方案中,客户端设备、基于云的自动助理组件和/或其它组件中的一个或多个可以包括示例计算设备710的一个或多个组件。
计算设备710通常包括经由总线子系统714与多个外围设备通信的至少一个处理器712。这些外围设备可以包括:存储子系统724,所述存储子系统包括例如存储器子系统725和文件存储子系统726;用户接口输出设备720;用户接口输入设备722;以及网络接口子系统716。输入和输出设备允许与计算设备710进行用户交互。网络接口子系统716将接口提供到外部网络并且耦合到其它计算设备中的对应接口设备。
用户接口输入设备722可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板的指向设备、扫描仪、结合在显示器中的触摸屏、诸如语音辨识系统、麦克风的音频输入设备、和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括用于将信息输入到计算设备710中或通信网络上的所有可能类型的设备和方式。
用户接口输出设备720可以包括显示子系统、打印机、传真机、或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备,或用于创建可见图像的某种其它机制。显示子系统还可以诸如经由音频输出设备提供非可视显示器。通常,术语“输出设备”的使用旨在包括用于将信息从计算设备710输出到用户或另一机器或计算设备的各种可能类型的设备和方式。
存储子系统724存储提供本文所描述的模块中的一些或全部模块的功能的编程和数据结构。例如,存储子系统724可以包括执行本文所公开的方法的所选方面以及实施在图1中描绘的各个组件的逻辑。
这些软件模块通常由处理器714单独地或组合其它处理器执行。使用于存储子系统724中的存储器725可以包括多个存储器,该多个存储器包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)730以及其中存储固定指令的只读存储器(ROM)732。文件存储子系统726可以为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移除介质、CD-ROM驱动器、光盘驱动器或可移除介质盒。实施某些实施方案的功能的模块可以由文件存储子系统726存储在存储子系统724中,或者存储在可由处理器714访问的其它机器中。
总线子系统712提供用于使计算设备710的各个组件和子系统按预期彼此通信的机制。尽管总线子系统712被示意性地示出为单个总线,但是总线子系统712的替代实施方案可以使用多个总线。
计算设备710可以具有各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,因此对图7中所描绘的计算设备710的描述仅旨在作为用于说明一些实施方案的特定实例。计算设备710的许多其它配置可能具有比图7中描绘的计算设备更多或更少的组件。
在本文所描述的系统收集或以其它方式监测关于用户的个人信息或可以利用个人和/或监测的信息的情况下,可以为用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交行为或活动、职业、用户的偏好或用户的当前地理位置的信息)或控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。而且,某些数据可以在它被存储或使用之前以一种或多种方式处理,使得清除个人可识别信息。例如,可以处理用户的身份,使得不能确定用户的任何个人可识别信息,或者可以在获得地理位置信息的情况下将用户的地理位置进行概括(例如,城市、邮政编码或州级别),使得不能确定用户的特定地理位置。因此,用户可以控制如何收集关于用户的信息和/或如何使用信息。
在一些实施方案中,提供一种由一个或多个处理器实施的方法,并且所述方法包括:经由机器人开发系统识别与第三方相关联的受训练语音机器人和用于训练受训练语音机器人的训练实例的语料库;以及经由语音机器人开发系统获得受训练语音机器人的语音机器人活动。语音机器人活动包括在代表第三方的受训练语音机器人与对应人类之间的多个先前进行的会话,并且先前进行的会话中的每个先前进行的会话包括至少对应会话和对应会话的一个或多个部分的对应先前上下文。所述方法进一步包括:经由语音机器人开发系统并且基于处理多个先前进行的会话来识别受训练语音机器人的给定行为错误;经由语音机器人开发系统并且基于受训练语音机器人的给定行为错误来确定涉及校正受训练语音机器人的给定行为错误的动作;以及经由机器人开发系统的用户界面基于涉及校正受训练语音机器人的给定行为错误的动作来使通知被呈现给第三方开发人员,其中,第三方开发人员与受训练语音机器人相关联。
本文所公开的技术的这些和其它实施方案可以任选地包括以下特征中的一个或多个。
在一些实施方案中,识别受训练语音机器人的给定行为错误可以包括:使用机器学习(ML)模型的多个ML层处理多个先前进行的会话中的给定对应会话的部分中的一个或多个部分以及用于给定对应会话的部分中的一个或多个部分的给定对应会话的给定对应先前上下文以识别给定行为错误;以及使用ML模型的多个ML层或ML模型或额外ML模型的额外多个ML层处理给定行为错误,以将给定行为错误分类为一个或多个不同类别的行为错误。
在这些实施方案的一些版本中,所述方法可以进一步包括:至少基于给定对应会话的部分中的一个或多个部分和给定对应会话的给定对应先前上下文经由语音机器人开发系统获得在给定对应会话期间生成的嵌入;以及经由语音机器人开发系统并且基于嵌入来识别包括在用于训练受训练语音机器人的训练实例的语料库中的与给定行为错误相关联的训练实例中的一个或多个训练实例=。
在这些实施方案的一些另外版本中,基于嵌入来识别与给定行为错误相关联的一个或多个训练实例可以包括:经由语音机器人开发系统获得与一个或多个训练实例中的每个训练实例相关联的对应嵌入;经由语音机器人开发系统并且在嵌入空间中将在给定对应会话期间生成的嵌入和与一个或多个训练实例中的每个训练实例相关联的对应嵌入相比较;基于所述比较来确定在给定对应会话期间生成的嵌入和与一个或多个训练实例中的每个训练实例相关联的对应嵌入之间的对应距离度量;以及经由语音机器人开发系统并且基于对应距离度量来识别与给定行为错误相关联的一个或多个训练实例。
在这些实施方案的一些版本中,确定涉及校正受训练语音机器人的给定行为错误的动作可以是基于一个或多个不同类别中的给定类别,受训练语音机器人的给定行为错误可以被分类到所述给定类别中。
在这些实施方案的一些另外版本中,给定类别可以与错误标记特征类别相关联,所述错误标记特征类别指示包括在用于训练受训练语音机器人的语料库中的具有错误标记特征的训练实例中的一个或多个训练实例。在这些实施方案的其他另外版本中,涉及校正受训练语音机器人的给定行为错误的动作可以包括重新标记训练实例中的一个或多个训练实例的一个或多个特征,其中,由语音机器人开发系统自动地执行训练实例中的一个或多个训练实例的特征中的一个或多个特征的重新标记,并且其中,呈现给第三方开发人员的通知包括以下项的指示:由语音机器人开发系统识别的给定行为错误,以及涉及校正受训练语音机器人的给定行为错误的动作,所述给定行为错误由语音机器人开发系统自动地执行。在这些实施方案的甚至另外版本中,呈现给第三方开发人员的通知可以包括以下项的指示:由语音机器人开发系统识别的给定行为错误、训练实例中的一个或多个训练实例、以及对第三方开发人员执行训练实例中的一个或多个训练实例的特征中的一个或多个特征的重新标记的请求。在这些实施方案的甚至其他另外的版本中,可以响应于确定语音机器人开发平台不能重新标记训练实例中的一个或多个训练实例的特征中的一个或多个特征而将通知呈现给开发人员。
在这些实施方案的额外或替代的另外版本中,给定类别可以与缺失特征类别相关联,所述缺失特征类别指示包括在用于训练受训练语音机器人的语料库中的具有缺失特征的训练实例中的一个或多个训练实例。在这些实施方案的其他另外版本中,呈现给第三方开发人员的通知可以包括以下项的指示:由语音机器人开发系统识别的给定行为错误、训练实例中的一个或多个训练实例、以及对第三方开发人员标记训练实例中的一个或多个训练实例的特征中的一个或多个特征的请求。
在这些实施方案的额外或替代的另外版本中,给定类别可以与稀疏性类别相关联,所述稀疏性类别指示具有特定特征的一个或多个额外训练实例需要被添加到用于训练受训练语音机器人的语料库。在这些实施方案的其他另外版本中,涉及校正受训练语音机器人的给定行为错误的动作可以包括合成额外训练实例中的一个或多个额外训练实例。合成额外训练实例中的一个或多个额外训练实例可以由语音机器人开发系统自动地执行,并且呈现给第三方开发人员的通知包括以下项的指示:由语音机器人开发系统识别的给定行为错误,以及涉及校正受训练语音机器人的给定行为错误的动作,所述给定行为错误由语音机器人开发系统自动地执行。在这些其他另外的实施方案的额外或替代版本中,呈现给第三方开发人员的通知可以包括以下项的指示:由语音机器人开发系统识别的给定行为错误、特定特征、以及对第三方开发人员添加包括特定特征的额外训练实例中的一个或多个额外训练实例的请求。
在一些实施方案中,涉及校正给定行为错误的动作可以包括更新用于训练受训练语音机器人的训练实例的语料库以生成更新的语料库。更新用于训练受训练语音机器人的训练实例的语料库以生成更新的语料库可以包括:修改包括在用于训练受训练语音机器人的训练实例的语料库中的一个或多个训练实例;或将一个或多个额外训练实例添加到用于训练受训练语音机器人的训练实例的语料库。在这些实施方案的一些版本中,所述方法可以进一步包括在更新用于训练受训练语音机器人的训练实例的语料库之后:使受训练语音机器人基于训练实例的更新的语料库被更新以生成更新的语音机器人;以及使更新的语音机器人被部署用于代表第三方进行额外会话。
在这些实施方案的一些另外版本中,使受训练语音机器人基于训练实例的更新的语料库被更新以生成更新的语音机器人可以是响应于经由语音机器人开发系统的用户界面接收更新受训练语音机器人的用户输入。在这些实施方案的一些额外或替代的另外版本中,所述方法可以进一步包括在使受训练语音机器人被更新之后并且在使更新的语音机器人被部署之前,验证更新的语音机器人以确定是否已经校正了给定行为错误。使更新的语音机器人被部署可以是响应于确定已经校正了给定行为错误。
在一些实施方案中,呈现给第三方开发人员的通知包括以下项的指示:由语音机器人开发系统识别的给定行为错误;以及第三方开发人员执行涉及校正受训练语音机器人的给定行为错误的动作的请求。在这些实施方案的一些版本中,响应于确定语音机器人开发系统不能自动地执行涉及校正受训练语音机器人的给定行为错误的动作,第三方开发人员执行涉及校正受训练语音机器人的给定行为错误的动作的请求的指示可以被包括在通知中。在这些实施方案的一些额外或替代版本中,所述方法可以进一步包括经由语音机器人开发系统的用户界面并且响应于通知被呈现给第三方开发人员而从第三方开发人员接收用户输入,以执行涉及校正受训练语音机器人的给定行为错误的动作。
在一些实施方案中,确定涉及校正受训练语音机器人的给定行为错误的动作可以是响应于确定给定行为错误的发生的数量满足数量阈值。
在一些实施方案中,提供一种由一个或多个处理器实施的方法,并且所述方法包括:经由机器人开发系统识别与第三方相关联的受训练语音机器人和用于训练受训练语音机器人的训练实例的语料库;以及经由语音机器人开发系统获得受训练语音机器人的语音机器人活动。语音机器人活动包括在代表第三方的受训练语音机器人与对应人类之间的多个先前进行的会话,并且先前进行的会话中的每个先前进行的会话包括至少对应会话和对应会话的一个或多个部分的对应先前上下文。所述方法进一步包括:经由语音机器人开发系统并且基于多个先前进行的会话来确定受训练语音机器人不包括期望行为;经由语音机器人开发平台生成通知,所述通知指示一个或多个额外训练实例需要被添加到训练实例的语料库以生成训练实例的更新的语料库,所述一个或多个额外训练实例与期望行为相关联;经由机器人开发系统的用户界面使通知被呈现给与第三方相关联的第三方开发人员;以及在获得一个或多个额外训练实例之后:使受训练语音机器人基于训练实例的更新的语料库被更新以生成更新的语音机器人;以及使更新的语音机器人代替受训练语音机器人以代表第三方进行额外会话。
本文所公开的技术的这些和其它实施方案可以任选地包括以下特征中的一个或多个。
在一些实施方案中,指示一个或多个额外训练实例需要被添加到训练实例的语料库的通知可以包括第三方开发人员提供额外训练实例中的一个或多个额外训练实例的请求。在这些实施方案的一些版本中,获得一个或多个额外训练实例可以包括经由语音机器人开发平台接收用户输入,所述用户输入定义与期望行为相关联的额外训练实例中的一个或多个额外训练实例,所述用户输入响应于通知而被接收。一个或多个额外训练实例可以包括先前未定义在语料库的训练实例中的特征强调输入。
在一些实施方案中,受训练语音机器人可以对应于利用一个或多个机器学习(ML)模型的多个ML层的一个或多个处理器。在这些实施方案的一些版本中,使受训练语音机器人基于训练实例的更新的语料库被更新以生成更新的语音机器人可以包括:使多个ML层中的一个或多个ML层的对应权重基于处理一个或多个额外训练实例被更新;以及使多个ML层中的一个或多个的额外对应权重被固定。
在一些实施方案中,提供一种由一个或多个处理器实施的方法,并且所述方法包括:经由机器人开发系统识别与第三方相关联的受训练语音机器人和用于训练受训练语音机器人的训练实例的语料库;以及经由语音机器人开发系统获得受训练语音机器人的语音机器人活动。语音机器人活动包括在代表第三方的受训练语音机器人与对应人类之间的多个先前进行的会话,并且先前进行的会话中的每个先前进行的会话包括至少对应会话和对应会话的一个或多个部分的对应先前上下文。所述方法进一步包括经由语音机器人开发系统并且基于处理多个先前进行的会话来识别受训练语音机器人的给定行为错误;经由语音机器人开发系统并且基于受训练语音机器人的给定行为错误来确定包括在语料库中的一个或多个对应训练实例的一个或多个特征缺失或被错误标记;以及经由机器人开发系统的用户界面使通知被呈现给第三方开发人员,通知指示包括在语料库中的对应训练实例中的一个或多个对应训练实例的特征中的一个或多个特征缺失或被错误标记。
本文所公开的技术的这些和其它实施方案可以任选地包括以下特征中的一个或多个。
在一些实施方案中,指示一个或多个对应训练实例的一个或多个特征缺失或被错误标记的通知可以包括第三方开发人员为一个或多个对应训练实例添加标记或重新标记的请求。
另外,一些实施方案包括一个或多个计算设备的一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU)),其中,一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,该指令被配置成执行上述方法中的任一个。一些实施方案还包括一种或多种存储计算机指令的非暂时性计算机可读存储介质,该计算机指令可由一个或多个处理器执行以执行上述方法中的任一个。一些实施方案还包括一种包括指令的计算机程序产品,该指令可由一个或多个处理器执行以执行上述方法中的任一个。
应理解,本文中更详细描述的前述构思和额外构思的所有组合被预见为是本文所公开的主题的一部分。例如,出现在本公开的开头的要求保护的主题的所有组合被预见为是本文所公开的主题的一部分。
Claims (31)
1.一种由一个或多个处理器实施的方法,所述方法包括:
经由机器人开发系统识别与第三方相关联的受训练语音机器人和用于训练所述受训练语音机器人的训练实例的语料库;
经由所述语音机器人开发系统获得所述受训练语音机器人的语音机器人活动,其中,所述语音机器人活动包括在代表所述第三方的所述受训练语音机器人与对应人类之间的多个先前进行的会话,并且其中,所述先前进行的会话中的每个先前进行的会话包括至少对应会话和所述对应会话的一个或多个部分的对应先前上下文;
经由所述语音机器人开发系统并且基于处理所述多个先前进行的会话来识别所述受训练语音机器人的给定行为错误;
经由所述语音机器人开发系统并且基于所述受训练语音机器人的所述给定行为错误来确定涉及校正所述受训练语音机器人的所述给定行为错误的动作;以及
基于涉及校正所述受训练语音机器人的所述给定行为错误的所述动作,经由所述机器人开发系统的用户界面使通知被呈现给第三方开发人员,其中,所述第三方开发人员与所述受训练语音机器人相关联。
2.根据权利要求1所述的方法,其中,识别所述受训练语音机器人的所述给定行为错误包括:
使用机器学习ML模型的多个ML层处理所述多个先前进行的会话中的给定对应会话的所述部分中的一个或多个部分以及用于所述给定对应会话的所述部分中的一个或多个部分的所述给定对应会话的给定对应先前上下文以识别所述给定行为错误;以及
使用所述ML模型的所述多个ML层或所述ML模型或额外ML模型的额外多个ML层处理所述给定行为错误,以将所述给定行为错误分类为一个或多个不同类别的行为错误。
3.根据权利要求2所述的方法,进一步包括:
至少基于所述给定对应会话的所述部分中的一个或多个部分和所述给定对应会话的所述给定对应先前上下文经由所述语音机器人开发系统获得在所述给定对应会话期间生成的嵌入;以及
经由所述语音机器人开发系统并且基于所述嵌入来识别包括在用于训练所述受训练语音机器人的训练实例的所述语料库中的与所述给定行为错误相关联的所述训练实例中的一个或多个训练实例。
4.根据权利要求3所述的方法,其中,基于所述嵌入来识别与所述给定行为错误相关联的所述一个或多个训练实例包括:
经由所述语音机器人开发系统获得与所述一个或多个训练实例中的每个训练实例相关联的对应嵌入;
经由所述语音机器人开发系统并且在嵌入空间中将在所述给定对应会话期间生成的所述嵌入和与所述一个或多个训练实例中的每个训练实例相关联的所述对应嵌入相比较;
基于所述比较来确定在所述给定对应会话期间生成的所述嵌入和与所述一个或多个训练实例中的每个训练实例相关联的所述对应嵌入之间的对应距离度量;以及
经由所述语音机器人开发系统并且基于所述对应距离度量来识别与所述给定行为错误相关联的所述一个或多个训练实例。
5.根据权利要求2至4中的任一项所述的方法,其中,确定涉及校正所述受训练语音机器人的所述给定行为错误的所述动作是基于所述一个或多个不同类别中的给定类别,所述受训练语音机器人的所述给定行为错误被分类到所述给定类别中。
6.根据权利要求5所述的方法,其中,所述给定类别与错误标记特征类别相关联,所述错误标记特征类别指示包括在用于训练所述受训练语音机器人的所述语料库中的具有错误标记特征的所述训练实例中的一个或多个训练实例。
7.根据权利要求6所述的方法,其中,涉及校正所述受训练语音机器人的所述给定行为错误的所述动作包括重新标记所述训练实例中的一个或多个训练实例的一个或多个特征,其中,由所述语音机器人开发系统自动地执行所述训练实例中的一个或多个训练实例的所述特征中的一个或多个特征的所述重新标记,并且其中,呈现给所述第三方开发人员的所述通知包括以下项的指示:
由所述语音机器人开发系统识别的所述给定行为错误,以及
由所述语音机器人开发系统自动地执行的所述动作。
8.根据权利要求6所述的方法,其中,呈现给所述第三方开发人员的所述通知包括以下项的指示:
由所述语音机器人开发系统识别的所述给定行为错误,
所述训练实例中的一个或多个训练实例,以及
对所述第三方开发人员执行所述训练实例中的一个或多个训练实例的所述特征中的一个或多个特征的所述重新标记的请求。
9.根据权利要求8所述的方法,其中,响应于确定所述语音机器人开发系统不能重新标记所述训练实例中的一个或多个训练实例的所述特征中的一个或多个特征而将所述通知呈现给所述开发人员。
10.根据权利要求5所述的方法,其中,所述给定类别与缺失特征类别相关联,所述缺失特征类别指示包括在用于训练所述受训练语音机器人的所述语料库中的具有缺失特征的所述训练实例中的一个或多个训练实例。
11.根据权利要求10所述的方法,其中,呈现给所述第三方开发人员的所述通知包括以下项的指示:
由所述语音机器人开发系统识别的所述给定行为错误,
所述训练实例中的一个或多个训练实例,以及
对所述第三方开发人员标记所述训练实例中的一个或多个训练实例的所述特征中的一个或多个特征的请求。
12.根据权利要求5所述的方法,其中,所述给定类别与稀疏性类别相关联,所述稀疏性类别指示具有特定特征的一个或多个额外训练实例需要被添加到用于训练所述受训练语音机器人的所述语料库。
13.根据权利要求12所述的方法,其中,涉及校正所述受训练语音机器人的所述给定行为错误的所述动作包括合成额外训练实例中的一个或多个额外训练实例,其中,由所述语音机器人开发系统自动地执行合成所述额外训练实例中的一个或多个额外训练实例,并且其中,呈现给所述第三方开发人员的所述通知包括以下项的指示:
由所述语音机器人开发系统识别的所述给定行为错误,以及
由所述语音机器人开发系统自动地执行的所述动作。
14.根据权利要求12所述的方法,其中,呈现给所述第三方开发人员的所述通知包括以下项的指示:
由所述语音机器人开发系统识别的所述给定行为错误,
所述特定特征,以及
对所述第三方开发人员添加包括所述特定特征的所述额外训练实例中的一个或多个额外训练实例的请求。
15.根据权利要求1所述的方法,其中,涉及校正所述给定行为错误的所述动作包括更新用于训练所述受训练语音机器人的训练实例的所述语料库以生成更新的语料库,并且其中,更新用于训练所述受训练语音机器人的训练实例的所述语料库以生成所述更新的语料库包括:
修改包括在用于训练所述受训练语音机器人的训练实例的所述语料库中的一个或多个训练实例;或
将一个或多个额外训练实例添加到用于训练所述受训练语音机器人的训练实例的所述语料库。
16.根据权利要求15所述的方法,进一步包括:
在更新用于训练所述受训练语音机器人的训练实例的所述语料库之后:
使所述受训练语音机器人基于训练实例的所述更新的语料库被更新以生成更新的语音机器人;以及
使所述更新的语音机器人被部署用于代表所述第三方进行额外会话。
17.根据权利要求16所述的方法,其中,使所述受训练语音机器人基于训练实例的所述更新的语料库被更新以生成所述更新的语音机器人是响应于经由所述语音机器人开发系统的用户界面接收更新所述受训练语音机器人的用户输入。
18.根据权利要求16或权利要求17所述的方法,进一步包括:
在使所述受训练语音机器人被更新之后并且在使所述更新的语音机器人被部署之前:
验证所述更新的语音机器人以确定是否已经校正了所述给定行为错误;以及
其中,使所述更新的语音机器人被部署是响应于确定已经校正了所述给定行为错误。
19.根据权利要求1所述的方法,其中,呈现给所述第三方开发人员的所述通知包括以下项的指示:
由所述语音机器人开发系统识别的所述给定行为错误,以及
所述第三方开发人员执行涉及校正所述受训练语音机器人的所述给定行为错误的所述动作的请求。
20.根据权利要求19所述的方法,其中,响应于确定所述语音机器人开发系统不能自动地执行涉及校正所述受训练语音机器人的所述给定行为错误的所述动作,所述第三方开发人员执行涉及校正所述受训练语音机器人的所述给定行为错误的所述动作的所述请求的所述指示被包括在所述通知中。
21.根据权利要求19或权利要求20所述的方法,进一步包括:
经由所述语音机器人开发系统的用户界面并且响应于所述通知被呈现给所述第三方开发人员而从所述第三方开发人员接收用户输入,以执行涉及校正所述受训练语音机器人的所述给定行为错误的所述动作。
22.根据任一前述权利要求所述的方法,其中,确定涉及校正所述受训练语音机器人的所述给定行为错误的所述动作是响应于确定所述给定行为错误的发生的数量满足数量阈值。
23.一种由一个或多个处理器实施的方法,所述方法包括:
经由机器人开发系统识别与第三方相关联的受训练语音机器人和用于训练所述受训练语音机器人的训练实例的语料库;
经由所述语音机器人开发系统获得所述受训练语音机器人的语音机器人活动,其中,所述语音机器人活动包括在代表所述第三方的所述受训练语音机器人与对应人类之间的多个先前进行的会话,并且其中,所述先前进行的会话中的每个先前进行的会话包括至少对应会话和所述对应会话的一个或多个部分的对应先前上下文;
经由所述语音机器人开发系统并且基于所述多个先前进行的会话来确定所述受训练语音机器人不包括期望行为;
经由所述语音机器人开发系统生成通知,所述通知指示一个或多个额外训练实例需要被添加到训练实例的所述语料库以生成训练实例的更新的语料库,所述一个或多个额外训练实例与所述期望行为相关联;
经由所述机器人开发系统的用户界面使所述通知被呈现给与所述第三方相关联的第三方开发人员;以及
在获得所述一个或多个额外训练实例之后:
使所述受训练语音机器人基于训练实例的所述更新的语料库被更新以生成更新的语音机器人;以及
使所述更新的语音机器人代替所述受训练语音机器人以代表所述第三方进行额外会话。
24.根据权利要求23所述的方法,其中,指示一个或多个额外训练实例需要被添加到训练实例的所述语料库的所述通知包括所述第三方开发人员提供所述额外训练实例中的一个或多个额外训练实例的请求。
25.根据权利要求23或权利要求24所述的方法,其中,获得所述一个或多个额外训练实例包括:
经由所述语音机器人开发系统接收用户输入,所述用户输入定义与所述期望行为相关联的所述额外训练实例中的一个或多个额外训练实例,所述用户输入响应于所述通知而被接收,其中,所述一个或多个额外训练实例包括先前未定义在所述语料库的所述训练实例中的特征强调输入。
26.根据权利要求23所述的方法,其中,所述受训练语音机器人对应于利用一个或多个机器学习ML模型的多个ML层的一个或多个处理器。
27.根据权利要求26所述的方法,其中,使所述受训练语音机器人基于训练实例的所述更新的语料库被更新以生成所述更新的语音机器人包括:
使所述多个ML层中的一个或多个ML层的对应权重基于处理所述一个或多个额外训练实例被更新;以及
使所述多个ML层中的一个或多个ML层的额外对应权重被固定。
28.一种由一个或多个处理器实施的方法,所述方法包括:
经由机器人开发系统识别与第三方相关联的受训练语音机器人和用于训练所述受训练语音机器人的训练实例的语料库;
经由所述语音机器人开发系统获得所述受训练语音机器人的语音机器人活动,其中,所述语音机器人活动包括在代表所述第三方的所述受训练语音机器人与对应人类之间的多个先前进行的会话,并且其中,所述先前进行的会话中的每个先前进行的会话包括至少对应会话和所述对应会话的一个或多个部分的对应先前上下文;
经由所述语音机器人开发系统并且基于处理所述多个先前进行的会话来识别所述受训练语音机器人的给定行为错误;
经由所述语音机器人开发系统并且基于所述受训练语音机器人的所述给定行为错误来确定一个或多个特征对于包括在所述语料库中的一个或多个对应训练实例是缺失的或被错误标记;以及
经由所述机器人开发系统的用户界面使通知被呈现给第三方开发人员,通知指示所述特征中的一个或多个特征对应包括在所述语料库中的所述对应训练实例中的一个或多个对应训练实例是缺失的或被错误标记。
29.根据权利要求28所述的方法,其中,指示一个或多个特征对于一个或多个对应训练实例是缺失的或被错误标记的所述通知包括所述第三方开发人员为一个或多个对应训练实例添加标记或重新标记的请求。
30.一种系统,包括:
一个或多个处理器;以及
存储指令的存储器,所述指令在被执行时使所述处理器中的一个或多个处理器执行根据权利要求1至28中的任一项所述的方法中的任一个。
31.一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使一个或多个处理器执行根据权利要求1至28中的任一项所述的方法中的任一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/170,300 US11902222B2 (en) | 2021-02-08 | 2021-02-08 | Updating trained voice bot(s) utilizing example-based voice bot development techniques |
US17/170,300 | 2021-02-08 | ||
PCT/US2021/060360 WO2022169495A1 (en) | 2021-02-08 | 2021-11-22 | Updating trained voice bot(s) utilizing example based voice bot development techniques |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115836304A true CN115836304A (zh) | 2023-03-21 |
Family
ID=78918779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180048384.2A Pending CN115836304A (zh) | 2021-02-08 | 2021-11-22 | 利用基于示例的语音机器人开发技术更新受训练语音机器人 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11902222B2 (zh) |
EP (1) | EP4147153A1 (zh) |
CN (1) | CN115836304A (zh) |
WO (1) | WO2022169495A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022240918A1 (en) * | 2021-05-11 | 2022-11-17 | AskWisy, Inc. | Intelligent training and education bot |
US11875785B2 (en) * | 2021-08-27 | 2024-01-16 | Accenture Global Solutions Limited | Establishing user persona in a conversational system |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1069897A (en) | 1912-05-27 | 1913-08-12 | Frederick W Nolte | Eyeglass-mounting. |
US6925452B1 (en) | 2000-05-22 | 2005-08-02 | International Business Machines Corporation | Method and system for recognizing end-user transactions |
US20150278706A1 (en) | 2014-03-26 | 2015-10-01 | Telefonaktiebolaget L M Ericsson (Publ) | Method, Predictive Analytics System, and Computer Program Product for Performing Online and Offline Learning |
EP3430514B1 (en) * | 2016-04-18 | 2019-10-09 | Google LLC | Automated assistant invocation of appropriate agent |
US10949748B2 (en) | 2016-05-13 | 2021-03-16 | Microsoft Technology Licensing, Llc | Deep learning of bots through examples and experience |
CN107590153B (zh) * | 2016-07-08 | 2021-04-27 | 微软技术许可有限责任公司 | 使用卷积神经网络的对话相关性建模 |
CN108229686B (zh) | 2016-12-14 | 2022-07-05 | 阿里巴巴集团控股有限公司 | 模型训练、预测方法、装置、电子设备及机器学习平台 |
WO2019028261A1 (en) | 2017-08-02 | 2019-02-07 | [24]7.ai, Inc. | METHOD AND APPARATUS FOR LEARNING CONVERSATIONAL AGENTS |
US10884598B2 (en) | 2017-09-29 | 2021-01-05 | Oracle International Corporation | Analytics for a bot system |
WO2019133710A1 (en) * | 2017-12-29 | 2019-07-04 | DMAI, Inc. | System and method for dialogue management |
US11386326B2 (en) | 2018-06-11 | 2022-07-12 | The Regents Of The University Of California | Training a machine learning model with limited training data |
US10861456B2 (en) | 2018-09-17 | 2020-12-08 | Adobe Inc. | Generating dialogue responses in end-to-end dialogue systems utilizing a context-dependent additive recurrent neural network |
US10853577B2 (en) | 2018-09-21 | 2020-12-01 | Salesforce.Com, Inc. | Response recommendation system |
US11113475B2 (en) | 2019-04-15 | 2021-09-07 | Accenture Global Solutions Limited | Chatbot generator platform |
US11461311B2 (en) * | 2019-04-26 | 2022-10-04 | Oracle International Corporation | Bot extensibility infrastructure |
US11651033B2 (en) * | 2019-04-26 | 2023-05-16 | Oracle International Corporation | Insights into performance of a bot system |
US11206229B2 (en) | 2019-04-26 | 2021-12-21 | Oracle International Corporation | Directed acyclic graph based framework for training models |
US10691897B1 (en) * | 2019-08-29 | 2020-06-23 | Accenture Global Solutions Limited | Artificial intelligence based virtual agent trainer |
EP4062314A1 (en) | 2019-11-22 | 2022-09-28 | Greeneden U.S. Holdings II, LLC | Systems and methods for dialog management |
US11379227B2 (en) * | 2020-10-03 | 2022-07-05 | Microsoft Technology Licensing, Llc | Extraquery context-aided search intent detection |
US11804211B2 (en) | 2020-12-04 | 2023-10-31 | Google Llc | Example-based voice bot development techniques |
US11854540B2 (en) * | 2021-01-08 | 2023-12-26 | Accenture Global Solutions Limited | Utilizing machine learning models to generate automated empathetic conversations |
US11373131B1 (en) * | 2021-01-21 | 2022-06-28 | Dell Products L.P. | Automatically identifying and correcting erroneous process actions using artificial intelligence techniques |
-
2021
- 2021-02-08 US US17/170,300 patent/US11902222B2/en active Active
- 2021-11-22 CN CN202180048384.2A patent/CN115836304A/zh active Pending
- 2021-11-22 WO PCT/US2021/060360 patent/WO2022169495A1/en unknown
- 2021-11-22 EP EP21827490.0A patent/EP4147153A1/en active Pending
-
2024
- 2024-01-03 US US18/403,401 patent/US20240146668A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240146668A1 (en) | 2024-05-02 |
US20220255885A1 (en) | 2022-08-11 |
WO2022169495A1 (en) | 2022-08-11 |
EP4147153A1 (en) | 2023-03-15 |
US11902222B2 (en) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102337820B1 (ko) | 사용자 프로그래머블 자동화 어시스턴트 | |
US11488601B2 (en) | Dependency graph conversation modeling for use in conducting human-to-computer dialog sessions with a computer-implemented automated assistant | |
US11804211B2 (en) | Example-based voice bot development techniques | |
US11868727B2 (en) | Context tag integration with named entity recognition models | |
JP2023530423A (ja) | 堅牢な固有表現認識のためのチャットボットにおけるエンティティレベルデータ拡張 | |
US20240146668A1 (en) | Updating trained voice bot(s) utilizing example-based voice bot development techniques | |
CN116802629A (zh) | 用于自然语言处理的多因素建模 | |
CN116635862A (zh) | 用于自然语言处理的域外数据扩充 | |
CN116583837A (zh) | 用于自然语言处理的基于距离的logit值 | |
CN116490879A (zh) | 用于神经网络中过度预测的方法和系统 | |
CN116547676A (zh) | 用于自然语言处理的增强型logit | |
US20230419964A1 (en) | Resolving unique personal identifiers during corresponding conversations between a voice bot and a human | |
CN115989490A (zh) | 用于为文本分类提供解释的技术 | |
US20220180858A1 (en) | Example-based voice bot development techniques | |
KR20230006900A (ko) | 예제 기반 음성 봇 개발 기법 | |
EP4217891A1 (en) | System(s) and method(s) for enabling a representative associated with an entity to modify a trained voice bot associated with the entity |
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 |