1.一种基于提示与对比学习的极少样本关系提取方法,其特征在于:包括如下步骤:S1:选用公开语句实例数据集O,所述O包含若干个基类,且每个基类具有带标签的实例,将O中的数据分为模拟查询集Q和模拟支持集S,其中Q中包括多个查询样本,每个查询样本由一个自然语句、头实体和尾实体构成;S中包括多个支持样本,每个支持样本由一个自然语句、头实体、尾实体、关系标签和关系信息构成,并且关系信息由关系名称和关系描述构成;
S2:构建关系提取模型PromptRE,PromptRE包括模板嵌入模块、BERT编码模块、全局表示优化模块和注意力相关对比学习模块;
使用模拟查询集Q和模拟支持集S对PromptRE进行训练,具体如下:S21:将第i个查询样本输入模板嵌入模块得到该查询样本对应的prompt模板嵌入;
将一个支持样本的自然语句、头实体和尾实体输入模板嵌入模块得到该支持样本对应的prompt模板嵌入;
S22:将S21中所述的查询样本对应的prompt模板嵌入输入BERT编码模块得到对应的隐藏层表示 模拟查询集Q中每个查询样本对应的prompt模板嵌入所对应的隐藏层表示构成向量空间
将S21中所述的支持样本对应的prompt模板嵌入输入BERT编码模块得到对应的隐藏层表示 模拟支持集S中每个支持样本对应的prompt模板嵌入所对应的隐藏层表示构成向量空间
其中,K表示batchsize的大小,N表示对于个 支持集内与其对应的N个辅助判断,表示 对应的prompt模板嵌入的tokens的数量, 表示 对应的prompt模板嵌入的tokens的数量,D表示每个token隐藏层向量的维度;
S23:构建S21中所述的查询样本的提示特征 和支持样本的提示特征其中,
S24:将S21中所述的支持样本的关系信息输入BERT编码模块得到关系信息对应的隐藏层表示Rj,j=1,2,...,N,将模拟支持集S所有支持样本的关系信息对应的隐藏层表示构成集合 其中 表示Rj的tokens数量,该步骤中的BERT编码模块与S22中的BERT编码模块参数相同;
S25:融合所述支持样本对应的prompt模板嵌入所对应的隐藏层表示和所述支持样本对应的关系信息的隐藏层表示得到支持样本的融合特征 如公式:其中:rjc∈Rj,rjc表示的第一个token“[CLS]”对应的影藏层表示,表示token“[unused0]”对应的隐藏层表示, 表示token“[unused2]”对应的隐藏层表示,S26:所述查询样本的最终表示 的公式如下:
S27:采用S21‑S26的方法遍历模拟查询集Q中的所有查询样本得到每个查询样本对应的最终表示;
采用S21‑S25的方法遍历模拟支持集S中的所有支持样本得到每个支持样本对应的支融合特征;
S28:计算第i个查询样本的预测的关系标签为模拟支持集S的某个支持样本所包含的关系标签的概率的公式如下:其中,exp表示平方;
S29:设最大概率值对应的支持样本所包含的关系标签即为第i个查询样本,计算第i个查询样本的预测损失,并根据该损失采用梯度下降法更新PromptRE的参数,当损失不再变化时,停止迭代得到训练好的PromptRE;
S3:将待查询实例输入训练好的PromptRE,输入即为预测的待查询实例的关系标签。
2.如权利要求1所述的一种基于提示与对比学习的极少样本关系提取方法,其特征在于:所述S29中第i个查询样本预测损失的计算方法如下:S291:在全局表示优化模块通过交叉熵损失函数计算全局优化损失LF,公式如下:γ
LF=‑(1‑zi(Q)) log(zi(Q)); (6)其中γ表示超参数;
S292:在注意力相关对比学习模块计算注意力损失:
1)获取支持样本的关系信息中关系名称对应的表示Rjn和关系描述对应的表示Rjd,公式如下:Rjn=∑t∈nrjt/|n|; (7)
Rjd=∑t∈drjt/|d|; (8)
其中rjt∈R,R表示支持样本中的关系标签,n是关系名称在R中的下标集合,d是关系描述在R中的下标集合,|n|是包含在R中的关系名称的tokens的数量,|d|是关系描述的tokens的数量;
2)构建支持样本的关系信息中关系名称与全局表示之间的联系 构建关系信息中关系描述与全局表示之间的联系 公式如下:其中,FFN(·)表示全连接层, 表示向量连接;
3)计算注意力损失的公式如下:
其中,Cos(·)是余弦相似度函数,η表示超参数S293:计算第i个查询样本预测损失L的公式如下:L=Lc+λLF; (12)
其中,λ为超参数。