每天给你送来NLP技术干货!


来自:南大NLP

01

研究动机

大规模多标签文本分类(简称LMTC)是自然语言处理领域中一个十分重要的任务,其旨在从一个大规模的标签集合(标签集合大小一般以千为数量级)中选取出与文本相关的若干个标签。LMTC可以广泛应用于互联网,法律以及医疗等领域。

由于巨大的标签规模和有限的标注资源,LMTC任务往往面临着严重的长尾标签分布所带来的挑战,也就是存在着大量的标签只有很少的标注样本(少样本标签,Few-shot labels)甚至没有标注样本(零样本标签,Zero-shot labels)。比如在EURLEX57K的训练集中有70%以上的标签只有不到20个标注样本,并且标签全集中有40%左右的标签没有在训练集中出现过。

为了处理这些少样本和零样本标签,现有的方法均通过利用标签的先验信息来将多标签文本分类任务转化为文本匹配任务。一种做法是使用标签的描述文本为每个标签生成一个特征向量,再基于标签之间的关系图使用图神经网络来挖掘标签之间的关联性,最后再计算出每个标签与文本的表示向量的相似度进行预测。

尽管如此,这些方法忽略了LMTC数据集中潜藏的元知识,也就是模型根据少量的样本进行学习的知识。而元学习(meta-learning)就是获得这种知识的有效途径,其通过构造多个少样本学习的任务让模型学习到如何只利用有限个训练样本就能学习到很好的泛化能力。然而,绝大多数的元学习算法针对的是多类别分类中的少样本学习场景,并且元学习构造任务的一致性和多样性对于模型的泛化性能起到十分关键的作用,所以将这些算法简单的迁移到LMTC任务上是次优的:

首先,LMTC任务需要同时处理少样本和零样本标签,但是现有的方法只考虑了少样本学习场景,导致构造的任务并不与最终任务场景保持一致;

其次,LMTC数据集的标签频次往往呈现明显的长尾分布,但是当前元学习方法往往假设类别均衡,简单沿用当前算法会影响任务的标签维度或实例维度的多样性,进而影响模型的泛化性能。

为了解决以上两个问题,我们提出了一个解决大规模多标签文本分类的元学习算法,META-LMTC,其包含了元学习和微调两个过程。考虑到LMTC任务的特性,我们专门设计了一种元学习任务采样策略,图1给出了我们解决该问题的大致思路,通过显式构造出与最终任务场景类似的低资源学习任务(即同时构造出少样本学习场景与无样本学习场景),并让模型学习如何应对这些少样本及无样本标签,进而在最终任务上取得更好的泛化性能(特别是低资源标签)。

图1:META-LMTC算法概念图

02

贡献

  1. 我们提出了一个元学习算法META-LMTC来解决LMTC任务;该算法首次从元学习的角度来解决LMTC任务中长尾标签分布带来的挑战。

  2. 在两个LMTC基准数据集上的实验表明,我们方法的性能达到了目前的SOTA。并且我们的算法对于现有的模型均能带来显著的性能提升。

03

算法框架

我们的方法以著名的元学习算法MAML为基础,具体算法流程如图2所示。算法分为两阶段:元学习阶段与微调阶段。在元学习阶段,随机初始化的模型在特定的采样策略采样出的低资源多标签学习任务上进行元学习来优化参数。具体而言,采样到的任务包含支持集(Support set)和查询集(Query set);在每次元学习中,模型首先使用支持集根据公式(1)得到局部的参数,

接着使用查询集根据公式(2)更新全局的参数。

注意此处我们与MAML算法的差异,在公式(2)中我们考虑查询集中出现的所有标签而并非只考虑支撑集中出现过的标签。在微调阶段,元学习过的模型将基于最终任务的训练集使用传统的监督学习进行微调。

由于基于优化的元学习算法学习到的模型参数会受到采样的元学习任务特性影响,因此如何设计采样策略对于模型最终性能有着重大影响。下面我们详细介绍如何在LMTC场景中设计合适恰当的采样策略。

图2:META-LMTC算法流程

04

采样策略

如之前所述,已有元学习方法直接迁移至LMTC任务上是不合适的,其存在两个问题:1. 现有元学习方法只构造少样本任务,而在LMTC任务中不仅有少样本标签还存在无样本标签。2. 现有元学习方法往往假设类别均衡,而LMTC数据集往往显示出长尾标签分布,现有方法没有考虑这一问题从而影响了采样任务的多样性。

图3: 不同采样策略下标签频次图

