一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

识别语音识别引擎的输入的制作方法

2022-02-22 03:19:19 来源:中国专利 TAG:

识别语音识别引擎的输入
1.相关申请的交叉引用
2.本技术根据35u.s.c.
§
119主张2019年4月19日提交的美国临时专利申请62/836,593的优先权,为所有目的该申请的全部内容通过引用并入此文。
技术领域
3.本公开一般地涉及处理语音信号的系统和方法,更具体地,涉及处理呈现给语音识别引擎的语音信号的系统和方法。


背景技术:

4.用于语音识别的系统的任务是通常经由一个或多个麦克风接收表示人类语音的音频输入,然后处理音频输入以确定与该音频输入相对应的词、逻辑结构、或其他输出。例如,自动语音识别(asr)系统可以基于与音频输入信号相对应的人类语音生成文本输出;自然语言处理(nlp)工具可以生成与人类语音含义相对应的逻辑结构或计算机数据。虽然一些asr系统可能对预先录制的大量语音进行操作—例如,一个系统的任务是创建前一天由麦克风录制的语音的书面抄本—但一些asr系统必须对实时提供的语音输入做出响应。实时语音处理给asr系统带来了一系列独特的挑战。例如,asr系统通常不是将语音作为单一的输入块来处理,而是作为一系列承载含义的单个单词或短语(“话语(utterance)”)来处理。
5.识别话语何时开始和结束对于asr系统准确处理用户的输入语音并提供所需的结果可能是至关重要的。例如,考虑与天气报告服务通信的实时“语音助手”asr系统:该asr系统可以接收来自询问天气的用户的语音输入(例如,“当前天气如何?”);将语音输入转换为结构化查询(例如,查询指示特定日期和时间以及特定位置的过去、当前或预测的未来的天气的数据);将结构化查询呈现给天气报告服务;从服务接收查询结果;并将查询结果呈现给用户。用户希望asr系统处理他或她的完整问题(而不是问题的单个片段),并迅速提供准确的响应。用户进一步希望asr系统将处理不需要遵循特定、严格格式的自然口语命令。在这个示例系统中,asr有责任实时识别用户的完整问题;并及时—理想情况下,在用户完成了问题的提问之后立即—处理问题以产生准确的响应。
6.在该示例系统中,响应的准确性可能取决于asr系统何时确定用户的问题(话语)完成。例如,用户可能会问:“明天天气如何?”如果asr系统在“天气怎么样”之后过早地确定话语完成,则它对天气服务的对应查询将省略修饰词“明天”,因此得到的响应将是不准确的(它不会反映用户期望的日期/时间)。相反,如果asr系统采取更保守的方法,并在处理话语之前等待几秒钟以确认整个话语已完成,则用户可能不会认为asr系统对他或她的命令有足够的响应(此外,在某些情况下,如此长的等待时段可能会因在话语中包含不相关的后续语音而造成不准确)。
7.asr系统努力解决这个迅速、实时地确定说话者的话语何时完成的问题。在一些系统中,使用固定的超时时段来确定话语的终结点:如果在语音输入之后,在超时时段的持续
时间(例如,750ms)内没有接收到语音,则语音输入可能被认为是话语的结束。但是,固定超时时段的解决方案并不完美:例如,在用户停顿以构思问题的情况下;用户暂时被打断的情况下;或者在用户的讲话不流利的情况下(例如,由于焦虑、语言障碍、环境干扰、认知负荷等),超时时段可能会在用户话语完成之前终止。相反,一旦用户的话语完成,响应至少会延迟超时时段的持续时间(在此期间asr系统确认没有收到进一步的输入),并且用户无法在这段持续时间内提供额外的语音输入(例如,属于新的话语)。这种交互限制了asr系统的实用性,并且可能无益地突显用户正在与机器而不是另一个人进行通信。
8.希望asr系统采用更直观的方法来确定用户何时完成提供话语。在普通的面对面交流中—在更轻度的电话交流中—人们使用各种情景线索来了解另一人何时已经结束谈话。例如,在说话者停顿时,人们会评估说话者的韵律、面部表情、眼睛注视、言谈举止、手势、和姿势,以指示说话者是说完了,还是只是在单个想法中间停顿了一下。asr系统可以使用类似的提示来识别用户的话语的开始和结束位置。如下所述,在一些示例中,asr系统可以从麦克风输入中识别这样的情景提示;在一些示例中,与一个或多个传感器(例如,作为可穿戴系统的一部分)通信的asr系统可以从这些传感器的输出中收集关于说话者的额外语音提示,并使用这些提示来识别话语边界,而不存在与常规解决方案相关的问题,诸如上述问题。


技术实现要素:

9.公开了一种向语音识别引擎呈现信号的方法。根据该方法的示例,从用户处接收音频信号。识别音频信号的一部分,该部分具有第一时间和第二时间。识别音频信号的一部分中的停顿,该停顿包括所述第二时间。确定停顿是否指示音频信号的话语的完成。根据确定停顿指示话语的完成,音频信号的一部分作为输入呈现给语音识别引擎。根据确定停顿不指示所述话语的完成,音频信号的一部分不作为输入呈现给语音识别引擎。
附图说明
10.图1示出了根据本公开的示例的示例可穿戴系统。
11.图2示出了根据本公开的示例的可以结合示例可穿戴系统使用的示例手持控制器。
12.图3示出了根据本公开的示例的可以结合示例可穿戴系统使用的示例辅助单元。
13.图4示出了根据本公开的一个或多个示例的示例可穿戴系统的示例功能框图。
14.图5示出了根据本公开的一个或多个示例的用于输入到示例asr系统的示例音频波形。
15.图6示出了根据本公开的一个或多个示例的使用asr系统处理声学语音信号的示例的流程图。
16.图7示出了根据本公开的一个或多个示例的使用asr系统处理声学语音信号的示例的流程图。
17.图8a-图8b示出了根据本公开的一个或多个示例的检测输入语音信号中的停顿的示例的流程图。
18.图9a-图9b示出了根据本公开的一个或多个示例的确定输入话语是否已经终止的
示例的流程图。
19.图10示出了根据本公开的一个或多个示例的对输入数据进行分类以确定与该输入数据相关联的概率的示例的流程图。
具体实施方式
20.在下面对示例的描述中,参考了形成其一部分的附图,并且在附图中通过图示示出了可以实践的特定示例。应当理解,在不脱离所公开示例的范围的情况下,可以使用其他示例并且可以进行结构改变。
21.示例可穿戴系统
22.图1示出了被配置为穿戴在用户的头部的示例可穿戴头部设备100。可穿戴头部设备100可以是更广泛的可穿戴系统的一部分,该可穿戴系统包括一个或多个组件,诸如头部设备(例如,可穿戴头部设备100)、手持控制器(例如,下面描述的手持控制器200)、和/或辅助单元(例如,下面描述的辅助单元300)。在一些示例中,可穿戴头部设备100可用于虚拟现实、增强现实、或混合现实系统或应用。可穿戴头部设备100可以包括一个或多个显示器,诸如显示器110a和110b(其可以包括左右透射显示器,以及用于将来自显示器的光耦合到用户眼睛的相关组件,诸如正交光瞳扩展(ope)光栅组112a/112b和出射光瞳扩展(epe)光栅组114a/114b);左右声学结构,诸如扬声器120a和120b(它们可以被安装在镜腿122a和122b上,并分别定位在用户的左耳和右耳附近);一个或多个传感器,诸如红外传感器、加速度计、gps单元、惯性测量单元(imu)(例如imu126)、声学传感器(例如,麦克风150);正交线圈电磁接收器(例如,所示的安装在左镜腿122a上的接收器127);远离用户取向的左右相机(例如,深度(飞行时间)相机130a和130b);以及朝着用户取向的左眼相机和右眼相机(例如,用于检测用户的眼睛运动)(例如,眼睛相机128和128b)。然而,在不脱离本发明的范围的情况下,可穿戴头部设备100可以结合任何合适的显示技术,以及任何合适数量、类型或组合的传感器或其他组件。在一些示例中,可穿戴头部设备100可以集成被配置为检测由用户话音生成的音频信号的一个或多个麦克风150;此类麦克风可以被放置在可穿戴头部设备中邻近用户嘴部。在一些示例中,可穿戴头部设备100可以集成网络特征(例如,wi-fi功能)以与包括其他可穿戴系统的其他设备和系统进行通信。可穿戴头部设备100还可以包括诸如电池、处理器、存储器、存储单元、或各种输入设备(例如,按钮、触摸板)之类的组件;或者可以被耦合到包括一个或多个这样的组件的手持控制器(例如,手持控制器200)或辅助单元(例如,辅助单元300)。在一些示例中,传感器可以被配置为输出头戴式单元相对于用户的环境的一组坐标,并且可以向执行即时定位与建图(slam)过程和/或视觉测程算法的处理器提供输入。在一些示例中,可穿戴头部设备100可以被耦合到手持控制器200和/或辅助单元300,如下文进一步描述的。
23.图2示出了示例可穿戴系统的示例移动手持控制器组件200。在一些示例中,手持控制器200可以与可穿戴头部设备100和/或下文描述的辅助单元300进行有线或无线通信。在一些示例中,手持控制器200包括将由用户握持的手柄部分220,以及沿顶部表面210设置的一个或多个按钮240。在一些示例中,手持控制器200可以被配置为用作光学跟踪目标;例如,可穿戴头部设备100的传感器(例如,相机或其他光学传感器)可以被配置为检测手持控制器200的位置和/或取向—其可通过扩展来指示握持手持控制器200的用户的手部的位置
和/或取向。在一些示例中,手持控制器200可以如上所述包括处理器、存储器、存储单元、显示器、或一个或多个输入设备。在一些示例中,手持控制器200包括一个或多个传感器(例如,上文关于可穿戴头部设备100描述的任何传感器或跟踪组件)。在一些示例中,传感器可以检测手持控制器200相对于可穿戴头部设备100或可穿戴系统的另一组件的位置或取向。在一些示例中,传感器可以被定位在手持控制器200的手柄部分220中,和/或可以被机械耦合到手持控制器。手持控制器200可以被配置为提供例如与按钮240的按下状态相对应的一个或多个输出信号;或手持控制器200的位置、取向、和/或运动(例如,经由imu)。这样的输出信号可以用作到可穿戴头部设备100的处理器、辅助单元300、或可穿戴系统的另一组件的输入。在一些示例中,手持控制器200可以包括一个或多个麦克风以检测声音(例如,用户的语音、环境声音),并且在一些情况下将与检测到的声音相对应的信号提供给处理器(例如,可穿戴头部设备100的处理器)。
24.图3示出了示例可穿戴系统的示例辅助单元300。在一些示例中,辅助单元300可以与可穿戴头部设备100和/或手持控制器200进行有线或无线通信。辅助单元300可以包括电池以提供能量来操作可穿戴系统的一个或多个组件,诸如可穿戴头设备100和/或手持控制器200(包括显示器、传感器、声学结构、处理器、麦克风、和/或可穿戴头设备100或手持控制器200的其他组件)。在一些示例中,辅助单元300可以包括诸如上文所述的处理器、存储器、存储单元、显示器、一个或多个输入设备、和/或一个或多个传感器。在一些示例中,辅助单元300包括用于将辅助单元附接到用户(例如,用户穿戴的腰带)的夹子310。使用辅助单元300来容纳可穿戴系统的一个或多个组件的一个优点是,这样做可以允许用户的腰部、胸部、或背部携带大或重的组件—这些身体部分相对适合支撑大而重的物体—而不是安装到用户的头部(例如,如果安装在可穿戴头部设备100中)或由用户的手部携带(例如,如果安装在手持控制器200中)。这对于相对重或大的组件(诸如,电池)可能特别有利。
25.图4示出了可以与示例可穿戴系统400相对应的示例功能框图,诸如可以包括上述示例可穿戴头部设备100、手持控制器200、和辅助单元300。在一些示例中,可穿戴系统400可用于虚拟现实、增强现实、或混合现实应用。如图4所示,可穿戴系统400可以包括示例手持控制器400b,这里被称为“图腾”(并且可以对应于上述手持控制器200);手持控制器400b可以包括图腾到头戴装置六自由度(6dof)图腾子系统404a。可穿戴系统400还可以包括示例可穿戴头部设备400a(其可以对应于上述的可穿戴头部设备100);可穿戴头部设备400a包括图腾到头戴装置6dof头戴装置子系统404b。在该示例中,6dof图腾子系统404a和6dof头戴装置子系统404b合作确定手持控制器400b相对于可穿戴头部设备400a的六个坐标(例如,在三个平移方向上的偏移和沿三个轴的旋转)。可以相对于可穿戴头部设备400a的坐标系来体现六个自由度。这三个平移偏移可以被表示为这样的坐标系中的x、y、和z偏移,被表示为平移矩阵,或被表示为一些其他表示。旋转自由度可以被表示为偏航、俯仰、和翻滚旋转的顺序;被表示为向量;被表示为旋转矩阵;被表示为四元数;或被表示为其他一些表示。在一些示例中,可穿戴头部设备400a中包括一个或多个深度相机444(和/或一个或多个非深度相机);和/或一个或多个光学目标(例如,上述手持控制器200的按钮240,或包括在手持控制器中的专用光学目标)可用于6dof跟踪。在一些示例中,手持控制器400b可以包括上述相机;并且头戴装置400a可以包括用于结合相机进行光学跟踪的光学目标。在一些示例中,可穿戴头部设备400a和手持控制器400b各自包括一组三个正交取向的螺线管,其用于
无线地发送和接收三个可区分的信号。通过测量在用于接收的每个线圈中接收到的三个可区分信号的相对幅度,可以确定手持控制器400b相对于可穿戴头部设备400a的6dof。在一些示例中,6dof图腾子系统404a可以包括惯性测量单元(imu),其用于提供关于手持控制器400b的快速移动的改进的准确度和/或更及时的信息。
26.在涉及增强现实或混合现实应用的一些示例中,可能需要将坐标从局部坐标空间(例如,相对于可穿戴头部设备400a固定的坐标空间)变换到惯性坐标空间,或变换到环境坐标空间。例如,对于可穿戴头部设备400a的显示器,需要此类变换以在相对于真实环境的预期位置和取向处呈现虚拟对象(例如,坐在真实椅子上、面朝前方的虚拟人,而不管可穿戴头部设备400a的位置和取向),而不是在显示器上的固定位置和取向上(例如,在可穿戴头部设备400a的显示器中的相同位置处)呈现虚拟对象。这可以保持虚拟对象存在于真实环境中的错觉(并且例如不会随着可穿戴头部设备400a移动和旋转而出现在真实环境中的不自然位置)。在一些示例中,可以通过处理来自深度相机444的影像以确定可穿戴头部设备400a相对于惯性或环境坐标系的变换,从而确定坐标空间之间的补偿变换(例如,使用即时定位与建图(slam)和/或视觉测距程序)。在图4所示的示例中,深度相机444可以被耦合到slam/视觉测距块406并且可以向块406提供影像。slam/视觉测距块406实施方式可以包括被配置为处理该影像并且确定用户头部的位置和取向的处理器,然后可以使用该位置和取向来识别头部坐标空间和真实坐标空间之间的变换。类似地,在一些示例中,从可穿戴头部设备400a的imu 409获得关于用户的头部姿势和位置的附加信息源。来自imu 409的信息可以与来自slam/视觉测距块406的信息集成以提供关于用户的头部姿势和位置的快速调整的改进的准确度和/或更及时的信息。
27.在一些示例中,深度相机444可以向手势跟踪器411提供3d影像,手势跟踪器411可以在可穿戴头部设备400a的处理器中实现。手势跟踪器411例如可以通过将从深度相机444接收的3d影像与存储的表示手势的图案进行匹配来识别用户的手势。识别用户的手势的其他合适技术将是显而易见的。
28.在一些示例中,一个或多个处理器416可以被配置为从头戴装置子系统404b、imu 409、slam/视觉测距块406、深度相机444、麦克风450接收数据;和/或手势跟踪器411接收数据。处理器416还可以从自6dof图腾系统404a发送和接收控制信号。处理器416可以被无线耦合到6dof图腾系统404a,诸如在未配备(untether)手持控制器400b的示例中。处理器416还可与附加组件通信,诸如视听内容存储器418、图形处理单元(gpu)420、和/或数字信号处理器(dsp)音频立体空间效果器422。dsp音频立体空间效果器422可以耦合到头部相关传递函数(hrtf)存储器425。gpu 420可以包括被耦合到左侧按图像调制光源424的左通道输出和耦合到右侧按图像调制光源426的右通道输出。gpu 420可以将立体图像数据输出到按图像调制光源424、426。dsp音频立体空间效果器422可以将音频输出到左扬声器412和/或右扬声器414。dsp音频立体空间效果器422可以从处理器419接收指示从用户到虚拟声源(可由用户例如经由手持控制器400b移动)的方向向量的输入。基于方向向量,dsp音频立体空间效果器422可以确定对应的hrtf(例如,通过访问hrtf,或通过内插多个hrtf)。dsp音频立体空间效果器422然后可以将所确定的hrtf应用于音频信号,诸如对应于由虚拟对象生成的虚拟声音的音频信号。这可以通过在混合现实环境中纳入用户相对于虚拟声音的相对位置和取向来增强虚拟声音的可信度和真实感—也就是说,呈现与用户期望相匹配的虚拟声
in moscow?(莫斯科的天气怎样?)”,其目的是接收该话语作为输入的asr系统将查询天气服务,并以莫斯科明天的天气预报做出响应。asr系统响应的速度和准确性将取决于asr系统确定用户话语的结束点。示例波形500在初始时间t0处开始。如果asr系统过早地确定话语在时间t1处(该时间落在短语“what's the weather(天气怎样)”之后和单词“tomorrow(明天)”之前)结束,则输入话语(即落在时间t0和时间t1之间的输入语音)将被确定为“what’s the weather(天气怎样)”。由于此输入话语缺少用户添加的限定词(即“tomorrow(明天)”和“in moscow(莫斯科)”),因此asr系统对此话语的响应将不符合用户的期望。例如,系统可能会返回用户当前位置(不是莫斯科)的当前天气(不是明天的天气)。类似地,如果asr系统确定话语在时间t2处(该时间落在短语“what’s the weather tomorrow(明天天气怎样)”之后和短语“in moscow(莫斯科)”之前,)结束,则输入话语(即落在时间t0和时间t2之间的输入语音)将被确定为“what’s the weather tomorrow(明天天气怎样)”,并且由此产生的响应将再次不符合用户的期望(莫斯科明天天气)。理想的asr系统可以确定话语的结束时间是t3,该时间恰好落在整个输入查询结束时刻,并且会正确地将输入话语识别为“what’s the weather in moscow(莫斯科天气怎样)”。
37.理想的asr系统也不包括输入信号中不属于输入话语的结尾部分。例如,如果asr系统确定话语在时间t4处结束,则输入话语将包括所有正确的输入语音(即“what’s the weather in moscow”(莫斯科天气怎样)),但也会包括无关信息(t3和t4之间的输入语音信号部分)。这种无关信息可能会在输入话语中引入错误,并且会进一步延迟asr系统的响应(即,至少延迟t3和t4之间的信号处理时间跨度),导致用户感知到响应不足。
38.一些asr系统可能错误地识别输入话语的终结点。例如,在以示例波形500作为输入呈现时,一些asr系统可能会错误地将话语的结束点识别为t1、t2、或t4,而不是t3。
39.图6示出了可以由asr系统执行的示例过程600。示例过程600使用超时时间间隔来确定输入话语何时终止;也就是说,当输入语音在超过超时时间间隔的时间段还没有被接收到时,话语被认为完成,并被呈现给asr引擎进行处理。如图所示,在阶段610从一个或多个麦克风602实时检测输入语音。在阶段620,过程600确定是否仍在接收输入语音;如果是,则认为输入话语正在进行,并且过程600返回到阶段610以继续检测输入语音。如果不是,则过程600查询超时时间间隔632是否已经结束。如果不是,则过程600返回到阶段610;如果是,则认为该话语完成(阶段640)。在阶段650,过程600然后将话语(或话语的某种表示)呈现给asr引擎660进行处理。asr引擎660可以生成输入话语的语音转文本表示。自然语言理解(nlu)引擎665可以基于该表示执行额外的处理。例如,nlu引擎665可以生成从asr引擎660输出的语音转文本表示的语义表示;确定输入话语表示对天气报告的请求;使用根据输入话语生成的结构化查询来查询天气报告服务;并接收来自天气报告服务的响应。在一些实施例中,过程600可以流式传输话语(或话语的某种表示)进行处理(例如,由asr引擎660)。在一些实施例中,asr引擎660可以返回或输出增量结果。在一些实施例中,nlu引擎665可以从asr引擎660接收输出以在话语终止之后进行处理。在阶段670,过程600可以从nlu引擎665接收响应,并且在阶段680将响应呈现给用户(例如,经由耦合到输出扬声器的文本转语音引擎)。
40.上述过程600容易出错,因为通过使用简单的超时时间间隔在阶段630和640终止输入话语,过程600可以在用户已经完成说出话语之前过早地终止话语。参考上述波形500,
这可能导致输入话语在时间t1或t2而不是t3终止。这可能发生在用户不经意间在单个话语的两个词之间插入非语音间隙时(例如,在示例波形500中,在“weather(天气)”和“tomorrow(明天)”之间或“tomorrow(明天)”和“moscow(莫斯科)”之间停顿)。如果这些间隙超过超时时间间隔632的长度,则过程600可能过早地确定输入话语已完成,即使用户仍在继续说该话语(这种情况在以下情况下尤为常见:即,其中用户需要额外的时间来构思他们的问题的复杂输入查询;或者用户具有语音障碍;或者用户在与麦克风或asr系统交互时感到焦虑)。
41.该问题不能简单地通过增加超时时间间隔632的长度来完全解决,因为在该时间间隔的持续时间与asr系统的感知响应性之间存在折衷。也就是说,即使超时时间间隔632可以增加以超过任何可能的话语内输入间隙—防止过程600过早地切断输入话语—asr系统也会等待该延长超时时间间隔的持续时间,然后再确定话语结束。这种延迟可能会惹恼用户,他们可能会将延迟视为无响应—尤其是与听众可以快速直观地了解讲话者何时说完的面对面人际互动相比。在一些实施例中,延迟可导致串扰—在用户感知到asr系统无响应并再次开始说话(例如,复述初始输入)时—这可能导致一连串错误。
42.图7示出了可以比过程600更迅速、准确地识别输入话语的示例过程700(例如,可以由asr系统执行)。在过程700中,如下所述,可以检测输入语音中的停顿,然后分析情景提示以指示停顿是否可能表示当前话语的完成(在这种情况下,话语可以被终止并呈现给asr引擎和nlu引擎),或者停顿是否指示当前话语是正在进行(在这种情况下,asr系统应继续检测当前话语)。
43.在过程700中,在阶段710从一个或多个麦克风602检测由用户呈现的音频输入(在一些示例中,作为麦克风输出的替代或补充,音频输入可以作为流数据或作为一个或多个数据文件接收)。该音频输入可以被存储在输入缓冲器或其他存储器中,以供过程700访问。在阶段720,过程700可以确定(例如,基于输入缓冲器和/或传感器数据,如下文更详细的描述)用户在呈现输入语音时是否停顿。如果未检测到停顿,则指示用户的当前话语正在进行,则该过程可以返回到阶段710以继续检测音频输入。如果在阶段720检测到停顿,则过程700可以在阶段730确定停顿指示当前话语的完成(而不是当前话语的继续)的可能性。例如,阶段720可以确定数字置信度,该值表示停顿指示当前话语完成的可能性。可以基于输入缓冲器和/或传感器数据的内容来做出该确定,如下文更详细地描述的。
44.在阶段732,过程700可以评估在阶段730处的检测到的停顿是否指示当前话语完成的确定。如果已经以足够的置信度(例如,以超过阈值的置信度水平)确定停顿指示当前话语完成,则过程700可以继续以终止话语(阶段740);将话语(阶段750)呈现给asr引擎(760);从nlu引擎(765)接收响应(阶段770);并将响应呈现给用户(阶段780)。这些步骤可以分别与上文关于过程600描述的阶段640、阶段650、asr引擎660、nlu引擎665、阶段670、和阶段680相对应。
45.如果过程700确定停顿不太可能指示当前话语已完成(例如,确定的置信度水平不满足阈值),则过程700在阶段732可以采取各种动作作为响应。在一些示例中,过程700可以调整或重置(阶段734)用于确定是否检测到停顿(诸如本文关于阶段720所描述的)的参数。例如,过程700在阶段734可以增加或重置在阶段720处用于检测输入语音中的停顿的超时时间间隔。如果过程700确定需要更多时间来确定用户是否打算完成当前话语,则这可能是
有益的。在一些示例中,过程700可以向用户呈现提示(阶段736),诸如进行附加输入的提示(例如,要求用户表明其是否已完成讲话的视和/或听提示)。这在不清楚当前话语是否完成的情况下是有益的—例如,在过程700返回小于但接近阈值的置信度的情况下。在一些示例中,当检测到停顿未指示当前话语完成时,过程700可以将当前话语与第二话语组合(阶段738);例如,将停顿之前的话语可以与停顿之后的第二话语连接起来,以便向语音识别引擎(例如,asr引擎和/或nlu引擎)呈现组合的话语。在一些示例中,过程700可以返回到阶段710以继续检测输入语音,而不用采取诸如关于阶段734、736、或738所描述的任何附加动作;在阶段730返回的置信度远低于终止当前话语所需的阈值的情况下,可以优选采取这种行为。
46.图8a示出了用于实现过程700的阶段720(诸如上面关于图7所描述的)的示例过程的流程图。在图中,可以评估音频输入数据810(例如,存储在输入缓冲器中的语音输入信号)以确定输入中的停顿的存在。在阶段820,该过程可以确定输入信号的一个或多个特性的值高于还是低于阈值持续了超过超时时间间隔的一个时段。在一些示例中,可以确定输入信号的幅度是否低于阈值幅度水平持续了超过超时时间间隔的一个时段。如果是,则可以指示用户的输入语音中的停顿(阶段860),例如上面关于图6所描述的。在一些实施例中,超时时间间隔的长度可取决于特性而变化。在一些示例中,频谱分析可以将语音信号识别为与其他环境或附带声音不同,并且可以确定分析的输出高于还是低于一个或多个阈值持续了超过超时时间间隔的一个时段。
47.然而,即使在阶段820确定超时时间间隔822尚未结束,该过程也可以检查音频输入数据810(阶段830)以确定语音数据是否包括指示输入语音中的停顿的语言提示(而非相对的静音)。这些语言提示可以包括用户的韵律特征(例如,节奏、语调、音色、音量)、尾随词的存在、结束词或短语(例如,完成语言请求时的“谢谢”)的存在等。这些语言提示可以指示当前话语完成,即使超时时间间隔尚未结束。在阶段840,该过程可以评估是否存在任何这样的语言提示,如果存在,则它们指示输入语音已停顿(阶段860)还是未停顿(阶段850)。在一些情况下,阶段840可以通过将在阶段830生成的置信度与阈值进行比较来做出该确定。通过评估语言提示的存在以指示话语已完成,甚至在超时时间间隔期满之前,该过程可以避免由于在呈现要处理(例如,由asr引擎和/或nlu引擎)的话语之前等待超时时间间隔终止而导致的无响应感,如上文所述。
48.图8b示出了用于实现过程700的阶段720的示例过程的流程图,其中使用传感器输入数据844代替或结合诸如上述的音频输入数据810。在一些示例中,如上所述,传感器输入数据844可以与来自诸如上文关于图1中的示例可穿戴头部设备100所描述的传感器的数据相对应。如上所述,这种可穿戴系统可以包括一个或多个传感器,这些传感器可以提供关于用户和/或可穿戴系统的环境的输入。例如,可穿戴头部设备100可以包括相机(例如,图4中描述的相机444)以输出与环境相对应的视觉信号;在一些示例中,相机可以是头戴式单元上的面向前方的相机(用于显示当前在可穿戴系统用户前方的内容)。在一些示例中,可穿戴头部设备100可以包括lidar单元、雷达单元、和/或声学传感器,其可以输出与用户环境的物理几何形状(例如,墙壁、物理对象)相对应的信号。在一些示例中,可穿戴头部设备100可以包括gps单元,其可以指示与可穿戴系统的当前位置相对应的地理坐标。在一些示例中,可穿戴头部设备100可以包括加速度计、陀螺仪;和/或惯性测量单元(imu)以指示可穿
戴头部设备100的取向。在一些示例中,可穿戴头部设备100可以包括环境传感器,诸如温度或压力传感器。在一些示例中,可穿戴头部设备100可以包括生物识别传感器,诸如虹膜相机;指纹传感器;眼睛跟踪传感器(例如,眼电图(eog)传感器),以测量用户的眼睛运动或眼睛注视;或测量用户的生命体征的传感器。在可穿戴头部设备100包括头戴式单元的示例中,这样的取向可以与用户的头部的取向相对应(并且,通过扩展,与用户的嘴部和用户的语音的方向相对应)。可以包括其他合适的传感器并且这些传感器可以提供传感器输入数据844。此外,在一些示例中,可以适当地利用可穿戴系统的这些传感器之外的传感器。例如,可以将与语音识别系统的麦克风相关联的传感器(例如,gps、imu)与可穿戴系统的传感器结合使用以确定用户与语音识别系统之间的相对距离和取向。
49.在阶段842,过程800可以检查传感器输入数据844以确定传感器数据是否包括指示输入语音中的停顿的非语言提示。这些非语言提示例如可以包括用户的眼睛注视的特征;头部姿势;手势;生命体征(例如,呼吸方式、心率);和面部表情。这些非语言提示可以指示当前话语完成,即使超时时间间隔尚未结束,并且甚至在没有诸如上面关于图8a所述的语言提示的情况下。例如,用户语音中的停顿可能对应于:用户眼睛注视目标的变化、用户头部姿势的变化、用户执行的手势、用户生命体征(例如,呼吸方式、心脏率)的变化、用户面部表情的变化、远离麦克风的移动或旋转的变化、用户姿势的变化或由传感器输入数据844指示的其他物理特征的变化、取向的变化、和/或上述特征中的任何一项或多项的变化。在阶段846,该过程可以评估是否存在任何这样的非语言提示,如果存在,则它们指示输入语音已停顿(阶段860)还是未停顿(阶段850)。在一些情况下,阶段846可以通过将在阶段842生成的置信度与阈值进行比较来做出该确定。如上所述,通过评估非语言提示的存在以指示话语已完成,甚至在超时时间间隔期满之前,该过程可以避免由于在将话语呈现给语音识别引擎之前等待超时时间间隔终止而导致的无响应感,如上文所述。图8b示出了在不同阶段(即,阶段840和阶段846)分析的语言提示和非语言提示,一些示例可以组合地,在单个阶段中分析语言提示和非语言提示。
50.图9a示出了用于实现过程700的阶段730(诸如上面关于图7所描述的)的示例过程的流程图。在阶段730,过程700针对诸如上述在阶段720识别的停顿确定停顿是否可能与当前话语的终止相对应。在图9a中,可以在阶段920评估音频输入数据910(例如,存储在输入缓冲器中的语音信号,其可以对应于上述810)以确定音频输入数据中间隙声音的存在。间隙声音可以是输入音频中出现的指示当前话语尚未完成(诸如用户正在思考)的单词、短语、音节或其他发声。例如,间隙声音可以包括犹豫声音(例如,“um(呃)”、“uh(嗯)”);延长的音节(例如,在“i'mgoing to(我打算去)”短语末尾延长的“to(ooo)(去)”);重复(例如,“and、and、and......(和、和、和
……
)”);尾随填充词(例如,“like(像)”、“i mean(我是说)”)、和/或用户可能提供属于当前话语的附加输入音频的其他指示。这种间隙声音可以特定于单独的用户、特定语言或口头输入的类型(例如,问题、说明语句)。如下所述,可以采用各种分类器来识别间隙声音。
51.在阶段930,该过程可以确定在阶段920是否检测到任何这种间隙声音。如果没有,则该过程可以推论(阶段970)当前话语已完成。如果存在间隙声音,则该过程在阶段940可以评估间隙声音是否指示当前话语正在进行。例如,犹豫声音的存在可以指示用户正在组织完整的话语(例如,“what’s the weather...uh...tomorrow(明天
……

……
天气怎
样)”)。类似地,延长的音节、重复、填充词、和其他间隙声音可以指示当前话语尚未完成。在一些示例中,阶段940可以生成置信度,指示存在间隙声音的可能性并指示当前话语是否完成。
52.在阶段950,如果在阶段940确定当前话语正在进行,则该过程可以推论(阶段960)当前话语未完成。如上面关于图7所描述的,这可能导致过程执行各种响应动作:例如,过程700可以延长超时时间间隔(例如,822),在该延长超时时间间隔中,为了检测停顿,提示用户进行额外的指示当前话语是否完成和/或将当前话语与第二话语结合起来的输入;或根本不采取任何动作。在一些示例中,执行哪个动作(如果有)取决于在阶段940生成的置信度;例如,响应于话语尚未完成的高置信度,过程700仅返回到阶段710以继续检测音频输入,而无需采取任何进一步的动作;并且响应于中等置信度(指示例如关于当前话语是否完成的不确定性),过程700可以明确提示用户进行额外输入(阶段736)。类似地,如果在阶段940确定当前话语完成,则该过程可以这样指示(阶段970),并且该过程可以继续将话语呈现给语音识别系统,诸如上述。
53.图9b示出了用于实现示例过程700的阶段730的示例过程的流程图,其中使用传感器输入数据942代替或结合诸如上述的音频输入数据910。传感器输入数据942可以对应于上述的传感器输入数据844:例如,传感器输入数据942可以由诸如上面关于图1中的示例可穿戴头部设备100描述的传感器输出。如上所述,此类传感器可以包括一个或多个相机(例如,rgb相机、深度相机);lidar单元;雷达单元;声学传感器;gps单元;加速度计;陀螺仪;imu;环境传感器;生物识别传感器(例如,虹膜相机、指纹传感器、眼睛跟踪传感器和/或用于测量用户生命体征的传感器)。可以包括其他合适的传感器并且这些传感器可以提供传感器输入数据942。此外,在一些示例中,可以适当地利用可穿戴系统的传感器之外的传感器。例如,如上所述,可以将与语音识别系统的麦克风相关联的传感器(例如,gps、imu)与可穿戴系统的传感器结合使用以确定用户与语音识别系统之间的相对距离和取向。
54.关于图9b,可以在阶段944评估传感器输入数据942以确定传感器数据是否指示当前话语正在进行,或者当前话语是否完成。例如,话语的完成(或未完成)可能对应于用户眼睛注视目标的变化、用户头部姿势的变化、用户执行的手势、用户生命体征的变化(例如,呼吸方式、心率)、用户面部表情的变化、远离麦克风的运动或旋转的变化、用户姿势的变化或由传感器输入数据944指示的其他物理特征的变化、取向的变化、和/或上述特征中的任何一项或多项的变化。在一些示例中,阶段944可以生成置信度,指示当前话语完成的可能性。基于在阶段944做出的确定(例如,通过将置信度水平与阈值进行比较),该过程在阶段950可以指示话语完成(阶段970)或未完成(阶段960)。
55.在上述过程700中,可以在一个或多个阶段评估输入数据(例如,音频数据、传感器数据)相对于如何将数据呈现给语音识别引擎(例如,asr引擎和/或nlu引擎)的重要性。例如,在过程720的阶段830,如上所述,可以评估音频输入数据以确定该数据是否包括当前话语完成的语言提示。在阶段842,如上所述,可以针对有关当前话语完成的非语言提示(例如,面部表情的变化)评估传感器数据。在阶段920,如上所述,可以评估音频输入数据以识别间隙声音的存在;并且在阶段940,可以评估这些间隙声音是否指示当前话语正在进行。在阶段944,如上所述,可以评估传感器输入数据以确定传感器输入数据是否指示当前话语正在进行。
56.在一些示例中,如上所述使用的音频输入数据和/或传感器输入数据可以根据一个或多个参数进行分类—产生一个或多个表示数据的分类器。这些分类器可用于(例如,由示例过程700)评估该数据的重要性(例如,与该数据相关联的概率)。图10示出了用于对输入数据1010进行分类以确定与该输入数据相关联的感兴趣的概率的示例过程1000。如本文所用,感兴趣的概率可以与上面关于示例过程700描述的概率相对应:音频输入数据和/或传感器输入数据指示输入语音中的停顿的概率;停顿指示话语完成的概率;和/或间隙声音的存在指示话语正在进行的概率;或其他合适的概率。关于图10,可以单独地或结合传感器输入数据1020使用音频输入数据1016来执行该确定。确定输入数据1010的概率值可以称为对输入数据1010进行“分类”,并且用于执行该确定(例如,1074)的模块或过程可以称为“分类器”。
57.在图10所示的示例过程中,输入数据1010(例如,音频输入数据1016和/或传感器输入数据1020)可以与语音/传感器数据1029(例如,来自数据库)结合使用以确定输入数据1010的一个或多个感兴趣的概率。在一些示例中,可以在阶段1075根据一个或多个参数对音频输入数据1016和/或传感器输入数据1020进行参数化/表征,以便促进基于语音/传感器数据1029对语音段进行分类。可以执行输入数据1010的傅里叶变换以提供输入数据1010的频谱表示(例如,指示音频输入数据1016和/或传感器输入数据1020中各种频率参数的相对普遍性的频率函数)。例如,该过程可以识别用户语音、位置、眼睛注视、和/或身体运动的幅度或分量频率的水平(或其变化);这些值可以指示用户语音中的停顿、间隙声音的存在、或用户话语的完成,如上文所述。在一些示例中,用户的特征—例如,用户的年龄、性别、和/或母语—可以用作表征输入数据1010的参数。其他对输入数据1010进行参数化(其中这些参数化用于确定输入数据的感兴趣的概率)的方式对于本领域技术人员来说是显而易见的。
58.在示例的阶段1076,针对输入数据1010的感兴趣的概率确定概率值1078。在一些示例中,可以使用语音/传感器数据1029确定概率值1078,诸如其中包括语音/传感器数据1029的数据库针对数据库中的语音和/或传感器数据的元素识别这些元素是否对应于输入语音。在一些示例中,音频输入数据1016可以包括一组与语音段相对应的音频波形;并且可以针对每个波形指示对应的语音段指示停顿还是间隙声音。在一些示例中,作为音频波形的替代或补充,音频输入数据1016可以包括与语音段相对应的音频参数。音频输入数据1016可以与语音/传感器数据1029的语音段进行比较—例如,通过将音频输入数据1016的音频波形与语音/传感器数据1029的类似波形进行比较,或通过将音频输入数据1016的参数(诸如可以在阶段1075表征)与语音/传感器数据1029的类似参数进行比较。基于这些比较,可以确定音频输入数据1016的概率值1078。
59.可以针对传感器输入数据1020应用类似的技术。例如,传感器输入数据1020可以包括原始传感器数据的序列;并且可以针对原始传感器数据指示该数据指示话语的停顿、完成还是继续。类似地,传感器输入数据1020可以包括与传感器数据相对应的传感器输入参数。传感器输入数据1020可以与语音/传感器数据1029的元素进行比较,诸如上文关于音频输入数据1016所述的。
60.基于输入数据1010来确定概率1078的技术是本领域技术人员所熟悉的。例如,在一些示例中,可以在阶段1076使用最近邻插值来将输入数据1010的元素与n维空间中的相
似数据元素进行比较(其中,n维例如可以包括上述音频参数、音频波形数据、传感器参数、或原始传感器数据);并且基于输入数据1010的元素与其在n维空间中的相邻元素之间的相对距离来确定概率值1078。作为另一示例,支持向量机可以在阶段1076用于基于语音/传感器数据库1029确定用于将输入数据1010的元素分类为指示话语完成或指示话语未完成的基础;以及用于根据该基础对输入数据1010进行分类(例如,确定输入数据1010指示完成的话语、停顿、或间隙声音的存在的概率值1078)。用于分析输入数据1010和/或语音/传感器数据1029、将输入数据1010与语音/传感器数据1029进行比较、和/或基于语音/传感器数据1029对输入数据1010进行分类以确定概率1078的其他合适的技术将是明显的;本公开不限于任何特定技术或技术组合。
61.在一些示例中,机器学习技术可以被单独使用或与本文描述的其他技术组合使用来确定概率值1078。例如,神经网络可以在语音/传感器数据1029上被训练,并且被应用于输入数据1010以确定该输入数据的概率值1078。作为另一示例,遗传算法可用于基于语音/传感器数据1029确定函数,从而确定与输入数据1010相对应的概率值1078。本领域技术人员熟悉的其他合适的机器学习技术将是显而易见的;本公开不限于任何特定技术或技术组合。
62.在一些示例中,语音/传感器数据1029可以通过为各种用户记录一组语音数据和/或传感器数据,并且针对该数据的元素识别用户已完成话语;已停顿他或她的语音;还是正在提供间隙声音来生成。例如,在用户的语音被记录时,可以观察到用户与一群人进行交互,其中语音识别系统位于同一房间内;还可以记录用户的传感器数据(例如,由用户穿戴的可穿戴系统的输出)。针对记录数据的每个区域,观察者可以识别该数据区域对应于停顿、提供间隙声音还是完成话语。通过观察用户说话的情景,该信息对观察者显而易见—通常,人类(与机器不同)基于用户的观察,很容易直观地确定用户是否已完成话语。可以针对多个用户重复此过程,直到生成足够大且多样化的语音/传感器数据集。
63.关于上述系统和方法,系统和方法的要素可以适当地由一个或多个计算机处理器(例如,cpu或dsp)实现。本公开不限于用于实现这些要素的计算机硬件(包括计算机处理器)的任何特定配置。在某些情况下,可以采用多个计算机系统来实现上述系统和方法。例如,第一计算机处理器(例如,耦合到麦克风的可穿戴设备的处理器)可用于接收输入麦克风信号,并执行这些信号的初始处理(例如,信号调节和/或分段,诸如上面所述的)。然后可以利用第二(也许计算能力更强大)处理器来执行计算量更大的处理,诸如确定与这些信号的语音段相关联的概率值。另一计算机设备,例如云服务器,可以托管语音识别引擎,最终向该语音识别引擎提供输入信号。其他合适的配置将是显而易见的并且在本公开的范围内。
64.尽管已经参考附图充分描述了所公开的示例,但是应当注意,各种改变和修改对于本领域技术人员来说将变得显而易见。例如,一个或多个实施方式的元素可以被组合、删除、修改或补充以形成进一步的实施方式。此类变化和修改应被理解为包括在由所附权利要求限定的公开示例的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献