来自:艾达AI

Keyphrase extraction是提取一小组最能描述文档的短语任务。现有的大多数基准数据集都带有有限的带注释文档,使得训练复杂化的网络具有挑战性。本文提出一种基于自蒸馏思想的联合学习方法来利用大量未标记的科学文档,在Inspec和SemEval-2017两个公共基准上获得最新的结果。

论文链接:

https://arxiv.org/pdf/2010.11980.pdf

一、引言

Keyphrase extraction是从文档中自动提取一组代表性短语的任务,这些词能够简洁地描述文本主题内容,包含一定的信息量,对文本内容的理解有作用,主要包括单词、术语和短语。文本的关键词提取在基于文本的搜索、推荐以及数据挖掘领域有着很广泛的应用。

过去几年中,研究人员提出了许多用于关键词提取任务的方法,这些方法可以分为两大类:有监督的和无监督的技术。在存在足够的特定领域标记数据的情况下,有监督的关键短语提取方法通常优于无监督的方法。

大多数现有的用于关键短语提取的基准数据集通常都带有有限数量的带注释文档,这使得为该任务训练有效的深度学习模型具有挑战性。相比之下,数字图书馆在线存储了数以百万计的科学文章,涵盖了广泛的主题。尽管这些文章中有很大一部分具有作者提供的关键词,但其他大多数文章都缺少此类注释。

在本文中,为了有效利用线上可用的大量未标记文章,提出了一种基于自蒸馏思想的新型联合学习方法,并且使用了Inspec和SemEval-2017数据集来评估模型的有效性。

二、数据集

本文采用两个目标数据集:Inspec和SemEval-2017。Inspec数据集有1000/500/500条用于Train / dev / test拆分的科学文章摘要。SemEval-2017数据集有350/50/100条关于Train / dev / test拆分的科学文章。在实验中,我们使用KP20k数据集作为源数据集,因为它包含从各种在线数字图书馆收集的500,000多篇文章。

三、模型

Problem Formulation

将关键短语提取作为序列标记任务。采用序列标注方式不需要生成候选短语列表,然后对短语列表进行排名,抽取靠前的短语作为关键词,而是直接一次性预测目标输出。

令D =(, … )是由n个tokens组成的文档,其中表示文档的第i个token。任务是预测标签y =(, … )的序列,其中,∈{{I, B, O}}是对应于每个token 的标签。标签B表示关键字短语的开始,标签I表示关键字短语的继续,标签O对应于不属于任何关键字短语。

Baseline Models

本文将BiLSTM-CRF架构用作基准架构,图1显示了基线模型层次概述。给定一系列输入tokens,模型首先使用基于Transformer的编码器为每个token形成上下文表示,并且在基于Transformer的表示之上进一步使用了双向LSTM,之后,使用全连接层将双向LSTM的输出映射到标签空间。最后,将线性链CRF应用于解码标签。

图1 基线模型的高层次概述

Joint Learning based on Self-Distillation (JLSD)

图2显示了提出的自蒸馏方法的流程。将标记数据集称为目标数据集,将未标记数据集称为源数据集。

图2 自蒸馏的模型概述

首先使用带标签的样例训练teacher模型。之后,开始训练参数化与teacher模型相同的student模型。在每次训练迭代中,都会对一批原始标签样例和通过teacher模型对没有标签样例生成的伪标签进行抽样。

在训练过程中的任何时候,如果student模型的性能有所提高(即在目标数据集的验证集上获得更好的结果),将使用student模型的当前参数重新初始化teacher模型,然后继续训练student模型,并且使用之前相同的步骤。

图3 JSLD算法

图3描述了提出的JSLD算法。其中,T表示训练迭代次数,r是超参数,它确定每次迭代中要采样多少未标记的文档,D代表文档,y是对应的标签。

四、实验

本文实现了两个具有不同预训练上下文嵌入的基线模型:BERT(base-cased)和SciBERT(scivocab-cased)。并且分别与有监督的方法(表1,Inspec和SemEval-2017数据集)、无监督的方法(表2,Inspec数据集)以及与其他迁移学习技术的比较(表1,simple pretraining 、simple joint training),实验结果显示,通过应用本文提出的联合学习方法(JLSD),可以不断提高基线模型的性能。

表1 目标数据集的总体结果

 表2 无监督模型的结果

五、结论

在本文工作中,提出了一种基于自蒸馏的新型联合学习方法。实验结果表明,本文方法不断提高基线模型的性能。其中最佳模型在两个公开基准(Inspec和SemEval-2017)上都获得了最新的结果。在接下来的工作中,计划探索如何将本文的方法扩展到其他任务和其他语言中。

下载一:中文版!学习TensorFlow、PyTorch、机器学习、深度学习和数据结构五件套!后台回复【五件套】
下载二:南大模式识别PPT后台回复【南大模式识别】

说个正事哈

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方深度学习自然语言处理”,进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

推荐两个专辑给大家:

专辑 | 李宏毅人类语言处理2020笔记

专辑 | NLP论文解读

专辑 | 情感分析


整理不易,还望给个在看!

COLING 2020 | 一种从科学文献中提取关键词的基于自蒸馏的联合学习方法相关推荐

  1. AI医药论文阅读-使用药物描述和分子结构从文献中提取药物-药物相互作用

    202107Using drug descriptions and molecular structures for drug-drug interaction extraction from lit ...

  2. 一种精确从文本中提取URL的思路及实现

    在今年三四月份,我接受了一个需求:从文本中提取URL.这样的需求,可能算是非常小众的需求了.大概只有QQ.飞信.阿里旺旺等之类的即时通讯软件存在这样的需求.在研究这个之前,我测试了这些软件这块功能,发 ...

  3. 独家 | 2种数据科学编程中的思维模式,了解一下(附代码)

    作者:Srini Kadamati 翻译:梁傅淇 校对:丁楠雅 本文约2500字,建议阅读10分钟. 本文以具体的例子阐释了如何最优化原型思维模式及生产流思维模式的应用. 数据科学的完整流程一般包含以 ...

  4. matlab中提取裂缝图像,基于Matlab图像处理的水泥路面裂缝检测研究

    路面裂缝检测是计算公路状况指数的重要依据[1],传统的检测方法主要是靠人工检测,测量精度差.检测效率低.同时检测人员会有安全隐患[2-3].现在多采自动检测的方法对路面裂缝的损害进行检测,其中使用数字 ...

  5. TextRank算法可以用来从文本中提取关键词和摘要(重要的句子)

    源码和说明如下: https://github.com/liuluyeah/TextRank4ZH-master 转载于:https://blog.51cto.com/9283734/2092323

  6. 科学领域中的深度学习一览

    深度学习在很多商业应用中取得了前所未有的成功.大约十年以前,很少有从业者可以预测到深度学习驱动的系统可以在计算机视觉和语音识别领域超过人类水平.在劳伦斯伯克利国家实验室(LBNL)里,我们面临着科学领 ...

  7. 从单一图像中提取文档图像:ICCV2019论文解读

    从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...

  8. 使用 PyTesseract 和 OpenCV 从表格图像中提取文本

    Text Extraction from a Table Image, using PyTesseract and OpenCV – Fazlur Rahmanhttps://fazlurnu.com ...

  9. textrank4zh是_GitHub - 997666901/TextRank4ZH: 从中文文本中自动提取关键词和摘要

    TextRank4ZH TextRank算法可以用来从文本中提取关键词和摘要(重要的句子).TextRank4ZH是针对中文文本的TextRank算法的python算法实现. 安装 方式1: $ py ...

  10. textrank4zh是_GitHub - renxiaowei941015/TextRank4ZH: 从中文文本中自动提取关键词和摘要...

    TextRank4ZH TextRank算法可以用来从文本中提取关键词和摘要(重要的句子).TextRank4ZH是针对中文文本的TextRank算法的python算法实现. 安装 方式1: $ py ...

最新文章

  1. @所有人,CSDN 粉丝专属福利来啦!
  2. RxAndroid/java小记
  3. HDU 4135 Co-prime
  4. 实时可视化 Debug:VS Code 开源新工具,一键解析代码结构
  5. 学生管理系统——基于双向循环链表
  6. IP地址的简单说明---Linux学习笔记
  7. linux如何更改ssh配置文件,Linux系统下ssh的相关配置详细解析
  8. open cv+C++错误及经验总结(十三)
  9. Atitit 图像处理30大经典算法attilax总结
  10. MFC Windows 程序设计(一)-程序员的解放
  11. 埃斯顿工业机器人控制柜_埃斯顿estun伺服电机动力线MS3108B22-22S BDM-GA14
  12. 工业机器人控制系统的设计框架
  13. Eclipse添加代码自动补全+对齐功能
  14. 用户体验优化事半功倍:如何绘制客户行为轨迹图
  15. zhang 快速并行细化方法_Zhang快速并行细化算法.docx
  16. 数据可视化之大数据平台可视化
  17. android studio文件名颜色分别表示含义
  18. Linux 系统编程笔记-(1)基本概念
  19. 鸿蒙系统和安卓有哪些区别?鸿蒙会取代安卓吗?
  20. 怎样在苹果Mac上显示或隐藏“节假日”日历?

热门文章

  1. 如何在ant脚本中获得svn版本号
  2. Unity NGUI 网络斗地主 -界面制作
  3. PostgreSQL学习笔记YY(2)--Ubuntu下使用DDD调试查看源码(原创)
  4. 【Endnote】EndnoteX9快速上手教程
  5. RESTful源码笔记之RESTful Framework的基本组件
  6. HttpMessageConvert
  7. PHP $_SERVER详解
  8. ERPSYSTEM开发教程01 框架介绍
  9. [javascript] Promise API
  10. C#中获去一个字符串中的汉字的个数 C#获取字符串全角的个数