为了解决第1个问题,我们设计了一种简单但有效的任务采样策略,称作基于样本的采样策略:均匀的从训练集中采样出一些样本并划分为两个不相交的集合作为支持集和查询集。我们经验的发现这个策略可以采样出与最终任务更一致的元学习任务,也就是同时包含少样本和零样本标签。然而这个策略受到长尾标签分布严重的影响,如图3蓝线所示,训练集中的少样本标签在元学习任务中只有非常低的出现概率,这会导致模型欠拟合于那些少见标签。

图4: 不同采样策略下实例频次图

为了解决这一问题(第2个问题),我们提出了另一个策略,称作基于标签的采样策略:每次先均匀的选取一个标签,然后再从含有这个标签的样本中随机选取出一个加入任务实例集合,并重复上述过程若干次;之后将整个任务实例集合划分为支持集和查询集。从图3的黄线可以看出,比起基于样本的采样策略,基于标签的策略对于每个标签更加的公平,从而提高了任务在标签维度的多样性。然而,图4显示出基于样本的采样策略对于样本没有偏向,但是基于标签的采样方法更倾向于采样那些几乎只含有少样本标签的样本;这会导致模型过拟合于这些频繁出现的实例。

总而言之,虽然基于样本和基于标签的采样策略都能从不同角度构造出既含有少样本场景又含有无样本场景的LMTC任务;但基于样本的采样策略存在标签维度的偏见,而在实例维度是公平的;基于标签的采样策略存在实例维度的偏见,而在标签维度是公平的。这两者采样策略在不同维度上是互补的。因此为了提高元学习过程中任务的多样性,我们使用了一个0到1之间的实数作为采样系数p:以p的概率使用基于样本的采样策略,以1-p的概率使用基于标签的采样策略去构建元学习任务。

05

实验

本文的实验是在法律领域EURLEX57K和医疗领域的MIMIC-III这两个数据集上进行的。数据集的统计信息如表1所示。

表1: 数据集的统计信息

我们在三个当前现有的三种模型(AGRU-KAMG为当前SOTA)上使用了META-LMTC算法,实验结果见表2。表中的Frequent,Few-shot,Zero-shot分别代表模型在常见标签,少样本标签和零样本标签上的性能,Harmonic Average代表前三个性能的调和平均。从结果中可以看出,我们的方法给所有的基础模型都带来了性能提升,在少样本和零样本标签上的提升更为显著。将现有的元学习方法应用到LMTC任务(即表格中的SIMPLE-EXT)上,模型的性能确实有所提升,但由于其构造的元学习任务仅构造了少样本场景且忽略了LMTC独特的长尾标签分布特点,最终的性能仍显著落后于META-LMTC。

表2:主要实验结果

进一步地,我们也探究了该方法对于基于预训练模型的有效性,实验表明在强力的预训练模型上我们仍旧可以带来显著提升。如表3所示,在EURLEX上我们的方法可以带来0.9-1.5点的绝对提升。

表3:META-LMTC应用于Z-DistilBERT的实验结果(EURLEX)

我们研究了不同的策略混合系数p对于模型性能的影响,其中p=0代表只使用基于标签的采样策略,p=1代表只使用基于样本的采样策略。如图5所示,META-LMTC可以稳定的提升模型的性能,但是p的取值会影响到META-LMTC带来的提升。总体来说性能曲线呈现一种先升后降的趋势,并且如前面所讨论的一样,由于存在不同维度的偏见,单纯使用基于样本/标签的采样策略性能都会更差。

图5:不同超参p下META-LMTC对于ZAGGRU模型带来的绝对性能提升图

为了了解我们方法对于模型带来性能提升的来源,我们进行了一个更为细致的性能提升分解实验,如图6所示。图中绿色的线代表使用了META-LMTC后AGRU-KAMG模型性能的提升,X轴的值代表考虑标签组中最大的标签出现频次。如图所示,我们的方法对于零样本标签以及出现频次小于20的少样本标签所带来的性能提升最大。这表明了META-LMTC确实能够显著提升模型处理少样本/零样本标签的能力。

图6:在AGRU-KAMG模型上使用META-LMTC后的性能提升分解图

06

总结

本文提出了一种解决大规模多标签文本分类的元学习算法。我们针对LMTC任务的特性提出了能够构造与最终任务高度一致且兼顾标签维度与样本维度多样性的任务采样策略。我们通过实验结果验证了我们的方法确实可以有效提升现有模型的性能,尤其提升了对于少样本和零样本标签的处理能力。

