作者丨刘朋伯

学校丨哈尔滨工业大学硕士生

研究方向丨自然语言处理

本文是西湖大学张岳老师组发表在 ACL 2019 的一篇文章,提出了一种跨领域的 NER 方法。代码已开源:

https://github.com/jiachenwestlake/Cross-Domain_NER

研究背景

命名实体识别(NER)是 NLP 的基本任务。由于标注资源的限制,跨领域的命名实体识别一直是一项具有挑战性的任务。以前的大多数工作都集中在监督场景上,利用源域和目标域的标记数据。这种方法的缺点是没有充分利用无监督信息,而且很多情况下,目标领域的监督数据是很少的。 
为了解决这一问题,文章使用跨领域的语言模型(cross-domain LM)作为跨域 NER 的桥连,并设计了一种新颖的参数生成网络。结果表明,文章的方法通过跨域语言模型有效地提取了不同领域之间的差异。该方法可以无监督地进行领域自适应,在无标注数据的目标域做 NER 任务。值得一提的是,在有监督的 NER 领域自适应任务上,该方法取得了目前最优的结果。 
作者在文中提到了两个“first”:首次使用跨领域语言模型做跨领域 NER 任务;首次在实体类型完全不同的领域做命名实体识别的迁移学习。

相关工作

NER:目前主要使用一些深度学习的方法,如 LSTM、CNN-CRF、LSTM-CRF,本文选择了 Bi-LSTM;
Cross-domain NER:大部分已有的工作都集中有监督学习中,也就是源域和目标域都有标注数据。比如把不同领域 的实体标签做映射、label embedding 取代实体标签、Bi-LSTM 学习标签表示。最近也有一些基于参数迁移的跨领域 NER 方法,就是在源领域学习到一个模型然后在目标域上 fine-tune。以上大部分方法都只用了跨领域的 NER 数据,相比之下,本文的方法利用了 NER 语料和生语料,可以实现 NER 任务上的零样本(zero-shot)领域迁移。 
Learning task embedding vectors:在多任务学习中,已经有一些关于任务向量表示(task vector representations)的相关工作。如在多语言 parsing 任务中学习语言向量(language embeddings),这类方法利用任务向量扩充词向量输入,这样就可以把任务特征融合到词向量中。也有通过学习领域向量完成多领域的情感分类任务。但是本文使用领域向量和任务向量并不是为了作为输入,而是为了得到相应的参数。

模型

整体的模型架构如下图:

输入一个句子,通过共享的嵌入层会得到一个单词级的表示。然后通过参数生产网络计算一系列任务和领域专属的参数。最后不同的任务与领域使用不同的输出层。 
具体的结构如下:
输入层
输入的数据共有四种:源领域数据、目标领域数据、用于语言模型的源领域和目标领域的未标注数据。得到数据表示的方法是相同的:词向量与字符向量的 CNN 输出拼接在一起。

参数生成网络 

其实文章中的主要模型仍然是 Bi-LSTM+CRF。所以参数生成网络,也就是要动态地生成 Bi-LSTM 的参数,以达到跨领域跨任务地转移知识的目的。

W 是维度为 P(LSTM) × V × U的三维张量,是领域向量,是任务向量。三者通过张量的 contraction 操作得到最后的参数(contraction 在 TensorFlow 和 PyTorch 上均有实现)。
现在有了输入层的 v 和参数生成网络生成的参数,我们可以得到 LSTM 的隐状态输出:

输出层
NER:还是那个经典的结构:得到了 Bi-LSTM 的输出后,使用 CRF 做输出层。需要注意的是论文中针对源域和目标域分别使用了两个 CRF。 
语言模型:语言模型采用了比较传统的 Bi-LSTM 结构,搭配负采样,训练前后向的语言模型(估计下一步可以试试换掉语言模型改用 BERT)。
训练目标
整个训练目标由两部分组成,NER 的损失和语言模型的损失,整体的损失函数如下:

领域的 NER 损失和语言模型损失加起来是领域损失,领域损失乘对应的权重相加,再加最后一项(正则项),就是整个损失函数。
多任务学习算法

