ai-center
2024.10
true
UiPath logo, featuring letters U and I in white
AI Center 用户指南
Automation CloudAutomation SuiteStandalone
Last updated 2024年11月11日

将自定义命名实体识别与持续学习结合使用

背景信息

本示例用于按研究论文中提及的类别提取化学物。按照以下过程提取化学物,并将其分类为 ABBREVIATION、FAMILY、FORMULA、IDENTIFIER、MULTIPLE、SYSTEMATIC、TRIVIAL 和 NO_CLASS。

建议

何时使用自定义命名实体识别 (NER) 模型

使用自定义 NER 模型提取:

  • 文本中的特殊信息。 此信息称为entity
  • 人名、地名、组织、地点、日期、数值等。 提取的实体互斥。 实体处于单个词或多词级别,而不是子词级别。 例如,在“我住纽约”句子中,实体可以是“纽约” ,但在“我读过纽约客”句子中则不可以。

您可以直接在信息提取流程中使用提取的实体,也可以将其用作下游任务(例如源文本的分类、源文本的情感分析、PHI 等)的输入。

训练数据集建议

  • 如果样本中的实体很密集,则每个实体至少有 200 个样本,这意味着大多数样本(超过 75%)包含 3-5 个这样的实体。
  • 如果实体稀疏(每个样本的实体少于三个),即大多数文档中只有少数实体出现,则建议每个实体至少有 400 个样本。 这有助于模型更好地理解区别性特征。
  • 如果实体超过 10 个,请再以增量方式添加 100 个样本,直到达到所需的性能指标。

最佳实践

  1. 拥有有意义的实体;如果人类无法识别实体,则模型也无法识别实体。
  2. 拥有简单的实体。 不要将实体地址拆分为多个实体: 街道名称、州名称、城市名称或邮政编码等,而不是单个实体地址。
  3. 同时创建训练数据集和测试数据集,并使用完整管道进行训练。
  4. 从最低数量的注释样本开始,涵盖所有实体。
  5. 确保所有实体都包含在训练集和测试集拆分中。
  6. 运行完整管道并检查测试指标。 如果测试指标不理想,请检查分类报告并识别表现不佳的实体。 添加更多涵盖表现不佳的实体的样本,并重复训练过程,直到达到所需的指标。

先决条件

此过程使用“自定义命名实体识别”包。有关此包的工作原理及其用途的更多信息,请参见自定义命名实体识别

对于此过程,我们提供了如下示例文件:

  • CoNLL 格式的预标记训练数据集。可以从此处下载它。
  • 预标记的测试数据集。可以从此处下载它。
  • 用于提取研究论文中提到的化学物类别的工作流示例。可以从此处下载它。
    注意:确保填写示例文件中的以下变量:
    • in_emailAdress - Action Center 任务将分配到此电子邮件地址
    • in_MLSkillEndpoint - ML 技能的公共端点
    • in_MLSkillAPIKey - ML 技能的 API 密钥
    • in_labelStudioEndpoint - 可选,用于启用连续标记:提供 Label Studio 项目的 导入 URL

程序

按照以下步骤,按研究论文中的类别提取化学物。
  1. Import the sample dataset in UiPath® AI Center. To do so, go to the Datasets menu and upload the train and test folder from the sample.
  2. “ML 包”>“开箱即用包”>“UiPath 语言分析”中选择所需的自定义命名实体识别包并创建。
  3. 转到“管道”菜单,然后为上一步中创建的包创建一个新的完整管道运行。指向示例文件中提供的训练数据集和测试数据集。

    完成后,管道的结果将显示在“工件”下。您可以下载分类报告以评估测试结果。

  4. 使用上一步中的管道运行生成的包创建新的 ML 技能并进行部署。
  5. Once the skill is deployed, leverage it in the UiPath® Studio workflow provided. To enable capturing data with weak predictions, deploy a Label Studio instance and provide the instance URL and API key in the Label Studio activity in the workflow.

Label Studio 入门

要开始使用 Label Studio 并将数据导出至 AI Center,请按照以下说明操作。

  1. 在本地计算机或云实例上安装 Label Studio。为此,请按照此处的说明进行操作。
  2. 根据命名实体识别模板创建一个新项目,并定义“标签名称”


  3. 确保标签名称没有特殊字符或空格。例如,使用 SetDate 代替 Set Date
  4. 请确保 <Text> 标签的值为 "$text"


  5. 使用此处的 API 上传数据。

    cURL 请求示例:

    curl --location --request POST 'https://<label-studio-instance>/api/projects/<id>/import' \)\)
    --header 'Content-Type: application/json' \)\)
    --header 'Authorization: Token <Token>' \)\)
    --data-raw '[
        {
          "data": {
            "text": "<Text1>"
          },
        },
        {
          "data": {
            "text": "<Text2>"
           }
        }
    ]'curl --location --request POST 'https://<label-studio-instance>/api/projects/<id>/import' \)\)
    --header 'Content-Type: application/json' \)\)
    --header 'Authorization: Token <Token>' \)\)
    --data-raw '[
        {
          "data": {
            "text": "<Text1>"
          },
        },
        {
          "data": {
            "text": "<Text2>"
           }
        }
    ]'
  6. 标注数据。
  7. 以 CoNLL 2003 格式导出数据,并将其上传到 AI Center。
  8. 在提供的示例工作流中提供了 Label Studio 实例 URL 和 API 密钥,以捕获错误的预测和低可信度预测。
  • 背景信息
  • 建议
  • 先决条件
  • 程序
  • Label Studio 入门

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。