900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 一种利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法与流程

一种利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法与流程

时间:2018-09-19 15:35:01

相关推荐

一种利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法与流程

本发明涉及基于地点的语音的自动识别任务,尤其涉及一种利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法。

背景技术:

:随着以神经网络技术基础的自动语音识别技术的蓬勃发展,以神经网络技术为基础的自动语音识别服务已经成为一项重要的网络服务,该服务可以针对于用户说出的语音,自动生成语音所对应的字符串,让其他的服务组件进一步进行自动问题回答、自然语言理解等工作的处理。而针对于一段语音对话,通常会有许多可能的备选字符串答案,如果将语音对话的核心聚焦在地点上,比如使用语音对话进行导航等服务,则对于答案字符串的组成也应当有不同的侧重,字符串中应当以较高的频率出现地点相关的词汇,上下文关系也应当以地点为主,但是目前的基于地点的语音对话的自动识别技术的效果并不是很好。现有的基于地点的语音的自动识别技术主要是在神经网络中使用单一的基于字符的语言模型来提高自动语音识别的正确率,该方法主要是使用单一基于字符的语言模型来提高地理相关词汇的出现率,或者让上下文关系更加以地点为主,从而将与地点相关度最高的字符串排在前面,但是由于中文分词任务的困难性,该方法仅仅考虑到了字符串中字符间的相互关系,并没有充分利用字符串中词语间的相互关系和语法的结构。为了克服这个缺陷,本方法将同时利用基于字符、词语、类型的三种语言模型来提高识别的准确度。本发明将首先利用深层卷积网络、双向门控循环单元和连接时序分类器来进行语音的序列编码,之后通过在含有大量地理名词的基于字符的语言模型中使用前缀集束搜索算法来排除有明显发音错误或语法错误的备选字符串,之后利用基于词语的语言模型和基于类型的语言模型来计算反映备选字符串上下文关系及语法关系的评价分数,结合为备选字符串的最终评价分数,选取最终评价分数最优的备选字符串作为最终的语音识别结果。技术实现要素:本发明的目的在于解决现有技术中的问题,为了克服现有技术中仅仅关注到基于地点的语音识别中字符串内字符的相互关系,没有关注字符串内上下文相互关系及语法结构的问题,本发明提供一种利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法。本发明所采用的具体技术方案是:利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法,包含如下步骤:1)针对于一组基于地点的语音和相关联的字符串数据集,使用编码器获得语音中每个帧对应于词汇集的概率分布向量的序列编码;构建基于字符的语言模型lm1,采用lm1和前缀集束搜索算法得到序列编码的备选字符串集a和各个备选字符串对应的反映字符相关性的评价分数;2)构建基于词语的语言模型lm2;根据步骤1)得到的备选字符串集a和各个备选字符串对应的反映字符相关性的评价分数,利用lm2得到各个备选字符串的反映上下文关系的评价分数;3)将步骤1)得到的备选字符串集a映射到基于所属类型的备选字符串集a",构建基于类型的语言模型lm3,根据a"和lm3得到各个备选字符串的反映语法关系的评价分数;4)将步骤2)获得的反映上下文关系的评价分数与步骤3)获得的反映语法关系的评价分数相加,得到各个备选字符串的最终评价分数,选择最终评价分数最高的备选字符串作为语音的识别结果。进一步的,所述的步骤1)具体为:1.1)构建基于地点的语音、字符串之间相互关系的编码器网络,所述编码器网络由深层卷积网络、双向门控循环单元和连接时序分类器构成;对于含有t个帧的一段语音,使用编码器将语音中的第i个帧映射成对应于词汇集的概率分布向量pi,获得整段语音中每个帧对应于词汇集的概率分布向量的序列编码{p1,p2,p3,…,pt},记为p;1.2)根据维基百科、百度和专有名词的语料库建立基于字符的n-gram统计模型作为语言模型lm1;对于步骤1.1)得到的序列编码p,使用集束大小为m的前缀集束搜索算法获得序列编码的对应备选字符串集a={a1,a2,a3...,am},其中ai表示备选字符串集中的第i个字符串,m为前缀集束搜索的集束大小;将备选字符串ai输入到基于字符的语言模型lm1中,得到对于备选字符串ai的评价分数lm1(ai),计算公式如下:其中,ci,j代表备选字符串ai中的第j个字符,nci代表备选字符串ai中的字符个数,n为语言模型lm1的n-gram模型中n的大小;1.3)计算每一个备选字符串ai对应的反映字符相关性的评价分数s1,i:s1,i=log(p(ai|x))+α×lm1(ai)+β×nci其中,x代表一段基于地点的语音,α和β代表用来组合不同语言模型所用的超参数。进一步的,所述的步骤2)具体为:2.1)根据维基百科、百度和专有名词的语料库建立基于词语的n-gram统计模型作为语言模型lm2;2.2)将备选字符串ai输入到基于词语的语言模型lm2中,得到对于备选字符串ai的评价分数lm2(ai),计算公式如下:其中,wi,j代表备选字符串ai中的第j个词语;nwi代表备选字符串ai中的词语个数,n为语言模型lm2的n-gram模型中n的大小;2.3)计算每一个备选字符串ai的反映上下文关系的评价分数contexti:contexti=γ×norm(s1,i)+δ×norm(lm2(ai))+∈×norm(nwi)其中,γ、δ和∈是代表用来组合不同语言模型所用的超参数,norm(·)代表标准化函数。进一步的,所述的步骤3)具体为:3.1)首先使用k-means聚类算法,在预训练的词嵌入(wordembedding),上将备选字符串中的备选词汇分类为特定的类型:根据步骤1)得到的备选字符串集,将备选字符串映射为其中wi,j代表备选字符串ai中的第j个词语,group(wi,j)代表备选字符串ai中的第j个词语的所属类型;3.2)建立递归神经网络,用现有的已知词汇类型的训练数据对递归神经网络进行训练,得到基于类型的语言模型lm3;3.3)将步骤2.1)得到的带类型的备选字符串ai"输入到基于类型的语言模型lm3中,得到对于备选字符串ai"的评价分数lm3(ai"),计算公式如下:3.4)对于备选字符串集中每个备选字符串ai的映射后的结果ai",按照如下公式计算每一个备选字符串ai的反映语法关系的评价分数grammari:grammari=η×norm(lm3(ai"))其中,η是代表用来组合不同语言模型所用的超参数。进一步的,所述的步骤4)具体为:将步骤2)得到的每一个备选字符串ai的反应上下文关系的评价分数contexti和步骤3)得到的每一个备选字符串ai的反应语法关系的评价分数grammari相加,得到每一个备选字符串ai的最终评价分数si:si=contexti+grammari将备选字符串集中的每一个备选字符串的最终评价分数进行排序,选择最终评价分数最高的备选字符串作为语音的识别结果。在实际应用中,经过在开发用的基于地点的语音识别数据集上进行训练,形成使用多种语言模型的基于地点的语音识别端到端网络,对于所给的基于地点的语音,通过该模型便可识别该语音所对应的的字符串。本发明具备的有益效果是:本发明为一种利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法,在实现时,本发明使用了基于字符的语言模型、基于词语的语言模型和基于类型的语言模型。(1)通过使用基于字符的语言模型,本发明将输入的基于地点的语音的序列编码转换为一个备选字符串集合,且由于使用n-gram类型的基于字符的语言模型,本发明在计算备选字符串的初始评价分数时可以保证计算的速度。在后面的步骤中,由于已经将基于地点的语音的序列编码转换为了备选字符串集,可以直接考察整个备选的字符串和上下文,而不必一个接一个地去进行解码。另外,本发明在基于字符的语言模型中加入了大量的地点相关的名词,可以强化对于地点相关的名词的识别能力,并在基于地点的语音的识别结果中尽可能激励地点相关词汇的出现。(2)通过使用基于词语的语言模型,本发明可以充分考虑备选字符串的上下文关系,尽可能使备选字符串的上下文关系以地点为主,同时由于本发明再一次在基于词语的语言模型中也加入了大量的地理名词,本发明可以进一步强化对于地点相关名词的识别能力,并在基于地点的语音的识别结果中更加激励地点相关词汇的出现。(3)通过使用基于类型的语言模型,本发明可以充分考虑备选字符串的语法结构,使基于地点的语音的识别结果更加符合中文的合理语法结构,使得基于地点的语音的识别结果字符串更加通顺,可读性更高。综上所述,通过联合使用三种语言模型,本发明可以充分利用中文的字符、词语、上下文和语法结构关系,使得基于地点的自动识别结果字符串中尽可能通顺、内容尽可能以地点为主、上下文关系更加协调。附图说明图1是本发明使用的端到端网络系统概览图,包含编码器网络和解码器网络,编码器网络由层叠的卷积神经网络、层叠的双向门控循环单元和连接时序分类器组成,解码器网络由连接时序分类器和3种语言模型组成。具体实施方式下面结合附图和具体实施方式对本发明做进一步阐述和说明。如图1所示,本发明一种利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法包括如下步骤:步骤一、针对于一组基于地点的语音和相关联的字符串数据集,构建基于地点的语音、字符串之间相互关系的编码器网络,获得一段语音中每个帧的对应于词汇集的概率分布向量的序列编码,利用连接时序分类器和含有大量地理名词的基于字符的语言模型生成序列编码的备选字符串集;具体为:1.1)针对于一组基于地点的语音和相关联的字符串数据集,使用预训练的含有深层卷积网络、双向门控循环单元及连接时序分类器的编码器网络获得基于地点的语音中每个帧的对应于词汇集的概率向量,对于含有t个帧的一段语音,将语音中的第i个帧映射成对应于词汇集的概率分布向量pi,将一段语音的所有帧输入完成之后,进行训练,获得整段语音中每个帧的对应于词汇集的概率分布向量的序列编码{p1,p2,p3,…,pt},记为p。1.2)对于步骤1.1)所获得的语音中每个帧的对应于词汇集的概率分布向量的序列编码,通过在含有大量地理名词的基于字符的语言模型lm1中使用前缀集束搜索算法,获得关于整段语音中每个帧的对应于词汇集的概率分布向量的序列编码的对应备选字符串集{(a1,s1,1),(a2,s1,2),…,(am,s1,m)},记为s1,其中m为前缀集束搜索的集束大小,该集合中的每一条数据(ai,s1,i)代表的含义为“针对于一段基于地点的语音而言,备选字符串ai的反映字符相关性的评价分数为s1,i”。针对于备选字符串集s1={(a1,s1,1),(a2,s1,2),…,(am,s1,m)}中的每一个备选字符串ai,按照如下公式构建反映字符相关性的评价分数s1,i:s1,i=log(p(ai|x))+α×lm1(ai)+β×nci其中,x代表一段基于地点的语音,nci代表备选字符串ai中的字符个数,α和β代表用来组合不同语言模型所用的超参数;lm1(ai)代表在含有大量地理名词的基于字符的语言模型lm1中使用前缀集束搜索得到的对于备选字符串ai的评价分数,lm1(ai)的计算公式如下:其中,ci,j代表备选字符串ai中的第j个字符。在此步骤中,lm1为采用了基于维基百科、百度和专有名词的语料库得到的n-gram统计模型,超参数α预先设置为了2.6,β预先设置为了5.0。步骤二、对于步骤一形成的基于地点的语音序列编码的备选字符串集,利用连接时序分类器、含有大量地理名词的基于词语的语言模型lm2计算备选字符串集中各个备选字符串的反映上下文关系的评价分数,利用基于类型的语言模型lm3计算备选字符串集中各个备选字符串的反映语法关系的评价分数,将反应上下文关系的评价分数和反应语法关系的评价分数之和作为备选字符串的最终评价分数,选择最终评价分数最优的备选字符串作为语音的识别结果。具体为:2.1)根据步骤1)获得的基于地点的语音序列编码的备选字符串集和反映字符相关性的评价分数,对于备选字符串集中每个备选字符串ai,按照如下公式构建反映备选字符串ai的上下文关系的评价分数contexti:contexti=γ×norm(s1,i)+δ×norm(lm2(ai))+∈×norm(nwi)其中,γ、δ和∈是代表用来组合不同语言模型所用的超参数,nwi代表备选字符串ai中的词语个数,norm(·)代表标准化函数;lm2(ai)代表使用含有大量地理名词的基于词语的语言模型lm2得到的对于备选字符串ai的评价分数,lm2(ai)的计算公式如下:其中,wi,j代表备选字符串ai中的第j个词语。在此步骤中,lm2为采用了基于维基百科、百度和专有名词的语料库得到的n-gram统计模型,超参数γ预先设置为了0.31,超参数δ设置为了0.36,超参数∈预先设置为了0.27。2.2)使用k-means聚类算法,在预训练的词嵌入(wordembedding)上将备选词汇分类为特定的类型,根据步骤一获得的基于地点的语音序列编码的备选字符串集,对于备选字符串集中每个备选字符串ai,将备选字符串映射为其中wi,j代表备选字符串ai中的第j个词语,group(wi,j)代表备选字符串ai中的第j个词语的所属类型。然后,使用递归神经网络和词汇类型训练数据训练基于类型的语言模型lm3。对于备选字符串集中每个备选字符串ai的映射后的结果ai",按照如下公式构建反映备选字符串ai的语法关系的评价分数grammari:其中,η是代表用来组合不同语言模型所用的超参数,nwi代表备选字符串ai中的词语个数,wi,j代表备选字符串ai中的第j个词语,group(wi,j)代表备选字符串ai中的第j个词语的所属类型;lm3(ai)代表使用基于类型的语言模型lm3得到的对于备选字符串ai的评价分数,lm3(ai)的计算公式如下:其中,wi,j代表备选字符串ai中的第j个词语,group(wi,j)代表备选字符串ai中的第j个词语的所属类型。在此步骤中,lm3为含有128个隐单元的递归神经网络,超参数η预先设置为了0.09。2.3)对于步骤2.1)及2.2)所形成的对于备选字符串集中备选字符串ai的反映上下文关系的评价分数contexti和反映语法关系的评价分数grammari,按照公式si=contexti+grammari计算备选字符串ai的最终评价分数si,选择备选字符串集中最终评价分数最优的备选字符串作为语音的识别结果。2.4)经过在开发用的基于地点的语音识别数据集上进行训练,形成使用多种语言模型的基于地点的语音识别端到端网络,对于所给的基于地点的语音,通过该模型便可识别该语音所对应的的字符串。下面将上述方法应用于下列实施例中,以体现本发明的技术效果,实施例中具体步骤不再赘述。实施例本发明在基于地点的对话语音实验数据进行实验,并且比较了使用不同语言模型组合所得到的实验结果。所使用的基于地点的对话语音实验数据集中共包括超过200人对话的录音,且将实验数据集分为了开发数据集和测试数据集,其中开发数据集包含50小时的基于地点的对话语音录音,测试数据集包含20小时的基于地点的对话语音录音。为了客观地评价本发明的算法的性能,本发明在所选出的开发数据集和测试数据集中,都分别使用了无语言模型、仅使用语言模型lm1、仅使用语言模型lm1+lm2、同时使用语言模型lm1+lm2+lm3这四种不同的语言模型组合来对于本发明的效果进行评价。实验结果的评价标准使用了字符差错率(cer)来进行计算。按照具体实施方式中描述的步骤,不同语言模型组合在开发数据集上的字符差错率结果如表1所示,不同语言模型组合在测试数据集上的字符差错率结果如表2所示,无论是针对于开发数据集还是针对于测试数据集,lm1+lm2+lm3的组合得到的字符差错率(cer)最低。表1本发明在不同语言模型组合情况下针对于开发数据集的字符差错率结果语言模型组合无语言模型lm1lm1+lm2lm1+lm2+lm3字符差错率(cer)18.169.517.987.69表2本发明在不同语言模型组合情况下针对于测试数据集的字符差错率结果语言模型组合无语言模型lm1lm1+lm2lm1+lm2+lm3字符差错率(cer)17.058.667.076.78当前第1页1 2 3 

