实时字幕显示方法及系统与流程

文档序号:12629169阅读:1454来源:国知局
实时字幕显示方法及系统与流程

本发明涉及语音信号处理领域,具体涉及一种实时字幕显示方法及系统。



背景技术:

人工智能的应用中,机器的语音识别准确率在不断上升。其中,语音听写技术主要应用在语音输入、语音搜索、语音助手等产品中,语音转写的典型场景包括,记者采访、电视节目、课堂及交谈式会议等等,甚至包括任何人在日常的工作生活中产生的任何录音文件。在语音转写的应用场景中,通常需要同步将语音转写得到的文本以字幕的形式显示出来。

目前,对于音视频字幕的显示,一般是针对预先录制的音视频,人工根据音视频中说话人内容手工添加字幕文本,将字幕文本直接显示在音视频的屏幕上;另外,考虑到音视频字幕的视觉效果,字幕显示时,一屏仅显示一行或两行字幕文本,传递的信息量较少,对于直播或说话人现场用户无法重复观看的情况,如会议场景下,每个参会人在听说话人讲话时,字幕实时显示到屏幕上,如果用户未理解说话人的某句话,并不能现场重新查看字幕文本,显然这种显示方式无法满足应用需求。



技术实现要素:

本发明实施例提供一种实时字幕显示方法及系统,以提高了说话人信息传递的效果。

为此,本发明提供如下技术方案:

一种实时字幕显示方法,包括:

接收说话人语音数据;

对当前语音数据进行语音识别,得到待显示的字幕文本;

对所述字幕文本添加标点,得到字幕文本分句;

确定并标记所述字幕文本分句结束位置是否需要分段;

根据说话人韵律特征确定字幕显示基本单元;

根据所述字幕显示基本单元对所述字幕文本进行显示。

优选地,所述方法还包括:

预先训练分段模型;

所述确定所述字幕文本分句结束位置是否需要分段包括:

提取所述字幕文本分句的分句向量;

将所述分句向量输入所述分段模型,得到所述字幕文本分句结束位置的分段标记。

优选地,所述说话人韵律特征包括:说话人说话时的语速及停顿时长;

所述根据说话人韵律特征确定字幕显示基本单元包括:

计算说话人当前的说话语速及字幕文本分句之间的停顿时长;

判断所述说话语速是否超过设定的语速阈值,或者所述停顿时长是否低于预先设定的停顿时长阈值,

如果是,则使用字幕文本分句作为字幕显示基本单元;

否则,使用语音识别时有效语音段对应的识别文本作为字幕显示基本单元,每个有效语音段对应识别文本包含一个或多个分句。

优选地,所述根据所述字幕显示基本单元对所述字幕文本进行显示包括:

(1)接收一个字幕显示基本单元的字幕文本,作为当前字幕文本;

(2)判断当前字幕文本字数与屏幕上最后一个字幕显示基本单元的字幕文本字数之和是否超过屏幕可以显示的最多字数;如果是,执行步骤(3);否则,执行步骤(4);

(3)清除屏幕中所有字幕文本,将当前字幕文本显示到屏幕上;

(4)判断当前字幕文本字数与屏幕上所有字幕文本字数之和是否超过屏幕可以显示的最多字数;如果是,执行步骤(5);否则,执行步骤(7);

(5)判断屏幕上最后一个字幕显示基本单元字幕文本是否有分段标记;如果有,执行步骤(3);否则,执行步骤(6);

(6)清除屏幕最后一个字幕显示单元字幕文本之前的所有文本,然后执行步骤(7);

(7)将当前字幕文本直接显示到最后一个字幕显示单元字幕文本后面。

优选地,所述方法还包括:

利用预先构建的编解码序列到序列模型对所述字幕文本的命名体和线索词进行识别,得到识别结果;

在对所述字幕文本进行显示时,突出显示所述识别结果。

优选地,所述方法还包括:按以下方式构建所述编解码序列到序列模型:

收集大量文本数据;

