Nlp 如何使用Bert进行长文本分类?

Nlp 如何使用Bert进行长文本分类?,nlp,text-classification,bert-language-model,Nlp,Text Classification,Bert Language Model,我们知道,BERT的最大长度限制为令牌=512,因此如果一篇文章的长度远大于512,例如文本中的10000个令牌 如何使用BERT?您基本上有三种选择: 您将较长的文本切掉,只使用前512个标记。最初的BERT实现(可能还有其他实现)自动截断较长的序列。对于大多数情况,此选项已足够 您可以将文本拆分为多个子文本,对每个子文本进行分类,然后将结果重新组合在一起(例如,选择针对大多数子文本预测的类)。这种选择显然更昂贵 您甚至可以将每个子文本的输出标记(如选项2所示)馈送到另一个网络(但无法微调),

我们知道,BERT的最大长度限制为令牌=512,因此如果一篇文章的长度远大于512,例如文本中的10000个令牌
如何使用BERT?

您基本上有三种选择:

  • 您将较长的文本切掉,只使用前512个标记。最初的BERT实现(可能还有其他实现)自动截断较长的序列。对于大多数情况,此选项已足够
  • 您可以将文本拆分为多个子文本,对每个子文本进行分类,然后将结果重新组合在一起(例如,选择针对大多数子文本预测的类)。这种选择显然更昂贵
  • 您甚至可以将每个子文本的输出标记(如选项2所示)馈送到另一个网络(但无法微调),如中所述

  • 我建议尝试选择1,只有当这还不够好来考虑其他选择时,

    < P>本文比较了几种不同的策略: 在IMDb movie review数据集上,他们发现切掉文本的中间部分(而不是截断开头或结尾)效果最好!它甚至优于更复杂的“层次”方法,包括将文章分成若干块,然后重新组合结果


    另一件轶事是,我将BERT应用于Wikipedia人身攻击数据集,发现简单的截断效果足够好,以至于我没有动机尝试其他方法:)

    除了将数据分块并传递给BERT之外,请检查以下新方法

    对于长文档分析有新的研究。正如您所要求的那样,ALLEN NLP()最近提供了一个类似的经过预培训的变压器“Longform”。请查看本文的链接


    相关工作部分还提到了一些以前关于长序列的工作。谷歌也可以。我建议至少通过Transformer XL()。据我所知,它是长序列的初始模型之一,所以在进入“长形”之前最好用它作为基础。

    < P>有一种方法用于预防神经假新闻()< < /P>
    他们的生成模型是产生1024个令牌的输出,他们希望使用BERT进行人类与机器的生成。他们扩展了BERT使用的序列长度,只需初始化512个嵌入并在数据集上微调BERT时对其进行训练。

    有两种主要方法:

    • 将“short”BERT合并在一起(最多由512个令牌组成)
    • 构造一个真正的长BERT(CogLTX、分块BERT、Longformer、bigbird)
    我在这篇文章中恢复了伯特的一些典型论文:


    您可以在此处对所有方法进行概述。

    您可以利用HuggingFace Transformers库,该库包括以下可处理长文本(超过512个令牌)的转换器列表:

    • :将变压器的建模能力与可在长序列上高效执行的架构相结合
    • :具有随序列长度线性扩展的注意机制,可以轻松处理数千个或更长令牌的文档
    其他八种最近提出的高效变压器模型包括稀疏变压器(Child等人,2019)、Linformer(Wang等人,2020)、Sinkhorn变压器(Tay等人,2020b)、表演者(Choromanski等人,2020b)、合成器(Tay等人,2020a)、线性变压器(Katharopoulos等人,2020)和BigBird(Zaheeret等人,2020)

    来自Google Research和DeepMind的作者试图基于远程竞技场“聚合指标”对这些变压器进行比较:

    他们还建议,在分类任务方面,长型者的表现优于改革者。我最近(2021年4月)发表了一篇关于这一主题的论文,你可以在arXiv()上找到

    在这里,表1回顾了以前解决问题的方法,整个手稿都是关于长文本分类的,并提出了一种称为文本指南的新方法。这种新方法声称比论文()中使用的朴素和半朴素文本选择方法的性能有所提高,这在之前对这个问题的一个回答中提到过

    长话短说您的选择:

  • 低计算成本:使用朴素/半朴素方法选择原始文本实例的一部分。示例包括选择前n个标记,或从原始文本实例的开头和结尾编译新的文本实例

  • 中到高计算成本:使用最新的转换器模型(如Longformer),其令牌限制为4096,而不是512。在某些情况下,这将允许覆盖整个文本实例,修改后的注意机制将降低计算成本,并且

  • 高计算成本:将文本实例划分为适合像BERT这样的模型的块,每个实例的标记数限制为“标准”512,分别在每个部分部署模型,并连接生成的向量表示

  • 现在,在我最近发表的论文中,提出了一种新的方法,称为文本指南。文本向导是一种文本选择方法,与原始或半原始截断方法相比,它可以提高性能。作为一种文本选择方法,文本指南不会干扰语言模型,因此可以使用它来提高标记的“标准”限制(变压器模型为512)或“扩展”限制(Longformer模型为4096)模型的性能。摘要:文本指南是一种计算成本较低的方法,它可以提高原始和半原始截断方法的性能。如果文本实例超过了专门为Lo等长文本分类开发的模型的限制