BiLSTM-CRF中CRF层解析-2

回顾

上篇博文中,我们知道CRF层可以从训练数据中学习到一些约束条件,从而确保最终的预测标签序列是有效的。
约束条件可能是:

  • 一句话中第一个单词的标签应该是“B-“ or “O”,而不能是"I-";
  • “B-label1 I-label2 I-label3 I-…”中,label1, label2, label3 …应该是相同的命名实体标签。如“B-Person I-Person”是有效的,而“B-Person I-Organization” 是无效的;
  • “O I-label” 是无效的。一个命名实体的第一个标签应该以 “B-“ 开头,而不能以“I-“开头,换句话说, 应该是“O B-label”这种模式;

  • 读完本篇博文后,你将会了解为什么CRF层能够学习这些约束条件。

CRF层

在CRF层的损失函数中,有两种类型的得分,这两种类型的得分是CRF层的关键概念。

2.1 发射得分

第一个得分为发射得分,该得分可以从BiLSTM层获得。如图2.1所示, w 0 w_0 w0标记为B-Person的得分是1.5。

图2.1
为了后续叙述方便,我们将给每个标签一个索引,如下表所示:
LabelIndex
B-Person0
I-Person1
B-Organization2
I-Organization3
O4

我们采用 x i y j x_{iy_j} xiyj来表达发射矩阵,其中 i i i表示第 i i i单词, y j y_j yj表示标签索引。例如,根据图2.1, x i = 1 , y j = 2 = x w 1 , B − O r g a n i z a t i o n = 0.1 x_{i=1,y_j=2}=x_{w1,B-Organization}=0.1 xi=1,yj=2=xw1,BOrganization=0.1,该表达式的意思是将 w 1 w_1 w1标记为 B-Organization的概率为0.1。

2.2 转移得分

我们采用 t y i y j t_{y_iy_j} tyiyj表示转移得分,例如, t B − P e r s o n , I − P e r s o n = 0.9 t_{B-Person,I-Person}=0.9 tBPerson,IPerson=0.9表示标签B-Person转移到I-Person的得分为0.9,因此,我们将获得一个转移得分矩阵,该矩阵存储着所有标签相互转移之间的得分。

为了使转移得分矩阵的鲁棒性更好,我们将额外再加两个标签:START和END,START表示一句话的开始,注意这不是指该句话的第一个单词,START后才是第一个单词,同样的,END代表着这句话的结束。

下表就是一个转移得分矩阵的示例,该示例包含了START和END标签。

STARTB-PersonI-PersonB-OrganizationI-OrganizationOEND
START00.80.0070.70.00080.90.08
B-Person00.60.90.20.00060.60.009
I-Person-10.50.530.550.00030.850.008
B-Organization0.90.50.00030.250.80.770.006
I-Organization-0.90.450.0070.70.650.760.2
O00.650.00070.70.00080.90.08
END0000000

如上表所示,我们能够发现转移矩阵已经学习到了某些有用的约束条件。

  • 句子中第一个单词的标签应该是以“B-”或者"O"开头,而不能以"I-"开头(转移得分中,从START到I-Person 和 I-Organization的得分都很低);
  • 模式“B-label1 I-label2 I-label3 I-…”中,label1, label2, label3 … 应该是相同的命名实体,例如“B-Person I-Person”是有效的,而 “B-Person I-Organization”是无效的。(该性质在转移得分矩阵中的表现为,从B-Organization到I-Person的得分仅有0.0003);
  • “O I-label”是无效的,命名实体的第一个标签应该是以“B-“ 开头的而不该是以“I-“开头的,换而言之,有效的标签模式应该是“O B-label” (该性质在转移得分矩阵中的表现是,得分 t O , I − P e r s o n t_{O,I-Person} tO,IPerson是很低的。)

现在,你可能比较关心的问题是:怎么得到该转移矩阵?
其实,该矩阵是BiLSTM-CRF模型的一个参数,在训练模型之前,可以随机初始化该转移得分矩阵,在训练过程中,这个矩阵中的所有随机得分将得到更新,换而言之,CRF层可以自己学习这些约束条件,而无需人为构建该矩阵。随着不断的训练,这些得分会越来越合理。

下篇博文

2.3 CRF损失函数

该节会介绍CRF损失函数,该算是函数将会包含真是路径得分和所有可能路径得分。

2.4 真实路径得分

该节介绍一句话真实标签的得分。

2.5 所有可能路径的得分

该节将给定一个简单的示例,教你一步一步地计算出所有可能路径的总得分。

参考文献

[1] Lample, G., Ballesteros, M., Subramanian, S., Kawakami, K. and Dyer, C., 2016. Neural architectures for named entity recognition. arXiv preprint arXiv:1603.01360.
https://arxiv.org/abs/1603.01360

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤劳的凌菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值