标注所述文本数据中的命名体及线索词,作为标注特征;

对所述文本数据进行分词,并提取各词的词向量;

利用所述文本数据的词向量及所述标注特征训练编解码序列到序列模型,得到模型参数。

优选地,所述利用预先构建的编解码序列到序列模型对所述字幕文本的命名体和线索词进行识别,得到识别结果包括:

提取所述字幕文本的词向量;

将所述词向量输入编解码序列到序列模型,得到编解码序列到序列模型输出的识别结果。

一种实时字幕显示系统,包括:

接收模块,用于接收说话人语音数据;

语音识别模块,用于对当前语音数据进行语音识别,得到待显示的字幕文本;

标点添加模块,用于对所述字幕文本添加标点,得到字幕文本分句;

分段标记模块,用于确定并标记所述字幕文本分句结束位置是否需要分段;

基本单元确定模块,用于根据说话人韵律特征确定字幕显示基本单元;

显示模块,用于根据所述字幕显示基本单元对所述字幕文本进行显示。

优选地,所述系统还包括:

分段模型训练模块,用于训练分段模型;

所述分段标记模块,具体用于提取所述字幕文本分句的分句向量,将所述分句向量输入所述分段模型,得到所述字幕文本分句结束位置的分段标记。

优选地,所述说话人韵律特征包括:说话人说话时的语速及停顿时长;

所述基本单元确定模块包括:

计算单元,用于计算说话人当前的说话语速及字幕文本分句之间的停顿时长;

确定单元,用于判断所述说话语速是否超过设定的语速阈值,或者所述停顿时长是否低于预先设定的停顿时长阈值;如果是,则确定使用字幕文本分句作为字幕显示基本单元;否则,确定使用语音识别时有效语音段对应的识别文本作为字幕显示基本单元,每个有效语音段对应识别文本包含一个或多个分句。

优选地,所述显示模块包括:接收单元、第一判断单元、第二判断单元、第三判断单元、以及显示执行单元;

所述接收单元,用于接收一个字幕显示基本单元的字幕文本,作为当前字幕文本;

所述第一判断单元,用于判断当前字幕文本字数与屏幕上最后一个字幕显示基本单元的字幕文本字数之和是否超过屏幕可以显示的最多字数;如果是,则触发显示执行单元清除屏幕中所有字幕文本,将当前字幕文本显示到屏幕上;否则,触发第二判断单元;

所述第二判断单元,用于判断当前字幕文本字数与屏幕上所有字幕文本字数之和是否超过屏幕可以显示的最多字数;如果是,则触发第三判断单元;否则,触发显示执行单元将当前字幕文本直接显示到最后一个字幕显示单元字幕文本后面;

所述第三判断单元,用于判断屏幕上最后一个字幕显示基本单元字幕文本是否有分段标记;如果有,则触发显示执行单元清除屏幕中所有字幕文本,将当前字幕文本显示到屏幕上;否则,触发显示执行单元清除屏幕最后一个字幕显示单元字幕文本之前的所有文本,然后将当前字幕文本直接显示到最后一个字幕显示单元字幕文本后面。

优选地,所述系统还包括:

词识别模块,用于利用预先构建的编解码序列到序列模型对所述字幕文本的命名体和线索词进行识别,得到识别结果;

显示处理模块,用于在所述显示模块对所述字幕文本进行显示时,突出显示所述识别结果。

优选地,所述系统还包括:

编解码序列到序列模型构建模块,用于构建编解码序列到序列模型:所述编解码序列到序列模型构建模块包括:

数据收集单元,用于收集大量文本数据;

标注单元,用于标注所述文本数据中的命名体及线索词,作为标注特征;

数据处理单元,用于对所述文本数据进行分词,并提取各词的词向量;

参数训练单元,用于利用所述文本数据的词向量及所述标注特征训练编解码序列到序列模型,得到模型参数。

优选地,所述词识别模块包括:

词向量提取单元,用于提取所述字幕文本的词向量;

识别单元,用于将所述词向量输入编解码序列到序列模型,得到编解码序列到序列模型输出的识别结果。

本发明实施例提供的实时字幕显示方法及系统,对识别得到的待显示的字幕文本添加标点,得到语义完整的字幕文本分句,然后根据说话人韵律特征确定字幕显示基本单元,根据字幕显示基本单元对字幕文本分句进行显示,从而增加字幕文本显示的上下文,大大提高了说话人说话内容的可懂度,进而提高了说话人信息传递的效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是本发明实施例实时字幕显示方法的流程图;

图2是本发明实施例中字幕文本显示的流程图;

图3是本发明实施例中Encoder-Decoder序列到序列模型结构图;

图4是本发明实施例中构建Encoder-Decoder序列到序列模型的流程图;

图5是本发明实施例实时字幕显示系统的一种结构示意图;

图6是本发明实施例实时字幕显示系统的另一种结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。

针对现有的字幕显示方法存在的问题,本发明实施例提供一种实时字幕显示方法及系统,对识别得到的待显示的字幕文本添加标点,得到语义完整的字幕文本分句,确定并标记所述字幕文本分句结束位置是否需要分段,然后根据说话人韵律特征确定字幕显示基本单元,根据字幕显示基本单元对字幕文本分句进行显示,从而增加字幕文本显示的上下文,大大提高了说话人说话内容的可懂度,进而提高了说话人信息传递的效果。

如图1所示,是本发明实施例实时字幕显示方法的流程图,包括以下步骤:

步骤101,接收说话人语音数据。

所述语音数据根据实际应用需求确定,如可以为开会时对应各说话人的语音数据,也可以为采访时,采访人与被采访人的语音数据,还可以为演讲时,演讲人或嘉宾的语音数据等。

步骤102,对当前语音数据进行语音识别,得到待显示的字幕文本。

对当前语音数据进行语音识别,具体过程:首先对语音数据进行端点检测,得到有效语音段的起始点和结束点;然后对端点检测得到的有效语音段进行特征提取;随后利用提取的特征数据及预先训练的声学模型和语言模型进行解码操作,得到语音数据对应识别文本,将所述识别文本作为待显示的字幕文本。语音识别的具体过程与现有技术相同,在此不再详述。

步骤103,对所述字幕文本添加标点,得到字幕文本分句。

对所述字幕文本添加标点,可以使用基于模型的方法如使用条件随机场模型添加识别文本中的标点,具体过程与现有技术相同,在此不再详述。

步骤104,确定并标记每个字幕文本分句结束位置是否需要分段。

具体地,可以采用基于模型训练的方法对字幕文本进行分段,所述模型如条件随机场、支持向量机或神经网络,如使用神经网络中的双向长短时记忆神经网络(Bidirectional Long-Short Term Memory,BiLSTM)对字幕文本进行分段,可以有效地记忆较长的上下文信息,提高分段的准确度。模型输入为字幕文本分句向量,输出为分段结果,即分句结束位置是否可以分段;如使用“1”和“0”分别表示分句结束位置需要分段和不需要分段。

分段模型的训练方法如下:首先收集大量的识别文本数据,标注每个分句结束位置是否需要分段,作为标注特征;然后提取所述文本数据的分句向量,所述分句向量可以根据分句中每个词的词向量得到,具体方法与现有技术相同,如将分句中每个词的词向量求和后,作为分句向量;最后将分句向量及标注特征作为训练数据,对模型参数进行训练,训练结束后,得到相应分段模型。

在利用所述分段模型确定各字幕文本分句结束位置是否需要分段时,提取该字幕文本分句的分句向量,将提取的分句向量输入所述分段模型,即可得到该字幕文本分句结束位置的分段标记。

步骤105,根据说话人韵律特征确定字幕显示基本单元。

所述说话人韵律特征指说话人说话时的语速及停顿时长,为了防止说话人语速过快或停顿时长过短,导致字幕显示的延迟较大的情况,在本发明实施例中,使用字幕显示基本单元显示字幕。所述字幕显示基本单元是指显示模块一次接收的字幕单元。

