本文参考自一个开源项目原文链接
改变mutil-label为句子对任务
文章指出,训练一个模型实现多标签分类任务是比较容易想到的,而且在预测的时候可以一次预测出多个标签,效率也比较高。但是在每个标签的样本数量很少时,模型表现的不太好(这个当然了,不用说多标签分类,就是多类别分类,样本的数量和质量也会直接影响模型的效果)。除了训练样本不够,文章给出的另一个主要原因是模型试图将样本直接映射到多个标签中而没有使用更多额外的信息。而通过将多标签分类任务转换成句子对任务可以很容易利用额外的信息,这些额外的信息包括:特定标签对应的训练样本中的部分输入文本,标签对应的关键词等信息,而且在组成句子对的过程中,可以产生更多数量的训练样本,弥补数据不足的缺点,很符合我们现在的情况。具体的:
首先,选取每个标签下一定数量样本,如随机的选取5个肺癌患者的病例,来代表这个标签,所以,对于任何一个标签,都构造了5个句子来代表这个标签,记为集合{representation_set}。需要注意的是,为了使得样本更有代表性,在随机选取样本过程中,优先选择那些只有一个标签的样本作为该标签的代表样本。
正样本的构造:
需要构造句子对任务:<sentence_1, sentence_2, label(0,1)>
句子对任务中的第一部分的输入为,原始的样本,还是以肺癌为例:肩背部疼痛1年,C