一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向金融产品智能推荐系统的命名实体识别方法

2022-11-19 16:09:09 来源:中国专利 TAG:


1.本发明涉及自然语言处理与人工智能技术领域,具体涉及一种面向金融产品智能推荐系统的命名实体识别方法。


背景技术:

2.命名实体识别指的是从给定的文本中提取出预定义实体的算法。如何使计算机准确编码一个句子的语义信息是智能推荐系统需要解决的一个关键问题。金融产品智能推荐系统在进行金融产品的推荐时,金融产品中的基本要素可以使用命名实体识别技术来进行提取,如组织机构名、日期时间、人名、地名、专有名词等。提取产品资讯中的实体对于智能推荐时代的金融产品推荐有着重要意义,如进行更加靳准的内容挖掘、对内容进行有效监督等。命名实体识别属于信息抽取领域,作为信息抽取的重要分支,其任务是标注语句中的实体,有着非常关键的意义。作为文本的基本单位,它包含大量的语义信息,在编码产品资讯语义信息方面有着重要作用。
3.传统基于特征工程的有监督学习方法解决命名实体识别时,需要人类进行手工提取特征,浪费了很多人力,并且人们的经验可能在特征的提取过程中出错从而导致误差的传播,方法的效果有限。
4.随着深度学习在自然语言处理领域的发展,越来越多的使用深度学习的命名实体识别方法被提出,如cn114462409a公开的一种基于对抗训练的审计领域命名实体识别方法、cn111291565a公开的一种用于命名实体识别的方法与装置。在这些方法中,需要将句子转换成词向量的形式,并通过深度学习模型进行一些运算,命名实体识别任务可以转换成一个令牌分类的问题。现有的金融领域存在数据量少的问题,而深度学习模型对于可信数据的依赖性比较高,少量的数据导致深度学习模型很难收敛,方法准确率不够高。最近在自然语言表示方面的进展使得将上游训练好的模型的内部状态迁移到下游的任务当中成为了可能,为了让每个令牌编码更加准确的语义,在令牌中融入更多准确的语义信息受到了广泛关注。同时,在现有的少量数据的情况下,引入更多可信数据以提升模型性能具有深远的意义。而传统使用序列标注的方式解决命名实体识别任务的方法没有在令牌中融入更多维度的信息,导致命名实体识别的精度不足,且在少量数据领域问题更加明显。


技术实现要素:

5.为了克服现有技术中存在的命名实体识别方法准确率不够以及未充分发挥预训练模型性能的问题,提供一种面向金融产品智能推荐系统的命名实体识别方法,其能够精准识别金融产品推荐系统中产品资讯句子中的实体,可以在命名实体识别的公开数据上都取得优异的效果,在对准确率要求较高的金融产品智能推荐系统中具有良好的实用性。
6.技术方案:为实现上述目的,本发明提供一种面向金融产品智能推荐系统的命名实体识别方法,包括如下步骤:
7.s1:基于现有数据集微调bert预训练模型,使用训练完成的模型预测收集到的领
域内其他未标注的数据,对于每条未标注样本得到特征矩阵e
pre

8.s2:根据e
pre
,使用置信度筛选机制得到样本的置信度;并将样本置信度大于阈值的样本作为可信样本,与原有的样本一起投入到后续的训练;
9.s3:为每条样本构造格子结构,生成具有格子结构的样本;得到原始样本向量s1和格子样本s2;
10.s4:将向量s2作为输入传给flat-bert模型,经过字词嵌入、位置嵌入、权重计算操作得到融入了字词特征的特征表示矩阵e
flat

11.s5:将向量s1作为输入传给bert预训练模型,经过字词嵌入、位置嵌入、权重计算操作得到词向量特征表示矩阵e
bert

12.s6:将矩阵e
bert
分别通过卷积运算以及池化运算,得到向量l,并将l扩展成与e
flat
同样的形状,得到样本句子特征表示矩阵e
sentence
;将e
flat
、e
sentence
以等权重的方式在水平方向上进行拼接得到样本总体特征表示矩阵e
context

13.s7:使用线性变换矩阵t
predict
对e
context
进行线性变换,得到每一个令牌归属的命名实体,抽取出的实体即为识别的结果。
14.进一步地,所述步骤s1中词嵌入、位置嵌入、权重计算需要进行如下运算:
15.e
embedding
=t
embedding
s1
[0016][0017][0018]einput
=e
embedding
pe
[0019]epre
=self-attention(e
input
)
[0020]
其中,s1是样本向量,t
embedding
是词向量矩阵,使用t
embedding
对s1进行线性变换得到词向量矩阵e
embedding
;接着使用sin和cos函数的线性变换来进行位置编码,其中pe
(pos,2i)
和pe
(pos,2i 1)
分别代表词向量中奇数位置和偶数位置的位置编码,得到位置编码矩阵pe;将pe与e
embedding
按照对应位置相加的方法得到最终的模型输入e
input
;对e
input
使用bert中的自注意力算法self-attention得到样本特征e
pre

