一. 什么是实体?
例如,“地名”是一种概念,或者说实体类型,那么“成都”就是一种“地名”实体了。“时间”是一种实体类型,那么“中秋节”就是一种“时间”实体了。(抽象与具体)
所谓实体识别,就是将你想要获取到的实体类型,从一句话里面挑出来的过程。
二. 命名实体识别的数据标注方式
BIOES:
- B,即Begin,表示实体的开始
- I,即Intermediate,表示实体的中间部分
- E,即End,表示实体的结尾
- S,即Single,表示单个实体字符
- O,即Other,表示其他,用于标记无关字符
将“小明在北京大学的燕园看了中国男篮的一场比赛”这句话,进行标注,结果就是:
[B-PER,E-PER,O, B-ORG,I-ORG,I-ORG,E-ORG,O,B-LOC,E-LOC,O,O,B-ORG,I-ORG,I-ORG,E-ORG,O,O,O,O]
那么,换句话说,NER的过程,就是根据输入的句子,预测出其标注序列的过程。
三. 命名实体方法介绍
1)HMM和CRF等机器学习算法
2)LSTM+CRF
目前做NER比较主流的方法就是采用LSTM作为特征抽取器,再接一个CRF层来作为输出层
3)CNN+CRF
CNN虽然在长序列的特征提取上有弱势,但是CNN模型可有并行能力,有运算速度快的优势。
4)BERT+(LSTM)+CRF
BERT中蕴含了大量的通用知识,利用预训练好的BERT模型,再用少量的标注数据进行FINETUNE是一种快速的获得效果不错的NER的方法
目前,只对这些常有方法做一个总结,我们之后将展开学习这些方法!!!