一种用于语音识别的系统和方法与流程

文档序号:20167420发布日期:2020-03-24 21:55阅读:228来源:国知局
一种用于语音识别的系统和方法与流程

本申请一般涉及语音识别的系统和方法,尤其涉及,使用人工智能(ai)识别口音语音的系统和方法。



背景技术:

自动语音识别是一种重要的技术,可以将口语识别和翻译成计算机识别的文本同义物。一般来说,自动语音识别尝试为不同语言和口音的语音提供准确的识别结果。然而,识别和翻译带口音的语音具有挑战性,因为带口音的语音发音可能导致错误识别和单词识别失败。因此,希望提供能够识别带口音的语音并将带口音的语音翻译成期望形式的ai系统和方法,例如具有另一种预定口音或语言的文本内容或音频语音。



技术实现要素:

根据本申请的一个方面,提供了一个系统。所述系统可以包括至少一个音频信号输入设备、至少一个存储介质和至少一个处理器。所述至少一个音频信号输入设备可以被配置用于接收说话者的语音。所述至少一个存储介质可以包含用于语音识别的指令组。所述至少一个处理器可以与所述至少一个存储介质通信。当所述至少一个处理器执行指令组时,所述至少一个处理器可以用于执行一个或以上的以下操作。所述至少一个处理器可以从所述音频信号输入设备获取包括说话者的语音的目标音频信号,并且确定所述目标音频信号的一个或以上语音特征。所述至少一个处理器还可以获取所述说话者的至少一个口音向量,并且将所述目标音频信号的一个或以上语音特征和所述说话者的至少一个口音向量输入到经训练的语音识别神经网络模型,以将所述语音翻译成目标内容形式。所述至少一个处理器可以进一步通过输出设备生成界面,以在所述目标内容形式中呈现所述语音。

在一些实施例中,为将所述输入音频信号的所述一个或以上语音特征和所述说话者的口音输入到经训练的神经网络模型进行语音识别,所述至少一个处理器可以用于获取所述语音起源区域的本地口音,并且将所述目标音频信号的所述一个或以上语音特征、所述说话者的所述至少一个口音向量、以及本地口音输入到所述经训练的语音识别神经网络模型。

在一些实施例中,所述口音向量包括至少两个元素。每个元素可以对应于区域口音并包括与区域口音相关的似然值。

在一些实施例中,所述说话者的至少一个口音向量可以基于口音确定过程确定。所述口音确定过程可以包括获取包括所述说话者的一个或以上历史语音的历史音频信号,并且对于所述一个或以上历史语音中的每一个确定相应的历史音频信号的一个或以上历史语音特征。所述口音确定过程还可以包括获取一个或以上区域口音模型,并且对于所述一个或以上历史语音中的每一个,将一个或以上相应的历史语音特征输入到所述一个或以上区域口音模型中的每一个。所述口音确定过程可以进一步包括基于所述一个或以上区域口音模型的至少一个输出,确定所述说话者的所述至少一个口音向量的至少两个元素。

在一些实施例中,所述经训练的语音识别神经网络模型可以通过至少一个计算设备基于训练过程生成。所述训练过程可以包括获取包括至少两个样本说话者的至少两个样本语音的样本音频信号,并且对于所述至少两个样本语音中的每一个,确定相应的样本音频信号的一个或以上样本语音特征。所述训练过程还可以包括对于所述至少两个样本语音中的每一个,获取相应的样本说话者的至少一个样本口音向量,并且获取初始神经网络模型。所述训练过程可以进一步包括通过将对应于所述至少两个样本语音中的每一个的样本说话者的一个或以上样本语音特征和所述样本说话者的所述至少一个样本口音向量输入到所述初始神经网络模型,确定所述经训练的语音识别神经网络模型。

在一些实施例中,所述确定经训练的语音识别神经网络模型可以包括,对于所述至少两个样本语音中的每一个,获取样本音频信号起源区域的样本本地口音。所述确定经训练的语音识别神经网络模型还可以包括通过将对应于所述至少两个样本语音中的每一个的所述一个或以上样本语音特征、所述样本说话者的所述至少一个样本口音向量、以及所述样本本地口音输入到所述初始神经网络模型,确定所述训练的语音识别神经网络模型。

在一些实施例中,所述目标内容形式可以包括音素、音节、字母中的至少一种。

在一些实施例中,为将所述目标音频信号的所述一个或以上语音特征和所述说话者的所述至少一个口音向量输入到经训练的语音识别神经网络模型,以将语音翻译成目标内容形式,所述至少一个处理器可以用于将所述一个或以上语音特征和所述说话者的至少一个口音向量输入到经训练的语音识别神经网络模型,并且基于经训练的神经网络模型的至少一个输出,将所述语音翻译成所述目标内容形式。

根据本申请的另一方面,提供一种方法。所述方法可以在具有至少一个处理器、至少一个存储器的计算设备上实现。所述方法可以包括从音频信号输入设备获取包括说话者的语音的目标音频信号,并且确定所述目标音频信号的一个或以上语音特征。所述方法还可以包括获取所述说话者的至少一个口音向量,并且将所述目标音频信号的所述一个或以上语音特征和所述说话者的所述至少一个口音向量输入到经训练的语音识别神经网络模型,以将所述语音翻译成目标内容形式。所述方法可以进一步包括通过输出设备生成界面,以在所述目标内容形式中呈现所述语音。

根据本申请的又一方面,提供了一种非暂时性计算机可读介质。非暂时性计算机可读介质可以包括可执行指令,当由至少一个处理器执行时,可执行指令使所述至少一个处理器实现方法。所述方法可以包括从音频信号输入设备获取包括说话者的语音的目标音频信号,并且确定所述目标音频信号的一个或以上语音特征。所述方法还可以包括获取所述说话者的至少一个口音向量,并且将所述目标音频信号的所述一个或以上语音特征和所述说话者的所述至少一个口音向量输入到经训练的语音识别神经网络,以将所述语音翻译成目标内容形式。所述方法可以进一步包括通过输出设备生成界面,以在所述目标内容形式中呈现所述语音。

本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。

附图说明

本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:

图1是根据本申请的一些实施例所示的示例性语音识别系统的示意图;

图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的框图;

图3是根据本申请的一些实施例所示的示例性移动设备的示例性硬件和/或软件组件的框图;

图4a是根据本申请的一些实施例所示的示例性处理引擎的示意图;

图4b是根据本申请的一些实施例所示的示例性处理引擎的示意图;

图5是根据本申请的一些实施例所示的语音识别的示例性过程的流程图;

图6是根据本申请的一些实施例所示的基于一个或以上区域口音模型确定说话者的口音向量的示例性过程的流程图;

图7是根据本申请的一些实施例所示的基于口音分类模型确定说话者的口音向量的示例性过程的流程图;

图8是根据本申请的一些实施例所示的用于生成经训练的语音识别神经网络的示例性过程的流程图;以及

图9是根据本申请的一些实施例所示的示例性经训练的语音识别神经网络模型的示意图。

具体实施方式

以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。

本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、元素和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、元素、部件和/或其组合的情况。

根据以下对附图的描述,本申请的这些和其他的特征、特点以及相关结构元素的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是出于说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。

本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。

本申请中使用了基于全球定位系统(gps)、全球导航卫星系统(glonass)、罗盘导航系统(compass)、伽利略定位系统、准天顶卫星系统(qzss)、无线保真(wifi)定位技术等或其任意组合定位技术。上述定位技术中的一种或以上可以在本申请中互换使用。

本申请的一个方面涉及用于语音识别的系统和方法。在语音识别中,说话者的口音可能影响识别准确性,需要加以考虑。根据本申请,当系统识别说话者的语音时,系统可以确定语音的音频信号的一个或以上语音特征。系统还可以获取说话者的口音向量。口音向量可以包括至少两个元素,每个元素对应于区域口音并指示说话者的口音与特定区域口音之间的相似性。可以将语音特征与口音向量一起输入到经训练的语音识别神经网络模型,以将语音翻译成目标内容形式,例如音素、词语和/或声音。因为识别系统和方法考虑了语音本身的语音特征和说话者的口音特征,所以系统和方法提高了识别结果的准确性。此外,利用更高的准确识别率,系统和方法也可以使用人工智能将公认的语音翻译成其他形式的表达,例如翻译并将原始语音显示为文本内容、另一个口音的音轨和/或另一种语言的音轨等。

图1是根据本申请的一些实施例所示的示例性人工智能语音识别系统100的示意图。如图1所示,人工智能语音识别系统100(为了简洁而被称为语音识别系统100)可以包括服务器110、网络120、输入设备130、输出设备140和存储设备150。

在语音识别系统100中,说话者160可以将说出的语音170输入输入设备130,其可以产生包括或编码语音170的音频信号。输入设备130可以经由网络120向服务器110提供音频信号以及与说话者160和/或输入设备130有关的可选信息。与说话者160和/或输入设备130有关的信息可以包括,例如,说话者160的用户简档、说话者160和/或输入设备130的位置信息等,或其任意组合。服务器110可以处理音频信号和与说话者160和/或输入设备130有关的可选信息,以将语音170翻译成目标内容形式,例如音素、词语和/或声音。语音170的翻译还可以被发送到输出设备140以经由网络120呈现。

在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以经由网络120访问存储在输入设备130、输出设备140和/或存储设备150中的信息和/或数据。又例如,服务器110可以直接连接到输入设备130、输出设备140和/或存储设备150以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等,或其任意组合。在一些实施例中,服务器110可以在本申请中的图2描述的包含了一个或以上组件的计算设备200上执行。