[0021]
进一步的,所述步骤s2中的置信度筛选机制根据e
pre
依次进行如下计算:
[0022]econfidence
=t
confidenceepre
[0023]
p
confidence
=softmax(e
confidence
)
[0024]iconfidence
=max(p
confidence
)
[0025][0026]
p
sample
=min(p
entity1
,p
entity2
,...,p
entityn
)
[0027]
需要首先通过t
confidence
对e
pre
进行线性变换得到e
confidence
,其中e
confidence
表示了每一个令牌归属到每一个命名实体的得分,t
confidence
是对e
confidence
进行线性变换的矩阵;为了将得到的置信度矩阵e
confidence
表征为概率,使用softmax方法对e
confidence
进行运算,其中softmax是对特征矩阵e
confidence
中每一个令牌的特征向量进行归一化方法,进而得到每一个令牌的置信度i
confidence
,其中,i
confidence
表示每个令牌分类的分数;根据每一个令牌i的置信度再计算每个预测出的命名实体的置信度p
entity
,一个命名实体中可能包含
多个令牌,根据命名实体所包含的token计算出命名实体的置信度p
entity
;p
entityj
表示第j个命名实体的置信度。最终根据多个命名实体的置信度计算得到样本的置信度p
sample

[0028]
进一步地,所述步骤s3中生成包含词汇特征的样本的方式为将一个词语也作为一个令牌,并使用头指针和尾指针标识这个词语在文本中出现的起始位置。
[0029]
进一步地,对于单个的字符来说,它的头指针和尾指针是一样的。
[0030]
进一步地,所述步骤s4中字词嵌入、位置嵌入、权重计算操作的具体计算的过程如下:
[0031]efembedding
=t
fembedding
s2
[0032][0033][0034][0035][0036][0037][0038][0039]efinput
=e
fembedding
r
[0040]eflat
=attention(e
finput
)
[0041]
其中,格子结构由不同长度的跨度,对于格子中的两个跨度xi和xj,他们之间有三种关系:交集、包含和分离,他们之间的关系由他们的首尾决定;使用head[i]和tail[i]表示xi的头部和尾部的索引位置,使用head[j]和tail[j]表示xj的头部和尾部的索引位置;表示xi的头部索引位置和xj的头部索引位置的距离;表示xi的头部索引位置和xj的尾部索引位置的距离;表示xi的尾部索引位置和xj的头部索引位置的距离;表示xi的尾部索引位置和xj的尾部索引位置的距离;跨度的相对位置编码时四个距离的一个简单的线性变换,其中,wr是一个可学习的参数,表示连接算子,pd的计算方式也是通过sin和cos来进行的。将r与e
fembedding
按照对应位置相加的方法得到最终的模型输入e
finput
;对e
finput
使用flatbert中的自注意力算法attention得到样本特征e
flat

