首页 / 专利库 / 人工智能 / 语言建模 / 语言模型训练方法、解码方法、装置、存储介质及设备

语言模型训练方法、解码方法、装置、存储介质及设备

阅读:820发布:2020-05-12

专利汇可以提供语言模型训练方法、解码方法、装置、存储介质及设备专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开了语言模型训练方法、解码方法、装置、存储介质及设备。其中,语言模型训练方法包括:获取第一语料,基于预设词典对所述第一语料进行分词处理,得到第二语料,基于所述第二语料对预设深度语言模型进行训练,得到训练后的语言模型,其中,所述预设深度语言模型以词为建模单元构建。本发明实施例通过采用上述技术方案,以词为建模单元构建预设深度语言模型,再利用经过分词处理后的语料进行训练,可以提升实体词识别的准确度。,下面是语言模型训练方法、解码方法、装置、存储介质及设备专利的具体信息内容。

1.一种语言模型训练方法,其特征在于,所述语言模型包含于端到端的语音识别系统中,所述训练方法包括:
获取第一语料;
基于预设词典对所述第一语料进行分词处理,得到第二语料;
基于所述第二语料对预设深度语言模型进行训练,得到训练后的语言模型,其中,所述预设深度语言模型以词为建模单元构建。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第二语料对预设深度语言模型进行训练,包括:
采用N元文法N-Gram对所述第二语料进行至少一次切分操作,得到至少一份第三语料;
对所述至少一份第三语料和所述第二语料进行混合处理,得到第四语料;
基于所述第四语料对预设深度语言模型进行训练。
3.根据权利要求2所述的方法,其特征在于,所述采用N-Gram对所述第二语料进行至少一次切分操作,得到至少一份第三语料,包括:
分别采用3-Gram和4-Gram对所述第二语料进行切分操作,得到两份第三语料。
4.根据权利要求1所述的方法,其特征在于,所述预设深度语言模型采用长短期记忆网络LSTM结构构建。
5.一种语音识别系统的解码方法,其特征在于,所述语音识别系统中的语言模型采用如权利要求1-4任一所述的方法训练得到,所述语音识别系统中的声学模型以字为建模单元构建,所述解码方法包括:
获取待识别语音,并将所述待识别语音输入至所述语音识别系统中;
获取所述声学模型输出的以字为单位的第一分数,以及获取所述语言模型输出的以词为单位的第二分数;
采用预设解码算法基于所述第一分数、所述第二分数以及预设有穷状态转换器FST网络进行解码,并根据解码结果确定所述待识别语音对应的识别结果,其中,所述预设FST网络以字为输入,以词为输出。
6.根据权利要求5所述的方法,其特征在于,所述预设FST网络通过以下方式得到:
对于训练所述语言模型时所采用的预设词典中的每个词,对当前词按照字进行拆分,得到对应的字串,以所述字串为输入,以所述当前词为输出,构建对应的FST网络分支,其中,所述FST网络分支中包含字对应的声学节点和词对应的词尾节点;
根据所述FST网络分支确定预设FST网络。
7.根据权利要求6所述的方法,其特征在于,所述预设解码算法为令牌传递算法。
8.根据权利要求7所述的方法,其特征在于,所述采用预设解码算法基于所述第一分数、所述第二分数以及预设FST网络进行解码,并根据解码结果确定所述待识别语音对应的识别结果,包括:
根据所述声学模型输出的字在预设FST网络中查找对应的候选路径;
对于每个候选路径,在当前候选路径的令牌经过第一声学节点时,在所述当前候选路径对应的当前令牌分数基础叠加所述第一声学节点对应的第一分数,在所述当前候选路径的令牌经过第一词尾节点时,在所述当前候选路径对应的当前令牌分数基础上叠加所述第一词尾节点对应的第二分数;
根据各候选路径的当前令牌分数确定目标路径,并根据所述目标路径确定所述待识别语音对应的识别结果。
9.根据权利要求8所述的方法,其特征在于,所述预设FST网络中还包括根节点和循环节点;
在所述根据各候选路径的当前令牌分数确定目标路径之前,还包括:
在各候选路径的令牌到达所述循环节点时,保留当前令牌分数较高的预设数量的候选路径,得到历史路径,并将所述历史路径的令牌传递至所述根节点;
从所述根节点开始,重复根据所述声学模型输出的字在预设FST网络中查找对应的候选路径的相关操作,直到所述声学模型输出的最后一个字到达所述循环节点。
10.根据权利要求8所述的方法,其特征在于,所述在所述当前候选路径对应的当前令牌分数基础上叠加所述第一声学节点对应的第一分数,包括:
计算所述第一声学节点对应的第一分数与第一预设超参数的第一乘积;
将所述当前候选路径对应的当前令牌分数与所述第一乘积的和,作为新的当前令牌分数;
所述在所述当前候选路径对应的当前令牌分数基础上叠加所述第一词尾节点对应的第二分数,包括:
计算所述第一词尾节点对应的第二分数与第二预设超参数的第二乘积;
将所述当前候选路径对应的当前令牌分数与所述第二乘积的和,作为新的当前令牌分数。
11.根据权利要求8所述的方法,其特征在于,所述以所述字串为输入,以所述当前词为输出,构建对应的FST网络分支,包括:
若当前词为预设类型词,则在所述当前词对应的字串中去除后缀对应的字,得到更新后的字串,其中,所述预设类型词为存在唯一后缀的词;
以所述更新后的字串为输入,以所述当前词和所述后缀为输出,构建对应的FST网络分支;
相应的,所述方法还包括:
在检测到至少两条候选路径的令牌经过后缀相同的词尾节点时,根据所述至少两条候选路径对应的当前令牌分数去除满足预设条件的候选路径,得到更新后的候选路径。
12.一种语言模型训练装置,其特征在于,所述语言模型包含于端到端的语音识别系统中,所述装置包括:
第一语料获取模,用于获取第一语料;
分词处理模块,用于对所述第一语料进行分词处理,得到第二语料;
模型训练模块,用于基于所述第二语料对预设深度语言模型进行训练,得到训练后的语言模型,其中,所述预设深度语言模型以词为建模单元构建。
13.一种语音识别系统的解码装置,其特征在于,所述语音识别系统中的语言模型采用如权利要求1-4任一所述的方法训练得到,所述语音识别系统中的声学模型以字为建模单元构建,所述解码装置包括:
语音输入模块,用于获取待识别语音,并将所述待识别语音输入至所述语音识别系统中;
分数获取模块,用于获取所述声学模型输出的以字为单位的第一分数,以及获取所述语言模型输出的以词为单位的第二分数;
解码模块,用于采用预设解码算法基于所述第一分数、所述第二分数以及预设有穷状态转换器FST网络进行解码,并根据解码结果确定所述待识别语音对应的识别结果,其中,所述预设FST网络以字为输入,以词为输出。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-11中任一所述的方法。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-11任一项所述的方法。

