句子观测
X
=
x
0
,
…
,
X
T
X = x_0, \dots, X_T
X=x0,…,XT
搜索标签序列
Y
=
y
0
…
,
y
T
Y = y_0 \dots, y_T
Y=y0…,yT
目标为最大后验概率
P
(
Y
∣
X
)
=
P
(
Y
)
P
(
X
∣
Y
)
=
∏
t
=
0
T
P
(
y
t
∣
y
t
−
1
)
p
(
x
t
∣
y
t
)
P(Y|X) = P(Y) P(X|Y) = \prod_{t = 0}^T P(y_t| y_{t - 1}) p(x_t | y_t)
P(Y∣X)=P(Y)P(X∣Y)=∏t=0TP(yt∣yt−1)p(xt∣yt)
p
(
y
t
∣
y
t
−
1
)
=
count
(
y
t
−
1
,
y
t
)
count
(
y
t
−
1
)
p(y_t | y_{t - 1}) = \frac {\operatorname{count}(y_{t - 1}, y_t)}{\operatorname{count}(y_{t - 1})}
p(yt∣yt−1)=count(yt−1)count(yt−1,yt)
p
(
x
t
∣
y
t
)
=
count
(
x
t
,
y
t
)
count
(
y
t
)
p(x_t|y_t) = \frac{\operatorname{count}(x_t, y_t)}{\operatorname{count}(y_t)}
p(xt∣yt)=count(yt)count(xt,yt)
测试
给定待标注句子
X
X
X,利用Viterbi算法搜索标签序列
Y
Y
Y
δ
t
(
y
)
=
max
y
′
[
δ
t
−
1
(
y
′
)
p
(
y
∣
y
′
)
]
p
(
x
t
∣
y
)
\delta_t(y) = \max_{y^\prime} [\delta_{t - 1}(y^\prime) p(y|y^\prime)] p(x_t | y)
δt(y)=maxy′[δt−1(y′)p(y∣y′)]p(xt∣y)
φ
t
(
y
)
=
arg
max
y
′
[
δ
t
−
1
(
y
′
)
p
(
y
∣
y
′
)
]
p
(
x
t
∣
y
)
\varphi_t(y) = \arg\max_{y^\prime} [\delta_{t - 1}(y^\prime) p(y|y^\prime)] p(x_t | y)
φt(y)=argmaxy′[δt−1(y′)p(y∣y′)]p(xt∣y)
基于条件随机场的命名实体识别
P
(
Y
∣
X
)
=
1
Z
exp
{
∑
t
=
1
T
∑
k
λ
k
f
k
(
y
t
−
1
,
y
t
,
X
t
)
}
P(Y|X) = \frac 1Z \exp\left\{ \sum_{t = 1}^T \sum_k \lambda_k f_k(y_{t - 1}, y_t, X t) \right\}
P(Y∣X)=Z1exp{∑t=1T∑kλkfk(yt−1,yt,Xt)}
根据训练数据构造特征函数,同时训练权重
词汇化特征、标签特征、标签词汇组合特征、词典特征
基于深度神经网络的命名实体识别
分布式向量表示 + LSTM + CRF
自动评价
选择一个无关测试文本
D
T
D_T
DT,人工标注视为GT
D
R
D_R
DR,得到的系统输出为
D
S
D_S
DS
count
(
c
o
r
r
e
c
t
)
\operatorname{count}(correct)
count(correct):
D
R
D_R
DR和
D
S
D_S
DS中完全一致的实体数目
count
(
s
p
u
r
i
o
u
s
)
\operatorname{count}(spurious)
count(spurious):
D
S
D_S
DS中识别出但
D
R
D_R
DR中没有的实体数目
count
(
m
i
s
s
i
n
g
)
\operatorname{count}(missing)
count(missing):
D
R
D_R
DR中存在出但
D
S
D_S
DS中没有的实体数目
p
r
e
c
i
s
i
o
n
=
count
(
c
o
r
r
e
c
t
)
count
(
c
o
r
r
e
c
t
)
+
count
(
s
p
u
r
i
o
u
s
)
precision = \frac {\operatorname{count}(correct)}{\operatorname{count}(correct) + \operatorname{count}(spurious)}
precision=count(correct)+count(spurious)count(correct)
r
e
c
a
l
l
=
count
(
c
o
r
r
e
c
t
)
count
(
c
o
r
r
e
c
t
)
+
count
(
m
i
s
s
i
n
g
)
recall = \frac {\operatorname{count}(correct)}{\operatorname{count}(correct) + \operatorname{count}(missing)}
recall=count(correct)+count(missing)count(correct)
F
1
=
2
×
p
r
e
c
i
s
i
o
n
×
r
e
c
a
l
l
p
r
e
c
i
s
i
o
n
+
r
e
c
a
l
l
F1 = \frac {2 \times precision \times recall}{precision + recall}
F1=precision+recall2×precision×recall
实体消歧
定义
一篇文档中同一实体可能有多种不同的指称(Mention)——共指消解
共指消解:为文本中的指称确定其具体实体的过程
不同文档中相同名称的实体也可能表示不同的含义——实体链接
实体链接:确定实体指称所对应的真实世界实体的过程
共指消解
指称类型:普通名词短语、专有名词和代词
目标:将文档中所有指称进行聚类,将指向同一实体的所有指称归为一类
实体链接
无论对于关系抽取还是事件抽取,都需要对多个文档中相同指称进行消岐
确定实体指称所对应的真实世界实体
典型方法
共指消解
问题形式化
假设文本中所有指称都已经正确识别,并构成候选指称集合
M
=
{
m
1
,
…
,
m
N
}
M = \{m_1, \dots, m_N\}
M={m1,…,mN}
共指消解问题可视为集合
M
M
M上的划分问题,每个等价类中的所有元素指向同一个实体
基于规则的共指消解——多遍过滤法
用强规则对候选指称集合
M
M
M进行划分和聚类,得到新集合
M
′
=
{
m
1
k
1
,
…
,
m
2
k
N
}
M^\prime = \{m_1^{k_1}, \dots, m_2^{k_N}\}
M′={m1k1,…,m2kN},上标
k
i
k_i
ki相同的指称具有共指关系,合并为一个聚类(共指链),算作一个元素,
∣
M
′
∣
<
∣
M
∣
|M^\prime| \lt |M|
∣M′∣<∣M∣
在
M
′
M^\prime
M′的基础上,逐渐利用准确率稍低的规则对其进行划分,不断放松约束归并具有共指关系的指称集合