首页 > 解决方案 > 如何在 Sagemaker 中训练多标签文本分类?

问题描述

我选择了 Sagemaker 提供的 BlazingText 算法。

我的训练集中的文本可以有一个或多个标签,我想预测一篇文章最有可能的标签。

我没有找到如何为此准确设置培训文件。我在培训文件中制作了以下格式的行

__label__1 __label__2 token1 token2 ... __label__2 token token token ...

我做对了吗?

标签: text-classificationamazon-sagemakermultilabel-classification

解决方案


以下是使用 SageMaker 内置算法(包括 BlazingText)进行多标签文本分类的可能选项:

  1. 使用 2 臂嵌入模型,例如SageMaker Object2vec,它可以学习一段文本和任意数量的标签之间的亲和力。实际上这里有一个多标签文本分类的演示
  2. 使用一个 BlazingText 实例作为多标签分类器:在训练时,每行提供多个以空格分隔的标签(未尝试使用 BlazingText,但似乎支持 fastText)或所有可能的标签文本对,并在推理时要求使用“k”参数预测的前 N ​​个标签:"configuration": {"k": N}
  3. 使用多个 Blazingtext 分类器,每个标签一个。这可能比上面的选项更复杂一些,但不一定更昂贵,因为 BlazingText 是一个非常浅层和快速的神经网络

推荐阅读