IBM Cloud Docs
对文档进行分类

对文档进行分类

文档分类器机器学习模型会分析文档,并使用您定义的一组标签中的相应标签对其进行标记。

当您希望以编程方式将许多文档排序到组中时,对文档进行分类很有用。 例如,您可能有一个集合,其中包含有关您销售的产品的客户意见。 如果您可以将反馈自动排序为类,那么可以隔离客户提及的紧急问题并首先解决这些问题。 根据先前的反馈,您可以定义类,例如以下标签:

  • 无法正常工作
  • 未公布的功能部件
  • 难以使用
  • 缺少部件
  • 装运的部件与组合件指示信息中的部件列表不匹配

要创建文档分类器,请构建机器学习模型,该模型可识别哪个类最能捕获以自然语言指定的客户反馈点。 您可以将它们与类标签配对,这些类标签表示对您的企业有意义的真实场景。

文档分类器和文本分类器之间有什么区别?
文档分类器可以根据从正文文本字段中抽取的单词和短语以及来自其词性的信息和应用于所考虑正文文本的其他扩充项来对文档进行分类。 还会使用来自其他非主体字段的信息。 文本分类器可以根据从主体文本中抽取的词和短语对文档进行分类,并将其部分语音信息考虑在内。 有关如何创建文本分类器的更多信息,请参阅 分类器

准备工作

要训练文档分类器模型,必须提供相应标注的样本文档。 准备以下文件:

训练数据

必需。 用于训练文档分类器机器学习模型的 CSV 文件。 该文件可以包含每列的关键数据点。 数据点可能有所不同,但该文件必须包含以下列:

  • 要分类或标注的自然语言文本。
  • 用于对文档文本中表达的构想进行分类的标签或类名。 可以将多个标签应用于文本样本。 使用分号分隔多个标签值。
测试数据

可选。 用于在训练文档分类器机器学习模型后对其进行测试的 CSV 文件。 如果未指定用于测试的单独文件,那么训练数据内容的子集将用于测试目的。

目标数据

必需。 包含要分类的数据的 CSV 文件。

所有 CSV 文件 (训练,测试和目标) 必须具有相同的列名。 列中的数据必须具有相同的数据类型,例如字符串,数字等。

您可以使用在创建内容挖掘项目时上载的 CSV 文件,也可以创建新集合。

有关更多信息,请参阅以下主题:

文档分类器训练数据样本

下表显示了可用于训练文档分类器的 CSV 文件中可能存储的内容类型的示例。

CSV 文件数据示例
声明标识 日期 产品行 产品 客户机段 客户机位置 客户年龄 反馈 标签
0 2016/1/1 柠檬茶 非成员 曼哈顿 20 秸秆从果汁包里剥下来。 package_container
1 2016/1/2 冰淇淋 香草冰淇淋 银牌会员 昆斯 20 我给我的孩子买了一些冰淇淋,但杯子里有一丝类似的东西。 污染物篡改

请注意,样本中存在两个必填字段。 必填字段具有以下名称:

  • Feedback: 要标记的自然语言文本。
  • Label: 要应用于反馈的标签。

打开内容挖掘应用程序

如果未执行此操作,请创建项目并向其添加集合。 如果已创建项目和集合,那么可以跳过此过程并 创建文档分类器

  1. 在 Discovery中,创建内容挖掘项目。

  2. 选择上载数据以创建集合。 对集合命名,然后单击下一步

  3. 上传包含您的训练数据的CSV文件。

    训练数据文件必须至少包含以下信息:

    • 包含要分类的样本文本的列。 例如,样本文本可能是产品复审。
    • 包含分配给样本文本的类或类别标签的列。
  4. 收集处理完成后,点击启动应用程序,打开内容挖掘应用程序。

    将显示集合的构面详细信息。

创建文档分类器

