掌桥专利:专业的专利平台
掌桥专利
首页

一种语音转写文本的人名纠错方法、装置和计算机设备

文献发布时间:2023-06-19 16:08:01



技术领域

本发明涉及语音识别技术领域,尤其涉及一种语音转写文本的人名纠错方法、装置和计算机设备。

背景技术

随着互联网、机器学习以及自然语言处理的发展,中文文本纠错技术已经被广泛运用于键盘输入法、文档编辑、搜索引擎以及语音识别等领域,文本纠错已经成为自然语言处理中常见且重要的任务之一。

早期的文本纠错算法多基于规则、N-Gram语言模型和统计机器翻译(StatisticalMachine Translation,SMT)。上述方法在一定程度可以实现文本纠错,但仍具有很大的局限性。其中,基于规则的方法是最早的实用自动审查方法,通过解析源语言句子,分析句子结构,将它们转换为目标语言。基于规则的方法需要构建海量的规则库,在不间断添加硬性规则的同时,规则之间会引发互相冲突的问题,大幅度降低纠错的准确性;基于N-Gram语言模型的方法没有办法兼顾远距离相依赖问题和数据稀疏问题,当语句中的成分间距超过N-Gram长度时,该算法就失去了纠正能力,当N-Gram长度足够长时,虽然能缓解远距离问题,但是会出现数据稀疏问题;统计机器翻译将文本纠错任务视做转换错误文本为正确文本的单语翻译任务,该方法需要海量的平行文本进行训练,系统会自动学习句子之间的统计相关性。但是统计方法需要相似的庞大训练数据,并且无法考虑上下文的语言环境,导致语言质量不高。

近年来,随着深度学习技术的快速发展,深度学习在图像处理、自然语言处理和强化学习等领域扮演着越来越重要的角色。深度学习的训练过程就是基于海量数据自动进行特征提取,不断拟合数据的过程,隶属于机器学习。深度学习模型因为是自动进行特征提取,所以对于数据处理或特征工程的要求较低。但是该方法需要海量的数据,并且十分依赖数据的质量。

现有技术中的人名纠错方法均不是直接对句子中的实体词语进行纠错,在模型训练时需要海量的数据,在语音转写的文本中,人名出现错误的概率很大,这为后续数据处理带来了不便,此问题急需解决。

发明内容

鉴于上述的分析,本发明旨在提供一种语音转写文本的人名纠错方法、装置和计算机设备;解决现有技术中人名纠错方法无法直接针对实体词语进行纠错,纠错准确性不高的问题。

本发明的目的主要是通过以下技术方案实现的:

一方面,本发明提供了一种语音转写文本的人名纠错方法,包括以下步骤:

获取语音识别后的语音转写文本并进行错误标注;

采用预训练的中文实体识别模型对错误标注后的所述语音转写文本进行错误人名实体检测;

基于检测得到的错误人名实体类型采用相应的纠错方式得到纠正后的文本;其中,当所述错误人名实体类型为拼写错误和缺失错误时,采用的纠错方式,包括:对检测得到的人名实体进行掩码,采用预训练的掩码预测模型预测掩码内容,输出相应的预测人名及对应的概率值;将预测得到的人名与预先构建的人名词表进行对比得到纠正后的人名。

进一步的,采用序列标注方法对所述语音转写文本进行错误标注,得到带有错误标签的语音转写文本;

所述对错误标注后的所述语音转写文本进行错误人名实体检测,包括:

采用中文实体识别模型对带有错误标签的语音转写文本进行人名实体检测,并标注人名实体标签;

判别所述错误标签对应的词是否为人名实体标签对应实体的一部分;若是,则保留错误标签,得到标注错误人名实体标签的错误人名实体;若不是,则取消错误标签。

进一步的,所述中文实体识别模型包括:Bert文本表示层、Bi-LSTM层和CRF层;

所述Bert文本表示层采用预训练的Bert-base模型,用于将输入的所述语音转写文本表示为n*k的矩阵,其中n为训练所述中文实体识别模型的训练样本集中句子的最大长度,k为词向量维度;所述训练样本集包括基于所述人名纠错方法应用领域获取的语音转写文本及文本纠错后的标准文本。

