BiLSTM + CRF
本节定位
NER 不是给每个 token 独立分类那么简单。标签之间有约束,例如 I-PER 通常不能凭空出现在句首。BiLSTM + CRF 的价值,就是同时看上下文和标签序列是否合法。
学习目标
- 理解 BiLSTM 在序列标注中负责什么
- 理解 CRF 为什么能建模标签转移约束
- 知道 BIO 标签体系下哪些预测是不合理的
- 能解释 BiLSTM + CRF 和普通 token 分类的差异
先看整体结构
BiLSTM 负责理解上下文,CRF 负责选择整体最合理的标签路径。两者结合后,模型不只是问“这个 token 像不像实体”,还会问“这一整串标签连起来是否合理”。
一、为什么普通 token 分类不够
假设使用 BIO 标签体系:B-PER 表示人名开头,I-PER 表示人名内部,O 表示非实体。如果模型独立预测每个 token,就可能输出这样的标签:
我 爱 北京
O I-LOC B-LOC
这里 I-LOC 出现在实体开头位置,通常是不合理的。普通分类器很难显式约束这种标签转移,而 CRF 可以学习标签之间的转移分数。