CN114818669A - 一种人名纠错模型的构建方法和计算机设备 - Google Patents
一种人名纠错模型的构建方法和计算机设备 Download PDFInfo
- Publication number
- CN114818669A CN114818669A CN202210446422.6A CN202210446422A CN114818669A CN 114818669 A CN114818669 A CN 114818669A CN 202210446422 A CN202210446422 A CN 202210446422A CN 114818669 A CN114818669 A CN 114818669A
- Authority
- CN
- China
- Prior art keywords
- name
- text
- model
- error correction
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012937 correction Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012549 training Methods 0.000 claims abstract description 48
- 238000013518 transcription Methods 0.000 claims abstract description 46
- 230000035897 transcription Effects 0.000 claims abstract description 46
- 238000003062 neural network model Methods 0.000 claims abstract description 10
- 238000010276 construction Methods 0.000 claims abstract description 4
- 238000002372 labelling Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 19
- 239000013598 vector Substances 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 4
- 230000001915 proofreading effect Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000000873 masking effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 238000013135 deep learning Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种人名纠错模型的构建方法和计算机设备,属于语音识别技术领域;解决了现有技术中人名纠错方法依赖于海量数据,且纠错准确性不高的问题;本发明的人名纠错模型包括中文实体识别模型和人名预测模型;构建方法包括以下步骤:获取原始语音转写文本及对应的文本纠错后的标准文本,构建训练样本集合;利用训练样本集合,对多任务神经网络模型进行训练,并使用损失函数进行梯度更新,得到中文实体识别模型和人名预测模型;中文实体识别模型用于输出含有错误人名实体标签的文本;人名预测模型用于根据掩码后的文本,引入预先构建的人名词表,预测纠错后的人名。本发明基于人名实体进行纠错,极大提高了人名纠错的准确性和纠错效果。
Description
技术领域
本发明涉及语音识别技术领域,特别涉及一种人名纠错模型的构建方法和计算机设备。
背景技术
近年来,随着深度学习技术的快速发展,深度学习在图像处理、自然语言处理和强化学习等领域扮演着越来越重要的角色。深度学习的训练过程就是基于海量数据自动进行特征提取,不断拟合数据的过程,隶属于机器学习。深度学习模型因为是自动进行特征提取,所以对于数据处理或特征工程的要求较低。但是该方法需要海量的数据,并且十分依赖数据的质量。
早期的文本纠错算法多基于规则、N-Gram语言模型和统计机器翻译(StatisticalMachine Translation,SMT)。上述方法在一定程度可以实现文本纠错,但仍具有很大的局限性。其中,基于规则的方法是最早的实用自动审查方法,通过解析源语言句子,分析句子结构,将它们转换为目标语言。基于规则的方法需要构建海量的规则库,在不间断添加硬性规则的同时,规则之间会引发互相冲突的问题,大幅度降低纠错的准确性;基于N-Gram语言模型的方法没有办法兼顾远距离相依赖问题和数据稀疏问题,当语句中的成分间距超过N-Gram长度时,该算法就失去了纠正能力,当N-Gram长度足够长时,虽然能缓解远距离问题,但是会出现数据稀疏问题;统计机器翻译将文本纠错任务视做转换错误文本为正确文本的单语翻译任务,该方法需要海量的平行文本进行训练,系统会自动学习句子之间的统计相关性。但是统计方法需要相似的庞大训练数据,并且无法考虑上下文的语言环境,导致语言质量不高。
现有技术中的文本纠错方法对于句子中实体词语进行纠错的方案较少,且均需要海量的数据,在语音转写的文本中,人名出现错误的概率很大,这为后续数据处理带来了不便,此问题急需解决。
发明内容
鉴于上述的分析,本发明旨在提供一种人名纠错模型的构建方法和计算机设备;解决现有技术中人名纠错方法依赖于海量数据,且纠错准确性不高的问题。
本发明的目的主要是通过以下技术方案实现的:
一方面,本发明提供了一种人名纠错模型的构建方法,本发明的人名纠错模型包括中文实体识别模型和人名预测模型;其构建方法包括以下步骤:
获取原始语音转写文本及对应的文本纠错后的标准文本,构建训练样本集合;
利用所述训练样本集合,对多任务神经网络模型进行训练,并使用损失函数进行梯度更新,得到所述中文实体识别模型和人名预测模型;
所述中文实体识别模型用于输出含有错误人名实体标签的文本;
基于所述含有错误人名实体标签的文本对所述错误人名实体进行掩码,得到掩码后的文本;
所述人名预测模型用于根据掩码后的所述文本,引入预先构建的人名词表,预测掩码人名及其概率值,并通过将预测的所述人名与预先构建的人名词表进行对比,以得到纠错后的人名。
进一步的,中文实体识别模型为BERT-BiLSTM-CRF模型,包括:BERT文本表示层、Bi-LSTM层和CRF层;
BERT文本表示层,采用预训练的BERT-base模型,用于将输入的所述语音转写文本表示为n*k的矩阵,其中n为所述训练样本中句子的最大长度,k为词向量维度;
Bi-LSTM层,用于根据所述文本表示层输出的文本表示得到文本中每个字符对应的标签的概率;
CRF层,用于根据所述Bi-LSTM层的输出,通过初始化转移矩阵预测人名实体标签的最佳路径。
进一步的,采用序列标注方法对所述训练样本集合中的原始语音转写文本进行错误标注,得到带有错误标签的语音转写文本;
采用命名实体识别标注方法对所述对多任务神经网络模型进行训练,以检测所述带有错误标签的语音转写文本中的人名实体,并标注人名实体标签;
判别所述错误标签对应的字是否为人名实体标签对应实体的一部分;若是,则保留错误标签,得到所述含有错误人名实体标签的文本;若不是,则取消错误标签。
进一步的,采用序列标注方法对所述原始语音转写文本进行错误标注,包括:将所述原始语音转写文本与所述对应的标准文本做对比,得到所述原始文本中的拼写错误部分、冗余错误部分、缺失错误部分和正确部分,并分别标注对应的标签。
进一步的,所述人名预测模型为预训练的Bert-MLM模型,包括嵌入层、编码层和输出层;
嵌入层,用于将掩码后的所述语音转写文本表示为包括词向量、位置嵌入和文段分割嵌入的隐向量;
编码层,用于根据所述嵌入层的输出得到具有上下文表示的隐向量;
输出层,用于输出预测得到的人名及所述人名对应的预测概率。
进一步的,根据人名预测模型预测出的人名概率值排序和编辑距离得到纠正后的人名;其中,所述编辑距离基于所述人名与预先构建的人名词表进行对比得到;
如果所述人名预测模型预测出的人名都不在所述预先构建的人名词表中,计算所述预测概率最大的人名与所述词表中人名的编辑距离,选取编辑距离最小的人名作为纠正后的人名;
如果人名预测模型预测出的至少一个人名在人名词表中,选取在词表中的所述预测概率最大的人名作为纠正后的人名。
进一步的,预先构建的人名词表为根据所述人名纠错系统应用领域的人名集合构建的人名词表。
进一步的,所述获取原始语音转写文本及与所述原始语音转写文本对应的标准文本,包括:
获取所述人名纠错方法应用领域的语音转写文本;
通过校对,得到与所述语音转写文本对应的标准文本。
进一步的,所述中文实体识别模型的损失函数为:
其中,X为输入序列,y为人名实体标签,s(X,y)为标签得分函数;
所述人名预测模型的损失函数为:
其中,f为根据概率值排序预先设置的被选人名数,θ为模型中所有参数的符号表示,|V|为人名词表大小;
所述人名纠错模型总损失函数为Loss=0.5*Loss1+0.5*Loss2。
另一方面,本发明还提供一种计算机设备,包括至少一个处理器,以及至少一个与所述处理器通信连接的存储器;
存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现本发明涉及的人名纠错模型的构建方法。
本技术方案的有益效果:
1、本发明通过对序列标注命名实体识别的检错模型进行训练,结合序列标注数据进行人名检错;采用Bert-MLM掩码模型进行训练,根据上下文信息进行人名纠错;能够使本方案的方法精准的基于人名实体进行纠错,极大提高了人名纠错的准确性和纠错效果。
2、提出针对专门领域的人名纠错方法,引入自主构建的专门领域人名词表对纠错结果进行检查,可以有效解决现有方法对海量数据的依赖性,且使用在专门领域获取的训练样本进行模型训练,很大程度上提高了语音转写文本的人名识别率低的问题。
3、本发明通过采用一种基于序列标注的多任务中文人名纠错模型结合自主构建领域人名词表的方法进行人名纠错,利用深度学习训练的语言模型来召回文本,采用多任务的方式进行训练,提升了效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例的人名纠错模型的构建方法流程图。
图2为本发明实施例的人名纠错模型纠错方法示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
语音转写文本中的人名错误主要包含以下三类:拼写错误、冗余错误和缺失错误。本发明针对专门领域语音转写文本中出现的人名错误,提供一种人名纠错模型的构建方法,以解决目前语音转写文本中人名识别准确性差的问题。
本实施例中的一种语音转写文本的人名纠错方法,如图1所示,包括以下步骤:
步骤S1、获取原始语音转写文本及与所述原始语音转写文本对应的标准文本,构建训练样本集;
具体的,根据所述人名纠错方法所应用的专门领域获取语音转写文本;
通过校对,得到与所述语音转写文本对应的标准文本。
步骤S2、利用训练样本集合,对中文实体识别模型进行训练,并使用损失函数进行梯度更新,得到含有错误人名实体标签的文本。
具体的,采用序列标注方法对所述训练样本集合中的原始语音转写文本进行错误标注,得到带有错误标签的语音转写文本;
判别所述错误标签对应的字是否为人名实体标签对应实体的一部分,若不是,则取消错误标签;若是,则保留错误标签,得到所述含有错误人名实体标签的文本。
作为一个具体的实施例,以标签“R”、“D”、“I”和“E”对原始的语音转写文本进行错误标注,标签“R”表示拼写错误(代表Replace),标签“D”表示冗余错误(代表Delete),标签“I”表示缺失错误(代表Insert),标签“E”表示正确部分(代表Equal)。
将原始语音转写文本与标准文本做对比,采用序列标注方法对训练样本集中的原始语音转写文本使用错误标签进行标注。例如,原始语音转写文本“马啊芸是阿里巴的董事长”,标准文本为“马云是阿里巴巴的董事长”,则错误标注标签为“E,D,R,E,E,E,E,I,E,E,E,E”。
在进行错误标注后,还可以对文本进行特殊字符和表情符号的过滤,并构成字表,将每个句子中的字进行数值化表示。
将字符和错误标注对应的数据以batch(批次)的方式读取,并tokenize每个句子,将<eos>加在句子的末尾,以表示序列结束。
另外,将字符和错误标注对应的数据以batch(批次)的方式读取,并tokenize每个句子,将<bos>加在句子开头,表示序列开始;将<eos>加在句子的末尾,表示序列结束。
为了避免在训练和预测阶段,纠错后的标准文本Z与原始语音转写文本X的不同长度影响预测句的完整性,对纠错后的标准文本和原始文本做对齐处理。
作为一个具体的实施例,假设纠错后的标准文本Z的长度为T0,原始语音转写文本X的长度为T,假设X=(<bos>,x1,x2,x3,<eos>);
(1)当T=T0时,即Z=(<bos>,z1,z2,z3,<eos>),则不做任何操作;
(2)当T>T0时,在纠错过程中会删除X中的一些token,设Z=(<bos>,z1,z2,<eos>),在训练阶段,在Z的尾部填充特殊符号,使T=T0,得到Z=(<bos>,z1,z2,<eos>,<pad>)。
(3)当T<T0,在纠错过程中会在原始语音转写文本X中插入文本信息,设Z=(<bos>,z1,z2,z3,z4,z5,<eos>),在训练阶段,填充特殊符号<mask>到X的尾部来表示这些位置可能生成新的token,得到X=(<bos>,x1,x2,x3,<eos>,<mask>,<mask>)。
进一步的,采用命名实体识别标注方法对所述对多任务神经网络模型进行训练,以检测所述带有错误标签的语音转写文本中的人名实体,并标注人名实体标签。
命名实体识别的标注方法有三种模式,分别为BIO、BIOE和BIOES;作为一个具体的实施例,本发明使用BIO标注方法,标注名称及意义如表1所示,B代表实体开始部分,I代表实体内部,O代表非实体部分。
表1 BIO命名实体标签体系
标签类别 | 标签说明 |
B-PER | 人名实体开头 |
I-PER | 人名实体内部 |
B-LOC | 地名实体开头 |
I-LOC | 地名实体内部 |
B-ORG | 组织名实体开头 |
I-ORG | 组织名实体内部 |
O | 非命名实体 |
具体的,利用训练样本集合,采用命名实体识别标注方法对多任务神经网络模型进行训练,并使用损失函数进行梯度更新,得到中文实体识别模型。
中文实体识别模型包括:Bert文本表示层、Bi-LSTM层、全连接层和CRF层;其中,
(1)Bert文本表示层,用于通过Bert-base预训练模型对待检测的语音转写文本进行文本表示,将语音转写文本表示为n*k的矩阵,其中n为训练中文实体识别模型的训练样本集中句子的最大长度,k为词向量维度;
对于一个待检测的中文文本序列,将其表示为W={w1,w2,w3,..,wn},这个输入序列对应到BERT模型中可分别生成词向量(Token Embedding)、位置嵌入矩阵(PositionalEmbedding)和文段分割嵌入矩阵(Segment Embedding)。将这三个词嵌入组合即为BERT的输入序X={x1,x2,x3,...,xn},这个输入序列包含每个token的字符信息、句子信息以及它们的位置信息。
与其他的语言模型相比较,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={x1,x2,x3,…,xn},将它分别加入到两个LSTM模型中。第一个LSTM是正向流动的,每一token的隐藏状态与上一个token的隐藏状态和本token的值有关,也就是得到的隐层序列H={h1,h2,h3,…,hn}中,hi的值由hi-1的值和xi的值计算得到,隐层序列H包含了前向token的信息;第二个LSTM与第一个LSTM形式相同,只是从前向变成了后向输入,因此隐层序列H'={h'1,h'2,h'3,…,h'n}中,h'i的值由h'i+1的值和xi的值计算得到,隐层序列H'包含了后向token的信息。将前向隐层序列H和后向的隐层序列H'直接拼接在一起,得到同时包含前向信息和后向信息的序列L={l1,l2,l3,…,ln},其中li=[hi,h'i]。Bi-LSTM层最终的输出由包含过去时刻的信息和包含将来时刻的信息两部分共同组成。
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层,用于结合Bi-LSTM层的输出,通过初始化转移矩阵来计算每个句子出现的人名实体标签的最佳路径。
具体的,CRF层能够合理地考虑到上下文之间的依赖关系。CRF层的输入是经过BERT层和Bi-LSTM层训练后得到的序列L={l1,l2,l3,…,ln},对于这个输入序列,条件随机场遵从训练模型形成与之相匹配的人名实体标签序列Y={y1,y2,y3,...,yn},且每个人名实体标签Y均从一个指定的标签集中选取。
作为一个具体的实施例,定义输入序列为X={x1,x2,x3,…,xn},输出预测人名实体标签序列为Y={y1,y2,y3,...,yn};多任务神经网络模型的全连接层的输出矩阵为P,Pij代表词xi映射到标签yi的非归一化概率;P的维度为n*r,n为训练样本中句子最大长度,r为标签的类别数;CRF层的转移矩阵为A,Aij代表标签yi到yj的转移概率,转移矩阵A需要随机初始化;y0和yn是句子的开始和结束标签,所以A的维度为(r+2)*(r+2);
利用softmax函数,为每一个正确的人名实体标签序列y定义一个概率值:
其中,Yx为所有可能的人名实体标签序列;
在训练中,最大化p(y|X)的对数似然:
通过损失函数更新迭代,得到最大化p(y|X),即为预测得到的人名实体标签;
人名实体标签预测的Loss损失函数定义为:
进一步的,对错误标签对应的字与人名实体标签对应的实体进行对比,判别所述错误标签对应的字是否为人名实体标签对应实体的一部分,若是,则保留错误标签,得到错误人名实体标签,若不是,则取消错误标签。
例如:原文本为“马芸是阿里巴巴的懂事长”,标准文本为“马云是阿里巴巴的董事长”,对应的实体标签为“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、基于所述含有错误人名实体标签的文本对所述错误人名实体进行掩码,得到掩码后的文本。
具体的,针对冗余类错误,根据错误标注阶段标注出的冗余位置,直接将其删除;
针对缺失类错误,在缺失位置打上[mask]的掩码标签,得到掩码后的文本。比如,原文本为“马是阿里巴巴的董事长”,标准文本为“马云是阿里巴巴的董事长”,错误人名实体标签为“E,I,E,E,E,E,E,E,E,E,E”,则把原文本处理为“马[mask]是阿里巴巴的董事长”;
针对拼写类错误,在错误位置打上[mask]的掩码标签,得到掩码后的文本。比如,原文本为“麻芸是阿里巴巴的董事长”,标准文本为“马云是阿里巴巴的董事长”,错误人名实体标签为“R,R,E,E,E,E,E,E,E,E,E”,则把原文本处理为“[mask][mask]是阿里巴巴的董事长”。
步骤S4:根据掩码后的文本,引入自主构建的人名词表,对多任务神经网络模型进行训练,并使用损失函数进行梯度更新,得到人名预测模型;所述人名预测模型用于预测掩码人名及其概率值,并通过将预测的所述人名与预先构建的人名词表进行对比,以得到纠错后的人名。
具体的,基于掩码后的文本,引入自主构建的人名词表,对预训练的Bert-MLM掩码模型进行训练得到人名预测模型;
预训练的Bert-MLM掩码模型包括:
(1)嵌入层,在BERT模型中嵌入层主要包含三个部分:词向量(Token Embedding)、位置嵌入矩阵(Positional Embedding)和文段分割嵌入矩阵(Segment Embedding)。抽象形式化为H0=TB+P+S,其中TB为词向量,P为位置嵌入矩阵,S为文段分割嵌入矩阵。
(2)编码层,Bert的编码层实际是Transformer Encoder的堆叠,用于获取上下文信息。Bert-base模型采用L=12层的Transformer Encoder堆叠。抽象化形式为Hl=Transformer_block(Hl-1),l∈[1,L],其中,L为编码层的层数。
(3)输出层,在输出层,句子中第i个位置的预测结果wi被替换成wi',即以wi'表示被掩码成[mask]的位置,模型输出预测得到的字wi的预测概率为:
Bert-MLM模型在训练时,用于获取上下文信息的Bert层直接使用预训练好的Bert-base模型,Layer=12,Hidden=768,Attention=12,总参数=110M,参数通过预训练初始化。计算预测概率的线性层的参数则随机初始化。
进一步的,通过人名预测模型对[mask]内容进行预测,输出相应预测人名的概率值p(w=wi|θ),θ为模型中所有参数的符号表示。
根据概率值排序,设置概率值最大的前f个预测人名为被选人名,如果Bert-MLM模型预测出的前f个预测人名均不在预先构建的人名词表中,计算预测概率最大的人名与预先构建的人名词表中人名的编辑距离,从词表中选取编辑距离最小的人名作为纠正后的人名替换[mask]。如果计算得到编辑距离最小的人名有多个,选择其中频率最高的人名作为纠正后的人名替换[mask]。
如果神经网络模型预测出的前f个预测人名至少一个在领域人名词表中,选取在词表中的概率最大的预测人名作为纠正后的人名替换[mask]。
其中,预先构建的人名词表为根据人名纠错方法应用领域的人名集合构建的人名词表,其中,若有m个人重名为同一人名,则该人名在词表中出现m次;其出现的次数越多代表该名人在词表中出现的频率越高。
前述的编辑距离指的是在两个单词<w1,w2>之间,由其中一个单词w1转换为另一个单词w2所需要的最少单字符编辑操作次数。本方法定义的单字符编辑操作仅有三种,分别是插入(Insertion)、删除(Deletion)和替换(Substitution)。
将两个字符串a、b的编辑距离(Levenshtein Distance)表示为leva,b(|a|,|b|),其中|a|和|b|分别对应字符串a和b的长度。那么,在这里两个字符串的LevenshteinDistance,即可用如下的数学语言描述:
定义leva,b(i,j)指的是a中前i个字符和b中前j个字符之间的距离。
当min(i,j)=0时,leva,b(i,j)对应着字符串a中前i个字符和字符串b中前j个字符,此时的i,j有一个值为0,表示字符串a和b中有一个为空串,那么从a转换到b只需要进行max(i,j)次单字符编辑操作即可,所以字符串a和b之间的编辑距离为max(i,j),即i,j中的最大者。
当min(i,j)≠0的时候,leva,b(|a|,|b|)为如下三种情况的最小值:
(1)leva,b(i-1,j)+1表示删除ai;
(2)leva,b(i,j-1)+1表示插入bj;
更具体地,设被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模型结合自主构建的专门领域人名词表进行人名预测,得到纠正后的人名。
综上所述,本发明的实施例提供的人名纠错模型的构建方法,即一套人名检错—>人名纠错—>纠错检查的模型,利用深度学习训练的语言模型来召回文本,引入专门领域人名词表进行纠错检查,极大的提高了人名纠错的准确性;且采用多任务的方式进行训练,提升了效率,可以有效解决语音转写文本的人名识别率低的问题。
本发明的另一个实施例,提供了一种计算机设备,包括至少一个处理器,以及至少一个与所述处理器通信连接的存储器;存储器存储有可被处理器执行的指令,所述指令用于被处理器执行以实现前述实施例的人名纠错方法。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种人名纠错模型的构建方法,其特征在于,所述人名纠错模型包括中文实体识别模型和人名预测模型;
所述人名纠错模型的构建方法包括以下步骤:
获取原始语音转写文本及对应的文本纠错后的标准文本,构建训练样本集合;
利用所述训练样本集合,对多任务神经网络模型进行训练,并使用损失函数进行梯度更新,得到所述中文实体识别模型和人名预测模型;
所述中文实体识别模型用于输出含有错误人名实体标签的文本;
基于所述含有错误人名实体标签的文本对所述错误人名实体进行掩码,得到掩码后的文本;
所述人名预测模型用于根据掩码后的所述文本,引入预先构建的人名词表,预测掩码人名及其概率值,并通过将预测的所述人名与预先构建的人名词表进行对比,以得到纠错后的人名。
2.根据权利要求1所述的人名纠错模型的构建方法,其特征在于,所述中文实体识别模型为BERT-BiLSTM-CRF模型,包括:BERT文本表示层、Bi-LSTM层和CRF层;
所述BERT文本表示层,采用预训练的BERT-base模型,用于将输入的所述语音转写文本表示为n*k的矩阵,其中n为所述训练样本中句子的最大长度,k为词向量维度;
所述Bi-LSTM层,用于根据所述文本表示层输出的文本表示得到文本中每个字符对应的标签的概率;
所述CRF层,用于根据所述Bi-LSTM层的输出,通过初始化转移矩阵预测人名实体标签的最佳路径。
3.根据权利要求1所述的人名纠错模型的构建方法,其特征在于,
采用序列标注方法对所述训练样本集合中的原始语音转写文本进行错误标注,得到带有错误标签的语音转写文本;
采用命名实体识别标注方法对所述对多任务神经网络模型进行训练,以检测所述带有错误标签的语音转写文本中的人名实体,并标注人名实体标签;
判别所述错误标签对应的字是否为人名实体标签对应实体的一部分;若是,则保留错误标签,得到所述含有错误人名实体标签的文本;若不是,则取消错误标签。
4.根据权利要求3所述的人名纠错模型的构建方法,其特征在于,所述采用序列标注方法对所述原始语音转写文本进行错误标注,包括:将所述原始语音转写文本与所述对应的标准文本做对比,得到所述原始文本中的拼写错误部分、冗余错误部分、缺失错误部分和正确部分,并分别标注对应的标签。
5.根据权利要求1所述的人名纠错模型的构建方法,其特征在于,所述人名预测模型为预训练的Bert-MLM模型,包括嵌入层、编码层和输出层;
所述嵌入层,用于将掩码后的所述语音转写文本表示为包括词向量、位置嵌入和文段分割嵌入的隐向量;
所述编码层,用于根据所述嵌入层的输出得到具有上下文表示的隐向量;
所述输出层,用于输出预测得到的人名及所述人名对应的预测概率。
6.根据权利要求1所述的人名纠错模型的构建方法,其特征在于,根据所述人名预测模型预测出的人名概率值排序和编辑距离得到纠正后的人名;其中,所述编辑距离基于所述人名与预先构建的人名词表进行对比得到;
如果所述人名预测模型预测出的人名都不在所述预先构建的人名词表中,计算所述预测概率最大的人名与所述词表中人名的编辑距离,选取编辑距离最小的人名作为纠正后的人名;
如果人名预测模型预测出的至少一个人名在人名词表中,选取在词表中的所述预测概率最大的人名作为纠正后的人名。
7.根据权利要求1所述的人名纠错模型的构建方法,其特征在于,所述预先构建的人名词表为根据所述人名纠错系统应用领域的人名集合构建的人名词表。
8.根据权利要求1所述的人名纠错模型的构建方法,其特征在于,所述获取原始语音转写文本及与所述原始语音转写文本对应的标准文本,包括:
获取所述人名纠错方法应用领域的语音转写文本;
通过校对,得到与所述语音转写文本对应的标准文本。
10.一种计算机设备,其特征在于,包括至少一个处理器,以及至少一个与所述处理器通信连接的存储器;
所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求1-9任一项所述的人名纠错模型的构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210446422.6A CN114818669B (zh) | 2022-04-26 | 2022-04-26 | 一种人名纠错模型的构建方法和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210446422.6A CN114818669B (zh) | 2022-04-26 | 2022-04-26 | 一种人名纠错模型的构建方法和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114818669A true CN114818669A (zh) | 2022-07-29 |
CN114818669B CN114818669B (zh) | 2023-06-27 |
Family
ID=82508414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210446422.6A Active CN114818669B (zh) | 2022-04-26 | 2022-04-26 | 一种人名纠错模型的构建方法和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114818669B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115293138A (zh) * | 2022-08-03 | 2022-11-04 | 北京中科智加科技有限公司 | 一种文本纠错方法及计算机设备 |
CN116341543A (zh) * | 2023-05-31 | 2023-06-27 | 安徽商信政通信息技术股份有限公司 | 一种人名识别与纠错的方法、系统、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1784609A (zh) * | 2003-02-14 | 2006-06-07 | 爱德万测试株式会社 | 开发半导体集成电路测试程序的方法和构造 |
CN111222337A (zh) * | 2020-01-08 | 2020-06-02 | 山东旗帜信息有限公司 | 一种实体识别模型的训练方法及装置 |
US20200334416A1 (en) * | 2019-04-16 | 2020-10-22 | Covera Health | Computer-implemented natural language understanding of medical reports |
CN113076739A (zh) * | 2021-04-09 | 2021-07-06 | 厦门快商通科技股份有限公司 | 一种实现跨领域的中文文本纠错方法和系统 |
CN113221569A (zh) * | 2021-05-27 | 2021-08-06 | 中国人民解放军军事科学院国防工程研究院工程防护研究所 | 一种毁伤试验文本信息抽取方法 |
CN114282527A (zh) * | 2021-12-22 | 2022-04-05 | 中科讯飞互联(北京)信息科技有限公司 | 多语言文本检测与纠错方法、系统、电子设备及存储介质 |
CN114372441A (zh) * | 2022-03-23 | 2022-04-19 | 中电云数智科技有限公司 | 一种中文文本自动纠错方法及装置 |
-
2022
- 2022-04-26 CN CN202210446422.6A patent/CN114818669B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1784609A (zh) * | 2003-02-14 | 2006-06-07 | 爱德万测试株式会社 | 开发半导体集成电路测试程序的方法和构造 |
US20200334416A1 (en) * | 2019-04-16 | 2020-10-22 | Covera Health | Computer-implemented natural language understanding of medical reports |
CN111222337A (zh) * | 2020-01-08 | 2020-06-02 | 山东旗帜信息有限公司 | 一种实体识别模型的训练方法及装置 |
CN113076739A (zh) * | 2021-04-09 | 2021-07-06 | 厦门快商通科技股份有限公司 | 一种实现跨领域的中文文本纠错方法和系统 |
CN113221569A (zh) * | 2021-05-27 | 2021-08-06 | 中国人民解放军军事科学院国防工程研究院工程防护研究所 | 一种毁伤试验文本信息抽取方法 |
CN114282527A (zh) * | 2021-12-22 | 2022-04-05 | 中科讯飞互联(北京)信息科技有限公司 | 多语言文本检测与纠错方法、系统、电子设备及存储介质 |
CN114372441A (zh) * | 2022-03-23 | 2022-04-19 | 中电云数智科技有限公司 | 一种中文文本自动纠错方法及装置 |
Non-Patent Citations (2)
Title |
---|
LINYANG LI等: "BERT-ATTACK: Adversarial Attack Against BERT Using BERT", 《HTTPS://ARXIV.ORG/ABS/2004.09984》, pages 1 - 10 * |
杨越等: "基于上下文语义的新闻人名纠错方法", 《电子科技大学学报》, vol. 48, no. 6, pages 809 - 814 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115293138A (zh) * | 2022-08-03 | 2022-11-04 | 北京中科智加科技有限公司 | 一种文本纠错方法及计算机设备 |
CN116341543A (zh) * | 2023-05-31 | 2023-06-27 | 安徽商信政通信息技术股份有限公司 | 一种人名识别与纠错的方法、系统、设备及存储介质 |
CN116341543B (zh) * | 2023-05-31 | 2023-09-19 | 安徽商信政通信息技术股份有限公司 | 一种人名识别与纠错的方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114818669B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114444479B (zh) | 一种端到端中文语音文本纠错方法、装置和存储介质 | |
CN109190131B (zh) | 一种基于神经机器翻译的英语单词及其大小写联合预测方法 | |
CN114818668B (zh) | 一种语音转写文本的人名纠错方法、装置和计算机设备 | |
CN111985239B (zh) | 实体识别方法、装置、电子设备及存储介质 | |
Abandah et al. | Automatic diacritization of Arabic text using recurrent neural networks | |
CN116127953B (zh) | 一种基于对比学习的中文拼写纠错方法、装置和介质 | |
CN111767718B (zh) | 一种基于弱化语法错误特征表示的中文语法错误更正方法 | |
CN110276069B (zh) | 一种中国盲文错误自动检测方法、系统及存储介质 | |
CN114818669B (zh) | 一种人名纠错模型的构建方法和计算机设备 | |
CN112612871B (zh) | 一种基于序列生成模型的多事件检测方法 | |
CN115293138B (zh) | 一种文本纠错方法及计算机设备 | |
CN116127952A (zh) | 一种多粒度中文文本纠错方法和装置 | |
CN112287680B (zh) | 一种问诊信息的实体抽取方法、装置、设备及存储介质 | |
CN115293139B (zh) | 一种语音转写文本纠错模型的训练方法和计算机设备 | |
CN113128203A (zh) | 基于注意力机制的关系抽取方法、系统、设备及存储介质 | |
CN114386371A (zh) | 中文拼写纠错方法、系统、设备及存储介质 | |
CN110991185A (zh) | 一种文章中实体的属性抽取方法及装置 | |
CN115658898A (zh) | 一种中英文本实体关系抽取方法、系统及设备 | |
CN113743101A (zh) | 文本纠错方法、装置、电子设备和计算机存储介质 | |
CN116432655A (zh) | 基于语用知识学习的少样本命名实体识别方法和装置 | |
CN115455946A (zh) | 语音识别纠错方法、装置、电子设备和存储介质 | |
CN117217233A (zh) | 文本纠正、文本纠正模型训练方法及装置 | |
CN115935914A (zh) | 一种入院记录缺失文本补充方法 | |
CN115730585A (zh) | 文本纠错及其模型训练方法、装置、存储介质及设备 | |
CN117973372A (zh) | 一种基于拼音约束的中文语法纠错方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |