多标签文本分类,每个火车数据的类标签分布不均匀

时间:2019-12-17 10:19:56

标签: python classification sentiment-analysis text-classification multilabel-classification

我有一个多标签分类问题,我想用六个标签对文本进行分类,每个文本可以有一个到六个标签,但是此标签分布不相等。例如,有10个人注释了句子1,如下所示:

enter image description here

这些标签是该类别的投票数。我可以将它们标准化为悲伤0.7,愤怒0.2,恐惧0.1,快乐0.0,...

对此问题最好的分类器是什么?标签的最佳类型是什么?我应该标准化还是不标准化?

在标签概率不相等的这种多标签分类问题中,我应该搜索哪些关键字?

1 个答案:

答案 0 :(得分:1)

首先,请澄清我是否正确理解了您的问题。您有句子= [sent1,sent2,... sentn],并且想要将它们分类为这六个标签label = [l1,l2,...,l6]。您的数据不是标签本身,而是在文本中包含该标签的可能性。您还提到了六个标签来自人工注释(我不知道十个人发表评论的意思,我想这是注释)

在这种情况下,您可以使用多标签分类或多目标回归角度来解决问题。在两种情况下,我都会处理您的数据:

  1. 多标签分类:在这种情况下,您需要为每个句子定义类,以便训练模型。现在,您只有概率。您可以通过创建阈值来做到这一点,高于阈值的标签的概率可以视为句子的标签。您可以阅读有关评估指标here的更多信息。
  2. 多目标回归:在这种情况下,您无需定义类别,只需使用训练输入,我们就可以使用数据来预测每个标签的概率。考虑到您的数据收集,我认为这是一个更好,更轻松的问题。如果您想进一步了解多目标回归的问题,可以阅读有关here的更多信息,但是他们在本教程中使用的模型不是最新技术(请注意它)。

培训模型:您可以将浅层和深层模型用于此任务。您需要一个可以接收句子作为输入并预测六个标签或六个概率的模型。建议您研究一下example,这可能是您工作的一个很好的起点。作者提供了有关如何使用深度神经网络构建多标签文本分类器的教程。他基本上在最后建立了一个LSTM和一个前馈层来对标签进行分类。如果您决定使用回归而不是分类,则可以直接取消激活。

深度神经网络可能会获得最佳结果,因此我发给您的文章可以很好地工作。我还建议您了解用于文本分类的最新方法,例如BERT或XLNET。我使用BERT实现了多标签分类方法,也许对您有帮助。