这两年对比学习很火,尤其是在CV领域,所以有人尝试将对比学习的思想引入到关键词抽取任务中,虽然最后的结果并没有大的提升,但是这篇论文还是值得看一下的。这篇文章中了2022年ACL Findings。

论文简单介绍

  • 题目 MDERank: A Masked Document Embedding Rank Approach for Unsupervised Keyphrase Extraction
  • 作者 Linhan Zhang, Qian Chen, Wen Wang, Chong Deng, Shiliang Zhang, Bing Li, Wei Wang, Xin Cao
  • 单位
    • 新南威尔士大学计算机科学与工程学院
    • 阿里巴巴集团语音实验室
    • 新加坡科学、技术与研究局 (A*STAR) 高性能计算研究所 (IHPC)
    • 中国香港科技大学(广州)
  • 时间 2022
  • 会议 ACL2022

动机

  • 因为文档和短语的输入序列长度不相等,导致语义空间难以对齐。这样就会导致长的候选短语会比短的候选短语更有优势,如下图所示。

  • 作者认为在这种情况下会有一个偏好,即以前的模型存在很大的偏差,因此它们更喜欢长且高频的候选者。此外,由于缺乏上下文,从 BERT 获得的候选者的嵌入是不可靠的。

  • 考虑到注释数据的不足和 BERT 建模的能力,我们提出了一种新的基于嵌入的基于文档嵌入的关键短语提取方法,表示为掩码文档嵌入排序 (MDERank)。

模型

模型如上图所示。整体的思想是,将一个候选词遮盖住,然后将遮盖后的文档送进bert里面学到一个嵌入向量,然后再将原文档送进bert学到一个嵌入向量,两个向量之间进行相似度计算,如果差距变化很大,证明被遮盖的候选词是关键词,如果相似度变化很小,证明被遮盖的候选词不是关键词

  • 这种思想真的是很朴实,但是现有的bert不适合这种任务,所以作者通过对比学习对bert进行了fine-tune优化,做了一个适合这个任务的bert变种模型

Mask方式的选择

因为一个候选词在很多情况下都在原文中出现多次,所以在mask时会有多种考虑和选择

  • Mask All

    • 就是将候选词i在文档中出现的位置全部用MASK标记替代
  • Mask Once
    • 就是将候选词i在文档中出现第一个位置用MASK标记替代,其他位置不变
  • Mask Highest
    • 就是将候选词i在文档中出现的最大余弦相似度的位置用MASK标记替代,其他位置不变
  • Mask Subset
    • 这个就是考虑到关键词多样性的问题,例如InternetInternet Service

      • 一开始按照候选词的长度进行降序排序
      • 然后计算所有候选词之间的相似度
      • 这样当对Internet进行mask操作时只会遮盖住InternetInternet Service位置减法生成的位置
      • 这样,重叠候选者的余弦分数会扩大差距,因为候选者Internet的掩码数会减少,从而产生排名较低的Internet。因此,对于嵌套的候选者,Mask Subset 可以很容易地将它们分开并选择更长的候选者。
      • 这样看,该方法在解决关键词多样性主要是通过大鱼吃小鱼的方式,即选择更长的候选者

排名分数计算

公式说明

相似度计算如上图所示,简单介绍一下

  • d m d_m dm表示的是生成的掩码文档

  • d o d_o do表示的是原文档

  • e m e_m em表示的是 d m d_m dm经过bert嵌入后的向量

  • e o e_o eo表示的是 d o d_o do经过bert嵌入后的向量

  • 根据之前介绍的本文的思想就是将候选词mask后的文档与原文档进行一个相似度比较,如果相似度分数高则说明被mask的词没有重要性,不是关键词

  • 以前的方法,例如SIFRankEmbedRank都采用的是余弦相似度来进行相似度计算,但是 BERT 的句子嵌入空间在语义上是不平滑的,并且在某些区域定义不明确,这使得通过点积或余弦相似度等简单的相似度度量很难直接使用,因此我们决定也引入欧几里得距离

  • 其中n是文档的长度。由此可见这里是依次比较token级别的语义相似度

基于关键词的自监督学习

这个是本文的核心内容,也是对比学习出现的地方。、

