制作带标签的训练数据集

数据挖掘 文本挖掘 多类分类
2022-02-02 10:37:05

我们正在开发一个分类系统,其中类别是固定的,但其中许多是相互关联的。

例如,我们有一个名为 " roads" 的类别和另一个名为 " traffic" 的类别。我们相信模型会被文本样本混淆,文本样本可能在roads类别中,也可能在traffic.

我们的一些文本样本也适用于多类标签。例如,“人行道附近有一个垃圾堆。人行道完全坏了”。该文本可以分类为garbage桶或footpath桶。

我们将通过手动注释文本来为这个分类器构建一个训练集。那么,我们可以为一个问题贴多个标签吗?我们应该如何处理带有多个标签的文本呢?是否应该将它们添加到它所标记的所有类别中,作为训练样本?

例如,“人行道附近有一个垃圾堆。人行道完全坏了”。该文本可以分类为garbage桶或footpath桶。那么,是否应该将此文本添加为garbage​​ 和的训练样本footpath我们应该如何考虑标签?

你能提供你的见解吗?

1个回答

通常对于多个类,您必须区分排他组和包容组。最简单的情况是“所有类都是独占的”(仅预测一个类)和“所有类都兼容”(预测适用的类列表)。

无论哪种方式,按照您希望经过训练的模型预测它们的方式标记这些类。如果您希望您的分类器预测一个示例同时在garbagefootpath中,那么您应该用两者来标记这样的示例。如果您希望它消除它们之间的歧义,请使用单个正确的类进行标记。

要训​​练一个分类器一次预测多个目标类,通常只需选择正确的目标函数和一个具有可以支持它的体系结构的分类器。

例如,对于神经网络,您将避免使用旨在预测单个类别的“softmax”输出 - 相反,您可以使用常规的“sigmoid”函数并在每个输出的简单阈值上预测类别成员资格。

如果您的数据可以分成几个排他的组,您也可以使用管道模型变得更复杂——在第一阶段预测组,并在第二阶段有多个组特定模型来预测每个组中的类组合。这对您的问题来说可能是多余的,尽管如果它使您的单个模型保持简单(例如,它们都可能是逻辑回归,并且如果组更容易分离,第一阶段可能会获得一些准确性),它可能仍然很方便。