Bert-BiLSTM-CRF命名实体识别Keypoint命名实体识别NERBERTBiLSTM-CRFBERT-BiLSTM-CRF命名实体识别NameEntityRecognition命名实体识别(英语:NamedEntityRecognition),简称NER,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等,以及时间、数量、货币、比例数值等文字。ACM宣布,深度学习的三位创造者YoshuaBengio,YannLeCun,以及GeoffreyHinton获得了2019年的图灵奖。ORG机构名:ACMPER人名:YoshuaBengio,YannLeCun,GeoffreyHintonTIME时间:2019年SPE专有名词:图灵奖命名实体识别NameEntityRecognition数据集:中文命名实体识别数据集:https://github.com/zjy-ucas/ChineseNER英文数据集CoNLL:https://github.com/kyzhouhzau/BERT-NER美国的华莱士,我跟他在北京谈笑风生B-LOCI-LOCOB-PERI-PERI-PEROOOOOB-LOCI-LOCOOOOBbegin一个实体的开始实体类型:Location,Person,Affinity,TimeIIntermediate实体内部E实体结尾OothersBERTBiLSTM+CRFBidirectionalLSTM-CRFModelsforSequenceTaggingAsimpleRNNLSTMBiLSTMCRFCRF+BiLSTMLSTM+CRF简单的LSTM的优点是能够通过双向的设置学习到观测序列(输入的字)之间的依赖,在训练过程中,LSTM能够根据目标(比如识别实体)自动提取观测序列的特征,但是缺点是无法学习到状态序列(输出的标注)之间的关系,要知道,在命名实体识别任务中,标注之间是有一定的关系的,比如B类标注(表示某实体的开头)后面不会再接一个B类标注,所以LSTM在解决NER这类序列标注任务时,虽然可以省去很繁杂的特征工程,但是也存在无法学习到标注上下文的缺点。相反,CRF的优点就是能对隐含状态建模,学习状态序列的特点,但它的缺点是需要手动提取序列特征。所以一般的做法是,在LSTM后面再加一层CRF,以获得两者的优点。LSTM+CRFLSTM+CRFCRF层可以加入一些约束来保证最终预测结果是有效的。这些约束可以在训练数据时被CRF层自动学习得到。可能的约束条件有:句子的开头应该是“B-”或“O”,而不是“I-”。“B-label1I-label2I-label3…”,在该模式中,类别1,2,3应该是同一种实体类别。比如,“B-PersonI-Person”是正确的,而“B-PersonI-Organization”则是错误的。“OI-label”是错误的,命名实体的开头应该是“B-”而不是“I-”。有了这些有用的约束,错误的预测序列将会大大减少。CRF层的解析1.EmissionScore2.转移分数矩阵3.Crf损失函数CRF层的解析1.EmissionScore2.转移分数矩阵3.Crf损失函数CRF层的解析CRF和HMM的区别与联系https://zhuanlan.zhihu.com/p/31187060https://www.zhihu.com/question/53458773BERT+BiLSTM+CRFPytorch代码实现https://github.com/chenxiaoyouyou/Bert-BiLSTM-CRF-pytorchThankU谢谢观赏