大家好,今天我们来聊聊LCM(Lazy Class Matching),一种让文本分类跳出One-Hot的框架。文本分类这个领域里,One-Hot编码一直是个老毛病。传统的做法是给每个单词打标签,然后把它们转换成向量。这种方法有三大软肋:第一是标签共现,也就是一句话可能同时属于多个类别;第二是多标签暧昧,比如一句话既可以是美食又可以是旅游;第三是标注错误,人工打标签难免有噪音。LCM正是为了解决这些问题而设计的。LCM的核心思路是给每个标签也编一个嵌入向量,让句子向量和标签向量进行比较。它有个紫色层叫Similarity Layer,专门计算句子和每个标签的相似度。这个层会把这些相似度信息加权回原始的One-Hot标签中。这个过程可以简单概括为SLD(Label Encoding)把标签转成稠密向量,然后句子向量和标签向量进行点积运算。 LCM还使用了KL散度作为损失函数,直接把相似性信息用于训练模型。实验结果显示LCM的效果非常不错。它在Label Representations上有很强的表现,相近的标签会被聚成颜色块,说明LCM真的学到了标签之间的关系。和传统的Label Smoothing相比,LCM在标准数据集上表现接近,但是一旦有30%的随机噪声混入数据集时,LCM的F1值明显高于LS。 一句话总结一下,LCM不仅仅是让标签平滑得更柔和一些,而是让句子和标签先进行“相亲”,再决定最终的答案。当标签相互关联、样本多义模糊或者噪声横行时,LCM比传统One-Hot + 交叉熵多了一些人情味和竞争力。