语言模型的训练方法、语音识别方法、装置及电子设备与流程
2021-01-28 13:01:17|250|起点商标网
本公开涉及自然语言处理
技术领域:
,尤其涉及一种语言模型的训练方法、语音识别方法、装置、电子设备及存储介质。
背景技术:
:在语音识别领域,较为广泛地使用n元语言模型,且n元语言模型是一种统计语言模型。为了完善n元语言模型,针对数据缺乏的情形,n元语言模型需要使用平滑(smoothing)算法,平滑算法是n元语言模型的核心算法之一,用来解决“0概率问题”。比如,语料中出现“我想吃米饭”,但是并未出现过“我想吃面条”,后者在未使用平滑算法时概率为0,显然这是不正确的,这样的语言模型是不完善的。语料(即语言材料)是构建语言模型的原料。简单来说使用一定的语料构建其所对应的语言模型,以描述一个字符串成为一个句子的可能性。因此,语料对于构建语言模型有着至关重要的意义。在生成语料时,由于语料内容简单、说法单一,会造成语料无法平滑的情况。比如,使用语料对n元语言模型进行训练时存在平滑系数计算失败的情况,从而会导致n元语言模型构建失败。因此,在传统技术中,存在n元语言模型构建成功率较低的问题。技术实现要素:本公开提供一种语言模型的训练方法、语音识别方法、装置、电子设备及存储介质,以至少解决相关技术中n元语言模型构建成功率较低的问题。本公开的技术方案如下:根据本公开实施例的第一方面,提供一种语言模型的训练方法,包括:获取规则语料集和通用语料集;根据所述规则语料集和所述通用语料集对初始语言模型进行训练,得到第一语言模型;根据所述通用语料集对所述初始语言模型进行训练,得到第二语言模型;根据所述第一语言模型的插值系数以及所述第二语言模型的插值系数,对所述第一语言模型以及所述第二语言模型进行插值,得到目标语言模型,所述第一语言模型的插值系数大于第二语言模型的插值系数。在其中一个实施例中,所述通用语料集包括第一通用语料集,所述第一通用语料集包括日常语料和/或领域语料;所述根据所述规则语料集和通用语料集对初始语言模型进行训练,得到第一语言模型,包括:根据所述规则语料集和所述第一通用语料集对所述初始语言模型进行训练,得到所述第一语言模型。在其中一个实施例中,所述通用语料集还包括第二通用语料集,所述第二通用语料集是通过对所述第一通用语料集进行扩充而得到的;所述根据所述通用语料集对所述初始语言模型进行训练,得到第二语言模型,包括:根据所述第一通用语料集对所述初始语言模型进行训练,得到第三语言模型;根据所述第二通用语料集对所述初始语言模型进行训练,得到第四语言模型。在其中一个实施例中,所述根据所述第一语言模型的第一插值系数以及所述第二语言模型的第二插值系数,对所述第一统计语言模型以及所述第二统计语言模型进行插值,得到目标语言模型,包括:根据所述第一语言模型的插值系数、第三语言模型的插值系数和第四语言模型的插值系数,对第一语言模型、第三语言模型和第四语言模型进行插值,得到所述目标语言模型。在其中一个实施例中,所述第一通用语料集的生成方式包括:获取日常原始语料和/或领域原始语料;对所述日常原始语料和/或所述领域原始语料进行语料清洗,得到所述第一通用语料集。在其中一个实施例中,所述第二通用语料集的生成方式包括:将所述第一通用语料集中的各语料输入至深度学习语言模型进行语料扩充,得到所述第二通用语料集。在其中一个实施例中,所述根据所述规则语料集和所述第一通用语料集对所述初始语言模型进行训练,得到所述第一语言模型,包括:对所述规则语料集中的语句和所述第一通用语料集中的语句分别进行分词,得到混合分词结果;对所述混合分词结果中各词语出现的频次进行统计;根据各所述词语出现的频次对所述初始语言模型进行训练,得到所述第一语言模型。在其中一个实施例中,所述根据各所述词语出现的频次对所述初始语言模型进行训练,得到所述第一语言模型,包括:获取各所述词语出现的频次,并根据频次的阈值系数对各所述词语进行过滤;根据过滤后得到的各所述词语的频次,确定修正的聂氏平滑算法的平滑系数;根据过滤后得到的各所述词语以及所述平滑系数,通过所述修正的聂氏平滑算法对所述初始语言模型进行训练,得到所述第一语言模型。在其中一个实施例中,所述规则语料集的生成方式包括:获取原始语料集;按照预设的规则语句以及预设的语法,对所述原始语料集中各词语进行组合,得到所述规则语料集;其中,所述规则语句是利用所述预设的语法按照设计规则而事先设计的语句,所述预设的语法包括类语法和或语法,所述类语法为表征具有相同属性的一类对象的概括性词语,所述或语法为所述规则语句中各词语间的或关系。在其中一个实施例中,在所述按照预设的规则语句以及预设的语法,对所述原始语料集中各词语进行组合,得到所述规则语料集之前,所述方法还包括:对目标领域语料库中的各语句进行词性标注,确定各所述语句中各词语的词性信息;在所述各词语的词性信息中,选择一类词性作为目标词性;在各所述语句中,将所述目标词性所对应的词语替换为所述类语法对应的概括性词语,生成扩充的规则语句;所述按照预设的规则语句以及预设的语法,对所述原始语料集中各词语进行组合,得到所述规则语料集,包括:按照预设的规则语句、扩充的规则语句以及预设的语法,对所述原始语料集中各词语进行组合,得到所述规则语料集。根据本公开实施例的第二方面,提供一种语音识别方法,包括:获取待识别语音信号对应的文字序列;对所述文字序列进行分词,得到所述文字序列对应的各词语;将所述文字序列对应的各词语输入至目标语言模型中,对所述文字序列对应的各词语的语言概率进行预测,所述目标语言模型是通过第一方面的任一项实施例中所述的语言模型的训练方法得到的。根据所述文字序列对应的各词语的语言概率,得到所述待识别语音信号的识别结果。根据本公开实施例的第三方面,提供一种语言模型的训练装置,包括:语料集获取模块,被配置为执行获取规则语料集和通用语料集;第一模型训练模块,被配置为执行根据所述规则语料集和所述通用语料集对初始语言模型进行训练,得到第一语言模型;第二模型训练模块,被配置为执行根据所述通用语料集对所述初始语言模型进行训练,得到第二语言模型;语言模型插值模块,被配置为执行根据所述第一语言模型的插值系数以及所述第二语言模型的插值系数,对所述第一语言模型以及所述第二语言模型进行插值,得到目标语言模型,所述第一语言模型的插值系数大于第二语言模型的插值系数。在其中一个实施例中,所述通用语料集包括第一通用语料集,所述第一通用语料集包括日常语料和/或领域语料;所述第一模型训练模块,还被配置为执行根据所述规则语料集和所述第一通用语料集对所述初始语言模型进行训练,得到所述第一语言模型。在其中一个实施例中,所述通用语料集还包括第二通用语料集,所述第二通用语料集是通过对所述第一通用语料集进行扩充而得到的;所述第二模型训练模块,还被配置为执行根据所述第一通用语料集对所述初始语言模型进行训练,得到第三语言模型;根据所述第二通用语料集对所述初始语言模型进行训练,得到第四语言模型。在其中一个实施例中,所述语言模型插值模块,被配置为执行根据所述第一语言模型的插值系数、第三语言模型的插值系数和第四语言模型的插值系数,对第一语言模型、第三语言模型和第四语言模型进行插值,得到所述目标语言模型。在其中一个实施例中,所述训练装置还包括第一语料生成模块,所述第一语料生成模块,被配置为执行获取日常原始语料和/或领域原始语料;对所述日常原始语料和/或所述领域原始语料进行语料清洗,得到所述第一通用语料集。在其中一个实施例中,所述训练装置还包括第二语料生成模块,所述第二语料生成模块,被配置为执行将所述第一通用语料集中的各语料输入至深度学习语言模型进行语料扩充,得到所述第二通用语料集。在其中一个实施例中,所述第一模型训练模块,还被配置为执行对所述第一规则语料集中的语句和所述通用语料集中的语句分别进行分词,得到混合分词结果;对所述混合分词结果中各词语出现的频次进行统计;根据各所述词语出现的频次对所述初始语言模型进行训练,得到所述第一语言模型。在其中一个实施例中,所述第一模型训练模块,还被配置为执行获取各所述词语出现的频次,并根据频次的阈值系数对各所述词语进行过滤;根据过滤后得到的各所述词语的频次,确定修正的聂氏平滑算法的平滑系数;根据过滤后得到的各所述词语以及所述平滑系数,通过所述修正的聂氏平滑算法对所述初始语言模型进行训练,得到所述第一语言模型。在其中一个实施例中,所述训练装置还包括规则语料生成模块,所述规则语料生成模块,被配置为执行获取原始语料集;按照预设的规则语句以及预设的语法,对所述原始语料集中各词语进行组合,得到所述规则语料集;其中,所述规则语句是利用所述预设的语法按照设计规则而事先设计的语句,所述预设的语法包括类语法和或语法,所述类语法为表征具有相同属性的一类对象的概括性词语,所述或语法为所述规则语句中各词语间的或关系。在其中一个实施例中,所述训练装置还包括规则语句扩充模块,所述规则语句扩充模块,被配置为执行对目标领域语料库中的各语句进行词性标注,确定各所述语句中各词语的词性信息;在所述各词语的词性信息中,选择一类词性作为目标词性;在各所述语句中,将所述目标词性所对应的词语替换为所述类语法对应的概括性词语,生成扩充的规则语句;所述规则语料生成模块,还被配置为执行按照预设的规则语句、扩充的规则语句以及预设的语法,对所述原始语料集中各词语进行组合,得到所述规则语料集。根据本公开实施例的第四方面,提供一种语音识别装置,包括:文字序列获取模块,被配置为执行获取待识别语音信号对应的文字序列;文字序列分词模块,被配置为执行对所述文字序列进行分词,得到所述文字序列对应的各词语;语言概率预测模块,被配置为执行将所述文字序列对应的各词语输入至目标语言模型中,对所述文字序列对应的各词语的语言概率进行预测,所述目标语言模型是通过第一方面的任一项实施例中所述的语言模型的训练方法得到的。识别结果生成模块,被配置为执行根据所述文字序列对应的各词语的语言概率,得到所述待识别语音信号的识别结果。根据本公开实施例的第五方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上述第一方面或者第二方面的任一项实施例中的方法。根据本公开实施例的第六方面,提供一种存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述第一方面或者第二方面的任一项实施例中的方法。根据本公开实施例的第七方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面或者第二方面的任一项实施例中所述的方法。本公开的实施例提供的技术方案至少带来以下有益效果:首先,通过利用通用语料集对规则语料集进行扩充,提升语料的数量和质量;接着,利用获取的规则语料集和通用语料集对初始语言模型进行训练,得到第一语言模型,提升第一语言模型的构建成功率,利用通用语料集对初始语言模型进行训练,得到第二语言模型;最后,通过插值算法,将利用第一语言模型和第二语言模型合并起来,得到插值混合模型,即目标语言模型,通过对第一语言模型和第二语言模型进行插值处理扩展模型的应用场景,并提升模型的训练效率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。图1是根据一示例性实施例示出的一种语言模型的训练方法的应用环境图。图2是根据一示例性实施例示出的一种语言模型的训练方法的流程图。图3是根据一示例性实施例示出的步骤s230的流程图。图4是根据一示例性实施例示出的步骤s220的流程图。图5是根据一示例性实施例示出的步骤s430的流程图。图6是根据一示例性实施例示出的一种规则语料集的生成方式的流程图。图7是根据一示例性实施例示出的一种语言模型的训练方法的流程图。图8是根据一示例性实施例示出的一种语言识别方法的流程图。图9是根据一示例性实施例示出的一种语言模型的训练装置的框图。图10是根据一示例性实施例示出的一种语言识别装置的框图。图11是根据一示例性实施例示出的一种电子设备的内部结构图。具体实施方式为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。本公开所提供的语言模型的训练方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行交互。服务器120可以用于构建语言模型,并通过服务器120对构建的语言模型进行训练。服务器120获取规则语料集和通用语料集;根据规则语料集和通用语料集对初始语言模型进行训练,得到第一语言模型;根据通用语料集对初始语言模型进行训练,得到第二语言模型;根据第一语言模型的插值系数以及第二语言模型的插值系数,对第一语言模型以及第二语言模型进行插值,得到目标语言模型,第一语言模型的插值系数大于第二语言模型的插值系数。服务器120可以将完成训练的目标语言模型发布至终端110中。终端110接收待识别语音信号;通过对待识别语音信号进行处理,得到待识别语音信号对应的文字序列,对文字序列进行分词得到文字序列对应的各词语;将文字序列对应的各词语输入至目标语言模型中,对文字序列对应的各词语的语言概率进行预测;根据文字序列对应的各词语的语言概率,得到待识别语音信号的识别结果。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。图2是根据一示例性实施例示出的一种语言模型的训练方法的流程图,如图2所示,语言模型的训练方法用于服务器120中,包括以下步骤:在步骤s210中,获取规则语料集和通用语料集。其中,规则语料集是指规则语料的集合,规则语料是利用词语、词组按照设计规则进行组合而生成的语料。通用语料集是指通用语料的集合,通用语料是指在一个范围内普遍使用的语料。通用语料可以是某个专业领域(比如音乐领域)内普遍使用的语料,通用语料也可以是在日常生活中普遍使用一些基础的、宽泛的语料。具体地,构建语料集合是训练语言模型的准备工作。利用通用语料集对规则预料集进行扩展,兼顾了语料的质量和数量,模型训练使用的语料集合覆盖更多情形。构建的语料集合不仅包括规则语料集,还包括通用语料集。可以将构建的语料集合保存在服务器本地,则从服务器本地获取规则语料集和通用语料集。也可以将构建的语料集合保存在与服务器网络连接的计算机设备中,则从与服务器网络连接的计算机设备获取规则语料集和通用语料集。在步骤s220中,根据规则语料集和通用语料集对初始语言模型进行训练,得到第一语言模型。其中,初始语言模型为统计语言模型,比如n元语言模型(n-grammodel)。具体地,规则语料集包括若干条规则预料,通用语料集包括若干条通用语料。利用若干条规则预料和若干条通用语料进行混合,得到混合语料。将混合语料中任意语句输入至初始语言模型中,对初始语言模型进行训练,当满足停止模型训练的条件或者用尽混合语料时,得到第一语言模型。在步骤s230中,根据通用语料集对初始语言模型进行训练,得到第二语言模型。具体地,通用语料集包括若干条通用语料。通用语料可以是某个专业领域(比如音乐领域)内普遍使用的语料,通用语料也可以是在日常生活中普遍使用一些基础的、宽泛的语料。将通用语料集中任意专业领域语句和/或日常普遍使用语句输入至同样的初始语言模型中,对初始语言模型进行训练,当满足停止模型训练的条件或者通用语料集中语料用尽时,得到第二语言模型。在步骤s240中,根据第一语言模型的插值系数以及第二语言模型的插值系数,对第一语言模型以及第二语言模型进行插值,得到目标语言模型。其中,第一语言模型的插值系数是第一语言模型相对目标语言模型的权重,第二语言模型的插值系数是第二语言模型相对目标语言模型的权重,且第一语言模型的插值系数与第二语言模型的插值系数之和等于1,第一语言模型的插值系数与第二语言模型的插值系数可以根据实际情况结合经验而设定,且第一语言模型的插值系数大于第二语言模型的插值系数。具体地,通过规则语料集和通用语料集构成的混合语料对初始语言模型进行训练,得到第一语言模型。通过通用语料集中的语料对初始语言模型进行训练,得到第二语言模型。为了降低模型对规则语料的敏感度,扩大模型的使用场景,提升模型训练的效率,将第一语言模型与第二语言模型按照一定的比例权重进行混合,利用第一语言模型的插值系数以及第二语言模型的插值系数,对第一语言模型以及第二语言模型进行线性插值,得到目标语言模型。示例性地,如下表所示,第一语言模型记为α模型,第二语言模型记为β模型,第一语言模型的插值系数为k,第二语言模型的插值系数为1-k,插值模型即为目标语言模型。p_α(a)为表示α模型预测到词条a的概率,p_α(b)为表示α模型预测到词条b的概率,p_β(a)为表示α模型预测到词条a的概率,p_β(c)为表示α模型预测到词条c的概率。α模型β模型插值模型词条ap_α(a)p_β(a)k*p_α(a)+(1-k)*p_β(a)词条bp_α(b)0k*p_α(b)词条c0p_β(c)(1-k)*p_β(c)上述语言模型的训练方法中,首先,通过利用通用语料集对规则语料集进行扩充,提升语料的数量和质量;接着,利用获取的规则语料集和通用语料集对初始语言模型进行训练,得到第一语言模型,提升第一语言模型的构建成功率,利用通用语料集对初始语言模型进行训练,得到第二语言模型;最后,通过插值算法,将利用第一语言模型和第二语言模型合并起来,得到插值混合模型,即目标语言模型,通过对第一语言模型和第二语言模型进行插值处理扩展模型的应用场景,并提升模型的训练效率。总之,本实施例中由于采用规则语料集和通用语料集构成的混合语料集以及通用语料集分别对初始语言模型进行训练,得到第一语言模型和第二语言模型,并对第一语言模型和第二语言模型进行插值,最终得到目标语言模型,不仅可以提升构建目标语言模型的成功率,而且同时通过设置插值系数,降低模型对规则语料的敏感度,从而确保目标语言模型预测的准确性。在一示例性实施例中,通用语料集包括第一通用语料集,第一通用语料集包括日常语料和/或领域语料。在步骤s220中,根据规则语料集和通用语料集对初始语言模型进行训练,得到第一语言模型,具体可以通过以下步骤实现:根据规则语料集和第一通用语料集对初始语言模型进行训练,得到第一语言模型。其中,规则语料集中的规则语料是利用词语、词组按照设计规则进行组合而生成的语料。示例性地,利用“我、你、想、听、周杰伦、王力宏”等词语按照设计规则“[我|你](想)听[周杰伦|王力宏]”生成的规矩语句包括:我想听周杰伦我想听王力宏你想听周杰伦你想听王力宏我听周杰伦我听王力宏你听周杰伦你听王力宏第一通用语料集包括日常语料和/或领域语料。日常语料是指在日常生活中某个范围(比如微博、微信等)内普遍使用的基础语料或者宽泛语料,比如“我喜欢听这首歌”、“你真棒”、“不错哦”等。领域语料是指某个专业领域内普遍使用的语料,比如音乐领域、家电领域、文学领域、计算机领域等专业领域的普通使用的专业语句。具体地,从上文生成的规则语料可知,语料内容简单、说法单一、说法过于生硬刻板。通过语料中词语出现的频次,各个词语出现的频次都在四次以上,没有频次在1至4的词语。这就会导致无法根据语料中各词语出现的频次计算平滑次数,无法使用平滑算法(比如修正的聂氏平滑算法)最终导致语言模型构建失败。可见,若单独使用规则语料集对初始语言模型进行训练,可能会导致平滑算法无法使用,训练的语言模型无法使用甚至无法生成。因此,需要使用第一通用语料集对规则语料集进行扩充,第一通用语料集包括日常语料和/或领域语料,利用规则语料集和第一通用语料集构建语料结合,模型训练所使用的语料集合可以是规则语料和日常语料,也可以是规则语料和领域语料,还可以是规则语料、日常语料和领域语料。利用语料集合对初始语言模型进行训练,当满足停止模型训练的条件或者用尽语料集合中的语料时,得到第一语言模型。上述语言模型的训练方法中,通过根据规则语料集和第一通用语料集对初始语言模型进行训练,得到第一语言模型,解决了规则语料集中说法过于生硬刻板的问题,不仅提升模型训练所使用的语料集的质量和数量,而且通过第一通用语料集扩充后的语料集更广泛,覆盖更普遍的情况。在一示例性实施例中,通用语料集还包括第二通用语料集,第二通用语料集是通过对第一通用语料集进行扩充而得到的。如图3所示,在步骤s230中,根据通用语料集对初始语言模型进行训练,得到第二语言模型,具体可以通过以下步骤实现:在步骤s310中,根据第一通用语料集对初始语言模型进行训练,得到第三语言模型。具体地,第一通用语料集可以是日常语料集合,也可以是领域语料的集合,还可以是日常语料与领域语料的集合。利用第一通用语料集对初始语言模型进行训练,对第一通用语料集中的语句分别进行分词,得到第一分词结果。对第一分词结果中各词语出现的频次进行统计;根据第一分词结果中各词语出现的频次对初始语言模型进行训练,得到第三语言模型。在步骤s320中,根据第二通用语料集对初始语言模型进行训练,得到第四语言模型。具体地,对第一通用语料集中的进行扩充,得到第二通用语料集。对第二通用语料集中的语句分别进行分词,得到第二分词结果。对第二分词结果中各词语出现的频次进行统计;根据第二分词结果中各词语出现的频次对初始语言模型进行训练,得到第四语言模型。上述语言模型的训练方法中,对第一通用语料集进行扩充,得到第二通用语料集。从而利用第一通用语料集以及第二通用语料集以多个不同的角度丰富模型训练所使用的语料集合,进一步地提升语料集合的质量和数量。而且通过第一通用语料集和第二语料集扩充后的语料更加广泛,覆盖更多普遍的情况。在一示例性实施例中,在步骤s240中,根据第一语言模型的第一插值系数以及第二语言模型的第二插值系数,对第一统计语言模型以及第二统计语言模型进行插值,得到目标语言模型,具体可以通过以下步骤实现:根据第一语言模型的插值系数、第三语言模型的插值系数和第四语言模型的插值系数,对第一语言模型、第三语言模型和第四语言模型进行插值,得到目标语言模型。其中,第一语言模型的插值系数是第一语言模型相对目标语言模型的权重,第三语言模型的插值系数是第三语言模型相对目标语言模型的权重,第四语言模型的插值系数是第四语言模型相对目标语言模型的权重。第一语言模型的插值系数、第三语言模型的插值系数以第四语言模型的插值系数之和等于1。第一语言模型的插值系数、第三语言模型的插值系数以及第四语言模型的插值系数可以根据实际情况结合经验而设定,示例性地,第一语言模型的插值系数>第三语言模型的插值系数>第四语言模型的插值系数,比如,经验上第一语言模型的插值系数、第三语言模型的插值系数以及第四语言模型的插值系数的比例在7:2.5:0.5时,目标语言模型的效果较好。具体地,通过规则语料集和第一通用语料集构成的混合语料对初始语言模型进行训练,得到第一语言模型。通过第一通用语料集中的语料对初始语言模型进行训练,得到第三语言模型。通过第二通用语料集中的语料对初始语言模型进行训练,得到第四语言模型。为了降低模型对规则语料的敏感度,扩大模型的使用场景,提升模型训练的效率,将第一语言模型、第三语言模型以及第四语言模型按照一定的比例权重进行混合,利用第一语言模型的插值系数、第三语言模型的插值系数以及第四语言模型的插值系数,对第一语言模型、第三语言模型以及第四语言模型进行线性插值,得到目标语言模型。上述语言模型的训练方法中,通过利用插值算法,将利用第一语言模型、第三语言模型以及第四语言模型合并起来,得到插值混合模型,即目标语言模型,通过对第一语言模型、第三语言模型以及第四语言模型进行插值处理扩展模型的应用场景,并提升模型的训练效率。在一示例性实施例中,第一通用语料集的生成方式包括:获取日常原始语料和/或领域原始语料;对日常原始语料和/或领域原始语料进行语料清洗,得到第一通用语料集。具体地,从开源语料库或者开发者自身收集的语料库中获取日常原始语料和/或领域原始语料,也可以从互联网中获取日常原始语料和/或领域原始语料。对获取的日常原始语料和/或领域原始语料进行语料清洗和降噪处理,比如,去除语料中的网址、标签等内容,对除语料中英文进行大小写统一,对除语料中阿拉伯数字进行汉字转换等。通过对日常原始语料进行清洗降噪,得到日常语料集合。通过对领域原始语料进行清洗降噪,得到领域语料的集合。利用日常语料集合和/或领域语料的集合构建第一通用语料集。第一通用语料集可以是日常语料集合,也可以是领域语料的集合,还可以是日常语料与领域语料的集合。上述第一通用语料集的生成方式中,通过对日常原始语料和/或领域原始语料进行语料清洗,得到第一通用语料集,提升了第一通用语料集的质量和准确性,从而为语言模型的成功构建打下基础。在一示例性实施例中,第二通用语料集的生成方式包括:将第一通用语料集中的各语料输入至深度学习语言模型进行语料扩充,得到第二通用语料集。其中,深度学习语言模型(deeplearningforlanguagemodeling)是基于深度学习的语言模型。比如基于字符的rnn(recurrentneuralnetwork,循环神经网络)语言模型。具体地,将日常语料集合中的各语料输入至深度学习语言模型,深度学习语言模型输出预测的文字序列,得到扩充的日常语料集合。将领域语料集合中的各语料输入至深度学习语言模型,深度学习语言模型输出预测的文字序列,得到扩充的领域语料集合。利用扩充的日常语料集合、扩充的领域语料集合构建第二通用语料集。第二通用语料集可以仅包括扩充的日常语料集合,也可以仅包括扩充的领域语料集合,还可以同时包括扩充的日常语料集合和扩充的领域语料集合。上述第二通用语料集的生成方式中,将第一通用语料集中的各语料输入至深度学习语言模型进行语料扩充,得到第二通用语料集。由于深度学习语言模型不同于初始语言模型,避免深度学习语言模型输出的文字序列与原始语料过于重复的问题,对通用语料集进行实质性的扩充,进一步丰富通用语料集,提升了通用语料集的质量,从而为语言模型的成功构建打下基础。在一示例性实施例中,如图4所示,在步骤s220中,根据规则语料集和第一通用语料集对初始语言模型进行训练,得到第一语言模型,具体可以通过以下步骤实现:在步骤s410中,对规则语料集中的语句和第一通用语料集中的语句分别进行分词,得到混合分词结果。在步骤s420中,对混合分词结果中各词语出现的频次进行统计。在步骤s430中,根据各词语出现的频次对初始语言模型进行训练,得到第一语言模型。其中,分词技术具有很多种,但是在语音识别领域,需要保证分词的最小单元是词表lexicon中的词,例如如果词表是:早、上、早上、好,那么“早上好”的分词结果就必须由词表的词组成,如:“早上、好”、“早、上、好”。而“早上好”会引发分词结果中存在oov(outofvocabulary)的情况,导致后续“早上好”变成了“早<oov>”,这对语音识别系统的影响会很大。具体地,对规则语料集中的各语句进行分词,得到规则语料集对应的分词结果。对第一通用语料集中的各语句进行分词,得到第一通用语料集对应的分词结果。规则语料集对应的分词结果与第一通用语料集对应的分词结果构成混合分词结果,对初始语言模型进行混合训练,确保语言模型的性能,同时弱化语言模型对语料的敏感度,提升语言模型的鲁棒性。混合分词结果包括有大量的词语,对混合分词结果中各词语出现的频次进行统计,各词语出现的频次不同,特别是一些出现频次较低的词语。根据各词语出现的频次计算平滑(smoothing)系数,从而结合平滑系数利用平滑算法,将已出现情形的概率降低,提高未出现的(或者0概率)情形的概率,对初始语言模型进行训练,当满足停止模型训练的条件或者用尽混合语料时,得到完善的第一语言模型。上述语言模型的训练方法中,通过,对规则语料集中的语句和第一通用语料集中的语句分别进行分词,得到混合分词结果;从而对混合分词结果中各词语出现的频次进行统计,并根据各词语出现的频次对初始语言模型进行训练,兼顾了模型的性能和鲁棒性,从而得到完善的第一语言模型,提升了模型预测的准确性。在一示例性实施例中,如图5所示,在步骤s430中,根据各词语出现的频次对初始语言模型进行训练,得到第一语言模型,具体可以通过以下步骤实现:在步骤s510中,获取各词语出现的频次,并根据频次的阈值系数对各词语进行过滤。具体地,在训练语言模型时,为了在性能下降不明显的情况下尽量节约系统开销,通过阈值(cutoff)系数对混合分词结果中的各词语进行过滤,将出现频次低于阈值系数的各词语进行去除。在性能允许的条件下,本实施例尽量选择较小的阈值系数,以保留更多的细节。在步骤s520中,根据过滤后得到的各词语的频次,确定修正的聂氏平滑算法的平滑系数。在步骤s530中,根据过滤后得到的各词语以及平滑系数,通过修正的聂氏平滑算法对初始语言模型进行训练,得到第一语言模型。其中,基于统计语言模型的平滑算法包括加一平滑(additivesmoothing)、古德-图灵(good-turingsmoothing)、插值平滑(interpolation-jelinek-mercersmoothing)、回退平滑(katzsmoothing)、绝对减值平滑(absolutediscounting)、聂氏平滑等。聂氏平滑(kneser-neysmoothing)相当于前面几种算法的综合。且修正的聂氏平滑算法(modifiedkneser-neysmoothing)是公认的效果最好的平滑算法。由于过滤后得到的各词语包括出现频次较低的词语,从而可以利用过滤后得到的各词语的频次,确定修正的聂氏平滑算法的平滑系数。进一步地,根据过滤后得到的各词语以及平滑系数,通过修正的聂氏平滑算法对初始语言模型进行训练,得到第一语言模型。上述语言模型的训练方法中,通过规则语料集和第一通用语料集可以确定修正的聂氏平滑算法的平滑系数,从而使用效果公认最好的修正的聂氏平滑算法对初始语言模型进行训练,兼顾了性能和鲁棒性。在一示例性实施例中,规则语料集的生成方式,包括:获取原始语料集;按照预设的规则语句以及预设的语法,对原始语料集中各词语进行组合,得到规则语料集。其中,规则语句是利用预设的语法按照设计规则而事先设计的语句。预设的语法包括类语法和或语法,类语法为表征具有相同属性的一类对象的概括性词语,或语法为规则语句中各词语间的或关系。具体地,可以从服务器本地获取原始语料集,或者从与服务器本地连接的计算机设备中获取原始语料集。原始语料集包括若干词语。需要说明的是,生成的规则语料需要覆盖语音识别中的待识别的说法,且避免出现不符合说法的“噪声”文本,这需要对设计规则进行细致的设计。如前文,按照设计规则“[我|你](想)听[周杰伦|王力宏]”生成语句,若设计失误,生成“我你听周杰伦王力宏”,将会导致语言模型的性能下降。因此,本实施例中,使用分类扩展设计的方式进行设计,并采用类语法和或语法。需要事先设计规则语句(sentence)与语法(content)。按照预设的规则语句以及预设的语法,对原始语料集中各词语进行组合,得到规则语料集。示例性的,设计规则语句(sentence)与类语法(content),并根据所设计的sentence和content,生成规则语料集(result):sentence:我想听[歌手](的歌)周杰伦(的[周杰伦的歌])好听吗给我放(一首)[歌曲]content:result:我想听周杰伦我想听王力宏我想听周杰伦的青花瓷我想听周杰伦的双截棍我想听王力宏的唯一周杰伦的青花瓷好听吗周杰伦的双截棍好听吗……可见,通过本实施设计的多个规则语句(sentence)与类语法(content)生成规则语料,扩展了规则语料集。上述规则语料集的生成方式中,通过按照预设的规则语句以及预设的语法,对原始语料集中各词语进行组合,得到规则语料集,对规则语料集进行扩展,可以得到一系列指令类语料和/或话术固定类语料,为了后续的模型训练提供主要的语料集。但仅使用此类语料可能会导致训练不成功或语料覆盖差导致模型效果较差,因此,将此类语料与通用语料集混合使用训练语言模型,确保成功构建语言模型。在一示例性实施例中,如图6所示,规则语料集的生成方式,包括以下步骤:在步骤610中,获取原始语料集和目标领域语料库。其中,目标领域语料库是某个领域的专业语料库。具体地,可以从服务器本地获取原始语料集和目标领域语料库,可以从与服务器连接的计算机设备中获取原始语料集和目标领域语料库。在步骤620中,对目标领域语料库中的各语句进行词性标注,确定各语句中各词语的词性信息。其中,词性是指一个词语的类别,比如名词、动词、量词、语气助词、代词等。需要说明的是,也可以根据实际情况设计词语的词性。词性标注是指将语句中各词语的词性标注出来。具体地,目标领域语料库包括若干语句,各语句有不同的词语组成,且各语句中的词语具有不同的词性。从目标领域语料库中获取语句,对获取的语句进行词性标注,确定该语句中各词语的词性信息。在步骤630中,在各词语的词性信息中,选择一类词性作为目标词性。在步骤640中,在各语句中,将目标词性所对应的词语替换为类语法对应的概括性词语,生成扩充的规则语句。在步骤650中,按照预设的规则语句、扩充的规则语句以及预设的语法,对原始语料集中各词语进行组合,得到规则语料集。具体地,如前文,设计有类语法,且类语法为表征具有相同属性的一类对象的概括性词语,且可以从目标领域语料库中获取语句。在对目标领域语料库中的各语句进行词性标注,确定各语句中各词语的词性信息后,选择其中一类词性作为目标词性。若利用目标领域语料库中的语句生成规则语句,在目标领域语料库中选择任一语句,将该语句中目标词性所对应的词语替换为类语法所对应的概括性用词,从而将该语句变换为规则语句,这里得到的规则语句是对设计的规则语句的扩充。在得到扩充的规则语句后,按照预设的规则语句、扩充的规则语句以及预设的语法,对原始语料集中各词语进行组合,得到规则语料集。示例性地,目标领域语料库为歌曲评论类语料,从该语料库获取的语料为:喜欢周杰伦十年了王力宏新专辑我买爆对以上两句话进行词性标注,可以得到:[喜欢/vi,周杰伦/nr,十/m,年/qt,了/ule][王力宏/nr,新专辑/nz,我/rr,买/v,爆/v]可以将词性/nr对应的词语替换为类content[歌手],则利用以上两句话生成的规则语句如下:喜欢[歌手]十年了[歌手]新专辑我买爆上述规则语料集的生成方式中,利用目标领域语料库中的语句以及预设的语法对规则语句进行扩充,从而按照预设的规则语句、扩充的规则语句以及预设的语法,对原始语料集中各词语进行组合,得到规则语料集,进一步地丰富规则语料集,规则语料集可以覆盖更大的范围,为了后续的模型训练提供丰富且关键的语料集,确保语言模型构建的准确性。图7是根据一示例性实施例示出的一种语言模型的训练方法的流程图,如图7所示,语言模型的训练方法用于服务器120中,包括以下步骤:在步骤702中,获取原始语料集和目标领域语料库。在步骤704中,对目标领域语料库中的各语句进行词性标注,确定各语句中各词语的词性信息。在步骤706中,在各词语的词性信息中,选择一类词性作为目标词性。在步骤708中,在各语句中,将目标词性所对应的词语替换为类语法对应的概括性词语,生成扩充的规则语句。在步骤710中,按照预设的规则语句、扩充的规则语句以及预设的语法,对原始语料集中各词语进行组合,得到规则语料集。其中,规则语句是利用预设的语法按照设计规则而事先设计的语句,预设的语法包括类语法和或语法,类语法为表征具有相同属性的一类对象的概括性词语,或语法为规则语句中各词语间的或关系。在步骤712中,获取日常原始语料和/或领域原始语料。在步骤714中,对日常原始语料和/或领域原始语料进行语料清洗,得到第一通用语料集。在步骤716中,将第一通用语料集中的各语料输入至深度学习语言模型进行语料扩充,得到第二通用语料集。在步骤718中,根据规则语料集和第一通用语料集对初始语言模型进行训练,得到第一语言模型。具体地,对规则语料集中的语句和第一通用语料集中的语句分别进行分词,得到混合分词结果;对混合分词结果中各词语出现的频次进行统计;获取各词语出现的频次,并根据频次的阈值系数对各词语进行过滤;根据过滤后得到的各词语的频次,确定修正的聂氏平滑算法的平滑系数;根据过滤后得到的各词语以及平滑系数,通过修正的聂氏平滑算法对初始语言模型进行训练,得到第一语言模型。在步骤720中,根据第一通用语料集对初始语言模型进行训练,得到第三语言模型。在步骤722中,根据第二通用语料集对初始语言模型进行训练,得到第四语言模型。在步骤724中,根据第一语言模型的插值系数、第三语言模型的插值系数和第四语言模型的插值系数,对第一语言模型、第三语言模型和第四语言模型进行插值,得到目标语言模型。其中,第一语言模型的插值系数大于第二语言模型的插值系数。上述语言模型的训练方法中,利用第一通用语料集以及第二通用语料集以多个不同的角度丰富模型训练所使用的语料集合,进一步地提升语料集合的质量和数量。而且通过第一通用语料集和第二语料集扩充后的语料更加广泛,覆盖更多普遍的情况。进一步地,通过利用插值算法,将利用第一语言模型、第三语言模型以及第四语言模型融合起来,得到插值混合模型,即目标语言模型,通过对第一语言模型、第三语言模型以及第四语言模型进行插值处理不仅可以扩展模型的应用场景,而且可以提升模型的训练效率。图8是根据一示例性实施例示出的一种语音识别方法的流程图,如图8所示,语音识别方法用于终端110中,包括以下步骤:在步骤810中,获取待识别语音信号对应的文字序列。在步骤820中,对文字序列进行分词,得到文字序列对应的各词语。在步骤830中,将文字序列对应的各词语输入至目标语言模型中,对文字序列对应的各词语的语言概率进行预测。在步骤840中,根据文字序列对应的各词语的语言概率,得到待识别语音信号的识别结果。其中,目标语言模型是通过上述任一实施例中语言模型的训练方法得到的。具体地,通过声学模型对待识别语音信号进行识别,得到待识别语音信号对应的文字序列。参照词典对该文字序列进行分词处理,得到该文字序列对应的各词语。将该文字序列对应的各词语输入至目标语言模型,通过目标语言模型对文字序列对应的各词语的语言概率进行预测,从而根据文字序列对应的各词语的语言概率,得到待识别语音信号的识别结果。上述语音识别方法,利用通过上述任一实施例中语言模型的训练方法得到目标语言模型对待识别语音信号对应的文字序列进行处理,由于训练目标语言模型所使用的语料覆盖许多情形,目标语言模型预测的准确性较高,从而可以对待识别语音信号对应的文字序列进行精准预测,从而确保语音识别结果的准确性。应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。图9是根据一示例性实施例示出的一种语言模型的训练装置框图。参照图9,该装置包括语料集获取模块902,第一模型训练模块904,第二模型训练模块906和语言模型插值模块908。语料集获取模块902,被配置为执行获取规则语料集和通用语料集;第一模型训练模块904,被配置为执行根据所述规则语料集和所述通用语料集对初始语言模型进行训练,得到第一语言模型;第二模型训练模块906,被配置为执行根据所述通用语料集对所述初始语言模型进行训练,得到第二语言模型;语言模型插值模块908,被配置为执行根据所述第一语言模型的插值系数以及所述第二语言模型的插值系数,对所述第一语言模型以及所述第二语言模型进行插值,得到目标语言模型,所述第一语言模型的插值系数大于第二语言模型的插值系数。在一示例性实施例中,所述通用语料集包括第一通用语料集,所述第一通用语料集包括日常语料和/或领域语料;所述第一模型训练模块,还被配置为执行根据所述规则语料集和所述第一通用语料集对所述初始语言模型进行训练,得到所述第一语言模型。在一示例性实施例中,所述通用语料集还包括第二通用语料集,所述第二通用语料集是通过对所述第一通用语料集进行扩充而得到的;所述第二模型训练模块,还被配置为执行根据所述第一通用语料集对所述初始语言模型进行训练,得到第三语言模型;根据所述第二通用语料集对所述初始语言模型进行训练,得到第四语言模型。在一示例性实施例中,所述语言模型插值模块,被配置为执行根据所述第一语言模型的插值系数、第三语言模型的插值系数和第四语言模型的插值系数,对第一语言模型、第三语言模型和第四语言模型进行插值,得到所述目标语言模型。在一示例性实施例中,所述训练装置还包括第一语料生成模块,所述第一语料生成模块,被配置为执行获取日常原始语料和/或领域原始语料;对所述日常原始语料和/或所述领域原始语料进行语料清洗,得到所述第一通用语料集。在一示例性实施例中,所述训练装置还包括第二语料生成模块,所述第二语料生成模块,被配置为执行将所述第一通用语料集中的各语料输入至深度学习语言模型进行语料扩充,得到所述第二通用语料集。在一示例性实施例中,所述第一模型训练模块,还被配置为执行对所述规则语料集中的语句和所述第一通用语料集中的语句分别进行分词,得到混合分词结果;对所述混合分词结果中各词语出现的频次进行统计;根据各所述词语出现的频次对所述初始语言模型进行训练,得到所述第一语言模型。在一示例性实施例中,所述第一模型训练模块,还被配置为执行获取各所述词语出现的频次,并根据频次的阈值系数对各所述词语进行过滤;根据过滤后得到的各所述词语的频次,确定修正的聂氏平滑算法的平滑系数;根据过滤后得到的各所述词语以及所述平滑系数,通过所述修正的聂氏平滑算法对所述初始语言模型进行训练,得到所述第一语言模型。在一示例性实施例中,所述训练装置还包括规则语料生成模块,所述规则语料生成模块,被配置为执行获取原始语料集;按照预设的规则语句以及预设的语法,对所述原始语料集中各词语进行组合,得到所述规则语料集;其中,所述规则语句是利用所述预设的语法按照设计规则而事先设计的语句,所述预设的语法包括类语法和或语法,所述类语法为表征具有相同属性的一类对象的概括性词语,所述或语法为所述规则语句中各词语间的或关系。在一示例性实施例中,所述训练装置还包括规则语句扩充模块,所述规则语句扩充模块,被配置为执行对目标领域语料库中的各语句进行词性标注,确定各所述语句中各词语的词性信息;在所述各词语的词性信息中,选择一类词性作为目标词性;在各所述语句中,将所述目标词性所对应的词语替换为所述类语法对应的概括性词语,生成扩充的规则语句;所述规则语料生成模块,还被配置为执行按照预设的规则语句、扩充的规则语句以及预设的语法,对所述原始语料集中各词语进行组合,得到所述规则语料集。图10是根据一示例性实施例示出的一种语音识别装置框图。参照图10,该装置包括文字序列获取模块1002,文字序列分词模块1004,语言概率预测模块1006和识别结果生成模块1008。文字序列获取模块1002,被配置为执行获取待识别语音信号对应的文字序列;文字序列分词模块1004,被配置为执行对所述文字序列进行分词,得到所述文字序列对应的各词语;语言概率预测模块1006,被配置为执行将所述文字序列对应的各词语输入至目标语言模型中,对所述文字序列对应的各词语的语言概率进行预测,目标语言模型是通过上述任一实施例中语言模型的训练方法得到的。识别结果生成模块1008,被配置为执行根据所述文字序列对应的各词语的语言概率,得到所述待识别语音信号的识别结果。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。图11是根据一示例性实施例示出的一种用于语言模型的训练或者语音识别的设备1100的框图。例如,设备1100可以为一服务器。参照图11,设备1100包括处理组件1120,其进一步包括一个或多个处理器,以及由存储器1122所代表的存储器资源,用于存储可由处理组件1120的执行的指令,例如应用程序。存储器1122中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1120被配置为执行指令,以执行上述语言模型的训练方法或者上述语音识别方法。设备1100还可以包括一个电源组件1124被配置为执行设备1100的电源管理,一个有线或无线网络接口1126被配置为将设备1100连接到网络,和一个输入输出(i/o)接口1128。设备1100可以操作基于存储在存储器1122的操作系统,例如windowsserver,macosx,unix,linux,freebsd或类似。在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器1122,上述指令可由设备1100的处理器执行以完成上述语言模型的训练方法或者上述语音识别方法。存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本
技术领域:
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。当前第1页1 2 3 
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
热门咨询
tips