将NER的序列标注任务看作一项MRC任务,此方法可以引入query先验知识,对于不同类别的重叠实体回答不同的独立问题,可以解决重叠实体问题。
给定输入序列 X = { x 1 , . . . , x n } X=\{x_1, ...,x_n\} X={x1,...,xn},n是序列长度,本文要在X中找到每一个实体,并分配一个 y ∈ Y y\in Y y∈Y
将tagging-style标注的数据集转化为一个三元组集合(quesiton, answer,context)
对于每一个tag类型
y
∈
Y
y\in Y
y∈Y,对应一个自然语言问题
q
y
=
(
q
1
,
.
.
.
.
,
q
m
)
q_y=(q_1,....,q_m)
qy=(q1,....,qm),m是query的长度。
参考数据指南,引入实体类型的属性信息
[ C L S ] q 1 , . . . , q m [ S E P ] x 1 , . . . , x n [ S E P ] [CLS]q_1,...,q_m[SEP]x_1,...,x_n[SEP] [CLS]q1,...,qm[SEP]x1,...,xn[SEP]输入到BERT中,得到山下文表达矩阵 E ∈ R n × d E\in R^{n \times d} E∈Rn×d
利用指针网络分别求出头和尾,然后用match矩阵求头和尾匹配的概率,这个点很强