多标签模式 - Amazon Comprehend

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

多标签模式

在多标签分类中,单个分类代表不同的类别,但这些类别在某种程度上是相关的,并不互相排斥。因此,每个文档至少分配了一个类,但可以有更多类。例如,一部电影可以简单地是一部动作片,也可以是一部动作片、一部科幻电影和一部喜剧,所有这些都同时存在。

对于训练,多标签模式支持多达100万个示例,其中包含多达100个唯一的类。

您可以将训练数据作为 CSV 文件或亚马逊的增强清单文件提供 SageMaker GGround Truth.

要训练自定义分类器,可以将训练数据作为两列 CSV 文件提供。在其中,标签在第一列中提供,在第二列中提供文档。

不要包含单个列的标题。在 CSV 文件中包含标头可能会导致运行时错误。文件的每一行都包含一个或多个类以及培训文档的文本。通过在每个类之间使用分隔符(如 |)可以指示多个类。

CLASS,Text of document 1 CLASS,Text of document 2 CLASS|CLASS|CLASS,Text of document 3

例如,以下行属于一个 CSV 文件,该文件训练自定义分类器来检测电影摘要中的流派:

COMEDY|MYSTERY|SCIENCE_FICTION|TEEN,"A band of misfit teens become unlikely detectives when they discover troubling clues about their high school English teacher. Could the strange Mrs. Doe be an alien from outer space?"

类名之间的默认分隔符是竖线字符 (|)。但是,您可以使用其他字符作为分隔符。分隔符不能是类名的一部分。例如,如果你的类是 CLASS_1、CLASS_2 和 CLASS_3,则下划线 (_) 是类名的一部分。不能使用然后使用下划线作为分隔类名的分隔符。

增强的清单文件是一个带标签的数据集,由 SageMaker GGround Truth. Ground Truth 是一项数据标记服务,可帮助您(或您雇用的员工)为机器学习模型构建训练数据集。Amazon Comprehend 接受增强清单文件作为自定义模型的训练数据。在创建自定义分类器时,您可以使用 Amazon Comprehend 控制台或CreateDocumentClassifierAPI 操作。

有关 Ground Truth 及其生成的输出的更多信息,请参阅使用 Amazon SageMaker 标注数据Ground Truth中的亚马逊 SageMaker 开发人员指南.

增强清单文件采用 JSON 行格式。在此文件中,每一行都是一个完整的 JSON 对象,其中包含训练文档及其关联标签。以下示例是一个增强的清单文件,它训练自定义分类器来检测电影摘要中的流派:

{"source":"Document 1 text","MultiLabelJob":[0,4],"MultiLabelJob-metadata":{"job-name":"labeling-job/multilabeljob","class-map":{"0":"action","4":"drama"},"human-annotated":"yes","creation-date":"2020-05-21T19:02:21.521882","confidence-map":{"0":0.66},"type":"groundtruth/text-classification-multilabel"}} {"source":"Document 2 text","MultiLabelJob":[3,6],"MultiLabelJob-metadata":{"job-name":"labeling-job/multilabeljob","class-map":{"3":"comedy","6":"horror"},"human-annotated":"yes","creation-date":"2020-05-21T19:00:01.291202","confidence-map":{"1":0.61,"0":0.61},"type":"groundtruth/text-classification-multilabel"}} {"source":"Document 3 text","MultiLabelJob":[1],"MultiLabelJob-metadata":{"job-name":"labeling-job/multilabeljob","class-map":{"1":"action"},"human-annotated":"yes","creation-date":"2020-05-21T18:58:51.662050","confidence-map":{"1":0.68},"type":"groundtruth/text-classification-multilabel"}}

此 JSON 行文件中的每一行都是一个完整的 JSON 对象,其中的属性包括文档文本、一个或多个类名以及来自 Ground Truth 的其他元数据。以下示例是扩充清单文件中的单个 JSON 对象,但为了便于阅读,其格式化:

{ "source": "A band of misfit teens become unlikely detectives when they discover troubling clues about their high school English teacher. Could the strange Mrs. Doe be an alien from outer space?", "MultiLabelJob": [ 3, 8, 10, 11 ], "MultiLabelJob-metadata": { "job-name": "labeling-job/multilabeljob", "class-map": { "3": "comedy", "8": "mystery", "10": "science_fiction", "11": "teen" }, "human-annotated": "yes", "creation-date": "2020-05-21T19:00:01.291202", "confidence-map": { "3": 0.95, "8": 0.77, "10": 0.83, "11": 0.92 }, "type": "groundtruth/text-classification-multilabel" } }

在此示例中,source属性提供培训文档的文本,以及MultiLabelJob属性从分类列表中分配几个类的索引。的名称MultiLabelJob属性是任意的,在 Ground Truth 中定义标注作业时,需要提供您选择的名称。

在此示例中,MultiLabelJob属性为标签属性名称,该属性提供了 Ground Truth 工作人员分配给训练数据的标签。当您向 Amazon Comprehend 提供训练数据时,您必须指定一个或多个标签属性名称。您指定的属性名称数量取决于您的增强清单文件是单个标注作业还是链式标注作业的输出。

如果文件是单个标注作业的输出,请指定在 Ground Truth 中创建作业时使用的单一标注属性名称。

如果您的文件是链式标注作业的输出,请为链中的一个或多个作业指定标签属性名称。每个标签属性名称都提供来自单个作业的注释。对于由链接标记作业生成的增强清单文件,您最多可以指定 5 个这些属性。

在增强清单文件中,标签属性名称通常在source键。如果文件是链接作业的输出,则会有多个标签属性名称。当您向 Amazon Comprehend 提供训练数据时,请仅提供那些包含与您的模型相关的注释的属性。不要指定以 “-metadata” 结尾的属性。

有关链式标注作业的更多信息以及它们生成的输出示例,请参阅链接标记作业在Amazon SageMaker 开发人员指南 的第一个版本。