文本分类(多标签) - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

文本分类(多标签)

要将文章和文本分类为多个预定义类别,请使用多标签文本分类任务类型。例如,您可以使用此任务类型来识别在文本中传达的多种情感。

在处理多标签文本分类任务时,工作人员应选择所有适用的标签,且必须至少选择一个标签。使用此任务类型创建作业时,您最多可提供 50 个标签类别。

如果没有任何标签适用,Amazon SageMaker Ground Truth 不会提供 “无” 类别。要向工作人员提供此选项,请在创建多标签文本分类作业时,包含类似于“无”或“其他”的标签。

若要限制工作人员为每个文档或文本选择单个标签,请使用 文本分类(单标签) 任务类型。

重要

如果手动创建输入清单文件,请使用"source"以标识您要标记的文本。有关更多信息,请参阅输入数据

创建多标签文本分类标记作业(控制台)

可以按照说明操作创建标记作业(控制台)以了解如何在 Amazon SageMaker 控制台中创建多标签文本分类标记作业。在步骤 10 中,选择Text来自 的任务类别下拉菜单,然后选择文本分类(多标签)作为任务类型。

Ground Truth 为标记任务提供类似于以下内容的工作人员 UI。使用控制台创建标记作业时,需要指定说明,以帮助工作人员完成工作人员可以从中选择的作业和标签。

创建多标签文本分类标记作业 (API)

要创建多标签文本分类标记作业,请使用 SageMaker API 操作CreateLabelingJob. 该 API 为所有 Amazon 开发工具包定义了该操作。要查看此操作支持的语言特定 SDK 的列表,请查看另请参阅部分CreateLabelingJob.

请按照创建标记作业 (API)中的说明进行操作,并在配置请求时执行以下操作:

  • 此任务类型的注释前函数以结尾PRE-TextMultiClassMultiLabel. 要查找您所在区域的注释前 Lambda ARN,请参阅PreHumanTaskLambdaArn.

  • 此任务类型的注释合并 Lambda 函数以结尾。ACS-TextMultiClassMultiLabel. 要查找您的区域的注释合并 Lambda ARN,请参阅。AnnotationConsolidationLambdaArn.

以下是一个示例配置文件AmazonPython 软件开发工具包 (Boto3) 请求以在 US East (N. Virginia) 区域创建标记作业。所有红色参数都应替换为您的规范和资源。

response = client.create_labeling_job( LabelingJobName='example-multi-label-text-classification-labeling-job, LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/file-to-store-output-data', 'KmsKeyId': 'string' }, RoleArn='arn:aws:iam::*:role/*, LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json', StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*', 'UiConfig': { 'UiTemplateS3Uri': 's3://bucket/path/custom-worker-task-template.html' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda::function:PRE-TextMultiClassMultiLabel, 'TaskKeywords': [ 'Text Classification', ], 'TaskTitle': 'Multi-label text classification task', 'TaskDescription': 'Select all labels that apply to the text shown', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

为多标签文本分类创建模板

如果要使用 API 创建标记作业,必须在 UiTemplateS3Uri 中提供工作人员任务模板。复制并修改以下模板。仅修改 short-instructionsfull-instructionsheader

将此模板上传到 S3,并在 UiTemplateS3Uri 中为此文件提供 S3 URI。

要了解如何创建自定义模板,请参阅 创建自定义标记工作流

多标签文本分类输出数据

创建多标签文本分类标签任务后,您的输出数据将位于S3OutputPath参数时使用 API 或输出数据集位置字段中的Job 概述部分。

要详细了解由地面真值生成的输出清单文件以及地面真值用于存储输出数据的文件结构,请参阅输出数据.

要查看多标签文本分类标记作业的输出清单文件示例,请参阅多标签分类作业输出