要创建文档分类器,请完成以下步骤:

  1. 从“内容挖掘”应用程序中,单击面包屑中的 集合 链接以打开“创建集合”页面。

    将显示索引创建的状态。 请等待集合完全建立索引,然后再继续此过程。

  2. 要创建分类器,请单击 集合,然后从列表中选择 分类器

    显示收藏菜单
    收藏
    *

  3. 单击创建分类器

  4. 命名分类器。

    稍后将模型部署为扩充项时,将为扩充项提供格式为 {classifier name} - {model name}的名称。 例如,如果分类器名为 Product reviews,模型名为 v0.1,那么扩充项名称为 Product reviews - v0.1

    (可选) 通过从 语言 字段中选择描述并标识训练数据的语言。

  5. 单击下一步

  6. 在“训练数据”页面上,从列表中选择先前上载的文件,然后单击 下一步

    或者,您可以上载包含训练数据的 CSV 文件。

    显示 “字段” 页面。 它显示有关从您添加的文件生成的字段的详细信息。 通常,CSV 文件中的每个列都将转换为一个字段,并为其分配从列标题复制的名称。

  7. 取消选择要从要从中学习的文档分类器的数据集中排除的任何元数据字段,然后单击 下一步

    您包含的任何字段都将用作分类中的其他功能部件。 所有字段均默认选中。 您可能需要水平滚动以查看所有字段。

  8. 在“分类器”页面上,指定要用于机器学习训练和预测的字段。

    答案字段
    从训练数据文件中选择具有分类标签的字段。 从先前的示例中,Label 字段是最佳选择。
    预测字段
    为预测类值生成的构面的名称。 缺省情况下,构面名称的语法为 <Answer field value>_predicted。 例如,Label_predicted
    测试数据集
    指定用于测试分类器模型的数据集。 缺省情况下,您上载和配置的训练数据 CSV 文件将拆分为三个数据集,分别用于训练,验证和测试。 但是,您可以选择指定用于测试模型的单独数据集。
    训练联合模型
    根据数据集中特定字段的值创建多个模型。 例如,如果文档具有 Product 字段,那么您可以配置分类器,以便为该字段中指定的每个产品名称值创建单独的分类器模型。 缺省情况下,分类器会创建一个机器学习分类器模型。

    您无需指定包含要分类的文本的字段。 系统会自动检测此字段。 您可以检查从哪个字段中抽取可分析文本并对其进行更改,或者通过更改另一个字段的索引类型对其进行扩充。 有关更多信息,请参阅 标识文本字段

    单击下一步

  9. 如果要将扩充项应用于训练数据中的文本,请从 目标字段 列表中选择至少一个要应用扩充项的字段。

    通常,您希望选择包含要分类的文本主体的字段。 从先前的示例中,Feedback 字段是最佳选择。

    接下来,选择要应用的任何注释器以扩充目标字段中的文本,然后单击 下一步

    默认情况下,选择 “词性标注器”。

  10. 在“确认”页面上,查看分类器配置设置。 要进行更改,请使用 后退 按钮。 否则,请单击 保存

    显示概览页面

  11. 单击 新建模型 以创建和训练机器学习模型。

  12. 您可以选择更改模型的名称并添加描述。

    您可以更改为以下数据集指定的缺省比率值:

    • 训练数据集: 更新训练模型的权重。
    • 验证集: 监视训练期间训练模型的准确性。 准确性结果用于绘制训练损失图。
    • 测试数据集: 计算已训练模型的分数。
  13. 单击创建

    模型训练可能需要几分钟才能完成。

部署文档分类器模型

训练模型后,将模型部署为扩充项。

  1. 单击 操作 列中的溢出菜单图标,然后单击 部署模型。 指定名称和其他详细信息,然后单击 部署

  2. 执行以下某个操作:

    • 要将文档分类器应用于内容挖掘项目中的集合,请参阅 丰富集合

    • 要将文档分类器应用于其他项目中的集合,请完成以下步骤:

      1. 在 Discovery中,创建或打开包含要分类的文档的集合。

        应用扩充项的集合中的数据必须与用于训练模型的集合具有相同的字段。

      2. 扩充项 选项卡中,在 名称 列中找到分类器。 从 要扩充的字段 字段中,选择用于训练模型的相同文本字段。 (此字段由系统确定,并作为 可分析文本内容 字段建立索引。 有关更多信息,请参阅 标识文本字段。)

      3. 单击应用更改并重新处理

分类结果

将扩充项应用于集合后,将生成可用于查找预测类的构面。 在此示例中,预测字段名为 label_answer_predicted

caption-side=bottom"
显示文档分类器丰富集合后生成的刻面
Label_answer_predicted 刻面*

使用生成的构面按分类过滤文档并分析文档子集。 这样做可帮助您查找模式和发现其他洞察。 您可以导出这些目标文档以与团队成员共享或进一步分析。 有关更多信息,请参阅 导出数据

当文档分类器对文档进行分类时,它会将该分类存储在 document_level_enrichment.classes.class_name 字段中。

例如,以下 JSON 摘录显示了使用 package_container 类进行分类的文档。

显示已使用 package_container 类分类的文档的 JSON 源。
Document classifier enrichment syntax

文档分类器限制

每个服务实例可以创建的文档分类器和标签数取决于 Discovery 套餐类型。

文档分类器计划限制
限制 企业 Premium Cloud Pak for Data
每个服务实例的文档分类器数 20 20 无限制
标记的数据行数 20,000 20,000 20,000
扩充后训练数据的最大大小 (MB) 1,024 1,024 1,024
标签数 1,000 小时 1,000 小时 1,000 小时
目标字段数 50 50 50