CN113343671B - 一种语音识别后的语句纠错方法、装置、设备及存储介质 - Google Patents

一种语音识别后的语句纠错方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113343671B
CN113343671B CN202110632498.3A CN202110632498A CN113343671B CN 113343671 B CN113343671 B CN 113343671B CN 202110632498 A CN202110632498 A CN 202110632498A CN 113343671 B CN113343671 B CN 113343671B
Authority
CN
China
Prior art keywords
candidate
words
corrected
character
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110632498.3A
Other languages
English (en)
Other versions
CN113343671A (zh
Inventor
杨东泉
秦伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Jiadu Technology Software Development Co ltd
PCI Technology Group Co Ltd
PCI Technology and Service Co Ltd
Original Assignee
Guangzhou Jiadu Technology Software Development Co ltd
PCI Technology Group Co Ltd
PCI Technology and Service Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Jiadu Technology Software Development Co ltd, PCI Technology Group Co Ltd, PCI Technology and Service Co Ltd filed Critical Guangzhou Jiadu Technology Software Development Co ltd
Priority to CN202110632498.3A priority Critical patent/CN113343671B/zh
Publication of CN113343671A publication Critical patent/CN113343671A/zh
Application granted granted Critical
Publication of CN113343671B publication Critical patent/CN113343671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

本申请实施例公开了一种语音识别后的语句纠错方法、装置、设备及存储介质。本申请实施例提供的技术方案通过语言模型识别出每个文字在待纠错文本中的第一出现概率,并根据第一出现概率确定在待纠错文本中的识别错误字,利用该语言模型确定模型候选字,并根据识别错误字的拼音和声调确定同音候选字,进一步确定模型候选字和同音候选字之间的第一排序和第二排序,根据第一排序和第二排序确定模型候选字和所述同音候选字之间的候选排序,根据该候选排序可确定纠错候选字,并利用纠错候选字替换待纠错文本中的识别错误字,得到纠正文本,通过非侵入式的方式直接对接并修改语音识别的结果,有效降低语音识别网络学习的训练成本。

Description

一种语音识别后的语句纠错方法、装置、设备及存储介质
技术领域
本申请实施例涉及自然语言技术领域,尤其涉及一种语音识别后的语句纠错方法、装置、设备及存储介质。
背景技术
语音识别技术一般会使用一个端到端的深度学习模型来实现,然而深度学习模型一旦识别出的文字出现错误将很难通过人工调整模型参数来改进效果。
目前通常的做法是将语音识别网络最后的解码成文字的功能层,替换为已经训练好的语言模型(Language Model,LM)来辅助解码,以提高文字解码效果。但是语音识别网络其他层的训练依赖该训练好的语言模型,如果替换语言模型则需要重新训练整个语音识别网络,这种侵入式的网络设计会大幅增加语音识别网络学习的训练成本。
发明内容
本申请实施例提供一种语音识别后的语句纠错方法、装置、设备及存储介质,以降低语音识别网络学习的训练成本。
在第一方面,本申请实施例提供了一种语音识别后的语句纠错方法,包括:
基于训练好的语言模型,确定待纠错文本中每个文字在所述待纠错文本中的第一出现概率,并根据所述第一出现概率在所述待纠错文本中确定识别错误字,所述待纠错文本基于语音识别得到;
基于所述语言模型,确定所述识别错误字对应的模型候选字,并根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字;
根据所述模型候选字和所述同音候选字在所述待纠错文本中的第二出现概率,确定所述模型候选字和所述同音候选字之间的第一排序,并根据所述模型候选字和所述同音候选字与所述识别错误字之间的文字距离,确定所述模型候选字和所述同音候选字之间的第二排序;
基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序,根据所述候选排序确定纠错候选字,并利用所述纠错候选字替换所述识别错误字,得到纠正文本。
进一步的,所述基于训练好的语言模型,确定待纠错文本中每个文字在所述待纠错文本中的第一出现概率,并根据所述第一出现概率在所述待纠错文本中确定识别错误字,包括:
将待纠错文本输入到训练好的BERT语言模型中,由所述BERT语言模型输出所述待纠错文本中每个文字在所述待纠错文本中的第一出现概率;
将所述待纠错文本中,第一出现概率低于设定的选择阈值的文字确定为识别错误字。
进一步的,所述方法还包括:
按照样本获取比例,从样本数据集中提取样本文本作为阈值计算样本,所述样本获取比例基于样本数据集中所有样本文本对应的平均字错误率确定;
利用BERT语言模型计算所述阈值计算样本中各个样本正确字和样本错误字的第三出现概率,并根据所述第三出现概率确定样本正确字和样本错误字在不同概率区间的分布,确定选择阈值。
进一步的,所述根据所述第三出现概率确定样本正确字和样本错误字在不同概率区间的分布,确定选择阈值,包括:
根据所述第三出现概率,确定所述阈值计算样本中各个样本正确字和样本错误字在不同概率区间的分布;
基于所述样本正确字和所述样本错误字的分布存在相交区间,将所述样本正确字和所述样本错误字的数量最少所对应的概率作为选择阈值;
基于所述样本正确字和所述样本错误字的分布不存在相交区间,将所述样本正确字对应的最大概率和所述样本错误字对应的最小概率的平均值作为选择阈值。
进一步的,所述基于所述语言模型,确定所述识别错误字对应的模型候选字,包括:
利用MASK标记替换所述待纠错文本中的识别错误字,得到掩膜文本;
基于BERT语言模型,确定所述掩膜文本在MASK标记的位置中,各个掩膜替换字的第四出现概率;
根据所述第四出现概率筛选所述掩膜替换字,并将筛选出的所述掩膜替换字作为模型候选字。
进一步的,所述同音候选字包括相同拼音的同音候选字以及易混淆拼音的同音候选字,所述根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字,包括:
确定所述识别错误字对应的原始拼音和原始声调,并根据所述原始拼音和所述原始声调获取同音候选字;
确定所述拼音对应的易混淆拼音,并根据所述易混淆拼音和所述原始声调获取同音候选字。
进一步的,所述根据所述模型候选字和所述同音候选字与所述识别错误字之间的文字距离,确定所述模型候选字和所述同音候选字之间的第二排序,包括:
将所述模型候选字与所述识别错误字的拼音之间的编辑距离,作为所述模型候选字与所述识别错误字之间的文字距离;
将设定距离作为所述同音候选字与所述识别错误字之间的文字距离;
根据所述文字距离,确定所述模型候选字和所述同音候选字之间的第二排序。
进一步的,所述基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序,包括:
基于所述第一排序和所述第二排序,计算所述模型候选字和所述同音候选字的综合排序分数;
按照所述综合排序分数确定所述模型候选字和所述同音候选字之间的候选排序。
进一步的,所述综合排序分数基于以下公式确定:
Figure BDA0003104197590000031
其中,c为候选字,len(c)为所述模型候选字和所述同音候选字的总数,sortP(c)为候选字c在第一排序中的次序,sortD(c)为候选字c在第二排序中的次序。
进一步的,所述方法还包括:
根据所述纠正文本中每个文字的第五出现概率,确定所述纠正文本的纠正句子概率,并根据所述待纠错文本中每个文字的第一出现概率,确定所述待纠错文本的待纠错句子概率;
若所述纠正句子概率小于等于所述待纠错句子概率,则重新根据所述候选排序确定下一个纠错候选字,并利用所述纠错候选字重新替换所述识别错误字,得到纠正文本。
进一步的,所述纠正句子概率基于以下公式确定:
P(R1,R2…Rn0=P(R1)×P(R2)…×P(Rn)
其中,Rn为纠正文本中的第n个文字,P(Rn)为第n个文字的第五出现概率;
所述待纠错句子概率基于以下公式确定:
P(S1,S2…Sn)=P(S1)×P(S2)…×P(Sn)
其中,Sn为待纠错文本中的第n个文字,P(Sn)为第n个文字的第一出现概率。
在第二方面,本申请实施例提供了一种语音识别后的语句纠错装置,包括错误识别模块、候选确定模块、排序确定模块和文字纠错模块,其中:
所述错误识别模块,用于基于训练好的语言模型,确定待纠错文本中每个文字在所述待纠错文本中的第一出现概率,并根据所述第一出现概率在所述待纠错文本中确定识别错误字,所述待纠错文本基于语音识别得到;
所述候选确定模块,用于基于所述语言模型,确定所述识别错误字对应的模型候选字,并根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字;
所述排序确定模块,用于根据所述模型候选字和所述同音候选字在所述待纠错文本中的第二出现概率,确定所述模型候选字和所述同音候选字之间的第一排序,并根据所述模型候选字和所述同音候选字与所述识别错误字之间的文字距离,确定所述模型候选字和所述同音候选字之间的第二排序;
所述文字纠错模块,用于基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序,根据所述候选排序确定纠错候选字,并利用所述纠错候选字替换所述识别错误字,得到纠正文本。
进一步的,所述错误识别模块具体用于:
将待纠错文本输入到训练好的BERT语言模型中,由所述BERT语言模型输出所述待纠错文本中每个文字在所述待纠错文本中的第一出现概率;
将所述待纠错文本中,第一出现概率低于设定的选择阈值的文字确定为识别错误字。
进一步的,所述装置还包括阈值选择模块,所述阈值选择模块用于:
按照样本获取比例,从样本数据集中提取样本文本作为阈值计算样本,所述样本获取比例基于样本数据集中所有样本文本对应的平均字错误率确定;
利用BERT语言模型计算所述阈值计算样本中各个样本正确字和样本错误字的第三出现概率,并根据所述第三出现概率确定样本正确字和样本错误字在不同概率区间的分布,确定选择阈值。
进一步的,所述阈值选择模块在根据所述第三出现概率确定样本正确字和样本错误字在不同概率区间的分布,确定选择阈值时,具体包括:
根据所述第三出现概率,确定所述阈值计算样本中各个样本正确字和样本错误字在不同概率区间的分布;
基于所述样本正确字和所述样本错误字的分布存在相交区间,将所述样本正确字和所述样本错误字的数量最少所对应的概率作为选择阈值;
基于所述样本正确字和所述样本错误字的分布不存在相交区间,将所述样本正确字对应的最大概率和所述样本错误字对应的最小概率的平均值作为选择阈值。
进一步的,所述候选确定模块在基于所述语言模型,确定所述识别错误字对应的模型候选字时,具体包括:
利用MASK标记替换所述待纠错文本中的识别错误字,得到掩膜文本;
基于BERT语言模型,确定所述掩膜文本在MASK标记的位置中,各个掩膜替换字的第四出现概率;
根据所述第四出现概率筛选所述掩膜替换字,并将筛选出的所述掩膜替换字作为模型候选字。
进一步的,所述同音候选字包括相同拼音的同音候选字以及易混淆拼音的同音候选字,所述候选确定模块在根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字时,具体包括:
确定所述识别错误字对应的原始拼音和原始声调,并根据所述原始拼音和所述原始声调获取同音候选字;
确定所述拼音对应的易混淆拼音,并根据所述易混淆拼音和所述原始声调获取同音候选字。
进一步的,所述排序确定模块在根据所述模型候选字和所述同音候选字与所述识别错误字之间的文字距离,确定所述模型候选字和所述同音候选字之间的第二排序时,具体包括:
将所述模型候选字与所述识别错误字的拼音之间的编辑距离,作为所述模型候选字与所述识别错误字之间的文字距离;
将设定距离作为所述同音候选字与所述识别错误字之间的文字距离;
根据所述文字距离,确定所述模型候选字和所述同音候选字之间的第二排序。
进一步的,所述排序确定模块在基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序时,具体包括:
基于所述第一排序和所述第二排序,计算所述模型候选字和所述同音候选字的综合排序分数;
按照所述综合排序分数确定所述模型候选字和所述同音候选字之间的候选排序。
进一步的,所述综合排序分数基于以下公式确定:
Figure BDA0003104197590000061
/>
其中,c为候选字,len(c)为所述模型候选字和所述同音候选字的总数,sortP(c)为候选字c在第一排序中的次序,sortD(c)为候选字c在第二排序中的次序。
进一步的,所述装置还包括纠错校验模块,所述纠错校验模块用于:
根据所述纠正文本中每个文字的第五出现概率,确定所述纠正文本的纠正句子概率,并根据所述待纠错文本中每个文字的第一出现概率,确定所述待纠错文本的待纠错句子概率;
若所述纠正句子概率小于等于所述待纠错句子概率,则重新根据所述候选排序确定下一个纠错候选字,并利用所述纠错候选字重新替换所述识别错误字,得到纠正文本。
进一步的,所述纠正句子概率基于以下公式确定:
P(R1,R2…Rn(=P(R1)×P(R2)…×P(Rn)
其中,Rn为纠正文本中的第n个文字,P(Rn)为第n个文字的第五出现概率;
所述待纠错句子概率基于以下公式确定:
P(S1,S2…Sn)=P(S1)×P(S2)…×P(Sn)
其中,Sn为待纠错文本中的第n个文字,P(Sn)为第n个文字的第一出现概率。
在第三方面,本申请实施例提供了一种语音识别后的语句纠错设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的语音识别后的语句纠错方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的语音识别后的语句纠错方法。
本申请实施例通过语言模型识别出每个文字在待纠错文本中的第一出现概率,并根据第一出现概率确定在待纠错文本中的识别错误字,利用该语言模型确定识别错误字对应的模型候选字,并根据识别错误字的拼音和声调确定同音候选字,进一步确定模型候选字和同音候选字之间的第一排序和第二排序,根据第一排序和第二排序确定模型候选字和所述同音候选字之间的候选排序,根据该候选排序可确定纠错候选字,并利用纠错候选字替换待纠错文本中的识别错误字,得到纠正文本,实现对语音识别后的语句纠错,本方案通过非侵入式的方式直接对接并修改语音识别的结果,有效降低语音识别网络学习的训练成本。
附图说明
图1是本申请实施例提供的一种语音识别后的语句纠错方法的流程图;
图2是本申请实施例提供的另一种语音识别后的语句纠错方法的流程图;
图3是本申请实施例提供的一种BERT语言模型基于不包含错误字的文本的输出示意图;
图4是本申请实施例提供的一种BERT语言模型基于包含错误字的文本的输出示意图;
图5是本申请实施例提供的一种第三出现概率在各个概率区间中的分布示意图;
图6是本申请实施例提供的一种BERT语言模型基于掩膜文本的输出示意图;
图7是本申请实施例提供的一种语音识别后的语句纠错装置的结构示意图;
图8是本申请实施例提供的一种语音识别后的语句纠错设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1给出了本申请实施例提供的一种语音识别后的语句纠错方法的流程图,本申请实施例提供的语音识别后的语句纠错方法可以由语音识别后的语句纠错装置来执行,该语音识别后的语句纠错装置可以通过硬件和/或软件的方式实现,并集成在语音识别后的语句纠错设备中。
下述以语音识别后的语句纠错装置执行语音识别后的语句纠错方法为例进行描述。参考图1,该语音识别后的语句纠错方法包括:
S101:基于训练好的语言模型,确定待纠错文本中每个文字在所述待纠错文本中的第一出现概率,并根据所述第一出现概率在所述待纠错文本中确定识别错误字,所述待纠错文本基于语音识别得到。
本实施例提供的待纠错文本通过对待识别语音进行语音识别得到,其中待识别语音可通过麦克风进行语音采集得到,还可以是根据用户对语音文件的选择得到,本申请不做限定。在待纠错文本中记录有对应待识别语音的文字,例如用户说出“我爱你”三个字,经语音识别处理后输出包含有“我爱你”这三个文字的待纠错文本,若语音识别处理出现错误,例如记录成“我爱泥”,其中“泥”被错误地记录在了“你”的位置,“泥”即成为了待纠错文本中的错误字。
本实施例提供的语言模型用于对输入的文字文本进行分析处理,并输出文字文本中每一个文字在该文字文本中出现的概率,以及该位置中其他文字在文字文本中出现的概率。
示例性的,获取基于语音识别得到的待纠错文本,将待纠错文本输入到训练好的语言模型中,由该语言模型对待纠错文本进行分析处理,并输出待纠错文本中每个文字在该待纠错文本中的第一出现概率。
进一步的,将每个文字对应的第一出现概率和设定的选择阈值进行比较,若第一出现概率达到选择阈值,则认为该文字在待纠错文本中是正确字,若第一出现概率小于选择阈值,则认为该文字在待纠错文本中是错误字,并将该文字确定为识别错误字。
可以理解的是,若待纠错文本中所有文字的第一出现概率均大于等于选择阈值,即待纠错文本中的文字都是正确字,则直接输出待纠错文本作为最终的语音识别结果,不需要对待纠错文本进行识别错误字的替换纠错。
S102:基于所述语言模型,确定所述识别错误字对应的模型候选字,并根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字。
其中,模型候选字可理解为基于语言模型进行确定的候选字,同音候选字可理解为基于拼音和声调进行确定的候选字,候选字用于对待纠错文本中的识别错误字进行替换,以对语音识别的结果进行纠错。
示例性的,在确定待纠错文本中的识别错误字后,进一步根据语言模型确定在待纠错文本的识别错误字对应的位置中,其他文字的出现概率,并选择出现概率最高的文字确定为识别错误字对应的模型候选字。
进一步的,确定识别错误字对应的拼音和声调,并获取相同拼音和相同声调的同声字,并将这些同声字确定为识别错误字对应的同音候选字。可选的,同音候选字的选择还可以基于易混淆拼音和相同声调进行,即确定容易与原始拼音混淆的易混淆拼音,并根据易混淆拼音和原始声调确定同音候选字。
S103:根据所述模型候选字和所述同音候选字在所述待纠错文本中的第二出现概率,确定所述模型候选字和所述同音候选字之间的第一排序,并根据所述模型候选字和所述同音候选字与所述识别错误字之间的文字距离,确定所述模型候选字和所述同音候选字之间的第二排序。
在确定模型候选字和同音候选字后,需要对模型候选字和同音候选字进行排序,以确定用于对识别错误字进行替换的纠错候选字。示例性的,根据模型候选字和同音候选字在待纠错文本中的第二出现概率,按照第二出现概率从大到小的顺序对模型候选字和同音候选字进行排序,以确定模型候选字和同音候选字之间的第一排序。
其中,模型候选字的第二出现概率可基于步骤S102中,在确定模型候选字的过程中,语言模型输出的模型候选字的出现概率进行确定;还可将模型候选字替换待纠错文本中的识别错误字,并将包含模型候选字的待纠错文本输入到语言模型中,由语言模型输出该模型候选字对应的第二出现概率。
同音候选字的第二出现概率基于语言模型得到,具体的,将同音候选字替换待纠错文本中的识别错误字,并将包含同音候选字的待纠错文本输入到语言模型中,由语言模型输出该同音候选字对应的第二出现概率。
进一步的,分别确定模型候选字与识别错误字之间的文字距离,以及同音候选字与识别错误字之间的文字距离,并按照文字距离从小到大的顺序为模型候选字和同音候选字进行排序,以确定模型候选字和同音候选字之间的第二排序。
S104:基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序,根据所述候选排序确定纠错候选字,并利用所述纠错候选字替换所述识别错误字,得到纠正文本。
示例性的,根据第一排序和第二排序,重新对模型候选字和同音候选字进行排序,得到模型候选字和同音候选字之间的候选排序。可选的,可对第一排序和第二排序设置对应的排序权重,根据排序权重重新计算每个模型候选字和同音候选字的排序得分,并根据排序得分对模型候选字和同音候选字进行排序得到候选排序(例如排序得分=第一排序对应的排序权重/第一排序+第二排序对应的排序权重/第二排序,可知第一排序、第二排序越靠前,对应的排序得分越高,候选排序越靠前)。另外,还可根据模型候选字和同音候选字的候选字总数,以及第一排序和第二排序计算综合得分(例如综合得分=候选字总数/第一排序+候选字总数/第二排序)。
进一步的,按照候选排序,在模型候选字和同音候选字中选择候选排序最前(即对应的排序得分最高)的候选字作为纠错候选,并将纠错候选字替换掉待纠错文本中对应的识别错误字,得到纠正文本。
上述,通过语言模型识别出每个文字在待纠错文本中的第一出现概率,并根据第一出现概率确定在待纠错文本中的识别错误字,利用该语言模型确定识别错误字对应的模型候选字,并根据识别错误字的拼音和声调确定同音候选字,进一步确定模型候选字和同音候选字之间的第一排序和第二排序,根据第一排序和第二排序确定模型候选字和所述同音候选字之间的候选排序,根据该候选排序可确定纠错候选字,并利用纠错候选字替换待纠错文本中的识别错误字,得到纠正文本,实现对语音识别后的语句纠错,本方案通过非侵入式的方式直接对接并修改语音识别的结果,有效降低语音识别网络学习的训练成本。
在上述实施例的基础上,图2给出了本申请实施例提供的另一种语音识别后的语句纠错方法的流程图,该语音识别后的语句纠错方法是对上述语音识别后的语句纠错方法的具体化。参考图2,该语音识别后的语句纠错方法包括:
S201:将待纠错文本输入到训练好的BERT语言模型中,由所述BERT语言模型输出所述待纠错文本中每个文字在所述待纠错文本中的第一出现概率。
其中,本实施例提供的待纠错文本基于语音识别得到。本实施例以BERT语言模型作为选定的语言模型,BERT语言模型是使用大量中文文本语料训练出的语言模型,输入文本后会返回文本中每个字在当前文本中的出现概率以及其他文字在当前文本中的出现概率,在实际数据的表现上BERT语言模型能够给没有错误字的文本中每个字较高的概率值,当文本中存在错误字时,错误字所在位置的出现概率往往会比较低。
图3是本申请实施例提供的一种BERT语言模型基于不包含错误字的文本的输出示意图,图4是本申请实施例提供的一种BERT语言模型基于包含错误字的文本的输出示意图。如图3所示,假设向BERT语言模型输入不包含错误字的文本“我爱你”,那么BERT语言模型输出的每个文字的第一出现概率都较高,均为0.99。如图4所示,向BERT语言模型输入包含错误字的文本“我爱泥”时,“泥”字对应的第一出现概率较低,为0.05。
具体的,将待纠错文本输入到BERT语言模型中,由BERT语言模型对待纠错文本进行分析处理,并输出待纠错文本中每个文字在待纠错文本中的第一出现概率。
S202:将所述待纠错文本中,第一出现概率低于设定的选择阈值的文字确定为识别错误字。
具体的,将待纠错文本中每一个文字的第一出现概率和设定的选择阈值进行比较,若第一出现概率小于选择阈值,则确定该文字为识别错误字。本实施例提供的选择阈值可根据需要进行设定。
在一个可能的实施例中,本申请实施例提供的选择阈值的确定步骤包括S2021-S2022:
S2021:按照样本获取比例,从样本数据集中提取样本文本作为阈值计算样本,所述样本获取比例基于样本数据集中所有样本文本对应的平均字错误率确定。
其中,样本获取比例可理解为从样本数据集中,获取包含错误字的样本文本和不包含错误字的样本文本的比例。样本数据集保存有多个样本文本,部分样本文本记录有多个样本文字,并且部分样本文本中存在错误的样本文字,另外部分样本文本中的样本文字均为正确字,并且样本文本中标记有哪些样本文字是正确字,哪些样本文字是错误字。
其中平均字错误率可理解为所有样本文本中,包含错误字的样本文本在所有样本文本所占的比例。具体的,根据样本数据集中所有样本文本对应的平均字错误率确定对样本文本的获取比例,并且获取比例与平均字错误率指示的含错误字的样本文本和不包含错误字的样本文本的比例相反,以实现两种类型的样本文本的数据平衡。例如样本文本对应的平均字错误率为0.3,此时包含错误字的样本文本和不包含错误字的样本文本的比例为3:7,则确定对样本文本的获取比例为7:3。
进一步的,按照获取比例从样本数据集中获取样本文本,并将这些样本文本作为阈值计算样本。例如样本数据集中有5000个样本文本,要求从样本数据集中获取2000个样本文本,假设此时样本数据集中所有样本文本对应的平均字错误率为0.3,那么此时样本获取比例为7:3,则从样本数据集中获取2000个样本文本时,将包含错误字的样本文本和不包含错误字的样本文本的比例控制在7:3,即获取1400个包含错误字的样本文本以及600个不包含错误字的样本文本作为阈值计算样本。此时,阈值计算样本中的正确字记为样本正确字,错误字记为样本错误字。
S2022:利用BERT语言模型计算所述阈值计算样本中各个样本正确字和样本错误字的第三出现概率,并根据所述第三出现概率确定样本正确字和样本错误字在不同概率区间的分布,确定选择阈值。
具体的,将阈值计算样本输入到BERT语言模型中,由BERT语言模型对阈值计算样本进行分析处理,并得到阈值计算样本中各个样本正确字和样本错误字的第三出现概率。进一步的,根据第三出现概率确定样本正确字和样本错误字在不同概率区间的分布,确定选择阈值。
进一步的,根据第三出现概率确定样本正确字和样本错误字在不同概率区间的分布,确定选择阈值包括步骤S20221-S20223:
S20221:根据所述第三出现概率,确定所述阈值计算样本中各个样本正确字和样本错误字在不同概率区间的分布。
具体的,划分多个概率区间,并确定各个样本正确字和样本错误字的第三出现概率在各个概率区间中的分布。图5为本申请实施例提供的一种第三出现概率在各个概率区间中的分布示意图,其中横轴表示概率区间,每个概率区间的宽度为0.01,纵轴表示落在对应概率区间的文字的个数。如图5所示,假设将概率0-1划分为100个概率区间,其中区域A指示样本错误字在各个概率区间中的分布,区域B指示样本正确字在各个概率区间中的分布。图5中样本错误字和样本正确字在各个概率区间中的分布存在相交区间。
进一步的,判断样本正确字和样本错误字的分布是否存在相交区间,若是则跳转至步骤S20222,否则跳转至步骤S20223。
S20222:基于所述样本正确字和所述样本错误字的分布存在相交区间,将所述样本正确字和所述样本错误字的数量最少所对应的概率作为选择阈值。
具体的,若样本正确字和样本错误字的分布存在相交区间,则确定以当前设定的阈值划分阈值计算样本,将错误字判断成正确字的第一样本数量,以及以当前设定的阈值划分阈值计算样本,将正确字判断成错误字的第二样本数量,并确定使得第一样本数量第二样本数量的和为最小的概率,并将该概率作为选择阈值。
S20223:基于所述样本正确字和所述样本错误字的分布不存在相交区间,将所述样本正确字对应的最大概率和所述样本错误字对应的最小概率的平均值作为选择阈值。
若样本正确字和样本错误字的分布不存在相交区间,则将样本正确字对应的最大概率和样本错误字对应的最小概率的平均值作为选择阈值。
基于此,选择阈值可基于以下公式进行确定:
Figure BDA0003104197590000141
其中,A为样本正确字,B为样本错误字,err(A)为将错误字判断成正确字的第一样本数量,err(B)为将正确字判断成错误字的第二样本数量,argmin(err(A)+err(B))为使得第一样本数量第二样本数量的和为最小的概率,MAXPROB(A)为样本正确字对应的最大概率,MINPROB(B)为样本错误字对应的最小概率。
S203:基于所述语言模型,确定所述识别错误字对应的模型候选字。
本实施例中利用BERT语言模型确定识别错误字对应的模型候选字。基于此,本实施例基于所述语言模型,确定所述识别错误字对应的模型候选字包括步骤S2031-S2033:
S2031:利用MASK标记替换所述待纠错文本中的识别错误字,得到掩膜文本。
S2032:基于BERT语言模型,确定所述掩膜文本在MASK标记的位置中,各个掩膜替换字的第四出现概率。
S2033:根据所述第四出现概率筛选所述掩膜替换字,并将筛选出的所述掩膜替换字作为模型候选字。
具体的,利用MASK标记(MASK)替换待纠错文本中的识别错别字,得到记录有正确字和MASK标记的掩膜文本。进一步的,将掩膜文本输入到BERT语言模型中,由BERT语言模型对掩膜文本进行分析处理,并输出在掩膜文本中,各个文字在MASK标记的位置的出现概率,即掩膜替换字在MASK标记位置的第四出现概率。
根据第四出现概率筛选掩膜替换字,并将筛选出的掩膜替换字作为模型候选字。例如筛选第四出现概率大于设定概率阈值(例如0.1),并且按照第四出现概率从大到小排序,排序在设定范围内的掩膜替换字(例如排序在前五的掩膜替换字),可以理解的是,这种筛选方式最多可筛选出五个掩膜替换字作为模型候选字。
图6是本申请实施例提供的一种BERT语言模型基于掩膜文本的输出示意图,假设待纠错文本“我爱泥”中有识别错误字“泥”,则利用MASK标记(MASK)替换错误字“泥”,得到掩膜文本“我爱MASK”,将掩膜文本输入BERT语言模型,BERT语言模型输出在MASK标记的位置中,其他掩膜替换字的第四出现概率。由图6可知,掩膜替换字有“你”、“他”、“飞”、“猫”以及“其他字”,对应的第四出现概率分别为0.5、0.2、0.1、0.05和0.05,其中,其他字为“你”、“他”、“飞”、“猫”之外的掩膜替换字的集合,由于这些掩膜替换字对应的第四出现概率较低,对其进行集合处理。假设筛选第四出现概率大于0.1,并且按照第四出现概率从大到小排序,排序在前五的掩膜替换字,那么筛选出的掩膜替换字为“你”和“他”,并将这两个掩膜替换字确定为模型候选字。
S204:根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字。
本实施例提供的同音候选字包括相同拼音的同音候选字以及易混淆拼音的同音候选字,基于此,本实施例同音候选字的确定步骤包括步骤S2041-S2042:
S2041:确定所述识别错误字对应的原始拼音和原始声调,并根据所述原始拼音和所述原始声调获取同音候选字。
具体的,对于相同拼音的同音候选字,确定识别错误字的原始拼音和原始声调,并根据原始拼音和原始声调,在字典中查找并获取拼音和声调与原始拼音和原始声调相同的同音候选字。
S2042:确定所述拼音对应的易混淆拼音,并根据所述易混淆拼音和所述原始声调获取同音候选字。
具体的,对于易混淆拼音的同音候选字,确定识别错误字的原始拼音和原始声调,并确定与原始拼音对应的易混淆拼音,并根据易混淆拼音和原始声调,在字典中查找并获取拼音和声调与易混淆拼音和原始声调相同的同音候选字。
例如识别错误字“炸”的原始拼音为“zha”,原始声调为第四声,则在字典中查找拼音为“zha”且声调为第四声的文字,并作为相同拼音的同音候选字。由于“zh”和“z”容易混淆,将易混淆拼音确定为“za”,则在字典中查找拼音为“za”且声调为第四声的文字,并作为易混淆拼音的同音候选字。
其中易混淆拼音可以是根据对应的容易混淆的声母或韵母,对原始拼音中对应的声母或韵母进行替换得到。可选的,容易混淆的声母或韵母可通过混淆读音表进行确定。示例性的,混淆读音表可以如下表所示:
Figure BDA0003104197590000151
Figure BDA0003104197590000161
可选的,在使用混淆读音表时可根据语音识别任务的输入语音的特点来确定哪些读音是容易混淆的,比如识别针对不同地区的发音特点在混淆读音表中添加对应易混淆声母或韵母,例如易混淆的声母f(福)和h(胡),可根据不同地区的发音特点采用不同的混淆读音表,在此不做限制。
S205:根据所述模型候选字和所述同音候选字在所述待纠错文本中的第二出现概率,确定所述模型候选字和所述同音候选字之间的第一排序。
具体的,对于每一个同音候选字,将同音候选字替换掉待纠错文本,并将包含同音候选字的待纠错文本输入到BERT语言模型中,由BERT语言模型输出同音候选字在待纠错文本中的第二出现概率。对于每一个模型候选字,其在待纠错文本中的第二出现概率可基于确定模型候选字的过程中,语言模型输出的模型候选字的出现概率进行确定;还可将模型候选字替换待纠错文本中的识别错误字,并将包含模型候选字的待纠错文本输入到BERT语言模型中,由BERT语言模型输出该模型候选字对应的第二出现概率。
在确定所有模型候选字和同音候选字的第二出现概率后,按照第二出现概率从大到小的顺序对模型候选字和同音候选字进行排序,得到模型候选字和同音候选字之间的第一排序。
S206:根据所述模型候选字和所述同音候选字与所述识别错误字之间的文字距离,确定所述模型候选字和所述同音候选字之间的第二排序。
本实施例根据文字距离确定第二排序包括步骤S2061-S2063:
S2061:将所述模型候选字与所述识别错误字的拼音之间的编辑距离,作为所述模型候选字与所述识别错误字之间的文字距离。
S2062:将设定距离作为所述同音候选字与所述识别错误字之间的文字距离。
S2063:根据所述文字距离,确定所述模型候选字和所述同音候选字之间的第二排序。
具体的,对于模型候选字,确定每个模型候选字的模型候选拼音以及识别错误字的原始拼音,计算模型候选拼音以及原始拼音之间的编辑距离,并将编辑距离作为模型候选字与识别错误字之间的文字距离。
其中,编辑距离(Minimum Edit Distance,MED,又称Levenshtein距离)是指两个字符串之间,由一个转成另一个所需要的最少编辑操作次数。
进一步的,对于同音候选字,由于同音候选字是基于识别错误字的原始拼音或对应的易混淆拼音获得的,拼音之间的编辑距离较小,可直接将设定距离作为同音候选字与识别错误字之间的文字距离。其中,设定距离可理解为预先设定的文字之间的编辑距离,由于同音候选字是基于识别错误字的原始拼音或对应的易混淆拼音获得的,同音候选字与识别错误字之间的编辑距离较小,编辑距离的变化较小,可直接利用设定距离进行表示,不再计算同音候选字与识别错误字之间的编辑距离,本实施例以设定距离设置为0为例进行描述。
在一个可能的实施例中,候选字和错误字之间的文字距离基于以下公式确定:
Figure BDA0003104197590000171
其中,e为识别错误字,ei为识别错误字的原始拼音,c为候选字(包括同音候选字和模型候选字),ci为候选字的拼音,Levenshtein(ei,ci)为原始拼音ei和模型候选字c的模型候选字拼音ci之间的编辑距离。可以理解的是,在ci为同音候选字的拼音时,其为识别错误字对应的原始拼音或易混淆拼音,本实施例将同音候选字与识别错误字之间的文字距离distance(e,c)确定为设定距离0;在ci为模型候选字的拼音时,计算模型候选字c的模型候选字拼音ci与识别错误字e的原始拼音ei之间的编辑距离Levenshtein(ei,ci),并将编辑距离Levenshtein(ei,ci)确定为模型候选字与识别错误字之间的文字距离distance(e,c)。
进一步的,根据模型候选字和同音候选字与识别错误字之间的文字距离从小到大,对模型候选字和同音候选字进行排序,得到模型候选字和同音候选字之间的第二排序。
S207:基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序,根据所述候选排序确定纠错候选字,并利用所述纠错候选字替换所述识别错误字,得到纠正文本。
本实施例基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序,包括步骤S2071-S2072:
S2071:基于所述第一排序和所述第二排序,计算所述模型候选字和所述同音候选字的综合排序分数。
具体的,本实施例提供的综合排序分数基于以下公式确定:
Figure BDA0003104197590000181
其中,c为候选字(包括同音候选字和模型候选字),len(c)为模型候选字和同音候选字的总数,sortP(c)为候选字c在第一排序中的次序,sortD(c)为候选字c在第二排序中的次序。
S2072:按照所述综合排序分数确定所述模型候选字和所述同音候选字之间的候选排序。
在计算得到每个模型候选字和同音候选字的综合排序分数后,根据综合排序分数对模型候选字和同音候选字进行排序,得到模型候选字和同音候选字之间的候选排序。
进一步的,确定候选排序最前的候选字(模型候选字或同音候选字),并将该候选字确定为纠错候选字。利用该纠错候选字替换待纠错文本中的识别错误字,以得到包含纠错候选字的纠正文本。
在一个可能的实施例中,在得到纠正文本后,还可将纠正文本和待纠错文本进行纠错后的校验。基于此,在利用所述纠错候选字替换所述识别错误字,得到纠正文本之后,还包括步骤S208-S209:
S208:根据所述纠正文本中每个文字的第五出现概率,确定所述纠正文本的纠正句子概率,并根据所述待纠错文本中每个文字的第一出现概率,确定所述待纠错文本的待纠错句子概率。
具体的,将纠正文本输入BERT语言模型中,由BERT语言模型对纠正文本进行分析处理,并输出纠正文本中每个文字的第五出现概率。根据纠正文本中每个文字的第五出现概率,确定纠正文本的纠正句子概率。
本实施例提供的纠正句子概率基于以下公式确定:
P(R1,R2…Rn)=P(R1)×P(R2)…×P(Rn)
其中,Rn为纠正文本中的第n个文字,P(Rn)为第n个文字的第五出现概率。
进一步的,基于步骤S201中确定的待纠错文本中每个文字的第一出现概率,计算待纠错文本的待纠错句子概率。
本实施例提供的待纠错句子概率基于以下公式确定:
P(S1,S2…Sn)=P(S1)×P(S2)…×P(Sn)
其中,Sn为待纠错文本中的第n个文字,P(Sn)为第n个文字的第一出现概率。
S209:若所述纠正句子概率小于等于所述待纠错句子概率,则重新根据所述候选排序确定下一个纠错候选字,并利用所述纠错候选字重新替换所述识别错误字,得到纠正文本。
具体的,将纠正句子概率和待纠错句子概率进行比较,若纠正句子概率大于待纠错句子概率,则输出纠正文本作为语言识别最终的识别结果。若纠正句子概率小于等于待纠错句子概率,则返回至步骤S207,重新根据所述候选排序确定下一个纠错候选字,并利用所述纠错候选字重新替换所述识别错误字得到纠正文本。若将最后一个纠错候选字替换到待纠错文本中后,纠正句子概率仍小于等于待纠错句子概率,则直接输出原先的待纠错文本作为语言识别最终的识别结果。
本实施例采用以流水线的方式和语音识别结果对接,直接修改语音识别结果,有可能存在语音识别正确率为0.9,纠错正确率为0.9,累乘后文本正确率为0.81的错误累乘的情况,本方案通过对纠正文本进行纠错校验,有效减少出现错误累乘的情况。
上述,通过语言模型识别出每个文字在待纠错文本中的第一出现概率,并根据第一出现概率确定在待纠错文本中的识别错误字,利用该语言模型确定识别错误字对应的模型候选字,并根据识别错误字的拼音和声调确定同音候选字,进一步确定模型候选字和同音候选字之间的第一排序和第二排序,根据第一排序和第二排序确定模型候选字和所述同音候选字之间的候选排序,根据该候选排序可确定纠错候选字,并利用纠错候选字替换待纠错文本中的识别错误字,得到纠正文本,实现对语音识别后的语句纠错,本方案通过非侵入式的方式直接对接并修改语音识别的结果,有效降低语音识别网络学习的训练成本。并在得到纠正文本后,对纠正文本进行纠错校验,有效减少出现错误累乘的情况。同时,可以灵活的根据应用领域选择语音识别模型,而无需重新训练,还可根据使用的区域人的发音特点指定混淆发音表,提高区域适应性,不但考虑到中文文本出现顺序的规律,而且考虑了中文字发音的混淆问题,提高语句纠错效果。
图7给出了本申请实施例提供的一种语音识别后的语句纠错装置的结构示意图。参考图7,该语音识别后的语句纠错装置包括错误识别模块31、候选确定模块32、排序确定模块33和文字纠错模块34。
其中,所述错误识别模块31,用于基于训练好的语言模型,确定待纠错文本中每个文字在所述待纠错文本中的第一出现概率,并根据所述第一出现概率在所述待纠错文本中确定识别错误字,所述待纠错文本基于语音识别得到;所述候选确定模块32,用于基于所述语言模型,确定所述识别错误字对应的模型候选字,并根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字;所述排序确定模块33,用于根据所述模型候选字和所述同音候选字在所述待纠错文本中的第二出现概率,确定所述模型候选字和所述同音候选字之间的第一排序,并根据所述模型候选字和所述同音候选字与所述识别错误字之间的文字距离,确定所述模型候选字和所述同音候选字之间的第二排序;所述文字纠错模块34,用于基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序,根据所述候选排序确定纠错候选字,并利用所述纠错候选字替换所述识别错误字,得到纠正文本。
上述,通过语言模型识别出每个文字在待纠错文本中的第一出现概率,并根据第一出现概率确定在待纠错文本中的识别错误字,利用该语言模型确定识别错误字对应的模型候选字,并根据识别错误字的拼音和声调确定同音候选字,进一步确定模型候选字和同音候选字之间的第一排序和第二排序,根据第一排序和第二排序确定模型候选字和所述同音候选字之间的候选排序,根据该候选排序可确定纠错候选字,并利用纠错候选字替换待纠错文本中的识别错误字,得到纠正文本,实现对语音识别后的语句纠错,本方案通过非侵入式的方式直接对接并修改语音识别的结果,有效降低语音识别网络学习的训练成本。
在一个可能的实施例中,所述错误识别模块31具体用于:
将待纠错文本输入到训练好的BERT语言模型中,由所述BERT语言模型输出所述待纠错文本中每个文字在所述待纠错文本中的第一出现概率;
将所述待纠错文本中,第一出现概率低于设定的选择阈值的文字确定为识别错误字。
在一个可能的实施例中,所述装置还包括阈值选择模块,所述阈值选择模块用于:
按照样本获取比例,从样本数据集中提取样本文本作为阈值计算样本,所述样本获取比例基于样本数据集中所有样本文本对应的平均字错误率确定;
利用BERT语言模型计算所述阈值计算样本中各个样本正确字和样本错误字的第三出现概率,并根据所述第三出现概率确定样本正确字和样本错误字在不同概率区间的分布,确定选择阈值。
在一个可能的实施例中,所述阈值选择模块在根据所述第三出现概率确定样本正确字和样本错误字在不同概率区间的分布,确定选择阈值时,具体包括:
根据所述第三出现概率,确定所述阈值计算样本中各个样本正确字和样本错误字在不同概率区间的分布;
基于所述样本正确字和所述样本错误字的分布存在相交区间,将所述样本正确字和所述样本错误字的数量最少所对应的概率作为选择阈值;
基于所述样本正确字和所述样本错误字的分布不存在相交区间,将所述样本正确字对应的最大概率和所述样本错误字对应的最小概率的平均值作为选择阈值。
在一个可能的实施例中,所述候选确定模块32在基于所述语言模型,确定所述识别错误字对应的模型候选字时,具体包括:
利用MASK标记替换所述待纠错文本中的识别错误字,得到掩膜文本;
基于BERT语言模型,确定所述掩膜文本在MASK标记的位置中,各个掩膜替换字的第四出现概率;
根据所述第四出现概率筛选所述掩膜替换字,并将筛选出的所述掩膜替换字作为模型候选字。
在一个可能的实施例中,所述同音候选字包括相同拼音的同音候选字以及易混淆拼音的同音候选字,所述候选确定模块32在根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字时,具体包括:
确定所述识别错误字对应的原始拼音和原始声调,并根据所述原始拼音和所述原始声调获取同音候选字;
确定所述拼音对应的易混淆拼音,并根据所述易混淆拼音和所述原始声调获取同音候选字。
在一个可能的实施例中,所述排序确定模块33在根据所述模型候选字和所述同音候选字与所述识别错误字之间的文字距离,确定所述模型候选字和所述同音候选字之间的第二排序时,具体包括:
将所述模型候选字与所述识别错误字的拼音之间的编辑距离,作为所述模型候选字与所述识别错误字之间的文字距离;
将设定距离作为所述同音候选字与所述识别错误字之间的文字距离;
根据所述文字距离,确定所述模型候选字和所述同音候选字之间的第二排序。
在一个可能的实施例中,所述排序确定模块33在基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序时,具体包括:
基于所述第一排序和所述第二排序,计算所述模型候选字和所述同音候选字的综合排序分数;
按照所述综合排序分数确定所述模型候选字和所述同音候选字之间的候选排序。
在一个可能的实施例中,所述综合排序分数基于以下公式确定:
Figure BDA0003104197590000221
其中,c为候选字,len(c)为所述模型候选字和所述同音候选字的总数,sortP(c)为候选字c在第一排序中的次序,sortD(c)为候选字c在第二排序中的次序。
在一个可能的实施例中,所述装置还包括纠错校验模块,所述纠错校验模块用于:
根据所述纠正文本中每个文字的第五出现概率,确定所述纠正文本的纠正句子概率,并根据所述待纠错文本中每个文字的第一出现概率,确定所述待纠错文本的待纠错句子概率;
若所述纠正句子概率小于等于所述待纠错句子概率,则重新根据所述候选排序确定下一个纠错候选字,并利用所述纠错候选字重新替换所述识别错误字,得到纠正文本。
在一个可能的实施例中,所述纠正句子概率基于以下公式确定:
P(R1,R2…Rn)=P(R1)×P(R2)…×P(Rn)
其中,Rn为纠正文本中的第n个文字,P(Rn)为第n个文字的第五出现概率;
所述待纠错句子概率基于以下公式确定:
P(S1,S2…Sn)=P(S1)×P(S2)…×P(Sn)
其中,Sn为待纠错文本中的第n个文字,P(Sn)为第n个文字的第一出现概率。
本申请实施例还提供了一种语音识别后的语句纠错设备,该语音识别后的语句纠错设备可集成本申请实施例提供的语音识别后的语句纠错装置。图8是本申请实施例提供的一种语音识别后的语句纠错设备的结构示意图。参考图8,该语音识别后的语句纠错设备包括:输入装置43、输出装置44、存储器42以及一个或多个处理器41;所述存储器42,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器41执行,使得所述一个或多个处理器41实现如上述实施例提供的语音识别后的语句纠错方法。其中输入装置43、输出装置44、存储器42和处理器41可以通过总线或者其他方式连接,图8中以通过总线连接为例。
存储器42作为一种计算设备可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的语音识别后的语句纠错方法对应的程序指令/模块(例如,语音识别后的语句纠错装置中的错误识别模块31、候选确定模块32、排序确定模块33和文字纠错模块34)。存储器42可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置43可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置44可包括显示屏等显示设备。
处理器41通过运行存储在存储器42中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的语音识别后的语句纠错方法。
上述提供的语音识别后的语句纠错装置、设备和计算机可用于执行上述任意实施例提供的语音识别后的语句纠错方法,具备相应的功能和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的语音识别后的语句纠错方法,该语音识别后的语句纠错方法包括:基于训练好的语言模型,确定待纠错文本中每个文字在所述待纠错文本中的第一出现概率,并根据所述第一出现概率在所述待纠错文本中确定识别错误字,所述待纠错文本基于语音识别得到;基于所述语言模型,确定所述识别错误字对应的模型候选字,并根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字;根据所述模型候选字和所述同音候选字在所述待纠错文本中的第二出现概率,确定所述模型候选字和所述同音候选字之间的第一排序,并根据所述模型候选字和所述同音候选字与所述识别错误字之间的文字距离,确定所述模型候选字和所述同音候选字之间的第二排序;基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序,根据所述候选排序确定纠错候选字,并利用所述纠错候选字替换所述识别错误字,得到纠正文本。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的语音识别后的语句纠错方法,还可以执行本申请任意实施例所提供的语音识别后的语句纠错方法中的相关操作。
上述实施例中提供的语音识别后的语句纠错装置、设备及存储介质可执行本申请任意实施例所提供的语音识别后的语句纠错方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的语音识别后的语句纠错方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。

Claims (13)

1.一种语音识别后的语句纠错方法,其特征在于,包括:
基于训练好的语言模型,确定待纠错文本中每个文字在所述待纠错文本中的第一出现概率,并根据所述第一出现概率在所述待纠错文本中确定识别错误字,所述待纠错文本基于语音识别得到;
基于所述语言模型,确定所述识别错误字对应的模型候选字,并根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字;
根据所述模型候选字和所述同音候选字在所述待纠错文本中的第二出现概率,确定所述模型候选字和所述同音候选字之间的第一排序,并根据所述模型候选字和所述同音候选字与所述识别错误字之间的文字距离,确定所述模型候选字和所述同音候选字之间的第二排序,其中,包括将所述模型候选字与所述识别错误字的拼音之间的编辑距离,作为所述模型候选字与所述识别错误字之间的文字距离,将设定距离作为所述同音候选字与所述识别错误字之间的文字距离,根据所述文字距离,确定所述模型候选字和所述同音候选字之间的第二排序;
基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序,根据所述候选排序确定纠错候选字,并利用所述纠错候选字替换所述识别错误字,得到纠正文本。
2.根据权利要求1所述的语音识别后的语句纠错方法,其特征在于,所述基于训练好的语言模型,确定待纠错文本中每个文字在所述待纠错文本中的第一出现概率,并根据所述第一出现概率在所述待纠错文本中确定识别错误字,包括:
将待纠错文本输入到训练好的BERT语言模型中,由所述BERT语言模型输出所述待纠错文本中每个文字在所述待纠错文本中的第一出现概率;
将所述待纠错文本中,第一出现概率低于设定的选择阈值的文字确定为识别错误字。
3.根据权利要求2所述的语音识别后的语句纠错方法,其特征在于,所述方法还包括:
按照样本获取比例,从样本数据集中提取样本文本作为阈值计算样本,所述样本获取比例基于样本数据集中所有样本文本对应的平均字错误率确定;
利用BERT语言模型计算所述阈值计算样本中各个样本正确字和样本错误字的第三出现概率,并根据所述第三出现概率确定样本正确字和样本错误字在不同概率区间的分布,确定选择阈值。
4.根据权利要求3所述的语音识别后的语句纠错方法,其特征在于,所述根据所述第三出现概率确定样本正确字和样本错误字在不同概率区间的分布,确定选择阈值,包括:
根据所述第三出现概率,确定所述阈值计算样本中各个样本正确字和样本错误字在不同概率区间的分布;
基于所述样本正确字和所述样本错误字的分布存在相交区间,将所述样本正确字和所述样本错误字的数量最少所对应的概率作为选择阈值;
基于所述样本正确字和所述样本错误字的分布不存在相交区间,将所述样本正确字对应的最大概率和所述样本错误字对应的最小概率的平均值作为选择阈值。
5.根据权利要求1所述的语音识别后的语句纠错方法,其特征在于,所述基于所述语言模型,确定所述识别错误字对应的模型候选字,包括:
利用MASK标记替换所述待纠错文本中的识别错误字,得到掩膜文本;
基于BERT语言模型,确定所述掩膜文本在MASK标记的位置中,各个掩膜替换字的第四出现概率;
根据所述第四出现概率筛选所述掩膜替换字,并将筛选出的所述掩膜替换字作为模型候选字。
6.根据权利要求1所述的语音识别后的语句纠错方法,其特征在于,所述同音候选字包括相同拼音的同音候选字以及易混淆拼音的同音候选字,所述根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字,包括:
确定所述识别错误字对应的原始拼音和原始声调,并根据所述原始拼音和所述原始声调获取同音候选字;
确定所述拼音对应的易混淆拼音,并根据所述易混淆拼音和所述原始声调获取同音候选字。
7.根据权利要求1所述的语音识别后的语句纠错方法,其特征在于,所述基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序,包括:
基于所述第一排序和所述第二排序,计算所述模型候选字和所述同音候选字的综合排序分数;
按照所述综合排序分数确定所述模型候选字和所述同音候选字之间的候选排序。
8.根据权利要求7所述的语音识别后的语句纠错方法,其特征在于,所述综合排序分数基于以下公式确定:
Figure FDA0003844508320000031
其中,c为候选字,len(c)为所述模型候选字和所述同音候选字的总数,sortP(c)为候选字c在第一排序中的次序,sortD(c)为候选字c在第二排序中的次序。
9.根据权利要求1-8任一项所述的语音识别后的语句纠错方法,其特征在于,所述方法还包括:
根据所述纠正文本中每个文字的第五出现概率,确定所述纠正文本的纠正句子概率,并根据所述待纠错文本中每个文字的第一出现概率,确定所述待纠错文本的待纠错句子概率;
若所述纠正句子概率小于等于所述待纠错句子概率,则重新根据所述候选排序确定下一个纠错候选字,并利用所述纠错候选字重新替换所述识别错误字,得到纠正文本。
10.根据权利要求9所述的语音识别后的语句纠错方法,其特征在于,所述纠正句子概率基于以下公式确定:
P(R1,R2…Rn)=P(R1)×P(R2)…×P(Rn)
其中,Rn为纠正文本中的第n个文字,P(Rn)为第n个文字的第五出现概率;
所述待纠错句子概率基于以下公式确定:
P(S1,S2…Sn)=P(S1)×P(S2)…×P(Sn)
其中,Sn为待纠错文本中的第n个文字,P(Sn)为第n个文字的第一出现概率。
11.一种语音识别后的语句纠错装置,其特征在于,包括错误识别模块、候选确定模块、排序确定模块和文字纠错模块,其中:
所述错误识别模块,用于基于训练好的语言模型,确定待纠错文本中每个文字在所述待纠错文本中的第一出现概率,并根据所述第一出现概率在所述待纠错文本中确定识别错误字,所述待纠错文本基于语音识别得到;
所述候选确定模块,用于基于所述语言模型,确定所述识别错误字对应的模型候选字,并根据所述识别错误字的拼音和声调,确定所述识别错误字对应的同音候选字;
所述排序确定模块,用于根据所述模型候选字和所述同音候选字在所述待纠错文本中的第二出现概率,确定所述模型候选字和所述同音候选字之间的第一排序,并根据所述模型候选字和所述同音候选字与所述识别错误字之间的文字距离,确定所述模型候选字和所述同音候选字之间的第二排序,其中,包括将所述模型候选字与所述识别错误字的拼音之间的编辑距离,作为所述模型候选字与所述识别错误字之间的文字距离,将设定距离作为所述同音候选字与所述识别错误字之间的文字距离,根据所述文字距离,确定所述模型候选字和所述同音候选字之间的第二排序;
所述文字纠错模块,用于基于所述第一排序和所述第二排序,确定所述模型候选字和所述同音候选字之间的候选排序,根据所述候选排序确定纠错候选字,并利用所述纠错候选字替换所述识别错误字,得到纠正文本。
12.一种语音识别后的语句纠错设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10任一项所述的语音识别后的语句纠错方法。
13.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-10任一项所述的语音识别后的语句纠错方法。
CN202110632498.3A 2021-06-07 2021-06-07 一种语音识别后的语句纠错方法、装置、设备及存储介质 Active CN113343671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110632498.3A CN113343671B (zh) 2021-06-07 2021-06-07 一种语音识别后的语句纠错方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110632498.3A CN113343671B (zh) 2021-06-07 2021-06-07 一种语音识别后的语句纠错方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113343671A CN113343671A (zh) 2021-09-03
CN113343671B true CN113343671B (zh) 2023-03-31

Family

ID=77474851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110632498.3A Active CN113343671B (zh) 2021-06-07 2021-06-07 一种语音识别后的语句纠错方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113343671B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114078475B (zh) * 2021-11-08 2023-07-25 北京百度网讯科技有限公司 语音识别和更新方法、装置、设备和存储介质
CN114154488A (zh) * 2021-12-10 2022-03-08 北京金山数字娱乐科技有限公司 语句处理方法及装置
CN116052657B (zh) * 2022-08-01 2023-10-20 荣耀终端有限公司 语音识别的字符纠错方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110852087A (zh) * 2019-09-23 2020-02-28 腾讯科技(深圳)有限公司 中文纠错方法和装置、存储介质及电子装置
CN112149406A (zh) * 2020-09-25 2020-12-29 中国电子科技集团公司第十五研究所 一种中文文本纠错方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723791A (zh) * 2020-06-11 2020-09-29 腾讯科技(深圳)有限公司 文字纠错方法、装置、设备及存储介质
CN112016310A (zh) * 2020-09-03 2020-12-01 平安科技(深圳)有限公司 文本纠错方法、系统、设备及可读存储介质
CN112231480A (zh) * 2020-10-23 2021-01-15 中电科大数据研究院有限公司 一种基于bert的字音混合纠错模型

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110852087A (zh) * 2019-09-23 2020-02-28 腾讯科技(深圳)有限公司 中文纠错方法和装置、存储介质及电子装置
CN112149406A (zh) * 2020-09-25 2020-12-29 中国电子科技集团公司第十五研究所 一种中文文本纠错方法及系统

Also Published As

Publication number Publication date
CN113343671A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN113343671B (zh) 一种语音识别后的语句纠错方法、装置、设备及存储介质
CN110717031B (zh) 一种智能会议纪要生成方法和系统
CN110517693B (zh) 语音识别方法、装置、电子设备和计算机可读存储介质
CN106570180B (zh) 基于人工智能的语音搜索方法及装置
CN112287670A (zh) 文本纠错方法、系统、计算机设备及可读存储介质
CN112183094B (zh) 一种基于多元文本特征的中文语法查错方法及系统
CN101785050B (zh) 语音识别用对照规则学习系统以及语音识别用对照规则学习方法
CN110232923B (zh) 一种语音控制指令生成方法、装置及电子设备
JP2008216341A (ja) 誤り傾向学習音声認識装置及びコンピュータプログラム
CN111651978A (zh) 基于实体的词法检查方法与装置和计算机设备及存储介质
CN113361266A (zh) 文本纠错方法、电子设备及存储介质
CN112380841B (zh) 一种中文拼写纠错方法、装置、计算机设备及存储介质
KR20230009564A (ko) 앙상블 스코어를 이용한 학습 데이터 교정 방법 및 그 장치
CN111508497B (zh) 语音识别方法、装置、电子设备及存储介质
CN114742039A (zh) 一种中文拼写纠错方法及系统、存储介质及终端
KR20130126570A (ko) 핵심어에서의 음소 오류 결과를 고려한 음향 모델 변별 학습을 위한 장치 및 이를 위한 방법이 기록된 컴퓨터 판독 가능한 기록매체
Arslan et al. Detecting and correcting automatic speech recognition errors with a new model
EP3544001B1 (en) Processing speech-to-text transcriptions
CN111429886B (zh) 一种语音识别方法及系统
CN115358219A (zh) 一种融合无监督学习和自监督学习的中文拼写纠错方法
CN112528003B (zh) 一种基于语义排序和知识修正的多项选择问答方法
CN114896966A (zh) 一种中文文本语法错误定位方法、系统、设备及介质
US11341961B2 (en) Multi-lingual speech recognition and theme-semanteme analysis method and device
CN111128181B (zh) 背诵题评测方法、装置以及设备
CN114299930A (zh) 端到端语音识别模型处理方法、语音识别方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant