【论文笔记】融合标签向量到BERT:对文本分类进行改进

简介: 【论文笔记】融合标签向量到BERT:对文本分类进行改进

论文简介:融合标签嵌入到BERT:对文本分类进行有效改进

论文标题:Fusing Label Embedding into BERT: An Efficient Improvement for Text Classification

论文链接:https://aclanthology.org/2021.findings-acl.152.pdf

论文作者:{Yijin Xiong etc.}


论文摘要


随着BERT等预先训练模型获得越来越多的关注,从数据增强实验到改进模型数学原理,大量的研究已经进一步提高了它们的性能。在本文中,作者提出了一种简洁有效的方法,在保持几乎相同的计算成本的情况下,利用标签嵌入技术来提高BERT的文本分类性能。在6个文本分类基准数据集上的实验结果证明了其有效性。


论文简介


文本分类是自然语言处理(NLP)中的一个经典问题。任务是将预定义的类或多个类注释到给定的文本中,其中文本表示是一个重要的中间步骤。


为了学习更好的文本表示,已经开发了各种神经模型,包括卷积神经网络模型,循环神经网络模型和注意机制。预训练模型在文本分类方面也非常有利,因为它们通过避免从零开始来帮助简化训练过程。其中一组方法专注于单词嵌入,如word2vec和GloVe;另一种方法专注于上下文化单词嵌入,从CoVe到ELMo、OpenAI GPT、ULMFiT和BERT。

BERT在各种NLP任务中取得了特别令人印象深刻的表现。随着它的成功,通过对大量数据进行预训练的模型,如ERNIE、RoBERTa、UniLM和XLnet,由于其学习情境表示的能力而变得流行起来。这些模型基于多层双向注意机制,并通过MASK预测任务进行训练,这是BERT的两个核心部分。继续研究BERT的潜力仍然很重要,因为新的发现也可以帮助研究BERT的其他变体。在这项工作中,作者提出了一种简单而有效的方法来提高BERT的文本分类性能,通过类别标签的文本(如“世界”、“体育”、“商业”和“科学技术”)来增强上下文表示学习,同时不改变原始的编码器网络结构。本文的主要贡献如下:

  • 文本和标签的嵌入都是从相同的潜在空间共同学习的,因此不需要进一步的中间步骤。
  • 论文的实现方法在更彻底和有效的优势下利用了BERT固有的标签嵌入和文本嵌入之间的交互,而没有引入其他机制。
  • 由于只需要BERT的原始结构,论文提到的方法几乎没有增加计算量。
  • 在6个基准数据集上的广泛结果显示,论文方法挖掘了BERT的潜力,导致乐观地认为BERT可以进一步改进用于文本分类和其他下游任务。


模型算法


标签语义向量与Bert模型融合


1.png


图一展示了论文算法的大致结构,受句子对输入的启发,作者将标签文本与输入文本用[SEP]进行拼接,标签文本与输入文本用不同的片段向量(segment embeddings)表示。

  • 将输入文档标记为,文档每个字符记为,相应的每个字符向量记为,然后代表输入文档的最后一个字符,代表文档中的字符个数。
  • 数据集的类别个数标记为,其中代表第个类别的标签文本,代表的向量表示,如果一个 中包含多个文本即’sub-words of a label’,比如agnews中的Sci\Tech标签,就输入了Science Technology的文本,则整体输入的label text就为world, sports, business, science technology。然后经过Token Embeddings 表示,将同一label下的sub-words都求平均。
  • 这种方式下,标签句子(类别文本组成的文本)的长度为
  • 通过self-attention编码得到最后的表示,记为w/[SEP]

后面同正常文本分类相同,通过整体[CLS] embedding,图片中为接上tanh线性层进行分类,通过交叉熵损失训练。


2.png


举例:假设有三个类别---体育、美食、 人物。「马德里竞技」视角下这三类最后都是抽象的,为A/B/C,若训练时「体育美食人物+马德里竞技」--->体育,则模型能学习到「竞技」「体育」之间的关系,即利用label的文本信息。