[0042]
进一步地,所述步骤s6中将矩阵e
bert
分别通过多个尺度的卷积运算以及池化运算得到向量l后,再得到矩阵e
sentence
与e
context
的具体运算过程为:
[0043]
a=conv(e
bert
)
[0044]
a=relu(a)
[0045]
l=maxpooling(a)
[0046]esentence
=expand(l)
[0047]econtext
=concat(e
flat
,e
sentence
)
[0048][0049]
首先将e
bert
通过三个尺度的二维卷积核得到矩阵a,其中三个尺度的卷积核的长度分别为2、3、4,宽度为e
bert
的宽度,且三个卷积核进行卷积后分别需要进行relu激活与maxpooling池化操作;最后将三个尺度得到的向量进行水平拼接得到向量l;通过expand扩张的方式,将l扩张成与e
flat
同样的形状得到句子特征表示矩阵e
sentence
,使用水平拼接的方式拼接两个特征表示矩阵e
flat
、e
sentence
得到上下文特征表示矩阵e
context
,concat即为水平拼接的操作。
[0050]
进一步地,所述步骤s7中使用线性变换矩阵t
predict
对e
context
进行线性变换的具体计算过程为:
[0051]ipred
=softmax(e
context
t
predict
)
[0052][0053]
首先使用矩阵t
predict
与样本总体特征表示矩阵e
context
相乘,并经过softmax运算得到所有令牌属于每个实体类别的概率矩阵i
pred
,其中softmax是对向量进行归一化的操作;对i
pred
使用argmax得到每一个令牌属于每个实体类别的结果
[0054]
有益效果:本发明与现有技术相比,具备如下优点:
[0055]
1、本发明针对特定领域存在的训练数据量不足而导致模型难以收敛的问题,基于置信度筛选的方式,在原有的数据基础上,添加了更多的可信样本,以投入后续的模型训练当中从而提升了命名实体识别的精度。
[0056]
2、本发明利用多尺度卷积运算编码bert输出矩阵,得到整个句子的特征表示,并将其作为每一个令牌的全局特征。并使用等权重的水平拼接的方式融合句子特征到字词特征当中,使每一个令牌在进行后续分类时同时考虑到文本的字、词、句信息,保证效率的同时也保证了识别的准确性。
[0057]
3、本发明充分考虑了产品资讯文本的字、词、句的信息并且通过置信度筛选得到了更多可信的外部数据,可以在命名实体识别的公开数据上都取得优异的效果,在对准确率要求较高的金融产品智能推荐系统中具有良好的实用性。
附图说明
[0058]
图1为本发明实施例中所述识别方法的模型示意图。
具体实施方式
[0059]
下面结合说明书附图对本发明的技术方案做进一步的详细说明。
[0060]
如图1所示,本发明提供一种面向金融产品智能推荐系统的命名实体识别方法,具体步骤如下:
[0061]
s1:基于现有数据集微调bert预训练模型,经过词嵌入、位置嵌入、权重计算操作训练bert模型,使用训练完成的模型预测收集到的领域内其他未标注的数据,对于每条未
标注样本得到特征矩阵e
pre
。这里以金融产品资讯推荐系统中的未标注的产品资讯文本:m1=“价格低于研报评级最低价”为例,此时的目标是对m1进行预测。将m1输入bert模型,使用t
embedding
对m1所编码得到的向量s1进行线性变换得到词向量矩阵e
embedding
。接着使用sin和cos函数的线性变换来进行位置编码,其中pe
(pos,2i)
和pe
(pos,2i 1)
分别代表词向量中奇数位置和偶数位置的位置编码,得到位置编码矩阵pe。将pe与e
embedding
按照对应位置相加的方法得到最终的模型输入e
input
。对e
input
使用bert中的自注意力算法self-attention得到样本特征e
pre

[0062]
[[-5.2552e-01,8.9774e 00,

,-1.5621e 00,-1.3391e 00,8.3995e-02],
[0063]
[-1.6414e 00,7.0795e-02,...,-2.6681e 00,-2.4268e 00,8.4805e 00],
[0064]


[0065]
[-1.6657e 00,-1.0633e-02,...,-1.3841e 00,-2.6671e 00,8.4881e 00]]
[0066]
s2:根据步骤s1中的e
pre
,使用置信度筛选机制得到样本的置信度。并将样本置信度大于阈值的样本作为可信样本,与原有的样本一起投入到后续的训练。需要首先通过t
confidence
对e
pre
进行线性变换得到e
confidence
,其中e
confidence
表示了每一个令牌归属到每一个命名实体的得分,t
confidence
是对e
confidence
进行线性变换的矩阵。为了将得到的置信度矩阵e
confidence
表征为概率,使用softmax方法对e
cinfidence
进行运算,其中softmax是对特征矩阵e
confidence
中每一个令牌的特征向量进行归一化方法,进而得到每一个令牌的置信度i
confidence
,其中,i
confidence
表示每个令牌分类的分数;根据每一个令牌i的置信度再计算每个预测出的命名实体的置信度p
entity
,一个命名实体中可能包含多个令牌,根据命名实体所包含的token计算出命名实体的置信度p
entity
;p
entityj
表示第j个命名实体的置信度。最终根据多个命名实体的置信度计算得到样本的置信度p
sample

[0067]
[0.93312]
[0068]econfidence
=t
confidenceepre
[0069]
p
confidence
=softmax(e
confidence
)
[0070]iconfidence
=max(p
confidence
)
[0071][0072]
p
sample
=min(p
entity1
,p
entity2
,...,p
entityn
)
[0073]
0.93312表示该样本可以作为下一阶段训练可能性,设定阈值为0.8,该样本的置信度大于阈值,可以将其作为可信样本,加入原有的有标签数据。
[0074]
s3:为每条样本构造格子结构,生成具有格子结构的样本。这里以m2=“每股净资产的意义”为例,目标是抽取m2中的命名实体。得到原始样本向量s1和格子样本向量s2:
[0075]
s1:[101,3680,5500,

,2692,721]
[0076]
s2:[101,3680,5500,

,6598,772]
[0077]
s4:将向量s2作为输入传给flat-bert模型,经过使用head[i]和tail[i]表示xi的头部和尾部的索引位置,使用head[j]和tail[j]表示xj的头部和尾部的索引位置。表示xi的头部索引位置和xj的头部索引位置的距离;表示xi的头部索引位置和xj的尾部
索引位置的距离;表示xi的尾部索引位置和xj的头部索引位置的距离;表示xi的尾部索引位置和xj的尾部索引位置的距离。跨度的相对位置编码时四个距离的一个简单的线性变换,其中,wr是一个可学习的参数,表示连接算子,pd的计算方式也是通过sin和cos来进行的。将r与e
fembedding
按照对应位置相加的方法得到最终的模型输入e
finput
。对e
finput
使用flatbert中的自注意力算法attention得到样本特征e
flat