技术特征:

1.一种利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法,其特征在于包括如下步骤:

1)针对于一组基于地点的语音和相关联的字符串数据集,使用编码器获得语音中每个帧对应于词汇集的概率分布向量的序列编码;构建基于字符的语言模型lm1,采用lm1和前缀集束搜索算法得到序列编码的备选字符串集a和各个备选字符串对应的反映字符相关性的评价分数;

2)构建基于词语的语言模型lm2;根据步骤1)得到的备选字符串集a和各个备选字符串对应的反映字符相关性的评价分数,利用lm2得到各个备选字符串的反映上下文关系的评价分数;

3)将步骤1)得到的备选字符串集a映射到基于所属类型的备选字符串集a",构建基于类型的语言模型lm3,根据a"和lm3得到各个备选字符串的反映语法关系的评价分数;

4)将步骤2)获得的反映上下文关系的评价分数与步骤3)获得的反映语法关系的评价分数相加,得到各个备选字符串的最终评价分数,选择最终评价分数最高的备选字符串作为语音的识别结果。

2.根据权利要求1所述利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法,其特征在于所述的步骤1)具体为:

1.1)对于含有t个帧的一段语音,使用编码器将语音中的第i个帧映射成对应于词汇集的概率分布向量pi,获得整段语音中每个帧对应于词汇集的概率分布向量的序列编码{p1,p2,p3,…,pt},记为p;

1.2)根据维基百科、百度和专有名词的语料库建立基于字符的n-gram统计模型作为语言模型lm1;对于步骤1.1)得到的序列编码p,使用集束大小为m的前缀集束搜索算法获得序列编码的对应备选字符串集a={a1,a2,a3...,am},其中ai表示备选字符串集中的第i个字符串,m为前缀集束搜索的集束大小;

将备选字符串ai输入到基于字符的语言模型lm1中,得到对于备选字符串ai的评价分数lm1(ai),计算公式如下:

其中,ci,j代表备选字符串ai中的第j个字符,nci代表备选字符串ai中的字符个数,n为语言模型lm1的n-gram模型中n的大小;

1.3)计算每一个备选字符串ai对应的反映字符相关性的评价分数s1,i:

s1,i=log(p(ai|x))+α×lm1(ai)+β×nci

其中,x代表一段基于地点的语音,α和β代表用来组合不同语言模型所用的超参数。

3.根据权利要求1所述利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法,其特征在于所述的步骤2)具体为:

2.1)根据维基百科、百度和专有名词的语料库建立基于词语的n-gram统计模型作为语言模型lm2;

2.2)将备选字符串ai输入到基于词语的语言模型lm2中,得到对于备选字符串ai的评价分数lm2(ai),计算公式如下:

其中,wi,j代表备选字符串ai中的第j个词语;nwi代表备选字符串ai中的词语个数,n为语言模型lm2的n-gram模型中n的大小;

2.3)计算每一个备选字符串ai的反映上下文关系的评价分数contexti:

contexti=γ×norm(s1,i)+δ×norm(lm2(ai))+∈×norm(nwi)

其中,γ、δ和∈是代表用来组合不同语言模型所用的超参数,norm(·)代表标准化函数。

4.根据权利要求1所述利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法,其特征在于所述的步骤3)具体为:

3.1)首先使用k-means聚类算法,在预训练的词嵌入上将备选字符串中的备选词汇分类为特定的类型:

根据步骤1)得到的备选字符串集,将备选字符串映射为其中wi,j代表备选字符串ai中的第j个词语,group(wi,j)代表备选字符串ai中的第j个词语的所属类型;

3.2)建立递归神经网络,用现有的已知词汇类型的训练数据对递归神经网络进行训练,得到基于类型的语言模型lm3;

3.3)将步骤2.1)得到的带类型的备选字符串ai"输入到基于类型的语言模型lm3中,得到对于备选字符串ai"的评价分数lm3(ai"),计算公式如下:

3.4)对于备选字符串集中每个备选字符串ai的映射后的结果ai",按照如下公式计算每一个备选字符串ai的反映语法关系的评价分数grammari:

