第一章我们简单了解了NER任务和基线模型Bert-Bilstm-CRF基线模型详解&代码实现,这一章按解决问题的方法来划分,我们聊聊多任务学习,和对抗迁移学习是如何优化实体识别中边界模糊,垂直领域标注样本少等问题的.Github-DSXiangLi/ChineseNER中提供了bert_bilstm_crf_mtl多任务, 和bert_bilstm_crf_adv对抗迁移两个模型,支持任意NER+NER,CWS+NER的Joint Training. 多任务学习 以下Reference中1,2,…
前两章我们分别介绍了NER的基线模型Bert-Bilstm-crf, 以及多任务和对抗学习在解决词边界和跨领域迁移的解决方案.这一章我们就词汇增强这个中文NER的核心问题之一来看看都有哪些解决方案.以下预测结果和代码详见Github-DSXiangLi/ChineseNER 第一章提到过中文NER的普遍使用字符粒度的输入,从而避免分词错误/分词粒度和NER粒度不一致限制模型表现的天花板,以及词输入OOV的问题.但是字符输入会有两个问题 缺失了字符在词汇中的语义表达 丢失了词边界信息 有人说不要担…
这一章我们不聊模型来聊聊数据,解决实际问题时90%的时间其实都是在和数据作斗争,于是无标注,弱标注,少标注,半标注对应的各类解决方案可谓是百花齐放.在第二章我们也尝试通过多目标对抗学习的方式引入额外的NER样本,或者分词边界来提高people daily小样本数据集的效果. 以下我会结合一些业界的案例和新鲜出炉的NLP数据增强综述,聊聊都有哪些数据增强方案,其中哪些适用于NER以及效果提升.代码详见 people_daily_augment NLP数据增强综述 Paper:Data Augmen…
这个系列我们来聊聊序列标注中的中文实体识别问题,第一章让我们从当前比较通用的基准模型Bert+Bilstm+CRF说起,看看这个模型已经解决了哪些问题还有哪些问题待解决.以下模型实现和评估脚本,详见 Github-DSXiangLi/ChineseNER NER问题抽象 实体识别需要从文本中抽取两类信息,不同类型的实体本身token组合的信息(实体长啥样),以及实体出现的上下文信息(实体在哪里)一种解法就是通过序列标注把以上问题转化成每个字符的分类问题,label主要有两种其中BIO更常见些 B…
这一章我们主要关注transformer在序列标注任务上的应用,作为2017年后最热的模型结构之一,在序列标注任务上原生transformer的表现并不尽如人意,效果比bilstm还要差不少,这背后有哪些原因? 解决这些问题后在NER任务上transformer的效果如何?完整代码详见ChineseNER Transformer水土不服的原因 Hang(2019)在TENER的论文中给出了两点原因 1. 三角函数绝对位置编码只考虑距离没有考虑方向 2. 距离表达在向量project以后也会消失…
就像Transformer带火了"XX is all you need"的论文起名大法,最近也看到了好多"Unified XX Framework for XX"的paper,毕竟谁不喜欢写好一套框架然后哪里需要哪里搬凸-凸.这一章让我们来看下如何把NER的序列标注任务转换成阅读理解任务.论文本身把重点放在新的框架可以更好解决嵌套实体问题,但是实际应用中我碰到Nested NER的情况很少,不过在此之外MRC对小样本场景,以及细粒,层次化实体的识别任务也有一些启发意…
在上篇博文(java中文乱码解决之道(一)-----认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述字符集.字符编码等基础知识和ASCII.GB的详情. 一.基础知识 在了解各种字符集之前我们需要了解一些最基础的知识,如:编码.字符.字符集.字符编码基础知识. 编码 计算机中存储的信息都是用二进制表示的,我们在屏幕上所看到文字.图片等都是通过二进制转换的结果.编码是信息从一种形式或格式转换为另一种形式的过程,通俗点讲就是就是将我们看到的文字.图片等信息按照…
原文出处:http://cmsblogs.com/?p=1412 在上篇博文(java中文乱码解决之道(一)—–认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述字符集.字符编码等基础知识和ASCII.GB的详情. 一.基础知识 在了解各种字符集之前我们需要了解一些最基础的知识,如:编码.字符.字符集.字符编码基础知识. 编码 计算机中存储的信息都是用二进制表示的,我们在屏幕上所看到文字.图片等都是通过二进制转换的结果.编码是信息从一种形式或格式转换为另一种…
1.GAN的基本原理其实非常简单,这里以生成图片为例进行说明.假设我们有两个网络,G(Generator)和D(Discriminator).正如它的名字所暗示的那样,它们的功能分别是: G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z). D是一个判别网络,判别一张图片是不是“真实的”.它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片. 在训练过程中,生成网络G的目标…
本博文介绍用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…