Concept-Based Label Embedding via Dynamic Routingfor Hierarchical Text Classification

原文连接:https://aclanthology.org/2021.acl-long.388.pdf

概述

        对于Hierarchical Text Classification(HTC),即将文本在一个分类层次中进行分类的问题。现有的大多数方法都集中在对文本的建模上,最近有学者尝试通过外部字典来对类的表示进行建模,但类之间共享的概念,在之前的工作中被忽略了。作者在本文中提出了一种新的label embedding,该方法能够明确的表示概念,并为层次文本分类问题简历类之间的共享机制。

介绍

问题

        1)先前的工作中,大多集中于对文本进行建模,对标签使用one-hot来进行表示。实际上,这种编码方式没有携带任何语义信息。也有一些工作是将label嵌入到一个包括了更多语义信息的向量中去,和one-hot相比,对label进行embedding对捕获更多特定领域的信息上是有一定优势的。

        2)在文本分类领域,虽然学者们提出了几种形式的label embedding来对不同类别的信息进行编码,如锚点、标签与词之间的兼容性(这是啥?)、分类等级信息等。虽然这些方法对HTC任务来说是有效的,但这些信息都是一些人为创造的,对于具体的HTC任务没有解释性,即外部知识是一种独立于领域的信息。

idea

        作者认为之前的工作,除了类之间的结构关系,还忽略了相邻层次之间共享的概念信息。例如在sports这个父节点下,有Surfing和Swimming这两个与水有关的子类,还有Basketball和Football这两个有关于球的子类。水和球都是包含在父类sports里的一种抽象概念,可以被子类共享。

        这种概念信息能帮助对类的分组,并且衡量子类与父类之间的相关强度。与类层次结构相比,概念的语义更强,层次更细,但很少被研究。所以作者提出一种新型基于概念的label embedding方法,对类之间的关系进行建模。

本文主要贡献

1)研究了HTC任务中的概念-一种在先前研究中被忽略的特殊领域信息。并且提出了一种基于概念的label embedding

2)提出了一种层次网络去提取概念并通过动态路由机制对共享的过程进行建模。这是第一个以明确和可解释的方式探索HTC中的概念的工作。

3)实验证明提出的模型是有效果的。

方法

        该模型的结构如下图所示,首先是一个基于注意力的层次框架,然后设计了一个概念共享模块,用于提取概念并对类之间的共享机制进行建模。该模块基于概念学习到了一个新的标签表示,最后该模型利用基于概念的label embedding 来对文本进行分类。

 Text Encoder

        将每个document d = (w1, w2, ..., w|d|)映射到一个低维的词嵌入空间,使用一个CNN层来提取n元特征,最后使用一个双向GRU层来提取上下文特征,最后表示为S = (s1, s2, ..., s|d|)。

concept-based Classifier Module(CCM)

Label Embedding Attention 

        第i层的label 表示为C = (c1, c2, ..., c|li|),计算其与文本表征S之间的余弦相似矩阵 G ∈ R|d|×|li| 。使用卷积对每一个词p,提取其上下k个长度的特征:,然后使用最大池化层得到词p对i层标签的最大关联.,然后使用softmax函数对所有词对应的最大关联进行归一化来得到标签和文本之间的注意力分数。最后,对文本的表征求加权,获得文本关于这一层的label的表征

Concept Sharing Module (CSM)

        该模块主要用于对类之间共享概念机制进行建模,得到基于概念的label embedding。

        首先使用类别C的语料库,从文件中提取关键词并将排名靠前的关键词作为该类的概念。对于关键词,wos中每个文档都有对应的关键词,可直接进行使用。DBpeida中,本文使用卡方检验来获得单词与类之间的依赖,并根据卡方值进行排序。对concept分别使用两种方式编码后得到

1)直接使用concept的embedding

2)对concept使用k-means聚类算法,然后使用聚类的中心

         作者考虑了HTC任务的特点,对CapsNet中的动态路由机制进行了修改,只在父类与其子类之间建立路由。使用以下算法迭代更新label embedding:

输入:l层的所有类别(c)与其concept(e),l+1层中的类别

输出:l+1层中基于概念的label embedding(C_{j}^{CL}

过程:

1)初始化bij为0,表示父类concept i与其在子类j的对数先验概率。

2)使用softmax计算每个父类的concept i 与每个子类 j 的权重分数其实就是让父类的每个concept 与子类做attention,尝试用父类中与子类最相关的那部分词去生成子类的 concept-base label embedding;

3)对每一个子类,将它的父类的所有concept embedding用加权βij得到一个中间的label embedding(Vj)

4)再通过对Vj进行非线性的挤压,获得子类的concept-based label embedding C_{j}^{CL}

5)根据得到的子类的C_{j}^{CL}与父类的concept i之间的相似度,对bij进行更新。

 注:模型中存在EK Encoder指向CSM的线,是因为文中使用EK Encoder来对C_{j}^{CL}进行初始化,作者解释使用该方法比随机初始化的效果要好。

Classify

        分类器的输入来自三个Attention Layer的输出,分别是:

d_{att}^{PRE }:来自上一层的结果经过Attention后得到的文本表征。

d_{att}^{EK}:来自额外知识(class definition)的word embedding求平均得到的label embedding,与文本进行attention得到的文本表征。

d_{att}^{CL}:来自concept-based label embedding 与文本进行attention得到的文本表征;

        对这三个输出进行concat,然后进行线性映射和softmax得到最后的输出:

 

实验

整体结果        

        作者将提出的模型和其他模型在这两个数据集(WOS和DBpedia)上进行对比实验,结果如下:

        可以看出,作者所提出的模型在大多数情况下表现出比其他模型更好的效果。

消融实验

1)w/o CL是去掉concept-based label embedding,

2)w/o EK是去掉额外知识得那个attention模块

3)w/o PRE是去掉上一层传过来的

4)w/o reference in CSM,是去掉用EK做CSM模块的初始化

5)w/o DR是去掉dynamic Routing

由实验结果可以看出,去掉以上部分对模型的效果都是有一定影响的,降的最多的是PRE,即说明上一层传过来的结果还是比较重要的。好像本文提出的这个concept-based  label embedding模块去掉后,也没有多大的后退,maybe不那么重要?

可视化      

        下图对共享概念进行了可视化,展示了在 "computer science"类的概念和其子类之间学习到的动态路由分数的热图。

        其中纵坐标是computer science这个类别的概念,横坐标是它的子类,分数表示在共享过程中,概念和类之间的强度。分布式 "这一概念为 "网络安全 "和 "分布式计算 "这两个类所共享。即可以看出实验中概念被相关的类所共享。

        作者将 "computer science "类的概念embedding和其子类的基于概念的label embedding 在二维平面上进行可视化。如下图所示:

        其中红色三角符号是label embedding 蓝色圆圈代表概念embedding ,可以看出每个类由多个概念所描述。 

总结 

        本文基于一种层次文本分类中的特殊信息-概念,提出了一种新颖的基于概念的label embedding 模型。并在实验中证明了该模型的有效性,对概念和学习到的label embedding 的可视化证明了模型的可解释性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值