在确定字幕显示基本单元时,首先计算说话人当前的说话语速,即每秒说话的字数;然后计算说话人的停顿时长,所述停顿时长主要指语义完整时分句之间的停顿时长;最后判断说话人的语速是否超过预先设定的语速阈值或者字幕文本分句之间的停顿时长是否低于停顿时长阈值;如果是,则使用字幕文本分句作为字幕显示基本单元;否则使用语音识别时,有效语音段对应的识别文本作为字幕显示基本单元,每个有效语音段对应的识别文本一般包含多个分句。

步骤106,根据所述字幕显示基本单元对所述字幕文本进行显示。

具体显示时,可以使用整个屏幕或屏幕的一部分区域对字幕文本进行显示,根据所述字幕显示基本单元及字幕的分段信息对屏幕上字幕文本进行更新。具体更新时,需要根据当前字幕显示基本单元中文本的字数、屏幕可以显示的最多字数、屏幕当前已有字幕文本字数及当前字幕显示基本单元中的字幕文本与屏幕上的字幕文本是否属于同一段更新屏幕上的字幕文本,将说话人说话内容实时显示到屏幕上。

所述屏幕可以显示的最多字数可以根据应用需求设置,如整个屏幕可以显示70个字。

下面对字幕文本显示的具体过程进行详细说明。

如图2所示,为本发明实施例中字幕文本显示的流程图,其中N表示屏幕可以显示的最多字数。该流程具体如下:

步骤201,接收一个字幕显示基本单元的字幕文本,作为当前字幕文本;

步骤202,判断当前字幕文本字数与屏幕上最后一个字幕显示基本单元的字幕文本字数之和是否超过屏幕可以显示的最多字数N;如果是,执行步骤203;否则,执行步骤204;

步骤203,清除屏幕中所有字幕文本,将当前字幕文本显示到屏幕上;然后执行步骤201;

步骤204,判断当前字幕文本字数与屏幕上所有字幕文本字数之和是否超过屏幕可以显示的最多字数N;如果是,执行步骤205;否则,执行步骤207;

步骤205,判断屏幕上最后一个字幕显示基本单元字幕文本是否有分段标记;如果有,执行步骤203;否则,执行步骤206;

步骤206,清除屏幕最后一个字幕显示单元字幕文本之前的所有文本,然后执行步骤207;

步骤207,将当前字幕文本直接显示到最后一个字幕显示单元字幕文本后面;然后执行步骤201。

本发明实施例提供的实时字幕显示方法,对识别得到的待显示的字幕文本添加标点,得到语义完整的字幕文本分句,确定并标记所述字幕文本分句结束位置是否需要分段,然后根据说话人韵律特征确定字幕显示基本单元,根据字幕显示基本单元对字幕文本分句进行显示,从而增加字幕文本显示的上下文,大大提高了说话人说话内容的可懂度,进而提高了说话人信息传递的效果。

进一步地,在本发明方法另一实施例中,还可以在字幕显示时,突出显示字幕文本中的命名体及线索词等,如使用不同颜色或不同字体显示所命名体及线索词,从而可以突出文本重点,提高显示效果。

所述命名体指人名、地名、机构名等有关键意义的词;所述线索词指表达转折、解释、因果等关系的词。命名体及线索词对字幕文本的理解有重要意义,也是用户比较关注的词,因此,本发明实施例将相应命名体及线索词识别出来,进行突出显示。具体地,在本发明实施例中,将命名体及线索词的识别作为序列到序列的翻译过程,通过构建编解码(Encoder-Decoder)序列到序列模型,对字幕文本中的命名体及线索词进行识别。

如图3为本发明实施例中Encoder-Decoder序列到序列模型结构图,包括以下几部分:

1)输入层:文本数据每个分词的词向量;

2)词编码层:使用单向长短时记忆神经网络(Long-Short Term Memory,LSTM)对每个输入词向量从左到右依次进行编码;

