57

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

 4 years ago
source link: https://www.tuicool.com/articles/f6fAreQ
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

yUR7Nrq.gif

作者丨刘朋伯

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

研究方向丨 自然语言处理

umuEFvE.jpg!web

NnENj23.png!web

本文是西湖大学张岳老师组发表在 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),这类方法利用任务向量扩充词向量输入,这样就可以把任务特征融合到词向量中。也有通过学习领域向量完成多领域的情感分类任务。但是本文使用领域向量和任务向量并不是为了作为输入,而是为了得到相应的参数。

模型

整体的模型架构如下图:

2meaI3r.png!web

输入一个句子,通过共享的嵌入层会得到一个单词级的表示。然后通过参数生产网络计算一系列任务和领域专属的参数。最后不同的任务与领域使用不同的输出层。 

具体的结构如下:

输入层  

输入的数据共有四种:源领域数据、目标领域数据、用于语言模型的源领域和目标领域的未标注数据。得到数据表示的方法是相同的:词向量与字符向量的 CNN 输出拼接在一起。

3QJVja7.png!web

参数生成网络 

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

vAzu2e2.png!web

W 是维度为 P(LSTM) × V × U的三维张量, 是领域向量, 是任务向量。 三者通过张量的 contraction 操作得到最后的参数 (contraction 在 TensorFlow 和 PyTorch 上均有实现)。

现在有了输入层的 v 和参数生成网络生成的参数 ,我们可以得到 LSTM 的隐状态输出:

ANJFRve.png!web

输出层  

NER: 还是那个经典的结构:得到了 Bi-LSTM 的输出后,使用 CRF 做输出层。需要注意的是论文中针对源域和目标域分别使用了两个 CRF。 

语言模型: 语言模型采用了比较传统的 Bi-LSTM 结构,搭配负采样,训练前后向的语言模型(估计下一步可以试试换掉语言模型改用 BERT)。

训练目标  

整个训练目标由两部分组成,NER 的损失和语言模型的损失,整体的损失函数如下:

ZnIRvan.png!web

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

多任务学习算法

6VbIzqJ.jpg!web

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

实验

数据 

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

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

eaMjAbR.png!web

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 向量,字符向量随机初始化。 

实验结果  

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

ZFzy2eB.png!web

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

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

eui2Ira.png!web

总结和思考

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

nmYFBne.png!web

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

2a67JfY.gif # 投 稿 通 道 #

让你的论文被更多人看到 

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

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

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

:memo:  来稿标准:

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

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

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

:mailbox_with_mail: 投稿邮箱:

• 投稿邮箱: [email protected]  

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

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

:mag:

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

进入知乎首页搜索 「PaperWeekly」

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

关于PaperWeekly

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

IrqMBj7.gif

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK