0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

文本分类的一个大型“真香现场”来了

深度学习自然语言处理 来源:高能AI 作者:JayLou娄杰 2021-02-05 11:02 次阅读

文本分类的一个大型“真香现场”来了:JayJay的推文《超强文本半监督MixText》中告诉大家不要浪费没有标注过的数据,但还是需要有标注数据的!但今天介绍的这篇paper,文本分类居然不需要任何标注数据啦!哇,真香!

当前的文本分类任务需要利用众多标注数据,标注成本是昂贵的。而半监督文本分类虽然减少了对标注数据的依赖,但还是需要领域专家手动进行标注,特别是在类别数目很大的情况下。

试想一下,我们人类是如何对新闻文本进行分类的?其实,我们不要任何标注样本,只需要利用和分类类别相关的少数词汇就可以啦,这些词汇也就是我们常说的关键词。

BUT!我们之前获取分类关键词的方式,大多还是需要靠人工标注数据、或者人工积累关键词表的;而就算积累了某些关键词,关键词在不同上下文中也会代表不同类别。

那么,有没有一种方式,可以让文本分类不再需要任何标注数据呢?

本文JayJay就介绍一篇来自「伊利诺伊大学香槟分校韩家炜老师课题组」的EMNLP20论文《Text Classification Using Label Names Only: A Language Model Self-Training Approach》。

这篇论文的最大亮点就是:不需要任何标注数据,只需利用标签名称,就在四个分类数据上获得了近90%的准确率!

为此,论文提出一种LOTClass模型,即Label-name-OnlyTextClassification,LOTClass模型的主要亮点有:

不需要任何标注数据,只需要标签名称!只依赖预训练语言模型(LM),不需要其他依赖!

提出了类别指示词汇获取方法和基于上下文的单词类别预测任务,经过如此训练的LM进一步对未标注语料进行自训练后,可以很好泛化!

在四个分类数据集上,LOTClass明显优于各弱监督模型,并具有与强半监督和监督模型相当的性能。

本文的组织结构为:

c64932a0-603e-11eb-8b86-12bb97331649.png

LOTClass总体流程

LOTClass将BERT作为其backbone模型,其总体实施流程分为以下三个步骤:

标签名称替换:利用并理解标签名称,通过MLM生成类别词汇;

类别预测:通过MLM获取类别指示词汇集合,并构建基于上下文的单词类别预测任务,训练LM模型;

自训练:基于上述LM模型,进一步对未标注语料进行自训练后,以更好泛化!

下面我们就详细介绍上述过程。

第一步:标签名称替换

在做文本分类的时候,我们可以根据标签名称联想到与之相关联的其他关键词,这些关键词代表其类别。当然,这就需要我们从一个蕴含常识的模型去理解每个标签的语义。很明显,BERT等预训练LM模型就是一个首选!

论文采取的方法很直接:对于含标签名称的文本,通过MLM来预测其可以替换的其他相似词汇。

如上图展示了AG新闻语料(体育新闻)中,对于标签名称“sports”,可通过MLM预测出替换「sports」的相似词汇。

具体地,每一个标签名称位置通过MLM预测出TOP-50最相似的替换词,然后再整体对每一个类别的标签名称(Label Name)根据词频大小、结合停用词共选取TOP-100,最终构建类型词汇表(Category Vocabulary)。

通过上述方式找出了AG新闻语料每一个类别-标签名称对应的类别词汇表,如上图所示。

第二步:类别预测

像人类如何进行分类一样,一种直接的方法是:利用上述得到的类型词汇表,然后统计语料中类别词汇出现的次数。但这种方式存在2个缺陷:

不同词汇在不同的上下文中代表不同意思,不是所有在语料中出现的类型词汇都指示该类型。在第一幅图中,我们就可以清晰发现:单词「sports」在第2个句子并不代表体育主题。

类型词汇表的覆盖范围有限:在特定上下文中,某些词汇与类别关键词具有相似的含义,但不包含在类别词汇表中。

为了解决上述缺陷,论文构建了一个新的MCP任务——基于MASK的类别预测任务(Masked Category Prediction,MCP),如下图所示:

c95033c2-603e-11eb-8b86-12bb97331649.png

MCP任务共分为两步:

获取类别指示词:上述已经提到,类别词汇表中不同的词汇在不同上下文会指代不同类别。论文建立了一种获取类别词汇指示的方法(如上图左边所示):对于当前词汇,首先通过BERT的MLM任务预测当前词汇可替代的TOP50相似词,然后TOP50相似词与每个类别词汇表进行比对,如果有超过20个词在当前类别词汇表中,则选取当前词汇作为该类别下的「类别指示词」。

进行遮蔽类别预测:通过上一步,遍历语料中的每一个词汇,我们就可得到类别指示词集合和词汇所对应的标签。对于类别指示词集合中每一个的单词,我们将其替换为「MASK」然后对当前位置进行标签分类训练。

值得注意的是:MASK类别指示词、进行类别预测至关重要,因为这会迫使模型根据单词上下文来推断类别,而不是简单地记住无上下文的类别关键字。通过MCP任务,BERT将更好编码类别判断信息

第三步:自训练

论文将通过MCP任务训练好的BERT模型,又对未标注语料进行了自训练。这样做的原因为:

仍有大规模语料未被MCP任务利用,毕竟不是每一个语料样本含有类别指示词。

MCP任务进行类别预测不是在「CLS」位置,「CLS」位置更利于编码全局信息并进行分类任务。

论文采取的自训练方式很简单,如上图所示,每50个batch通过软标签方式更新一次标签类别。

LOTClass表现如何?

为了验证LOTClass的效果,论文在4个分类数据集上与监督、半监督和弱监督进行了对比。

对于弱监督方法,则将整个训练集作为未标注数据;对于半监督方法,每个类别选举10个样本作为标注数据;对于监督方法,则全部训练集就是标注数据。

如上图所示,没有自训练的LOTClass方法就超过了一众弱监督方法,而利用自训练方法后LOTClass甚至在AG-News上可以与半监督学习的SOTA——谷歌提出的UDA相媲美了,与有监督的char-CNN方法也相差不多啦!自训练self-trainng为何如此强大?我们将在接下来的推文中会进一步介绍。

也许你还会问:LOTClass相当于使用多少标注数据呢?

ce3feaa8-603e-11eb-8b86-12bb97331649.png

如上图,论文给出了答案,那就是:LOTClass效果相当于 每个类别使用48个标注文档的有监督BERT模型!

总结与展望:利用标签名称,真香!

首先对本文总结一下:本文提出的LOTClass模型仅仅利用标签名称,无需任务标注数据!在四个分类数据上获得了近90%的准确率,与相关半监督、有监督方法相媲美!LOTClass模型总体实施流程分三个步骤:标签名称替换,MASK类别预测,自训练。

本文提出的LOTClass模型只是基于BERT,并没有采取更NB的LM模型,每个类别最多使用3个单词作为标签名称,没有依赖其他工具(如回译方式)。我们可以预测:随着LM模型的升级,数据增强技术的使用,指标性能会更好!

利用标签名称,我们是不是还可以畅想一些“真香现场”呢?例如:

应用于NER任务:发现实体类别下的更多指示词,如「PERSON」类别;嗯嗯,再好好想象怎么把那套MCP任务嵌入到NER任务中吧~

与半监督学习更好协作:1)没有标注数据时,可以通过LOTClass构建初始标注数据再进行半监督流程;2)将MCP任务设为半监督学习的辅助任务。

原文标题:韩家炜课题组重磅发文:文本分类只需标签名称,不需要任何标注数据!

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87587
  • 人工智能
    +关注

    关注

    1776

    文章

    43820

    浏览量

    230574

