语音识别处理方法、装置、电子设备及存储介质
技术领域
本申请涉及人工智能技术,尤其涉及一种语音识别处理方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。语音技术(Speech Technology)是人工智能中的一个重要方向,主要研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
自动语音识别(ASR,Automatic Speech Recognition)是语音技术的一个分支,能够将人的语音转换为文本。但是,在相关技术中自动语音识别并不能完全识别连续发音等问题,因此容易出现语音识别错误。当针对语音信息识别出的初始识别结果有错误时,往往需要用户通过手动输入正确文本的方式去修改初始识别结果,如此,将会导致在语音识别过程中获取符合用户需求的识别结果的效率较低以及速度较慢,相关技术尚无有效解决方案。
发明内容
本申请实施例提供一种语音识别处理方法、装置、电子设备及计算机可读存储介质,能够在语音识别过程中提高获得符合用户需求的识别结果的效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种语音识别处理方法,包括:
对多媒体文件中的语音进行语音识别,以得到包括多个词语的语句,其中,所述多个词语用于作为初始识别结果;
根据与每个所述词语的识别确定程度对应的显示方式,显示包括所述多个词语的所述语句;
显示至少一个所述词语的候选词语;
响应于选择操作,根据被选中的候选词语替换所述语句中与所述被选中的候选词语处于相同位置的词语。
在上述方案中,所述对多媒体文件中的语音进行语音识别,以得到包括多个词语的语句,包括:
对所述多媒体文件中的语音进行语音识别,得到多个解码路径、以及对应每个所述解码路径的路径评分;
其中,每个所述解码路径包括多个词语。
在上述方案中,所述对所述多媒体文件中的语音进行语音识别,得到多个解码路径、以及对应每个所述解码路径的路径评分,包括:
对所述多媒体文件中的语音进行分帧处理,以获得多个音频子数据;
对每个所述音频子数据进行声学特征提取,以获得多个音频特征;
对所述多个音频特征进行词图生成处理,以获得词图网络;
基于所述词图网络,进行路径生成处理,以获得多个解码路径、以及对应每个所述解码路径的路径评分。
在上述方案中,所述基于所述词图网络,进行路径生成处理,以获得多个解码路径、以及对应每个所述解码路径的路径评分,包括:
在所述词图网络中确定从起始节点到终止节点的多个解码路径;
对每个所述解码路径执行以下处理:
将所述解码路径包括的多个节点的评分、以及多个连线的评分进行加和,以获得所述解码路径的路径评分。
在上述方案中,所述对所述多个音频特征进行词图生成处理,以获得词图网络,包括:
将每个所述音频特征转换为相应的音素,以获得多个音素;
将所述多个音素进行组合,以获得多个音素串;
通过声学模型对每个所述音素串进行识别,以获得对应每个所述音素串的多个词语、以及每个所述词语的评分;
将获得的所述词语作为所述词图网络中的节点,并将所述词语的评分确定为相应的节点的评分;
将相邻的音素串所对应的节点进行连线,并通过语言模型对每个所述连线的两个节点所对应的词语进行识别,以获得每个所述连线的评分;
其中,所述连线的评分表征所述连线的两个节点所对应的词语连接在一起是完整语句的概率。
在上述方案中,在所述将获得的所述词语作为所述词图网络中的节点之前,所述方法还包括:
针对每个所述音素串所对应的多个词语执行以下处理:
根据所述词语的评分对所述多个词语进行升序排序,并过滤掉升序排序结果中在后的部分词语。
在上述方案中,所述将每个所述音频特征转换为相应的音素,包括:
针对每个所述音频特征执行以下处理:
将所述音频特征与基础音素库中的每个基础音素进行匹配,以确定所述音频特征和每个所述基础音素之间的相似度;
将相似度最高的基础音素确定为对应所述音频特征的音素。
在上述方案中,在所述显示包括所述多个词语的所述语句之前,所述方法还包括:
针对每个所述音素串所对应的多个词语执行以下处理:
将所述多个词语按照评分进行升序排序,并在升序排序结果中选取在前的两个词语;
确定所述两个词语之间的评分差值;
根据所述评分差值,确定所述初始识别结果中对应所述音素串的词语的识别确定程度;
其中,所述评分差值与识别确定程度之间正相关。
本申请实施例提供一种语音识别处理装置,包括:
识别模块,用于对多媒体文件中的语音进行语音识别,以得到包括多个词语的语句,其中,所述多个词语用于作为初始识别结果;
显示模块,用于根据与每个所述词语的识别确定程度对应的显示方式,显示包括所述多个词语的所述语句;
所述显示模块,还用于显示至少一个所述词语的候选词语;
替换模块,还用于响应于选择操作,根据被选中的候选词语替换所述语句中与所述被选中的候选词语处于相同位置的词语。
在上述方案中,所述显示模块,还用于响应于针对所述语句中至少一个所述词语的聚焦操作,在至少一个所述词语的相邻位置显示对应的至少一个候选词语;或者,自动显示所述语句中至少一个所述词语的候选词语。
在上述方案中,所述显示模块,还用于将所述识别确定程度低于程度阈值的词语,以区别于所述语句中确定性词语的显示方式进行显示;其中,所述确定性词语是识别确定程度不低于所述程度阈值的词语。
在上述方案中,所述显示模块,还用于根据每个所述词语的识别确定程度,确定对应每个所述词语的显示方式的显著程度,并根据对应每个所述词语的显示方式的显著程度显示所述语句;其中,所述显著程度和所述识别确定程度之间负相关。
在上述方案中,所述替换模块,还用于将在所述语句中与被替换的词语相同的至少一个词语,自动替换为所述被选中的候选词语,并将所述被选中的候选词语的显示方式应用为与确定性词语一致的显示方式;其中,所述确定性词语是识别确定程度不低于程度阈值的词语。
在上述方案中,所述替换模块,还用于呈现全局替换提示信息,其中,所述全局替换提示信息用于提示将基于所述被选中的候选词语进行全局替换;响应于针对所述全局替换提示信息的确认操作,将从所述多媒体文件识别出的至少一个语句中的、且与被所述选中的候选词语替换的词语相同的词语,全部替换为所述被选中的候选词语。
在上述方案中,当从所述多媒体文件中的多个语音中识别出一一对应的多个语句时,所述语音识别处理装置还包括:排序模块,用于根据以下方式至少之一,确定显示所述多个语句时所采用的排序方式:将所述多个语句按照所述语句的识别确定程度进行升序排序,其中,所述语句的识别确定程度是所述语句中包括的所有词语的识别确定程度的加和;将所述多个语句按照所述语句对应的语音在所述多媒体文件中出现的先后顺序进行排序;将所述多个语句按照所包括的不确定性词语在所述多个语句中的出现频率进行降序排序,其中,所述不确定性词语是识别确定程度低于程度阈值的词语。
在上述方案中,所述排序模块,还用于根据以下方式至少之一,更新显示所述多个语句的排序:更新所述多个语句的识别确定程度的升序排序;更新所述多个语句所包括的不确定性词语的出现频率的降序排序。
在上述方案中,所述显示模块,还用于将所述被选中的候选词语的显示方式应用为与确定性词语一致的显示方式;其中,所述确定性词语是识别确定程度不低于程度阈值的词语。
在上述方案中,当所述词语包括多个候选词语时,所述显示模块,还用于根据以下方式至少之一,确定所述多个候选词语的排序方式:将所述多个候选词语,按照所述候选词语的识别确定程度进行降序排序;将所述多个候选词语,按照所述候选词语的被选择的次数进行降序排序;根据所述排序方式显示所述多个候选词语。
在上述方案中,所述识别模块,还用于在对所述多媒体文件中的语音进行语音识别得到的多个解码路径中,将路径评分最低的解码路径确定为最优解码路径;将所述最优解码路径中包括的多个词语确定为所述初始识别结果。
在上述方案中,所述识别模块,还用于将所述多个解码路径按照路径评分进行升序排序,并在升序排序结果中选取除所述最优解码路径之外的、且在前的部分所述解码路径;在选取的所述解码路径中,将与至少一个所述词语处于相同位置的词语确定为所述候选词语。
在上述方案中,所述识别模块,还用于对所述多媒体文件中的语音进行语音识别,得到多个解码路径、以及对应每个所述解码路径的路径评分;其中,每个所述解码路径包括多个词语。
在上述方案中,所述识别模块,还用于对所述多媒体文件中的语音进行分帧处理,以获得多个音频子数据;对每个所述音频子数据进行声学特征提取,以获得多个音频特征;对所述多个音频特征进行词图生成处理,以获得词图网络;基于所述词图网络,进行路径生成处理,以获得多个解码路径、以及对应每个所述解码路径的路径评分。
在上述方案中,所述识别模块,还用于在所述词图网络中确定从起始节点到终止节点的多个解码路径;对每个所述解码路径执行以下处理:将所述解码路径包括的多个节点的评分、以及多个连线的评分进行加和,以获得所述解码路径的路径评分。
在上述方案中,所述识别模块,还用于将每个所述音频特征转换为相应的音素,以获得多个音素;将所述多个音素进行组合,以获得多个音素串;通过声学模型对每个所述音素串进行识别,以获得对应每个所述音素串的多个词语、以及每个所述词语的评分;将获得的所述词语作为所述词图网络中的节点,并将所述词语的评分确定为相应的节点的评分;将相邻的音素串所对应的节点进行连线,并通过语言模型对每个所述连线的两个节点所对应的词语进行识别,以获得每个所述连线的评分;其中,所述连线的评分表征所述连线的两个节点所对应的词语连接在一起是完整语句的概率。
在上述方案中,所述识别模块,还用于针对每个所述音素串所对应的多个词语执行以下处理:根据所述词语的评分对所述多个词语进行升序排序,并过滤掉升序排序结果中在后的部分词语。
在上述方案中,所述识别模块,还用于针对每个所述音频特征执行以下处理:将所述音频特征与基础音素库中的每个基础音素进行匹配,以确定所述音频特征和每个所述基础音素之间的相似度;将相似度最高的基础音素确定为对应所述音频特征的音素。
在上述方案中,所述识别模块,还用于针对每个所述音素串所对应的多个词语执行以下处理:将所述多个词语按照评分进行升序排序,并在升序排序结果中选取在前的两个词语;确定所述两个词语之间的评分差值;根据所述评分差值,确定所述初始识别结果中对应所述音素串的词语的识别确定程度;其中,所述评分差值与识别确定程度之间正相关。
本申请实施例提供一种电子设备,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的语音识别处理方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的语音识别处理方法。
本申请实施例具有以下有益效果:
针对初始识别结果中每个词语的识别确定程度,差异化显示初始识别结果中的多个词语,能够提示初始识别结果中识别确定程度较低的词语,便于用户针对识别确定程度较低的词语进行修改;并且针对识别确定程度较低的词语进行选择性的替换修改,操作简单,能够实现快速且准确的修改初始识别结果,从而提高获得符合用户需求的识别结果的效率。
附图说明
图1A和图1B是相关技术提供的语音识别的应用场景示意图;
图2是本申请实施例提供的语音识别处理系统100的结构示意图;
图3是本申请实施例提供的终端400的结构示意图;
图4是本申请实施例提供的语音识别处理方法的流程示意图;
图5是本申请实施例提供的语音识别处理方法的流程示意图;
图6A和图6B是本申请实施例提供的语音识别处理方法的流程示意图;
图7是本申请实施例提供的语音识别处理方法的流程示意图;
图8A、图8B、图8C、图8D和图8E是本申请实施例提供的语音识别处理方法的应用场景示意图;
图9是本申请实施例提供的语音识别处理方法的流程示意图;
图10A、图10B、图10C和图10D是本申请实施例提供的语音识别处理方法的原理示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
2)客户端,终端中运行的用于提供各种服务的应用程序,例如直播客户端、视频客户端或短视频客户端等。
3)语音技术的关键技术有自动语音识别技术和语音合成技术以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
4)词图(Lattice),或称词格,在自动语音识别中是指有向无环图,每个节点代表一个字或词,边代表评分(或称代价)。词图中的起点到终点的一条路径就是一个完整的语音识别结果。
5)声学模型是将语音的声学特征解码到音素或字词这样的单元。语言模型接着将音素或字词解码成一个完整的句子。
6)词错误率(WER,Word Error Rate),是指语音识别中错误的词数和总词数之间的比值。
7)音素,单词的发音由音素构成。对英语,一种常用的音素集是卡内基梅隆大学的一套由39个音素构成的音素集。汉语一般直接用全部声母和韵母作为音素集,另外汉语识别还分有调和无调。
针对修改ASR中识别错误的词语,参见图1A和图1B,图1A和图1B是相关技术提供的语音识别的应用场景示意图,相关技术通常是给出ASR的识别结果,让用户主动找到错误的词语,并键入更正后的词语来修正错误的词语。例如,图1A和图1B中,用户只能够在包含识别结果的文本编辑框101中主动找到错误的词语,并键入更正后的词语来修正错误的词语。
在本申请实施例中发现相关技术存在以下技术问题:如果自动识别出的文本包含错误,用户需要仔细去核对错误的词语,由于人类阅读习惯的原因,错别字和错词并不容易被发现,因此,将会导致在语音识别过程中获取符合用户需求的识别结果的效率较低以及速度较慢。
针对上述技术问题,本申请实施例提供一种语音识别处理方法,能够在语音识别过程中提高获得符合用户需求的识别结果的效率。下面说明本申请实施例提供的语音识别处理方法的示例性应用,本申请实施例提供的语音识别处理方法可以由各种电子设备实施,例如,可以由终端单独实施,也可以由服务器和终端协同实施。
接下来,以由服务器和终端协同实施为例说明本申请实施例,参见图2,图2是本申请实施例提供的语音识别处理系统100的结构示意图。其中,语音识别处理系统100包括有:服务器200、网络300、以及终端400,将分别进行说明。
服务器200是客户端410的后台服务器,用于对多媒体文件中的语音进行语音识别,以得到包括多个词语的初始识别结果;还用于将初始识别结果发送至客户端410。
网络300,用于作为服务器200和终端400之间通信的媒介,可以是广域网或者局域网,又或者是二者的组合。
终端400,用于运行客户端410,客户端410是具备语音识别功能的客户端。客户端410,用于接收服务器200发送的初始识别结果,在人机交互界面中根据与每个词语的识别确定程度对应的显示方式,显示包括多个词语的初始识别结果;还用于显示至少一个词语的候选词语;还用于响应于用户的选择操作,根据被选中的候选词语替换初始识别结果中与被选中的候选词语处于相同位置的词语。
在一些实施例中,终端400通过运行计算机程序来实现本申请实施例提供的语音识别处理方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,例如语音识别APP、字幕编辑APP或社交APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的语音识别小程序或字幕编辑小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
接下来,以由图2中的终端400单独实施为例说明本申请实施例。
终端400,用于运行客户端410,客户端410是具备语音识别功能的客户端。客户端410,用于对多媒体文件中的语音进行语音识别,以得到包括多个词语的初始识别结果;还用于在人机交互界面中根据与每个词语的识别确定程度对应的显示方式,显示包括多个词语的初始识别结果;还用于显示至少一个词语的候选词语;还用于响应于用户的选择操作,根据被选中的候选词语替换初始识别结果中与被选中的候选词语处于相同位置的词语。
本申请实施例可应用于多种语音识别场景,例如,字幕编辑、实时语音转文字或歌词编辑等场景,下面将分别进行说明。
以字幕编辑的场景为例,客户端410可以是字幕编辑APP,多媒体文件可以是待编辑字幕的视频。用户通过客户端410上传待编辑字幕的视频,客户端410对视频中的多个语音进行语音识别,以得到与多个语音一一对应的多个初始识别结果;并在人机交互界面中根据与初始识别结果中的每个词语的识别确定程度对应的显示方式,显示初始识别结果;当用户发现初始识别结果中存在错误词语时,客户端410响应于用户的聚焦操作,显示候选词语,并响应于用户针对候选词语的选择操作,将被选中的候选词语替换初始识别结果中与被选中的候选词语处于相同位置的词语。如此,不仅能够提高用户编辑字幕的准确率,还能够提高用户编辑字幕的效率和速度。
以实时语音转文字的场景为例,客户端410可以是社交APP,多媒体文件可以是单独的语音信息。用户通过客户端410中的实时语音转文字功能对上传的语音进行语音识别,以得到对应的初始识别结果;并在人机交互界面中根据与初始识别结果中的每个词语的识别确定程度对应的显示方式,显示初始识别结果;当用户发现初始识别结果中存在错误词语时,客户端410响应于用户的聚焦操作,显示候选词语,并响应于用户针对候选词语的选择操作,将被选中的候选词语替换初始识别结果中与被选中的候选词语处于相同位置的词语。如此,能够提高用户在聊天过程中发送文字信息的效率和速度。
以歌词编辑的场景为例,客户端410可以是歌词编辑APP,多媒体文件可以是待编辑歌词的音频。用户通过客户端410上传待编辑歌词的音频,客户端410对音频中的多个语音进行语音识别,以得到与多个语音一一对应的多个初始识别结果;并在人机交互界面中根据与初始识别结果中的每个词语的识别确定程度对应的显示方式,显示初始识别结果;当用户发现初始识别结果中存在错误词语时,客户端410响应于用户的聚焦操作,显示候选词语,并响应于用户针对候选词语的选择操作,将被选中的候选词语替换初始识别结果中与被选中的候选词语处于相同位置的词语。如此,不仅能够提高用户编辑歌词的准确率,还能够提高用户编辑歌词的效率和速度。
本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
作为示例,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、以及智能手表等,但并不局限于此。终端400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
接下来说明图2中的终端400的结构。参见图3,图3是本申请实施例提供的终端400的结构示意图,图3所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口)。
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的直播过程中的信息提示装置可以采用软件方式实现,图3示出了存储在存储器450中的语音识别处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:识别模块4551、显示模块4552以及替换模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
本申请实施例提供的语音识别处理方法可以由图2中的终端400单独执行,也可以由图2中的终端400和服务器200协同执行。
下面,以由图2中的终端400单独执行本申请实施例提供的语音识别处理方法为例说明。参见图4,图4是本申请实施例提供的语音识别处理方法的流程示意图,将结合图4示出的步骤进行说明。
需要说明的是,图4示出的方法可以由终端400运行的各种形式计算机程序执行,并不局限于上述的客户端410,例如上文的操作系统451、软件模块和脚本,因此客户端不应视为对本申请实施例的限定。
在步骤S101中,对多媒体文件中的语音进行语音识别,以得到包括多个词语的语句。
这里,多个词语用于作为初始识别结果。
在一些实施例中,多媒体文件可以是音频、视频或单独的语音信息。因此,多媒体文件中可以包括一个语音,也可以包括多个语音。
作为示例,当多媒体文件是音频时,本申请实施例可应用于歌词编辑应用场景;当多媒体文件是视频时,本申请实施例可应用于字幕编辑应用场景;当多媒体文件是单独的语音信息时,本申请实施例可应用于实时语音转文字应用场景。
以字幕编辑的场景为例,客户端可以是字幕编辑APP,多媒体文件可以是待编辑字幕的视频,视频中包含多个语音。用户通过客户端上传待编辑字幕的视频,客户端对视频中的多个语音进行语音识别,以得到与多个语音一一对应的多个语句。
以实时语音转文字的场景为例,客户端可以是社交APP,多媒体文件可以是单独的语音信息。用户通过客户端中的实时语音转文字功能对上传的语音进行语音识别,以得到对应语音的语句。
以歌词编辑的场景为例,客户端可以是歌词编辑APP,多媒体文件可以是待编辑歌词的音频,音频中包含多个语音。用户通过客户端上传待编辑歌词的音频,客户端对音频中的多个语音进行语音识别,以得到与多个语音一一对应的多个语句。
在步骤S102中,根据与每个词语的识别确定程度对应的显示方式,显示包括多个词语的语句。
这里,词语的识别确定程度用于表征在语音识别过程中该词语识别正确的概率,例如置信度。
在一些实施例中,根据每个词语的识别确定程度,确定对应每个词语的显示方式的显著程度,并根据对应每个词语的显示方式的显著程度显示语句;其中,显著程度和识别确定程度之间负相关。
作为示例,词语的显示方式包括以下至少之一:颜色;字体类型;字号;特效;标识符(例如下划线、引号等);粗细程度。
举例来说,当语句中包括词语A、词语B和词语C、词语A的识别确定程度是0.5、词语B的识别确定程度是0.3、且词语C的识别确定程度是0.8时,词语C的显示方式的显著程度最低,词语A的显示方式的显著程度居中,词语B的显示方式的显著程度最高,例如,词语C的字号最小,词语A的字号居中,词语B的字号最大。
例如,图8C中,词语“金天”的识别确定程度是0.3、词语“王伟”的识别确定程度是0.5、词语“从军行”“我们”“学习”“的”的识别确定程度是1,此时,词语“从军行”“我们”“学习”“的”的显示方式的显著程度相同、且最低,即字号均为8;词语“王伟”的显示方式的显著程度居中,即字号为10;词语“金天”的显示方式的显著程度最高,即字号为12。
在另一些实施例中,将识别确定程度低于程度阈值的词语,以区别于语句中确定性词语的显示方式进行显示。
这里,确定性词语是识别确定程度不低于程度阈值的词语或者是没有候选词语的词语。不确定性词语是识别确定程度低于程度阈值的词语或者是有候选词语的词语。程度阈值可以是缺省值,也可以是用户设定的值,还可以是根据语句中的所有词语对应的识别确定程度所确定的,例如,将所有词语对应的识别确定程度的平均值作为程度阈值。
作为示例,不确定性词语可以以区别于确定性词语的字号进行显示,例如,不确定性词语的字号可以大于确定性词语的字号;不确定性词语可以以区别于确定性词语的字体颜色进行显示,例如,不确定性词语的字体颜色可以是红色,确定性词语的字体颜色可以是黑色;可以在不确定性词语的附近显示区别标识符以区别于确定性词语进行显示,其中,区别标识符可以是下划线或引号等符号,例如,不确定性词语的下方可以有下划线,确定性词语则无下划线。
举例来说,当语句中包括词语A、词语B和词语C、程度阈值是0.4、词语A的识别确定程度是0.5、词语B的识别确定程度是0.3、且词语C的识别确定程度是0.8时,词语C和词语A是确定性词语,词语B是不确定性词语。如此,将词语B以区别于词语C和词语A的显示方式进行显示。例如,词语B的字体颜色是红色,词语C和词语A的字体颜色是黑色。
举例来说,图8A中,显示的语句中不确定性词语“王伟”的字号大于确定性词语“今天”“我们”“学习”“的”“从军行”的字号。
本申请实施例针对初始识别结果中每个词语的识别确定程度,通过多种方式差异化显示初始识别结果中的多个词语,能够提示初始识别结果中识别确定程度较低的词语,便于用户针对初始识别结果中识别确定程度较低的词语进行修改,相较于相关技术中需要用户自己去核对错误的词语,本申请实施例能够实现快速且准确的修改初始识别结果,从而提高获得符合用户需求的识别结果的效率。
在步骤S103中,显示至少一个词语的候选词语。
在一些实施例中,响应于针对语句中至少一个词语的聚焦操作,在至少一个词语的相邻位置显示对应的至少一个候选词语。
作为示例,响应于针对语句中至少一个词语的聚焦操作,在聚焦操作的焦点所在的词语的相邻位置显示对应的至少一个候选词语。
作为示例,聚焦操作可以是操作系统预先设置的、且和已注册操作无冲突的各种形式的操作;也可以是用户自定义的、且和已注册操作无冲突的各种形式的操作。聚焦操作包括以下至少之一:点击操作(例如,触控点击操作或移动鼠标的点击操作等,其中,焦点是点击操作的点击位置);悬停操作(例如,移动鼠标在词语的悬停时间超过时间阈值的操作,其中,时间阈值可以是缺省值,也可以是用户设定的值,焦点是悬停操作的悬停位置);语音操作(其中,焦点所在的词语是语音操作中的语音所包含的词语);视线聚焦操作(焦点是视线焦点,例如,视线焦点所在的词语是视线聚焦操作所选定的词语,即显示视线焦点所在的词语的候选词语)。如此,能够提高用户的操作体验。
作为示例,词语的相邻位置可以是词语的邻近的上方、下方、左方或右方。例如,当语句是水平排列时,可以在词语的邻近的上方或下方显示对应的候选词语;当语句是竖直排列时,可以在词语的邻近的左方或右方显示对应的候选词语。
举例来说,图8A中,当用户将鼠标悬停到任意词语上时,在词语邻近的下方展示悬浮框801,并在悬浮框801中展示若干个候选词语。
在另一些实施例中,自动显示语句中至少一个词语的候选词语。
作为示例,可以自动显示语句中的部分词语所对应的候选词语,也可以显示语句中的全部词语所对应的候选词语。
作为示例,当从多媒体文件中的多个语音中识别出一一对应的多个语句时,可以自动显示所有语句中至少一个词语的候选词语;也可以针对多个语句中的部分语句,自动显示语句中至少一个词语的候选词语;其中,部分语句可以是存在不确定性词语的语句,也可以是终端屏幕中所包括的语句。
举例来说,图8D中,在多媒体文件中识别出的多个语句中,只有语句“请大家翻到书本第十三爷”和语句“今天我们学习王伟的从军行”中存在不确定性词语,因此,可以在悬浮框803中自动显示上述两个语句中对应不确定性词语的候选词语。
举例来说,图8E中,在字幕编辑区域的右侧显示展示框804,并在展示框804中显示至少一个词语的候选词语。其中,展示框804可以位于字幕编辑区域的上方、下方、左方或右方等,本申请实施例对此不进行限制。
本申请实施例,候选词语中有较高的概率存在正确的词语,向用户展示候选词语,能够便于用户后续在候选词语中选取正确的词语进行更正,从而提高获得符合用户需求的识别结果的效率。
在一些实施例中,候选词语显示时可以采用与相同位置的词语一致的显示方式,也可以采用与相同位置的词语不同的显示方式。例如,图8A中词语“王伟”的候选词语“王维”和“王卫”可以采用和显示“王伟”时所采用的相同的显示方式,也可以采用不同的显示方式。
在一些实施例中,当词语包括多个候选词语时,根据以下方式至少之一,确定多个候选词语的排序方式:将多个候选词语,按照候选词语的识别确定程度进行降序排序;将多个候选词语,按照候选词语的被选择的次数进行降序排序;根据排序方式显示多个候选词语。
作为示例,由于候选词语的识别确定程度越高表征候选词语是正确的词语的概率越高,因此将多个候选词语,按照候选词语的识别确定程度进行降序排序,能够向用户优先展示较大概率是正确的词语的候选词语,从而能够提高用户更正识别错误字词的速度。
作为示例,由于候选词语的被选择的次数越高表征候选词语符合用户需求的概率越高,因此将多个候选词语,按照候选词语的被选择的次数进行降序排序,能够向用户优先展示较大概率符合用户需求的候选词语,从而能够提高用户更正识别错误字词的速度。
在步骤S104中,响应于选择操作,根据被选中的候选词语替换语句中与被选中的候选词语处于相同位置的词语。
作为示例,选择操作可以是操作系统预先设置的、且和已注册操作无冲突的各种形式的操作;也可以是用户自定义的、且和已注册操作无冲突的各种形式的操作。选择操作包括以下至少之一:点击操作(例如,移动鼠标点击候选词语的操作或触碰点击候选词语的操作等);悬停操作(例如,移动鼠标在候选词语的悬停时间超过时间阈值的操作,其中,时间阈值可以是缺省值,也可以是用户设定的值);语音操作;体感操作;视线选择操作(例如,视线焦点所在的候选词语是视线选择操作所选定的候选词语)。如此,能够提高用户的操作体验。
举例来说,图8B中,用户可以通过选择候选词语802“王维”来替换语句中的“王伟”,当用户选择候选词语“王维”后,更正后的语句为“今天我们学习王维的从军行”。
本申请实施例针对识别错误的词语进行选择性的替换修改,相较于相关技术通过键入更正后的词语来修正错误的词语操作简单,能够实现快速且准确的修改初始识别结果,从而提高获得符合用户需求的识别结果的效率。
在一些实施例中,在步骤S104之后还可以包括:将被选中的候选词语在语句中的显示方式应用为与确定性词语一致的显示方式。如此,能够向用户不再提示已修正的词语,避免用户在修正过程中将已修正的词语和未修正的词语混淆,从而提高用户的修正效率。
举例来说,图8A中,显示的语句中不确定性词语“王伟”的字号大于确定性词语“今天”“我们”“学习”“的”“从军行”的字号。图8B中,当将“王伟”替换为“王维”后,显示的语句为“今天我们学习王维的从军行”,其中,“王维”的字号和确定性词语“今天”“我们”“学习”“的”“从军行”的字号相同。
在一些实施例中,在步骤S104之后还可以包括:将在语句中与被替换的词语相同的至少一个词语,自动替换为被选中的候选词语,并将被选中的候选词语在语句中的显示方式应用为与确定性词语一致的显示方式。如此,能够将语句中相同的错误词语批量替换为被选中的候选词语,从而提高用户的修正效率。
作为示例,在语句中将与被替换的词语相同的所有词语自动替换为被选中的候选词语;或者,将与被替换的词语相同、且识别确定程度低于程度阈值的所有词语自动替换为被选中的候选词语,并将被选中的候选词语在语句中的显示方式应用为与确定性词语一致的显示方式。
在一些实施例中,在步骤S104之后还可以包括:呈现全局替换提示信息,其中,全局替换提示信息用于提示将基于被选中的候选词语进行全局替换;响应于针对全局替换提示信息的确认操作,将从多媒体文件识别出的至少一个语句中的、且与被选中的候选词语替换的词语相同的词语,全部替换为被选中的候选词语。如此,能够在接收到用户的确认操作后,将语句中相同的错误词语批量替换为被选中的候选词语,从而提高用户的修正效率。
这里,确认操作可以是触发全局替换提示信息中的确认按钮的操作,也可以是聚焦操作的焦点离开语句的操作。
作为示例,将从多媒体文件识别出的至少一个语句中的、且与被选中的候选词语替换的词语相同的词语,全部替换为被选中的候选词语之后,还可以包括:将被替换的位置的词语的显示方式应用为与确定性词语一致的显示方式。如此,能够向用户不再提示已修正的词语,避免用户在修正过程中将已修正的词语和未修正的词语混淆,从而提高用户的修正效率。
在一些实施例中,当从多媒体文件中的多个语音中识别出一一对应的多个语句时,参见图5,图5是本申请实施例提供的语音识别处理方法的流程示意图,基于图4,在步骤S102之前可以包括步骤S105,在步骤S104之后可以包括步骤S106,需要说明的是,步骤S106是可选的。
在步骤S105中,确定显示多个语句时所采用的排序方式。
在一些实施例中,将多个语句按照语句的识别确定程度进行升序排序,其中,语句的识别确定程度是语句中包括的所有词语的识别确定程度的加和。
举例来说,当从多媒体文件中识别出语句A、语句B和语句C、语句A的识别确定程度是2.3、语句B的识别确定程度是2.8、且语句C的识别确定程度是2.5时,语句A、语句B和语句C的排序方式是:语句A;语句C;语句B。如此,能够优先向用户展示识别确定程度较低的语句,便于用户优先更正识别确定程度较低的语句。
在另一些实施例中,将多个语句按照语句对应的语音在多媒体文件中出现的先后顺序进行排序。
以字幕编辑的场景为例,图8A中,显示的多个语句是按照语句对应的语音在视频中出现的先后顺序进行排序,并在多个语句的相邻位置显示与多个语句一一对应的语音的播放时间,其中,播放时间包括起始播放时间和结束播放时间。如此,能够按照时间轴向用户展示相应的语句,便于用户按照语句对应的语音在多媒体文件中出现的先后顺序更正存在错误词汇的语句。
在又一些实施例中,将多个语句按照所包括的不确定性词语在多个语句中的出现频率进行降序排序。
举例来说,当从多媒体文件中识别出语句A、语句B和语句C、语句A中包括2个不确定性词语、语句B中包括5个不确定性词语、且语句C中包括3个不确定性词语时,语句A、语句B和语句C的排序方式是:语句B;语句C;语句A。如此,能够优先向用户展示存在错误词汇较多的语句,便于用户优先更正存在错误词汇较多的语句。
在步骤S106中,更新显示多个语句的排序。
在一些实施例中,更新多个语句的识别确定程度的升序排序。
举例来说,当已对语句A、语句B和语句C中的至少一个语句进行更正后,更正后的语句A、语句B和语句C的识别确定程度分别是2.3、2.8和2.5,更新显示多个语句的排序方式是:语句A;语句C;语句B。如此,通过在对语句进行更正后更新其排序方式,能够始终优先向用户展示识别确定程度较低的语句,便于用户优先更正识别确定程度较低的语句。
在另一些实施例中,更新多个语句所包括的不确定性词语的出现频率的降序排序。
举例来说,当已对语句A、语句B和语句C中的至少一个语句进行更正后,更正后的语句A、语句B和语句C中分别包括2个不确定性词语、5个不确定性词语和3个不确定性词语,更新显示多个语句的排序方式是:语句B;语句C;语句A。如此,通过在对语句进行更正后更新其排序方式,能够始终优先向用户展示存在错误词汇较多的语句,便于用户优先更正存在错误词汇较多的语句。
在一些实施例中,参见图6A,图6A是本申请实施例提供的语音识别处理方法的流程示意图,基于图4,步骤S101可以替换为步骤S107。
在步骤S107中,对多媒体文件中的语音进行语音识别,得到多个解码路径、以及对应每个解码路径的路径评分。
这里,每个解码路径包括多个词语。
举例来说,图10C中存在四个解码路径,分别对应每个解码路径存在路径评分,例如,“学习王维”—路径评分是“6”;“血洗王维”—路径评分是“11”;“学习王卫”—路径评分是“7”;“血洗王卫”—路径评分是“12”。
在一些实施例中,在步骤S102之前可以包括:在对多媒体文件中的语音进行语音识别得到的多个解码路径中,将路径评分最低的解码路径确定为最优解码路径;将最优解码路径中包括的多个词语确定为初始识别结果。
举例来说,图10C中,由于“学习王维”的路径评分最低,因此,“学习王维”是最优解码路径,其中包括的词语“学习”和“王维”用于作为初始识别结果。
在一些实施例中,在步骤S103之前可以包括:将多个解码路径按照路径评分进行升序排序,并在升序排序结果中选取除最优解码路径之外的、且在前的部分解码路径;在选取的解码路径中,将与至少一个词语处于相同位置的词语确定为候选词语。
举例来说,图10C中,将四个解码路径按照路径评分进行升序排序,排序后的解码路径分别是:“学习王维”;“学习王卫”;“血洗王维”;“血洗王卫”;此时,若选取除最优解码路径之外的、且在前的两个解码路径,分别是“学习王卫”和“血洗王维”,因此,初始识别结果中的“学习”所对应的候选词语是“血洗”,“王维”所对应的候选词语是“王卫”。
在一些实施例中,参见图6B,图6B是本申请实施例提供的语音识别处理方法的流程示意图,基于图6A,步骤S107可以包括步骤S1071至步骤S1074。
在步骤S1071中,对多媒体文件中的语音进行分帧处理,以获得多个音频子数据。
在一些实施例中,分帧处理就是对语音进行分割,也就是将语音分割成多个小段,每小段就是音频子数据。
在步骤S1072中,对每个音频子数据进行声学特征提取,以获得多个音频特征。
在一些实施例中,对语音进行分帧处理后,语音变为多个音频子数据,但是音频子数据的波形在时域上几乎没有描述能力,因此必须将音频子数据的波形作进行变换,即根据人耳的生理特性,把每个音频子数据变换为是多维向量的音频特征,音频特征中包含了对应的音频子数据的内容信息。
在步骤S1073中,对多个音频特征进行词图生成处理,以获得词图网络。
在一些实施例中,将每个音频特征转换为相应的音素,以获得多个音素;将多个音素进行组合,以获得多个音素串;通过声学模型对每个音素串进行识别,以获得对应每个音素串的多个词语、以及每个词语的评分;将获得的词语作为词图网络中的节点,并将词语的评分确定为相应的节点的评分;将相邻的音素串所对应的节点进行连线,并通过语言模型对每个连线的两个节点所对应的词语进行识别,以获得每个连线的评分。
作为示例,连线的评分表征连线的两个节点所对应的词语连接在一起是完整语句的概率。例如,连线的评分越低表征连线的两个节点所对应的词语连接在一起是完整语句的概率越高;连线的评分越高表征连线的两个节点所对应的词语连接在一起是完整语句的概率越低。
作为示例,在将获得的词语作为词图网络中的节点之前,还可以包括:针对每个音素串所对应的多个词语执行以下处理:根据词语的评分对多个词语进行升序排序,并过滤掉升序排序结果中在后的部分词语。
作为示例,将每个音频特征转换为相应的音素,可以包括:针对每个音频特征执行以下处理:将音频特征与基础音素库中的每个基础音素进行匹配,以确定音频特征和每个基础音素之间的相似度;将相似度最高的基础音素确定为对应音频特征的音素。
作为示例,在显示包括多个词语的语句之前,还可以包括:针对每个音素串所对应的多个词语执行以下处理:将多个词语按照评分进行升序排序,并在升序排序结果中选取在前的两个词语;确定两个词语之间的评分差值;根据评分差值,确定初始识别结果中对应音素串的词语的识别确定程度;其中,评分差值与识别确定程度之间正相关。
举例来说,图10C中,在中间节点中存储到达此状态的候选词语“血洗”,并通过计算最优解码路径的词语“学习”和次优解码路径的词语“血洗”之间评分差值7-2=5来标记词语“学习”字号或颜色,其中,评分差值越大,表示识别结果(即识别出的最优解码路径的词语“学习”)的把握越大(即正确性越高),字号越小(或字体颜色越偏向黑色);反之,字号越大(或字体颜色越偏向红色)。
在步骤S1074中,基于词图网络,进行路径生成处理,以获得多个解码路径、以及对应每个解码路径的路径评分。
在一些实施例中,在词图网络中确定从起始节点到终止节点的多个解码路径;对每个解码路径执行以下处理:将解码路径包括的多个节点的评分、以及多个连线的评分进行加和,以获得解码路径的路径评分。
举例来说,图10D中,起始节点是“1”,终止节点是“4”,按照从0—>1—>2—>3—>4的解码路径,即可输出完整的“data”;其中,从0—>1—>2—>3—>4的解码路径的路径评分是1+0.5+0.3+1=2.8。
本申请实施例相较于相关技术在语音识别过程中仅寻找最优解码路径来说,本申请实施例还寻找其余路径评分较低的解码路径,并将其余解码路径中的词语作为候选词语,提高了候选词语中存在正确词语的概率,从而能够实现快速且准确的修改初始识别结果,进而提高获得符合用户需求的识别结果的效率。
下面,以由图2中的服务器200和终端400协同实施本申请实施例提供的语音识别处理方法为例进行说明。参见图7,图7是本申请实施例提供的语音识别处理方法的流程示意图,将结合图7示出的步骤进行说明。
在步骤S201中,服务器对多媒体文件中的语音进行语音识别,以得到包括多个词语的语句。
其中,多个词语用于作为初始识别结果。
在步骤S202中,服务器将包括多个词语的语句发送至客户端。
在步骤S203中,客户端根据与每个词语的识别确定程度对应的显示方式,显示包括多个词语的语句。
在步骤S204中,客户端显示至少一个词语的候选词语。
在步骤S205中,客户端响应于选择操作,根据被选中的候选词语替换语句中与被选中的候选词语处于相同位置的词语。
需要说明的是,步骤S201和步骤S203至步骤S205中的具体实现方式和上述步骤S101至步骤S104中包含的实施例类似,将在此不再进行赘述。
本申请实施例中,服务器相对于终端来说计算能力强,运算速度快,通过服务器完成语音识别的过程,不仅能够提高终端显示识别结果的速度,而且能够减小终端的计算资源。
下面,以字幕编辑应用场景为例说明本申请实施例提供的语音识别处理方法。
参见图8A,图8A是本申请实施例提供的语音识别处理方法的应用场景示意图,图8A中,本申请实施例提供的字幕文本编辑框区别于相关技术中提供的文本编辑框(参见图1A和图1B),具体的,ASR中错误的词语能够被以不同字号(也可以是不同颜色)代表的不同识别确定程度标记出来,能够使用户用“选择”的方式替代“输入”的方式更正ASR中识别错误的词语。
参见图9,图9是本申请实施例提供的语音识别处理方法的流程示意图,将结合图8A和图9进行说明。
在步骤S901中,获取用户上传的没有字幕的视频文件。
在步骤S902中,生成对应视频文件的字幕。
在一些实施例中,字幕中的字词被不同字号或不同颜色标记出来,其中,字体越小(或颜色越黑)代表该词语的识别置信度越高,字体越大(或颜色越红)代表该词语的识别置信度越低。
在步骤S903中,显示候选词语。
在一些实施例中,图8A中,当用户将鼠标悬停到任意词语(包括置信度较高的词语)上时,展示悬浮框801,并在悬浮框801中展示若干个候选词语。
在步骤S904中,响应于针对候选词语的选择操作,完成错误词语的更正。
在一些实施例中,当用户点击悬浮框801中展示的候选词语,即可完成错误词语的更正。
接下来说明语音识别的具体过程,参见图10A、图10B、图10C和图10D,图10A、图10B、图10C和图10D是本申请实施例提供的语音识别处理方法的原理示意图。
图10A中,首先,从语音波形切分出25ms到40ms的时间切片;然后,识别每个切片对应的音素,音素是指最小的语音划分单位,普通话里的每个韵母和声母都对应一个音素,例如:“各”有“G”和“E”两个音素组成;最后,生成Lattice网络,Lattice网络中的每个节点是字或者词,在各个节点之间以代表代价的边进行连接,形成一个有向无环图。
在一些实施例中,通过声学模型和语言模型的得分来得到两个节点之间(即上述的边)的代价,声学模型的得分描述了这个语音波形有多大的可能发这个节点的音,语言模型的得分描述了这些节点连接到一起有多大概率是一个通顺的句子。得到Lattice网络后,从起始节点出发沿任意路径到达终止节点能够得到多种解码路径,其中总代价(即上述的路径评分)最小的路径即是最优解码路径。
在一些实施例中,图10B是语音识别的功能架构图,其中,图10B中的语音识别的功能架构由如下输入输出组成:
语音波形—>特征提取器—>音频特征;
音频特征—>语音解码器—>Lattice网络;
Lattice网络—>结果生成器—>带候选词语的识别结果。
这里,Lattice网络是一张有向无环图,结果生成器的作用就是将一张有向无环图转换成:词1词2词3词4(候选词语4.1候选词语4.2)词5(候选词语5.1)这样的序列,如此,当用户触发词5时,就可以展示候选词5.1。
本申请实施例的核心是通过结果生成器生成带候选词语的识别结果。在A SR的语音解码过程中,呈现的初始识别结果是Lattice网络上的最优解码路径,如果只获取总代价的降序排序中最小的最优解码路径,WER约为0.1;如果选择总代价的降序排序中前三的解码路径,WER约为0.05。因此本申请实施例将次优解码路径上的词语通过鼠标悬停的方式展现给用户,其中,展示的候选词语有较高的概率存在正确词语,图10C中是Lattice网络中节选的部分词语,将结合图10C进行说明。
图10C中,边代表的是走其中一条解码路径所需的代价,代价越高表示越不可能走这条路径;黑色圆点表示识别的状态,识别的过程必须在圆点间跳转,从起始节点到终止节点;方块表示令牌,一个令牌包含识别到当前状态包含的全部词语、及相应的代价,其中,令牌上的代价是识别到这个词时,整个句子的代价,状态在黑点之间跳转的时候,边上的代价会累计到令牌上。
语音解码就是确定图10C中的最短解码路径,然后把代价最小的令牌中的解码路径进行输出。相关技术中只寻找最优解码路径,如图10C中到达“学习”节点时,已知此令牌的代价最小,并且是一个“汇聚”的节点,此时丢弃其他结果(或称剪枝),继续向后解码。而本申请实施例则会在这个节点中存储到达此状态的候选词语“血洗”,并将词语“血洗”保存到识别结果的候选词集中,并通过计算最优解码路径的词语“学习”和次优解码路径的词语“血洗”之间代价差值7-2=5来标记字号或颜色,其中,代价差值越大,表示识别结果(即识别出的最优解码路径的词语“学习”)的把握越大(即正确性越高),字号越小(或字体颜色越偏向黑色);反之,字号越大(或字体颜色越偏向红色)。
例如,当解码路径到达左上角第一个状态时,“学习”的代价为1,“血洗”的代价为5,表示当前位置是“学习”的可能性最大(代价最小),解码路径指向的边上的数字“1”和“2”代表沿这条解码路径前进需要增加的代价,在中间的节点上的“学习”的代价即为1+1=2,“血洗”的代价为5+2=7,此时保留“血洗”作为候选词语,将代价较大的“学洗”(8+1=9)和“雪洗”(6+2=8)丢弃,通过这种方式保留若干个候选词语。
图10D是语音解码器的解码过程,语音解码器将音频特征作为输入,输入到一个解码图(图10D是解码图中的一部分)中,用来生成Lattice网络。图10D中的解码图用来输出Lattice网络中的一个识别词(data),“ε”是指空输出,有词的输出和空输出共同组成了Lattice网络;圆圈中的“0”是开始状态,“4”是结束状态,“d:data/1”的含义是:d(输入音素):data(输出Lattice网络上的单词)/1(代价)。如果输入的音素是d/ae/t/ax这4个序列,就能从0—>1—>2—>3—>4跳转到终止状态,输出完整的“data”;其中,输入音素就是通过计算音频特征和基础音素之间相似度,将相似度最高的基础音素确定为输入音素。综上,data这个词的代价就是1+0.5+0.3+1=2.8。实际解码过程中Lattice网络是一张结构和图10D相似,但规模大很多的图,所有搜索输出的单词,可以构成一张图,即Lattice网络。
本申请实施例针对语音识别过程中识别错误的词语用选择的方式代替键入,能够大幅提高字幕编辑人员制作字幕的效率。
下面结合图3说明本申请实施例提供的语音识别处理装置的实施为软件模块的示例性结构。
在一些实施例中,如图3所示,存储在存储器450的语音识别处理装置455中的软件模块可以包括:
识别模块4551,用于对多媒体文件中的语音进行语音识别,以得到包括多个词语的语句,其中,多个词语用于作为初始识别结果;
显示模块4552,用于根据与每个词语的识别确定程度对应的显示方式,显示包括多个词语的语句;
显示模块4552,还用于显示至少一个词语的候选词语;
替换模块4553,还用于响应于选择操作,根据被选中的候选词语替换语句中与被选中的候选词语处于相同位置的词语。
在上述方案中,显示模块4552,还用于响应于针对语句中至少一个词语的聚焦操作,在至少一个词语的相邻位置显示对应的至少一个候选词语;或者,自动显示语句中至少一个词语的候选词语。
在上述方案中,显示模块4552,还用于将识别确定程度低于程度阈值的词语,以区别于语句中确定性词语的显示方式进行显示;其中,确定性词语是识别确定程度不低于程度阈值的词语。
在上述方案中,显示模块4552,还用于根据每个词语的识别确定程度,确定对应每个词语的显示方式的显著程度,并根据对应每个词语的显示方式的显著程度显示语句;其中,显著程度和识别确定程度之间负相关。
在上述方案中,替换模块4553,还用于将在语句中与被替换的词语相同的至少一个词语,自动替换为被选中的候选词语,并将被选中的候选词语的显示方式应用为与确定性词语一致的显示方式;其中,确定性词语是识别确定程度不低于程度阈值的词语。
在上述方案中,替换模块4553,还用于呈现全局替换提示信息,其中,全局替换提示信息用于提示将基于被选中的候选词语进行全局替换;响应于针对全局替换提示信息的确认操作,将从多媒体文件识别出的至少一个语句中的、且与被选中的候选词语替换的词语相同的词语,全部替换为被选中的候选词语。
在上述方案中,当从多媒体文件中的多个语音中识别出一一对应的多个语句时,语音识别处理装置455还包括:排序模块,用于根据以下方式至少之一,确定显示多个语句时所采用的排序方式:将多个语句按照语句的识别确定程度进行升序排序,其中,语句的识别确定程度是语句中包括的所有词语的识别确定程度的加和;将多个语句按照语句对应的语音在多媒体文件中出现的先后顺序进行排序;将多个语句按照所包括的不确定性词语在多个语句中的出现频率进行降序排序,其中,不确定性词语是识别确定程度低于程度阈值的词语。
在上述方案中,排序模块,还用于根据以下方式至少之一,更新显示多个语句的排序:更新多个语句的识别确定程度的升序排序;更新多个语句所包括的不确定性词语的出现频率的降序排序。
在上述方案中,显示模块4552,还用于将被选中的候选词语的显示方式应用为与确定性词语一致的显示方式;其中,确定性词语是识别确定程度不低于程度阈值的词语。
在上述方案中,当词语包括多个候选词语时,显示模块4552,还用于根据以下方式至少之一,确定多个候选词语的排序方式:将多个候选词语,按照候选词语的识别确定程度进行降序排序;将多个候选词语,按照候选词语的被选择的次数进行降序排序;根据排序方式显示多个候选词语。
在上述方案中,识别模块4551,还用于在对多媒体文件中的语音进行语音识别得到的多个解码路径中,将路径评分最低的解码路径确定为最优解码路径;将最优解码路径中包括的多个词语确定为初始识别结果。
在上述方案中,识别模块4551,还用于将多个解码路径按照路径评分进行升序排序,并在升序排序结果中选取除最优解码路径之外的、且在前的部分解码路径;在选取的解码路径中,将与至少一个词语处于相同位置的词语确定为候选词语。
在上述方案中,识别模块4551,还用于对多媒体文件中的语音进行语音识别,得到多个解码路径、以及对应每个解码路径的路径评分;其中,每个解码路径包括多个词语。
在上述方案中,识别模块4551,还用于对多媒体文件中的语音进行分帧处理,以获得多个音频子数据;对每个音频子数据进行声学特征提取,以获得多个音频特征;对多个音频特征进行词图生成处理,以获得词图网络;基于词图网络,进行路径生成处理,以获得多个解码路径、以及对应每个解码路径的路径评分。
在上述方案中,识别模块4551,还用于在词图网络中确定从起始节点到终止节点的多个解码路径;对每个解码路径执行以下处理:将解码路径包括的多个节点的评分、以及多个连线的评分进行加和,以获得解码路径的路径评分。
在上述方案中,识别模块4551,还用于将每个音频特征转换为相应的音素,以获得多个音素;将多个音素进行组合,以获得多个音素串;通过声学模型对每个音素串进行识别,以获得对应每个音素串的多个词语、以及每个词语的评分;将获得的词语作为词图网络中的节点,并将词语的评分确定为相应的节点的评分;将相邻的音素串所对应的节点进行连线,并通过语言模型对每个连线的两个节点所对应的词语进行识别,以获得每个连线的评分;其中,连线的评分表征连线的两个节点所对应的词语连接在一起是完整语句的概率。
在上述方案中,识别模块4551,还用于针对每个音素串所对应的多个词语执行以下处理:根据词语的评分对多个词语进行升序排序,并过滤掉升序排序结果中在后的部分词语。
在上述方案中,识别模块4551,还用于针对每个音频特征执行以下处理:将音频特征与基础音素库中的每个基础音素进行匹配,以确定音频特征和每个基础音素之间的相似度;将相似度最高的基础音素确定为对应音频特征的音素。
在上述方案中,识别模块4551,还用于针对每个音素串所对应的多个词语执行以下处理:将多个词语按照评分进行升序排序,并在升序排序结果中选取在前的两个词语;确定两个词语之间的评分差值;根据评分差值,确定初始识别结果中对应音素串的词语的识别确定程度;其中,评分差值与识别确定程度之间正相关。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的语音识别处理方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的语音识别处理方法,例如,图4、图5、图6A、图6B、图7和图9示出的语音识别处理方法,计算机包括智能终端和服务器在内的各种计算设备。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本申请实施例具有以下有益效果:
(1)针对初始识别结果中每个词语的识别确定程度,通过多种方式差异化显示初始识别结果中的多个词语,能够提示初始识别结果中识别确定程度较低的词语,便于用户针对初始识别结果中识别确定程度较低的词语进行修改,相较于相关技术中需要用户自己去核对错误的词语,本申请实施例能够实现快速且准确的修改初始识别结果,从而提高获得符合用户需求的识别结果的效率。
(2)候选词语中有较高的概率存在正确的词语,向用户展示候选词语,能够便于用户后续在候选词语中选取正确的词语进行更正,从而提高获得符合用户需求的识别结果的效率。
(3)针对识别错误的词语进行选择性的替换修改,相较于相关技术通过键入更正后的词语来修正错误的词语操作简单,能够实现快速且准确的修改初始识别结果,从而提高获得符合用户需求的识别结果的效率。
(4)能够向用户不再提示已修正的词语,避免用户在修正过程中将已修正的词语和未修正的词语混淆,从而提高用户的修正效率。
(5)能够优先向用户展示识别确定程度较低的语句,便于用户优先更正识别确定程度较低的语句;能够按照时间轴向用户展示相应的语句,便于用户按照语句对应的语音在多媒体文件中出现的先后顺序更正存在错误词汇的语句;能够优先向用户展示存在错误词汇较多的语句,便于用户优先更正存在错误词汇较多的语句。
(6)相较于相关技术在语音识别过程中仅寻找最优解码路径来说,本申请实施例还寻找其余路径评分较低的解码路径,并将其余解码路径中的词语作为候选词语,提高了候选词语中存在正确词语的概率,从而能够实现快速且准确的修改初始识别结果,今儿提高获得符合用户需求的识别结果的效率。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种语音识别方法及其相关设备