如何将 bert 的嵌入向量与其他特征结合起来?

How to combine embeddins vectors of bert with other features?

我正在处理一个带有 3 个标签(0,1,2 = neg, pos, neu)的分类任务。数据是句子。因此,为了生成 vectors/embeddings 个句子,我使用 Bert 编码器为每个句子获取嵌入,然后使用简单的 knn 进行预测。

我的数据是这样的:每个句子都有一个标签和其他分类数值。

例如,我的数据是这样的

Sentence embeddings_BERT level sub-level label

je mange  [0.21, 0.56]    2     2.1      pos
il hait   [0.25, 0.39]   3     3.1      neg
.....

如您所见,每个句子都有其他类别,但不是最后一个类别,而是在人类对数据进行注释时帮助确定标签的索引。我希望我的模型在预测标签时考虑这两个值。我想知道我是否必须将它们与由 bert 编码生成的嵌入连接起来,还是有其他方法?

没有一种完美的方法可以解决这个问题,但一个简单的解决方案是将 bert 嵌入与硬编码特征连接起来。 BERT 嵌入(句子嵌入)的维度为 768(如果您使用了 BERT base)。这些嵌入可以被视为句子本身的特征。额外的特征可以连接起来形成一个更高维的向量。如果特征是分类的,那么转换为单热向量并将它们连接起来将是理想的。例如,如果您想在示例中使用 level 作为一组输入特征,最好将其转换为单热特征向量,然后与 BERT 嵌入连接。然而,在某些情况下,您的硬编码特征可能是偏向分类器的主要特征,而在其他一些情况下,它可能根本没有影响。这完全取决于您拥有的数据。