在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理信息和/或数据以执行本申请中描述的一个或以上的功能。例如,基于经训练的语音识别神经网络模型,语音170的语音特征和/或说话者160的口音向量,处理引擎112可以将语音170翻译成目标内容形式。又例如,处理引擎112可以使用训练样本训练经训练的语音识别神经网络模型。在一些实施例中,所述处理引擎112可以包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为示例,处理引擎112可以包括一个或以上硬件处理器,例如中央处理单元(cpu)、特定应用集成电路(asic)、特定应用指令集处理器(asip)、图像处理单元(gpu)、物理运算处理单元(ppu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑设备(pld)、控制器、微控制器单元、精简指令集计算机(risc)、微处理器等,或其任意组合。

在一些实施例中,服务器110的至少一部分可以集成到输入设备130和/或输出设备140中。仅作为示例,处理引擎112可以集成到输入设备130中。例如,输入设备130可以是具有人工智能的智能记录器,其中可以包括微处理器和存储器(例如,硬盘)以将记录的语音直接翻译成文本内容并将文本内容保存在存储器中。当处理引擎112和输入设备130一起集成到单个设备中时,处理引擎112和输入设备130之间的图1中的网络120可能变得不必要,因为其间的所有通信都变为本地的。仅仅出于说明的目的,本申请将服务器110和输入设备130作为单独的设备作为语音识别系统100的示例。

网络120可以促进信息和/或数据的交换。在一些实施例中,语音识别系统100中的一个或以上组件(例如,服务器110、输入设备130、输出设备140、存储设备150)可以经由网络120将信息和/或数据发送到语音识别系统100中的其他组件。例如,服务器110可以经由网络120从输入设备130获取/获取翻译语音170的请求。在一些实施例中,网络120可以是有线网络或无线网络等,或其任意组合。仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(lan)、广域网络(wan)、无线局域网络(wlan)、城域网(man)、公共交换电话网络(pstn)、蓝牙网络、zigbee网络、近场通信(nfc)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点例如基站和/或互联网交换点120-1、120-2、……,语音识别系统100的一个或以上组件可以通过它们连接到网络120以交换数据和/或信息。

输入设备130可以被配置为从用户接收声音输入并生成音频信号和/或编码声音输入。例如,如图1所示,输入设备130可以从说话者160接收语音170。输入设备130可以是声音输入设备或者是包括声学输入组件(例如,麦克风)的设备。示例性输入设备130可以包括移动设备130-1、耳机130-2、麦克风130-3、音乐播放器、记录器、电子书阅读器、导航设备、平板电脑、膝上型电脑、机动车辆内置设备、记录笔等,或其任意组合。移动设备130-1可以包括智能家居设备、可穿戴设备、移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,可穿戴设备可以包括手环、鞋袜、眼镜、头盔、手表、衣物、背包、智慧配饰等,或其任意组合。在一些实施例中,移动设备可以包括移动电话、个人数字助理(pda)、游戏设备、导航设备、销售点(pos)、膝上型电脑、台式机等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括googleglasstm、riftcontm、fragmentstm、gearvrtm等。在一些实施例中,机动车辆中的内置设备可以包括车载计算机、车载电视等。在一些实施例中,输入设备130可以是具有定位技术的设备,用于定位用户和/或输入设备130的位置。

在操作中,输入设备130可以激活语音记录会话以记录包括说话者160的语音170的音频信号。在一些实施例中,一旦输入设备130检测到满足条件的声音或声音,就可以自动启动语音记录会话。例如,条件可以是来自特定的说话者160的声音是语音(用人类语言)、语音或声音(例如,声音的音色)、和/或语音或声音的响度大于阈值等。附加地或替代地,语音记录会话可以由说话者160采取的特定动作启动。例如,说话者160可以在说话之前按下输入设备130的界面上的按钮或区域,说出话语,然后在完成说话时释放按钮或区域。又例如,说话者160可以通过做出预定的手势或声音来发起语音记录会话。在一些实施例中,输入设备130还可以将包括语音170的音频信号发送到服务器110(例如,处理引擎112)以用于语音识别。

在一些实施例中,说话者160可以是输入设备130的用户。替代地,说话者160可以是输入设备130的用户之外的其他人。例如,输入设备130的用户a可以使用输入设备130以输入用户b的语音。在一些实施例中,“用户”和“说话者”可以互换使用。为了便于描述,“用户”和“说话者”统称为“说话者”。

在处理引擎“翻译”所记录的语音成为期望形式(例如,文本内容、音频内容等)之后,可以将期望形式发送到另一个设备以进行呈现。例如,期望形式可以保存在存储设备150中。还可以通过输出设备140呈现期望形式。输出设备140可以被配置为以期望形式输出和/或显示语音的信息。在一些实施例中,输出设备140可以以人可见的方式输出和/或显示信息。例如,由输出设备140输出和/或显示的信息可以是例如文本、图像、视频内容、音频内容、图形等的格式。在一些实施例中,输出设备140可以以人不可见的方式输出和/或显示机器可读信息。例如,输出设备140可以通过计算机可读的存储界面存储和/或缓存信息。

在一些实施例中,输出设备140可以是信息输出设备或包括信息输出组件的设备。示例性输出设备140可以包括移动设备140-1、显示设备140-2、扬声器130-3、机动车内置设备140-4、耳机、麦克风、音乐播放器、电子书阅读器、导航设备、平板计算机、膝上型计算机、记录笔、打印机、投影仪、存储设备等,或其组合。示例性显示设备140-1可以包括液晶显示器(lcd)、基于发光二极管(led)的显示器、平板显示器、曲面屏幕、电视设备、阴极射线管(crt)等,或其组合。

在一些实施例中,输入设备130和输出设备140可以是由网络120连接的两个单独的设备。或者,输入设备130和输出设备140可以集成到单个设备中。因此,所述设备既可以接收来自用户的声音输入,也可以从声音输入中输出期望形式的翻译信息。例如,集成设备可以是移动电话。移动电话可以从说话者160接收语音170。语音可以通过网络120发送到服务器110,并且由服务器110翻译成期望语言(中文或英文单词)的文本单词,并进一步发送回移动电话以供显示。或者,移动电话的本地微处理器可以将语音170翻译成期望语言(中文或英文单词)的文本单词,然后由移动电话在本地显示。当输入设备130和输出设备140一起集成到单个设备中时,图1中的网络120可能变得不必要,因为输入设备130和输出设备140之间的所有通信都变为本地的。仅用于说明目的,本申请将输入设备130和输出设备140作为单独的设备作为语音识别系统100的示例。

存储设备150可以存储数据和/或指令。在一些实施例中,存储设备150可以存储从输入设备130、输出设备140和/或服务器110获取的数据。在一些实施例中,存储设备150可以存储服务器110用来执行或使用以完成本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储设备150可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(rom)等,或其任意组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、拉链盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(ram)。示例性ram可包括动态随机存取存储器(dram)、双倍数据速率同步动态随机存取存储器(ddrsdram)、静态随机存取存储器(sram)、晶闸管随机存取存储器(t-ram)和零电容随机存取存储器(z-ram)等。示例性只读存储器可以包括掩模型只读存储器(mrom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、光盘只读存储器(cd-rom)和数字多功能磁盘只读存储器等。在一些实施例中,所述存储设备150可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等,或其任意组合。

在一些实施例中,存储设备150可以连接到网络120以与语音识别系统100中的一个或以上组件(例如,服务器110、输入设备130、输出设备140等)通信。语音识别系统100中的一个或以上组件可以经由网络120访问存储设备150中存储的数据或指令。在一些实施例中,存储设备150可以直接连接到语音识别系统100中的一个或以上组件或与之通信(例如,服务器110、输入设备130、输出设备140等)。在一些实施例中,存储设备150可以是服务器110的一部分。

在一些实施例中,语音识别系统100中的一个或以上组件(例如,服务器110、输入设备130、输出设备140等)可以具有访问存储设备150的许可。在一些实施例中,语音识别系统100中的一个或以上组件可以在满足一个或以上条件时读取和/或修改与说话者160和/或公众有关的信息。例如,在语音识别完成之后,服务器110可以读取和/或修改一个或以上说话者的信息。

本领域普通技术人员将理解,当语音识别系统100的元素执行时,元素可以通过电信号和/或电磁信号执行。例如,当输入设备130处理任务时,例如进行确定、识别或选择对象,输入设备130可以在其处理器中操作逻辑电路以处理这样的任务。当输入设备130向服务器110发出请求时,输入设备130的处理器可以生成编码所述请求的电信号。然后,输入设备130的处理器可以将电信号发送到输出端口。如果输入设备130经由有线网络与服务器110通信,则输出端口可以物理地连接到电缆,所述电缆还可以将电信号发送到服务器110的输入端口。如果输入设备130经由无线网络与服务器110通信,则输入设备130的输出端口可以是一个或以上天线,其可以将电信号转换为电磁信号。类似地,输出设备140可以通过其处理器中的逻辑电路的操作处理任务,并且经由电信号或电磁信号从服务器110接收指令和/或请求。在电子设备中,例如输入设备130、输出设备140和/或服务器110,当其处理器处理指令时,发出指令和/或执行动作,指令和/或动作通过电信号进行。例如,当处理器从存储介质(例如,存储设备150)取回或保存数据时,它可以向存储介质的读/写设备发送电信号,所述读/写设备可以在存储介质中读取或写入结构化数据。所述结构化数据可以电信号的形式经由电子设备的总线传输至处理器。此处,电信号可以指代一个电信号、一系列电信号和/或至少两个不连续的电信号。

图2是根据本申请的一些实施例所示的计算设备200的示例性硬件和软件组件的示意图,在所述计算设备200上可以实现服务器110、输入设备130和/或输出设备140。例如,所述处理引擎112可以在所述计算设备200上实施并执行本申请所披露的所述处理引擎112的功能。

计算设备200可用于实现如本文所述的语音识别系统100的任何组件。例如,处理引擎112可以在计算设备上通过其硬件、软件程序、固件或其组合实现。图中为了方便起见只绘制了一台计算机,但是本实施例所描述的提供按需服务所需要的信息的相关计算机功能是可以以分布的方式由一组相似的平台实施,以分散系统的处理负荷。

例如,计算设备200可以包括连接到和/或连接到其的网络的通信端口250,以便于数据通信。计算设备200还可以包括处理器(例如,处理器220),其形式为一个或以上处理器(例如,逻辑电路),用于执行程序指令。例如,处理器包括其中的界面电路和处理电路。界面电路可以被配置为从总线210接收电信号,其中,电信号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将确定的结论、结果和/或指令编码为电信号。然后,界面电路可以经由总线210从处理电路发出电信号。

示例性的计算机平台可以包括一个内部通信总线210、不同形式的程序内存和数据存储器,例如,磁盘270、只读存储器(rom)230或随机存取存储器(ram)240,用于存储由计算机处理和/或传输的各种各样的数据文件。示例性的计算机平台也包括存储在rom230、ram240和/或其他形式的非暂时性存储介质中的能够被处理器220执行的程序指令。本申请的方法和/或过程可以实现为程序指令。计算机设备200还包括输入/输出组件260,支持计算机和其他组件之间的输入/输出。计算设备200也可以通过网络通信接收编程和数据。

仅仅为了说明,计算设备200只描述了一个中央处理单元和/或处理器。然而,需要注意的是,本申请中的计算设备200可以包括多个cpu和/或处理器,因此本申请中描述的由一个cpu和/或处理器实现的操作和/或方法也可以共同地或独立地由多个cpu和/或处理器实现。例如,如果在本发明中计算设备200的cpu和/或处理器执行步骤a和步骤b两者,则应该理解,步骤a和步骤b也可以由计算设备200的两个不同的cpu和/或处理器共同地或独立地执行(例如,第一处理器执行步骤a且第二处理器执行步骤b,或者第一和第二处理器共同地执行步骤a和b)。

图3是根据本申请的一些实施例所示的示例性移动设备300的示例性硬件和/或软件组件的示意图,其上可以实现输入设备130和/或输出设备140。如图3所示,移动设备300可以包括通信平台310、显示器320、图像处理单元(gpu)330、中央处理单元(cpu)340、输入/输出(i/o)350、内存360、存储器390、语音输入305和语音输出315。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可以包括在移动设备300内。

在一些实施例中,操作系统370(例如,iostm、androidtm、windowsphonetm等)和一个或以上应用程序380可以从存储器390下载至内存360以及由cpu340执行。应用程序380可以包括一个浏览器或任何其他合适的移动应用程序,用于接收及呈现与图像处理相关的信息或处理引擎112中的其他信息。用户与信息流的交互可以通过i/o350实现,并且通过网络120提供给处理引擎112和/或按需服务系统100的其他组件。语音输入305可以包括声学输入组件(例如,麦克风)。语音输出315可以包括产生声音的声音发生器(例如,说话者)。

为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可以用作本文中描述的一个或以上组件的硬件平台。具有用户界面组件的计算机可用于实施个人计算机(pc)或任何其他类型的工作站或终端设备。若编程得当,计算机亦可用作服务器。

图4a和4b是根据本申请的一些实施例所示的示例性处理引擎112a和112b的框图。在一些实施例中,处理引擎112a可以基于经训练的语音识别神经网络模型配置用于翻译语音。处理引擎112b可以配置用于训练初始神经网络模型以生成经训练的语音识别神经网络模型。在一些实施例中,处理引擎112a和112b可以分别在图2所示的计算设备200(例如,处理器210)或如图3所示的cpu340上实现。仅作为示例,处理引擎112a可以在移动设备的cpu340上实现,并且处理引擎112b可以独自地在计算设备200上实现。或者,处理引擎112a和112b可以在同一计算设备200或相同的cpu340上实现。

处理引擎112a可以包括采集模块411、确定模块412、翻译模块413和生成模块414。

采集模块411可以配置用于获取与语音识别系统100有关的信息。例如,采集模块411可以获取包括说话者160的语音170的目标音频信号、包括说话者160的一个或以上历史语音的历史音频信号、说话者160的口音向量、一个或以上区域口音模型、经训练的语音识别神经网络模型等,或其任意组合。采集模块411可以经由网络120从外部数据源和/或从语音识别系统100的一个或以上组件(例如,存储设备、服务器110(例如,处理引擎112b))获取与语音识别系统100有关的信息。

确定模块412可以确定目标音频信号的一个或以上语音特征,例如音高、语音速率、线性预测系数(lpc)、梅尔级频率倒谱系数(mfcc)、目标音频信号的线性预测倒谱系数(lpcc)。在一些实施例中,确定模块412可以确定说话者160的口音向量。口音向量可以描述说话者160的口音。例如,口音向量可以包括一个或以上元素,每个元素可以对应于区域口音并且包括与区域口音相关的似然值。关于口音向量的确定的细节可以在本申请的其他地方找到(例如,操作530、图6和7以及其相关描述)。

翻译模块413可以翻译说话者160的语音170。例如,翻译模块413可以将包括语音170、说话者160的口音向量和/或与语音170相应的本地口音的目标音频信号的一个或以上语音特征输入到经训练的语音识别神经网络,以将语音170翻译成目标内容形式。目标内容形式可以是音素、音节、字母等,或其任意组合。关于语音170的翻译的细节可以在本申请的其他地方找到(例如,操作550及其相关描述)。

生成模块414可以通过输出设备140生成界面,以在目标内容形式中呈现语音170。通过输出设备140生成的界面可以配置用于在目标内容形式中呈现语音170。在一些实施例中,为了以不同的目标内容形式呈现语音170,生成模块414可以通过输出设备140生成不同的界面。例如,为了以声音的形式呈现语音170,生成模块414可以通过输出设备140生成播放界面;为了以文字的形式呈现语音170,生成模块414可以通过输出设备140生成显示界面。

处理引擎112b可以包括采集模块421、确定模块422和训练模块423。

采集模块421可以获取用于生成经训练的语音识别神经网络模型的信息。例如,采集模块421可以获取样本音频信号,其包括至少两个样本说话者的至少两个样本语音、每个样本说话者的样本口音向量、对应于每个样本语音的样本本地口音、用于经训练的初始神经网络模型等,或其任意组合。采集模块421可以从外部数据源经由网络120和/或从语音识别系统100的一个或以上组件(例如,存储设备、服务器110)获取用于生成经训练的语音识别神经网络模型的信息。

确定模块422可以确定包括样本语音的样本音频信号的一个或以上样本语音特征。对于样本语音,相应的样本音频信号的样本语音特征可以包括音高、语音率、lpc、mfcc、lpcc等,或其任意组合。关于样本语音特征的确定的细节可以在本申请的其他地方找到(例如,操作820及其相关描述)。

训练模块423可以训练初始神经网络模型以生成经训练的语音识别神经网络模型。例如,训练模块423可以使用输入数据(例如,与包括至少两个样本说话者的至少两个样本语音的至少两个音频信号相关的信息)训练初始神经网络模型。关于经训练的语音识别神经网络模型的生成的细节可以在本申请的其他地方找到(例如,操作860及其相关描述)。

处理引擎112a和112b中的模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属电缆、光缆、混合电缆等,或其任意组合。无线连接可以包括局域网络(lan)、广域网络(wan)、蓝牙、zigbee网络、近场通信(nfc)等,或其任意组合。两个或以上模块可以合并成一个模块,以及任意一个模块可以被拆分成两个或以上单元。例如,处理引擎112a和112b可以集成到处理引擎112中,用于生成经训练的语音识别神经网络模型,并且在语音识别中应用经训练的语音识别神经网络模型。在一些实施例中,处理引擎112(处理引擎112a和/或处理引擎112b)可以包括一个或以上附加模块。例如,处理引擎112a可以包括存储模块(未示出),其被配置为存储数据。

图5是根据本申请的一些实施例所示的语音识别的示例性过程的流程图。过程500可以由语音识别系统100执行。例如,过程500可以实现为存储设备150中存储的一组指令(例如,应用程序)。处理引擎112(例如,处理引擎112a)可以执行一组指令并因此被引导以执行过程500。

在510中,处理引擎112a(例如,采集模块411)可以获取包括说话者160的语音170的目标音频信号。

目标音频信号可以代表语音170,并且记录语音170的特征信息(例如,频率)。在一些实施例中,目标音频信号可以由语音识别系统100的一个或以上组件获取。例如,可以从输入设备130(例如,智能电话130-1、耳机130-2、麦克风130-3、导航设备)获取目标音频信号。目标音频信号可以由说话者160经由输入设备130输入。又例如,可以从语音识别系统100中的存储设备(例如,存储设备150和/或存储器390)获取目标音频信号。在一些实施例中,可以经由网络120从诸如语音库的外部数据源获取目标音频信号。

在一些实施例中,语音170可以包括对按需服务的请求,例如,出租车服务、司机服务、快车服务、拼车服务、公共汽车服务、司机租赁服务和班车服务。附加地或替代地,语音170可以包括与按需服务的请求有关的信息。仅作为示例,语音170可以包括与请求出租车服务有关的起点和/或目的地。在一些实施例中,语音170可以包括指示输入设备130和/或输出设备140执行特定动作的命令。仅作为示例,语音170可以包括指示输入设备130呼叫某人的命令。

在520中,处理引擎112a(例如,确定模块412)可以确定目标音频信号的一个或以上语音特征。

语音特征可以指可以记录和分析语音170的声学特性。示例性语音特征可以包括音高、语音速率、线性预测系数(lpc)、梅尔级频率倒谱系数(mfcc)、线性预测倒谱系数(lpcc)等,或其任意组合。

在一些实施例中,语音特征可以以特征向量的形式表示或记录。在一些实施方案中,特征向量可以表示为具有一列或一行的载体。例如,特征向量可以是表示为1×n行列式(例如,1×108行列式)的行向量。在一些实施例中,特征向量可以对应于n维坐标系。n维坐标系可以与n语音特征相关联。在一些实施例中,确定模块412可以立即处理一个或以上特征向量。例如,m第一特征向量(例如,三行向量)可以被集成到1×mn向量或m×n矩阵中,其中m是整数。

在一些实施例中,确定的特征向量可以指示在时间窗口期间的目标音频信号的一个或以上语音特征,例如,10毫秒(ms)、25ms或50ms。例如,确定模块412可以将目标音频信号分段为至少两个时间窗口。不同的时间窗口可以具有相同的持续时间或不同的持续时间。两个连续的时间窗口可以相互重叠或不相互重叠。然后,确定模块412可以在每个时间窗口中对音频信号执行快速傅里叶变换(fft)。根据时间窗口的fft数据,确定模块412可以提取表示为时间窗口的特征向量的语音特征。

在530中,处理引擎112a(例如,采集模块411)可以获取说话者160的口音向量。

口音向量可以指代描述说话者160的口音的向量。说话者160的口音是说话者160特有的发音方式。在语音识别中,口音发音可能导致错误识别和单词识别失败。如果考虑说话者160的口音,则可以提高语音识别的准确度。通常,人的口音与该人居住的一个或以上位置有关。在生活在至少两个位置的人的情况下,他/她的口音可以是混合口音。仅作为示例,对于出生在山东、在上海学习、现在在北京工作的人,他/她的口音可能是山东口音、上海口音和北京口音的混合和/或组合。

为了描述说话者160的口音,提供口音向量。在一些实施例中,口音向量可以包括一个或以上元素,每个元素可以对应于区域口音并包括与区域口音相关的似然值。区域口音可以表示一个或以上特定区域特有的发音方式。如这里所使用的,由于口音几乎总是局部的,因此区域口音实际上等同于口音来自的地理区域,即区域口音也可以被称为口音所属的一个或以上地理区域。例如,山东口音也可以被称为山东口音,因为山东口音主要是由在山东长大或生活在山东的人口说的。又例如,中国的东北口音也可以被称为辽宁省、吉林省、黑龙江省和/或中国东北口音所属的其他地方。在一些实施例中,可以根据相应的区域口音将相对大的区域划分为至少两个子区域。例如,中国可以被划分为至少两个区域,每个区域具有独特的区域口音。由于三省的口音相似,辽宁省、吉林省和黑龙江省可以分为一个区域。在一些实施例中,区域和区域口音之间的对应关系可以存储在语音识别系统100的存储设备中,例如,存储设备150、rom230、ram240和/或存储器390。

与区域口音相关的似然值可以表示说话者160的口音是区域口音的似然值。换句话说,与区域口音相关的似然值可以测量说话者160的口音和区域口音之间的相似性或差异。例如,如果与北京口音相关的似然值是或接近100%,说话者160会说纯北京方言。又如例,如果与普通话和台湾口音相关的似然值分别为90%和10%,说话者160会说普通话和轻微的台湾口音。

在一些实施例中,说话者160的口音向量可以是单热矢量或嵌入矢量。在单热矢量中,与说话者160具有的区域口音相关的似然值可以表示为1,而说话者160没有的区域口音的似然值可以表示为0。说话者160具有的区域口音可以指相应的似然值等于或大于某个值(例如0%、10%等)的区域口音。在嵌入向量中,说话者160具有的区域口音的值可以表示为实数,而说话者160没有的区域口音的似然值可以表示为0。仅作为示例,口音向量可以表示为下面的等式(1):

x={x(1),x(2),…,x(i)}(1)

其中,x指的是说话者160的口音向量;i指的是第i区域口音;x(i)指的是与第i区域口音相关的似然值。似然值li可以是任何正值。例如,如果普通话是矢量x中的第一元素、山东口音是矢量x中的第二元素以及上海口音是矢量x中的第3个元素,那么x={0.7,0.2,0.1}的向量可能意味着说话者的口音包括或基本上包括80%的普通话,20%的山东口音和10%的上海口音。

在一些实施例中,采集模块411可以从语音识别系统100的外部源和/或一个或以上组件获取说话者160的口音向量。此外,说话者的口音简档(例如,口音向量x)可以由语音识别系统100预先确定。例如,说话者160的口音向量可以被记录和/或包括在他/她的用户简档中,并且存储在语音识别系统100的存储设备(例如,存储设备150、rom230、ram240和/或存储器390)中。采集模块411可以访问存储设备并取回说话者160的口音向量。在一些实施例中,说话者160的口音向量可以由说话者160经由输入设备130输入。附加地或替代地,口音向量可以由处理引擎112a(例如,确定模块412)确定并被发送到存储设备用于存储。

在一些实施例中,基于说话者160的用户简档,确定模块412可以确定一个或以上区域口音和相应的似然值。说话者160的用户简档可以包括家乡、电话号码、教育经历、工作经历、日志信息(例如,网络日志、软件日志)、历史服务订单等,或其任意组合。由于在用户简档下确定的口音向量不依赖于他/她的实际口音,因此矢量元素的值(或似然值)可以是二进制值。例如,确定模块412可以基于说话者160出生、学习、工作、长期居住的区域(例如,居住长度长于阈值)等或其任意组合确定说话者160具有的一个或以上区域口音。因此,基于说话者出生的地方,与说话者160出生的地理区域相关的区域口音的似然值可被指定为1,与说话者出生地以外的地理区域相关的区域口音可以指定为0。基于说话者160停留的时间长度,与说话者所居住和/或寿命长于阈值的地理区域相关的区域口音可以指定为1,与说话者所居住和/或寿命短于阈值的地理区域相关的区域口音可以指定为0。

在一些实施例中,说话者160的用户简档可以包括含有说话者160的一个或以上历史语音的历史音频信号。确定模块412可以通过分析历史音频信号确定说话者160的口音向量。关于基于历史音频信号确定口音向量的细节可以在本申请的其他地方(例如,图6和7及其相关描述)找到。

在540中,采集模块411可以获取语音170起源区域的本地口音。人们说话的方式可能会受到语言环境的影响。例如,对于一个具有山东和北京的混合口音的说话者,他/她可能在山东有一个更明显的山东口音和在北京有更明显的北京口音。又例如,对于说话者没有台湾口音,他/她在台湾时可能会用轻微的台湾口音说话。因此,在语音识别中可能需要考虑语音170起源区域的本地口音。

在一些实施例中,输入设备130可以是具有定位技术的设备,用于定位说话者160和/或输入设备130。或者,输入设备130可以与另一个定位设备通信以确定说话者160和/或输入设备130的位置。当说话者160经由输入设备130输入语音170时或之后,输入设备130可以将说话者160的位置信息发送到服务器110(例如,处理引擎112a)。基于位置信息,服务器110(例如,处理引擎112a)可以确定语音170起源区域的本地口音。例如,确定模块412可以基于区域和区域口音之间的对应关系确定生成语音170的区域的区域口音。确定模块412还可以指定生成语音170的区域的区域口音作为本地口音。

在550中,处理引擎112a(例如,翻译模块413)可以将目标音频信号的一个或以上语音特征、说话者160的口音向量和本地口音输入到经训练的语音识别神经网络中,以将语音170翻译成目标内容形式。

目标内容形式可以是音素、音节、字母等,或其任意组合。音素指的是指定语言中的语音的感知上不同的单位,它们将一个词与另一个词区分开来。音节是指具有一个元音的发音单元,有或没有周围的辅音,形成一个单词的全部或一部分,而音节形式的翻译语音可以是单词的声音或语音。音素和/或音节可以是不同口音下的语音。例如,山东口音下的音频语音的目标内容形式可以包括普通话或广东话所用的相同语音的音素。音素和/或音节也可以是与原始语音不同的另一种语言。例如,可以用中文说出音频语音,并且音频语音的目标内容可以包括用英语说出的相同语音的音素。字母是指书面语言的单位,字母形式的翻译语音可以是一个或以上的单词。例如,处理引擎112a可以识别音频语音中的音素和/或音节,并且将音素和/或音节翻译成与音频语音的语言相同或不同的特定语言的书写单词的字母。在一些实施例中,目标内容形式可以是目标语言或口音。例如,翻译语音可以是英文单词。

经训练的语音识别神经网络模型可以配置用于基于输入生成神经网络输出。例如,经训练的语音识别神经网络模型可以输出对应于输入(例如,语音特征、口音向量和本地口音)的特定音素的似然值。在一些实施例中,神经网络输出可以是与目标内容形式相同的内容形式。例如,神经网络输出可以是音素的形式,其与目标内容形式相同。无需将神经网络输出转换为目标内容形式。在一些实施例中,神经网络输出可以是与目标内容形式不同的内容形式。例如,神经网络输出可以是音素的形式,而目标内容形式是音节或字母。翻译模块413可以进一步将神经网络输出变换为目标内容形式。仅作为示例,翻译模块413可以将音素形式的神经网络输出输入到一组加权有限状态换能器(wfst)中以生成单词网格。翻译模块413还可以从单词网格导出语音170的转录。语音170的转录可以是包括口语单词或包括单词的文本的声音。在一些实施例中,目标内容形式可以是目标语言或口音。语音170的转录可以进一步翻译成目标语言或口音。转录的翻译可以由翻译模块413基于翻译技术或外部翻译平台(例如,翻译网站、翻译软件)执行。

在一些实施例中,经训练的语音识别神经网络模型可以由翻译模块413从语音识别系统100中的存储设备(例如,存储设备150)和/或经由网络120的外部数据源(未示出)获取。在一些实施例中,处理引擎112b可以生成经训练的语音识别神经网络模型,并且将其存储在存储设备中。翻译模块413可以访问存储设备并取回经训练的语音识别神经网络模型。

在一些实施例中,处理引擎112b可以基于机器学习方法训练经训练的语音识别神经网络模型。机器学习方法可以包括但不限于人工神经网络算法、深度学习算法、决策树算法、关联规则算法、归纳逻辑编程算法、支持向量机算法、聚类算法、贝叶斯网络算法、强化学习算法、表示学习算法、相似性和度量学习算法、稀疏字典学习算法、遗传算法、基于规则的机器学习算法等,或其任意组合。在一些实施例中,处理引擎112b可以通过执行图8中所示的过程800训练经训练的语音识别神经网络模型。

在560中,生成模块414可以通过输出设备140生成界面,以在目标内容形式中呈现语音170。

通过输出设备140生成的界面可以配置用于在目标内容形式中呈现语音170。为了以不同的目标内容形式呈现语音170,生成模块414可以通过输出设备140生成不同的界面。在一些实施例中,用于呈现语音170的界面可以是人类可见的。例如,目标内容形式中的语音170可以是一个或以上的声音和/或单词,如结合操作550所描述的。为了以声音的形式呈现语音170,生成模块414可以通过输出设备140生成播放界面。为了以文字的形式呈现语音170,生成模块414可以通过输出设备140生成显示界面。在一些实施例中,用于呈现语音170的界面可以是人类不可见的但是机器可读的。例如,目标内容形式中的语音170可以是音素。生成模块414可以通过输出设备140生成存储界面,以音素的形式存储和/或缓存语音170,其可能不是由人眼直接读取,而是可以被智能设备(例如,计算机或其他设备)读取、翻译和使用。

输出设备140可以是,例如,移动设备140-1、显示设备140-2、扬声器130-3、机动车内置设备140-4、存储设备和/或可输出和/或显示信息的任何设备。在一些实施例中,输入设备130和输出设备140可以集成到设备或两个单独的设备中。例如,语音170可以由移动电话记录,然后由处理引擎112a翻译成单词。生成模块414可以生成用于通过移动电话本身或另一输出设备140(例如,另一移动电话、膝上型计算机等)显示翻译单词的界面。

应当注意以上对过程500的描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的修正和改变。然而,这些变化和修改不会背离本申请的范围。

在一些实施例中,可以添加一个或以上附加操作,或者可以省略过程500的一个或以上操作。例如,可以省略操作540。在550中,翻译模块413可以将目标音频信号的一个或以上语音特征和说话者160的口音向量输入到经训练的语音识别神经网络模型。在一些实施例中,可以改变过程500的操作的顺序。例如,操作530和540可以同时或以任何顺序执行。

在一些实施例中,在530中,说话者160的口音可以以口音向量以外的形式表达。例如,口音可以由多项式或矩阵表示。多项式或矩阵可以包括一个或以上元素,其类似于口音向量的元素。每个元素可以对应于区域口音并包括与区域口音相关的似然值。在一些实施例中,在530中,采集模块411可以获取至少两个口音向量。至少两个口音向量可以对应于不同的区域口音。可选地,所述至少两个口音向量可以在被输入到经训练的语音识别神经网络模型之前由确定模块412集成到单个口音向量中。在一些实施例中,确定模块412还可以获取或确定与目标音频信号相关的一个或以上音频特性。音频特性可以独立于说话者160所说的语音170中的单词。例如,音频特征可以指示对应于背景噪声的一个或以上的特征,记录通道属性、说话者的说话风格、说话者的性别、说话者的年龄等,或其任意组合。在550中,音频特征可以与一个或以上语音特征、口音向量和/或本地口音一起输入到经训练的语音识别神经网络模型。

图6是根据本申请的一些实施例所示的用于基于一个或以上区域口音模型确定说话者的口音向量的示例性过程的流程图。过程600可以由语音识别系统100执行。例如,过程600可以实现为存储设备150中存储的一组指令(例如,应用程序)。处理引擎112(例如,处理引擎112a)可以执行一组指令,并且因此可以指示执行过程600。在一些实施例中,过程600可以是参考图5的操作530的实施例。

在610中,处理引擎112a(例如,采集模块411)可以获取包括说话者160的一个或以上历史语音的历史音频信号。每个历史语音可以被编码在一个或以上历史音频信号中。历史音频信号可以从语音识别系统100的一个或以上组件或外部数据源获取。例如,可以从语音识别系统100中的存储设备(例如,存储设备150、rom230、ram240和/或存储器390)获取历史音频信号。在一些实施例中,历史语音可以由说话者160经由输入设备130输入。在一些实施例中,历史语音可以包括用于按需服务的历史请求或与历史请求有关的信息。包括历史语音的历史音频信号可以类似于包括结合操作510描述的语音170的目标音频信号,并且不重复其描述。

在620中,对于一个或以上历史语音中的每一个,处理引擎112a(例如,确定模块412)可以确定相应的历史音频信号的一个或以上历史语音特征。对于历史语音,相应的历史音频信号的历史语音特征可以包括音高、语音率、lpc、mfcc、lpcc等,或其任意组合。在一些实施例中,对应于历史语音的历史语音特征可以以特征向量的形式表示或记录。可以以与操作520类似的方式执行操作620,并且这里不再重复其描述。

在630中,处理引擎112a(例如,采集模块411)可以获取一个或以上区域口音模型。区域口音模型可以是对应于说话者的语言或区域口音的特定口音模型。仅作为示例,区域口音模型可以包括对应于不同语言(例如,英语、日语或西班牙语)和/或对应于不同区域口音的语言(例如,对于中文,区域口音可以包括普通话、广东话等;对于英语,区域可以包括美国英语、英国英语、印度英语等)。对应于区域口音或语言的区域口音模型可以配置用于基于语音的语音特征生成模型输出。模型输出可以指示语音的说话者具有相应的区域口音或说出该语言的似然值或概率。模型输出可以进一步用于构造说话者的口音向量,这将结合操作650进行详细描述。

在一些实施例中,采集模块411可以从外部数据源或语音识别系统100的一个或以上组件获取区域口音模型。例如,采集模块411可以从例如语音数据库和/或语音识别系统100外部的语言库获取区域口音模型。又例如,采集模块411可以从语音识别系统100的存储设备(例如,存储设备150、rom230、ram240和/或存储器390)获取区域口音模型。在一些实施例中,区域口音模型可以由服务器110(例如,处理引擎112b)训练并存储在存储设备中。例如,对应于特定区域口音的区域口音模型可以由处理引擎112b使用训练集训练。训练集可以包括例如属于区域口音的至少两个样本语音的语音特征。

在640中,对于一个或以上历史语音中的每一个,处理引擎112a(例如,确定模块412)可以将一个或以上相应的历史语音特征输入到一个或以上区域口音模型中的每一个中。对于历史语音,每个区域口音模型可以生成模型输出,其指示说话者160具有相应的区域口音的似然值或概率。例如,可以将源自三个历史语音的历史语音特征分别输入到北京口音模型中。北京口音模型的输出可以表示说话者160具有北京口音的80%似然值、85%似然值和70%似然值。

在650中,确定模块412可以基于至少一个或以上区域口音模型的输出确定说话者160的口音向量的至少两个元素。口音向量的每个元素可以对应于区域口音并包括与如结合图6所描述的区域口音相关的似然值。可以根据对应于区域口音的区域口音模型的输出确定与区域口音相关的似然值。

以北京口音为例,基于北京口音模型相对于一个或以上历史语音的输出,相应的似然值可以确定。例如,确定模块412可以确定说话者160具有北京口音的总体似然值,并且相应地进一步确定似然值。说话者160具有北京口音的总体似然值可以是,例如,北京口音模型的输出的最大值、平均值或中值。在一些实施例中,北京口音的似然值可以通过将北京口音的整体似然值与其他区域口音的整体似然值一起归一化确定。在一些实施例中,确定模块412可以在似然值确定中应用最小阈值。在这种情况下,当北京口音的(标准化的)总体似然值低于最小阈值时,确定模块412可以确定说话者160不具有北京口音,并且相应的似然值可以表示为0。当北京口音的(标准化)总体似然值不低于最小阈值时,确定模块412可以确定说话者160具有北京口音,并且相应的似然值可以表示为(标准化的)总体似然值或1。在一些实施例中,确定模块412可以对不同区域口音的总体似然值进行排名。当北京口音排在排序结果的前n(例如,1、3、5)时,确定模块412可以确定说话者160具有北京口音,并且相应的似然值可以表示为(标准化的)总体似然值或1。否则,与北京口音相关的似然值可以表示为0。

图7是根据本申请的一些实施例所示的用于基于口音分类模型确定说话者的口音向量的示例性过程的流程图。过程700可以由语音识别系统100执行。例如,过程700可以实现为存储设备150中存储的一组指令(例如,应用程序)。处理引擎112(例如,处理引擎112a)可以执行一组指令,并且因此可以指示执行过程700。在一些实施例中,过程700可以是参考图5的操作530的实施例。

在710中,处理引擎112a(例如,采集模块411)可以获取包括说话者的一个或以上历史语音的历史音频信号。在720中,对于一个或以上历史语音中的每一个,确定模块412可以确定相应的历史音频信号的一个或以上历史语音特征。可以分别以与操作610和620类似的方式执行操作710和720,并且这里不再重复其描述。

在730中,处理引擎112a(例如,采集模块411)可以获取口音分类模型。口音分类模型可以被配置为接收语音的语音特征,并且将说出语音的说话者的口音分类成一个或以上口音分类。口音分类可以包括,例如,一个或以上语言(例如,英语、日语或西班牙语)和/或一个或以上区域口音(例如,普通话、广东话、台湾口音、美国英语、英国英语)。在一些实施例中,分类结果可以由说话者具有的一个或以上区域口音表示。附加地或替代地,分类结果可以包括说话者具有特定区域口音的概率或似然值。例如,分类结果可以表明说话者的口音具有70%的普通话似然值和30%的广东话似然值。

在一些实施例中,采集模块411可以从语音识别系统100的外部数据源和/或一个或以上组件(例如存储设备、服务器110)获取口音分类模型。口音分类模型的获取可以类似于结合操作630描述的区域口音模型的获取,并且不重复其描述。在一些实施例中,口音分类模型可以由服务器110(例如,处理引擎112b)训练并存储在存储设备中。例如,口音分类模型可以由处理引擎112b使用一组训练样本进行训练,每个训练样本可以被标记为属于特定的口音分类。

在740中,对于一个或以上历史语音中的每一个,处理引擎112a(例如,确定模块412)可以将一个或以上相应的历史语音特征输入到口音分类模型中。对于历史语音,口音分类模型可以输出关于说话者160的口音的分类结果。

在750中,处理引擎112a(例如,确定模块412)可以至少基于口音分类模型的输出确定说话者160的口音向量的至少两个元素。口音向量的每个元素可以对应于区域口音,并且包括与如结合图6所描述的区域口音相关的似然值。可以根据口音分类模型的分类结果确定与区域口音相关的似然值。

在一些实施例中,对应于历史语音的分类结果可以包括说话者160具有的一个或以上区域口音。确定模块412可以确定说话者160具有特定区域口音的总体似然值,并且将其指定为与区域口音相关的似然值。仅作为示例,基于历史语音的分类结果表明说话者160具有北京口音和山东口音,基于另一历史语音的分类结果表明说话者160仅具有北京口音。确定模块412可以确定说话者160具有北京口音和山东口音的总体似然值是2/3和1/3。在一些实施例中,对应于历史语音的分类结果可以包括说话者160具有特定区域口音的似然值。确定模块412可以确定说话者160具有特定区域口音的总体似然值,并且相应地进一步确定似然值。关于基于其整体似然值确定与区域口音相关的似然值的细节可以在本申请的其他地方找到(例如,操作650及其相关描述)。

图8是根据本申请的一些实施例所示的用于生成经训练的语音识别神经网络模型的示例性过程的流程图。过程800可以由语音识别系统100执行。例如,过程800可以实现为存储设备150中存储的一组指令(例如,应用程序)。处理引擎112(例如,处理引擎112b)可以执行一组指令,并且因此可以指示处理引擎112执行处理引擎112。

在810中,处理引擎112b(例如,采集模块421)可以获取包括至少两个样本说话者的至少两个样本语音的样本音频信号。样本说话者的每个样本语音可以被编码或包括在一个或以上样本音频信号中。在一些实施例中,可以从语音识别系统100的一个或以上组件获取样本音频信号,例如存储设备(存储设备150、rom230、ram240和/或存储器390)、输入设备130等。例如,存储设备150可以存储包括语音识别系统100的用户的至少两个历史语音的历史音频信号。历史音频信号可以从存储设备150中取回并由采集模块421指定为样本音频信号。在一些实施例中,可以经由网络120从外部数据源(例如,语音库)获取样本音频信号。包括样本语音的样本音频信号可以类似于结合操作510描述的包括语音170的目标音频信号,并且不重复其描述。

在820中,对于至少两个样本语音中的每一个,处理引擎112b(例如,确定模块422)可以确定相应的样本音频信号的一个或以上样本语音特征。对于样本语音,相应的样本音频信号的样本语音特征可以包括音高、语音率、lpc、mfcc、lpcc等,或其任意组合。可以以与操作520类似的方式执行操作820,并且这里不再重复其描述。

在830中,对于至少两个样本语音中的每一个,处理引擎112b(例如,采集模块421)可以确定相应的样本说话者的样本口音向量。样本说话者的样本口音向量可以是描述样本说话者的口音的向量。样本口音向量的获取可以类似于结合操作530描述的口音向量的获取,并且不重复其描述。

在840中,对于至少两个样本语音中的每一个,处理引擎112b(例如,采集模块421)可以获取样本语音起源区域的样本本地口音。可以以与操作540类似的方式执行操作840,并且这里不再重复其描述。

在850中,处理引擎112b(例如,采集模块421)可以获取初始神经网络模型。示例性的初始神经网络模型可以包括卷积神经网络(cnn)模型、人工神经网络(ann)模型、递归神经网络(rnn)模型、深度信任网络模型、感知器神经网络模型、堆栈自编码网络模型,或任何其他合适的神经网络模型。在一些实施例中,初始神经网络模型可以包括一个或以上初始参数。可以在初始神经网络模型的训练过程期间调整一个或以上初始参数。初始参数可以是语音识别系统100的默认设置,或者可以在不同情况下是可调节的。在一些实施例中,初始神经网络模型可以包括至少两个处理层,例如,输入层、隐藏层、输出层、常规层、汇集层、激活层等,或其任意组合。

在860中,处理引擎112b(例如,训练模块423)可以通过将一个或以上对应于每个样本语音的样本语音特征、样本说话者的样本口音向量和样本本地口音输入到初始神经网络模型中确定经训练的语音识别神经网络模型。为简洁起见,与输入到初始神经网络模型中的每个样本语音相对应的样本语音特征、样本说话者的样本口音向量和样本本地口音可以被称为输入数据。

在一些实施例中,输入数据可以输入到初始神经网络模型中以生成实际输出。训练模块423可以将实际输出与期望的或正确的输出进行比较以确定损失函数。期望的或正确的输出可以包括,例如,对应于特定音素的输入数据的期望或校正的似然值。在一些实施例中,可以基于样本语音的正确翻译(可能以单词或声音的格式)确定期望或校正的似然值。损失函数可以测量实际输出和期望输出之间的差异。在训练过程期间,训练模块423可以更新初始参数以最小化损失函数。在一些实施例中,损失函数的最小化可以是迭代的。可以终止最小化损失函数的迭代,直到新的损失函数小于预定阈值。预定阈值可以手动设置或者基于各种因素(例如,经训练的语音识别神经网络模型的准确度等)确定。

应当注意以上对过程800的描述仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域普通技术人员而言,在本申请内容的指导下,可作出多种变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,可以添加一个或以上附加操作,或者可以省略过程800的一个或以上操作。例如,可以省略操作840。在860中,训练模块423可以使用对应于每个样本语音的样本说话者的一个或以上样本语音特征和样本口音向量训练初始神经网络模型。

图9是根据本申请的一些实施例所示的示例性经训练的语音识别神经网络模型910的示意图。如图9所示,经训练的语音识别神经网络模型910可以包括至少两个处理层,例如,输入层911、多个隐藏层(例如,912a和912b)以及输出层913。

为了识别说话者160的语音170,输入层911可以接收与语音170相关的输入数据。例如,源自语音170的一个或以上语音特征930、说话者160的口音向量以及语音170起源区域的本地口音可以作为输入数据提供给输入层911。在一些实施例中,可以基于一个或以上口音模型921(例如,区域口音模型或口音分类模型)确定说话者160的口音向量。区域口音模型或口音分类模型可以是经训练的神经网络模型,用于确定和/或分类说话者160的口音。

经训练的语音识别神经网络模型910的输出层913可以生成模型输出。模型输出可以包括例如语音特征930、口音向量920和本地口音的组合表示特定音素的似然值。在一些实施例中,处理引擎112a(例如,翻译模块413)可以进一步将模型输出转换为目标内容形式(例如,声音、单词等)的转录。可以将转录发送到用户终端以进行呈现。

图9中所示的应当注意示例仅出于说明的目的而提供,并非旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。例如,训练的语音识别神经网络模型910可以包括其他类型的处理层,诸如常规层、汇集层、激活层等,或其任意组合。又例如,经训练的语音识别神经网络模型910可以包括任何数量的处理层。作为又一示例,输入数据可以包括语音特征930和口音向量920而没有本地口音。

上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。

同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。

计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf等,或任何上述介质的组合。

本申请各部分操作所需的计算机程序编码可以用任意一种或以上程序语言编写,包括面向主体编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。

此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1