说明书全文

语言模型训练方法、解码方法、装置、存储介质及设备

技术领域

[0001] 本发明实施例涉及语音识别技术领域,尤其涉及语言模型训练方法、解码方法、装置、存储介质及设备。

背景技术

[0002] 语音识别技术的发展经历了GMM-HMM、DNN-HMM、端到端语音识别三个阶段。其中,GMM表示高斯混合模型(Gaussian Mixture Model),HMM表示隐尔科夫模型(Hidden Markov Model),DNN表示深度神经网络(Deep Neural Networks)。传统语音识别主要指
GMM-HMM、DNN-HMM语音识别技术。传统语音识别技术中的语言模型主要是N元文法(N-Gram)语言模型,端到端语音识别技术中的语言模型主要是深度学习语言模型。
[0003] 对于端到端的语音识别系统,相比于传统语音识别系统来说具有很多优势,比如在字错误率指标上优于传统的语音识别方法,然而,在实体词识别方面,端到端的语音识别系统仍需要改进。

发明内容

[0004] 本发明实施例提供了语言模型训练方法、解码方法、装置、存储介质及设备,可以优化端到端的语音识别系统中的语言模型训练方案。
[0005] 第一方面,本发明实施例提供了一种语言模型训练方法,所述语言模型包含于端到端的语音识别系统中,所述训练方法包括:
[0006] 获取第一语料;
[0007] 基于预设词典对所述第一语料进行分词处理,得到第二语料;
[0008] 基于所述第二语料对预设深度语言模型进行训练,得到训练后的语言模型,其中,所述预设深度语言模型以词为建模单元构建。
[0009] 第二方面,本发明实施例提供了一种语音识别系统的解码方法,所述语音识别系统中的语言模型采用本发明实施例提供的语言模型训练方法训练得到,所述语音识别系统中的声学模型以字为建模单元构建,所述解码方法包括:
[0010] 获取待识别语音,并将所述待识别语音输入至所述语音识别系统中;
[0011] 获取所述声学模型输出的以字为单位的第一分数,以及获取所述语言模型输出的以词为单位的第二分数;
[0012] 采用预设解码算法基于所述第一分数、所述第二分数以及预设有穷状态转换器FST网络进行解码,并根据解码结果确定所述待识别语音对应的识别结果,其中,所述预设FST网络以字为输入,以词为输出。
[0013] 第三方面,本发明实施例提供了一种语言模型训练装置,所述语言模型包含于端到端的语音识别系统中,所述装置包括:
[0014] 第一语料获取模,用于获取第一语料;
[0015] 分词处理模块,用于基于预设词典对所述第一语料进行分词处理,得到第二语料;
[0016] 模型训练模块,用于基于所述第二语料对预设深度语言模型进行训练,得到训练后的语言模型,其中,所述预设深度语言模型以词为建模单元构建。
[0017] 第四方面,本发明实施例提供了一种语音识别系统的解码装置,所述语音识别系统中的语言模型采用本发明实施例提供的语言模型训练方法训练得到,所述语音识别系统中的声学模型以字为建模单元构建,所述解码装置包括:
[0018] 语音输入模块,用于获取待识别语音,并将所述待识别语音输入至所述语音识别系统中;
[0019] 分数获取模块,用于获取所述声学模型输出的以字为单位的第一分数,以及获取所述语言模型输出的以词为单位的第二分数;
[0020] 解码模块,用于采用预设解码算法基于所述第一分数、所述第二分数以及预设有穷状态转换器FST网络进行解码,并根据解码结果确定所述待识别语音对应的识别结果,其中,所述预设FST网络以字为输入,以词为输出。
[0021] 第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的方法。
[0022] 第四方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例提供的方法。
[0023] 本发明实施例中提供的语言模型训练方案,语言模型包含于端到端的语音识别系统中,获取第一语料,基于预设词典对第一语料进行分词处理,得到第二语料,基于第二语料对预设深度语言模型进行训练,得到训练后的语言模型,其中,预设深度语言模型以词为建模单元构建。通过采用上述技术方案,以词为建模单元构建预设深度语言模型,再利用经过分词处理后的语料进行训练,可以提升实体词识别的准确度。附图说明
[0024] 图1为本发明实施例提供的一种语言模型训练方法的流程示意图;
[0025] 图2为本发明实施例提供的一种深度语言模型的结构示意图;
[0026] 图3为本发明实施例提供的一种语音识别系统的解码方法的流程示意图;
[0027] 图4为本发明实施例提供的部分解码网络示意图;
[0028] 图5为本发明实施例提供的又一种语音识别系统的解码方法的流程示意图;
[0029] 图6为本发明实施例提供的一种语言模型训练装置的结构框图
[0030] 图7为本发明实施例提供的一种语音识别系统的解码装置的结构框图;
[0031] 图8为本发明实施例提供的一种计算机设备的结构框图。