所述Bi-LSTM层用于根据所述文本表示层输出的文本表示得到文本中每个字符对应的标签的概率;

所述CRF层,用于根据Bi-LSTM层的输出,通过初始化转移矩阵预测人名实体标签的最佳路径。

进一步的,所述错误人名实体类型包括:冗余错误、所述拼写错误和所述缺失错误;当所述错误人名实体类型为冗余错误时,采用的纠错方式,包括:在所述错误标注阶段标注冗余错误位置,在所述错误人名实体检测后删除所述冗余错误的人名实体。

进一步的,所述掩码预测模型为预训练好的Bert-MLM模型,包括嵌入层、编码层和输出层;

所述嵌入层用于将掩码后的所述语音转写文本表示为包括词向量、位置嵌入和文段分割嵌入的隐向量;

所述编码层,用于根据所述嵌入层的输出得到具有上下文表示的隐向量;

所述输出层用于输出预测得到的人名及所述人名对应的预测概率。

进一步的,其特征在于,所述获取语音识别后的语音转写文本,包括:

使用基于wav2vec2.0模型的参数微调方法进行语音识别,所述wav2vec2.0模型包括特征提取层、上下文编码层和输出层三部分;所述特征提取层使用多层卷积网络实现语音帧级别的特征提取;所述上下文编码层用于提取帧间的关联特征,所述输出层使用预训练的语言模型输出语音识别后的语音转写文本。

进一步的,所述将预测得到的人名与预先构建的人名词表进行对比得到纠正后的人名,包括:

如果掩码预测模型预测得到的人名均不在人名词表中,计算预测概率最大的人名与所述预先构建的人名词表中人名的编辑距离,选取编辑距离最小的人名作为纠正后的人名。

如果掩码预测模型预测出的至少一个人名在人名词表中,选取在词表中的且预测概率值最大的人名作为纠正后的人名。

进一步的,所述预先构建的人名词表为根据所述人名纠错系统应用领域的人名集合构建的人名词表。

另一方面,本发明还提供一种语音转写文本的人名纠错装置,包括:辅助标注系统、人名检错装置和人名预测系统;

所述辅助标注系统用于对原始语音转写文本进行错误标注,并将结果输入到人名检错装置中;

所述人名检错装置用于根据辅助标注系统输出的带有错误标签的语音转写文本进行人名实体识别,得到错误人名实体标签,并将结果输入到人名预测系统;

所述人名预测系统用于根据领域人名词表和带有错误人名实体标签的语音转写文本进行人名预测。

第三方面,还提供一种计算机设备,包括至少一个处理器,以及至少一个与所述处理器通信连接的存储器;所述存储器存储有可被所述处理器执行的指令,所述指令用于被处理器执行以实现本发明提供的人名纠错方法。

本技术方案的有益效果:

1、本发明采用命名实体识别的检错模型结合序列标注数据进行人名检错;采用Bert-MLM掩码模型根据上下文信息进行人名纠错;能够使本方案的方法精准的基于人名实体进行纠错,极大提高了人名纠错的准确性和纠错效果。

2、提出针对专门领域的人名纠错方法,引入自主构建的专门领域人名词表对纠错结果进行检查,可以有效解决现有方法对海量数据的依赖性,且使用在专门领域获取的训练样本进行模型训练,很大程度上提高了语音转写文本的人名识别率低的问题。

3、本发明通过采用一种基于序列标注的多任务中文人名纠错模型结合自主构建领域人名词表的方法进行人名纠错,利用深度学习训练的语言模型来召回文本,提升了效率。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。

图1为本发明实施例的人名纠错方法流程图。

图2为本发明实施例的人名纠错方法示意图。

图3为本发明实施例的人名纠错装置。

具体实施方式

下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。

语音转写文本中的人名错误主要包括以下三类:拼写错误、冗余错误和缺失错误。本发明针对专门领域语音转写文本中出现的人名错误,提供一种基于序列标注的多任务中文人名纠错方法,以解决目前语音转写文本中人名识别准确性差的问题。

本实施例中的一种语音转写文本的人名纠错方法,如图1所示,包括以下步骤:

步骤S1、获取语音识别后的语音转写文本并进行错误标注;

