语音翻译方法、电子设备、计算机可读存储介质
文献发布时间:2023-06-19 10:48:02
技术领域
本发明涉智能翻译技术领域,尤其是涉及一种语音翻译方法、电子设备、计算机可读存储介质。
背景技术
语音翻译的应用越来越广泛,其包括语音识别及机器翻译。语音识别是指将人类语音中的词汇内容转换为机器可读的字符序列。机器翻译,又称为自动翻译,是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程。机器翻译具有重要的实用价值。随着经济全球化以及互联网的飞速发展,机器翻译技术在促进政治、经济、文化交流等方面起到越来越重要的作用。
由于机器翻译的效果是强依赖于语音识别的结果,若等待识别结果过长则会导致翻译时延较高。因此需要一种能够减少等待时间的语音翻译方法。
发明内容
本发明提供一种语音翻译方法、电子设备以及计算机可读存储介质,其能够降低翻译等待时间,提高翻译效率。
为解决上述技术问题,本发明提供的第一个技术方案为:提供一种语音翻译方法,包括:在获取待翻译语音数据的过程中对待翻译语音数据进行流式语音识别;对当前流式语音识别进行即时判定,以判定识别的当前识别结果是否触发翻译操作,若是,对当前识别结果进行翻译。
其中,对当前流式语音识别进行即时判定,以判定识别的当前识别结果是否触发翻译操作,包括:若当前识别结果未触发翻译操作,则通过比较当前识别结果与前一次触发翻译操作的识别结果,进而得到当前待翻译的识别结果;对待翻译的识别结果进行翻译,得到初步翻译结果。
其中,对待翻译的识别结果进行翻译,得到初步翻译结果之前,还包括:确定待翻译的识别结果的语义是否完整;若待翻译的识别结果的语义完整,则对当前识别结果进行翻译,得到初步翻译结果。
其中,确定待翻译的识别结果的语义是否完整,还包括:若待翻译的识别结果的语义不完整,则判断待翻译的识别结果的间隔时间是否超过预设最大间隔时间;若是,则在待翻译的识别结果的最大概率的语义可切分位置进行切分;对待翻译的识别结果中语义可切分位置前的部分进行翻译,得到初步翻译结果。
其中,语音翻译方法进一步包括:确定在暂停时间段内是否获取新识别结果;若是,将新识别结果作为当前识别结果。
其中,确定待翻译的识别结果的语义是否完整,包括:利用语义识别模型判断待翻译的识别结果的语义是否完整。
其中,利用语义识别模型判断待翻译的识别结果的语义是否完整,包括:利用嵌入层对待翻译的识别结果进行处理,得到第一处理结果;逐一对第一处理结果中的每个词设置掩码标记,并利用线性注意力机制对每个词进行处理,得到第二处理结果;利用前馈神经网络对第二处理结果进行处理,得到第三处理结果;利用线性层对第三处理结果进行处理,以得到第四处理结果;对第四处理结果进行维度变换以及归一化处理,进而得到待翻译的语音识别内容中每个词的可切分概率;根据待翻译的语音识别内容中每个词的可切分概率,判断待翻译语音识别内容语义是否完整。
其中,在待翻译的识别结果的最大概率的语义可切分位置进行切分,包括:利用语义识别模型得到待翻译的识别结果的最大概率的语义可切分位置,在待翻译的识别结果的最大概率的语义可切分位置进行切分。
其中,对当前识别结果进行翻译,包括:初始化当前约束内容库为空;对当前识别结果进行翻译,得到初步翻译结果;将初步翻译结果加入当前约束内容库;以当前约束内容库中的初步翻译结果为约束条件,对下一当前识别结果进行翻译。
其中,以当前约束内容库中的初步翻译结果为约束条件,对下一当前识别结果进行翻译包括:剔除当前约束内容库中的初步翻译结果中的部分翻译词,以剩余部分翻译词为约束条件,对下一当前识别结果进行翻译。
为解决上述技术问题,本发明提供的第二个技术方案为:提供一种电子设备,包括:存储器和处理器,其中,存储器存储有程序指令,处理器从存储器调取程序指令以执行上述任一项的语音翻译方法。
为解决上述技术问题,本发明提供的第二个技术方案为:提供一种存储介质,存储有程序文件,程序文件能够被执行以实现上述任一项的语音翻译方法。
本发明的有益效果,区别于现有技术的情况,本发明通过在获取待翻译语音数据的过程中对待翻译语音数据进行流式语音识别;对当前流式语音识别进行即时判定,以判定识别的当前识别结果是否触发翻译操作,若是,对当前识别结果进行翻译。以此够降低翻译等待时间,提高翻译效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1为本发明翻译方法的第一实施例的流程示意图;
图2为本发明翻译方法的第二实施例的结构示意图;
图3为语义识别模型的一实施例的结构示意图;
图4为本发明翻译方法的第三实施例的结构示意图;
图5为本发明电子设备的一实施例的结构示意图;
图6为本发明计算机可读存储介质的一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
本发明中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个特征。本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果特定姿态发生改变时,则方向性指示也相应地随之改变。本申请实施例中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或组件。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
现有的同声传译系统中一般采用VAD断句或者wait-k方案作为机器翻译的触发机制。VAD断句方案是指利用VAD(Voice Activity Detection),即语音端点检测技术,对输入的音频进行分析,确定说话的起点和终止点,以此形成的断句作为机器翻译的输入。wait-k方案是指在等待讲话者开始后的第k个字开始翻译,使用源语言中的可用前缀来决定翻译中的下一个单词,翻译总是延迟k个词以进行上下文预测。VAD断句方案简单地使用音频停顿信息作为翻译的触发条件,在说话人语速较慢,停顿较多的情况下容易造成语义不连续的问题,在说话人语速较快,长时间无停顿的情况下造成翻译时延过长的问题。wait-k方案虽然可以指定任意延迟要求(通过这里的k确定),但是对于差异很大的语言(如汉语和英语)之间,一般需要更长的延迟来应对语序差异,同时由于翻译出的结果不可修改,会造成低时延要求下翻译质量较差。
因此,本申请提供一种语音翻译方法,其能够降低延迟,并能够对翻译结果进行修改,进而提高翻译质量。以下结合附图以及具体实施方式对本申请进行详细描述。
请参见图1,为本发明语音翻译方法的第一实施例的流程示意图,具体包括:
步骤S11:在获取待翻译语音数据的过程中对待翻译语音数据进行流式语音识别。
具体的,用户输入待翻译语音数据,在输入待翻译语音数据的过程中,语音翻译机器对待翻译语音数据进行流式语音识别。
例如,若用户输入的待翻译语音数据为“尊敬的各位先生,各位女士,大家下午好。”则流式语音识别结果为:
1、尊敬
2、尊敬的各位先生
3、尊敬的各位先生各位女士
4、尊敬的各位先生各位女士大家下午好
再例如,若用户输入的待翻译语音数据为“在这个阳光明媚桃红柳绿的美好时节。”则流式语音识别结果为:
1、在这个
2、在这个阳光明媚
3、在这个阳光明媚桃红柳绿
4、在这个阳光明媚桃红柳绿的美好时节
即在用户输入语音数据时,可以先将已输入的语音数据进行语音识别,而不用在用户将完整的语音数据输入完成后在进行语音识别。
步骤S12:对当前流式语音识别进行即时判定,以判定识别的当前识别结果是否触发翻译操作。
对当前流式语音识别进行即使判定,以判定识别的当前识别结果是否触发翻译操作。在一实施例中,可以以预设时间为触发翻译的条件,即在到达得到流式语音识别结果后的预定时间时,则触发翻译操作。在另一实施例中,还可以以流式语音识别数量为触发翻译的条件,即在得到第三条流式语音识别结果时,即可对第一条流式语音识别结果进行翻译操作。
步骤S13:对当前识别结果进行翻译。
具体的,在触发翻译操作后,对当前识别结果进行翻译。
步骤S14:则通过比较当前识别结果与前一次触发翻译操作的识别结果,进而得到当前待翻译的识别结果。
在当前识别结果未触发翻译操作时,可以通过比较当前识别结果与前一次触发翻译操作的识别结果,进而得到当前待翻译的识别结果。
例如,若当前识别结果为“尊敬的各位先生各位女士”,前一次触发翻译操作的识别结果为“尊敬的各位先生”,则本次确定的当前待翻译的识别结果为“各位女士”。
再例如,若当前识别结果为“尊敬的各位先生各位女士”,前一次触发翻译操作的识别结果为“尊敬的”,则本次确定的当前待翻译的识别结果为“各位先生各位女士”。
步骤S15:对待翻译的识别结果进行翻译,得到初步翻译结果。
在确定好待翻译的识别结果后,对待翻译的识别结果进行翻译,进而得到初步翻译结果。
通过本实施例的方法,其能够对输入的待翻译语音数据进行流失语音识别,并对流式语音识别的结果进行实时翻译,以此能够降低等待时间,进而提高翻译速率。
请参见图2,为本发明语音翻译方法的第二实施例的流程示意图,其中,步骤S20~步骤S23与图1中步骤S11~步骤S14相同,区别在于,本实施例在步骤S23之后还包括:
步骤S24:确定待翻译的识别结果的语义是否完整。
具体的,在一实施例中,可以利用语义识别模型判断待翻译的识别结果的语义是否完整。
语义识别模型为预先训练好的模型,具体的,首先得到大量的语料训练样本,利用大量的语料训练样本对初始语义识别模型进行训练,进而得到预先训练好的模型。其中语料训练样本预先标注有语义切分位置。例如,使用Mgiza++对齐工具预处理篇章双语句对,通过插入
What’s the whether like tomorrow?I won’t go out if it rains.
明天天气怎么样?如果下雨我明天就不出门了。
经过处理后如下:
What’s the whether like tomorrow?
明天天气怎么样?
根据该对齐信息,将
通过上述方式,得到大量的带有语义边界信息的篇章数据训练初始语义识别模型,进而得到语音识别模型。以此得到的语音识别模型能够预测确定识别结果中可靠的语义边界。
请结合图3,图3为语义识别模型的结构示意图,在得到待翻译的识别结果后,利用语义识别模型确定待翻译识别结果的语义是否完整。
具体的,利用嵌入层Embedding对待翻译的识别结果进行处理,得到第一处理结果。逐一对第一处理结果中的每个词设置掩码标记,并利用线性注意力机制对每个词进行处理,得到第二处理结果。在一实施例中,可以在Masked Multi-Head Attention网络中逐一对第一处理结果中的每个词设置掩码标记,并利用线性注意力机制对每个词进行处理,得到第二处理结果。在一实施例中,可以进一步利用Add&Norm对第二处理结果进行处理。
利用前馈神经网络对第二处理结果进行处理,得到第三处理结果;前馈神经网络可以为Feed Forward算法。进一步的,还可以利用Add&Norm对第三处理结果进行处理。利用线性层对第三处理结果进行处理,以得到第四处理结果;其中,线性层为Linear。对第四处理结果进行维度变换以及归一化处理,进而得到待翻译的语音识别内容中每个词的可切分概率。其中,利用Reshape第四处理结果进行维度变换,利用Softmax进行归一化处理,进而得到待翻译的语音识别内容中每个词的可切分概率。根据待翻译的语音识别内容中每个词的可切分概率,判断待翻译语音识别内容语义是否完整。
例如,若待翻译的识别结果为“尊敬的各位先生各位女士”,语义识别模型得到的切分结果为“各位先生各位女士
本申请中的语义识别模型是单向模型结构,使用单项模型处理流式输入,可保留历史状态信息,避免重复运算,以此实现高效的流式处理。具体的,本申请中的语义识别模型预测的是某一位置是否是语义可切分的,不需要区分输入的位置信息。使用MaskedMulti-head Attention将部分位置信息Mask掉,目的是让模型不对当前词后面的词做Attention,即计算当前词对应状态时忽略当前词后面位置的词信息;在Linear层中,将隐层信息映射到维度为Len
步骤S25:对当前识别结果进行翻译,得到初步翻译结果。
若待翻译的识别结果的语义完整,则对当前识别结果进行翻译,进而得到初步翻译结果。
步骤S26:判断待翻译的识别结果的间隔时间是否超过预设最大间隔时间。
若待翻译的识别结果的语义不完整,则进一步判断待翻译的识别结果的间隔时间是否超过预设最大间隔时间。具体的,待翻译的识别结果的间隔时间为当前识别结果的最后一个词的对应结束时间与待翻译的识别结果的第一个词对应的结束时间。
例如,若当前识别结果为“尊敬的各位先生各位女士”,前一次触发翻译操作的识别结果为“尊敬的各位先生”,则本次确定的当前待翻译的识别结果为“各位女士”。其中,当前识别结果“尊敬的各位先生各位女士”中最后一个词“士”对应的结束时间为2:00,而待翻译的识别结果为“各位女士”中的“各”对应的结束时间为1:59,则待翻译的识别结果的间隔时间为1s。
预设最大间隔时间为用户自定义的时间,该还见可以随时更改设定,也可以在设备出厂之前不可更改设定,具体不做限定。
步骤S27:本次输入不翻译。
若待翻译的识别结果的间隔时间未超过预设最大间隔时间,则本次输入不翻译。即本次计算所得的待翻译的识别结果不进行翻译。
即,在一实施例中,若当前待翻译的识别结果的语义不完整,且待翻译的识别的间隔时间未超过预设最大间隔时间,则待翻译的识别结果不进行翻译。
步骤S28:在待翻译的识别结果的最大概率的语义可切分位置进行切分。
若待翻译的识别结果的间隔时间超过预设最大间隔时间,则在待翻译的识别结果的最大概率的语义可切分位置进行切分。具体的,可以利用图3所示的语义识别模型得到待翻译的识别结果的最大概率的语义可切分位置,在待翻译的识别结果的最大概率的语义可切分位置进行切分。具体的,将待翻译的识别结果输入至图3所示的语义识别模型中,对其进行处理,进而可以得到待翻译的识别结果中最大概率的语义可切分位置。
步骤S29:对待翻译的识别结果中语义可切分位置前的部分进行翻译,得到初步翻译结果。
在得到最大概率的可切分位置后,对待翻译的识别结果中语义可切分位置前的部分进行翻译,得到初步翻译结果。
在一具体实施例中,可以进一步检测暂定时间段内是否获取新识别结果,暂停时间段可以为用户输入的两句话之间的暂停时间。在一具体实施例中,可以设定暂停时间段的具体时间,例如,可以设定暂停时间段为2s,即在2s内未得到新识别结果,则将前面所得的世界结果进行翻译。若在暂停时间段内获取新识别结果;则将新识别结果作为当前识别结果。
本实施例所示的语音翻译方法,其能够对识别结果进行实时判定,并对判定完成的语义完整的识别结果进行翻译,以此能够降低识别时间,进一步压缩识别时间以及翻译时间,降低延迟。
请参见图4,为本申请的翻译方法的第三实施例的流程示意图,本实施例包括:
步骤S41:初始化当前约束内容库为空。
本实施例中,设定当前约束内容,在翻译开始时,初始化当前约束内容为空。
步骤S42:对当前识别结果进行翻译,得到初步翻译结果。
具体的,按照上述图1所示的方式对当前识别结果进行翻译,得到初步翻译结果,或者按照上述图2所示的方法对待翻译的识别结果进行翻译,进而得到初步翻译结果。
步骤S43:将初步翻译结果加入当前约束内容库。
将初步翻译结果加入当前约束内容库中,以作为约束条件。
步骤S44:以当前约束内容库中的初步翻译结果为约束条件,对下一当前识别结果进行翻译。
在下一次翻译时,以荡秋千约束内容库中的初步翻译结果为约束条件对下一次当前识别结果或者待翻译的识别结果进行翻译。
在一具体实施例中,可以剔除当前约束内容库中的初步翻译结果中的部分翻译词,以剩余部分翻译词为约束条件,对下一当前识别结果进行翻译。
例如,假设src1对应的翻译结果为dst1,在翻译src1和src2的合并句子时,将dst1丢弃掉n个词剩余的部分作为此次翻译的约束部分,可以保证src1和src2合并翻译的结果开始部分一定是设定的约束词,在此基础上继续进行翻译。
约束翻译技术可以控制前后翻译结果的变化幅度,能保证src1和src2合并翻译时相对于src1的翻译结果,最多会改动src1翻译结果中的后n个词。该项技术对于同声传译场景具有重要意义,如果实时上屏前后结果变动幅度过大,会导致观众应接不暇,主观体验较差。
理想状态下此处的n越小越好,若n为0,则意味着每一句翻译的结果都是确定结果,不会继续变动,观众看到的结果都是最终的结果。但是在源句子语义不完整情况下就固定其对应的翻译结果,会导致翻译效果较差。
本申请提供的翻译方法,其使用策略对上屏改动幅度和翻译效果进行平衡,如图2,若触发翻译的输入具备完整的语义信息,则将该部分翻译结果作为最终结果,即将n设置为0;否则将翻译结果作为中间结果,进一步的,通过下列规则进行n的设置,通过结合使用源句子中的语义切分概率乘以相关系数来确定这里的丢词个数,假设n为丢词数,prob为对应的源句子切分位置的概率值,k为可配置的丢词个数基数,可通过k的设置控制丢词幅度。
通过公式n=(1–prob)*k来确定最终约束解码过程中的丢词个数。举例来说,假设源句子中切分位置是确定的语义切分位置,即prob=1,则此时计算得出n=0,即该源句子对应的翻译结果为最终结果,不需要进行丢词。若源句子中切分位置是非确定的语义切分位置,其对应的切分概率是0.4,则计算得出n=0.6k,即该源句子对应的翻译结果为中间结果,在进行后面句子翻译时需丢弃0.6k个词进行约束解码,同时从该公式我们可以得知,若该切分位置对应的切分概率越小,则其对应的需要丢弃的词越多,即后面可改动的空间越大。
通过上述规则,可以获得较好的上屏体验和翻译效果之间的平衡。
本申请提供的翻译方法,可以应用于同声传译系统,其在保证翻译质量的前提下降低了机器同声传译的时延,并且能够对识别结果进行实时判定,基于判定的识别结果对应的翻译结果提出一种约束修改策略,能够翻译出中间结果指定可修改范围,提高翻译质量,进而能够获得较好的上屏体验和翻译效果之间的平衡。
请参见图5,为本发明电子设备的一实施例的结构示意图,电子设备包括相互连接的存储器202和处理器201。
存储器202用于存储实现上述任意一项的方法的程序指令。
处理器201用于执行存储器202存储的程序指令。
其中,处理器201还可以称为CPU(Central Processing Unit,中央处理单元)。处理器201可能是一种集成电路芯片,具有信号的处理能力。处理器201还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器202可以为内存条、TF卡等,可以存储设备的电子设备中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,电子设备才有记忆功能,才能保证正常工作。电子设备的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。
请参阅图6为本发明计算机可读存储介质的结构示意图。本申请的存储介质存储有能够实现上述所有方法的程序文件203,其中,该程序文件203可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
- 语音翻译方法、电子设备、计算机可读存储介质
- 语音翻译方法及装置、计算机可读介质和电子设备