发明内容
基于此,有必要针对上述技术问题,提供一种基于对比学习的命名实体处理方法、装置、设备及存储介质,以同类实体的不同标注标签可能学到分布相差很大的模型表示,导致最终降低命名实体识别的准确率的技术问题。
为解决上述技术问题,提供如下技术方案:
第一方面,提供了一种基于对比学习的命名实体处理方法,所述方法包括:
对文本集中的文本进行实体标注,其中,标注后的文本中包括相同语义标签类型的标注元素以及不同语义标签类型的标注元素,相同语义标签类型的标注元素表征的是同种实体类型的实体包括的标注元素;
用标注后的文本中所有相同语义标签的标注元素之间构造正实体对,不同语义标签的标注元素之间为负实体对;
构造每组对比学习样例对应的对比学习损失函数,其中,所述对比学习样例包括一个正实体对与所述一个正实体对对应的N个负实体对;
基于所述对比学习损失函数,训练编码器,直至所述编码器对应的对比学习损失符合预设损失条件,得到目标编码器;
所述目标编码器用于对待识别文本进行命名实体识别。
可选地,所述实体标注方式包括BIO实体标注方式,同种类型实体的每个B类标注元素和每个I类标注元素之间表示相同语义标签类型的标注元素,不同种类型实体的每个B类标注元素和每个I类标注元素之间表示不同语义标签类型的标注元素。
可选地,所述负实体对未包括O类标注元素与所述B类标注元素,和/或O类标注元素与所述I类标注元素。
可选地,构造每组对比学习样例对应的对比学习损失函数,包括:
构造所述对比学习样例的如下对比学习函数:
;
其中,表示对比学习损失,/>表示其中一个标注元素的表示向量,/>表示与所述标注元素/>相同语义标签类型的任一标注元素的表示向量,/>表示N个与所述标注元素/>不同语义标签类型的标注元素中,标注元素i的表示向量,/>表示温度超参数。
可选地,基于所述对比学习损失函数,训练编码器,直至所述编码器对应的对比学习损失符合预设损失条件,得到目标编码器,包括:
根据每组对比学习样例对应的对比学习损失函数,获取每组对比学习样例对应的对比学习损失;
训练所述编码器,直至所有每组对比学习样例的对比学习损失之和符合预设损失条件。
可选地,基于所述对比学习损失函数,训练编码器,直至所述编码器对应的对比学习损失符合预设损失条件,得到目标编码器之后,还包括:
训练序列分类网络,其中,所述序列分类网络包括依次连接的所述目标编码器、线性层和条件随机场层;
所述训练好的所述序列分类网络,用于对待识别文本进行序列分类处理,以完成序列分类任务。
可选地,所述训练序列分类网络,包括:
计算每个标注元素位置的条件概率,所述条件概率表征了每个标注元素下出现相应标注标签类型的概率;
根据每个标注元素位置的条件概率,构建负对数似然函数;
搜索所述负对数似然函数概率最大的分类序列,直至训练结束,得到训练好的所述序列分类网络。
第二方面,提供了一种基于对比学习的命名实体处理装置,所述装置包括:
实体标注模块,用于对文本集中的文本进行实体标注,其中,标注后的文本中包括相同语义标签类型的标注元素以及不同语义标签类型的标注元素,相同语义标签类型的标注元素表征的是同种实体类型的实体包括的标注元素;
实体对构造模块,用于用标注后的文本中所有相同语义标签的标注元素之间构造正实体对,不同语义标签的标注元素之间为负实体对;
函数构造模块,用于构造每组对比学习样例对应的对比学习损失函数,其中,所述对比学习样例包括一个正实体对与所述一个正实体对对应的N个负实体对;
训练模块,用于基于所述对比学习损失函数,训练编码器,直至所述编码器对应的对比学习损失符合预设损失条件,得到目标编码器;
所述目标编码器用于对待识别文本进行命名实体识别。
第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述任一项所述的基于对比学习的命名实体处理方法的步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述任一项所述的基于对比学习的命名实体处理方法的步骤。
可见,在本申请提供的基于对比学习的命名实体处理方法中,由于用相同语义标签类型的标注元素以及不同语义标签类型的标注元素,分别构造出正负样本对进行训练,因此可最大化相关样本之间的相似性,并最小化不相关样本之间的相似性来学习模型表示,因此,即便是同个语义标签的实体词有不同的标注标签,也可保证在一个实体此里面同种语义类型的实体学习到相关的模型表示,以,BIO标注方式为例,比如B-人物型和I-人物的实体学习到相关的模型表示,以提高后续命名实体识别的准确性。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解的是,命名实体识别(Named Entity Recognition,NER)是自然语言处理的一项重要任务,用于识别出待识别文本中的命名实体,一般指识别文本中具有特定意义的实体,可以包括人名、地名、机构名、专有名词等。简单的讲,就是识别自然文本中的实体的边界和类别,一般用于序列分类任务中,其中,常用的序列分类任务包括基于BERT(Bidirectional Encoder Representations from Transformers),条件随机场(conditional random fields,CRF)或长短期记忆网络(LSTM,Long Short Term Memorynetworks)及它们的组合的序列分类方法。
如背景解释,在命名实体训练和识别时,需使用实体标注方式对文本中的实体进行标注。比如,现有的实体标注方式有BIO标注方式,BIOES标注方式和BMES标注方式等。以BIO标注方式为例,该标注方式中,会把文本中每个实体的第一个字标注为B-类型,剩余的字标注为I-类型。比如B-人物,I-人物;B-地名,I-地名;之类,不属于模型关心的实体则标注为O-类型。但是基于序列分类标注的命名实体识别方式,由于同个实体采用不同的标注标签类型进行了标注,比如,以上述BIO标注方式为例,由于B-类型和I-类型是两种不同类型的标注标签,可能导致它们学习到不相关的模型表示,也就是同个实体词里面B-类型和I-类型的字,应该共享相关的模型表示,因为B-类型和I-类型表示同一类实体,只是有位置的区分,在模型中可能只是把它们当成两个不同的标签,有可能学到分布相差很大的模型表示,这可能会影响命名实体识别的准确率。
为解决上述问题,本申请实施例提供了一种基于对比学习的命名实体处理方法,用于解决现有的命名识别方式中,由于同个实体采用不同的标注标签类型进行了标注,导致学习到不相关的模型表示,导致最终的命名实体识别准确率底的技术问题。
如图1所示,在一实施例中,提供了一种基于对比学习的命名实体处理方法,该方法包括:
S10:对文本集中的文本进行实体标注,其中,标注后的文本中包括相同语义标签类型的标注元素以及不同语义标签类型的标注元素。
S20:用标注后的文本中所有相同语义标签的标注元素之间构造正实体对,不同语义标签的标注元素之间为负实体对。
步骤S10-S20中,首先是构造用于比对学习的实体对。该过程中,需对文本集中的文本进行实体标注,其中,该文本集包括用于训练的训练文本,在获取得到用于训练的文本集后,采用预设的实体标注方式,对文本集中的文本进行实体标注。需要说明的是,本申请实施例中,预设的实体标注方式,指的是,进行实体标注后,标注后的文本中包括相同语义标签类型的标注元素以及不同语义标签类型的标注元素,标注元素指的是被贴上实体标注标签的文本元素(文本token),相同语义标签类型的标注元素表征的是同种实体类型的实体包括的标注元素,比如人物实体、地名实体或者其他实体等,这里不做具体限定也一一举例说明。
示例性的,作为一种实施例,所述实体标注方式包括BIO实体标注方式,同类实体的每个B类标注元素和每个I类标注元素之间表示相同语义标签类型的标注元素,不同类实体的每个B类标注元素和每个I类标注元素之间表示不同语义标签类型的标注元素。
这里不妨以预设的实体标注方式为BIO实体标注方式为例进行说明,在采用BIO实体标注方式标注后,会把文本集中文本中每种实体类型的实体的第一个字标注为B类型,剩余的字标注为I类型。比如,每种类型的实体包括人物、地名等,那么标注结果包括:B-人物,I-人物;B-地名,I-地名;之类,不属于模型关心的其他实体则标注为O-类型。那么此时,B-人物和I-人物就是属于相同语义标签类型的标注元素,B-地名和I-地名就属于相同语义标签类型的标注元素,O类标注元素和其他标注元素,不同语义标签类型的标注元素。可见,该实施例中,明确了预设的实体标注方式的具体形式,将其应用于BIO标注应用场景中,提高方案的可实施性。
需要说明的是,上述是以BIO实体标注方式为例,在其他实施例中,只要对同种类型的实体用了不同的标注标签,则均可适用本申请实施例,也就是说,预设的实体标注方式,还可以是其他的,比如,前文提及的BIOES标注方式、BMES标注方式或者未来类似的实体标注方式等,具体本申请实施例不做限定。可见,本申请实施例可拓展至各种标注方式下应用,应用场景较为广泛。
在对文本集中的文本进行实体标注后,标注后的文本中将包括相同语义标签类型的标注元素以及不同语义标签类型的标注元素,该实施例中,会基于这些标注元素,构造正实体对以及负实体对,以作为对比学习训练的正、负样本(也称为正、负样例)。比如,以BIO实体标注方式为例,假设标注结果包括:B-人物,I-人物;B-地名,I-地名之类,不属于模型关心的其他实体则标注为O-类型。那么此时,B-人物和I-人物就是属于相同语义标签类型的标注元素,B-地名和I-地名就属于相同语义标签类型的标注元素,O类标注元素和其他标注元素,不同语义标签类型的标注元素。B-人物和I-人物之间就是正实体对,B-地名和I-地名之间就是负实体对,其他不相同语义标签类型的标注元素之间则是负实体对。
为了减少训练过程中多余的计算,以提升训练效率,在一实施例中,所述负实体对未包括O类标注元素与所述B类标注元素,和/或O类标注元素与所述I类标注元素。
也就是说,对于放进一个batch的多个文本句子,用多个文本句子中所有相同的语义标签的标注元素构造正实体对,只选取多个句子中不同语义标签的标注元素之间负实体对,对语义标签的标注元素与O类标注元素之间不构造负实体对用于模型训练。这么做的原因是,O类标签的O类标注元素,并不是模型所需关心的实体,通过此方式有助于后面训练的过程中,减少后面训练的实体对,只训练模型关心的实体,从而能够提高训练效率。
S30:构造每组对比学习样例对应的对比学习损失函数,其中,所述对比学习样例包括一个正实体对与所述一个正实体对对应的N个负实体对。
S40:基于所述对比学习损失函数,训练编码器,直至所述编码器对应的对比学习损失符合预设损失条件,得到目标编码器。
该实施例中,在构造出上述正实体对和所述负实体对后,采用对比学习方式,构造每组对比学习样例对应的对比学习损失函数,从而确定出训练优化目标。 具体而言,在一实施例中,基于所述对比学习损失函数,训练编码器,直至所述编码器对应的对比学习损失符合预设损失条件,得到目标编码器,包括:根据每组对比学习样例对应的对比学习损失函数,获取每组对比学习样例对应的对比学习损失;训练所述编码器,直至所有组的对比学习样例的对比学习损失之和符合预设损失条件,此过程可以把对比学习看成N分类的logistic损失,需要优化的损失函数是多每组对比学习样例对应的对比学习损失之和。
应当理解的是,在神经网络中,模型的学习方法主要分为两大类:监督学习和无监督学习。监督学习就是已知输入数据和输出数据,通过训练一个网络模型来建立输入和输出之间的映射。比如,常用的监督学习方法包括:决策树(Decision Tree)、支持向量机(SVM)、神经网络(NN)、线性回归(Linear Regression)和逻辑回归(Logistic Regression)等。而无监督学习则是已知输入数据,通过训练一个模型来获取输入数据的结构以及之间的关系。常用的无监督学习方法包括:聚类分析(Clustering)、主成分分析(PrincipalComponent Analysis,PCA)和自编码器(Autoencoder)。
而对比学习可理解为一种特殊的无监督学习方法,旨在通过最大化相关样本之间的相似性,并最小化不相关样本之间的相似性来学习数据表示。因此,在使用时需构造正负样本,本申请实施例中的正负样本,也就是分别指前文提及的正实体对以及负实体对。可见,使用对比学习方式训练时的正负样本的定义就是在构建一种标注的数据用于训练学习同种实体类型下不同实体标注标签之间的关系。
在一实施例中,构造每组对比学习样例对应的对比学习损失函数,指的是,以InfoNCE损失为优化目标,对于某个标注元素对应的向量表示q(该标注元素可以是I类标注元素或B类标注元素),根据本申请实施例中正实体对以及负实体对的含义,那么该标注元素对应的向量表示q有一个正例样本,设为embedding k+,和N个负例样本,设定为embedding ki,针对该标注元素对应的1个正实体对和N个负实体对,构造如下对比学习函数:;
其中,表示对比学习损失,/>表示其中一个标注元素的表示向量embedding,表示与所述标注元素/>相同语义标签类型的任一标注元素的表示向量embedding,表示N个与所述标注元素/>不同语义标签类型的标注元素中,示例性的,N个与所述标注元素/>不同语义标签类型的标注元素中,包括B类标注元素和/或I类标注元素,标注元素i的表示向量embedding,/>表示温度超参数,温度超参数/>用于限制训练过程过拟合,表示/>和/>的向量内积。
可以理解的是,对比学习损失函数有多种,其中,比较常用的一种便是InfoNCE损失,假设已InfoNCE损失有一个编码好的标注元素q(一个token特征),一旦定义好了正负样本对,就需要一个对比学习损失函数来指导模型来进行学习,通过对比学习损失函数需要满足如下要求:即当标注元素q和其唯一的正样本相似,并且和其他所有负样本/>都不相似的时候,这个该对比学习损失函数的损失值的和应该比较低,反之,如果标注元素q和相应的/>不相似,或者标注元素q和其他负样本/>的相似了,那么对比学习损失函数的损失值应该比较大,从而促使模型继续训练进行参数更新,直至模型的上述InfoNCE损失的值的和低于所需值,得到最终训练好的模型。
需要说明的是,在其他实施例中,上述对比学习损失函数,可以有其他的变形方式,比如,可以替换其他相似度度量,上述公式中的向量内积与余弦相似度等价,因为假设embedding都已标准化,不必除以它们的范数。余弦相似度可以换成其他相似度度量,比如欧几里得距离,具体不做限定。另外,除了以InfoNCE损失为优化目标外,还可以采用其他的对比学习损失函数,具体本申请实施例不做限定。
需要说明的是,上述提及的模型包括编码器(encoder),上述对模型的训练包括对该编码器进行训练,使得最终的损失值之和符合条件。示例性的,在一实施例中,该编码器可以包括但不局限于比如BERT或长短期记忆网络(LSTM,Long Short Term Memorynetworks)等编码器,具体不做限定,也不一一举例说明。该实施例中,编码器可以使用多种,均可采用本申请实施例提供的处理方式,从而得到所需的目标编码器用于命名实体识别。
可见,该实施例中,提供了一种基于对比学习的命名实体处理方法,在训练的实体标注后,标注后的文本中包括相同语义标签类型的标注元素以及不同语义标签类型的标注元素,再用标注后的文本中所有相同语义标签的标注元素之间构造正实体对,不同语义标签的标注元素之间为负实体对,正实体对和负实体对作为正负样本,基于对比学习的方式,训练得到目标编码器用命名实体识别。
由于用相同语义标签类型的标注元素以及不同语义标签类型的标注元素,分别构造出正负样本对进行训练,因此可最大化相关样本之间的相似性,并最小化不相关样本之间的相似性来学习模型表示,因此,即便是同个语义标签的实体词有不同的标注标签,也可保证在一个实体此里面同种语义类型的实体学习到相关的模型表示,以,BIO标注方式为例,比如B-人物型和I-人物的实体学习到相关的模型表示,以提高后续命名实体识别的准确性。
需要说明的是,在上述实施例的基础下,训练后得到的目标编码器能够学习到更好的词语的模型表示,从而能够有效地避免常用方案中的B类标签和I类标签属于两个不同各类标签,导致同种实体类型的实体词学习不到的问题,因此,基于目标编码器可用于准确地进行命名实体识别,并将命名实体识别结果用于自然语言处理(NLP)处理中,包括序列分类任务。在目标编码器的基础上加上用于序列分类的网络模块,通过微调,便可训练命名实体识别常用的序列分类任务,下面进行描述。
在一实施例中,训练出目标编码器之后,该方法还包括:
S50:训练序列分类网络,其中,所述序列分类网络包括依次连接的所述目标编码器、线性层和条件随机场层;
S60:使用训练好的所述序列分类网络,对待识别文本进行文本序列分类,以完成序列分类任务。
应当理解的是,命名实体识别是基础,基于命名实体识别的结果,衍生出了实体关系识别的任务,也就是序列分类任务,示例性的,上述序列分类任务包括但不局限于文本分类,阅读理解等分类任务。该实施例中,需先搭建序列分类任务的序列分类网络,该序列分类网络包括依次连接的所述目标编码器、线性层和条件随机场(conditional randomfields,CRF)层,然后使用训练好的所述序列分类网络,对待识别文本进行序列分类任务,以完成序列分类任务。
换种说话,也就是本申请实施例中,可用于解决于基于BIO等标注方式来解决命名实体识别过程中,B类标签与I类标签的表示的特征不同的问题,以用于强调拉近同种实体类型中,B类标注元素特征和I类标注元素特征的相似度。
示例性的,比如,可搭建BERT+CRF+线性层的序列分类网络,BERT也可替换成为其他的编码器,具体不做限定。
具体的,在一实施例中,以BIO标注方式为例,令为带标注标签的文本序列,其中,si表示第i个标注元素(即文本token),yi为表示第i个BIO标签(可以是B类标注标签、I类标注标签或O类标注标签),令H为目标编码器的输出,WO和bO表示线性层可学习的参数,则线性层可表示为;/>。需要说明的是,该线性层的表达式在此仅为示例性说明,可有其他的线性层,具体本申请实施例不做限定。
在一实施例中,具体地,S50:所述训练序列分类网络,包括:
S51:计算每个标注元素位置的条件概率,所述条件概率表征了每个标注元素下出现相应标注标签类型的概率;
S52:根据每个标注元素位置的条件概率,构建负对数似然函数;
S53:搜索所述负对数似然函数概率最大的序列,直至训练结束,得到训练好的所述序列分类网络。
其中,假设为所有可能的实体标注标签,T表示条件随机场中的转移矩阵,令为带标注标签的文本序列,其中,si表示第i个标注元素(即文本token),yi为表示第i个BIO标签,通过如下方式,计算每个标注元素位置的条件概率,所述条件概率表征了每个标注元素下出现相应标注标签类型的概率:;
其中,表示第i个标注元素si下出现相应标注标签类型yi的概率,/>表示线性层输出的log odds(即输出的logit,表示对数几率),/>表示第j位是标签/>对应的线性层输出,/>表示第j位是标签/>对应的线性层输出;另外,T是转移矩阵,这个系数矩阵是CRF的一部分,可以在模型拟合的时候学习,以下2个变量取自这个转移矩阵,该转移矩阵是一个方阵,行数和列数都为序列第j位可能取到的标签数,用/>来指定其行列,其中:
表示从第j-1位标签/>转移到第j位标签/>之间的转移分数;/>表示从第j-1位标签/>转移到第j位标签/>之间的转移分数,/>表示第j位所有可能取到的标签,在表达式中,分母用于对所有/>求和。
再根据每个标注元素位置的条件概率,构建负对数似然函数,用于优化序列分类网络的损失函数,表示为,最后可通过比如Viterbi算法,搜索所述负对数似然函数概率最大的分类序列,直至训练结束,得到训练好的所述序列分类网络,用于序列分类。
可见,该实施例中,训练好的目标编码器,通过搭建的序列分类网络,和微调方式,可训练出用于具体序列分类任务的序列分类网络,提高序列分类网络的准确性。
需要说明的是,在训练序列分类网络中,上述训练方式是基于上述线性层的网络结构而设置,对于采用目标编码器的其他序列分类网络,也可有相应的序列分类网络训练方式,具体本申请实施例不做限定,也不一一说明。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在一实施例中,提供了一种基于对比学习的命名实体处理装置,所述命名实体处理装置包括实体标注模块101、实体对构造模块102、函数构造模块103和训练模块104,如图3所示,命名实体处理装置包括:
实体标注模块101,用于对文本集中的文本进行实体标注,其中,标注后的文本中包括相同语义标签类型的标注元素以及不同语义标签类型的标注元素,相同语义标签类型的标注元素表征的是同种实体类型的实体包括的标注元素;
实体对构造模块102,用于用标注后的文本中所有相同语义标签的标注元素之间构造正实体对,不同语义标签的标注元素之间为负实体对;
函数构造模块103,用于构造每组对比学习样例对应的对比学习损失函数,其中,所述对比学习样例包括一个正实体对与所述一个正实体对对应的N个负实体对;
训练模块104,用于基于所述对比学习损失函数,训练编码器,直至所述编码器对应的对比学习损失符合预设损失条件,得到目标编码器;
所述目标编码器用于对待识别文本进行命名实体识别。
在一实施例中,所述实体标注方式包括BIO实体标注方式,同种类型实体的每个B类标注元素和每个I类标注元素之间表示相同语义标签类型的标注元素,不同种类型实体的每个B类标注元素和每个I类标注元素之间表示不同语义标签类型的标注元素。
在一实施例中,所述负实体对未包括O类标注元素与所述B类标注元素,和/或O类标注元素与所述I类标注元素。
该实施例中,为了减少训练过程中多余的计算,以提升训练效率,在一实施例中,所述负实体对未包括O类标注元素与所述B类标注元素,和/或O类标注元素与所述I类标注元素。
也就是说,对于放进一个batch的多个文本句子,用多个文本句子中所有相同的语义标签的标注元素构造正实体对,只选取多个句子中不同语义标签的标注元素之间负实体对,对语义标签的标注元素与O类标注元素之间不构造负实体对用于模型训练。这么做的原因是,O类标签的O类标注元素,并不是模型所需关心的实体,通过此方式有助于后面训练的过程中,减少后面训练的实体对,只训练模型关心的实体,从而能够提高训练效率。
在一实施例中,函数构造模块103用于:
构造每组对比学习样例的如下对比学习函数:
;
其中,表示对比学习损失,/>表示其中一个标注元素的表示向量,/>表示与所述标注元素/>相同语义标签类型的任一标注元素的表示向量,/>表示N个与所述标注元素/>不同语义标签类型的标注元素中,标注元素i的表示向量,/>表示温度超参数。
在一实施例中,训练模块104用于:
根据每个标注元素对应的对比学习损失函数,获取每个标注元素对应的对比学习损失;
训练所述编码器,直至所有标注元素的对比学习损失之和符合预设损失条件。
在一实施例中,训练模块104用于,预先训练序列分类网络,其中,所述序列分类网络包括依次连接的所述目标编码器、线性层和条件随机场层;训练好的所述序列分类网络,用于对待识别文本进行序列分类处理,以完成序列分类任务。
通过此方式,可用于解决于基于BIO等标注方式来解决命名实体识别过程中,B类标签与I类标签的表示的特征不同的问题,以用于强调拉近同种实体类型中,B类标注元素特征和I类标注元素特征的相似度。
在一实施例中,训练模块104用于:
计算每个标注元素位置的条件概率,所述条件概率表征了每个标注元素下出现相应标注标签类型的概率;
根据每个标注元素位置的条件概率,构建负对数似然函数;
搜索所述负对数似然函数概率最大的分类序列,直至训练结束,得到训练好的所述序列分类网络。
可见,在本申请提供的基于对比学习的命名实体处理装置中,由于用相同语义标签类型的标注元素以及不同语义标签类型的标注元素,分别构造出正负样本对进行训练,因此可最大化相关样本之间的相似性,并最小化不相关样本之间的相似性来学习模型表示,因此,即便是同个语义标签的实体词有不同的标注标签,也可保证在一个实体此里面同种语义类型的实体学习到相关的模型表示,以,BIO标注方式为例,比如B-人物型和I-人物的实体学习到相关的模型表示,以提高后续命名实体识别的准确性。
其中,关于基于对比学习的命名实体处理装置中各模块具体实现细节或步骤,可对应参阅前述方法实施例中的描述,相应的改进方案的技术效果也可参阅前述方法实施例的描述,为避免冗余描述,这里不再重复描述说明。
在一个实施例中,提供了一种计算机设备,该计算机设备用于一种基于对比学习的命名实体处理方法的步骤,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备还包括计算机可读存储介质、存储器。该计算机可读指令被处理器执行时以实现一种基于对比学习的命名实体处理的功能或步骤。本实施例所提供的计算机可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现前述一种基于对比学习的命名实体处理方法中的步骤或者功能。
在一实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现如下步骤:
对文本集中的文本进行实体标注,其中,标注后的文本中包括相同语义标签类型的标注元素以及不同语义标签类型的标注元素,相同语义标签类型的标注元素表征的是同种实体类型的实体包括的标注元素;
用标注后的文本中所有相同语义标签的标注元素之间构造正实体对,不同语义标签的标注元素之间为负实体对;
根据所述正实体对和所述负实体对,构造每个标注元素的对比学习损失函数;
基于所述对比学习损失函数,训练编码器,直至所述编码器对应的对比学习损失符合预设损失条件,得到目标编码器;所述目标编码器用于对待识别文本进行命名实体识别。
在一个实施例中,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述一种数据库的序列号生成方法中的步骤或者功能。
在一个实施例中,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
对文本集中的文本进行实体标注,其中,标注后的文本中包括相同语义标签类型的标注元素以及不同语义标签类型的标注元素,相同语义标签类型的标注元素表征的是同种实体类型的实体包括的标注元素;
用标注后的文本中所有相同语义标签的标注元素之间构造正实体对,不同语义标签的标注元素之间为负实体对;
根据所述正实体对和所述负实体对,构造每个标注元素的对比学习损失函数;
基于所述对比学习损失函数,训练编码器,直至所述编码器对应的对比学习损失符合预设损失条件,得到目标编码器;
所述目标编码器用于对待识别文本进行命名实体识别。
一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如前述一种实现前述一种基于对比学习的命名实体处理方法中的步骤或者功能。
可见,通过上述实施例提供的设备、介质或者产品,由于用相同语义标签类型的标注元素以及不同语义标签类型的标注元素,分别构造出正负样本对进行训练,因此可最大化相关样本之间的相似性,并最小化不相关样本之间的相似性来学习模型表示,因此,即便是同个语义标签的实体词有不同的标注标签,也可保证在一个实体此里面同种语义类型的实体学习到相关的模型表示,以,BIO标注方式为例,比如B-人物型和I-人物的实体学习到相关的模型表示,以提高后续命名实体识别的准确性。
需要说明的是,关于该计算机设备或计算机可读存储介质实现的更多细节、技术效果,可对应参阅前述方法实施例的记载,具体这里也不再重复描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。