CasRel模型介绍
主要分为两部分,subject tagger用来抽取头实体,relation-specific object taggers用来抽取关系和尾实体。
联合抽取的流程
头实体抽取
输入一组句子,利用bert进行编码得到一组序列
h
N
h_N
hN 在序列上利用二分类分别识别实体的开头和结尾 利用就近原则匹配得到若干头实体
v
s
u
b
1
,
v
s
u
b
2
,
v
s
u
b
3
.
.
.
v_{sub}^1, v_{sub}^2, v_{sub}^3...
vsub1,vsub2,vsub3... 其中
v
s
u
b
k
v_{sub}^k
vsubk 表示的是第k个头实体向量的平均值
关系和尾实体抽取
输入头实体抽取中得到的序列
h
N
h_N
hN和第k个头实体向量的平均值
v
s
u
b
k
v_{sub}^k
vsubk 对每种关系进行尾实体抽取,和抽取头实体的方法一样 利用二分类分别识别实体的开头和结尾,再利用就近原则匹配得到尾实体
CasRel的pytorch实现
代码来源于参考2 期间遇到的坑 1.读文件的编码问题 2.保存文件的路径问题 3.py写文件的问题
总结
跑实际的代码能够帮助理解模型,不过直接用别人的代码,很可能有很多坑,需要慢慢解决。接下来就是进行深入学习,理解模型的原理以及代码的实现。
reference
[1]CasRel [2]CasRelPyTorch
推荐文章
发表评论