动机

  • 现在预训练的 BERT 模型并不是专门为 KPE 任务设置的。从掩码语言模型(MLM)和下一句预测(NSP)中学习到的语言和语义知识不包括关键短语的特征。这就是为什么我们考虑训练一种创新的方法来微调 BERT 模型,称为 KPE BERT。为了更好地适应我们的 MDERank 方法,KPEBERT 还采用了这样一种想法,即当我们屏蔽“关键短语”时,通过将使用关键短语屏蔽的文档推离源文档很远,文档的语义会发生很大变化。换句话说,源文档和掩码文档之间的相似度分数大于使用“非关键短语”掩码的文档
  • 前者是我们所说的正例,而后者是负例。并且指示哪些候选是关键短语的伪标签是由 YAKE 生成的,在无监督的关键短语提取方法中是稳定的和高速的。为了防止模型过度依赖YAKE的结果,提出了不同的采样策略,即符合“非关键短语”选择的绝对采样和相对采样。同时,我们使用了三元组损失来强制 BERT 模型学习如何区分关键短语和非关键短语,并设置边距 m。我们还保留了掩码语言模型(MLM)的训练任务,以确保 KPEBERT 不会忘记以前的语言知识。图 3 显示了 KPEBERT 训练的主干。损失函数如函数6所示

绝对采样

受 MLM 的启发,我们将掩码采样方法更改为掩码文档的“关键短语”,以生成文档 D 的正样本 D p D_p Dp。对于负随机数,我们选择一个“非关键短语”并将其掩码在文档 D 中,得到 D n D_n Dn

相对采样

虽然绝对抽样取得了可喜的表现,但利用无监督关键短语提取方法生成伪标签的第一步抽样将在一定程度上影响模型训练。为了避免微调模型模仿之前的方法并使其更适合 MDERank,我们提出了一种细粒度的采样策略,“非关键短语”不再是排名低于阈值 k 的那些。我们从 YAKE 的 Top-K 结果中随机选择两个候选者,排名较高的将被视为“关键短语”,而另一个则为“非关键短语”。因此,我们可以根据两个候选者的排名来获得正例和负例,这可以看作是一种学习排序方法,教模型区分哪个候选者更可能是“关键短语”,而不是使用硬标签作为绝对采样

实验结果

结果分析

输入序列长度的影响

MDERank 在长文档数据集上取得了令人信服的结果。显着的改进是由于 MDERank 在我们计算文本相似度以进行排名时确保了序列长度的匹配。为了支持这一观点,我们进行了两个实验。第一个探讨了不同输入长度对 NUS 的影响。一开始,我们将文档截断在 128、256 和 512 个字以内。如下表所示

phrase-document预测的keyphrases的质量随着词数的增加而急剧下降,但每个形式的MDERank稳定,甚至随着词数的增加而有所提高。这反映了基于短语文档的方法很大程度上受序列长度的影响。然而,MDERank 在增加序列长度方面取得了进步,显示出更强大和潜在的更长文档的关键短语提取能力

还有其他消融实验,例如多样性判断,不同layer和pooling ways的影响,在这篇总结中就没有一一总结了

我的思考

  • mask学习好像是对比学习的一个新的小方向,这篇论文的出发点还是在想怎么将对比学习引入到关键词抽取中
  • 论文的思想很简单,就是把候选词遮住,如果导致整体文章语义变化过大,证明你就是关键词,这个做法感觉就是考虑了全局相似度
  • 论文有一个缺点就是没有比较2021年的EMNLP论文,因为从结果指标来看是打不过的
  • 这篇论文写作的很好,读起来逻辑清楚,而且各种消融实验做的很充分,非常值得学习

