条件随机场经常被用于序列标注,其中包括 词 性 标 注 , 分 词 , 命 名 实 体 识 别 \color{red}词性标注,分词,命名实体识别 词性标注,分词,命名实体识别等领域。(yes我会标红了)
1 NER任务介绍
NER更多介绍看这里
对以下NER任务,进行命名实体识别
我 去 北 京
其本质上就是一个序列标注任务,根据BIESO标注方案,可以对于每一个字进行打标签
序号 | 标注 | 含义 |
---|---|---|
0 | B | 实体的开端 |
1 | I | 实体中间 |
2 | E | 实体的结尾 |
3 | S | 单个字作为实体 |
4 | O | 不作为任何实体 |
所以对于 我去北京 这句话进行实体识别,就是为了找到这样的标注:
2 CRF in NER
2.1定义特征函数
对于一个特征函数,需要接受四个参数:
- 句子s(也就是输入的句子s)
- i i i,句子s的第 i 个字
- l i l_i li,标注序列中给第 i 个字的标注
- l i − 1 l_{i-1} li−1,标注序列中给第 i-1 个字的标注
其输出是0或者1,但符合这个特征就是1,反之则0。特征通常是自定义的,如下例子。
f
1
=
1
:
当
l
i
−
1
是
B
−
O
R
G
f1=1:当l_{i-1}是B-ORG
f1=1:当li−1是B−ORG且i是“中”,可能中国的机构实体
可以使用CRF++,是具体实现CRF实体识别的一个工具,CRF++里的特征获取方式是通过特征模版匹配训练语料产生的,因此,扫描语料中的每一个词,循环匹配模板库中的每一个模版,将匹配到的特征加入到特征集,这样就构成了CRF的特征集。https://blog.csdn.net/qq_35014150/article/details/73826930
2.2 特征函数到概率
定义完一组特征函数之后,在对特征进行赋权,然后可以对这个标注序列进行评分。
- 内层求和函数:句子s中每个字的对于特征值 f j f_j fj的和
- 外层求和函数:所有特征函数 f j f_j fj的和。
2.3 指数化和归一化
对这个分数进行指数化和标准化,我们就可以得到标注序列l的概率值 p ( l ∣ s ) p(l|s) p(l∣s)
这样,一个CRF就建立完成了。通过维特比算法,寻找概率最大的标注序列,即完成预测过程。