除了单个文本输入之外,作者对于句子对输入没用用[SEP]字符拼接标签文本与输入文本,因为前后不是自然句,不像NSP任务,这种方式记为w/o[SEP]


3.png


使用tf-idf进一步优化标签文本


除了使用文档将标签的原始文本编码到BERT中外,作者还实验为每个类选择更多的单词作为代表,从而扩大了Lj中标记的数量。通过tfidf 标签文本增强来进一步提高我们的模型的性能。使用基于WordPiece的Bert Tokenizer来对文本进行分词,然后计算每个subword的平均tf-idf得分,最后将前5、10、15或20作为补充标签文本到相应的类。


论文实验


数据集设置


4.png


其中AGNEWS包含四种类别,DBpedia包含14种类别,在线infer的时候也要加上这些前缀,会带来一定开销,所以label也不宜多,性能折中。同时,过多的label引入,也可能带来分类效果的下降。


论文实验效果分析


5.png


可以明显的看到不对句子pair input作区分w/o [SEP]取得了更好的效果。NSP任务在Bert pretrain阶段是用于预测下一个句子的。当我们将标签序列与输入文档连接时,[SEP]标记将非自然语言序列与自然语言句子组合在一起。这种差异可能导致了前训练和BERT微调之间的偏斜度,导致性能下降。


6.png


接下来,作者使用t-SNE对学习到的文本表示进行二维可视化。如图所示,作者可视化了从YelpF.测试集的w/o[SEP]模型中学习到的向量。每种颜色代表一个不同的类。每两个点代表是向量,每个点对应一个测试样本。带有黑圆圈的大点是的平均向量,它是每个标签的编码嵌入。与[CLS]的嵌入相比,标签嵌入在向量空间中的分离性更强,这也是是标签嵌入可以支持分类的原因。


结论


  • 作者提出了一种简单而有效的方法,将标签嵌入融合到BERT中,同时利用其固有的输入结构和自我注意机制,这这种方法对相对较小中型的数据集或者类别个数较少的数据集有显著的改进。
  • 将平均tf-idf得分最高的子词作为补充标签文本,实验结果表明这种方法可以进一步提升分类性能
相关文章
|
9月前
|
数据采集
基于Bert文本分类进行行业识别
基于Bert文本分类进行行业识别
161 0
|
11月前
|
机器学习/深度学习 XML 人工智能
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型(五)
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型
354 0
|
11月前
|
机器学习/深度学习 自然语言处理 数据可视化
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型(四)
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型
237 0
|
11月前
|
机器学习/深度学习 自然语言处理 算法
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型(三)
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型(三)
226 0
|
机器学习/深度学习 数据可视化 PyTorch
【BERT-多标签文本分类实战】之七——训练-评估-测试与运行主程序
【BERT-多标签文本分类实战】之七——训练-评估-测试与运行主程序
385 0
|
机器学习/深度学习 存储
【BERT-多标签文本分类实战】之六——数据加载与模型代码
【BERT-多标签文本分类实战】之六——数据加载与模型代码
276 0
【BERT-多标签文本分类实战】之六——数据加载与模型代码
|
自然语言处理 PyTorch TensorFlow
【BERT-多标签文本分类实战】之五——BERT模型库的挑选与Transformers
【BERT-多标签文本分类实战】之五——BERT模型库的挑选与Transformers
719 0
【BERT-多标签文本分类实战】之五——BERT模型库的挑选与Transformers
|
存储 数据采集 自然语言处理
【BERT-多标签文本分类实战】之四——数据集预处理
【BERT-多标签文本分类实战】之四——数据集预处理
603 1
【BERT-多标签文本分类实战】之四——数据集预处理
|
存储 自然语言处理 数据挖掘
【BERT-多标签文本分类实战】之三——多标签文本分类的方向与常用数据集介绍
【BERT-多标签文本分类实战】之三——多标签文本分类的方向与常用数据集介绍
670 0
|
机器学习/深度学习 自然语言处理
【BERT-多标签文本分类实战】之二——BERT的地位与名词术语解释
【BERT-多标签文本分类实战】之二——BERT的地位与名词术语解释
245 0