条件随机场(CRF)是自然语言处理中的基础模型, 广泛用于分词, 实体识别和词性标注等场景. 随着深度学习的普及, BILSTM+CRF, BERT+CRF, TRANSFORMER+CRF等模型, 逐步亮相, 并在这些标注场景, 效果有显著的提升.
下面是我学习CRF的学心总结, 看了多篇知乎, paper, 和CRF++的实现代码后, 终于有了深刻的理解.
基础概念
首先, 一起看一下随机过程, 随机场, 马尔可夫随机场的定义, 在最后请出条件随机场.
随机过程:
设 TTT是一无限实数集, 把依赖于参数t∈Tt\in Tt∈T的一族(无限多个)随机变量称为随机过程, 记为 X(t),t∈T{X(t), t \in T}X(t),t∈T
随机场: 从平面(随机过程)到向量空间(随机场)
若TTT是nnn维空间的某个子集, 即ttt是一个nnn维向量, 此时随机过程又称为随机场. 常见随机场有: 马尔可夫随机场(MRF), 吉布斯随机场(GRF), 条件随机场(CRF)和高斯随机场.
马尔可夫随机场:
具有马尔可夫性的随机场.
马尔可夫性: P(Yv∣Yw,w≠v)=P(Yv∣Yw,w∼v)P(Y_v|Y_w, w\neq v) = P(Y_v|Y_w, w \sim v)P(Yv∣Yw,w=v)=P(Yv∣Yw,w∼v)
- w∼vw \sim vw∼v表示在图G=(V,E)G=(V, E)G=(V,E)中与顶点vvv有边连接的所有顶点www
- w≠vw \neq vw=v表示顶点vvv以外的所有顶点
- YvY_vYv与YwY_wYw为顶点vvv与www对应的随机变量
那么, 条件随机场是如何定义的呢?
条件随机场:
设XXX与YYY是随机变量, P(Y∣X)P(Y|X)P(Y∣X)是在给定XXX的条件下YY