一种基于大模型的实时英文语音识别方法及系统与流程
- 国知局
- 2024-06-21 10:39:09
本发明涉及语音识别技术,特别涉及一种基于大模型的实时英文语音识别方法及系统。
背景技术:
1、目前,人工智能技术的运用越来越广泛,将人工智能技术运用于语音识别能显著提高准确率,在实时语音识别领域,为了满足响应速度要求,一般采用较小的模型,不断的识别前端传输过来的1秒以下的语音片段,再把所有的识别结果拼接到一起,做为最终结果。但上述方法普遍存在着准确率低,考虑的上下文较少,需要其它的外接模型预测标点符号、做文本规范化等问题。
2、为了提高准确性,可以采用大模型进行语音识别,大模型由于其较深的网络结构,可以在训练过程中学到比传统模型更多的知识,预测准确率也会相应提高;但与此相对的,大模型的前向推理过程较慢,不能像流式语音识别模型那样,直接把所有音频一股脑的输入模型、获得输出,也基本不能接入额外的模型完成其它必需功能,例如时间戳预测、文本规范化,否则会把本就较慢的推理速度拖的更慢了,以至于无法满足实时性要求。
3、因此,如何在提高准确率的前提下,保证语音识别的实时性要求是现有技术亟需解决的问题。
技术实现思路
1、针对现有英文语音识别模型识别准确率低、功能单一等缺点,本发明一种把大模型应用于实时英文语音识别的方法,在该方法中采用seq2seq架构的大模型作为识别模型,seq2seq架构包括decoder和encoder,利用识别模型进行语音识别的过程具体包括以下步骤:
2、100、前端以固定间隔t向语音识别模型发送音频,每段音频长度为t;
3、101、将当前收到的长度为t的音频片段与历史音频片段进行拼接并输入语音识别模型;
4、102、若语音识别的结果中未出现结束符,则执行步骤103,否则执行步骤105;
5、103、判断长度为t的音频片段与历史音频片段进行拼接后的音频长度是否大于历史音频片段阈值,若大于根据识别结果最后一个单词的时间戳获取该单词的开始时间,保留该单词开始时间到拼接后的音频末尾的这一段音频作为历史音频片段,并将本次识别结果标记为“拼接”,执行步骤107;
6、104、否则直接将长度为t的音频片段与历史音频片段进行拼接后的音频作为历史音频片段,并将本次识别结果标记为“可以替换”;
7、105、计算结束符出现的前一个单词的时间戳,根据时间戳获取该单词的结束时间,保留该单词结束时间到拼接后的音频的末尾这一段音频作为历史音频片段;
8、106、舍弃结束符出现后的识别结果,并将本次识别结果标记为“拼接”;
9、107、前端收到当前识结果及其标记,若上一次标记为“可以替换”,则利用当前识别结果替换到上一次识别结果;若上一次标记为“拼接”,则将当前识别结果拼接到上一次识别结果后面;
10、108、接收下一时间步音频片段,返回步骤101。
11、进一步的,语音识别模型的获取包括:采用openai的whisper-large模型作为预训练模型,并利用原始的语音数据作为训练数据对预训练模型进行微调。
12、进一步的,采用框架ctranslation2转换微调后语音识别模型的格式。
13、进一步的,从decoder预测输出的最后一个单词向前依次计算每个单词的时间戳,具体包括以下步骤:
14、计算decoder预测输出的最后一个单词的时间戳,从输入encoder的最后一个时间步的音频特征开始,从后往前遍历encoder的每一个时间步;
15、每遍历到一个新的encoder时间步,都需通过scaled dot product attention计算出当前单词与输入当前encoder时间步的音频特征的归一化匹配得分;
16、若当前单词与当前时间步音频特征的匹配得分小于0.2,或者当前单词的前一个单词与该时间步音频特征的匹配得分大于当前单词与该段音频特征的匹配得分,则停止计算当前单词与其他音频特征的匹配得分,记录该段音频特征在encoder的时间步t;
17、把满足要求的音频特征合并到一起,形成音频片段,计算该音频片段的起始时间、终止时间,由此得到当前单词的时间戳;
18、将时间步t作为下一个单词的起始时间步继续往前计算满足要求的时间步,根据满足要求的时间步计算时间戳,重复以上步骤计算所有单词的时间戳。
19、进一步的,若音频中出现1s以上静音,则以静音结束位置为起始位置,舍弃起始位置之前的音频,保留起始位置到音频结尾的部分用于下一次音频拼接;同时只保留舍弃的音频对应的识别结果,并在识别结果的单词序列末尾增加一个句号,接着把识别结果标记为可以拼接状态,把结果返回给前端。
20、本发明还提出一种基于大模型的实时英文语音识别系统,包括语音采集模块、语音拼接模块、语音识别模块、结束符检测模块、时间戳计算模块、检测结果推送模块、历史语音构建模块,其中:
21、语音采集模块,用于以固定间隔t向语音识别模型发送音频,每段音频长度为t;
22、语音拼接模块,用于将当前收到的长度为t的音频片段与历史音频片段进行拼接;
23、语音识别模块,用于根据语音拼接模块得到的拼接语音进行语音识别,该模型采用seq2seq架构的大模型,其中seq2seq架构包括decoder和encoder,encoder从输入的音频中提取音频特征,decoder根据音频特征输出预测结果;
24、结束符检测模块,用于检测语音识别模块得到的识别结果中是否出现结束符;
25、时间戳计算模块,用于为语音识别模块输出的每个单词生成一个时间戳,该时间戳包括该单词在输入语音识别模块的语音片段中的起始时间和终止时间;
26、检测结果推送模块,若出现结束符则利用当前识别结果替换上一次识别结果,并将结束符及之前的识别结果标记为可以拼接状态并反馈给前端;若没有出现结束符则将当前识别结果拼接到上一次识别结果后面,同时舍弃识别结果的最后一个单词;
27、历史语音构建模块,若未出现结束符,且输入语音模型的音频片段不大于设定历史音频片段长度的阈值,则直接将输入语音模型的音频片段作为历史音频片段,否则根据识别结果最后一个单词的时间戳获取该单词的开始时间,保留该单词开始时间到拼接后的音频末尾的这一段音频作为历史音频片段;若出现结束符,则计算结束符出现的前一个单词的时间戳,根据时间戳获取该单词的结束时间,保留该单词结束时间到拼接后的音频的末尾这一段音频作为历史音频片段。
28、本发明采用了大尺寸模型,同时使用了更长的语音片段做语音识别,这两者相结合,大大提高了语音识别准确率;与现有的语音识别技术中使用的语音识别模型,一般是将一段语音作为输入,然后输出一段干净的文本,输出的文本不带任何标点符号,并且输出的文本对英文大小写、数字的表现形式等没有关注,需要外界其他模型进行分词等操作对识别的文本进行进一步处理;但是在本发明构建的语音识别模型中,可以直接输出一端带有标点的文本,无需外接其他模块进行处理。
本文地址:https://www.jishuxx.com/zhuanli/20240618/20942.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表