日志或发言者日志涉及根据发言者身份将音频数据划分为一个或多个部分。因此,诊断涉及回答问题“谁在何时说话?”因此,可以在语音转录、语音翻译或发言者身份是必要的或有用的任何上下文的上下文中使用日志过程或算法。
技术实现要素:
可以训练日志模型来区分两个或多个发言者。训练可以基于监督数据集,该监督数据集包括波形和对应的提示/身份数据,该提示/身份数据指示哪个发言者在该波形区间内发言。一旦被训练,日志模型就可以用于确定语音的源发言者,而不依赖于进一步的提示/身份数据。当训练的模型做出这样的确定时,可以将该确定反馈到模型中,允许模型随时间增长和适应,从而提高其准确度。
例如,当在翻译应用的上下文中使用时,可以基于在预定时间轮流说话的用户来生成监督数据。例如,发言者可以在按下按钮之后说话,该按钮可以可选地对应于特定语言,从而生成伴随波形的提示/身份数据。在另一个示例中,可以为每个发言者提供相应的校准时间段,在在该时间段内要求他们说几个短语。在另一示例中,图像数据可以构成提示/身份数据,因为它可以通过表示发言者的面部运动来指示哪个发言者正在主动说话。
因此,在第一示例性实施例中,方法可以包括由计算设备接收在初始时间窗口期间捕获的并且表示第一语音和第二语音的第一音频波形。该方法还可以包括由计算设备接收指示(i)第一语音对应于第一发言者和(ii)第二语音对应于第二发言者的第一类型的身份数据。该方法还可以包括由该计算设备基于第一语音、第二语音以及第一类型的身份数据来确定日志模型,该日志模型被配置为区分该第一发言者的语音与该第二发言者的语音。该方法还可以包括由该计算设备接收指示第三语音的源发言者的该第一类型的进一步身份数据,该第二音频波形在随后的时间窗口期间被捕获并且表示该第三语音。该方法还可以附加地包括由计算设备通过日志模型并且独立于第一类型的另外的身份数据来确定第三语音的源发言者,其中源发言者被确定为第一发言者或第二发言者。该方法还可以包括由该计算设备基于该第三语音和所确定的源发言者来更新该日志模型。
在第二示例性实施例中,系统可以包括麦克风和被配置为执行操作的处理器。操作可以包括从麦克风接收在初始时间窗口期间捕获的并且表示第一语音和第二语音的第一音频波形。该操作还可包括接收指示(i)第一语音对应于第一发言者和(ii)第二语音对应于第二发言者的第一类型的身份数据。该操作还可以包括基于该第一语音、该第二语音和该第一类型的身份数据来确定被配置为区分该第一发言者的语音和该第二发言者的语音的日志模型。该操作还可以包括从麦克风接收指示第三语音的源发言者的第一类型的另外的身份数据,并且专门地接收在随后的时间窗口期间捕获的并且表示第三语音的第二音频波形。该操作还可以附加地包括通过该日志模型并且独立于该第一类型的另外的身份数据来确定该第三语音的源发言者,其中该源发言者被确定为该第一发言者或该第二发言者。该操作还可以包括基于该第三语音和所确定的源发言者来更新该日志模型。
第三示例性实施例可以包括其上存储有指令的非暂时性计算机可读存储介质,该指令在由计算设备执行时使该计算设备执行操作。该操作可以包括接收在初始时间窗口期间捕获的并且表示第一语音和第二语音的第一音频波形。该操作还可包括接收指示(i)第一语音对应于第一发言者和(ii)第二语音对应于第二发言者的第一类型的身份数据。该操作还可以包括基于该第一语音、该第二语音和该第一类型的身份数据来确定被配置为区分该第一发言者的语音和该第二发言者的语音的日志模型。该操作还可以包括接收在随后的时间窗口期间捕获的并表示第三语音的第二音频波形,其中该第二音频波形是仅接收指示第三语音的源发言者的第一类型的另外的身份数据而接收的。该操作还可以附加地包括通过该日志模型并且独立于该第一类型的另外的身份数据来确定该第三语音的源发言者,其中该源发言者被确定为该第一发言者或该第二发言者。该操作还可以包括基于该第三语音和所确定的源发言者来更新该日志模型。
在第四示例性实施例中,提供了一种系统,其包括用于接收在初始时间窗口期间捕获的并表示第一语音和第二语音的第一音频波形的部件。该系统还可以包括用于接收第一类型的身份数据的部件,该第一类型的身份数据指示(i)第一语音对应于第一发言者,以及(ii)第二语音对应于第二发言者。该系统还可以包括用于基于该第一语音、该第二语音和该第一类型的身份数据来确定日志模型的部件,该日志模型被配置为区分该第一发言者的语音和该第二发言者的语音。该系统还可以包括用于接收在随后的时间窗口期间捕获的并且表示第三语音的第二音频波形的部件,该接收不包括接收指示第三语音的源发言者的第一类型的另外的身份数据。该系统还可以附加地包括用于通过该日志模型并且独立于该第一类型的另外的身份数据来确定该第三语音的源发言者的部件,其中该源发言者被确定为该第一发言者或该第二发言者。该系统还可以包括用于基于该第三语音和所确定的源发言者来更新该日志模型的部件。
这些以及其他实施例、方面、优点和替代方案对于本领域普通技术人员而言通过阅读以下详细描述并适当地参考附图将变得显而易见。此外,在本文提供的该概述和其他描述以及附图旨在仅通过示例的方式示出实施例,并且因此,许多变化是可能的。例如,可以重新布置、组合、分布、消除或以其他方式改变结构元件和过程步骤,同时保持在所要求保护的实施例的范围内。
附图说明
图1示出了根据示例性实施例的计算系统。
图2示出了根据示例性实施例的计算设备。
图3A、3B和3C示出了根据示例性实施例的用户界面。
图3D示出了根据示例性实施例的计算设备的图像捕获。
图4示出了根据示例性实施例的系统的框图。
图5A、5B、5C、6A和6B示出了根据示例性实施例的日志模型。
图7示出了根据示例性实施例的流程图。
具体实施方式
本文描述了示例性方法、设备和系统。应当理解,词语“示例”和“示例性”在本文中用于表示“用作示例、实例或图示”。本文描述为“示例”、“示例性”和/或“说明性”的任何实施例或特征不必解释为比其他实施例或特征优选或有利,除非如此陈述。因此,可利用其他实施例,且可在不脱离本文所呈现的标的物的范围的情况下做出其他改变。
因此,本文描述的示例性实施例并不意味着是限制性的。将容易理解的是,如在本文总体上描述的并且在附图中示出的本公开的这些方面可以被布置、替代、组合、分离,并且设计成多种不同的配置。
此外,除非上下文另有说明,在每个附图中示出的特征可以彼此组合使用。因此,应将附图大体上视为一个或多个整体实施例的组件方面,同时应了解,并非每一实施例都需要所有所说明的特征。
另外,在本说明书或权利要求的元件、块或步骤的任何列举是为了清楚的目的。因此,这种列举不应被解释为要求或暗示这些元件、块或步骤遵循特定的布置或以特定的顺序执行。除非另有说明,否则附图不是按比例绘制的。
I概述
日志模型可用于基于音频波形来确定多个发言者中的某一个在音频波形内的特定时间段期间语音。因此,可以根据每个语音的发言者来划分其中包括不同发言者的多个语音的音频波形。可以基于与提示/身份数据相关联的训练波形来训练该日志模型,该提示/身份数据指示与训练波形中的每个语音相关联的发言者。一旦被训练,该日志模型可用于独立于和/或不依赖于任何附加身份数据来确定与特定语音相关联的发言者。当该日志模型操作以识别各种语音的发言者时,可基于发言者的这些识别来更新该模型。即,基于模型随时间作出的无监督预测,日志模型可以增长、适应和发展。
值得注意的是,术语提示数据、身份数据和/或身份提示数据在本文中用于指示将标签(例如,发言者#1、发言者A或某一其他任意标签)指派给给定语音信号。当遇到相同的语音时,可以随时间保持该标签。该标签可能不包括关于个人的其他个人可识别信息(例如,姓名、地址等)或与其相关联,使得该标签实际上是匿名的。隐私和匿名可以进一步通过以下方式来支持:(i)每当两个用户进行对话时生成新的日志化模型(并且一旦对话结束就丢弃模型),(ii)在一个计算设备(例如,执行翻译应用的计算设备)上而不是例如在基于云的平台上本地生成、执行和存储日志化模型,和/或(iii)除了其他可能性之外,不将特定于特定用户的日志化模型的方面与其他计算设备共享。
在其他可能的应用中,该日志模型可以用作翻译应用或转录应用的一部分。在翻译应用的上下文中,翻译应用可以提供包括至少两个按钮的图形用户界面(UI)。第一按钮可以对应于第一发言者并且可选地对应于第一语言,而第二按钮可以对应于第二发言者并且可选地对应于第二语言。当第一发言者选择翻译他或她的语音时,第一发言者可以按下第一按钮并开始说话。翻译应用可以捕获由第一发言者产生的语音,并且当在至少预定时间段(例如,2.5秒)内没有检测到高于阈值幅度的声音时,翻译应用可以停止收听更多的语音。翻译应用可以生成语音的文本表示,将文本翻译成第二语言,并将该文本显示给第二发言者。
此时,第二发言者可以按下第二按钮并重复类似的过程以响应第一发言者。这种来回可以无限地继续直到会话结束。然而,值得注意的是,依赖于这样的明确的发言者指示需要对所使用的(一个或多个)设备的重复输入(例如,对第一按钮和第二按钮的触摸输入),具体地用于向(一个或多个)设备识别每个发言者的目的。设备必须检测和处理这些接收到的输入。依赖于明确的发言者指示也可能是麻烦的和易出错的。
例如,发言者中的一个可能点击错误的按钮,从而导致翻译应用试图将例如英语翻译成西班牙语,而发言者实际上以西班牙语发出语音。在另一示例中,发言者可以在击中他或她的相应按钮之前或之后太快地开始说话,从而导致语音的初始部分不在捕获的波形中表示。在另一示例中,翻译应用可以依赖于预定的静默时段来确定用户已经完成说话。然而,在嘈杂的环境中,这样的静默可能不可行,会导致翻译应用无限期地收听特定的发言者,或者在该发言者停止说话后收听太长时间。除了潜在地拖长和/或将错误引入到过程中之外,这还可能需要将所使用的设备的硬件元件(诸如设备的一个或多个麦克风)被占用得更久。这样做的一个后果可能是在实现该过程时增加设备所需的功率量,从而缩短设备的电池寿命和/或消耗额外的设备上功率。
可以通过采用日志模型在两个或多个发言者之间自动分类波形内的语音来改善这样的缺点。值得注意的是,按下按钮然后说话的过程允许翻译应用生成监督学习数据。即,在第一按钮被按下之后捕获的语音被指示为对应于第一发言者,而在第二按钮被按下之后捕获的语音被指示为对应于第二发言者。这样的监督学习数据因此可以用于训练该日志模型。一旦被训练,翻译应用可能不再请求明确的发言者指示(即,发言者身份数据),而是依赖于日志模型来识别发言者。
可以基于例如所捕获波形的250毫秒部分来操作该日志模型。因此,翻译应用可以具有例如250毫秒的最大等待时间来响应主动可以具有例如250毫秒的最大等待时间。另外,由于不再请求或需要明确的发言者指示,所以可以减少、最小化和/或消除任何人为错误。例如,应用程序可以收听不同发言者的语音,而不依赖于明确的按钮按压,从而避免语音的部分在转换发言者时被切断。此外,确定发言者的语音串的结束可能不再依赖于无声期,从而允许另一发言者开始说话而没有任何不自然的停顿。这些优点中的每一个都导致翻译应用允许在两个或多个发言者之间进行更加自然、无阻碍的对话。此外,可以减少整个交互的长度,从而产生例如屏幕上时间、麦克风上时间和/或设备处的功耗的相应减少。
由于日志模型操作以独立于(例如,专门地)任何提示/身份数据来自动识别语音中的发言者,所以这些自动发言者识别可被反馈到模型中,从而产生随着其操作而增长并适应的模型。在一些实现方式中,可以使用利用至少阈值置信度值确定的发言者识别来更新日志模型,而具有低于阈值置信度值的发言者识别可能不更新日志模型。因此,可以使用可能是正确的预测来更新模型,同时将潜在错误的预测保持在模型之外。附加地或可替代地,初始训练数据可以在模型内比从自动发言者识别得到的数据更重地加权。这样的方法可以允许模型在没有任何单个自动发言者识别能够显著改变模型的情况下进行适配,从而减少任何错误发言者识别的影响。
在没有这种自适应的情况下,可能需要对每个发言者的约5秒的语音数据(例如,在双发言者情况下,具有持续总共至少10秒的语音的波形)训练模型。例如,当发言者产生听起来非常相似的语音,因此不表达发言者的声音的宽范围时,所需的训练数据量可能更长。相反,当允许日志模型基于其自身的预测来适配时,在允许日志模型不伴随有提示/标识数据而进行自动预测之前,每个发言者1秒的语音数据可能足以训练该模型。然而,随着模型适应,其可达到与已被训练更长(例如,基于5秒或更多秒的语音)的模型相同或相当的发言者识别准确度水平。因此,自适应模型可以允许翻译应用比在整个对话中保持恒定的非自适应模型更快地逐步取消对明确发言者识别的请求。
日志模型可以由波形嵌入模型和向量分类模型组成。嵌入模型可以定义(i)波形的多个样点(例如,以特定速率采样的250毫秒)和(ii)向量空间之间的数学变换。嵌入模型的输出可以是具有指示发言者的语音的各种物理特性或特征的值的嵌入向量。嵌入模型可以在用它们相应的发言者标记的大量语音上训练,使得听起来不同的声音在向量空间中被分开,而听起来相同的声音在向量空间中被紧密地分组在一起。因此,在对话期间,嵌入模型可以生成第一发言者的嵌入向量的第一群组和第二发言者的嵌入向量的第二群组。值得注意的是,在嵌入模型的训练中使用的语料库中包括的语音的发言者可以不同于对话中的发言者。因此,嵌入模型的训练可以进行一次,并且该训练的嵌入模型可以应用于任何组发言者之间的任何新对话。
为了识别未标记语音的发言者,可以通过嵌入模型来处理该语音以生成嵌入向量。然后可以通过向量分类模型将该嵌入向量与第一群组和第二群组进行比较,该向量分类模型可以是k最近邻模型、最近质心模型、高斯分布朴素贝叶斯模型或另一类似模型。可以基于置信度度量或由向量分类模型生成的其他定量度量来确定发言者。可以通过将由模型生成的分类添加到嵌入向量的第一或第二聚类来更新该日志模型。
II示例性计算设备
图1示出了计算系统100的示例性外形。计算系统100可以是例如移动电话、平板计算机或可穿戴计算设备。然而,其他实施例是可能的。计算系统100可以包括各种元件,诸如机身102、显示器106以及按钮108和110。计算系统100还可以包括面向前的相机104、面向后的相机112、正面红外相机114、第一红外图案投影仪116和第二红外图案投影仪118。
面向前的相机104可以定位在主体102的通常在操作中面向用户的一侧上(例如,在与显示器106相同的一侧上)。面向后的相机112可以定位在主体102的与面向前的相机104相对的一侧上。将相机称为正面和背面是任意的,并且计算系统100可以包括位于主体102的各个侧面上的多个相机。面向前的相机104和面向后的相机112每个都可以被配置为捕获可见光光谱中的图像。
显示器106可表示阴极射线管(CRT)显示器、发光二极管(LED)显示器、液晶(LCD)显示器、等离子体显示器、有机发光二极管(OLED)显示器或此项技术中已知的任何其它类型的显示器。在一些实施例中,显示器106可以显示由面向前的相机104、面向后的相机112和/或红外相机114捕获的当前图像的数字表示,和/或可以由这些相机中的一个或多个捕获或最近捕获的图像。因此,显示器106可以用作相机的取景器。显示器106还可以支持能够调整计算系统100的任何方面的设置和/或配置的触摸屏功能。
面向前的相机104可以包括图像传感器和相关的光学元件,诸如透镜。面向前的相机104可以提供变焦能力或者可以具有固定的焦距。在其他实施例中,可互换镜头可以与面向前的相机104一起使用。面向前的相机104可以具有可变的机械光圈和机械和/或电子快门。面向前的相机104被配置为捕获静止图像、视频图像或两者。此外,面向前的相机104可以表示单视场、立体或多视场相机。面向后相机112和/或红外相机114可以类似地或不同地布置。另外,面向前的相机104、面向后的相机112或红外相机114中的一个或多个可以是一个或多个相机的阵列。
面向前的相机104和面向后的相机112中的任一个或两者可以包括照明部件或与照明部件相关联,该照明部件提供可见光谱中的光场以照明目标对象。例如,照明部件可以提供目标对象的闪光或恒定照明。照明部件还可以被配置为提供包括结构化光、偏振光和具有特定光谱内容的光中的一种或多种的光场。在本文的实施例的上下文中,已知并用于从对象恢复三维(3D)模型的其他类型的光场也是可能的。
第一红外图案投影仪116和第二红外图案投影仪118可以各自被配置为将对应的红外结构化光图案投影到目标对象上。在一个示例中,第一红外投影仪116可以被配置为投影点图案,而第二红外投影仪118可以被配置为投影泛光图案。因此,第一红外投影仪116和第二红外投影仪118可以与红外相机114结合使用,以确定对应于目标对象的不同物理特征的多个深度值。
即,第一红外投影仪116可以将已知的点图案投影到目标对象上,并且红外相机114可以捕获包括所投影的点图案的目标对象的红外图像。然后,计算系统100可以确定所捕获的红外图像中的区域所投影的点图案的特定部分之间的对应关系。给定第一红外投影仪116的位置、红外相机114的位置以及对应于所捕获的红外图像内的投影点图案的特定部分的区域的位置,计算系统100然后可以使用三角测量来估计到目标对象的表面的深度。
通过对对应于投影点图案的不同部分的不同区域重复该步骤,计算系统100可以估计目标对象的各种物理特征或部分的深度。这样,计算系统100可用于生成目标对象的三维(3D)模型。第二红外投影仪118可用于以洪水模式照明目标对象,以补偿不同的照明条件(例如,在黑暗环境中)。即,第二红外投影仪118可以允许由红外相机114捕获的图像表示在不同环境和照明条件下以基本恒定的红外功率照明的目标对象。由第二红外投影仪118投影的泛光图案可以提供恒定且均匀的照明。
在一些实施例中,投影点图案可以是已知的或者是点的唯一组合或排列的预定图案。当点图案是预定的时,该图案的唯一部分可以位于所捕获的红外图像内,并且可以提供用于三角测量的参考点。例如,一旦在所捕获的红外图像中识别出预定图案的特定部分,则该预定图案的该特定部分的属性(例如其尺寸和位置)可用作确定该特定部分所投影的表面的深度的基础。
计算系统100还可包括环境光传感器,该环境光传感器可连续地或不时地确定相机104、112和/或114可捕捉的场景的环境亮度(例如,就可见光和/或红外光而言)。在一些实现方式中,环境光传感器可用于调整显示器106的显示亮度。另外,环境光传感器可用于确定相机104、112或114中的一个或多个的曝光长度,或有助于该确定。
计算系统100可以被配置为使用显示器106和正面相机104、面向后的相机112和/或正面红外相机114来捕获目标对象的图像。所捕获的图像可以是多个静止图像或视频流。可以通过激活按钮108、按下显示器106上的软键或通过一些其他机制来触发图像捕获。根据实现方式,可以在特定时间间隔自动捕获图像,例如,在按下按钮108时、在目标对象的适当照明条件时、在将数字相机设备100移动预定距离时,或者根据预定的捕获时间表。
如上所述,计算系统100的功能可以集成到诸如无线计算设备、蜂窝电话、平板计算机、膝上型计算机等计算设备中。出于示例的目的,图2是示出可包括相机部件224的示例计算设备200的一些组件的简化框图。
作为示例而非限制,计算设备200可以是蜂窝移动电话(例如,智能电话)、静态相机、视频相机、计算机(诸如台式计算机、笔记本计算机、平板计算机或手持式计算机)、个人数字助理(PDA)、家庭自动化组件、数字视频记录器(DVR)、数字电视、遥控器、可穿戴计算设备、游戏控制台、机器人设备、或配备有至少一些音频捕捉和/或音频处理能力的一些其他类型的设备。应当理解,计算设备200可以表示物理音频处理系统、音频感测和处理应用以软件在其上操作的特定物理硬件平台、或者被配置成执行音频捕捉、处理和/或日志功能的硬件和软件的其他组合。
如图2所示,计算设备200可以包括通信接口202、用户界面204、处理器206、数据存储设备208和相机部件224,所有这些都可以通过系统总线、网络或其他连接机制210通信地链接在一起。
通信接口202可以允许计算设备200使用模拟或数字调制与其他设备、接入网和/或传输网络通信。因此,通信接口202可促进电路交换和/或分组交换通信,诸如普通老式电话服务(POTS)通信和/或因特网协议(IP)或其他分组化通信。例如,通信接口202可以包括被布置用于与无线接入网或接入点进行无线通信的芯片组和天线。此外,通信接口202可以采取有线接口的形式或包括有线接口,诸如以太网、通用串行总线(USB)或高清晰度多媒体接口(HDMI)端口。通信接口202还可以采取无线接口的形式或包括无线接口,诸如Wifi、全球定位系统(GPS)或广域无线接口(例如,WiMAX或3GPP长期演进(LTE))。然而,可以在通信接口202上使用其他形式的物理层接口和其他类型的标准或专有通信协议。此外,通信接口202可以包括多个物理通信接口(例如,Wifi接口、接口和广域无线接口)。
用户界面204可用于允许计算设备200与人类或非人类用户交互,诸如从用户接收输入并向用户提供输出。因此,用户界面204可以包括诸如小键盘、键盘、触摸屏、计算机鼠标、跟踪球、操纵杆、麦克风等输入组件。用户界面204还可以包括一个或多个输出组件,例如可以与触敏面板组合的显示屏。显示屏可以基于CRT、LCD和/或LED技术,或现在已知或以后开发的其他技术。用户界面204还可以被配置为经由发言者、发言者插孔、音频输出端口、音频输出设备、耳机和/或其他类似设备生成(一个或多个)可听输出。用户界面204还可以被配置为通过麦克风和/或其他类似设备接收和/或捕获可听语音、噪声和/或信号。
在一些实施例中,用户界面204可包括用作计算设备200所支持的静态相机和/或视频相机功能(例如,在可见和红外光谱中)的取景器的显示器。另外,用户界面204可以包括一个或多个按钮、开关、旋钮和/或拨盘,其便于相机功能的配置和聚焦以及图像的捕获。这些按钮、开关、旋钮和/或拨盘中的一些或全部可以通过触敏面板来实现。
处理器206可包括一个或多个通用处理器(例如,微处理器)和/或一个以上专用处理器(例如,数字信号处理器(DSP)、图形处理单元(GPU)、浮点单元(FPU)、网络处理器或专用集成电路(ASIC)。在一些情况下,专用处理器可能能够进行图像处理、图像对准和合并图像,以及其它可能性。数据存储器208可以包括一个或多个易失性和/或非易失性存储组件,诸如磁、光、闪存或有机存储器,并且可以整体或部分地与处理器206集成。数据存储器208可以包括可移动和/或不可移动组件。数据存储器208可以包括可移动和/或不可移动组件。
处理器206能够执行存储在数据存储器208中的程序指令218(例如,编译的或未编译的程序逻辑和/或机器代码),以执行本文描述的各种功能。因此,数据存储208可以包括其上存储有程序指令的非暂时性计算机可读介质,该程序指令在由计算设备200执行时使得计算设备200执行在本说明书和/或附图中公开的任何方法、过程或操作。处理器206对程序指令218的执行可导致处理器206使用数据212。
作为示例,程序指令218可以包括操作系统222(例如,操作系统内核、(一个或多个)设备驱动器和/或其他模块)以及安装在计算设备200上的一个或多个应用程序220(例如,相机功能、地址簿、电子邮件、web浏览、社交网络、音频到文本功能、文本翻译功能和/或游戏应用)。类似地,数据212可以包括操作系统数据216和应用数据214。操作系统数据216可主要由操作系统222访问,而应用程序数据214可主要由一个或多个应用程序220访问。应用数据214可以被布置在计算设备200的用户可见或隐藏的文件系统中。
应用程序220可以通过一个或多个应用编程接口(API)与操作系统222通信。这些API可以促进例如应用程序220读取和/或写入应用数据214,经由通信接口202发送或接收信息,在用户界面204上接收和/或显示信息等等。
在某些语言中,应用程序220可以简称为“app”。另外,应用程序220可以通过一个或多个在线应用商店或应用市场下载到计算设备200。然而,应用程序也可以以其他方式安装在计算设备200上,诸如经由web浏览器或通过计算设备200上的物理接口(例如,USB端口)。
相机部件224可包括但不限于光圈、快门、记录表面(例如,照相胶片和/或图像传感器)、透镜、快门按钮、红外投影仪和/或可见光投影仪。相机部件224可以包括被配置为用于捕获可见光光谱中的图像的组件(例如,具有380-700纳米波长的电磁辐射)和被配置为用于捕获红外光光谱中的图像的组件(例如,具有701纳米-1毫米波长的电磁辐射)。相机部件224可以至少部分地由处理器206执行的软件来控制。
III示例性用户界面
图3A、3B和3C示出了翻译软件应用(“翻译应用”)的示例性用户界面。具体地,翻译应用被配置为当两个或多个用户以两种不同语言彼此通信时提供两种不同语言之间的翻译。图3A中的用户界面(UI)300示出翻译应用包括对应于第一语言的第一按钮306和对应于第二语言的第二按钮308。在图3A、3B和3C所示的示例中,第一种语言是英语,且第二种语言是西班牙语。然而,任何两种语言之间的翻译可以由翻译应用提供。UI 300还包括被配置为显示第一语言的文本的第一显示区域302和被配置为显示第二语言的文本的第二显示区域304。
语音(例如,说出的单词、短语和/或句子)的翻译可以基于或响应于检测到与按钮306或按钮308的交互而被发起。例如,第一发言者可以选择按钮306(例如,通过触摸UI),如UI 310中按钮306的交叉影线所示,这可以使得翻译应用开始收听第一语音。因此,UI 310可以显示视觉提示“现在就说吧”,指示第一发言者应该用英语说出一个或多个语音,以便将这些语音翻译成西班牙语。在一些实现方式中,按钮306和308之间的麦克风图标可以移动(例如,摇动、振动)或改变其外观,以便指示翻译应用正在收听。
基于所捕获的第一发言者的第一语音,翻译应用可以在区域302中显示英语语音的文本表示(即“你好吗?”),并且,在区域304中,语音的文本表示被翻译成西班牙语(即,“Hola,cómo estás?”)。第二发言者可以读取区域304中的西班牙语文本并制定响应。为了指示第二发言者正在说话,第二发言者可以选择按钮308,如UI 312中按钮308的散列所示,这可以使得翻译应用开始收听第二语音。因此,UI 312可以显示视觉提示“HABLA AHORA”,指示第二发言者应该以西班牙语说出一个或多个语音,以便将这些语音翻译成英语。
基于所捕获的第二发言者的第二语音,翻译应用可以在区域304中显示西班牙语中的语音的文本表示(即,“y tú”),并且,在区域304中,将语音的文本表示翻译成英语(即,“y tú”)。第一发言者可以阅读区域302中的英语文本并制定响应。对话可以继续,每个用户点击他们各自的按钮,说话,并给予另一个发言者响应的机会。
在一些实现方式中,这种轮候可以无限地继续,例如,直到两个发言者之间的对话结束。然而,这样的轮候可能是麻烦的,并且可能遭受像过早的端点指示(即,翻译应用在发言者已经完成说话之前停止收听)和/或过期的端点指示(即,翻译应用在发言者已经完成说话之后继续收听一段时间)的问题。即,当发言者相对于他们开始说话时太迟地按下他们各自的按钮时,语音的开始可能被切断。类似地,当发言者处于嘈杂的环境中时,翻译应用可能不能检测足够长(例如,2.5秒)的静默时段以停止收听,从而导致在发言者停止说话之后的收听。
因此,本文所公开的系统、方法和设备可被配置为逐步淘汰对谁正在说话的显式指示符/指示的需要。这样的谁正在说话的指示在本文可以被称为提示数据、身份数据或身份提示数据。即,可以基于在一个或多个初始轮次期间获得的信息来训练日志模型,以确定正在说话的人的语音的声音。值得注意的是,日志是根据发言者身份将音频波形分割或划分成部分的过程。
一旦被训练,日志模型可以确定谁在说话而没有发言者的任何明确指示。此时,翻译应用的UI可被修改以指示发言者可自由说话,而无需通过即将说话的UI来指示。此外,当使用日志模型来识别发言者时,可以使用该附加信息来更新和调整日志模型,从而允许模型在对话进行时在识别发言者方面变得越来越准确。
图3B示出了可用于指示翻译应用已进入和/或正在不需要提供发言者的显式指示的模式中操作的示例UI。例如,翻译应用可以响应于在预测发言者时达到准确度阈值水平的日志模型而进入该模式。
在第一示例中,UI 314可以通过停止显示按钮306和308向发言者指示翻译应用不再请求关于谁正在说话或即将说话的明确指示。另外,区域302和304可以被扩展以填充先前专用于按钮306和308的空间。因此,例如,第一发言者可以说“我能在哪里找到鞋店?”未提供任何提示。该日志模型可以被配置为确定该语音对应于第一发言者,并且可以响应地将该语音翻译成西班牙语,从而在区域304中显示“puedo encontrar la zapatería?”。区域302的视觉表示可被调整、修改或改变(例如,UI 314中的交叉阴影线)以向第一发言者提供视觉反馈,该视觉反馈指示翻译应用已识别第一发言者,即使未提供该发言者的明确指示。类似地,当第二用户说话时,可以调整、修改或改变区域304的视觉表示以向第二发言者提供类似的视觉反馈。
类似地,在第二示例中,UI 316可以指示翻译应用被配置为通过调整按钮306和308的视觉表示来自动识别发言者。在UI 316中,按钮306和308被显示为灰色以指示这些按钮不再有效和/或被配置为接收输入。从例如UI 312到UI 316的视觉改变可以提供翻译应用转换到自动发言者识别模式的附加视觉提示。
此外,在第三示例中,UI 318可以通过提示320和322明确地指示发言者可以正常说话,并且翻译应用将自动识别发言者。即,指向第一英语发言者的提示320可以声明“自动说话、自动发言者检测激活”,而提示322可以在西班牙语中声明相同。即,指向第二西班牙语发言者的提示322可声明“HABLA LIBREMENTE。LADE ORADORACTIVA。”
在可替换的实施例中,显式轮候的一个或多个初始循环可以由初始训练周期代替或补充。该初始训练周期可以发生在正常会话之外。即,如图3C所示,可以要求两个发言者中的每一个说出他们各自语言中的几个单词或短语,以将翻译应用校准到他们各自的语音。在一些实现方式中,可以要求每个发言者说出由翻译应用选择或确定的特定系列的单词或短语,以便最大化每个发言者在发音这些单词或短语时产生的声音的范围。这种方法可以减少初始训练/校准周期的持续时间。
即,如UI 324所示,可以向第一发言者提供提示330,该提示330声明“用英语说出一些词或短语,以便将翻译者校准为您的语音”。类似地,可以要求第二发言者做同样的事情,但是在西班牙语中。即,如UI 326中所示,第二发言者可以被提供有提示334,其声明“DIGA ALGUNAS PALABRAS O FRASES EN PARA CALIBRAR EL TRADUCTOR A SU VOZ”。提示328可以另外指示第一发言者“现在就说吧”,并且提示332可以针对第二发言者(即,“HABLA AHORA”)进行相同的操作。
因此,例如,当显示UI 324时,第一发言者可以说话直到UI 324改变为UI 326,指示已经收集了足够的训练数据。类似地,在显示UI 326的同时,第二发言者可以说话,直到UI 326改变为随后的UI(例如,UI 318),该UI 326指示已训练了日志模型,翻译应用自动检测发言者,并且对话因此可以自然地进行。在这种情况下,在显示UI 324和326的同时获得的语音用于与使用按钮306和308获得的语音相同的目的(即,两种方法都生成提示/身份数据)。然而,值得注意的是,按钮306和308的使用可以具有允许对话更自然地开始的优点,而没有两个人不在对话期间的明确校准周期。
在图3D所示的另一实施例中,可以基于传感器数据来获得提示数据。例如,当发言者340生成语音(即说话)时,计算设备342可以使用其上的一个或多个图像传感器来捕获发言者340的一个或多个图像,如视场344所示。这些图像可以是可见光图像(例如,由正面相机104和/或面向后的相机112生成)、红外图像(例如,由正面红外相机114、第一红外图案投影仪116和/或第二红外图案投影仪118生成),或它们的组合。一个或多个图像可以与捕获的音频波形同步,使得语音可以被映射到一个或多个图像中表示的发言者的面部(例如,嘴)运动和/或身份。
因此,翻译应用可以基于一个或多个图像来确定与特定语音相关联的发言者。在便携式计算设备的情况下,当发言者主动说话时,可握持便携式计算设备以便捕获主动发言者的面部的图像,如图3D中所说明。因此,通过确定特定图像是表示第一发言者还是表示第二发言者,翻译应用可以确定相应语音的源。在一些实现方式中,翻译应用可以另外确定连续图像表示对应于和/或与对应语音一致的面部运动。在具有一个或多个相机的计算设备的情况下(例如,在视频会议的上下文中),可以使用面部运动而不是身份来确定源发言者,该一个或多个相机具有足够大以同时看到两个发言者的视场。值得注意的是,还可以考虑发言者身份,例如,当发言者移动通过由一个或多个相机监视的环境时。
这样的视觉信息既可以用作用于训练日志模型的提示数据,又可以用作验证日志模型是否准确地确定源发言者的方式。例如,当图像数据可用时,翻译应用可以不包括按钮306和308和/或图3C所示的校准过程。相反,波形中的语音可以基于图像数据被映射到相应的发言者,从而生成提示数据,该提示数据可以用于训练该日志模型。一旦二分化模型被训练,翻译应用可以停止依赖附加的图像数据。或者,翻译应用可继续获得附加图像数据,并可确定由日志模型确定的源发言者是否与图像中表示的发言者匹配和/或其面部运动指示语音。
此外,在一些实现方式中,翻译应用可以采用图3A、3B、3C和3D的特征的任何组合来训练和更新日志模型。一些实现方式除了可以指示发言者身份的图像数据之外还可以依赖于附加的传感器数据。例如,来自惯性测量单元(IMU)的惯性数据可指示计算设备在不同发言者之间的物理切换或移交,从而暗示下一语音可能由不同于产生先前语音的发言者产生。
IV示例性系统
图4示出了用于确定、预测和/或估计语音的源发言者402的示例性日志模型400。可以使用训练音频波形410和身份数据420来训练日志模型400以识别源发言者402。训练音频波形410可以表示,例如,当第一发言者和第二发言者使用按钮306和308在对话期间轮流说话时捕获的音频,在初始校准周期期间捕获的音频,和/或当指示源发言者的图像数据也被捕获时捕获的音频。
训练音频波形410可以包括多个语音,包括语音412-416(即,语音412和语音414到语音416)。这些语音中的每一个可以被映射到相应的身份数据,该身份数据可以包括身份422-426(即,身份422和身份424到身份426)。即,训练音频波形410的部分可以与相应的发言者相关联。可以基于使用按钮306和308的转动、在初始校准期间捕获的语音,和/或指示特定时间的发言者的图像或其他传感器数据来生成身份数据420。每个语音可以具有例如250毫秒的预定持续时间。然而,可以附加地或替代地训练日志模型400以处理具有不同持续时间的语音。
可以使用训练音频波形410和身份数据420来训练日志模型400,直到例如在正确识别源发言者402时,日志模型达到至少阈值水平的准确度。例如,语音的第一部分412-416可用于训练日志模型400,而语音的第二不同部分412-416可用于确定训练的日志模型400是否准确地确定源发言者402。例如,可以提供语音414作为测试日志模型400的输入,并且可以将所确定的源发言者402与身份426进行比较以确定两者是否匹配。当这种测试的至少阈值分数是成功的时,日志模型400可用于分类新语音(即,翻译应用可自动识别发言者而不依赖于提示数据)。
因此,可以使用日志模型来确定无身份音频波形430中的语音的源发言者。即,日志模型可以接收无身份的音频波形430,并且可以将相应的源发言者402分配给每个语音432-436(即,语音432和通过语音436的语音434)。值得注意的是,音频波形430可以被称为无身份,独立于身份和/或独有身份,因为它不与相应的身份数据相关联。也就是说,一旦翻译应用进入它自动确定每个语音的源发言者的模式,就可以捕获音频波形430。
可以基于为语音432-436确定的源发言者402来更新和调整日志模型400。也就是说,即使当没有其他身份数据可用时,日志模型400也可以以无监督的方式继续适应。在一种实现方式中,可以基于所确定的源发言者402的每个实例来更新日志模型400。即,每当新的语音被分类为属于第一发言者,第二发言者或某一其他发言者时,该分类可被假定为准确的,并因此被用于更新日志模型400。在另一种实现方式中,当与源发言者402的确定相关联的置信度水平超过阈值置信度水平时,可以更新日志模型400。例如,当预测源发言者402中的日志模型400的置信度超过85%时,可以将相应的语音和确定的源发言者添加到日志模型400作为进一步的训练数据。
在另一种实现方式中,基于训练音频波形410和身份数据420获得的训练数据(即,监督训练数据)可以被分配与基于无身份音频波形430获得的训练数据(即,无监督训练数据)不同的权重。即,监督训练数据可以被分配比无监督训练数据更高的权重。因此,通过分类模型400的任何错误分类可能不会明显影响进一步分类的准确度,因为分类模型400可以很大程度上由初始监督训练数据和大量正确分类的无监督训练数据确定。
V示例诊断模型训练和适配
图5A,5B和5C示出了日志模型400的示例性波形处理流水线。具体地,日志模型可包括波形嵌入模型500和向量分类模型520。波形嵌入模型500定义了组成音频波形(并且可以说是定义了波形空间)的样点到N维向量空间的数学变换。因此,波形嵌入模型500可被配置为基于音频波形502产生嵌入向量504。音频波形502可以表示具有预定持续时间和/或预定样点数目的单个语音。嵌入向量504可以包括表示N维向量空间中的音频波形502的多个值X1-XN(即,X1、X2、X3、X4、X5、X6、X7、X8、X9和X10到XN)。
波形嵌入模型500可被实现为可由处理器(例如,处理器206)、可编程电路(例如,现场可编程门阵列(FPGA))、专用电路(例如,ASIC)或其组合执行的软件指令。波形嵌入模型500可以通过基于表示多个样点发言者的多个样点语音的多个样点波形的训练来经验地定义。即,波形嵌入模型500的参数可以由计算设备学习,而不是由程序员预先确定。波形嵌入模型可包括和/或由人工神经网络(ANN)(如,深ANN)组成。
值得注意的是,可以使用损失函数来训练波形嵌入模型500,使得听起来相似的两个发言者的语音的相应嵌入向量在N维向量空间中靠近在一起,而听起来明显不同的两个发言者的语音的相应嵌入向量在N维向量空间中远离。例如,损失函数可以使得具有相同标签的可听语音特征(例如,发言者年龄、发言者性别、发言者语音范围、发言者语音音色等)被分组在一起,并且具有不同标签的可听语音特征在向量空间中被推开。波形嵌入模型500可以在它被用作翻译应用的一部分之前(例如,在翻译应用被用于翻译语音之前)被训练,尽管它可以被周期性地更新。相反,如将要解释的,当使用翻译应用来翻译语音时,可以训练向量分类模型520。
嵌入向量504的值X1-XN可以表示与音频波形502相关联的物理属性或特性。因此,值X1-XN可用于确定两种不同语音的属性或特征的相似性。即,两个不同语音的N维空间中的相应嵌入向量之间的距离可以表示两个不同语音之间的相似性。例如,当距离较小时,语音的物理特性可能比距离大时更相似。可以绘制向量的值的子集以图示两个不同语音的物理属性之间的相似度。为此,图5A示出了分别沿水平和垂直轴绘制的嵌入向量504的第一维DIM1的值X1和嵌入向量504的第二维DIM1的值X2的曲线图506。图506可以是为了说明而生成的嵌入向量504的尺寸减小的版本,而嵌入向量504的整体可用于其他目的。
落入嵌入向量504的图形表示508的阈值510内的其他向量可被认为是类似的,因为它们表示具有类似物理属性或特性的语音的音频波形。值得注意的是,尽管为了简化说明,图506仅示出了二维,但是本文讨论的概念可以扩展到N维。例如,在三维的情况下,阈值510可以图形地表示为球形而不是圆形。在一个示例中,两个向量之间的距离可以是欧几里得距离。即,对于具有值X11到X1N的第一向量X1和具有值X21到X2N的第二向量X2,距离d可以定义为在另一示例中,两个向量之间的距离可以是余弦距离或另一距离度量。因此,具有相似物理性质的语音可以生成波形,当嵌入到由波形嵌入模型500定义的N维空间中时,该波形落入彼此的阈值距离内。
在一些情况下,值X1-XN中的一些可以是人类可解释的。即,一些值可以提供由音频波形502表示的语音的物理特性的显式度量。在其他情况下,值X1-XN可能不是人类可解释的,但是仍然可以通过例如向量分类模型520来解释,并且用于确定语音的发言者。因此,虽然值X1-XN本身可能不是人类可解释的,但是值X1-XN可以被组合,变换和/或以其他方式由其他模型和/或算法处理以生成人类可解释的输出。
图5B和5C示出了日志模型400的示例训练过程。即,训练音频波形410和身份数据420可以作为输入提供给波形嵌入模型500。训练音频波形可以包括由第一发言者发出的第一多个语音和由第二发言者发出的第二多个语音,其中的每一个可以由身份数据420指定、指示或以其他方式标记。基于第一多个语音,波形嵌入模型500可被配置为生成第一发言者的第一多个嵌入向量512和第二发言者的第二多个嵌入向量514。在图516中示出了嵌入向量512,并且在图518中示出了嵌入向量,以示出不同发言者的嵌入可以在向量空间中在空间上分离。值得注意的是,为了图示清楚,图516和518示出了相应嵌入向量的两个维度。嵌入向量512和514可以包括图516和518中未示出但可以在发言者日志中使用的多个附加维度。
由波形嵌入模型500生成的嵌入向量512和嵌入向量514可以作为输入提供给向量分类模型520。如图5B所示,向量分类模型可以包括k最近邻模型524、最近质心模型526和/或高斯分布朴素贝叶斯模型528中的一个或多个,以及其他类似的可能的机器学习模型。模型524、526和528中的每一个可被配置为在一个或多个类别(例如,第一发言者对第二发言者)中对向量分类。图5C还示出了组合到单个图522中的图516和518的嵌入向量。值得注意的是,嵌入向量512和嵌入向量514各自形成不同的点簇,从而允许基于与任一簇的接近度对另外的嵌入向量进行分类。
训练日志模型400可以包括训练k最近邻模型524、最近质心模型526和/或高斯分布朴素贝叶斯模型528中的一个或多个。训练k最近邻模型524可以包括通过波形嵌入模型500计算嵌入向量512和514。换句话说,作为这种类型的模型的特性的结果,训练可以简单地涉及确定第一多个语音和第二多个语音的嵌入,而没有这些嵌入的任何附加变换。因此,k最近邻模型524的图530和图522是相同的。基于图530中最靠近该嵌入向量的k(例如,3)个点,对应于未分类语音的嵌入向量可被分类为属于第一发言者或第二发言者。
另一方面,训练最近质心模型526可以包括确定嵌入向量512和嵌入向量514的质心。图532示出了嵌入向量512的第一质心(黑色)和嵌入向量514的第二质心(交叉阴影线)。每个质心可以表示其相应的嵌入向量组的空间平均值。当嵌入向量被分配权重时,空间平均值可以根据这样的权重被加权。基于嵌入向量更接近第一质心或第二质心,对应于未分类语音的嵌入向量可被分类为属于第一发言者或第二发言者。
此外,训练高斯分布朴素贝叶斯模型528可以包括确定嵌入向量512和嵌入向量514的平均值(即,平均值)和标准偏差。因此,可以将相应的高斯分布(即,正态分布)拟合到关于其每一维的嵌入向量512,并且可以将相应的高斯分布拟合到关于其每一维的嵌入向量514。曲线图534示出了嵌入向量512相对于其第一维的第一高斯分布540和嵌入向量512相对于其第二维的第二高斯分布542。类似地,曲线图534还示出了嵌入向量514相对于其第一维的第一高斯分布546和嵌入向量514相对于其第二维的第二高斯分布544。高斯分布540、542、544和546中的每一个可以与相应的平均值和标准偏差相关联。
基于嵌入向量更可能属于第一发言者的高斯分布型(例如540和542)或第二发言者的高斯分布型(例如544和546),对应于未分类语音的嵌入向量可被分类为属于第一发言者或第二发言者。具体地,该可能性可以通过应用贝叶斯规则/定理结合相应的高斯分布所指示的概率来计算。即,根据贝叶斯法则,在观测到嵌入向量E的情况下说话人是第一说话人S1的概率是在观测到嵌入向量E的情况下说话人是第二说话人S2的概率是
一旦被训练,日志模型400可用于识别新语音的发言者。图6A和6B示出了在例如无身份的音频波形430中的语音432上操作的训练的日志模型400。语音432在曲线图600中图示出。将语音432作为输入提供给波形嵌入模型500,该波形嵌入模型500基于其生成嵌入向量602。嵌入向量602的两个维度的值由图604示出。
然后,嵌入向量602被作为输入提供给向量分类模型520,其可以将嵌入向量602与模型524、526和/或528中的一个或多个进行比较,以确定源发言者置信度度量606。例如,图530示出了与嵌入向量512(黑点)和嵌入向量514(交叉阴影点)并排绘制的嵌入向量602(白点)。嵌入向量602的三个最近邻居是黑点。因此,嵌入向量602可以被分类为属于黑点簇,从而表示第一发言者的语音。在k最近邻模型524的情况下,可以基于大多数k个最接近的其他嵌入向量的类别来对未分类的嵌入向量进行分类。源发言者置信度度量606可以等于构成多数的嵌入向量的数目除以k。因此,例如,如果四个黑点和一个白点是最接近嵌入向量602的向量,则置信度度量606将等于4/5。值得注意的是,在一些情况下,置信度量606的计算可以考虑与每个嵌入向量相关联的权重和/或嵌入向量602与K个最近向量中的每一个之间的距离。
尽管未示出最近质心模型526的曲线图,但是嵌入向量602可以类似地相对于在曲线532中示出的两个质心绘制。嵌入向量602可以基于与两个质心之一比与另一个更接近来分类。例如,如曲线图604所示,嵌入向量602比第二交叉阴影质心更接近曲线图532所示的第一黑色质心。因此,嵌入向量602将被分类为表示第一发言者的语音。由变量C表示的置信度度量606可以根据下式来计算,其中D1表示嵌入向量602和第一质心(或该距离的某个三角分量)之间的距离,D2表示嵌入向量602和第二质心(或该距离的某个三角分量)之间的距离。
此外,曲线图534示出了在高斯分布朴素贝叶斯模型528的高斯分布540、542、544和546旁边绘制的嵌入向量602(白点)。如上所述,可以基于嵌入向量602被观察为第一发言者的高斯分布(例如,540和542)或第二发言者的高斯分布(例如,544和546)的一部分的似然性,将嵌入向量602分类为属于第一发言者或第二发言者。在这种情况下,置信度度量606可以是(i)嵌入向量602被观察为第一发言者的高斯分布的一部分的概率或(ii)嵌入向量602被观察为第二发言者的高斯分布的一部分的概率中的较大者。
在一些实现方式中,当源发言者置信度度量606超过阈值置信度值(例如,75%)时,由向量分类模型520确定的发言者可以被日志模型400输出为源发言者402。当置信度度量606低于阈值置信度值时,日志模型400可指示不能以足够的准确度确定源发言者402。
此外,一旦日志模型400确定嵌入向量602的源发言者,则可以使用该信息来更新日志模型400。即,嵌入向量602可被添加到模型524、526和/或528中的一个或多个,这可通过将表示嵌入向量602的白点在图形530-534中转变为黑色、调整质心的位置,和/或调整高斯540、542、544和/或546的大小来可视地表示。取决于实现方式,当置信度量606超过某个阈值水平时,当向量602的分类是外部可验证的(例如,基于所捕捉的图像帧)时,通过向嵌入向量602分配与同身份数据相关联的其它向量不同的权重,和/或任意置信度和/或权重的任意选择,嵌入向量602可用于更新向量分类模型520。
值得注意的是,可以基于每个对话来确定日志模型。也就是说,每当两个用户进行对话时,可以生成、训练、使用和更新新的日志模型。此外,可以通过执行翻译应用的计算设备来生成、执行和存储日志模型。因此,专用于特定用户的日志模型的各方面可能不与其他计算设备共享。另外,通过在本地而不是例如在基于云的平台上执行日志模型,可以减少由这种平台使用的处理功率、电功率和网络带宽的量。此外,因为其不依赖于网络连接的速度,所以日志模型可以在很少到没有等待时间的情况下操作。
在一些实现方式中,一旦会话结束,就可以丢弃日志模型。因此,指示发言者的语音的特征的信息可能不被存储长于单个对话的持续时间。在其他实现方式中,可以存储与在其上执行翻译应用的计算设备的所有者相关联的日志模型的一部分,以用于进一步的对话,使得不需要重新生成该部分。发言者能够选择输入和/或选择输出这种模型存储器。因此,产生、维护和/或丢弃日志模型的方式有助于发言者专用数据的保密性。
另外,尽管本文在翻译应用的上下文中讨论了日志模型400,但是本文公开的日志模型400和其他技术可以应用于多个其他应用中。例如,日志模型和模型和相应的UI实现为语音转录应用的一部分。即,具有相同语言的对话的两个或更多个用户最初可以轮流通过UI指示哪个用户正在说话。转录应用可以生成指示谁说什么的对话的文本表示,而不是翻译语音。在另一示例中,相机应用可以被配置为控制可移动相机聚焦于活动发言者,作为涉及三个或更多个发言者的视频会议的一部分。由于相机可能不能同时看到每个可能的发言者,所以相机可以响应于确定该发言者当前正在说话而旋转到特定发言者的最后已知位置。利用或依赖于日志的其他实现方式是可能的。
此外,虽然翻译应用被描述为由单个计算设备执行,但是在一些实施例中,在两个不同计算设备上执行的翻译应用的两个不同实例可以彼此协调以提供类似的翻译体验。这些设备可以无线通信,从而允许每个发言者使用它们自己的设备与另一个发言者通话。
VI附加示例操作
图7示出了与确定发言者在特定时间说话相关的操作的流程图。这些操作可以由计算系统100、计算设备200和/或计算设备342等来执行。然而,该过程可以由其他类型的设备或设备子系统来执行。例如,该过程可以由便携式计算机执行,诸如膝上型计算机或平板设备。
图7的实施例可以通过去除其中所示的任何一个或多个特征来简化。此外,这些实施例可以与任何先前附图或在本文以其他方式描述的特征、方面和/或实现方式相结合。
框700可以涉及由计算设备接收在初始时间窗口期间捕获的并且表示第一语音和第二语音的第一音频波形。
框702可涉及由计算设备接收指示(i)第一语音对应于第一发言者和(ii)第二语音对应于第二发言者的第一类型的身份数据。
框704可以涉及由该计算设备基于第一语音、第二语音以及第一类型的身份数据来确定日志模型,该日志模型被配置为区分该第一发言者的语音与该第二发言者的语音。
框706可以涉及由计算设备并且仅接收指示第三语音的源发言者的第一类型的另外的身份数据来接收在后续时间窗口期间捕获的并且表示第三语音的第二音频波形。
框708可以涉及由计算设备通过日志模型并且独立于第一类型的另外的身份数据来确定第三语音的源发言者。源发言者可以被确定为第一发言者或第二发言者。
框710可涉及由计算设备基于第三语音和所确定的源发言者来更新日志模型。
在一些实施例中,计算设备可以被配置为通过计算设备的用户界面并且在接收身份数据和第一音频波形之前显示用于输入身份数据的视觉提示。
在一些实施例中,可以接收第二音频波形而不显示另外的身份数据的视觉提示。
在一些实施例中,第一音频波形可表示第一发言者的第一多个语音和第二发言者的第二多个语音。计算设备可以被配置为确定在区分第一多个语音和第二多个语音中的日志模型的准确度。计算设备还可以被配置为确定准确度超过阈值准确度,并且基于确定准确度超过阈值准确度,修改用户界面以从其移除视觉提示。
在一些实施例中,视觉提示可以包括指示(i)第一发言者将在初始时间窗口期间说话持续至少第一时间段,以及(ii)第二发言者将在初始时间窗口期间说话持续至少第二时间段的指令。第一时间段和第二时间段可以互相排斥。接收身份数据可以包括在第一时间段期间捕获表示第一语音的第一音频波形的第一部分,以及在第二时间段期间捕获表示第二语音的第一音频波形的第二部分。
在一些实施例中,接收身份数据还可以包括在计算设备处检测与第一音频波形分离的第一用户输入。计算设备可以被配置为响应于检测到第一用户输入而开始捕获表示第一语音的第一音频波形的第一部分。
在一些实施例中,接收身份数据还可以包括在计算设备处检测与第一音频波形分离的第二用户输入。计算设备可以被配置为响应于检测到第二用户输入而开始捕获表示第二语音的第一音频波形的第二部分。
在一些实施例中,接收身份数据可以包括通过计算设备的用户界面接收对与第一发言者相对应的第一按钮的选择。响应于第一按钮的选择,可以捕获表示第一语音的第一音频波形的第一部分。接收身份数据还可以包括通过用户界面接收对与第二发言者相对应的第二按钮的选择。可以响应于第二按钮的选择而捕获表示第二语音的第一音频波形的第二部分。
在一些实施例中,接收身份数据可以包括从相机设备接收表示说出第一语音的第一发言者的第一图像帧。表示第一语音的第一音频波形的第一部分可基于表示说出第一语音的第一发言者的第一图像帧而与第一发言者相关联。接收身份数据还可以包括从相机设备接收表示说出第二语音的第二发言者的第二图像帧。表示第二语音的第一音频波形的第二部分可基于表示说出第二语音的第二发言者的第二图像帧而与第二发言者相关联。
在一些实施例中,该日志模型可以包括波形嵌入模型,该波形嵌入模型被配置为(i)接收波形的一部分作为输入,以及(ii)生成包括表示该波形的该部分的特性的多个值的嵌入向量。该分类模型还可以包括向量分类模型,该向量分类模型包括以下各项中的一项或多项:(i)基于嵌入向量的最近质心模型,(ii)基于嵌入向量的k最近邻模型,或(iii)基于嵌入向量的高斯分布新贝叶斯模型。
在一些实施例中,向量分类模型可以包括最近质心模型。确定日志模型可以包括通过波形嵌入模型生成与表示第一语音的第一音频波形的相应第一部分相对应的第一多个嵌入向量。确定日志模型还可以包括通过波形嵌入模型生成与表示第二语音的第一音频波形的相应第二部分相对应的第二多个嵌入向量。确定日志模型还可以包括确定(i)基于第一多个嵌入向量的第一质心和(ii)基于第二多个嵌入向量的第二质心。
在一些实施例中,确定第三语音的源发言者可以包括通过波形嵌入模型生成对应于表示第三语音的第二音频波形的第三部分的第三嵌入向量。确定第三语音的源发言者还可包括确定(i)第三嵌入向量与第一质心之间的第一距离和(ii)第三嵌入向量与第二质心之间的第二距离。确定第三语音的源发言者还可以包括确定第一距离小于第二距离,并且基于确定第一距离小于第二距离,确定第一发言者是第三语音的源发言者。
在一些实施例中,向量分类模型可以包括高斯分布朴素贝叶斯模型。确定日志模型可以包括通过波形嵌入模型生成与表示第一语音的第一音频波形的相应第一部分相对应的第一多个嵌入向量。确定日志模型还可以包括通过波形嵌入模型生成与表示第二语音的第一音频波形的相应第二部分相对应的第二多个嵌入向量。确定所述日志模型还可以包括确定(i)基于第一多个嵌入向量的第一平均值和第一标准偏差,以及(ii)基于第二多个嵌入向量的第二平均值和第二标准偏差。
在一些实施例中,确定第三语音的源发言者可以包括通过波形嵌入模型生成对应于表示第三语音的第二音频波形的第三部分的第三嵌入向量。确定第三语音的源发言者还可以包括(i)基于第一平均值和第一标准偏差确定第三嵌入向量属于第一多个嵌入向量的第一概率,以及(ii)基于第二平均值和第二标准偏差确定第三嵌入向量属于第二多个嵌入向量的第二概率。确定第三语音的源发言者还可以包括确定第一概率高于第二概率,并且基于确定第一概率高于第二概率,确定第一发言者是第三语音的源发言者。
在一些实施例中,确定日志模型可以包括(i)通过波形嵌入模型生成对应于表示第一语音的第一音频波形的相应第一部分的第一多个嵌入向量,以及(ii)通过波形嵌入模型生成对应于表示第二语音的第一音频波形的相应第二部分的第二多个嵌入向量。向量分类模型可以包括k最近邻模型。确定第三语音的源发言者可以包括通过波形嵌入模型生成对应于表示第三语音的第二音频波形的第三部分的第三嵌入向量。确定第三语音的源发言者还可以包括确定最接近第三嵌入向量的k个点。确定第三语音的源发言者还可以包括:针对k个点中的每个相应点,确定该相应点是属于第一多个嵌入向量还是属于第二多个嵌入向量。确定第三语音的源发言者还可包括基于属于第一多个嵌入向量或第二多个嵌入向量的每个相应点来确定源发言者。
在一些实施例中,更新日志模型可以包括确定第三语音的第三多个嵌入,以及更新向量分类模型以在其中包括第三多个嵌入的至少一部分。
在一些实施例中,更新该日志模型可以包括在确定该第三语音的源发言者时确定该日志模型的置信度,确定该置信度超过阈值置信度,以及基于确定该置信度超过该阈值置信度来更新该日志模型。
在一些实施例中,可以在模型内为形成日志模型的每个语音分配相应的权重。更新该日志模型可包括向该第三语音指派第三权重,该第三权重低于(i)指派给该第一语音的第一权重或(ii)指派给该第二语音的第二权重中的至少一个。
在一些实施例中,计算设备可以被配置为接收指示(i)第一语音对应于第一发言者和(ii)第二语音对应于第二发言者的第二类型的身份数据。计算设备还可以被配置为接收指示第三语音的源发言者的第二类型的另外的身份数据。计算设备还可以被配置为基于第二类型的另外的身份数据,通过日志模型来验证源发言者的确定。
在一些实施例中,第一类型的身份数据可表示通过计算设备的用户界面提供的输入。第二类型的身份数据可以包括通过连接到计算设备的相机捕获的图像数据。
VII结论:
本公开不限于本申请中描述的特定实施例,这些特定实施例旨在说明各个方面。在不脱离其范围的情况下可以进行许多修改和变化,这对于本领域技术人员来说是显而易见的。除了在本文描述的那些方法和部件之外,在本公开的范围内的功能上等同的方法和部件对于本领域技术人员从前述描述中将是显而易见的。这些修改和变化旨在落入所附权利要求的范围内。
以上详细描述参考附图描述了所公开的系统、设备和方法的各种特征和操作。在附图中,类似的符号通常表示类似的部件,除非上下文另有规定。本文和附图中描述的示例性实施例并不意味着是限制性的。在不脱离本文所呈现的主题的范围的情况下,可利用其他实施例,且可作出其他改变。将容易理解的是,如本文中一般性描述的以及在附图中示出的本公开的方面可以以各种各样的不同配置来布置、替换、组合、分离和设计。
关于附图中的任何或所有消息流程图、场景和流程图,并且如本文所讨论的,根据示例实施例,每个步骤、块和/或通信可以表示信息的处理和/或信息的传输。替换实施例包括在这些示例性实施例的范围内。在这些替代实施例中,例如,被描述为步骤、块、传输、通信、请求、响应和/或消息的操作可以不按所示或所讨论的顺序执行,包括基本上同时或以相反的顺序执行,这取决于所涉及的功能。此外,更多或更少的框和/或操作可以与本文讨论的消息流程图、场景和流程图中的任何一个一起使用,并且这些消息流程图、场景和流程图可以部分或整体地彼此组合。
表示信息处理的步骤或块可对应于可被配置为执行本文描述的方法或技术的特定逻辑功能的电路。可替代地或附加地,表示信息处理的块可以对应于模块、段或程序代码的一部分(包括相关数据)。程序代码可以包括可由处理器执行的用于实现该方法或技术中的特定逻辑操作或动作的一个或多个指令。程序代码和/或相关数据可以存储在任何类型的计算机可读介质上,诸如包括随机存取存储器(RAM)的存储设备、磁盘驱动器、固态驱动器或另一存储介质。
计算机可读介质还可以包括非瞬态计算机可读介质,诸如在短时间内存储数据的计算机可读介质,如寄存器存储器、处理器高速缓存和RAM。计算机可读介质还可包括存储程序代码和/或数据更长时间段的非暂时性计算机可读介质。因此,计算机可读介质可以包括次级或永久性长期存储,例如只读存储器(ROM)、光盘或磁盘、固态驱动器、光盘只读存储器(CD-ROM)。计算机可读介质还可以是任何其他易失性或非易失性存储系统。计算机可读介质可以被认为是例如计算机可读存储介质或有形存储设备。
此外,表示一个或多个信息传输的步骤或块可以对应于同一物理设备中的软件和/或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理设备中的软件模块和/或硬件模块之间。
附图中所示的具体不应被视为限制性的。应当理解,其他实施例可以包括或多或少的在给定附图中示出的每个元件。此外,一些示出的元件可以组合或省略。此外,示例性实施例可包括图中未示出的元件。
虽然本文已经公开了各种方面和实施方式,但是其他方面和实施例对于本领域技术人员而言是显而易见的。本文所揭示的各种方面和实施例是出于说明的目的而非旨在进行限制,其中真实范围由所附权利要求书指示。
在示例性实施例涉及与人或人的设备相关的信息的情况下,一些实施例可以包括隐私控制。这种隐私控制可以至少包括设备识别符的匿名化、透明度和用户控制。例如,实施例可以包括使用户能够修改或删除与用户对产品的使用有关的信息的功能。
此外,在本文讨论的实施例收集与用户相关的个人信息或者可以利用个人信息的情况下,可以向用户提供控制程序或特征是否收集用户信息(例如,关于用户的生理、社交网络、社交动作或活动、职业、用户的偏好或用户的当前位置的信息)的机会。因此,用户可以选择退出共享本文讨论的任何数据。
此外,某些数据可以在其被存储或使用之前以一种或多种方式来处理,从而去除个人可识别信息。例如,可以处理用户的身份,使得不能确定用户的个人可识别信息(例如,从表示用户的面部的照片),或者可以在获得位置信息的情况下概括用户的地理位置(诸如到城市、邮政编码或州级别),使得不能确定用户的特定位置。因此,用户可以控制如何收集关于用户的信息并由本文讨论的任何实施例使用。