首页 > 其他分享 >【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification

【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification

时间:2023-01-17 11:33:45浏览次数:40  
标签:BERT Multi Sequence 标签 模型 SGM 文本


·阅读摘要:
  本文在已有的SGM和BERT模型上改进,提出了SGM+BERT模型、混合模型。实验证明SGM+BERT模型收敛比BERT快很多,混合模型的效果最好。
·参考文献:
  [1] BERT for Sequence-to-Sequence Multi-Label Text Classification
  [2] SGM模型讲解,参考博客:​​【多标签文本分类】SGM: Sequence Generation Model for Multi-Label Classification​​   [3] Bert模型讲解,参考博客:【文本分类】BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

  本文是改进模型类型的论文,重点全在模型上,其他部分可以不看。

  本文提出了SGM+BERT模型、混合模型一共两个模型。

[1] SGM+BERT模型

  如下图,是论文中的SGM+BERT模型:

【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_BERT+SGM


  如下图,是SGM模型:

【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_BERT+SGM_02

  对比上述两个模型,可以看到,​​SGM+BERT​​​模型只是在文字转词向量的时候,使用了BERT来获取文本嵌入的语言表示。其他和​​SGM​​模型是一模一样的。

  论文中仅仅提到,​​SGM+BERT​​​模型比​​SGM​​模型的好处在于,多标签BERT通常需要几十个epoch才能收敛,这与BERT+SGM模型不同,后者只需几百次迭代(不到半个epoch)就可以得到令人满意的结果。

  ​​SGM+BERT​​模型的具体流程如下:

【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_词向量_03


【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_初始化_04为空,并且有已知的所有标签【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_词向量_05

  · 2、对该文本用BERT转化为词向量,再把词向量送入BiLSTM。

【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_初始化_06,和【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_文本分类_07

  · 4、进入解码器的循环里面了。数据送入BiLSTM进行解码。

【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_多标签文本分类_08。这样的话,在第六步使用softmax的时候,就可以排除掉之前已经预测过的标签的干扰。

【注】:这一步叫做​​Mask softmax​​,是在SGM那篇论文里的,感兴趣可以参考​​【多标签文本分类】SGM: Sequence Generation Model for Multi-Label Classification​​

  · 6、softmax预测。

【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_BERT+SGM_09中。

[2] 混合模型

  首先明确,混合的是​​BERT模型​​​和​​SGM+BERT模型​​。

  ​​SGM+BERT模型​​​比​​BERT模型​​快,但是效果并不好,论文探究了把两者的输出混合的算法,实验发现效果更好。算法如下:

【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_多标签文本分类_10


【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_多标签文本分类_11,先用BERT模型,接个全连接层、softmax,直接就可以得到每个标签的概率【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_初始化_12

【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_初始化_13,再用SGM+BERT模型,得到了【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_词向量_14,是解码器的n个时间步,每个时间步都能得到对L个类别的概率。

  · 3、以L个标签来遍历,纵向从第2步的每个时间步中,找出最大的概率。

  · 4、通过参数来把第1步和第3步的概率中和一下。

【多标签文本分类】BERT for Sequence-to-Sequence Multi-Label Text Classification_初始化_13有此标签。

【注】:这个混合模型看起来很不靠谱……


标签:BERT,Multi,Sequence,标签,模型,SGM,文本
From: https://blog.51cto.com/u_15942590/6012019

相关文章