多标签文本分类,每个训练数据的类标签分布不均匀
Posted
技术标签:
【中文标题】多标签文本分类,每个训练数据的类标签分布不均匀【英文标题】:Multi-label text classification with non-uniform distribution of class labels for every train data 【发布时间】:2020-04-09 19:52:50 【问题描述】:我有一个多标签分类问题,我想用六个标签对文本进行分类,每个文本可以有一到六个标签,但这个标签分布并不相等。例如,10个人将句子1注释如下:
这些标签是该类别的投票数。我可以像悲伤 0.7、愤怒 0.2、恐惧 0.1、快乐 0.0、... 这个问题的最佳分类器是什么?我的意思是我是否应该规范化它们的最佳标签类型是什么? 这种标签概率不相等的多标签分类问题,我应该搜索什么关键词?
【问题讨论】:
【参考方案1】:首先,澄清一下我是否正确理解了您的问题。您有句子=[sent1, sent2, ... sentn],并且您想将它们分类为这六个标签标签=[l1,l2,...,l6]。您的数据不是标签本身,而是文本中包含该标签的概率。您还提到了六个标签来自人工注释(我不知道您说的10个人评论是什么意思,我猜是注释)
如果是这种情况,您可以使用多标签分类或多目标回归视角来处理问题。我将介绍两种情况下您可以对数据执行的操作:
-
多标签分类:在这种情况下,您需要为每个句子定义类,以便您可以训练模型。现在你只有概率。您可以通过创建阈值来做到这一点,并且高于阈值的标签概率可以被视为句子的标签。您可以阅读更多关于评估指标的信息here。
多目标回归:在这种情况下,您不需要定义类,您只需使用训练输入,我们使用数据来预测每个标签的概率。考虑到您的数据收集,我认为这是一个更好、更容易的问题。如果你想了解更多关于多目标回归的问题,你可以阅读更多关于它的内容here,但是他们在本教程中使用的模型并不是最先进的(注意它) .
训练模型:您可以使用浅层模型和深层模型来完成此任务。您需要一个可以接收句子作为输入并预测六个标签或六个概率的模型。我建议你看看这个example,它可以成为你工作的一个很好的起点。作者提供了一个关于如何使用深度神经网络构建多标签文本分类器的教程。他基本上在最后构建了一个 LSTM 和一个前馈层来对标签进行分类。如果您决定使用回归而不是分类,您可以在最后放弃激活。
最好的结果很可能是通过深度神经网络得到的,所以我发给你的文章可以很好地工作。我还建议您查看最先进的文本分类方法,例如 BERT 或 XLNET。我用BERT实现了一个多标签分类方法,也许对你有帮助。
【讨论】:
以上是关于多标签文本分类,每个训练数据的类标签分布不均匀的主要内容,如果未能解决你的问题,请参考以下文章
BERT-多标签文本分类实战之七——训练-评估-测试与运行主程序
BERT-多标签文本分类实战之七——训练-评估-测试与运行主程序