上图是整个多任务学习算法的过程。第 4-5 行、第 7-8 行、第 11-12 行、第 15-16 行分别代表之前提到的四种任务,每种任务都是同样的步骤:首先生成参数网络生成对应的 LSTM 网络参数,继而计算梯度并得到 CRF 的输出和 softmax 分 布,最后更新参数。需要注意的是,如果是无监督学习,第 11-12 行可以自动忽略了。

实验

数据 

源领域的 NER 数据来自 CoNLL-2003,源领域的语言模型使用来自路透社的 377592 条句子训练。

目标领域的数据来自三部分:生物医药领域的 BioNLP13PC (13PC) 和 BioNLP13CG (13CG) 还有一份自己收集标注的科技领域的数据集。数据集的统计信息如下表所示:

CoNLL-2003 包括了四种实体类型:PER、LOC、ORG、MISC。BioNLP13PC 包括了五种实体类型:CHEM、CC、 G/p、SPE、CELL,BioNLP13CG 包括三种试实体类型:CHEM, CC 和 G/P,目标领域的语言模型直接使用这些数据集的文本训练。

作者团队自己标注的数据集来自 CBS (https://www.cbsnews.com/)。标注规则遵守 CoNLL-2013 标注,也是四种实体,和 CoNLL-2013 不同的是,数据集中科技类型的实体居多,比如“Space X”,“bitcoin“和”IP”。相应的,语言模型使用 398990 条为标注句子训练。

超参数 

本文的实验是在 NCRF++(记得也是张岳老师团队出品)基础上进行的,有些参数有改动:batch size 变为 30;单任务使用学习率为 0.001 的 RMSprop 优化器,多任务模型使用学习率为 0.015 的 SGD 优化器。为了能在显存 8GB 的单  GPU 上运行,领域向量和任务向量维度均为 8。词向量使用预训练的 100 维 GloVe 向量,字符向量随机初始化。

实验结果

本文对实验结果的分析还是很周密且详尽的。作者在多任务角度、数据角度都有分析,建议感兴趣的读者看一下原文,更能体会作者的用心。

如上图,STM(单任务模型)与文章模型的比较,可以看出,文章模型一直是优于 STM 的,尤其是目标领域数据极少时(也可以看做无监督),依然能保持 60% 左右的 F1-score。

在有监督的领域迁移 NER 上,作者把模型与 STM、多任务(完全共享参数)、fine-tune 方法进行对比,发现一些类型的实体识别直接使用多任务方法效果是非常差的,而本文的方法一直是最优的。可见,同样是多任务学习,参数生成网络带来的提升是巨大的。

总结和思考

文章通过未标注文本抽取领域知识来完成 NER 领域自适应任务。通过参数生成网络跨领域语言建模,分别得到任务向量和领域向量。实验表明,有监督时,这种领域适应方法十分有效,在无监督时,也能取得一定效果。 本文使用的语言模型就是常见的 BiLSTM,可能是论文写作的时间原因,不知道作者有没有尝试基于 BERT 的方法,感觉非常值得一试。

点击以下标题查看更多往期内容:

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

?

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

▽ 点击 | 阅读原文 | 下载论文 & 源码

ACL 2019 开源论文 | 使用跨领域语言建模的跨领域命名实体识别相关推荐

  1. 手把手教学构建农业知识图谱:农业领域的信息检索+智能问答,命名实体识别,关系抽取,实体关系查询

    项目设计集合(人工智能方向):助力新人快速实战掌握技能.自主完成项目设计升级,提升自身的硬实力(不仅限NLP.知识图谱.计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户 ...

  2. ACL 2019开源论文 | 句对匹配任务中的样本选择偏差与去偏方法

    作者丨张冠华 单位丨腾讯实习生 & 哈工大本科生 研究方向丨自然语言处理 导读 句对匹配 (Natural Language Sentence Matching,NLSM) 任务是指给定两个句 ...

  3. 【论文笔记】《基于深度学习的中文命名实体识别研究》阅读笔记

    作者及其单位:北京邮电大学,张俊遥,2019年6月,硕士论文 摘要 实验数据:来源于网络公开的新闻文本数据:用随机欠采样和过采样的方法解决分类不均衡问题:使用BIO格式的标签识别5类命名实体,标注11 ...

  4. 论文解读:ACL2021 NER | 基于模板的BART命名实体识别

    摘要:本文是对ACL2021 NER 基于模板的BART命名实体识别这一论文工作进行初步解读. 本文分享自华为云社区<ACL2021 NER | 基于模板的BART命名实体识别>,作者: ...

  5. ACL 2019开源论文 | 基于图匹配神经网络的跨语言知识图对齐

    作者丨王文博 学校丨哈尔滨工程大学硕士生 研究方向丨知识图谱.表示学习 动机 在本篇文章之前,跨语言知识图谱对齐研究仅依赖于从单语知识图谱结构信息中获得的实体嵌入向量.并且大多数研究将实体映射到低维空 ...

  6. ACL 2019 开源论文 | 基于知识库和大规模网络文本的问答系统

    作者丨张琨 学校丨中国科学技术大学博士生 研究方向丨自然语言处理 论文动机 当前问答系统面对的一大问题就是如何利用先验知识.我们人类可以通过不断的学习,掌握非常多的先验知识,并通过这些知识来回答问题. ...

  7. ACL 2019开源论文 | 基于Attention的知识图谱关系预测

    作者丨王文博 学校丨哈尔滨工程大学硕士生 研究方向丨知识图谱.表示学习 动机 由于传统方法都将三元组进行独立的处理,忽略了其相邻的三元组之间隐藏的固有信息的缺点,使得无论是转化模型还是较新的基于卷积神 ...

  8. 论文浅尝 | 利用Lattice LSTM的最优中文命名实体识别方法

    本文转载自公众号:机器之心. 选自arXiv 作者:Yue Zhang.Jie Yang 机器之心编译 参与:路.王淑婷 近日,来自新加坡科技设计大学的研究者在 arXiv 上发布了一篇论文,介绍了一 ...

  9. 基于深度学习的命名实体识别研究综述——论文研读

    基于深度学习的命名实体识别研究综述 摘要: 0引言 1基于深度学习的命名实体识别方法 1.1基于卷积神经网络的命名实体识别方法 1.2基于循环神经网络的命名实体识别方法 1.3基于Transforme ...

最新文章

  1. Realm发布Realm .NET,扩展支持.NET技术栈
  2. [模板]tarjan求强连通分量
  3. 2519485c7dcfe0295a41d4e0f69bb10a 求解
  4. 禁止vim生成 un~文件
  5. VS中怎样使用Nuget添加MQTTnet依赖
  6. iOS Hacker 越狱后如何使用 root 运行应用
  7. 软件推荐---站长查询工具
  8. 2019年6月26 突然想到的代码优化
  9. [渝粤教育] 西南科技大学 基础工业工程 在线考试复习资料
  10. CCF-CSP认证考试历年试题集
  11. MobaXterm连接Linux教程
  12. Thingworx连接Kepware
  13. Django 文件下载
  14. hiveSQL面试题16__时间序列--构造日期
  15. Windows 10 运行python弹出windows应用商店
  16. 如何优雅地使用 Sublime Text
  17. Kotlin-Android世界的一股清流-函数
  18. 洛阳理工Linux实验报告,谁来给我抄实验报告啊!这一张又一张写得。。。。
  19. 程序员节你们公司都有什么活动
  20. 华为AC旁路二层组网隧道转发示例

热门文章

  1. Oracle学习笔记:a inner join b与from a,b where a.x=b.x的差异
  2. 随笔1106-练习例题
  3. 指定的命名连接在配置中找不到、非计划用于 EntityClient 提供程序或者无效
  4. sas宏中如何跳出%do循环
  5. java子类实例初始化过程
  6. ALinq 入门学习(八)--ALinq 对Vs2010 的支持
  7. [Map 3D开发实战系列] Map Resource Explorer 之四-- Map3D开发中的WPF
  8. php输出股票价格代码,实时抓取YAHOO股票报价的php代码_PHP教程 - strrpos
  9. java 数组怎么求和_java数组排序,并将数组内的数据求和
  10. android最大json,Android:解析大型JSON文件