作者:汪然

编辑:刘莉

校审:何亮


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

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

记得备注呦

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

EMNLP2021论文:元学习大规模多标签文本分类相关推荐

  1. 多标签文本分类研究进展概述

    多标签文本分类研究进展概述 1.多标签文本分类的研究还有很大的提升空间. 2.多标签文本分类的基本流程,包括数据集获取.文本预处理.模型训练和预测结果: 3.多标签文本分类的方法:传统机器学习的方法和 ...

  2. 【多标签文本分类】Semantic-Unit-Based Dilated Convolution for Multi-Label Text Classification

    ·阅读摘要:   在本文中,作者基于Seq2Seq模型,提出多级膨胀卷积.混合注意力机制两点来加以改进,应用于多标签文本分类,提高了效果. ·参考文献:   [1] Semantic-Unit-Bas ...

  3. 机器学习_深度学习毕设题目汇总——文本分类

    下面是该类的一些题目:| 题目 | |–| |基于主题特征的多标签文本分类方法研究| |融合全局和局部特征的文本分类方法研究| |BiGRU-CapsNet文本分类模型研究| |基于Attentio ...

  4. 恒源云(GPUSHARE)_长尾分布的多标签文本分类平衡方法(论文学习笔记)

    文章来源 | 恒源云社区(专注人工智能/深度学习云GPU服务器训练平台,官方体验网址:https://gpushare.com/center/) 原文地址 | https://bbs.gpushare ...

  5. 【多标签文本分类】HFT-CNN: Learning Hierarchical Category Structure for Multi-label Short Text Categorization

    ·阅读摘要:   本文提出结合基于CNN微调的HFT-CNN模型来解决层级多标签文本分类问题.   [1] HFT-CNN: Learning Hierarchical Category Struct ...

  6. 【多标签文本分类】Large Scale Multi-label Text Classification with Semantic Word Vectors

    ·阅读摘要:   本文提出了利用词向量+CNN/词向量+GRU来解决大规模数据下的多标签文本分类问题.   [1] Large Scale Multi-label Text Classificatio ...

  7. EMNLP 2021 | 多标签文本分类中长尾分布的平衡策略

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 | 黄毅 作者简介:黄毅,本文一作,目前为罗氏集团的数据科学家 ...

  8. bert使用做文本分类_使用BERT进行深度学习的多类文本分类

    bert使用做文本分类 Most of the researchers submit their research papers to academic conference because its ...

  9. 【论文复现】使用RCNN进行文本分类

    写在前面 昨天下午去面试了微信模式识别中心的NLP,被面试官问到自闭,菜是原罪... 继续之前的文本分类任务系列,前面介绍了几种:CNN,RNN,fasttext.今天的主角是RCNN 对了,顺带可以 ...

最新文章

  1. 从JavaScript函数重名看其初始化方式
  2. android 圆滑曲线,如何使用贝塞尔曲线在一组点上绘制平滑线?
  3. [HOW TO]-ubuntu20.10搭建openjrok服务指南
  4. ionic3实战之—Radio传值
  5. PHP的ISAPI和FastCGI比较
  6. clickhouse 部署+介绍
  7. WPF的TextBox产生内存泄露的情况
  8. 知识图谱嵌入:TransE算法原理及代码详解
  9. Matlab电路仿真
  10. 【性能优化实战】日语java开发相关词汇
  11. python cms应用生成_Django:之ORM、CMS和二维码生成
  12. 关 于语义语法的逻辑界定
  13. 虚拟机突然没网了,虚拟机突然鼠标失灵
  14. 阿里云ACP认证之云服务器ECS知识整理(考题占比 31%)
  15. Scratch编程与美术:制作美丽的烟花!
  16. 手机通过usu共享给电脑网络(win10),电脑变卡的解决办法
  17. systemd介绍六:Journalctl查看并操作sytemd日志
  18. ERC-1155 标准
  19. 牛批了第一次见到这么清晰的微服务概述,助你轻松入门到进阶
  20. GPDB OOM问题

热门文章

  1. Uber Go 风格指南中文版
  2. python除法运算定律_除法运算定律
  3. 智能卡与RFID技术
  4. Google Reader“寿终正寝”,哪些软件可取而代之?
  5. CUDA GPU 隔离 CUDA_VISIBLE_DEVICES
  6. AlertDialog对话框详例
  7. 初级计算机都学什么,电脑入门学习初级
  8. ##04- Optional
  9. 强烈推荐这三款实用APP
  10. OpenCV3实现图像拼接融合