具体的,使用基于wav2vec2.0模型的参数微调方法进行语音识别,所述wav2vec2.0模型包括特征提取层、上下文编码层和输出层三部分;所述特征提取层使用多层卷积网络实现语音帧级别的特征提取;所述上下文编码层用于提取帧间的关联特征,所述输出层使用预训练的语言模型输出语音识别后的语音转写文本。

获取语音转写文本后,采用序列标注方法对语音转写文本进行错误标注,得到带有错误标签的语音转写文本。

作为一个具体的实施例,以标签“R”、“D”、“I”和“E”对原始的语音转写文本进行错误标注,标签“R”表示拼写错误(代表Replace),标签“D”表示冗余错误(代表Delete),标签“I”表示缺失错误(代表Insert),标签“E”表示正确部分(代表Equal)。

例如,获取语音转写文本“马啊芸是阿里巴的董事长”,采用序列标注方法使用错误标签对其进行标注,则错误标注标签为“E,D,R,E,E,E,E,I,E,E,E,E”。

另外,在进行错误标注后,还可以对文本进行特殊字符和表情符号的过滤,并构成字表,将每个句子中的字进行数值化表示。

步骤S2、采用预训练的中文实体识别模型对错误标注后的所述语音转写文本进行错误人名实体检测。

首先,将字符和错误标注对应的数据以batch(批次)的方式读取,并tokenize每个句子,将加在句子开头,表示序列开始;将加在句子的末尾,表示序列结束。

为了避免在训练和预测阶段,纠错后的标准文本Z与原始语音转写文本X的不同长度影响预测句的完整性,对纠错后的标准文本和原始文本做对齐处理。

作为一个具体的实施例,假设纠错后的标准文本Z的长度为T

(1)当T=T

(2)当T>T

(3)当T

进一步的,采用中文实体识别模型对带有错误标签的语音转写文本进行人名实体检测,并标注人名实体标签。

命名实体识别的标注方法有三种模式,分别为BIO、BIOE和BIOES;作为一个具体的实施例,本发明使用BIO标注方法,标注名称及意义如表1所示,B代表实体开始部分,I代表实体内部,O代表非实体部分。

表1BIO命名实体标签体系

具体的,中文实体识别模型为利用训练样本集合,对多任务神经网络模型进行训练,并使用损失函数进行梯度更新,得到的中文实体识别模型。训练样本集合为在人名纠错方法应用领域获取的语音转写文本及对应的文本纠错后的标准文本。

在中文实体识别模型训练过程中,定义输入序列为X={x

定义得分函数为:

利用softmax函数,为每一个正确的人名实体标签序列y定义一个概率值:

其中,Yx为所有可能的人名实体标签序列;

在训练中,最大化p(y|X)的对数似然:

通过损失函数更新迭代,得到最大化p(y|X),即为预测得到的人名实体标签;

人名实体标签预测的Loss损失函数定义为:

具体的,中文实体识别模型包括:Bert文本表示层、Bi-LSTM层、全连接层和CRF层。

(1)Bert文本表示层,用于通过Bert-base预训练模型对待检测的语音转写文本进行文本表示,将语音转写文本表示为n*k的矩阵,其中n为训练中文实体识别模型的训练样本集中句子的最大长度,k为词向量维度;

对于一个待检测的中文文本序列,将其表示为W={w

与其他的语言模型相比较,BERT预训练语言模型可以对词前后两侧的信息进行充分的利用,以此得到更佳的词分布表征式。

Bert文本表示层在训练时,直接使用预训练好的Bert-base模型,Layer=12,Hidden=768,Attention=12,总参数=110M,参数通过预训练初始化。用Bert-base预训练模型进行文本表示,文本表示为[batch_size,sequence_length,embedding_size]的矩阵。Bert层的输出为[batch_size,sequence_length,768]的矩阵。

(2)Bi-LSTM层,用于通过长短期记忆网络实现句子基于上下文表示的隐藏层输出,并通过数学结构保持长距离的字的信息,Bi-LSTM层的输出矩阵为n*2*h,其中h为文本表示层的维度;

具体的,中文文本纠错的结果在一定程度上受到上下文信息的影响,因此需要模型在序列中加入上下文信息。对于BERT的输入序列X={x

Bi-LSTM层的输入是大小为[batch_size,sequence_length,768]的矩阵,输出是大小为[batch_size,sequence_length,2*hidden_size]的矩阵。参数h_0、c_0是大小为[batch_size,2*num_layers,hidden_size]的矩阵,h_0、c_0随机初始化。

(3)全连接层,将Bi-LSTM的输出结果输入到全连接层,得到大小为[sequence_length,tag_size]的发射矩阵,用于表示Bi-LSTM将每个字符预测为某个标签的概率。

(4)CRF层,用于结合全连接层的输出,通过初始化转移矩阵来计算每个句子出现的人名实体标签的最佳路径;

具体的,CRF层能够合理地考虑到上下文之间的依赖关系。CRF层的输入是经过BERT层和Bi-LSTM层训练后得到的序列L={l

进一步的,对错误标签对应的字与人名实体标签对应的实体进行对比,判别所述错误标签对应的字是否为人名实体标签对应实体的一部分,若是,则保留错误标签,得到错误人名实体标签,若不是,则取消错误标签。

例如:原文本为“马芸是阿里巴巴的懂事长”,对应的实体标签为“B-PER,I-PER,O,B-ORG,I-ORG,I-ORG,I-ORG,O,O,O,O”,对应的错误标签为“E,R,E,E,E,E,E,E,R,E,E”,经过对比,则将原文本的错误标签修改为“E,R,E,E,E,E,E,E,E,E,E”,即错误人名实体标签。

步骤S3、对冗余错误类型的人名实体进行删除;对拼写错误和缺失错误类型的人名实体进行掩码,利用预训练的掩码预测模型根据上下文内容预测掩码内容,输出相应的预测人名及对应的概率值。

具体的,掩码预测模型为利用训练样本集合,对多任务神经网络模型进行训练,并使用损失函数进行梯度更新,得到的Bert-MLM模型。

针对冗余类错误,根据错误标注阶段标注出的冗余位置,直接将其删除;

针对缺失类错误,在缺失位置打上[mask]的掩码标签,然后将带有掩码标签的文本输入到Bert的MLM掩码语言模型中预测[mask]的内容。例如,原文本为“马是阿里巴巴的董事长”,错误人名实体标签为“E,I,E,E,E,E,E,E,E,E,E”,则将原文本处理为“马[mask]是阿里巴巴的董事长”;

针对拼写类错误,在错误位置打上[mask]的掩码标签,然后将带有掩码标签的文本输入到掩码预测模型中预测[mask]的内容。比如,原文本为“麻芸是阿里巴巴的董事长”,错误人名实体标签为“R,R,E,E,E,E,E,E,E,E,E”,则将原文本处理为“[mask][mask]是阿里巴巴的董事长”。

作为一个具体的实施例,预训练的Bert-MLM掩码预测模型包括:

(1)嵌入层,在BERT模型中嵌入层主要包含三个部分:词向量(Token Embedding)、位置嵌入矩阵(Positional Embedding)和文段分割嵌入矩阵(Segment Embedding)。抽象形式化为H

(2)编码层,Bert的编码层实际是Transformer Encoder的堆叠,用于获取上下文信息。Bert-base模型采用L=12层的Transformer Encoder堆叠。抽象化形式为H

(3)输出层,在输出层,句子中第i个位置的预测结果w

其中,

Bert-MLM模型在训练时,用于获取上下文信息的Bert层直接使用预训练好的Bert-base模型,Layer=12,Hidden=768,Attention=12,总参数=110M,参数通过预训练初始化;计算预测概率的线性层的参数则随机初始化。

步骤S4:将预测得到的人名与预先构建的人名词表进行对比得到纠正后的人名。

具体的,通过Bert-MLM模型对[mask]内容进行预测,输出相应预测人名的概率值p(w=w

根据概率值排序,设置概率值最大的前f个预测人名为被选人名,如果Bert-MLM模型预测出的前f个预测人名均不在预先构建的人名词表中,计算预测概率最大的人名与预先构建的人名词表中人名的编辑距离,从词表中选取编辑距离最小的人名作为纠正后的人名替换[mask]。如果计算得到编辑距离最小的人名有多个,选择其中频率最高的人名作为纠正后的人名替换[mask]。

如果Bert-MLM模型预测出的前f个预测人名至少一个在领域人名词表中,选取在词表中的概率最大的预测人名作为纠正后的人名替换[mask]。

其中,预先构建的人名词表为根据人名纠错方法应用领域的人名集合构建的人名词表,其中,若有m个人重名为同一人名,则该人名在词表中出现m次;其出现的次数越多代表该人名在词表中出现的频率越高。

前述的编辑距离指的是在两个单词

将两个字符串a、b的编辑距离(Levenshtein Distance)表示为lev

定义lev

当min(i,j)=0时,lev

当min(i,j)≠0的时候,lev

(1)lev

(2)lev

(3)

更具体地,设被mask的词的集合为W,引入预先构建的人名词表通过损失函数对Bert-MLM纠错模型进行迭代计算,得到纠错后的人名;

具体的,损失函数为:

其中,f为Bert-MLM模型预测出的前f个预测人名,θ为模型中所有参数的符号表示,V为人名词表大小。

本发明提供的基于序列标注的多任务中文人名纠错方法中,中文实体识别模型和人名预测模型串行连接,两个模型的总损失函数为:

Loss=0.5*Loss1+0.5*Loss2,

即:

在训练中需要调控的参数包括句子最大长度max_seq_length、训练批量大小train_batch_size、学习率learning_rate、迭代次数num_epoch、LSTM的隐含单元数hidden_size、LSTM的层数num_layers、dropout_rate。其中模型参数max_seq_length=128,train_batch_size=100,learning_rate=1e-5,num_epoch=500,num_layers=5,hidden_size=128,dropout_rate=0.1。

图2为发明实施例的人名纠错方法示意图,在检错阶段,对于冗余错误、拼写错误和缺失错误类型,均经过包含Bert、Bi-LSTM和CRF层的中文实体识别模型进行人名实体错误标签标注;在纠错阶段,对于冗余错误,直接进行删除;对于拼写错误和缺失错误类型,通过Bert-MLM模型结合自主构建的专门领域人名词表进行人名预测,得到纠正后的人名。

综上所述,本发明的实施例提供的一种语音转写文本的人名纠错方法,即一套人名检错—>人名纠错—>纠错检查的纠错方法,利用深度学习训练的语言模型来召回文本,引入自主构建的专门领域人名词表进行纠错检查,极大的提高了人名纠错的准确性;且采用多任务的方式进行训练,提升了效率,可以有效解决语音转写文本的人名识别率低的问题。

本发明的另一个实施例,如图3所示,提供一种语音转写文本的人名纠错装置,包括:辅助标注系统、人名检错装置和人名预测系统;

辅助标注系统用于对原始语音转写文本进行错误标注,并将结果输入到人名检错装置中;

人名检错装置用于根据辅助标注系统输出的带有错误标签的语音转写文本进行人名实体识别,得到错误人名实体标签,并将结果输入到人名预测系统;

具体的,人名检错装置采用预训练的中文实体识别模型对错误标注后的语音转写文本进行错误人名实体检测;首先,采用中文实体识别模型对带有错误标签的语音转写文本进行人名实体检测,并标注人名实体标签;进一步的,对错误标签对应的字与人名实体标签对应的实体进行对比,判别所述错误标签对应的字是否为人名实体标签对应实体的一部分,得到错误人名实体标签。

其中,中文实体识别模型的训练,以及中文实体识别模型对错误标注后的语音转写文本进行错误人名实体检测的过程与上述语音转写文本的人名纠错方法实施例中的过程一致,此处不再重复描述。

人名预测系统用于根据领域人名词表和带有错误人名实体标签的语音转写文本进行人名预测;

具体的,对冗余错误类型的人名实体进行删除;对拼写错误和缺失错误类型的人名实体进行掩码,利用预训练的Bert-MLM模型根据上下文内容预测掩码内容,输出相应的预测人名及对应的概率值;将预测得到的人名与预先构建的人名词表进行对比,根据概率值排序和编辑距离得到纠正后的人名。

本发明的第三个实施例,提供了一种计算机设备,包括至少一个处理器,以及至少一个与所述处理器通信连接的存储器;存储器存储有可被处理器执行的指令,所述指令用于被处理器执行以实现前述实施例的人名纠错方法。

本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

技术分类

06120114717515