【层级文本分类】Constrained Sequence-to-Tree Generation for Hierarchical Text Classification

Constrained Sequence-to-Tree Generation for Hierarchical Text Classification

1、背景

1、作者(第一作者和通讯作者)
   Yu Chao, Shen Yi
2、单位
    Alibaba Group
3、年份
   2022
4、来源
   SIGIR

2、四个问题

1、要解决什么问题?
   层次文本分类(HTC)是一项具有挑战性的任务,其中可以将文档分配给分类法中的多个层次结构类别。以往的研究大多认为HTC是一个扁平的多标签分类问题,这必然会导致“标签不一致”问题。

2、用了什么方法解决?
   将HTC定义为一个序列生成任务,并引入一个序列到树的框架(Seq2Tree)来建模分层标签结构。还设计了一个带有动态词汇表的约束解码策略,以保证结果的标签一致性。

3、效果如何?
   本文提出的方法在三个基准数据集上取得了显著而一致的改进。

4、还存在什么问题?
   

论文笔记

1、INTRODUCTION

    HTC是一个特殊的多标签文本分类问题,其目的是将每个文档分配给图1(a)所示的分类法层次结构的一组相关节点。HTC有很多应用,比如产品分类,细粒度实体分类和新闻分类。

在这里插入图片描述

    现有的方法都将HTC视为一个扁平的多标签分类任务,分类结果会出现标签不一致的问题。图1中(a)为正确的标签,(b)为标签不一致问题,movie和bussiness并没有被预测出来。在本文中作者旨在解决HTC的“标签不一致”问题。

    本文中,作者将其与树状结构的深度优先遍历算法(DFS)相关联,该算法能够确保可以按照自顶向下的顺序访问同一路径内的节点。提出了一个用于HTC的序列树(Seq2Tree)框架。首先利用DFS将分层标签转换为线性化的标签序列,然后以传统的seq2seq方式映射文档文本和相应的标签序列。此外,还设计了一个约束解码策略(CD),该策略可以利用分层标签依赖来指导生成过程。

2 METHODOLOGY

    本文的目标是利用序列生成架构来解决HTC任务。作者需要将分类法层次结构转换为序列(标签线性化)。

2.1 Problem Definition

    论文将HTC认为定义为: F : ( χ , T ) ⟶ F:(\chi ,T)\longrightarrow F:(χ,T)y,其中 χ = ( X 1 , . . . X N ) \chi=(X_1,...X_N) χ=(X1,...XN)表示输入文档集。给定一个层次标签结构 T = ( V , E ) T = (V, E) T=(V,E)其中V是节点集合,E是边的集合。y={Y1,…,YN}是 χ \chi χ的目标标签集。标是学习一个模型,可以将文本序列 X = ( x 1 , . . . x N ) X = (x_1,...x_N) X=(x1,...xN)映射到它在T中的多条路径 Y = ( R 1 , . . . , R K ) Y = (R_1,...,R_K) Y=(R1,...,RK)其中K是路径的数量, R i = ( y i 1 , . . . , y i l ) R_i = (y_{i1},...,y_{il}) Ri=(yi1,...,yil)是T中一个条自上而下的路径,L是这条路径的长度。

2.2 DFS-based Label Linearization

    这部分主要是为了适配seq2seq,对样本的gold label进行序列化改造。具体就是提出了一个基于DFS的标签线性化方法,因为一般层次标签体系都是树,而用DFS可以保证能够访问到同一条path内从上到下的所有节点。

在这里插入图片描述

   如上图所示,样本的gold label Y其实是T的一棵子树,那根据DFS,可以对这棵子树进行遍历,得到线性化的gold label序列:
在这里插入图片描述

   其中POP就是我们把栈顶元素pop出去的操作,在这里就是表示现在要上一级走的意思,比如在上面的例子中,当预测到Documentation这个叶子结点的时候,为了预测下一条路径Root-Bussiness-Company,就需要通过三个pop把栈顶的Documentation, Movie, Entertainment给pop出去,然后再预测。

2.3 Seq2Tree with Constrained Decoding

    上一步把label线性化了,那这个模块就负责用seq2seq的方式对text和label序列之间的映射进行建模。作者们用T5-Base作为这个模型的backbone,Seq2Tree由两个组件组成:Encoder和Decoder。该体系结构如图3所示。
在这里插入图片描述

    Encoder: 给定一个文本序列 X = ( x 1 , x 2 , . . . , x n ) X=(x_1,x_2,...,x_n) X=(x1,x2,...,xn),Encoder复制获取文本序列的表征: H = ( h 1 , . . . , h n ) H=(h_1,...,h_n) H=(h1,...,hn)

    Decoder: Decoder负责一步步的预测DFS label sequence,第 i i i步预测的label和第 y i ^ \hat{y_i} yi^步的decoder state 如下:
在这里插入图片描述
其中:
    每一步Decoder的输入由文本序列的表征 H H H,之前所有step的decoder state h ≤ i − 1 d h_{\le i-1}^d hi1d,上一个step的结果 y i − 1 ^ \hat{y_{i-1}} yi1^以及整个标签体系 T T T组成。

    D e c o d e r c Decoder_c Decoderc是指这个Decoder是Constrained Decoding,要根据上一步的结果动态的调整这一步y的值域(动态vocab),这也是为什么要输入T的缘故,动态调整的流程如下:
在这里插入图片描述
   如果上一个step的 y i − 1 ^ \hat{y_{i-1}} yi1^是叶子结点,那么当前步的y的动态vocab集只有一个{POP},也就是只能往上走;

   如果上一个step的 y i − 1 ^ \hat{y_{i-1}} yi1^不是叶子结点,那么当前步的y的动态vocab集就是 y i − 1 ^ \hat{y_{i-1}} yi1^的child set和POP

3 EXPERIMENT

3.1 Experimental Settings

Datasets:
在这里插入图片描述
其中RCV1-V2和BGC是多路径的HTC

**Evaluation Metrics:**除了HTC任务常用的Micro F1和macro F1,作者还用了更严格的指标:C-MicroF1, C-MacroF1,这俩指标在计算的时候需要node的所有祖先都预测出来,才能算这个node预测正确。

3.2 Main Results

在这里插入图片描述
   本文提出的方法比HiMatch-BERT要好很多,因为HiMatch-BERT是不进行路径解码的,本文还根据其他论文中提出的观点进行了后处理,就是只要T中的某个node被预测出来了,那就把它的祖先节点也加入进去,组成一条路径。

3.3 Ablation Study

在这里插入图片描述
   去掉Constrained Decoding之后,C-/Micro F1下降了1到2个点,C-/MacroF1甚至下降了4到5个点,说明限制输出范围还是很有效的;

   而去掉LL和CD之后,进一步下降,说明用DFS的方式将label线性化效果也是比较明显的。

本文参考:https://zhuanlan.zhihu.com/p/558718402

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值