3)句子编码层:将每句最后一个词编码节点的输出作为句子编码层的输入,用于构建句子之间的关系;

4)句子解码层:将句子编码层最后一个节点的输出作为句子解码层的输入;

5)词解码层:使用单向长短时记忆神经网络,从右到左依次对每个词进行解码;

6)输出层:输出每个词的标注特征,即每个词是否是命名体或线索词;

Encoder-Decoder序列到序列模型的构建过程如图4所示,包括以下步骤:

步骤401,收集大量文本数据。

步骤402,标注所述文本数据中的命名体及线索词,作为标注特征。

步骤403,对所述文本数据进行分词,并提取各词的词向量。

分词及提取词向量的具体方法与现有技术相同,在此不再详述。

步骤404,利用所述文本数据的词向量及所述标注特征训练Encoder-Decoder序列到序列模型,得到模型参数。

利用该模型对所述字幕文本的命名体和线索词进行识别时,需要提取所述字幕文本的词向量,然后将所述词向量输入编解码序列到序列模型,即可得到编解码序列到序列模型输出的识别结果。

相应地,本发明实施例还提供一种实时字幕显示系统,如图5所示,是该系统的一种结构示意图。

在该实施例中,所述系统包括:

接收模块501,用于接收说话人语音数据;

语音识别模块502,用于对当前语音数据进行语音识别,得到待显示的字幕文本;

标点添加模块503,用于对所述字幕文本添加标点,得到字幕文本分句;

分段标记模块504,用于确定并标记所述字幕文本分句结束位置是否需要分段;

基本单元确定模块505,用于根据说话人韵律特征确定字幕显示基本单元;

显示模块506,用于根据所述字幕显示基本单元对所述字幕文本进行显示。

在实际应用中,上述语音识别模块502具体可以采用现有的一些语音识别方法,得到识别文本,即待显示的字幕文本。

标点添加模块503可以使用基于模型的方法如使用条件随机场模型添加识别文本中的标点。

分段标记模块504可以采用基于模型训练的方法对字幕文本进行分段。分段模型可以由相应的分段模型训练模块收集大量的识别文本数据,标注每个分句结束位置是否需要分段,作为标注特征;然后提取所述文本数据的分句向量;最后将分句向量及标注特征作为训练数据,对模型参数进行训练,得到相应分段模型。所述分段模型训练模块可以作为该系统的一部分,也可以独立于该系统,对此本发明实施例不做限定。相应地,分段标记模块504在利用分段模型对字幕进行分段时,可以先提取所述字幕文本分句的分句向量,然后将所述分句向量输入所述分段模型,即可得到所述字幕文本分句结束位置的分段标记。

在本发明实施例中,所述说话人韵律特征包括:说话人说话时的语速及停顿时长。为了防止说话人语速过快或停顿时长过短,导致字幕显示的延迟较大的情况,在本发明实施例中,使用字幕显示基本单元显示字幕。所述字幕显示基本单元是指显示模块一次接收的字幕单元。相应地,上述基本单元确定模块505包括:计算单元和确定单元,其中:

所述计算单元用于计算说话人当前的说话语速及字幕文本分句之间的停顿时长;

所述确定单元用于判断所述说话语速是否超过设定的语速阈值,或者所述停顿时长是否低于预先设定的停顿时长阈值;如果是,则确定使用字幕文本分句作为字幕显示基本单元;否则,确定使用语音识别时有效语音段对应的识别文本作为字幕显示基本单元,每个有效语音段对应识别文本一般包含一个或多个分句。

相应地,上述显示模块506根据所述字幕显示基本单元及字幕的分段信息对屏幕上字幕文本进行更新。具体更新时,需要根据当前字幕显示基本单元中文本的字数、屏幕可以显示的最多字数、屏幕当前已有字幕文本字数及当前字幕显示基本单元中的字幕文本与屏幕上的字幕文本是否属于同一段更新屏幕上的字幕文本,将说话人说话内容实时显示到屏幕上。显示模块506的一种具体结构可以包括:接收单元、第一判断单元、第二判断单元、第三判断单元、以及显示执行单元。其中:

所述接收单元用于接收一个字幕显示基本单元的字幕文本,作为当前字幕文本;

所述第一判断单元用于判断当前字幕文本字数与屏幕上最后一个字幕显示基本单元的字幕文本字数之和是否超过屏幕可以显示的最多字数;如果是,则触发显示执行单元清除屏幕中所有字幕文本,将当前字幕文本显示到屏幕上;否则,触发第二判断单元;

所述第二判断单元用于判断当前字幕文本字数与屏幕上所有字幕文本字数之和是否超过屏幕可以显示的最多字数;如果是,则触发第三判断单元;否则,触发显示执行单元将当前字幕文本直接显示到最后一个字幕显示单元字幕文本后面;

所述第三判断单元用于判断屏幕上最后一个字幕显示基本单元字幕文本是否有分段标记;如果有,则触发显示执行单元清除屏幕中所有字幕文本,将当前字幕文本显示到屏幕上;否则,触发显示执行单元清除屏幕最后一个字幕显示单元字幕文本之前的所有文本,然后将当前字幕文本直接显示到最后一个字幕显示单元字幕文本后面。

本发明实施例提供的实时字幕显示系统,对识别得到的待显示的字幕文本添加标点,得到语义完整的字幕文本分句,确定并标记所述字幕文本分句结束位置是否需要分段,然后根据说话人韵律特征确定字幕显示基本单元,根据字幕显示基本单元对字幕文本分句进行显示,从而增加字幕文本显示的上下文,大大提高了说话人说话内容的可懂度,进而提高了说话人信息传递的效果。

进一步地,如图6所示,在本发明系统另一实施例中,所述系统还可包括:

词识别模块601,用于利用预先构建的编解码序列到序列模型对所述字幕文本的命名体和线索词进行识别,得到识别结果;

显示处理模块602,用于在所述显示模块对所述字幕文本进行显示时,突出显示所述识别结果。

所述编解码序列到序列模型可以由相应的编解码序列到序列模型构建模块来构建,所述编解码序列到序列模型构建模块可以包括以下各单元:

数据收集单元,用于收集大量文本数据;

标注单元,用于标注所述文本数据中的命名体及线索词,作为标注特征;

数据处理单元,用于对所述文本数据进行分词,并提取各词的词向量;

参数训练单元,用于利用所述文本数据的词向量及所述标注特征训练编解码序列到序列模型,得到模型参数。

需要说明的是,上述编解码序列到序列模型构建模块可以作为该系统的一部分,也可以独立于该系统,对此本发明实施例不做限定。

相应地,上述词识别模块801可以包括以下各单元:

词向量提取单元,用于提取所述字幕文本的词向量;

识别单元,用于将所述词向量输入编解码序列到序列模型,得到编解码序列到序列模型输出的识别结果。

本发明实施例中的实时字幕显示系统不仅可以根据字幕显示基本单元对字幕文本分句进行显示,而且在字幕显示时,还可以突出显示字幕文本中的命名体及线索词等,如使用不同颜色或不同字体显示所命名体及线索词,从而可以突出文本重点,提高显示效果。

本发明实施例的实时字幕显示方法及系统,可以应用于直播或说话人现场的实时字幕文本显示,增加字幕文本的上下文信息,以帮助用户理解说话人的说话内容,提高字幕文本的可懂度。如会议场景下,将每个说话人的说话内容实时显示到屏幕上,参会人员可以在听到说话人声音的同时,看到相应说话内容及当前说话内容的上下文,从而帮助其它参会人员理解当前说话人的说话内容;又如教师上课时,将教师的讲课内容实时显示到屏幕上,帮助学生更好的理解老师的讲课内容等。所述字幕文本可以使用整个屏幕显示,以增加显示文本的信息量。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及系统;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1