[0078]
[[0.2721,0.0282,0.2155,...,0.5183,0.2182,-0.4214],
[0079]
[0.0047,-0.0124,-0.4007,...,0.1974,-0.0406,0.2414],
[0080]
[-0.6375,-0.5862,-0.4815,...,0.3525,-0.8189,-0.8074],
[0081]
...,
[0082]
[0.2151,0.4289,1.0611,...,0.7970,0.1746,0.7077],
[0083]
[0.1662,0.0137,0.7564,...,0.8919,0.7399,0.5714],
[0084]
[-0.0132,0.4917,-0.0409,...,-0.0583,-0.8535,-0.4296]]
[0085]
s5:将向量s1作为输入传给bert预训练模型经过词嵌入、位置嵌入、权重计算操作,得到词向量特征表示矩阵e
bert

[0086]
[[-0.0155,0.4506,0.2322,...,-0.1506,1.0870,-0.3780],
[0087]
[0.0037,-0.0996,0.1890,...,-0.0720,0.1073,0.2848],
[0088]
[-0.3881,-0.3162,-0.7579,...,-0.6887,-0.5073,-0.7561],
[0089]
...,
[0090]
[-0.1934,0.6990,0.5317,...,-0.1723,0.1414,0.0322],
[0091]
[0.0246,-0.0866,-0.1527,...,0.2598,-0.3809,0.8235],
[0092]
[-0.0755,-0.8101,-0.6499,...,-1.1519,-0.3522,-0.6536]]
[0093]
s6:将矩阵e
bert
分别通过卷积运算、正则化运算以及池化运算,得到向量l,并将l扩展成与e
flat
同样的形状,得到矩阵e
sentence
。首先将e
bert
通过三个尺度的二维卷积核得到矩阵a,其中三个尺度的卷积核的长度分别为2、3、4,宽度为e
bert
的宽度,且三个卷积核进行卷积后分别需要进行激活与池化操作。最后将三个尺度得到的向量进行水平拼接得到向量l。通过expand进行向量扩张的方式,将l扩张成与e
flat
同样的形状得到全局特征表示矩阵e
sentence
,使用等权重的方式水平拼接两个特征表示矩阵e
bert
、e
sentence
得到总体特征表示矩阵e
context

[0094]
[[0.0557,-0.0238,-0.0348,...,-0.4540,0.1469,1.4565],
[0095]
[-0.4259,0.6513,-0.1968,...,-0.4540,0.1469,1.4565],
[0096]
[-0.1279,-0.0533,-0.7103,...,-0.4540,0.1469,1.4565],
[0097]
...,
[0098]
[0.1707,0.0250,-0.4435,...,-0.4540,0.1469,1.4565],
[0099]
[0.7466,0.1553,-1.1365,...,-0.4540,0.1469,1.4565],
[0100]
[0.1363,-0.0771,-0.3147,...,-0.4540,0.1469,1.4565]]
[0101]
s7:使用矩阵t
predict
与样本总体特征表示矩阵e
context
相乘,并经过softmax运算得到所有令牌属于每个实体类别的概率矩阵i
pred
。对i
pred
使用argmax得到每一个令牌属于每个实体类别的结果得到每一个令牌归属的命名实体的概率。
[0102]
本实施例中获得如下一个概率矩阵,根据概率矩阵得到唯一一个命名实体“每股净资产”。
[0103]
[[6.2718e-05,2.1599e-04,6.1586e-05,

,3.0437e-03,1.0200e-02],
[0104]
[8.0598e-05,5.2731e-03,9.9853e-01,

,1.7135e-02,2.2274e-01],
[0105]
[2.6652e-05,1.5772e-04,3.6598e-05,

,1.5841e-04,9.3904e-04],
[0106]

,
[0107]
[6.9465e-05,4.0517e-04,1.2220e-05,..,,4.5803e-03,2.1012e-04]]
[0108]
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献