grammari=η×norm(lm3(ai"))

其中,η是代表用来组合不同语言模型所用的超参数。

5.根据权利要求1所述利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法,其特征在于所述的步骤4)具体为:

将步骤2)得到的每一个备选字符串ai的反应上下文关系的评价分数contexti和步骤3)得到的每一个备选字符串ai的反应语法关系的评价分数grammari相加,得到每一个备选字符串ai的最终评价分数si:

si=contexti+grammari

将备选字符串集中的每一个备选字符串的最终评价分数进行排序,选择最终评价分数最高的备选字符串作为语音的识别结果。

技术总结

本发明公开了一种利用多种语言模型的端到端网络学习解决基于地点的语音的自动识别任务的方法。主要包括如下步骤:1)针对于一组基于地点的语音、相关联字符串数据集,根据编码器网络形成语音序列编码,利用连接时序分类器和含有大量地理名词的基于字符的语言模型生成序列编码的备选字符串集。2)根据得到的备选字符串集,使用含有大量地理名词的基于词语的语言模型和基于类型的语言模型选择出最佳的字符串答案。相比于一般的自动语音识别解决方案,本发明利用了多种语言模型的端到端网络学习的方法,能够综合利用词语的上下文相关性与句子的语法结构。本发明在基于地点的语音的自动识别中所取得的效果相比于传统的方法更好。

技术研发人员:赵洲;谢金唯;林志杰;陈漠沙;仇伟

受保护的技术使用者:浙江大学

技术研发日:.10.21

技术公布日:.01.31

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。