ai-center
2023.10
false
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
UiPath logo, featuring letters U and I in white
AI Center 用户指南
Automation CloudAutomation SuiteStandalone
Last updated 2024年10月22日

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

背景信息

本示例用于按研究论文中提及的类别提取化学物。按照以下过程提取化学物,并将其分类为 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. UiPath™ AI Center中导入示例数据集。 为此,请转到“数据集” 菜单,并上传示例中的traintest文件夹。
  2. “ML 包”>“开箱即用包”>“UiPath 语言分析”中选择所需的自定义命名实体识别包并创建。
  3. 转到“管道”菜单,然后为上一步中创建的包创建一个新的完整管道运行。指向示例文件中提供的训练数据集和测试数据集。

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

  4. 使用上一步中的管道运行生成的包创建新的 ML 技能并进行部署。
  5. 部署技能后,即可在提供的UiPath Studio工作流中利用该技能。 要捕获具有弱预测的数据,请部署 Label Studio 实例,并在工作流的 Label Studio 活动中提供实例 URL 和 API 密钥。

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。保留所有权利。