具体实施方式

[0032] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0033] 图1为本发明实施例提供的一种语言模型训练方法的流程示意图,该方法可以由语言模型训练装置执行,其中该装置可由软件和/或硬件实现,一般可集成在计算机设备中。如图1所示,该方法包括:
[0034] 步骤101、获取第一语料。
[0035] 示例性的,本发明实施例中的语言模型是端到端的语音识别系统中的语言模型,具体为深度语言模型。第一语料可作为待使用的语言模型的训练集语料,可以来源于日常生活中各个方面。可选的,针对语言识别系统的应用场景,也可以有选择性的获取第一语料。
[0036] 步骤102、对所述第一语料进行分词处理,得到第二语料。
[0037] 对于很多语音识别场景,比如对于语音的审核场景,说话者说话方式比较随意,切换语音环境的时机比较随意,语音长度较短,语意分散,没有完整的上下文环境等。相关技术中的端到端语音识别系统中,在用语料进行训练时,都是以字为建模单元,这样,对于一些实体词,比如“农业部”,很容易识别成“农业不”,因为以字为建模单元时,“农业部”不是一个整体的词,而是独立的字。
[0038] 实体词通常是一起出现的,将一个词拆分成字时,增加了组合的可能性,会使得识别效果较差。本发明实施例中,以词为建模单元来进行深度语言模型的训练,此时,“农业部”在本发明实施例的模型中是一个整体,会使得“农业部”这类实体词的识别效果更好。
[0039] 本发明实施例中,对分词处理所采用的具体分词技术不做限定。示例性的,以中文为例,中文分词指的是将一个汉字序列切分成一个一个单独的词,也即将第一语料对应的汉字序列划分为多个词。示例性的,可以采用基于规则的分词方法,预先设置语言模型训练对应的词典,得到预设词典,并基于预设词典通过匹配的方式对第一语料中的句子进行划分,得到第二语料。需要说明的是,一些字无法与其他字组成一个词,例如“我”和“是”等,这种情况,对于本发明实施例中的分词方案来说,“我”和“是”可分别视为一个词。
[0040] 步骤103、基于所述第二语料对预设深度语言模型进行训练,得到训练后的语言模型,其中,所述预设深度语言模型以词为建模单元构建。
[0041] 本发明实施例中,基于经过分词处理后的语料对预设深度语言模型进行训练,使得训练后得到的语音模型能够更加准确地对实体词进行识别。
[0042] 示例性的,本发明实施例中的预设深度语言模型可以采用长短期记忆网络(Long Short-Term Memory,LSTM)结构构建。图2为本发明实施例提供的一种深度语言模型的结构示意图,以LSTM结构为例,如图2所示,下面一层为输入层中间层隐藏层,上面一层为输出层,W和U为网络参数,“北京”和“天安”将作为整体出现。
[0043] 示例性的,本发明实施例中的LSTM语言模型结构可表述如下:
[0044] it=σ(Uixt+Wist-1+Vict-1+bi)
[0045] ft=σ(Ufxt+Wfst-1+Vfct-1+bf)
[0046] gt=f(Uxt+Wst-1+Vct-1+b)
[0047] ct=ft⊙ct-1+it⊙gt
[0048] ot=σ(Uoxt+Wost-1+Voct+bo)
[0049] st=otxt·f(ct)
[0050] st=g(Vst+Mxt+d)
[0051] 其中:it、ft、ot分别表示输入门、遗忘门和输出门;ct是lstm单元内部记忆状态;st是隐藏状态单元;Ui、Uf、Uo、U、Wi、Wf、Wo、W、Vi、Vf、Vo、V为权重矩阵;bi、bf、bo、b、d为偏置;f是激活函数;σ各个门限激活函数。
[0052] 可选的,预设深度语言模型还可以采用其他结构,如准循环神经网络(Quasi-Recurrent Neural Networks,QRNN)以及transformer等。
[0053] 本发明实施例中提供的语言模型训练方法,语言模型包含于端到端的语音识别系统中,获取第一语料,对第一语料进行分词处理,得到第二语料,基于第二语料对预设深度语言模型进行训练,得到训练后的语言模型,其中,预设深度语言模型以词为建模单元构建。通过采用上述技术方案,以词为建模单元构建预设深度语言模型,再利用经过分词处理后的语料进行训练,可以提升实体词识别的准确度。
[0054] 在一些实施例中,所述基于所述第二语料对预设深度语言模型进行训练,包括:采用N元文法N-Gram对所述第二语料进行至少一次切分操作,得到至少一份第三语料;对所述至少一份第三语料和所述第二语料进行混合处理,得到第四语料;基于所述第四语料对预设深度语言模型进行训练。这样设置的好处在于,可以借用传统语音识别方案中的语料处理方式对深度语言模型进行优化,进一步提升实体词的识别率。N-Gram是基于统计的语言模型,语言本身是上下文相关的,N-Gram假设第n个词与前n-1个词相关,句子的概率是各个词的出现概率的乘积。在利用N-Gram对第二语料进行至少一次切分操作后,将得到的至少一份第三语料与第一语料进行混合,将混合后的第四语料应用于对预设深度语言模型的训练中,可以使得训练语料更加丰富,进一步提升实体词识别效果。
[0055] 在一些实施例中,所述采用N-Gram对所述第二语料进行至少一次切分操作,得到至少一份第三语料,包括:分别采用3-Gram和4-Gram对所述第二语料进行切分操作,得到两份第三语料。对于N-Gram,N过小时对于历史信息的建模能不够,N过大时导致模型过大,且收益有限,本发明实施例中分别以N为3和N为4对经过分词处理后的语料进行切分,将得到的两份第三语料与第二预料进行混合,对语料进行了进一步的优化,使训练后得到的语言模型能够更好地识别实体词。
[0056] 图3为本发明实施例提供的一种语音识别系统的解码方法的流程示意图,该方法可以由语音识别系统的解码装置执行,其中该装置可由软件和/或硬件实现,一般可集成在计算机设备中,所述语音识别系统中的语言模型采用本发明实施例提供的语言模型训练方法训练得到,所述语音识别系统中的声学模型以字为建模单元构建。
[0057] 如图3所示,该方法包括:
[0058] 步骤301、获取待识别语音,并将所述待识别语音输入至所述语音识别系统中。
[0059] 本发明实施例提供的语音识别系统的解码方法可适用于各种语音识别场景。例如,对于语音的审核场景,通常可以通过音频审核和文字审核或者二者结合的方式进行,其中,文字审核时通常将语音先通过语音识别技术转换成文本,然后判断对应文本是否符合审核要求,此时,可以采用本发明实施例提供的语音识别系统的解码方法对待审核的语音进行识别。
[0060] 示例性的,待识别语音可以来源于视频直播应用程序、短视频应用程序以及其他应用程序,还可以来源于网络或者设备本地等。
[0061] 本发明实施例对于获取待识别语音的具体方式不做限定,在获取到待识别语音后,将其输入至本发明实施例的语音识别系统中。待识别语音可以是预设时长的语音信号,预设时长可以是固定时长,也可以根据实际情况动态确定的时长,本发明实施例不做限定。
[0062] 步骤302、获取所述声学模型输出的以字为单位的第一分数,以及获取所述语言模型输出的以词为单位的第二分数。
[0063] 对于语音识别来说,输入一段语音信号后,需要找到一个文字序列,使得该文字序列与语音信号的匹配程度最高。对于声学模型来说,文字序列中的每个位置会存在多个可能的字,每一个字可以被称为标签(label),声学模型给出序列中每个位置不同label的打分。对于语言模型来说,同样能在对应位置通过上下文环境为每个label打分,进而选择最合适的label。声学模型的解码过程可理解为把待识别语音的声学特征对应到字,而语言模型的解码过程可理解为把字解码成一个完整的句子。
[0064] 相关技术中,声学模型和语言模型都是以字为建模单元的,因此,每个label会存在一个对应的声学模型的分数和一个对应的语言模型的分数。而本发明实施例中,为了改善实体词的识别效果而采用的以词为建模单元构建语言模型,因此,声学模型输出的是以字为单位的分数,记为第一分数,语言模型输出的是以词为单位的分数,记为第二分数。
[0065] 步骤303、采用预设解码算法基于所述第一分数、所述第二分数以及预设有穷状态转换器FST网络进行解码,并根据解码结果确定所述待识别语音对应的识别结果,其中,所述预设FST网络以字为输入,以词为输出。
[0066] 相关技术中,声学模型和语言模型都是以字为建模单元的,因此,同一个label会同时对应声学模型的分数和语言模型的分数,也就是说,在解码过程中,声学模型中label对应的序号ID(Identity document,身份标识,可理解为唯一编码)和语言模型中label对应的序号ID相对应。而本发明实施例中,声学模型以字为建模单元,语言模型以词为建模单元,因此,在解码过程中,会出现声学模型中字label对应的序号ID和语言模型中词label对应的序号ID不对应的情况,为了解决该问题,本发明实施例提出了基于预设有穷状态转换器(Finite State Transducers,FST)网络的端到端语音识别解码方法。该预设FST网络以字为输入,以词为输出,因此,可以利用预设FST网络建立声学模型和语言模型之间的联系,进而得到最终的解码结果。
[0067] 示例性的,预设解码算法可以是维特比(Viterbi)算法、令牌传递(Token Passing)算法以及集束搜索(beamsearch)算法等。
[0068] 本发明实施例提供的语言识别系统的解码方法,获取待识别语音,并将待识别语音输入至语音识别系统中,获取声学模型输出的以字为单位的第一分数,以及获取语言模型输出的以词为单位的第二分数,采用预设解码算法基于第一分数、第二分数以及预设FST网络进行解码,并根据解码结果确定待识别语音对应的识别结果,其中,预设FST网络以字为输入,以词为输出。本发明实施例通过采用上述技术方案,在语言模型以词为建模单元的前提下,基于FST网络进行解码,可实现快速准确地解码,提高实体词识别效果。
[0069] 在一些实施例中,所述预设FST网络通过以下方式得到:对于训练所述语言模型时所采用的预设词典中的每个词,对当前词按照字进行拆分,得到对应的字串,以所述字串为输入,以所述当前词为输出,构建对应的FST网络分支,其中,所述FST网络分支中包含字对应的声学节点和词对应的词尾节点;根据所述FST网络分支确定预设FST网络。这样设置的好处在于,可以快速全面地根据预设词典构建FST网络。可选的,可利用openFST工具构建FST网络。
[0070] 需要说明的是,如前文举例,类似“我”和“是”这样无法与其他字组成词的字,对于语言模型来说,也可视为是词。比如“我”,存在一个声学节点的“我”和一个词尾节点的“我”。
[0071] 示例性的,图4为本发明实施例提供的部分解码网络示意图,图中汉字圆圈表示声学节点(AM node),汉字方框表示词尾节点(word end node),S表示开始(START)节点,R表示根(ROOT)节点,L表示循环(LOOP)节点,E表示结束(END)节点。对于预设词典中的每个词,将按字拆分后的字串作为输入,词作为输出构建FST网络。比如“青色”一词,输入是“青”和“色”,输出是“青色”。
[0072] 图5为本发明实施例提供的又一种语音识别系统的解码方法的流程示意图,在上述各可选实施例基础上进行优化,所述采用预设解码算法基于所述第一分数、所述第二分数以及预设FST网络进行解码,并根据解码结果确定所述待识别语音对应的识别结果,包括:根据所述声学模型输出的字在预设FST网络中查找对应的候选路径;对于每个候选路径,在当前候选路径的令牌经过第一声学节点时,在所述当前候选路径对应的当前令牌分数基础上叠加所述第一声学节点对应的第一分数,在所述当前候选路径的令牌经过第一词尾节点时,在所述当前候选路径对应的当前令牌分数基础上叠加所述第一词尾节点对应的第二分数;根据各候选路径的当前令牌分数确定目标路径,并根据所述目标路径确定所述待识别语音对应的识别结果。
[0073] 可选的,该方法可包括:
[0074] 步骤501、获取待识别语音,并将所述待识别语音输入至所述语音识别系统中。
[0075] 步骤502、获取声学模型输出的以字为单位的第一分数,以及获取语言模型输出的以词为单位的第二分数。
[0076] 步骤503、根据声学模型输出的字在预设FST网络中查找对应的候选路径。
[0077] 示例性的,采用Token Passing的方法在预设FST网络中进行搜索,声学模型是按字输出的,根据声学模型输出的字,在预设FST网络中可以找到对应的路径,称为候选路径,依此逐往后解码。
[0078] 步骤504、对于每个候选路径,在当前候选路径的令牌经过第一声学节点时,在当前候选路径对应的当前令牌分数基础上叠加第一声学节点对应的第一分数,在当前候选路径的令牌经过第一词尾节点时,在当前候选路径对应的当前令牌分数基础上叠加第一词尾节点对应的第二分数。
[0079] 可选的,本发明实施例也可省略步骤502,而在需要叠加第一声学节点对应的第一分数时执行获取对应的第一分数的步骤。同样的,可以在需要叠加第一词尾节点对应的第二分数时执行获取对应的第二分数的步骤。
[0080] 可选的,在所述当前候选路径对应的当前令牌分数基础上叠加所述第一声学节点对应的第一分数,包括:计算所述第一声学节点对应的第一分数与第一预设超参数的第一乘积;将所述当前候选路径对应的当前令牌分数与所述第一乘积的和,作为新的当前令牌分数。其中,第一预设超参数可以根据实际需求进行设置。这样设置的好处在于,可以更加合理地确定声学模型输出的分数在总分数中所占的比重。
[0081] 可选的,所述在所述当前候选路径对应的当前令牌分数基础上叠加所述第一词尾节点对应的第二分数,包括:计算所述第一词尾节点对应的第二分数与第二预设超参数的第二乘积;将所述当前候选路径对应的当前令牌分数与所述第二乘积的和,作为新的当前令牌分数。其中,第二预设超参数可以根据实际需求进行设置。这样设置的好处在于,可以更加合理地确定语言模型输出的分数在总分数中所占的比重。
[0082] 步骤505、根据各候选路径的当前令牌分数确定目标路径,并根据目标路径确定待识别语音对应的识别结果。
[0083] 示例性的,若待识别语音中仅包含一个词,可以将当前令牌分数最高的候选路径确定为目标路径,回溯该目标路径上经过的声学节点,进而确定待识别语音对应的识别结果。
[0084] 示例性的,若待识别语音包含多个词,那么对于第一个词,在到达循环节点时,语音并未结束,可以将当前令牌分数较高的预设数量(如N个)的候选路径进行保留,并将保留的候选路径对应的令牌分数传递到根节点,继续识别下一个词。对于最后一个词,可以将当前令牌分数最高的候选目标路径确定为目标路径,回溯该目标路径上经过的声学节点,进而确定待识别语音对应的识别结果。
[0085] 因此,在一些实施例中,所述预设FST网络中还包括根节点和循环节点。在所述根据各候选路径的当前令牌分数确定目标路径之前,还包括:在各候选路径的令牌到达所述循环节点时,保留当前令牌分数较高的预设数量的候选路径,得到历史路径,并将所述历史路径的令牌传递至所述根节点;从所述根节点开始,重复根据所述声学模型输出的字在预设FST网络中查找对应的候选路径的相关操作,直到所述声学模型输出的最后一个字到达所述循环节点。
[0086] 可选的,若当前词为预设类型词,则在所述当前词对应的字串中去除后缀对应的字,得到更新后的字串,其中,所述预设类型词为存在唯一后缀的词;以所述更新后的字串为输入,以所述当前词和所述后缀为输出,构建对应的FST网络分支;相应的,所述方法还包括:在检测到至少两条候选路径的令牌经过后缀相同的词尾节点时,根据所述至少两条候选路径对应的当前令牌分数去除满足预设条件的候选路径,得到更新后的候选路径。其中,预设条件例如可以是当前令牌分数小于预设分数阈值,也可以是当前令牌分数较低的设定数量的候选路径等。这样设置的好处在于,词尾节点往前推可以提前加上语言模型分数,进而可以提前剪枝,提前减少搜索路径。如图4所示,假设“南”和“男”都有唯一的后缀“方”,可以提前加上语言模型输出的“男方”和“南方”的分数,经过网络前推优化,可以根据输入“男”或者“南”确定输出是“男方”或者“南方”,也即根据两条路径的当前令牌分数确定哪条路径最合理,从而实现提前剪枝。
[0087] 为了便于理解,下面进行具体的说明。
[0088] 定义令牌token:
[0089]
[0090] 其中:total_score=lm_weight*lm_score+am_weight*am_score(lm_weight为第二预设超参数,am_weight为第一预设超参数)
[0091] 解码过程如下:
[0092] 初始化:在START节点处,初始化token=NULL
[0093] 1.将token从START传到ROOT
[0094] 2.token从ROOT开始后续传递
[0095] 3.对于每一个语音帧:
[0096] a)根据可选路径信息通过声学模型获取可选路径上每一个label(字)的am score,更新am score(即在当前令牌分数基础上叠加am_weight*am_score),更新历史路径信息;
[0097] b)对于每一个到达词尾节点的token,通过语言模型获取lm score,更新lm score(即在当前令牌分数基础上叠加lm_weight*lm_score),更新总分数,合并具有相同历史路径的token;
[0098] c)对于到达LOOP节点的token,保留分数topN的N个token,更新历史路径信息,并将token传递到ROOT或END节点(其中,若已到达最后一个词则传递到END,否则传递到ROOT)。
[0099] 4.根据END节点上分数最高的token信息,回溯历史路径得到识别结果。
[0100] 本发明实施例提供的语言识别系统的解码方法,利用Token Passing算法在预设FST网络中进行搜索解码,通过计算各候选路径对应的令牌分数可以快速确定目标路径,进而快速得出待识别语音的识别结果,在改善实体词识别效果的同时,提升解码效率和准确率。
[0101] 图6为本发明实施例提供的一种语言模型训练装置的结构框图,该装置可由软件和/或硬件实现,一般可集成在计算机设备中,可通过执行语言模型训练方法来进行语言模型的训练。如图6所示,该装置包括:
[0102] 第一语料获取模块601,用于获取第一语料;
[0103] 分词处理模块602,用于基于预设词典对所述第一语料进行分词处理,得到第二语料;
[0104] 模型训练模块603,用于基于所述第二语料对预设深度语言模型进行训练,得到训练后的语言模型,其中,所述预设深度语言模型以词为建模单元构建。
[0105] 本发明实施例中提供的语言模型训练装置,语言模型包含于端到端的语音识别系统中,获取第一语料,基于预设词典对第一语料进行分词处理,得到第二语料,基于第二语料对预设深度语言模型进行训练,得到训练后的语言模型,其中,预设深度语言模型以词为建模单元构建。通过采用上述技术方案,以词为建模单元构建预设深度语言模型,再利用经过分词处理后的语料进行训练,可以提升实体词识别的准确度。
[0106] 在一些实施例中,所述基于所述第二语料对预设深度语言模型进行训练,包括:
[0107] 采用N元文法N-Gram对所述第二语料进行至少一次切分操作,得到至少一份第三语料;
[0108] 对所述至少一份第三语料和所述第二语料进行混合处理,得到第四语料;
[0109] 基于所述第四语料对预设深度语言模型进行训练。
[0110] 在一些实施例中,所述采用N-Gram对所述第二语料进行至少一次切分操作,得到至少一份第三语料,包括:
[0111] 分别采用3-Gram和4-Gram对所述第二语料进行切分操作,得到两份第三语料。
[0112] 在一些实施例中,所述预设深度语言模型采用长短期记忆网络LSTM结构构建。
[0113] 图7为本发明实施例提供的一种语音识别系统的解码装置的结构框图,该装置可由软件和/或硬件实现,一般可集成在计算机设备中,可通过执行语音识别系统的解码方法来进行语音识别系统的解码。所述语音识别系统中的语言模型采用本发明实施例提供的语言模型训练方法训练得到,所述语音识别系统中的声学模型以字为建模单元构建。如图7所示,该装置包括:
[0114] 语音输入模块701,用于获取待识别语音,并将所述待识别语音输入至所述语音识别系统中;
[0115] 分数获取模块702,用于获取所述声学模型输出的以字为单位的第一分数,以及获取所述语言模型输出的以词为单位的第二分数;
[0116] 解码模块703,用于采用预设解码算法基于所述第一分数、所述第二分数以及预设有穷状态转换器FST网络进行解码,并根据解码结果确定所述待识别语音对应的识别结果,其中,所述预设FST网络以字为输入,以词为输出。
[0117] 本发明实施例提供的语言识别系统的解码装置,获取待识别语音,并将待识别语音输入至语音识别系统中,获取声学模型输出的以字为单位的第一分数,以及获取语言模型输出的以词为单位的第二分数,采用预设解码算法基于第一分数、第二分数以及预设FST网络进行解码,并根据解码结果确定待识别语音对应的识别结果,其中,预设FST网络以字为输入,以词为输出。本发明实施例通过采用上述技术方案,在语言模型以词为建模单元的前提下,基于FST网络进行解码,可实现快速准确地解码,提高实体词识别效果。
[0118] 在一些实施例中,所述预设FST网络通过以下方式得到:
[0119] 对于训练所述语言模型时所采用的预设词典中的每个词,对当前词按照字进行拆分,得到对应的字串,以所述字串为输入,以所述当前词为输出,构建对应的FST网络分支,其中,所述FST网络分支中包含字对应的声学节点和词对应的词尾节点;
[0120] 根据所述FST网络分支确定预设FST网络。
[0121] 在一些实施例中,所述预设解码算法为令牌传递算法。
[0122] 在一些实施例中,所述采用预设解码算法基于所述第一分数、所述第二分数以及预设FST网络进行解码,并根据解码结果确定所述待识别语音对应的识别结果,包括:
[0123] 采用令牌传递算法根据所述声学模型输出的字在预设FST网络中查找对应的候选路径;
[0124] 对于每个候选路径,在当前候选路径的令牌经过第一声学节点时,在所述当前候选路径对应的当前令牌分数基础上叠加所述第一声学节点对应的第一分数,在所述当前候选路径的令牌经过第一词尾节点时,在所述当前候选路径对应的当前令牌分数基础上叠加所述第一词尾节点对应的第二分数;
[0125] 根据各候选路径的当前令牌分数确定目标路径,并根据所述目标路径确定所述待识别语音对应的识别结果。
[0126] 在一些实施例中,所述预设FST网络中还包括根节点和循环节点;
[0127] 该装置还包括:
[0128] 路径保留模块,用于在所述根据各候选路径的当前令牌分数确定目标路径之前,在各候选路径的令牌到达所述循环节点时,保留当前令牌分数较高的预设数量的候选路径,得到历史路径,并将所述历史路径的令牌传递至所述根节点;
[0129] 循环模块,用于从所述根节点开始,重复根据所述声学模型输出的字在预设FST网络中查找对应的候选路径的相关操作,直到所述声学模型输出的最后一个字到达所述循环节点。
[0130] 在一些实施例中,所述在所述当前候选路径对应的当前令牌分数基础上叠加所述第一声学节点对应的第一分数,包括:
[0131] 计算所述第一声学节点对应的第一分数与第一预设超参数的第一乘积;
[0132] 将所述当前候选路径对应的当前令牌分数与所述第一乘积的和,作为新的当前令牌分数。
[0133] 在一些实施例中,所述在所述当前候选路径对应的当前令牌分数基础上叠加所述第一词尾节点对应的第二分数,包括:
[0134] 计算所述第一词尾节点对应的第二分数与第二预设超参数的第二乘积;
[0135] 将所述当前候选路径对应的当前令牌分数与所述第二乘积的和,作为新的当前令牌分数。
[0136] 在一些实施例中,所述以所述字串为输入,以所述当前词为输出,构建对应的FST网络分支,包括:
[0137] 若当前词为预设类型词,则在所述当前词对应的字串中去除后缀对应的字,得到更新后的字串,其中,所述预设类型词为存在唯一后缀的词;
[0138] 以所述更新后的字串为输入,以所述当前词和所述后缀为输出,构建对应的FST网络分支;
[0139] 相应的,所述装置还包括:
[0140] 路径去除模块,用于在检测到至少两条候选路径的令牌经过后缀相同的词尾节点时,根据所述至少两条候选路径对应的当前令牌分数去除满足预设条件的候选路径,得到更新后的候选路径。
[0141] 本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例提供的语言模型训练方法和/或语音识别系统的解码方法。
[0142] 存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
[0143] 本发明实施例提供了一种计算机设备,该计算机设备中可集成本发明实施例提供的语言模型训练装置和/或语音识别系统的解码装置。图8为本发明实施例提供的一种计算机设备的结构框图。计算机设备800包括存储器801、处理器802及存储在存储器801上并可在处理器802上运行的计算机程序,所述处理器802执行所述计算机程序时实现本发明实施例提供的语言模型训练方法和/或语音识别系统的解码方法。
[0144] 上述实施例中提供的语言模型训练装置、语音识别系统的解码装置、存储介质以及计算机设备可执行本发明任意实施例所提供的语言模型训练方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的语言模型训练方法。
[0145] 注意,上述仅为本发明的较佳实施例。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由权利要求范围决定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