本发明涉及实体链接,尤其涉及一种基于roberta模型的农情实体链接方法。
背景技术:
1、实体是现实世界中客观存在的并可以相互区分的对象或事物,提及(mention)是自然文本中表达实体的语言片段,即涉及实体的自然语言片段。例如对于实体“玉米”,“玉米是禾本科、玉蜀黍属一年生草本植物”即是该实体的一个提及。
2、知识图谱是一种语义网络,旨在描述客观世界的概念实体及其之间的关系。实体是知识图谱的基本单元,因此实体的提及可以在知识图谱中找到对应链接的实体,为提及找到实体的过程称为实体链接。实体链接是将文本中出现的实体关联到对应知识图谱实体上的任务,是知识图谱进行知识融合的关键方法。实体链接在问答、文本分析、信息/检索以及农业知识库扩充等多个方面都有所应用。
3、实体链接方法主要包括两个步骤:实体识别和实体消歧。其中,实体识别是利用实体识别模型识别出给定文本中表达实体的提及;实体消歧则主要包括了候选实体的初筛以及排序步骤。其中,候选实体初筛是筛选提及可能链接的实体,候选实体排序则是为了从候选实体中选出提及所实际应该链接的实体;之后,便可以将提及链接至排序最靠前的实体。实体链接可以应用于农业领域,例如链接农情报告中的作物名称和病虫害名称等实体。这样,就可以更准确地理解和分析农情数据。
4、随着深度学习的发展,目前已经有使用神经网络模型来生成候选实体的做法,其主要利用序列标注模型对农情文本进行建模,标注出实体所在范围。目前主流方案是基于结合词嵌入的bi-lstm-crf标注模型方法。
5、然而,序列标注模型在进行词嵌入时,同一个词语会表示为同一向量,然而有些词语是多义的,或者同一词语在不同语境下会存在不同的语义,这种情况就会导致农情实体链接错误。
技术实现思路
1、为了解决现有技术中所存在的上述问题,本发明提供了一种基于roberta模型的农情实体链接方法。
2、本发明公开了一种基于roberta模型的农情实体链接方法,其包括:
3、识别目标文本中的目标实体,并从所述目标文本中提取表达所述目标实体的实体提及以及所述实体提及的上下文,根据所述实体提及以及所述上下文构建第一文本;
4、将所述第一文本输入至第一roberta模型中进行文本嵌入,得到第一嵌入向量;将n个第二文本输入至第二roberta模型中进行文本嵌入得到n个第二嵌入向量;
5、计算所述第一嵌入向量与所述n个第二嵌入向量的相似度,并确定与所述第一嵌入向量的相似度最高的k个第二嵌入向量;所述n个第二文本与知识图谱中所有的n个实体一一对应,每个第二文本均是根据其所对应的实体在所述知识图谱中的标题及描述构建而成;
6、将所述k个第二嵌入向量对应的k个实体作为k个候选实体,并基于所述k个候选实体进行实体消歧,得到目标候选实体;将所述目标实体的所述实体提及链接至知识图谱中的所述目标候选实体。
7、进一步地,所述第一roberta模型是根据多个第一文本样本训练得到的,所述第二roberta模型是根据多个第二文本样本训练得到的。
8、进一步地,所述基于所述k个候选实体进行实体消歧,得到目标候选实体,包括:
9、获取所述k个候选实体对应的k个第二文本,根据所述第一文本与所述k个第二文本中的每个第二文本,均构建一个第三文本,得到k个第三文本;
10、将所述k个第三文本输入至第三roberta模型中进行文本嵌入,得到k个第三嵌入向量;所述第三roberta模型是根据多个第三文本样本训练得到的;
11、根据所述k个第三嵌入向量对应计算k个得分,作为所述k个候选实体的得分;选取得分最高的候选实体作为所述目标候选实体。
12、进一步地,所述第三roberta模型是历经多个训练周期的训练得到的,每个训练周期中的训练方式如下:
13、从所述多个第三文本样本中,选取未参与过训练的一个第三文本样本输入至训练中的第三roberta模型,得到一个第三嵌入向量;
14、将得到的第三嵌入向量输入至softmax函数计算概率值;
15、根据所述概率值与所选取的第三文本样本的标签计算第二损失值;
16、若所述第二损失值不小于预设的阈值,调整当前的第三roberta模型的网络权重参数,然后进入下一个训练周期;
17、若所述第二损失值小于所述阈值,结束训练,得到训练完成的第三roberta模型。
18、进一步地所述标签等于0或1;当所述标签等于0时,表示所选取的第三文本样本中的上下文及提及所对应的实体,与该第三文本样本中的标题及描述所对应的实体不同;当所述标签等于1时,表示所选取的第三文本样本中的上下文及提及所对应的实体,与该第三文本样本中的标题及描述所对应的实体相同。
19、进一步地,所述第三文本的构建方式如下:
20、xm,e=[cls]ctxll mention ctxlr[ent]title[ent]description[sep];
21、其中,mention为所述第一文本中包含的所述实体提及,ctxll为所述第一文本中包含的所述上下文中的上文,ctxlr为所述第一文本中包含的所述上下文中的下文;title为所述第二文本中包含的所述标题,description为所述第二文本中包含的所述描述;[cls]为插入的句首符号,[sep]为插入的句末符号,[ent]为插入的分隔符,xm,e表示第三文本。
22、进一步地,根据所述k个第三嵌入向量对应计算k个得分,包括:
23、对所述k个第三嵌入向量进行线性变换,得到每个第三嵌入向量对应的线性变换值,作为根据该第三嵌入向量对应计算的得分。
24、进一步地,所述第一roberta和所述第二roberta是历经多个训练周期的同步训练得到的,每个训练周期中的训练方式如下:
25、从所述多个第一文本样本中,选取未参与过训练的一个第一文本样本输入至训练中的第一roberta模型,同时将所有第二文本样本分别输入至训练中的第二roberta模型,得到由该第一roberta模型输出的一个第一嵌入向量以及由该第二roberta模型输出的多个第二嵌入向量;
26、计算得到的第一嵌入向量与得到的各个第二嵌入向量之间的相似度;
27、根据相似度计算结果计算第一损失值;
28、若所述第一损失值不小于预设的阈值,同步调整当前的第一roberta模型及第二roberta模型的网络权重参数,然后进入下一个训练周期;
29、若所述第一损失值小于所述阈值,结束训练,得到训练完成的第一roberta模型和第二roberta模型。
30、进一步地,计算所述第一损失值所采用的损失函数如下:
31、
32、其中,loss表示第一损失值,a为平衡mse_loss和triplet_loss的可调参数,a∈[0,1];ym表示输入至第一roberta模型中的第一文本样本,表示与ym相似度最高的第二文本样本,为ym和的相似度;表示与ym的相似度最低的第二文本样本,为ym和的相似度;labeli等于0或1,当labeli=1时表示所对应实体与ym所对应的实体相同,当labeli=0时表示所对应实体与ym所对应的实体不同;margin为另一项可调参数,用于增大与之间的差距。
33、进一步地,所述第一文本的构建方式为:
34、xm=[cls]ctxll mention ctxlr[sep];
35、其中,mention为所述实体提及,ctxll为所述上下文中的上文,ctxlr为所述上下文中的下文,[cls]为插入的句首符号,[sep]为插入的句末符号,xm表示第一文本;
36、所述第二文本的构建方式如下:
37、xe=[cls]title[ent]description[sep];
38、其中,title为所述标题,description为所述描述,[cls]为插入的句首符号,[sep]为插入的句末符号,[ent]为插入的分隔符,xe表示第二文本。
39、本发明提供的基于roberta模型的农情实体链接方法中,预先根据知识图谱中所有的n个实体,利用第二roberta模型构建了n个第二嵌入向量,且构建第二嵌入向量的过程中使用了实体在知识图谱中的标题及描述;在实际链接过程中,从目标文本中提取了表达目标实体的提及以及该提及的上下文,并依此构建了第一文本,将其输入到第一roberta模型得到了第一嵌入向量。由此,计算第一嵌入向量和n个第二嵌入向量的相似度的过程,相当于从知识图谱中检索与目标实体在目标文本中的语义最为相符的候选实体,这样即使目标实体为多义词或在不同语境下有着不同的语义,也可以根据其在目标文本中的真实语义来检索候选实体,由此基于候选实体进行实体消歧便可以将目标实体的提及连接至其真实对应的实体上,不容易导致实体链接错误。