利用生成式AI改进极端多标签分类
研究背景
多年来,某中心的研究人员一直在探索极端多标签分类(XMC)这一主题,即在可能的分类类别空间很大(例如数百万个标签)时对输入进行分类。在此过程中,我们多次推动了该领域的技术发展。
但之前的工作都是在经典分类问题的背景下进行的,其中模型为空间中的每个标签计算概率。在一篇新论文中,我们转而将XMC视为生成式问题,对于每个输入词序列,模型生成一个标签输出序列。这使我们能够利用大型语言模型的力量来完成XMC任务。
技术挑战
然而,在这种设置下,与经典设置一样,困难在于XMC标签空间中的大多数标签都属于长尾分布,在训练数据中代表性示例很少。过去的工作通过将标签空间组织成层次结构来解决这个问题:首先对输入进行粗粒度分类,然后通过遍历层次树进行连续细化,最终到达语义相关概念的聚类。这有助于模型从相关但具有不同标签的示例中学习通用分类原则,同时也降低了模型完全错误标记的可能性。
创新方法
在论文中,我们采用了类似的方法,使用辅助网络将标签分组到聚类中,并利用聚类信息指导生成模型的输出。我们在训练期间试验了两种不同的指导方式:
-
XLGen-BCL架构:将适用于文本输入的 ground truth 标签聚类表示为位数组中的1,所有其他聚类表示为0。在训练期间,数组作为额外输入传递给模型,但在推理时,模型仅接收文本。
-
XLGen-MCG架构:为聚类分配编号。模型在多任务目标上进行训练,同时学习将聚类编号映射到标签,以及将文本映射到聚类编号。在推理时,模型首先为文本分配一组聚类编号,然后将聚类编号映射到标签。
技术架构
我们考虑的任务是模型接收文档(如维基百科条目)作为输入,并输出一组表征其内容的标签。为了微调生成模型,我们使用包含样本文本和人工标注者应用的标签的数据集。
作为基线生成模型,我们使用T5语言模型。T5是一个编码器-解码器模型,这意味着它使用双向而非单向编码:在预测标签时,它可以访问整个输入序列。这非常适合我们的设置,其中标签的顺序不如其准确性重要,我们希望得到最能表征整个文档而非其子部分的标签。
为了创建标签聚类,我们使用预训练模型为训练集中每个文档的单词生成嵌入,即将它们映射到一个表示空间中,其中邻近性表示语义相似性。给定标签的嵌入是包含它的所有文档的平均嵌入。一旦标签被嵌入,我们使用k-means聚类将它们组织成聚类。
实验结果
我们使用四个数据集评估了两种聚类指导的生成模型和四个基线,并在每个数据集上评估了整体性能和对罕见(长尾)标签的性能。
在评估整体性能时,我们使用了F1分数,该分数同时考虑了假阳性和假阴性,并使用两种不同的方法来平均每个标签的F1分数。宏平均简单地平均所有标签的F1分数。微平均对所有标签的所有真阳性、假阳性和假阴性进行求和,并计算全局F1分数。
在评估长尾标签性能时,我们考虑了在训练数据中仅出现一次或未出现的标签。
我们还使用正样本和未标记数据(PU)进行了一组实验。也就是说,对于每个训练示例,我们移除了一半的 ground truth 标签。由于从一个示例中移除的标签可能仍出现在不同的示例中,因此它仍可能作为输出标签出现。该实验因此评估了模型在标签间的泛化能力。
在PU数据上,生成模型显著优于传统分类器,而XLGen-MCG模型显著优于生成基线。
结论
通过将极端多标签分类重新构建为生成问题,并利用标签聚类来指导模型输出,我们开发出了在整体性能和长尾标签识别方面都优于现有方法的新技术。这种方法特别适用于需要从大量可能标签中选择最相关标签的现实应用场景。