CasRel学习笔记(二)

具体实现

如何抽取头实体

p i s t a r t s = σ ( W s t a r t x i + b s t a r t ) p_i^{start_s} = σ(W_{start}x_i + b_{start}) pistarts=σ(Wstartxi+bstart)
p i e n d s = σ ( W e n d x i + b e n d ) p_i^{end_s} = σ(W_{end}x_i + b_{end}) piends=σ(Wendxi+bend)
p i s t a r t s 表示句子第 i 个词是头实体开头的概率, W . 表示训练的权重, x i 表示句子第 i 个词的词嵌入, b . 表示偏差, σ 是 S i g m o i d 激活函数 p_i^{start_s}表示句子第i个词是头实体开头的概率,W_{.}表示训练的权重,x_i表示句子第i个词的词嵌入, b_{.}表示偏差,σ是Sigmoid激活函数 pistarts表示句子第i个词是头实体开头的概率,W.表示训练的权重,xi表示句子第i个词的词嵌入,b.表示偏差,σSigmoid激活函数
即利用Sigmoid激活函数+线性函数来得到实体的头尾概率,再利用设定的阈值来判断是0还是1

如何在特定关系上抽取尾实体

p i s t a r t o = σ ( W s t a r t r ( x i + v s u b k ) + b s t a r t r ) p_i^{start_o} = σ(W_{start}^r(x_i+v_{sub}^k) + b_{start}^r) pistarto=σ(Wstartr(xi+vsubk)+bstartr)
p i e n d o = σ ( W e n d r ( x i + v s u b k ) + b e n d r ) p_i^{end_o} = σ(W_{end}^r(x_i+v_{sub}^k) + b_{end}^r) piendo=σ(Wendr(xi+vsubk)+bendr)
p i s t a r t o 表示句子第 i 个词是尾实体开头的概率, W . r 表示对于关系 r 训练的权重, x i 表示句子第 i 个词的词嵌入, v s u b k 表示第 k 个头实体的向量平均值, b . r 表示对于关系 r 的偏差, σ 是 S i g m o i d 激活函数 p_i^{start_o}表示句子第i个词是尾实体开头的概率,W_{.}^r表示对于关系r训练的权重,x_i表示句子第i个词的词嵌入,v_{sub}^k表示第k个头实体的向量平均值,b_{.}^r表示对于关系r的偏差,σ是Sigmoid激活函数 pistarto表示句子第i个词是尾实体开头的概率,W.r表示对于关系r训练的权重,xi表示句子第i个词的词嵌入,vsubk表示第k个头实体的向量平均值,b.r表示对于关系r的偏差,σSigmoid激活函数
抽取也是同理

别人论文对CasRel的一些改进

1.更换编码器。
2.加入隐藏层,尽量保持模型的精度。
3.针对不同领域的数据特征,提前处理,并加入到输入,充分利用信息,提高抽取三元组的效果。
4引入注意力网络。
5.将知识蒸馏,对抗训练引入文章。
6.将模型应用到时序知识图谱。

你可能感兴趣的:(联合抽取的学习,学习,知识图谱,人工智能,nlp)