原文标题:韩家炜课题组重磅发文:文本分类只需标签名称,不需要任何标注数据!

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问个大数组是不是不能同时跨用内外部SRAM?

    1048576main.o(.bss) BIgData就是那个大数组,大小1024*1024字节 那么问题来了,只要BigData的大小超过外部SRAM大小,哪怕超1字节,编译器就会报错说内存不够了 这是不是就说明单一一
    发表于 03-26 07:06

    了解如何使用PyTorch构建图神经网络

    图神经网络直接应用于图数据集,您可以训练它们以预测节点、边缘和与图相关的任务。它用于图和节点分类、链路预测、图聚类和生成,以及图像和文本分类
    发表于 02-21 12:19 218次阅读
    了解如何使用PyTorch构建图神经网络

    人工智能中文本分类的基本原理和关键技术

    在本文中,我们全面探讨了文本分类技术的发展历程、基本原理、关键技术、深度学习的应用,以及从RNN到Transformer的技术演进。文章详细介绍了各种模型的原理和实战应用,旨在提供对文本分类技术深入理解的全面视角。
    的头像 发表于 12-16 11:37 544次阅读
    人工智能中<b class='flag-5'>文本分类</b>的基本原理和关键技术

    华为云 API 自然语言处理的魅力—AI 情感分析、文本分

    云服务、API、SDK,调试,查看,我都行  阅读短文您可以学习到:人工智能 AI 自言语言的情感分析、文本分词、文本翻译 IntelliJ IDEA 之 API 插件介绍 API 插件支持 VS
    的头像 发表于 10-12 11:02 258次阅读
    华为云 API 自然语言处理的魅力—AI 情感分析、<b class='flag-5'>文本分</b>析

    ADTTF3175:1个大型像素灯光时间 ADI

    电子发烧友网为你提供ADI(ADI)ADTTF3175:1个大型像素灯光时间相关产品参数、数据手册,更有ADTTF3175:1个大型像素灯光时间的引脚图、接线图、封装手册、中文资料、英文资料
    发表于 10-10 19:12
    ADTTF3175:1<b class='flag-5'>个大型</b>像素灯光时间 ADI

    自然语言处理和人工智能的区别

      自然语言处理(Natural Language Processing,NLP)是人工智能(AI)中的一个分支,它利用计算机技术对自然语言进行处理,使得电脑能够理解和操作人类语言。自然语言处理技术包括文本分析、语音识别和机器翻译等,这些技术已经广泛应用于在线客服、文本分类
    发表于 08-28 17:32 927次阅读

    Meta发布一款可以使用文本提示生成代码的大型语言模型Code Llama

    今天,Meta发布了Code Llama,一款可以使用文本提示生成代码的大型语言模型(LLM)。
    的头像 发表于 08-25 09:06 945次阅读
    Meta发布一款可以使用<b class='flag-5'>文本</b>提示生成代码的<b class='flag-5'>大型</b>语言模型Code Llama

    大型模型的重要基石与洞察力之源之文本数据

    在当今数字化时代,文本数据已成为人类活动的主要载体,无处不在的信息交流塑造着我们的社会、经济和文化。而正是这些海量的文本数据,为大型模型的训练和应用提供了丰富的资源,成为其重要的基石与洞察力之源
    的头像 发表于 08-14 10:06 350次阅读

    87.7 10 LSTM文本分类文本生成实战 #硬声创作季

    网络程序代码
    充八万
    发布于 :2023年07月20日 04:39:21

    华为云ModelArts入门开发(完成物体分类、物体检测)

    利用ModelArts框架可以完成图像分类、物体检测、预测分析、声音分类文本分类等功能。介绍如何使用ModelArts完成图像分类、物体检测、自我学习等功能运用。
    的头像 发表于 07-10 16:26 1301次阅读
    华为云ModelArts入门开发(完成物体<b class='flag-5'>分类</b>、物体检测)

    NLP中的迁移学习:利用预训练模型进行文本分类

    迁移学习彻底改变了自然语言处理(NLP)领域,允许从业者利用预先训练的模型来完成自己的任务,从而大大减少了训练时间和计算资源。在本文中,我们将讨论迁移学习的概念,探索一些流行的预训练模型,并通过实际示例演示如何使用这些模型进行文本分类。我们将使用拥抱面转换器库来实现。
    发表于 06-14 09:30 311次阅读

    如何使用WeMos D1 Mini控制12个大型共阴极7段显示器?

    我正在使用 WeMos D1 Mini 控制 12 个大型共阴极 7 段显示器(实际上是 6 红色和绿色显示器)。我买的人说他们可以用 5v 或 12v 和 100-330ohm 电阻供电。我用
    发表于 06-07 06:03

    PyTorch教程-4.3. 基本分类模型

    4.3. 基本分类模型¶ Colab [火炬]在 Colab 中打开笔记本 Colab [mxnet] Open the notebook in Colab Colab [jax
    的头像 发表于 06-05 15:43 319次阅读

    PyTorch教程4.3之基本分类模型

    电子发烧友网站提供《PyTorch教程4.3之基本分类模型.pdf》资料免费下载
    发表于 06-05 15:43 0次下载
    PyTorch教程4.3之基<b class='flag-5'>本分类</b>模型

    大型语言模型能否捕捉到它们所处理和生成的文本中的语义信息

      大型语言模型能否捕捉到它们所处理和生成的文本中的语义信息?这一问题在计算机科学和自然语言处理领域一直存在争议。然而,MIT的一项新研究表明,仅基于文本形式训练、用于预测下一个token的语言模型
    的头像 发表于 05-25 11:34 483次阅读
    <b class='flag-5'>大型</b>语言模型能否捕捉到它们所处理和生成的<b class='flag-5'>文本</b>中的语义信息