MDERank A Masked Document Embedding Rank Approach for Unsupervised Keyphrase Extraction阅读笔记相关推荐

  1. 开箱即用!中文关键词抽取(Keyphrase Extraction),基于LDA与PageRank(TextRank, TPR, Salience Rank, Single TPR)

    Keyphrase Extraction Algorithm 项目地址:https://github.com/JackHCC/Chinese-Keyphrase-Extraction 无监督学习:中文 ...

  2. 论文笔记:An Adaptive Feature Norm Approach for Unsupervised Domain Adaptation

    论文链接 最近把毕业论文的题目确定了,这个专栏专门放相关论文的阅读笔记,个人理解可能有限,欢迎大家指正! 标题理解 阅读论文之前,首先对标题进行一定的理解,才能更好的理解论文的内容. 论文完整标题为: ...

  3. DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding 阅读笔记

    DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding 阅读笔记 Article Background ...

  4. 文献阅读笔记-CSC-数据集-A Hybrid Approach to Automatic Corpus Generation for Chinese Spelling Check

    A Hybrid Approach to Automatic Corpus Generation for Chinese Spelling Check 文献阅读笔记 论文相关信息: EMNLP-201 ...

  5. DenseFuse: A Fusion Approach to Infrared and Visible Images 阅读笔记

    DenseFuse: A Fusion Approach to Infrared and Visible Images 阅读笔记 摘要 介绍 相关工作 融合方法 编码器 解码器 融合层 训练 网络结构 ...

  6. 行人重识别论文--A Bottom-up Clustering Approach to Unsupervised Person Re-identification

    A Bottom-up Clustering Approach to Unsupervised Person Re-identification 目录 A Bottom-up Clustering A ...

  7. 【异构图笔记,篇章3】GATNE论文阅读笔记与理解:General Attributed Multiplex HeTerogeneous Network Embedding

    [异构图笔记,篇章3]GATNE论文阅读笔记与理解:General Attributed Multiplex HeTerogeneous Network Embedding 上期回顾 论文信息概览 论 ...

  8. Rank Minimization for Snapshot Compressive Imaging——学习笔记

    Rank Minimization for Snapshot Compressive Imaging--学习笔记 摘要 研究内容 采样方式 秩最小化的重构模型 相似分组 核范数最小化模型 模型求解(A ...

  9. A Practical Approach to Constructing a Knowledge Graph for Cybersecurity 阅读笔记

    A Practical Approach to Constructing a Knowledge Graph for Cybersecurity 阅读笔记 Article Background Pur ...

最新文章

  1. 利用查找替换批处理(附完整源码),进行高效重构
  2. 深入理解CSS盒模型
  3. matlab 跳步循环,跳步急停是用单脚或双脚起跳,上体稍后仰,两脚同时平行落地。落地时()着地,用前脚掌内侧抵蹬住地面,两膝弯曲,降低重心,两臂屈肘微张,以保持身体平衡。...
  4. yolov3剪枝 SlimYOLOv3
  5. dlib人脸检测功能介绍
  6. 《零基础看得懂的C++入门教程 》——(2)什么是数据类型、变量?一看便会
  7. 《Python Cookbook 3rd》笔记(5.4):读写字节数据
  8. mysql多客户端数据不同步_一种多终端设备上的数据同步方法
  9. Python——安装Scrapy时出现各种错误
  10. PowerDesigner生成数据库设计文档
  11. for循环连续创建对象
  12. 数据库学习--主从复制
  13. python入口文件详解_Python基础系列讲解——那些py文件中容易忽略的细节
  14. 如何用css实现元素固定宽高比?
  15. 发现同义词 python_用词代替同义词
  16. lcs问题java_动态规划法(十)最长公共子序列(LCS)问题
  17. C语言 Sn=a+aa+aaa+……之值,其中a是一个数字,n表示a的位数,n由键盘输入。
  18. 搭建自己的BT下载平台服务器
  19. 使用IIS部署网站步骤
  20. 鹰硕区域智慧教育云平台 AI助力搭建线上教学平台

热门文章

  1. linux查看当前间命令,Linux系统查看当前时间的命令
  2. KL散度解释——来自COUNT BAYESIE
  3. 2014安康电大会计本科网考计算机应用基础试题答案,2014年电大网考计算机应用基础统考试题真题及答案小抄.doc...
  4. 汽车租赁系统需求列表
  5. Git 从入门到精通,这篇包教包会!
  6. 【北交所IP0】问询回复避重就轻、论证不充分、 披露不准确、前后内容重复、错别字、文字表述不规范
  7. CsvReader和CsvWriter操作csv文件
  8. android开发:数据类型,Android开发从零开始之java-数据类型
  9. 一篇吃透mysql(个人笔记)
  10. 2022.11.15Python语法基础