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

一种语音处理方法、介质及系统与流程

2021-07-16 17:42:00 来源:中国专利 TAG:多个 介质 语音 实施 方法


1.本申请的一个或多个实施例通常涉及领域,具体涉及一种语音处理方法、介质及系统。


背景技术:

2.说话人识别,即声纹识别,属于生物特征识别技术,是一种通过对语音信号分析和提取来自动辨识和确认说话人身份的技术。
3.现有的说话人识别包括注册和验证两个阶段。在注册阶段,系统会要求注册人按照指定要求录入多句注册语音,系统内部会将这些注册语音转换成对应的说话人模型。在声纹验证阶段,系统对录入的验证语音进行特征分析和提取并与注册阶段生成的说话人模型进行相似度打分,并根据设定的阈值判断该验证语音是否匹配注册人。


技术实现要素:

4.以下从多个方面介绍本申请,以下多个方面的实施方式和有益效果可互相参考。
5.本申请的第一方面提供了一种语音处理方法,该方法可以包括:接收多个语音输入并从多个语音输入中提取多个语音特征;基于多个语音特征确定多个说话人特征;将多个说话人特征聚类为至少一个说话人特征类别,其中,至少一个说话人特征类别与至少一个说话人一一对应,并且至少一个说话人特征类别中的每个说话人特征类别包括多个说话人特征中的至少一个说话人特征;基于至少一个说话人特征类别,确定至少一个说话人模板,其中,至少一个说话人模板与至少一个说话人一一对应;和接收来自当前说话人的当前语音输入,并且基于当前语音输入和至少一个说话人模板,确定当前说话人是否与至少一个说话人中的一个说话人匹配。
6.根据本申请的实施例,不需要说话人专门进行语音注册,而是在跟说话人语音交互过程中,通过对不同的说话人的说话人特征进行聚类,获得与每个说话人相对应的说话人模板,以此来识别不同的说话人。因此,本申请的实施例可以实现无感注册,避免了注册给说话人带来的负体验。
7.在一些实施例中,基于多个语音特征确定多个说话人特征,包括:基于多个语音特征,通过声纹模型确定多个说话人特征;其中,声纹模型包括混合高斯-通用背景模型、i-vector模型、联合因子分析模型中的至少一种,并且多个说话人特征包括混合高斯-通用背景模型的超均值矢量、i-vector模型的i-vector矢量、联合因子分析模型的与说话人相关的超矢量中的至少一种。
8.在一些实施例中,基于至少一个说话人特征类别,确定至少一个说话人模板,包括:确定每个说话人特征类别内的至少一个说话人特征的均值或加权和;将至少一个说话人特征的至少一个均值或加权和作为至少一个说话人模板。
9.在一些实施例中,将多个说话人特征聚类为至少一个说话人特征类别,包括:基于多个说话人特征中每两个说话人特征之间的相似度,多个说话人特征中两个说话人特征之
间的偏移,以及多个说话人特征的密度分布中的至少一种,将多个说话人特征聚类为至少一个说话人特征类别。
10.在一些实施例中,接收来自当前说话人的当前语音输入,并且基于当前语音输入和至少一个说话人模板,确定当前说话人是否与至少一个说话人中的一个说话人匹配,还包括:接收来自当前说话人的当前语音输入,并从当前语音输入中提取当前语音特征;基于当前语音特征确定当前说话人特征;确定当前说话人特征是否与至少一个说话人模板中的一个说话人模板匹配;在确定当前说话人特征与一个说话人模板匹配的情况下,确定当前说话人与一个说话人模板对应的说话人匹配。
11.在一些实施例中,接收来自当前说话人的当前语音输入,并且基于当前语音输入和至少一个说话人模板,确定当前说话人是否与至少一个说话人中的一个说话人匹配,包括:基于当前说话人特征与至少一个说话人模板中的每个说话人模板之间的相似度,确定当前说话人是否与至少一个说话人中的一个说话人匹配。
12.在一些实施例中,该方法还包括:在确定当前说话人与一个说话人匹配的情况下,确定当前说话人的当前说话人特征的数量以及至少一个说话人特征类别中与一个说话人相对应的一个说话人类别中的至少一个说话人特征的数量之和是否等于第一阈值;在确定数量之和不等于第一阈值的情况下,基于当前说话人特征和与一个说话人特征类别中的至少一个说话人特征,更新与一个说话人相对应的说话人模板。
13.根据本申请的实施例,在成功匹配当前说话人之后,将当前说话人的说话人特征加入到与当前说话人相匹配的说话人特征类别中并更新该说话人特征类别的说话人模板,可以提高对说话人的识别准确度。
14.在一些实施例中,该方法还包括:在确定当前说话人与一个说话人匹配的情况下,确定当前说话人的当前说话人特征的数量以及至少一个说话人特征类别中与一个说话人相对应的一个说话人类别中的至少一个说话人特征的数量之和是否等于第一阈值;在确定数量之和等于第一阈值的情况下,将当前说话人特征加入多个说话人特征,形成经更新的多个说话人特征;将经更新的多个说话人特征聚类为经更新的至少一个说话人特征类别,其中,经更新的至少一个说话人特征类别与经更新的至少一个说话人一一对应,并且经更新的至少一个说话人特征类别中的每个经更新的说话人特征类别包括经更新的多个说话人特征中的至少一个说话人特征;基于至少一个经更新的说话人特征类别,确定经更新的至少一个说话人模板,其中经更新的至少一个说话人模板与经更新的至少一个说话人一一对应。
15.根据本申请的实施例,在成功匹配当前说话人之后,如果与当前说话人相匹配的说话人对应的说话人类别满足聚类条件,则对所有的说话人特征(包括当前说话人特征)重新进行聚类,从而更新说话人特征类别,以及说话人特征类别对应的说话人模板,如此,可以随着接收的语音输入的数量的增多,逐步地提高对说话人的识别准确度。
16.在一些实施例中,该方法还包括:在确定当前说话人不与至少一个说话人匹配的情况下,确定当前说话人的当前说话人特征的数量以及未包括在至少一个说话人特征类别中的至少一个说话人特征的数量之和是否大于或等于第二阈值;在确定数量之和大于或等于第二阈值的情况下,将当前说话人特征和未包括在至少一个说话人特征类别中的至少一个说话人特征聚类为至少一个其他说话人特征类别,其中,至少一个其他说话人特征类别
与至少一个其他说话人一一对应;基于至少一个其他说话人特征类别,确定至少一个其他说话人模板,其中,至少一个其他说话人模板与至少一个其他说话人一一对应。
17.根据本申请的实施例,在未成功匹配当前说话人之后,如果未被成功匹配的说话人的特征的数量满足聚类条件,则对这些未被成功匹配的说话人的特征进行聚类,从而获得新的说话人特征类别,以及新的说话人特征类别对应的新的说话人模板,如此,可以随着接收的语音输入的数量的增多,逐步地提高对说话人的识别准确度。
18.在一些实施例中,该方法还包括:在确定当前说话人不与至少一个说话人匹配的情况下,确定当前说话人的当前说话人特征的数量以及未包括在至少一个说话人类别中的至少一个说话人特征的数量之和是否大于或等于第二阈值;在确定数量之和大于或等于第二阈值的情况下,将当前说话人特征以及未包括在至少一个说话人类别中的至少一个说话人特征加入多个说话人特征,形成经更新的多个说话人特征;将经更新的多个说话人特征聚类为经更新的至少一个说话人特征类别;基于经更新的至少一个说话人特征类别,确定经更新的至少一个说话人模板,其中经更新的至少一个说话人模板与经更新的至少一个说话人一一对应。
19.根据本申请的实施例,在未成功匹配当前说话人之后,如果未被成功匹配的说话人的特征的数量满足聚类条件,则对所有的说话人特征(包括当前说话人特征)重新进行聚类,从而更新说话人特征类别,以及说话人特征类别对应的说话人模板,如此,可以随着接收的语音输入的数量的增多,逐步地提高对说话人的识别准确度。
20.在一些实施例中,该方法还包括,在确定当前说话人与多个说话人中的一个说话人匹配的情况下,通过与当前说话人的交互,获取当前说话人的当前用户标识;和将当前用户标识和至少一个说话人特征类别中的一个说话人特征类别以及至少一个说话人模板中的一个说话人模板相关联,其中一个说话人特征类别以及一个说话人模板与一个说话人相对应。
21.根据本申请的实施例,通过确定说话人的用户标识,可以向说话人提供更加个性化、更加智能的交互体验。
22.在一些实施例中,当前用户标识包括当前说话人的姓名、性别、年龄、权限、喜好中的至少一种。
23.在一些实施例中,该方法还包括:接收来自下一个说话人的下一个语音输入,并且基于下一个语音输入和至少一个说话人模板,确定下一个说话人是否与至少一个说话人中的一个说话人匹配;在确定下一个说话人与一个说话人匹配的情况下,用当前用户标识识别下一个说话人。
24.在一些实施例中,该方法还包括:在至少一个经更新的说话人特征类别中的一个经更新的说话人特征类别包括多个说话人特征并且多个说话人特征与多个用户标识相关联的情况下,确定与多个说话人特征中最大数量的说话人特征相关联的一个用户标识;和将一个用户标识与至少一个经更新的说话人模板中的一个说话人模板相关联,其中一个经更新的说话人模板与一个经更新的说话人特征类别相对应,其中,多个用户标识中的每个用户标识包括说话人的姓名、性别、年龄、权限、喜好中的至少一种。
25.在一些实施例中,该方法还包括:基于当前说话人的当前语音输入,确定当前说话人的声音属性;和在确定当前说话人与多个说话人中的一个说话人匹配的情况下,将声音
属性和与一个说话人相对应的说话人特征类别相关联。
26.根据本申请的实施例,通过确定说话人的声音属性信息,可以向说话人提供更加个性化、更加智能的交互体验。
27.在一些实施例中,声音属性包括声音的年龄属性、声音的性别属性中的至少一种。
28.本申请的第二方面提供一种机器可读介质,在该介质上存储有指令,当指令在机器上运行时,使得机器执行以上任意一种语音处理方法。
29.本申请的第三方面提供一种系统,该系统包括:处理器;存储器,在存储器上存储有指令,当指令被处理器运行时,使得系统执行以上任意一种语音处理方法。
附图说明
30.图1示出了根据本申请实施例的说话人识别的一种场景示意图;
31.图2示出了根据本申请实施例的说话人识别装置的一种结构示意图;
32.图3示出了根据本申请实施例的说话人模板获取模块的一种结构示意图;
33.图4示出了根据本申请实施例的当前说话人与说话人识别装置之间的语音交互的一种场景示意图;
34.图5示出了根据本申请实施例的说话人识别方法的一种流程示意图;
35.图6示出了根据本申请实施例的说话人识别方法的另一种流程示意图;
36.图7示出了根据本申请实施例的说话人识别方法的另一种流程示意图;
37.图8示出了根据本申请实施例的系统的一种结构示意图。
具体实施方式
38.下面结合具体实施例和附图对本申请做进一步说明。此处描述的具体实施例仅仅是为了解释本申请,而非对本申请的限定。此外,为了便于描述,附图中仅示出了与本申请相关的部分而非全部的结构或过程。应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
39.图1示出了根据本申请实施例的说话人识别的一种场景示意图,如图所示,说话人识别装置100可以在不同的时间,与多个说话人200进行交互,并在交互过程中接收来自多个说话人200的语音输入300。根据本申请的一些实施例,说话人识别装置100不需要说话人200进行专门的语音注册,而是可以基于与说话人200的语音交互,来识别不同的说话人200。
40.根据本申请的一些实施例,说话人识别装置100可以包括,但不限于,智能音箱、智能耳机、智能手环、智慧大屏、便携式或移动设备、手机、个人数字助理、蜂窝电话、手持pc、便携式媒体播放器、手持设备、可穿戴设备(例如,手表、手环、显示眼镜或护目镜、头戴式显示器、头戴设备)、导航设备、服务器、网络设备、图形设备、视频游戏设备、机顶盒、膝上型设备、虚拟现实和/或增强现实设备、物联网设备、工业控制设备、车载信息娱乐设备、流媒体客户端设备、电子书、阅读设备、pos机以及其他设备。
41.图2示出了根据本申请实施例的说话人识别装置100的一种结构示意图,如图所示,说话人识别装置100可以包括交互模块110、说话人特征获取模块120、说话人模板获取
模块130以及说话人匹配模块140,并且可选地包括用户标识获取模块150和声音属性识别模块160。其中,说话人识别装置100的一个或多个组件(例如,交互模块110、说话人特征获取模块120、说话人模板获取模块130、说话人匹配模块140、用户标识获取模块150和声音属性识别模块160中的一个或多个),可以由专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的(共享、专用或组)处理器和/或存储器、组合逻辑电路、提供所描述的功能的其他合适的组件的任意组合构成。根据一个方面,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述处理器可以是单核处理器,多核处理器等,和/或其任何组合。
42.需要说明的是,说话人识别装置100的结构不限于图2示出的,说话人识别装置100还可以包括,但不限于,输入/输出模块,用于接收来自说话人200的语音输入300,也可以以语音、文字等形式输出与说话人200的交互语句,输入/输出模块的示例可以包括,但不限于,扬声器、麦克风、显示器(例如,液晶显示器、触摸屏显示器等)等。
43.根据本申请的一些实施例,交互模块110用于与说话人200进行交互,其中,所述交互可以包括,但不限于,语音形式和/或文字形式的交互语句。在本申请的实施例中,交互模块110可以利用现有技术中的任意一种交互技术来实现。
44.根据本申请的一些实施例,说话人特征获取模块120用于从说话人200的语音输入300中提取说话人200的语音特征(例如,但不限于,fbank(filter bank,滤波器组)特征、mfcc(mel frequency cepstrum coefficient,梅尔频率倒谱系数)特征等),并基于说话人200的语音特征,根据声纹模型(例如,但不限于,gmm-ubm(gaussian mixture model-universal background model,混合高斯-通用背景模型)、i-vector模型、jfa(joint factor analysis,联合因子分析)模型等),获取说话人200的说话人特征。
45.根据本申请的一些实施例,说话人模板获取模块130用于确定说话人特征集合是否满足聚类条件,其中,说话人特征集合可以包括来自多个说话人200的多个说话人特征;在确定说话人特征集合满足聚类条件的情况下,说话人模板获取模块130可以将说话人特征集合中的多个说话人特征聚类为至少一个说话人特征类别,其中,说话人特征类别与说话人200一一对应,并且每个说话人特征类别包括说话人特征集合中的至少一个说话人特征;并且,对于每个说话人特征类别,说话人模板获取模块130可以基于该说话人特征类别内的至少一个说话人特征,获取与该说话人特征类别相关的说话人200的说话人模板,其中,说话人模板与说话人200一一对应。
46.在一种示例中,聚类条件可以包括以下中的至少一个:在说话人特征集合中,不包括在任何一个说话人特征类别内的说话人特征的数量大于或等于第一聚类阈值;至少一个说话人特征类别内的说话人特征的数量等于第二聚类阈值。
47.在一种示例中,对于每个说话人特征类别,可以基于该说话人特征类别内的至少一个说话人特征的均值和/或加权和,确定与该说话人特征类别相对应的说话人模板。
48.根据本申请的一些实施例,说话人匹配模块140用于基于当前说话人200的当前说话人特征是否与已存在的至少一个说话人模板中的一个说话人模板匹配,确定当前说话人200是否与该至少一个说话人模板对应的至少一个说话人200中的一个说话人200匹配。
49.在一种示例中,说话人匹配模块140可以在确定当前说话人200的当前说话人特征与已存在的至少一个说话人模板中的一个说话人模板匹配的情况下,确定当前说话人200
与该匹配的说话人模板对应的说话人200匹配;在确定当前说话人200的当前说话人特征与各个说话人模板均不匹配的情况下,确定当前说话人200与各个说话人模板对应的各个说话人200均不匹配。
50.在一种示例中,说话人匹配模块140可以基于当前说话人200的当前说话人特征与已存在的至少一个说话人模板之间的相似度,确定当前说话人200的当前说话人特征是否匹配已存在的至少一个说话人模板中的一个说话人模板。
51.根据本申请的一些实施例,用户标识获取模块150用于基于交互模块110与说话人200的交互,获取说话人200的用户标识,其中,用户标识可以包括,但不限于,姓名、性别、年龄、权限、喜好等。
52.根据本申请的一些实施例,声音属性识别模块60用于基于说话人200的语音特征(例如,但不限于,fbank特征、mfcc特征等),识别说话人200的声音属性信息,其中,声音属性信息可以包括,但不限于,声音的性别属性、声音的年龄属性等。
53.在一些示例中,交互模块110可以基于说话人200的声音属性信息,与说话人200进行交互,以使用户标识获取模块150获取说话人200的用户标识。
54.以下将参考图2和图3,进一步描述说话人识别装置100的多个模块的功能。
55.根据本申请的一些实施例,说话人特征获取模块120可以对说话人200的语音输入300进行预处理,其中,所述预处理可以包括,但不限于,信号增强、去混响、去噪等;另外,说话人特征获取模块120还可以从预处理后的语音输入300中提取说话人200的语音特征,例如,但不限于,fbank特征、mfcc特征等。
56.根据本申请的另一些实施例,说话人特征获取模块120还可以确定说话人200的语音输入300的信噪比,使得说话人模板获取模块130能够筛选高质量的语音输入用于获取说话人模板。
57.根据本申请的一些实施例,说话人特征获取模块120还可以基于说话人200的语音特征,根据说话人200的声纹模型,获取说话人200的说话人特征。其中,声纹模型用于描述说话人200的语音特征的空间分布,声纹模型的示例可以包括,但不限于,gmm-ubm模型、i-vector模型、jfa模型等。其中,gmm-ubm模型使用高斯概率密度函数来描述说话人的语音特征的空间分布,gmm-ubm模型的建立包括两部分,首先根据大量说话人的语音数据训练一个能够描述说话人的共性特征的通用背景模型ubm,然后以ubm为初始模型,利用每个说话人的语音特征进行基于最大后验概率的自适应训练,从而得到说话人的混合高斯模型gmm。jfa模型基于说话人的gmm模型,其定义了本征音空间、本征信道空间和残差空间来描述说话人200的语音特征的空间分布,即将说话人的gmm模型的均值超矢量(由各个高斯概率密度函数的均值矢量连接而成)划分为与说话人相关的超矢量和与信道相关的超矢量,从而可以去除信道的干扰,得到对说话人更精确的描述。i-vector模型也基于说话人的gmm模型,其定义了既包含说话人之间的差异又包含了信道之间的差异的全局差异空间来描述说话人200的语音特征的空间分布,并基于该全局差异空间从说话人的gmm模型的均值超矢量提取更为紧凑的i-vector矢量。
58.作为一种示例,在说话人200的声纹模型为gmm-ubm模型的情况下,通过说话人特征获取模块120确定的说话人特征可以是gmm-ubm模型的均值超矢量;在说话人200的声纹模型为jfa模型的情况下,通过说话人特征获取模块120确定的说话人特征可以是jfa模型
的与说话人相关的超矢量;在说话人200的声纹模型为i-vector模型的情况下,通过说话人特征获取模块120确定的说话人特征可以是i-vector模型的i-vector矢量。
59.需要说明的是,说话人200的声纹模型和说话人特征不限于此,也可以采用其他类型的声纹模型和说话人特征。
60.图3示出了根据本申请的实施例的说话人模板获取模块130的一种结构示意图,如图所示,说话人模板获取模块130包括,但不限于,说话人特征集合维护单元131、说话人特征聚类单元132以及说话人模板获取单元133。
61.根据本申请的一些实施例,说话人特征集合维护单元131可以按照预定的规则将说话人200的说话人特征加入说话人特征集合;说话人特征集合维护单元131还可以判断说话人特征集合是否满足聚类条件,如果说话人特征集合满足上述聚类条件,则触发说话人特征聚类单元132将说话人特征集合中的多个说话人特征聚类为至少一个说话人特征类别。
62.作为一种示例,上述预定的规则可以包括:在还未存在说话人模板的情况下,说话人特征集合维护单元131可以直接将当前说话人200的当前说话人特征加入说话人特征集合;在已经存在说话人模板并且通过说话人匹配模块140确定当前说话人200的当前说话人特征与一个说话人模板相匹配的情况下,说话人特征集合维护单元131可以将当前说话人200的当前说话人特征加入该匹配的说话人模板对应的说话人特征类别中;在已经存在说话人模板并且通过说话人匹配模块140确定当前说话人200的当前说话人特征与各个说话人模板均不匹配的情况下,说话人特征集合维护单元131可以将当前说话人200的当前说话人特征加入说话人特征集合,并使其不属于任何一个说话人特征类别。
63.作为另一种示例,上述预定的规则还可以包括:说话人特征集合维护单元131还可以根据当前说话人200的语音输入300的信噪比,确定是否将当前说话人200的当前说话人特征加入说话人特征集合,具体地,如果当前说话人200的语音输入300的信噪比高于或等于信噪比阈值,则说话人特征集合维护单元131确定将当前说话人200的当前说话人特征加入说话人特征集合,如果当前说话人200的语音输入300的信噪比低于信噪比阈值,则说话人特征集合维护单元131确定不将当前说话人200的当前说话人特征加入说话人特征集合。
64.作为一种示例,上述聚类条件可以包括:不包括在任何一个说话人特征类别内的说话人特征(例如,由于尚不存在说话人特征类别而不包括在任何一个说话人特征类别内的说话人特征,或者经说话人匹配模块140确定为与各个说话人模板均不匹配的说话人特征)的数量大于或等于第一聚类阈值。
65.作为另一种示例,上述聚类条件可以包括:至少一个说话人特征类别内的说话人特征的数量等于第二聚类阈值,并且该第二聚类阈值可以包括一个或多个数值,例如,但不限于,50、100、200、500或其他数值
66.根据本申请的一些实施例,说话人特征聚类单元132用于根据说话人特征集合维护单元131的触发指令,将说话人特征集合中的多个说话人特征聚类为至少一个说话人特征类别,并为该至少一个说话人特征类别分配系统标识(例如,但不限于,说话人a、说话人b等),其中,一个系统标识与一个说话人特征类别相关联,也与该说话人特征类别内的至少一个说话人特征和该说话人特征类别对应的说话人模板相关联。其中,聚类算法的示例可以包括,但不限于,均值偏移(mean-shift)聚类算法、密度聚类算法(例如,但不限于,
dbscan(density-based spatial clustering of applications with noise)聚类算法)、层次聚类算法或其他聚类算法等,其中,均值偏移(mean-shift)聚类算法基于说话人特征之间的偏移量对说话人特征进行聚类,密度聚类算法基于说话人特征的密度分布对说话人特征进行聚类,层次聚类算法是基于每两个说话人特征之间的相似度对说话认特征进行聚类。
67.作为一种示例,在不包括在任何一个说话人特征类别内的说话人特征的数量大于或等于第一聚类阈值的情况下,说话人特征聚类单元132可以针对这些不包括在任何一个说话人特征类别内的说话人特征进行聚类,也可以针对说话人特征集合中的所有说话人特征进行聚类;在至少一个说话人特征类别内的说话人特征的数量等于第二聚类阈值的情况下,说话人特征聚类单元132可以对说话人特征集合中的所有说话人特征进行聚类。
68.以下以mean-shift聚类算法作为示例,描述说话人特征聚类单元132对说话人特征的聚类。mean-shift聚类算法可以包括以下步骤:
69.s1:在待聚类说话人特征的集合中,随机选择一个说话人特征作为中心点;
70.s2:确定以中心点为中心,半径为r的区域内的所有说话人特征,将这些说话人特征归为同一个簇,并记录这些说话人特征出现的次数;
71.s3:计算从中心点移动到s2中确定的说话人特征所需要的偏移向量(即,差值向量),并将偏移向量的均值向量作为mean-shift向量;
72.s4:将中心点沿着mean-shift向量的方向移动,移动的距离为mean-shift向量的大小,并获取新的中心点;
73.s5:重复步骤s2至s4,直至mean-shift向量的大小小于预定值,需要说明的是,要将该次迭代过程涉及的所有说话人特征归为同一个簇;
74.s6:重复步骤s1至s5,直至待聚类说话人特征的集合中所有的说话人特征都具有对应的簇;
75.s7:确定说话人特征类别,对于各个簇中的每个说话人特征,将该说话人特征出现次数最多的簇作为该说话人特征所属的说话人特征类别。
76.根据本申请的一些实施例,对于每个说话人特征类别,说话人模板获取单元133可以确定该说话人特征类别内的至少一个说话人特征的均值,并将其作为说话人模板,例如,在说话人特征是i-vector模型的i-vector矢量的情况下,说话人模板获取单元133可以将说话人特征类别内的至少一个i-vector矢量的均值矢量作为说话人模板。
77.根据本申请的一些实施例,对于每个说话人特征类别,说话人模板获取单元133可以确定该说话人特征类别内的至少一个说话人特征的加权和,并将其作为说话人模板,其中,每个说话人特征的权值可以根据与该说话人特征相对应的语音输入的信噪比确定。
78.根据本申请的一些实施例,说话人匹配模块140可以首先确定是否已存在说话人模板。在说话人匹配模块140确定不存在说话人模板的情况下(例如,说话人特征集合还未发生聚类),其不进行对当前说话人200的匹配,并将当前说话人200的当前说话人特征发送给说话人模板获取模块130,使得说话人模板获取模块130的说话人特征集合维护单元131可以将当前说话人200的当前说话人特征加入说话人特征集合。
79.在说话人匹配模块140确定已存在说话人模板的情况下(例如,说话人特征集合已发生聚类),其可以分别确定当前说话人特征与各个说话人模板之间的相似度以及各个相
似度中的最大相似度,并确定该最大相似度是否高于或等于相似度阈值。在一种示例中,可以通过计算当前说话人特征与说话人模板之间的距离来确定当前说话人特征与说话人模板之间的相似度,其中,所述距离可以包括,但不限于,余弦距离、emd距离(earth mover's distance,搬土距离)、欧式距离、曼哈顿距离等。
80.一方面,在说话人匹配模块140确定该最大相似度高于或等于相似度阈值的情况下,其可以确定当前说话人特征和具有该最大相似度的说话人模板匹配,即可以确定当前说话人200与具有该最大相似度的说话人模板对应的说话人200匹配。
81.随后,说话人匹配模块140还可以将当前说话人特征以及对当前说话人200的匹配结果(例如,但不限于,与当前说话人特征匹配的说话人模板,或者该说话人模板对应的说话人特征类别的系统标识,例如,但不限于,说话人a)发送给说话人模板获取模块130,使得说话人特征集合维护单元131可以将当前说话人特征加入与当前说话人特征匹配的说话人模板对应的说话人特征类别中(以下,简称与当前说话人200匹配的说话人特征类别,例如,但不限于,说话人a)。
82.随后,说话人特征集合维护单元131可以确定与当前说话人200匹配的说话人特征类别(例如,但不限于,说话人a)内的说话人特征的数量是否等于第二聚类阈值,在说话人特征集合维护单元131确定该说话人特征类别内的说话人特征的数量等于第二聚类阈值的情况下,说话人特征集合维护单元131可以触发说话人特征聚类单元132利用聚类算法对说话人特征集合内的所有说话人特征进行重新聚类,以获得经更新的至少一个说话人特征类别,其中,经更新的至少一个说话人特征类别与说话人200一一对应,并且每个经更新的说话人特征类别包括说话人特征集合中的至少一个说话人特征。
83.说话人特征集合维护单元131可以确定与每个经更新的说话人特征类别相关联的系统标识。具体地,对于每个经更新的说话人特征类别,说话人模板获取单元133可以确定在与该经更新的说话人特征类别内的经更新的至少一个说话人特征相关联的系统标识中,对应最多数量的说话人特征的系统标识,并将该系统标识与该经更新的说话人特征类别、该经更新的说话人特征类别内的经更新的至少一个说话人特征相关联。说话人特征集合维护单元131还可以在经更新的至少一个说话人特征类别中,确定与当前说话人200匹配的经更新的说话人特征类别,其中,与该经更新的说话人特征类别相关联的系统标识和重新聚类之前与当前说话人200匹配的说话人特征类别关联的系统标识相同。
84.说话人模板获取单元133可以根据与当前说话人200匹配的经更新的说话人特征类别内的经更新的至少一个说话人特征,获取该经更新的说话人特征类别对应的经更新的说话人模板。说话人模板获取单元133也可以根据各个经更新的说话人特征类别内的经更新的至少一个说话人特征,获取各个经更新的说话人特征类别对应的经更新的说话人模板,其中,经更新的说话人模板与说话人200一一对应。其中,对于经更新的说话人模板的获取可以参考以上描述,在此不再赘述。
85.另外,在说话人特征集合维护单元131确定当前说话人200匹配的说话人特征类别内的说话人特征的数量不等于第二聚类阈值的情况下,说话人特征集合维护单元131不触发说话人特征聚类单元132对说话人特征集合进行重新聚类。但是,说话人模板获取单元133可以根据与当前说话人200匹配的说话人特征类别内的说话人特征(包括当前说话人特征),更新与当前说话人200匹配的说话人特征类别对应的说话人模板,其中,说话人模板的
获取可以参考以上描述,在此不再赘述。
86.另一方面,在说话人匹配模块140确定当前说话人特征与各个说话人模板之间的最大相似度低于该相似度阈值的情况下,其可以确定当前说话人特征与各个说话人模板均不匹配,即当前说话人200与各个说话人模板对应的说话人200均不匹配。
87.随后,说话人匹配模块140可以将当前说话人特征以及对当前说话人200的匹配结果(例如,但不限于,指示当前说话人200与各个说话人模板对应的说话人200均不匹配的信息)发送给说话人模板获取模块130,使得说话人模板获取模块130的说话人特征集合维护单元131可以将当前说话人特征加入说话人特征集合中,并且使得当前说话人特征不属于任何一个说话人特征类别。
88.随后,说话人特征集合维护单元131可以确定说话人特征集合中不包括在任何一个说话人特征类别内的说话人特征的数量是否大于或等于第一聚类阈值,在确定说话人特征集合中不包括在任何一个说话人特征类别内的说话人特征的数量大于或等于第一聚类阈值的情况下,说话人特征集合维护单元131可以触发说话人特征聚类单元132利用聚类算法对这些不包括在任何一个说话人特征类别内的说话人特征进行聚类,并获得至少一个新的说话人特征类别,并为该至少一个新的说话人特征类别分配新的系统标识(例如,但不限于,说话人c、说话人d等),其中,新的说话人特征类别与说话人200一一对应,每个新的说话人特征类别包括至少一个说话人特征,一个新的系统标识可以与一个新的说话人特征类别相关联,也可以与该新的说话人特征类别内的至少一个说话人特征、该新的说话人特征类别对应的说话人模板相关联。在另一种示例中,说话人特征集合维护单元131可以触发说话人特征聚类单元132利用聚类算法对说话人特征集合内的所有说话人特征进行重新聚类,以获得经更新的至少一个说话人特征类别,其中,经更新的至少一个说话人特征类别与说话人200一一对应,并且每个经更新的说话人特征类别包括说话人特征集合中的至少一个说话人特征。
89.随后,说话人模板获取单元133可以根据每个新的说话人特征类别内的至少一个说话人特征,获取每个新的说话人特征类别对应的新的说话人模板,其中,新的说话人模板与说话人200一一对应。在另一种示例中,说话人模板获取单元133还可以根据每个经更新的说话人特征类别内的经更新的至少一个说话人特征,获取每个经更新的说话人特征类别对应的经更新的说话人模板,其中,经更新的说话人模板与说话人200一一对应。对于说话人模板的获取可以参考以上描述,在此不再赘述。
90.另外,在说话人特征集合维护单元131确定说话人特征集合中不包括在任何一个说话人特征类别内的说话人特征的数量小于第一聚类阈值的情况下,说话人特征集合维护单元131不触发说话人特征聚类单元132进行聚类。
91.根据本申请的一些实施例,在说话人识别装置100包括用户标识获取模块150的情况下,匹配结果用户标识获取模块150可以根据对当前说话人200的匹配结果,确定是否需要获取当前说话人200的用户标识,例如,姓名、性别、年龄、权限、喜好等。
92.一方面,在对当前说话人200的匹配结果包括与当前说话人特征匹配的说话人模板,或者该说话人模板对应的说话人特征类别的系统标识的情况下,若用户标识获取模块150确定还未获取该说话人模板对应的说话人特征类别的用户标识,那么用户标识获取模块150可以触发交互模块110与当前说话人200进行交互,并根据当前说话人200的交互语音
输入,确定与当前说话人200匹配的说话人特征类别的用户标识。
93.图4是根据本申请实施例的当前说话人200和说话人识别装置100进行语音交互的一个场景示意图,需要说明的是,说话人识别装置100的交互模块110也可以以文字形式与当前说话人200进行交互。在图4示出的场景中,为确定当前说话人200的姓名和喜好信息,交互模块110和当前说话人200之间可以具有以下语音交互:
94.交互模块110:“听您的声音好久了,请问您怎么称呼?”95.当前说话人200:“张三。”96.交互模块110:“很高兴认识您,可以了解您更多吗?”97.当前说话人200:“好啊。”98.交互模块110:“请问您更喜欢以下哪种类型的电影:功夫、喜剧、惊悚
…”
99.当前说话人200:“喜剧”100.在另一种示例中,为确定当前说话人200的姓名和权限信息,交互模块110和当前说话人200之间可以具有以下语音交互:
101.交互模块110:“听您的声音好久了,请问您怎么称呼?”102.当前说话人200:“张三。”103.当前说话人200:“张三,您好,请问您需要设定自己的权限吗?host具有较高权限,guest具有访客权限。”104.当前说话人200:“host权限。”105.交互模块110:“请您输入最高权限密码。”106.当前说话人200:“1 2 3 4 5 6”107.交互模块110:“密码错误,请您再次输入”108.当前说话人200:“6 5 4 3 2 1”109.交互模块110:“密码正确,张先生,恭喜您已经具备host权限。”110.用户标识获取模块150可以根据以上语音交互,确定当前说话人200的姓名为“张三”,“喜好”为“喜剧”,“权限”为“host权限”。
111.在获取当前说话人200的用户标识之后,用户标识获取模块150可以将用户标识发送给说话人模板获取模块130,使得说话人特征集合维护单元131在将当前说话人特征加入与当前说话人200匹配的说话人特征类别中时,将当前说话人的用户标识与该说话人特征类别、该说话人特征类别内的说话人特征、该说话人特征类别对应的说话人模板相关联。
112.如此,交互模块110可以根据当前说话人200的用户标识,向当前说话人提供更加个性化、更加智能的交互体验。另外,在说话人识别装置100确定某一个未来说话人200与该说话人特征类别匹配的情况下,交互模块110可以根据与该说话人特征类别内的说话人特征相关联用户标识识别未来说话人200,并向未来说话人200提供更加个性化、更加智能的交互体验,例如,但不限于,以下的交互场景:
113.未来说话人200:“帮我调节空调温度到25度。”114.交互模块110:(根据与未来说话人200匹配的说话人特征类别的用户标识确定未来说话人200的姓名为李四)“好的,李先生,已经帮您把空调的温度设定为25度。”115.未来说话人200:“帮我播放最新的电影。”116.交互模块110:(根据与未来说话人200匹配的说话人特征类别的用户标识确定未
来说话人200的喜好为喜剧)“李先生,最近有一部评分很高的喜剧电影上线,名字叫《西红柿首富》,接下来请您欣赏。”117.未来说话人200:“帮我删除本地所有的电影。”118.交互模块110:(根据与未来说话人200匹配的说话人特征类别的用户标识确定未来说话人200的权限为guest权限)“李先生,抱歉,您目前的权限不够。请升级为最高权限。”119.另一方面,在对当前说话人200的匹配结果包括与当前说话人特征匹配的说话人模板,或者该说话人模板对应的说话人特征类别的系统标识的情况下,若用户标识获取模块150确定已经获取了该说话人模板对应的说话人特征类别的用户标识,或者在对当前说话人200的匹配结果包括指示当前说话人200与各个说话人模板对应的说话人200均不匹配的信息的情况下,用户标识获取模块150将不会获取当前说话人200的用户标识,即不会触发交互模块110与当前说话人200进行交互。
120.根据本申请的一些实施例,说话人识别装置100还可以包括声音属性识别模块160在用户标识获取模块150确定需要获取当前说话人200的用户标识的情况下,声音属性识别模块60可以基于当前说话人200的语音特征(例如,但不限于,fbank特征、mfcc特征等),识别当前说话人200的声音属性信息,其中,声音属性信息可以包括,但不限于,声音的性别属性(男声、女声)、声音的年龄属性(例如,儿童、成人等)等。在本申请的实施例中,声音属性模块60可以利用现有技术中的任意一种声音属性识别技术来识别当前说话人200的声音属性,例如,但不限于,通过大量语音样本数据训练分类神经网络而获得的声音分类器。
121.在声音属性识别模块160识别出当前说话人200的声音属性信息之后,可以将声音属性信息发送给交互模块110,使得交互模块110基于声音属性信息与当前说话人200进行交互,以获取当前说话人200的用户标识。例如,声音属性识别模块160可以识别出当前说话人200的声音属于儿童的声音,那么在交互模块110与当前说话人200进行交互时,可以称呼当前说话人200为“小朋友”,并且为确定当前说话人200的姓名,交互模块110和当前说话人200之间可以具有以下交互场景:
122.交互模块110:“小朋友,你好,听起来是个很可爱的宝贝,请问你叫什么名字?”123.当前说话人200:“我叫丫丫。”124.在获取当前说话人200的用户标识之后,用户标识获取模块150和声音属性识别模块160可以分别将当前说话人200的用户标识、声音属性信息发送给说话人模板获取模块130,使得说话人特征集合维护单元131可以在将当前说话人特征加入与当前说话人200的匹配的说话人特征类别中时,将当前说话人的声音属性信息和用户标识与该说话人特征类别、该说话人特征类别内的说话人特征、该说话人特征类别对应的说话人模板相关联。
125.如此,交互模块110可以根据当前说话人200的用户标识和声音属性信息,向当前说话人提供更加个性化、更加智能的交互体验。另外,在说话人识别装置100确定某一个未来说话人200与该说话人特征类别匹配的情况下,交互模块110可以根据与该说话人特征类别相关联的声音属性信息和用户标识识别未来说话人200,并向未来说话人200提供更加个性化、更加智能的交互体验,但不限于,以下的交互场景:
126.未来说话人200:“帮我播放一首歌。”127.交互模块110:(根据与未来说话人200匹配的说话人特征类别的用户标识确定未来说话人200的姓名为丫丫,并且根据声音属性信息确定声音的年龄属性为儿童)
[0128]“丫丫你好,接下来为你播放《两只老虎》。”[0129]
根据本申请的另外一些实施例,声音属性识别模块160可以根据说话人识别装置100对当前说话人200的匹配结果,确定是否需要识别当前说话人200的声音属性。例如,在对当前说话人200的匹配结果包括与当前说话人特征匹配的说话人模板,或者该说话人模板对应的说话人特征类别的系统标识的情况下,若声音属性识别模块160确定还未获取该说话人类别的声音属性信息,那么声音属性识别模块160可以对当前说话人200的声音属性进行识别,并将声音属性信息发送给说话人模板获取模块130,使得说话人特征集合维护单元131可以将当前说话人的声音属性信息和与当前说话人200匹配的说话人特征类别内的说话人特征相关联。在对当前说话人200的匹配结果包括与当前说话人特征匹配的说话人模板,或者该说话人模板对应的说话人特征类别的系统标识的情况下,若声音属性识别模块160确定已经识别了该说话人特征类别的声音属性信息,或者在对当前说话人200的匹配结果包括指示当前说话人200与各个说话人模板对应的说话人200均不匹配的信息的情况下,声音属性识别模块160不会对当前说话人200的声音属性进行识别。
[0130]
如此,交互模块110可以根据当前说话人200的声音属性信息,向当前说话人提供更加个性化、更加智能的交互体验。另外,在说话人识别装置100确定某一个未来说话人200与该说话人特征类别匹配的情况下,交互模块110可以根据与该说话人特征类别相关联的声音属性信息,向该未来说话人200提供更加个性化、更加智能的交互体验。
[0131]
根据本申请的另外一些实施例,不管对当前说话人200的匹配结果如何,声音属性识别模块160均可以对当前说话人200的声音属性进行识别,并将声音属性信息发送给交互模块110,使得交互模块110可以基于声音属性信息,向当前说话人200提供更加个性化、更加智能的交互体验,例如,但不限于,以下交互场景:
[0132]
当前说话人200:“帮我打开空调。”[0133]
交互模块110:(经声音属性识别模块160确定声音的年龄属性为儿童)“空调已经打开,调至28摄氏度。”[0134]
交互模块110:(经声音属性识别模块160确定声音的年龄属性为成人)“空调已打开,调至25摄氏度。”[0135]
需要说明的是,在说话人特征类别内的说话人特征具有与之关联的用户标识和/或声音属性信息的情况下,如果发生重新聚类,那么对于重新聚类之后的每个经更新的说话人特征类别,可以以对应最多数量的说话人特征的用户标识和/或声音属性信息作为与该经更新的说话人特征类别相关联的用户标识和/或声音属性信息,例如,重新聚类后的一个经更新的说话人特征类别内,有48个说话人特征对应“张三”的用户标识,有2个说话人特征对应“李四”的用户标识,那么将“张三”的用户标识与该经更新的说话人特征类别相关联。
[0136]
在本申请的实施例中,不需要说话人专门进行语音注册,而是在跟说话人语音交互过程中,通过对不同的说话人的说话人特征进行聚类,获得与每个说话人相对应的说话人模板,以此来识别不同的说话人。因此,本申请的实施例可以实现无感注册,避免了注册给说话人带来的负体验。
[0137]
进一步地,在成功识别当前说话人之后,将当前说话人的说话人特征加入到与当前说话人相匹配的说话人特征类别中并更新该说话人特征类别的说话人模板,可以提高对
说话人的识别准确度。另外,通过对说话人特征集合设置聚类条件,在其满足聚类条件之后对其重新进行聚类,从而更新已有说话人特征类别的说话人模板,或者获得新的说话人特征类别的说话人模板,也可以提高对说话人的识别准确度。
[0138]
进一步地,通过确定说话人的用户标识和/或声音属性信息,可以向说话人提供更加个性化、更加智能的交互体验。
[0139]
图5示出了根据本申请实施例的说话人识别方法的一种流程示意图,图2-3中说话人识别装置100的不同组件可以实施方法的不同块或其他部分。对于上述装置实施例中未描述的内容,可以参见下述方法实施例,同样,对于方法实施例中未描述的内容,可参见上述装置实施例。需要说明的是,对方法步骤的描述顺序不应被解释为这些步骤必须依赖于该顺序被执行,这些步骤可以不需要按描述顺序而执行,并且方法可以包括这些步骤之外的其他步骤,也可以包括这些步骤中的一部分。如图5所示,说话人识别方法包括:
[0140]
块501,通过交互模块110,接收来自当前当前说话人200的当前语音输入;
[0141]
块502,通过说话人特征获取模块120,对当前说话人200的当前语音输入300进行预处理,其中,所述预处理可以包括,但不限于,信号增强、去混响、去噪等;另外,说话人特征获取模块120还可以从预处理后的当前语音输入300中提取当前说话人200的当前语音特征,例如,但不限于,fbank特征、mfcc特征等;
[0142]
块503,通过说话人特征获取模块120,基于当前说话人200的当前语音特征,根据声纹模型,例如,但不限于,gmm-ubm、i-vector模型、jfa模型等,获取当前说话人200的当前说话人特征,例如,但不限于,gmm-ubm模型的均值超矢量、jfa模型的与说话人相关的超矢量、i-vector模型的i-vector矢量等;
[0143]
块504,通过说话人匹配模块140,确定是否存在至少一个说话人模板,在确定存在至少一个说话人模板的情况下,执行块505,在确定不存在说话人模板的情况下,执行块507;
[0144]
块505,通过说话人匹配模块140,确定当前说话人200的当前说话人特征与各个说话人模板之间的相似度;
[0145]
在一种示例中,可以通过计算当前说话人特征与各个说话人模板之间的距离来确定当前说话人特征与各个说话人模板之间相似度,其中,所述距离可以包括,但不限于,余弦距离、emd距离(earth mover's distance,搬土距离)、欧式距离、曼哈顿距离等;
[0146]
块506,通过说话人匹配模块140,根据当前说话人200的当前说话人特征与各个说话人模板之间的最大相似度,确定当前说话人200是否与该至少一个说话人模板对应的至少一个说话人200中的一个说话人200匹配;
[0147]
在一种示例中,在说话人匹配模块140确定该最大相似度高于或等于相似度阈值的情况下,其可以确定当前说话人特征和具有该最大相似度的说话人模板匹配,即可以确定当前说话人200与具有该最大相似度的说话人模板对应的说话人200匹配;在说话人匹配模块140确定该最大相似度低于该相似度阈值的情况下,其可以确定当前说话人特征与各个说话人模板均不匹配,即当前说话人200与各个说话人模板对应的各个说话人200均不匹配;
[0148]
块507,通过说话人模板获取单元130的说话人特征集合维护单元131,将当前说话人特征加入说话人特征样本集;
[0149]
在一种示例中,在说话人匹配模块140确定当前说话人特征和具有最大相似度的说话人模板匹配的情况下,说话人特征集合维护单元131可以将当前说话人特征加入与该匹配的说话人模板对应的说话人特征类别中;在说话人匹配模块140确定当前说话人特征和各个说话人模板均不匹配的情况下,说话人特征集合维护单元131可以将当前说话人特征加入说话人特征集合中,并且使得当前说话人特征不属于任何一个说话人特征类别;
[0150]
在另一种示例中,说话人特征集合维护单元131还可以根据当前说话人200的当前语音输入的信噪比,确定是否将当前说话人200的当前说话人特征加入说话人特征集合,具体地,如果当前说话人200的当前语音输入的信噪比高于或等于信噪比阈值,则说话人特征集合维护单元131确定将当前说话人200的当前说话人特征加入说话人特征集合,如果当前说话人200的当前语音输入的信噪比低于信噪比阈值,则说话人特征集合维护单元131确定不将当前说话人200的当前说话人特征加入说话人特征集合;
[0151]
块508,通过说话人模板获取单元130的说话人特征集合维护单元131,确定说话人特征集合是否满足聚类条件,若是,则执行块509,若否,则返回执行块501,即接收下一个语音输入;
[0152]
在一种示例中,在说话人匹配模块140确定当前说话人特征和各个说话人模板均不匹配的情况下,说话人特征集合维护单元131确定说话人特征集合是否满足聚类条件,可以包括,确定说话人特征集合中不包括在任何一个说话人特征类别内的说话人特征的数量是否大于或等于第一聚类阈值;
[0153]
在另一种示例中,在说话人匹配模块140确定当前说话人特征和具有最大相似度的说话人模板匹配的情况下,说话人特征集合维护单元131确定说话人特征集合是否满足聚类条件,可以包括,确定与当前说话人特征匹配的说话人模板对应的说话人特征类别内的说话人特征的数量是否等于第二聚类阈值,其中,第二聚类阈值可以包括一个或多个数值,例如,但不限于,50、100、200、500或其他数值;
[0154]
块509,通过说话人模板获取单元130的说话人特征聚类单元132,利用聚类算法对说话人特征进行聚类;
[0155]
在一种示例中,在说话人匹配模块140确定当前说话人特征和各个说话人模板均不匹配的情况下,并且在不包括在任何一个说话人特征类别内的说话人特征的数量大于或等于第一聚类阈值的情况下,说话人特征聚类单元132可以针对这些不包括在任何一个说话人特征类别内的说话人特征进行聚类,并获得至少一个新的说话人特征类别,并为该至少一个新的说话人特征类别分配新的系统标识(例如,但不限于,说话人c、说话人d等),其中,新的说话人特征类别与说话人200一一对应,每个新的说话人特征类别包括至少一个说话人特征,一个新的系统标识可以与一个新的说话人特征类别相关联,也可以与该新的说话人特征类别内的至少一个说话人特征、该新的说话人特征类别对应的说话人模板相关联;在另一种示例中,说话人特征聚类单元132可以对说话人特征集合内的所有说话人特征进行重新聚类,以获得经更新的至少一个说话人特征类别,其中,经更新的至少一个说话人特征类别与说话人200一一对应,并且每个经更新的说话人特征类别包括说话人特征集合中的至少一个说话人特征;
[0156]
在另一种示例中,在说话人匹配模块140确定当前说话人特征和具有最大相似度的说话人模板匹配的情况下,并且在于当前说话人特征匹配的说话人模板对应的说话人特
征类别内的说话人特征的数量等于第二聚类阈值的情况下,说话人特征聚类单元132可以对说话人特征集合中的所有说话人特征进行重新聚类,以获得经更新的至少一个说话人特征类别,其中,经更新的至少一个说话人特征类别与说话人200一一对应,并且每个经更新的说话人特征类别包括说话人特征集合中的至少一个说话人特征;
[0157]
另外,对于聚类算法的描述可以参考以上在装置部分的描述,在此不再赘述;
[0158]
块510,通过说话人模板获取单元130的说话人模板获取单元133,对于每个说话人特征类别,根据该说话人特征类别内的说话人特征获取该说话人特征类别对应的说话人模板;
[0159]
在一种示例中,在说话人匹配模块140确定当前说话人特征和各个说话人模板均不匹配的情况下,并且在不包括在任何一个说话人特征类别内的说话人特征的数量大于或等于第一聚类阈值的情况下,说话人模板获取单元133可以根据每个新的说话人特征类别内的至少一个说话人特征,获取每个新的说话人特征类别对应的新的说话人模板;说话人模板获取单元133也可以根据每个经更新的说话人特征类别内的经更新的至少一个说话人特征,获取每个经更新的说话人特征类别对应的经更新的说话人模板;
[0160]
在另一种示例中,在说话人匹配模块140确定当前说话人特征和具有最大相似度的说话人模板匹配的情况下,并且在于当前说话人特征匹配的说话人模板对应的说话人特征类别内的说话人特征的数量等于第二聚类阈值的情况下,说话人模板获取单元133可以根据每个经更新的说话人特征类别内的经更新的至少一个说话人特征,获取每个经更新的说话人特征类别对应的经更新的说话人模板;说话人模板获取单元133也可以根据与当前说话人200匹配的经更新的说话人特征类别内的经更新的至少一个说话人特征,获取该经更新的说话人特征类别对应的经更新的说话人模板,其中,与当前说话人200匹配的经更新的说话人特征类别的确定可以参考以上在装置部分的描述;
[0161]
在另一种示例中,在说话人匹配模块140确定当前说话人特征和具有最大相似度的说话人模板匹配的情况下,并且在于当前说话人特征匹配的说话人模板对应的说话人特征类别内的说话人特征的数量不等于第二聚类阈值的情况下,说话人模板获取单元133可以根据与当前说话人200匹配的说话人特征类别内的说话人特征(包括当前说话人特征),更新与当前说话人200匹配的说话人特征类别对应的说话人模板;
[0162]
另外,对于说话人模板的获取,可以参数以上在装置部分的描述,在此不再赘述。
[0163]
需要说明的是,在块510执行结束之后,可以返回执行块501,即接收下一个语音输入。
[0164]
图6示出了根据本申请实施例的说话人识别方法的另一种流程示意图,图2和图3中说话人识别装置100的不同组件可以实施方法的不同块或其他部分。对于上述装置实施例中未描述的内容,可以参见下述方法实施例,同样,对于方法实施例中未描述的内容,可参见上述装置实施例。需要说明的是,对方法步骤的描述顺序不应被解释为这些步骤必须依赖于该顺序被执行,这些步骤可以不需要按描述顺序而执行,并且方法可以包括这些步骤之外的其他步骤,也可以包括这些步骤中的一部分。如图6所示,说话人识别方法包括:
[0165]
块601-块606:请参见块501-块506的描述,在此不再赘述;
[0166]
块607,通过用户标识获取模块150,确定是否需要获取当前说话人200的用户标识;
[0167]
作为一种示例,用户标识获取模块150可以根据对当前说话人200的匹配结果,确定是否需要获取当前说话人200的用户标识,例如,姓名、性别、年龄、权限、喜好等;
[0168]
例如,在对当前说话人200的匹配结果包括与当前说话人特征匹配的说话人模板,或者该说话人模板对应的说话人特征类别的系统标识的情况下,若用户标识获取模块150确定还未获取该说话人模板对应的说话人特征类别的用户标识,那么用户标识获取模块150确定需要获取当前说话人200的用户标识,并触发交互模块110与当前说话人200进行交互;
[0169]
在对当前说话人200的匹配结果包括与当前说话人特征匹配的说话人模板,或者该说话人模板对应的说话人特征类别的系统标识的情况下,若用户标识获取模块150确定已经获取了该说话人模板对应的说话人特征类别的用户标识,或者在对当前说话人200的匹配结果包括指示当前说话人200与各个说话人模板对应的说话人200均不匹配的信息的情况下,用户标识获取模块150确定不需要获取当前说话人200的用户标识,也不会触发交互模块110与当前说话人200进行交互;
[0170]
块608,通过用户标识获取模块150,根据与当前说话人的交互,获取当前说话人200的用户标识;
[0171]
块609,通过说话人模板获取单元130的说话人特征集合维护单元131,将当前说话人特征加入说话人特征样本集;
[0172]
在一种示例中,在说话人匹配模块140确定当前说话人特征和具有最大相似度的说话人模板匹配的情况下,说话人特征集合维护单元131可以将当前说话人特征加入与该匹配的说话人模板对应的说话人特征类别中,另外,在用户标识获取模块150获取了当前说话人200的用户标识的情况下,说话人特征集合维护单元131还将当前说话人的用户标识与该说话人特征类别、该说话人特征类别内的说话人特征以及该说话人特征类别对应的说话人模板相关联;
[0173]
在另一种示例中,在说话人匹配模块140确定当前说话人特征和各个说话人模板均不匹配的情况下,说话人特征集合维护单元131可以将当前说话人特征加入说话人特征集合中,并且使得当前说话人特征不属于任何一个说话人特征类别;
[0174]
在另一种示例中,说话人特征集合维护单元131还可以根据当前说话人200的当前语音输入的信噪比,确定是否将当前说话人200的当前说话人特征加入说话人特征集合,具体地,如果当前说话人200的当前语音输入的信噪比高于或等于信噪比阈值,则说话人特征集合维护单元131确定将当前说话人200的当前说话人特征加入说话人特征集合,如果当前说话人200的当前语音输入的信噪比低于信噪比阈值,则说话人特征集合维护单元131确定不将当前说话人200的当前说话人特征加入说话人特征集合;
[0175]
块610:请参见块508的描述,在此不再赘述;
[0176]
块611:请参见块509的描述,在此不再赘述;
[0177]
需要说明的是,在说话人特征类别内的说话人特征具有与之关联的用户标识的情况下,如果发生重新聚类,那么对于重新聚类之后的每个经更新的说话人特征类别,可以以对应最多数量的说话人特征的用户标识作为与该经更新的说话人特征类别相关联的用户标识,例如,重新聚类后的一个经更新的说话人特征类别内,有48个说话人特征对应“张三”的用户标识,有2个说话人特征对应“李四”的用户标识,那么将“张三”的用户标识与该经更
新的说话人特征类别相关联;
[0178]
块612,请参见块510的描述,在此不再赘述。
[0179]
图7示出了根据本申请实施例的说话人识别方法的另一种流程示意图,图2和图3中说话人识别装置100的不同组件可以实施方法的不同块或其他部分。对于上述装置实施例中未描述的内容,可以参见下述方法实施例,同样,对于方法实施例中未描述的内容,可参见上述装置实施例。需要说明的是,对方法步骤的描述顺序不应被解释为这些步骤必须依赖于该顺序被执行,这些步骤可以不需要按描述顺序而执行,并且方法可以包括这些步骤之外的其他步骤,也可以包括这些步骤中的一部分。如图7所示,说话人识别方法包括:
[0180]
块701-块707:请参见块601-块607的描述,在此不再赘述;
[0181]
块708:通过声音属性识别模块160,根据当前说话人的语音特征,识别当前说话人的声音属性;其中,声音属性信息可以包括,但不限于,声音的性别属性、声音的年龄属性等;在本申请的实施例中,声音属性模块60可以利用现有技术中的任意一种声音属性识别技术来识别当前说话人200的声音属性,例如,但不限于,通过大量语音样本数据训练分类神经网络而获得的声音分类器。
[0182]
块709:通过用户标识获取模块150,根据与当前说话人200的基于其声音属性信息的交互,获取当前说话人200的用户标识;
[0183]
在一种示例中,在声音属性识别模块60识别出当前说话人200的声音属性信息之后,可以将声音属性信息发送给交互模块110,使得交互模块110基于声音属性信息与当前说话人200进行交互,用户标识获取模块150可以根据当前说话人200的交互语音输入确定当前说话人200的用户标识;
[0184]
块710:通过说话人模板获取单元130的说话人特征集合维护单元131,将当前说话人特征加入说话人特征样本集;
[0185]
在一种示例中,在说话人匹配模块140确定当前说话人特征和具有最大相似度的说话人模板匹配的情况下,说话人特征集合维护单元131可以将当前说话人特征加入与该匹配的说话人模板对应的说话人特征类别中,另外,在声音属性识别模块160识别了当前说话人200的声音属性以及用户标识获取模块150获取了当前说话人200的用户标识的情况下,说话人特征集合维护单元131还将当前说话人的声音属性、用户标识与该说话人特征类别、该说话人特征类别内的说话人特征以及该说话人特征类别对应的说话人模板相关联;
[0186]
在说话人匹配模块140确定当前说话人特征和各个说话人模板均不匹配的情况下,说话人特征集合维护单元131可以将当前说话人特征加入说话人特征集合中,并且使得当前说话人特征不属于任何一个说话人特征类别;
[0187]
在另一种示例中,说话人特征集合维护单元131还可以根据当前说话人200的当前语音输入的信噪比,确定是否将当前说话人200的当前说话人特征加入说话人特征集合,具体地,如果当前说话人200的当前语音输入的信噪比高于或等于信噪比阈值,则说话人特征集合维护单元131确定将当前说话人200的当前说话人特征加入说话人特征集合,如果当前说话人200的当前语音输入的信噪比低于信噪比阈值,则说话人特征集合维护单元131确定不将当前说话人200的当前说话人特征加入说话人特征集合;
[0188]
块711-块713:请参见块610-块612的描述,在此不再赘述。
[0189]
需要说明的是,在块712中,说话人特征类别内的说话人特征具有与之关联的用户
标识和声音属性信息的情况下,如果发生重新聚类,那么对于重新聚类之后的每个经更新的说话人特征类别,可以以对应最多数量的说话人特征的用户标识和声音属性信息作为与该经更新的说话人特征类别相关联的用户标识和声音属性信息。
[0190]
在本申请的实施例中,不需要说话人专门进行语音注册,而是在跟说话人语音交互过程中,通过对不同的说话人的说话人特征进行聚类,获得与每个说话人相对应的说话人模板,以此来识别不同的说话人。因此,本申请的实施例可以实现无感注册,避免了注册给说话人带来的负体验。
[0191]
进一步地,在成功识别当前说话人之后,将当前说话人的说话人特征加入到与当前说话人相匹配的说话人特征类别中并更新该说话人特征类别的说话人模板,可以提高对说话人的识别准确度。另外,通过对说话人特征集合设置聚类条件,在其满足聚类条件之后对其重新进行聚类,从而更新已有说话人特征类别的说话人模板,或者获得新的说话人特征类别的说话人模板,也可以提高对说话人的识别准确度。
[0192]
进一步地,通过确定说话人的用户标识和/或声音属性信息,可以向说话人提供更加个性化、更加智能的交互体验。
[0193]
图8示出了根据本申请实施例的示例系统800的一种结构示意图。系统800可以包括一个或多个处理器802,与处理器802中的多个连接的系统控制逻辑808,与系统控制逻辑808连接的系统内存804,与系统控制逻辑808连接的非易失性存储器(nvm)806,以及与系统控制逻辑808连接的网络接口810。
[0194]
处理器802可以包括一个或多个单核或多核处理器。处理器802可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任何组合。在本申请的实施例中,处理器802可以被配置为执行根据如图5-7所示的各种实施例的一个或多个实施例。
[0195]
在一些实施例中,系统控制逻辑808可以包括任意合适的接口控制器,以向处理器802中的多个和/或与系统控制逻辑808通信的任意合适的设备或组件提供任意合适的接口。
[0196]
在一些实施例中,系统控制逻辑808可以包括一个或多个存储器控制器,以提供连接到系统内存804的接口。系统内存804可以用于加载以及存储用于系统800的数据和/或指令。在一些实施例中,系统800的内存804可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(dram)。
[0197]
nvm/存储器806可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,nvm/存储器806可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如hdd(hard disk drive,硬盘驱动器),cd(compact disc,光盘)驱动器,dvd(digital versatile disc,数字通用光盘)驱动器中的多个。
[0198]
nvm/存储器806可以包括安装在系统800的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口810通过网络访问nvm/存储806。
[0199]
特别地,系统内存804和nvm/存储器806可以分别包括:指令820的暂时副本和永久副本。指令820可以包括:被处理器802中的至少一个执行时导致系统800实现图5-7所示的
各种实施例的一个或多个实施例的指令。在一些实施例中,指令820、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑808,网络接口810和/或处理器802中。
[0200]
网络接口810可以包括收发器,用于为系统800提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口810可以集成于系统800的其他组件。例如,网络接口810可以包括处理器802,系统内存804,nvm/存储器806,和具有指令的固件设备(未示出)中的至少一种,当处理器802中的至少一个执行所述指令时,系统800实现图5-7所示的各种实施例的一个或多个实施例。
[0201]
网络接口810可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口810可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
[0202]
在一个实施例中,处理器802中的多个可以与用于系统控制逻辑808的一个或多个控制器的逻辑封装在一起,以形成系统封装(sip)。在一个实施例中,处理器802中的多个可以与用于系统控制逻辑808的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(soc)。
[0203]
系统800可以进一步包括:输入/输出(i/o)接口812。i/o接口812可以包括用户界面,使得用户能够与系统800进行交互;外围组件接口的设计使得外围组件也能够与系统800交互。在一些实施例中,系统800还包括传感器,用于确定与系统800相关的环境条件和位置信息的至少一种。
[0204]
在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
[0205]
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
[0206]
在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口810的一部分或与网络接口810交互,以与定位网络的组件(例如,全球定位系统(gps)卫星)进行通信。
[0207]
虽然本申请的描述将结合较佳实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本申请的权利要求而有可能延伸出的其它选择或改造。为了提供对本申请的深度了解,以下描述中将包含许多具体的细节。本申请也可以不使用这些细节实施。此外,为了避免混乱或模糊本申请的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0208]
此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个离散操作;然而,描述的顺序不应被解释为暗示这些操作必须依赖于顺序。特别是,这些操作不需要按呈现顺序执行。
[0209]
除非上下文另有规定,否则术语“包含”,“具有”和“包括”是同义词。短语“a/b”表示“a或b”。短语“a和/或b”表示“(a和b)或者(a或b)”。
[0210]
如这里所使用的,术语“模块”或“单元”可以指代、是或者包括:专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的(共享、专用或组)处理器和/或存储
器、组合逻辑电路和/或提供所描述的功能的其他合适的组件。
[0211]
在附图中,以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可以不需要这样的特定布置和/或排序。在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包含结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
[0212]
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括多个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、多个输入设备以及多个输出设备。
[0213]
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(dsp)、微控制器、专用集成电路(asic)或微处理器之类的处理器的任何系统。
[0214]
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
[0215]
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。在一些情况下,至少一些实施例的一个或多个方面可以由存储在计算机可读存储介质上的表示性指令来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本申请所述的技术的逻辑。被称为“ip核”的这些表示可以被存储在有形的计算机可读存储介质上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。
[0216]
这样的计算机可读存储介质可以包括但不限于通过机器或设备制造或形成的物品的非瞬态的有形安排,其包括存储介质,诸如:硬盘任何其它类型的盘,包括软盘、光盘、紧致盘只读存储器(cd-rom)、紧致盘可重写(cd-rw)以及磁光盘;半导体器件,例如只读存储器(rom)、诸如动态随机存取存储器(dram)和静态随机存取存储器(sram)之类的随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、闪存、电可擦除可编程只读存储器(eeprom);相变存储器(pcm);磁卡或光卡;或适于存储电子指令的任何其它类型的介质。
[0217]
因此,本申请的各实施例还包括非瞬态的计算机可读存储介质,该介质包含指令或包含设计数据,诸如硬件描述语言(hdl),它定义本申请中描述的结构、电路、装置、处理器和/或系统特征。
再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