这一章我们主要关注transformer在序列标注任务上的应用,作为2017年后最热的模型结构之一,在序列标注任务上原生transformer的表现并不尽如人意,效果比bilstm还要差不少,这背后有哪些原因? 解决这些问题后在NER任务上transformer的效果如何?完整代码详见ChineseNER Transformer水土不服的原因 Hang(2019)在TENER的论文中给出了两点原因 1. 三角函数绝对位置编码只考虑距离没有考虑方向 2. 距离表达在向量project以后也会消失…
这个系列我们来聊聊序列标注中的中文实体识别问题,第一章让我们从当前比较通用的基准模型Bert+Bilstm+CRF说起,看看这个模型已经解决了哪些问题还有哪些问题待解决.以下模型实现和评估脚本,详见 Github-DSXiangLi/ChineseNER NER问题抽象 实体识别需要从文本中抽取两类信息,不同类型的实体本身token组合的信息(实体长啥样),以及实体出现的上下文信息(实体在哪里)一种解法就是通过序列标注把以上问题转化成每个字符的分类问题,label主要有两种其中BIO更常见些 B…
前两章我们分别介绍了NER的基线模型Bert-Bilstm-crf, 以及多任务和对抗学习在解决词边界和跨领域迁移的解决方案.这一章我们就词汇增强这个中文NER的核心问题之一来看看都有哪些解决方案.以下预测结果和代码详见Github-DSXiangLi/ChineseNER 第一章提到过中文NER的普遍使用字符粒度的输入,从而避免分词错误/分词粒度和NER粒度不一致限制模型表现的天花板,以及词输入OOV的问题.但是字符输入会有两个问题 缺失了字符在词汇中的语义表达 丢失了词边界信息 有人说不要担…
这一章我们不聊模型来聊聊数据,解决实际问题时90%的时间其实都是在和数据作斗争,于是无标注,弱标注,少标注,半标注对应的各类解决方案可谓是百花齐放.在第二章我们也尝试通过多目标对抗学习的方式引入额外的NER样本,或者分词边界来提高people daily小样本数据集的效果. 以下我会结合一些业界的案例和新鲜出炉的NLP数据增强综述,聊聊都有哪些数据增强方案,其中哪些适用于NER以及效果提升.代码详见 people_daily_augment NLP数据增强综述 Paper:Data Augmen…
第一章我们简单了解了NER任务和基线模型Bert-Bilstm-CRF基线模型详解&代码实现,这一章按解决问题的方法来划分,我们聊聊多任务学习,和对抗迁移学习是如何优化实体识别中边界模糊,垂直领域标注样本少等问题的.Github-DSXiangLi/ChineseNER中提供了bert_bilstm_crf_mtl多任务, 和bert_bilstm_crf_adv对抗迁移两个模型,支持任意NER+NER,CWS+NER的Joint Training. 多任务学习 以下Reference中1,2,…
就像Transformer带火了"XX is all you need"的论文起名大法,最近也看到了好多"Unified XX Framework for XX"的paper,毕竟谁不喜欢写好一套框架然后哪里需要哪里搬凸-凸.这一章让我们来看下如何把NER的序列标注任务转换成阅读理解任务.论文本身把重点放在新的框架可以更好解决嵌套实体问题,但是实际应用中我碰到Nested NER的情况很少,不过在此之外MRC对小样本场景,以及细粒,层次化实体的识别任务也有一些启发意…
对于Transformer模型的positional encoding,最初在Attention is all you need的文章中提出的是进行绝对位置编码,之后Shaw在2018年的文章中提出了相对位置编码,就是本篇blog所介绍的算法RPR:2019年的Transformer-XL针对其segment的特定,引入了全局偏置信息,改进了相对位置编码的算法,将在相对位置编码(二)的blog中介绍. 本文参考链接: 1. 翻译:https://medium.com/@_init_/how-se…
本博文介绍用Google pre-training的bert(Bidirectional Encoder Representational from Transformers)做中文NER(Name Entity Recognition) 第一步: git clone https://github.com/google-research/bert.git ,存放在 bert文件中 第二步: 下载BERT-Base Chinese模型, 存放在checkpoint文件中 相关文件结构如下: BER…
在CMD中运行python代码时,我们会发现,即使在代码中加入# -*- coding:utf-8 -*- 这段代码,中文仍然会乱码.如下: # -*- coding:utf-8 -*- content = "我是中文" print content 1 2 3 运行结果:  有够乱的吧!~~ 网上搜索的方法中说,把CMD的编码格式改为UTF-8格式,命令介绍: chcp 65001 #转换为utf-8代码页 chcp 936 #转换为默认的gbk 1 2 一般CMD默认gbk,在CMD…
​前言  在计算机视觉中,相对位置编码的有效性还没有得到很好的研究,甚至仍然存在争议,本文分析了相对位置编码中的几个关键因素,提出了一种新的针对2D图像的相对位置编码方法,称为图像RPE(IRPE). 本文来自公众号CV技术指南的论文分享系列 关注公众号CV技术指南 ,专注于计算机视觉的技术总结.最新技术跟踪.经典论文解读. ​ 代码:https://github.com/microsoft/Cream/tree/main/iRPE Background Transformer的核心是self-…