本发明涉及语音识别技术领域,特别是涉及一种语言模型优化方法及装置。
背景技术:
n-gram语言模型是现阶段语音识别中最为常用的一种语言模型,可以通过对分词后的文本进行统计计算获得。这种模型基于马尔科夫假设,认为句子中第n个词的出现概率至于前面的n-1个词有关。在自然语言处理中应用广泛,主要用途为判断某句话的成句概率。
但n-gram语言模型本身具有语义孤立的缺陷,即无法认知不同单词之间的联系,仅凭统计信息决定模型参数。举例来讲,我们可以理解“高兴”与“开心”是两个语义相近的词,所以句子中可以使用“高兴”的位置,使用“开心”来代替也常常是可行的。但是,假如我们用于训练n-gram语言模型的训练语料中只有出现“高兴”而没有出现“开心”,则对于“我今天很高兴”这句话会给出较高成句概率,而对于“我今天很开心”则无法给出高的成句概率。
可见,传统n-gram语言模型对训练语料的需求量很大,且一些时候效果不尽如人意。
技术实现要素:
本发明提供了一种语言模型优化方法及装置,以解决现有技术中的语言模型中成句概率低的问题。
为了解决上述问题,本发明公开了一种语言模型优化方法,所述方法包括:从训练的语料中获取第一词向量以及第二词向量,其中,所述第一词向量为第一词语的向量,所述第二词向量为第二词语的向量,所述第二词语在语料中出现的概率低于所述第一词语在语料中出现的概率,且所述第一词语与所述第二词语语义相近;计算所述第一词向量与所述第二词向量夹角的余弦值;获取语言模型中第一词语组的出现概率对数;其中,所述第一词语组为第一词语与第三词语组合;将所述第二词语与所述第三词语进行组合,生成第二词语组;依据所述第一词语组的出现概率对数以及所述夹角的余弦值,计算所述第二词语组的出现概率对数;将所述第二词语组与所述第二词语组的出现概率对数对应添加至语言模型中。
优选地,所述计算所述第一词向量与所述第二词向量夹角的余弦值的步骤包括:通过以下公式对第一词向量以及第二词向量夹角的余弦值进行计算:cosa=<b,c>/|b||c|,其中a为第一词向量与所述第二词向量的夹角,b为第一词向量,c为第二词向量。
优选地,所述依据所述第一词语组的出现概率对数以及所述夹角的余弦值,计算所述第二词语组的出现概率对数的步骤包括:依据所述第一词语组的出现概率对数计算出第一词语组的出现概率;将所述第一词语组的出现概率,与第一词向量以及第二词向量夹角的余弦值相乘,计算所述第二词语组的出现概率;依据所述第二词语组的出现概率计算所述第二词语组的出现概率对数。
优选地,在所述从训练的语料中获取第一词向量以及第二词向量的步骤之前,所述方法还包括:对语料进行训练,生成词向量以及语言模型,其中,所述语言模型中包含多个词语、各词语的出现概率对数、多个词语组以及各词语组的出现概率对数,所述词向量为各所述词语对应的向量。
优选地,所述余弦值的范围值为(0-1)。
为了解决上述问题,本发明还公开了一种语言模型优化装置,所述装置包括:第一获取模块,用于从从训练的语料中获取第一词向量以及第二词向量,其中,所述第一词向量为第一词语的向量,所述第二词向量为第二词语的向量,所述第二词语在语料出现的概率低于所述第一词语在语料中出现的概率,且所述第一词语与所述第二词语语义相近;第一计算模块,用于计算所述第一词向量与所述第二词向量夹角的余弦值;第二获取模块,用于获取语言模型中第一词语组的出现概率对数;其中,所述第一词语组为第一词语与第三词语组合;第一生成模块,用于将所述第二词语与所述第三词语进行组合,生成第二词语组;第二计算模块,用于依据所述第一词语组的出现概率对数以及所述夹角的余弦值,计算所述第二词语组的出现概率对数;添加模块,用于将所述第二词语组与所述第二词语组的出现概率对数对应添加至所述语言模型中。
优选地,所述第一计算模块具体用于:通过以下公式对第一词向量以及第二词向量夹角的余弦值进行计算:cosa=<b,c>/|b||c|,其中a为第一词向量与所述第二词向量的夹角,b为第一词向量,c为第二词向量。
优选地,所述第二计算模块包括:第一计算子模块,用于依据所述第一词语组的出现概率对数计算出第一词语组的出现概率;第二计算子模块,用于将所述第一词语组的出现概率,与第一词向量以及第二词向量夹角的余弦值相乘,计算所述第二词语组的出现概率;第三计算子模块,用于依据所述第二词语组的出现概率计算所述第二词语组的出现概率对数。
优选地,所述装置还包括:训练模块,用于在所述第一获取模块从训练的语料中获取第一词向量以及第二词向量之前,对语料进行训练,生成词向量以及语言模型,其中,所述语言模型中包含多个词语、各词语的出现概率对数、多个词语组以及各词语组的出现概率对数,所述词向量为各所述词语对应的向量。
优选地,所述余弦值的范围值为(0-1)。
与现有技术相比,本发明具有以下优点:
本发明实施例提供的一种语言模型优化方案,从训练的语料中获取第一词向量以及第二词向量,其中,第一词向量为第一词语的向量,第二词向量为第二词语的向量,第二词语在语料出现的概率低于第一词语在语料中出现的概率,且第一词语与第二词语语义相近;计算第一词向量与第二词向量夹角的余弦值;获取语言模型中第一词语组的出现概率对数;其中,第一词语组为第一词语与第三词语组合;将第二词语与第三词语进行组合,生成第二词语组;依据第一词语组的出现概率对数以及夹角的余弦值,计算第二词语组的出现概率对数;将第二词语组与第二词语组的出现概率对数对应添加至语言模型中。可见,通过本发明提供的语言模型优化方案,用一份分好词的语料进行训练可以同时得到语言模型和词向量。词向量可以提供两个词之间的相似度信息,利用这一信息对n-gram语言模型中的条件概率进行调整,达到优化语言模型的效果,提升用户的使用体验。
附图说明
图1是本发明实施例一的一种语言模型优化方法的步骤流程图;
图2是本发明实施例二的一种语言模型优化方法的步骤流程图;
图3是本发明实施例三的一种语言模型优化装置的结构框图;
图4是本发明实施例四的一种语言模型优化装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例一的一种语言模型优化方法的步骤流程图。
本发明实施例提供的语言模型优化方法包括以下步骤:
步骤101:从从训练的语料中获取第一词向量以及第二词向量。
其中,第一词向量为第一词语的向量,第二词向量为第二词语的向量,第二词语在语料出现的概率低于第一词语在语料中出现的概率,第一词语与第二词语的语义相近。
步骤102:计算第一词向量与第二词向量夹角的余弦值。
根据获取的词向量,可以利用两个向量夹角余弦值公式进行计算。
目前常用的方法为,采用分散式标识方法将每个词标识为一种低维实数向量,该向量就是词语对应的词向量。
步骤103:获取语言模型中第一词语组的出现概率对数。
例如:第一词语组为“今天天气”,在语言模型中获取“今天天气”的出现概率对数。
在语言模型中会有一条路径为:
-0.1760913今天天气,表示今天天气出现概率的对数。
通过上述路径可知,今天天气的出现概率对数为-0.1760913。
其中,第一词语组为第一词语与第三词语组合。
需要说明的是,本申请中的语言模型特指为n-gram语言模型。
步骤104:将第二词语与第三词语进行组合,生成第二词语组。
步骤105:依据第一词语组的出现概率对数以及夹角的余弦值,计算第二词语组的出现概率对数。
步骤106:将第二词语组与第二词语组的出现概率对数对应添加至语言模型中。
将第二词组的出现概率对数添加至语言模型中,当进行语音识别时,提高成句概率。
本发明实施例提供的一种语言模型优化方法,从训练的语料中获取第一词向量以及第二词向量,其中,第一词向量为第一词语的向量,第二词向量为第二词语的向量,第二词语在语料出现的概率低于第一词语在语料中出现的概率,且第一词语与第二词语语义相近;计算第一词向量与第二词向量夹角的余弦值;获取语言模型中第一词语组的出现概率对数;其中,第一词语组为第一词语与第三词语组合;将第二词语与第三词语进行组合,生成第二词语组;依据第一词语组的出现概率对数以及夹角的余弦值,计算第二词语组的出现概率对数;将第二词语组与第二词语组的出现概率对数对应添加至语言模型中。可见,通过本发明提供的语言模型优化方法,用一份分好词的语料进行训练可以同时得到语言模型和词向量。词向量可以提供两个词之间的相似度信息。利用这一信息对n-gram语言模型中的条件概率进行调整,达到优化语言模型的效果,提升用户的使用体验。
实施例二
参照图2,示出了本发明实施例二的一种语言模型优化方法的步骤流程图。
本发明实施例提供的语言模型优化方法包括以下步骤:
步骤201:对语料进行训练,生成词向量以及语言模型。
其中,语言模型中包含多个词语、各词语的出现概率对数、多个词语组以及各词语组的出现概率对数,词向量为各词语对应的向量。。
步骤202:从训练的语料中获取第一词向量以及第二词向量。
其中,第一词向量为第一词语的向量,第二词向量为第二词语的向量,第二词语在语料出现的概率低于第一词语在语料中出现的概率,且第一词语与第二词语语义相近。
步骤203:通过以下公式对第一词向量以及第二词向量夹角的余弦值进行计算:
cosa=<b,c>/|b||c|,其中a为第一词向量与第二词向量的夹角,b为第一词向量,c为第二词向量。
根据获取的词向量,可以利用两个向量夹角余弦值公式进行计算。
目前常用的方法为,采用分散式标识方法将每个词标识为一种低维实数向量,该向量就是词语对应的词向量。
步骤204:获取语言模型中第一词语组的出现概率对数。
其中,第一词语组为第一词语与第三词语组合。
例如:第一词语组为“今天天气”,在语言模型中获取“今天天气”的出现概率对数。
在语言模型中会有一条路径为:
-0.1760913今天天气,表示今天天气出现概率的对数。
通过上述路径可知,今天天气的出现概率对数为-0.1760913。
步骤205:将第二词语与第三词语进行组合,生成第二词语组。
例如,第二词语和第三词语分别为“明天”、“天气”,则第二词语组为“明天天气”。
步骤206:依据第一词语组的出现概率对数计算出第一词语组的出现概率。
例如:获取的第一词组的出现概率对数为“今天天气”对应的出现概率对数,且“今天天气”的出现概率对数为-0.1760913,其小数值为10^(-0.1760913)约为0.667,则“今天天气的出现概率为0.667。
步骤207:将第一词语组的出现概率,与第一词向量以及第二词向量夹角的余弦值相乘,计算第二词语组的出现概率。
例如:“明天天气”这个二元组的条件概率为0.78423*0.6667与等于0.5228。
对0.5228进行对数计算,则“明天天气”的出现概率对数为-0.28166。步骤209:依据第二词语组的出现概率计算第二词语组的出现概率对数。
步骤208:将第二词语组与第二词语组的出现概率对数对应添加至语言模型中。
在语言模型中添加“-0.28166明天天气”,其中-0.28166为0.5228以十为底的对数。
这样一来,即使训练语料中没有出现过“明天”这个词,对它在句子中可能出现的概率也有一个较好的估计。依照需要,对所有语料中未出现而关心的词做这样的概率补充。这样修改后的语言模型在各类任务中都会具有更优秀的使用价值。
本发明实施例提供的一种语言模型优化方法,从训练的语料中获取第一词向量以及第二词向量,其中,第一词向量为第一词语的向量,第二词向量为第二词语的向量,第二词语在语料出现的概率低于第一词语在语料中出现的概率,且第一词语与第二词语语义相近;计算第一词向量与第二词向量夹角的余弦值;获取语言模型中第一词语组的出现概率对数;其中,第一词语组为第一词语与第三词语组合;将第二词语与第三词语进行组合,生成第二词语组;依据第一词语组的出现概率对数以及夹角的余弦值,计算第二词语组的出现概率对数;将第二词语组与第二词语组的出现概率对数对应添加至语言模型中。可见,通过本发明提供的语言模型优化方法,用一份分好词的语料进行训练可以同时得到语言模型和词向量。词向量可以提供两个词之间的相似度信息。利用这一信息对n-gram语言模型中的条件概率进行调整,达到优化语言模型的效果,提升用户的使用体验。
实施例三
参照图3,示出了本发明实施例三的一种语言模型优化装置的结构框图。
本发明实施例提供的语言模型优化装置包括:第一获取模块301,用于从训练的语料中获取第一词向量以及第二词向量,其中,所述第一词向量为第一词语的向量,所述第二词向量为第二词语的向量,所述第二词语在语料出现的概率低于所述第一词语在语料中出现的概率,且所述第一词语与所述第二词语语义相近;第一计算模块302,用于计算所述第一词向量与所述第二词向量夹角的余弦值;第二获取模块303,用于获取所述语言模型中第一词语组的出现概率对数;其中,所述第一词语组为第一词语与第三词语组合;第一生成模块304,用于将所述第二词语与所述第三词语进行组合,生成第二词语组;第二计算模块305,用于依据所述第一词语组的出现概率对数以及所述夹角的余弦值,计算所述第二词语组的出现概率对数;添加模块306,用于将所述第二词语组与所述第二词语组的出现概率对数对应添加至所述语言模型中。
本发明实施例提供的一种语言模型优化装置,从训练的语料中获取第一词向量以及第二词向量,其中,第一词向量为第一词语的向量,第二词向量为第二词语的向量,第二词语在语料出现的概率低于第一词语在语料中出现的概率,且第一词语与第二词语语义相近;计算第一词向量与第二词向量夹角的余弦值;获取语言模型中第一词语组的出现概率对数;其中,第一词语组为第一词语与第三词语组合;将第二词语与第三词语进行组合,生成第二词语组;依据第一词语组的出现概率对数以及夹角的余弦值,计算第二词语组的出现概率对数;将第二词语组与第二词语组的出现概率对数对应添加至语言模型中。可见,通过本发明提供的语言模型优化装置,用一份分好词的语料进行训练可以同时得到语言模型和词向量。词向量可以提供两个词之间的相似度信息。利用这一信息对n-gram语言模型中的条件概率进行调整,达到优化语言模型的效果,提升用户的使用体验。
实施例四
参照图4,示出了本发明实施例四的一种语言模型优化装置的结构框图。
本发明实施例提供的语言模型优化装置包括:第一获取模块401,用于从训练的语料中获取第一词向量以及第二词向量,其中,所述第一词向量为第一词语的向量,所述第二词向量为第二词语的向量,所述第二词语在语料出现的概率低于所述第一词语在语料中出现的概率,且所述第一词语与所述第二词语语义相近;第一计算模块402,用于计算所述第一词向量与所述第二词向量夹角的余弦值;第二获取模块403,用于获取所述语言模型中第一词语组的出现概率对数;其中,所述第一词语组为第一词语与第三词语组合;第一生成模块404,用于将所述第二词语与所述第三词语进行组合,生成第二词语组;第二计算模块405,用于依据所述第一词语组的出现概率对数以及所述夹角的余弦值,计算所述第二词语组的出现概率对数;添加模块406,用于将所述第二词语组与所述第二词语组的出现概率对数对应添加至所述语言模型中。
优选地,所述第一计算模块402具体用于:通过以下公式对第一词向量以及第二词向量夹角的余弦值进行计算:cosa=<b,c>/|b||c|,其中a为第一词向量与所述第二词向量的夹角,b为第一词向量,c为第二词向量。
优选地,所述第二计算模块405包括:第一计算子模块4051,用于依据所述第一词语组的出现概率对数计算出第一词语组的出现概率;第二计算子模块4052,用于将所述第一词语组的出现概率,与第一词向量以及第二词向量夹角的余弦值相乘,计算所述第二词语组的出现概率;第三计算子模块4053,用于依据所述第二词语组的出现概率计算所述第二词语组的出现概率对数。
优选地,所述装置还包括:训练模块407,用于在所述第一获取模块从训练的语料中获取第一词向量以及第二词向量之前,对语料进行训练,生成词向量以及语言模型,其中,所述语言模型中包含多个词语、各词语的出现概率对数、多个词语组以及各词语组的出现概率对数,所述词向量为各所述词语对应的向量。
优选地,所述余弦值的范围值为(0-1)。
本发明实施例提供的一种语言模型优化装置,从训练的语料中获取第一词向量以及第二词向量,其中,第一词向量为第一词语的向量,第二词向量为第二词语的向量,第二词语在语料出现的概率低于第一词语在语料中出现的概率,且第一词语与第二词语的语义相近;计算第一词向量与第二词向量夹角的余弦值;获取语言模型中第一词语组的出现概率对数;其中,第一词语组为第一词语与第三词语组合;将第二词语与第三词语进行组合,生成第二词语组;依据第一词语组的出现概率对数以及夹角的余弦值,计算第二词语组的出现概率对数;将第二词语组与第二词语组的出现概率对数对应添加至语言模型中。可见,通过本发明提供的语言模型优化装置,用一份分好词的语料进行训练可以同时得到语言模型和词向量。词向量可以提供两个词之间的相似度信息。利用这一信息对n-gram语言模型中的条件概率进行调整,达到优化语言模型的效果,提升用户的使用体验。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种语言模型优化方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。