准备训练数据

如需训练您的自定义模型,请提供您要分析的文档类型的代表性样本,并以您希望 AutoML Natural Language 为类似文档添加标签的方式添加标签。训练数据的质量极大影响着所创建的模型的效果,进而影响该模型返回的预测结果的质量。

收集训练文档并为其添加标签

第一步是收集反映您希望自定义模型处理的文档范围的各种训练文档。根据您训练模型的目的是为了进行分类、实体提取还是情感分析,训练文档的准备步骤会有所不同。

导入训练文档

您可以使用 CSV 文件将训练数据导入到 AutoML Natural Language 中,该 CSV 文件列出了文档,并且可能包含文档的类别标签或情感值。AutoML Natural Language 会根据列出的文档创建数据集

训练与评估数据

AutoML Natural Language 会将您的训练文档分为训练模型的三个集合:训练集、验证集、测试集。

AutoML Natural Language 使用训练集构建模型。该模型在搜寻训练数据中的模式时会尝试多种算法和参数。在模型识别出模式后,它会使用验证集来测试算法和模式。AutoML Natural Language 会从训练阶段识别出的算法和模式中选出表现最佳的。

在识别出表现最佳的算法和模式之后,AutoML Natural Language 会将其应用到测试集以测试错误率、质量和准确度。

默认情况下,AutoML Natural Language 会将您的训练数据随机分为三个集合:

  • 80% 的文档用于训练
  • 10% 的文档用于验证(超参数调整和/或决定何时停止训练)
  • 10% 的文档预留用于测试(在训练期间不使用)

如果您想指定训练数据中的每个文档应属于哪个集合,可以在 CSV 文件中明确地将文档分配到相应集合,具体如下一部分中所述。

创建导入 CSV 文件

收集完所有训练文档后,请创建一个完整列出这些文档的 CSV 文件。该 CSV 文件可以采用任何文件名,但必须使用 UTF-8 编码,并且文件名必须以 .csv 扩展名结尾。它必须存储在与您的项目关联的 Cloud Storage 存储桶中。

在该 CSV 文件中,每个训练文档单独占据一行,每行包含以下几列:

  1. 将此行中的内容分配到哪个集合。此列是可选列,可使用以下值之一:

    • TRAIN - 使用 document 训练模型。
    • VALIDATION - 使用 document 验证训练期间模型返回的结果。
    • TEST - 使用 document 验证模型训练完成后模型的结果。

    如果您在此列中添加值以指定集合,我们建议您为每个类别至少标识 5% 的数据。如果用于训练、验证或测试的数据不足 5%,将会产生意外结果和无效模型。

    如果您没有在此列中添加值,请在每一行开头输入一个英文逗号,以表示第一列为空。AutoML Natural Language 会自动将您的文档分为三个集合,它在训练、验证、测试中使用的数据比例分别约为 80%、10%、10%(用于验证和测试的上限为 10000 对)。

  2. 要分类的内容。此列包含文档的 Cloud Storage URI。Cloud Storage URI 区分大小写。

    对于分类和情感分析,文档可以是文本文件,PDF 文件,TIFF 文件或 ZIP 文件。对于实体提取,文档是 JSONL 文件。

    对于分类和情感分析,此列中的值可以是引用的内嵌文本,而不是 Cloud Storage URI。

  3. 对于分类数据集,您可以选择性地添加以英文逗号分隔的标签列表,用于标识文档的分类方式。标签必须以字母开头,且只能包含字母、数字和下划线。每个文档最多可包含 20 个标签。

    对于情感分析数据集,您可以选择性地添加一个指示内容的情感值的整数。情感值的范围从 0(非常消极)到最大值 10(非常积极)。

例如,用于多标签分类数据集的 CSV 文件可能包含以下内容:

TRAIN, gs://my-project-lcm/training-data/file1.txt,Sports,Basketball
VALIDATION, gs://my-project-lcm/training-data/ubuntu.zip,Computers,Software,Operating_Systems,Linux,Ubuntu
TRAIN, gs://news/documents/file2.txt,Sports,Baseball
TEST, "Miles Davis was an American jazz trumpeter, bandleader, and composer.",Arts_Entertainment,Music,Jazz
TRAIN,gs://my-project-lcm/training-data/astros.txt,Sports,Baseball
VALIDATION,gs://my-project-lcm/training-data/mariners.txt,Sports,Baseball
TEST,gs://my-project-lcm/training-data/cubs.txt,Sports,Baseball

常见的 .csv 错误

  • 在标签中使用 Unicode 字符。例如,不支持日语字符。
  • 在标签中使用空格和非字母数字字符。
  • 空行。
  • 空列(行中带有两个连续英文逗号)。
  • 包含逗号的嵌入文本两边缺少引号。
  • Cloud Storage 路径的大小写错误。
  • 文档的访问权限控制配置错误。您的服务账号应具有读取或更高权限,或者文件必须可供公开读取。
  • 引用非文本文件(如 JPEG 文件)。同样,如果文件并非文本文件,但重命名为具有文本扩展名,则将导致错误。
  • 文档的 URI 指向不属于当前项目的存储桶。 只能访问项目存储桶中的文件。
  • 文件并非 CSV 格式。

创建导入 ZIP 文件

对于分类数据集,您可以使用 ZIP 文件导入训练文档。 在 ZIP 文件中,请为每个标签或情感值创建一个文件夹,然后将每个文档保存在与要应用到该文档的标签或情感值相对应的文件夹中。例如,用于对商业信件进行分类的模型的 ZIP 文件可能具有以下结构:

correspondence.zip
    transactional
        letter1.pdf
        letter2.pdf
        letter5.pdf
    persuasive
        letter3.pdf
        letter7.pdf
        letter8.pdf
    informational
        letter6.pdf
    instructional
        letter4.pdf
        letter9.pdf

AutoML Natural Language 会将文件夹名称作为标签应用到文件夹中的文档。 对于情感分析数据集,文件夹名称为情感值:

sentiment.zip
    0
        document4.txt
    1
        document3.txt
        document1.txt
        document5.txt
    2
        document2.txt
        document6.txt
        document8.txt
        document9.txt
    3
        document7.txt

后续步骤