0、NER 简介
多特征:实体识别不是一个特别复杂的任务,不需要太深入的模型,那么就是加特征,特征越多效果越好,所以字特征、词特征、词性特征、句法特征、KG表征等等的就一个个加吧,甚至有些中文 NER 任务里还加入了拼音特征、笔画特征。。?心有多大,特征就有多多
多任务:很多时候做 NER 的目的并不仅是为了 NER,而是服务于一个更大的目标或系统,比如信息抽取、问答系统等等。如果把整个大任务做一个端到端的模型,就需要做成一个多任务模型,把 NER 作为其中一个子任务;另外,单纯的 NER 也可以做成多任务(cascade),比如实体类型过多时,仅用一个序列标注任务来同时抽取实体与判断实体类型,会有些力不从心,就可以拆成两个子任务来做
时令大杂烩:把当下比较流行的深度学习话题或方法跟 NER 结合一下,比如结合强化学习的 NER、结合 few-shot learning 的 NER、结合多模态信息的 NER、结合跨语种学习的 NER 等等的,具体就不提了
首先是 LSTM-CRF,
和 BERT-CRF,
然后就是几个多任务模型, Cascade 开头的(因为实体类型比较多,把NER拆成两个任务,一个用来识别实体,另一个用来判断实体类型),
后面的几个模型里,WLF 指的是 Word Level Feature(即在原本字级别的序列标注任务上加入词级别的表征),
WOL 指的是 Weight of Loss(即在loss函数方面通过设置权重来权衡Precision与Recall,以达到提高F1的目的)
1. 模型介绍
代码:上述所有模型的代码都在这里,带 BERT 的可以自己去下载 BERT_CHINESE 预训练的 ckpt 模型,然后解压到 bert_model 目录下
数据集:一个电商场景下商品标题中的实体识别,因为是工作中的数据,并且通过远程监督弱标注的质量也一般,完整数据就不放了。但是我 sample 了一些数据留在 git 里了
-
HMM/PERCEPTRON/CRF
-
BI-LSTM+CRF
-
BERT+CRF & BERT+LSTM+CRF
BERT 还有一个至关重要的训练技巧,就是调整学习率。BERT内的参数在 fine-tuning 时,学习率一定要调小,特别时后面还接了别的东西时,一定要按两个学习率走,甚至需要尝试多次反复调,要不然 BERT 很容易就步子迈大了掉沟里爬不上来,个人经验。 -
Cascade 多任务NER
2、嵌套实体如何识别?
1、阅读理解
2、指针网络(预测实体的头尾),收敛可能较慢
Details: NER除了LSTM+CRF,还有哪些解码方式?如何解决嵌套实体问题?
虽然NER是一个比较常见的NLP任务,通常采用LSTM+CRF处理一些简单NER任务。NER还存在嵌套实体问题(实体重叠问题&#x