你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何为运行状况的自定义“文本分析”准备数据并定义架构

若要创建自定义 TA4H 模型,需要使用优质数据对其进行训练。 本文介绍应如何选择和准备数据,以及如何定义架构。 定义架构是项目开发生命周期中的第一步,它牵涉到定义需要模型在运行时从文本中提取的实体类型或类别。

架构设计

自定义运行状况文本分析允许扩展和自定义运行状况实体映射文本分析。 该过程的第一步是生成架构,它允许定义模型需要从文本中提取的新实体类型或类别,以及运行时运行状况现有实体的文本分析。

  • 查看数据集中的文档,熟悉其格式和结构。

  • 标识要从数据中提取的实体。

    例如,如果要从支持电子邮件中提取实体,可能需要提取“客户名称”、“产品名称”、“请求日期”和“联系人信息”。

  • 避免实体类型含糊不清。

    当你选择的类型彼此相似时,就会发生歧义。 架构越不明确,用于区分不同实体类型所需的标记数据就越多。

    例如,如果要从法律合同中提取数据,若要提取“甲方名称”和“乙方名称”,则需要添加更多示例来避免歧义,因为双方的名称看起来相似。 请避免歧义,因为它可以省时省力,并获得更好的结果。

  • 避免使用复杂实体。 复杂实体可能很难从文本中精确地提取出来,请考虑将复杂实体分解为多个实体。

    例如,如果不将“地址”分解为更小的实体,那么提取它将具有挑战性。 地址的显示方式有很多种变化,如果以整体形式提取地址而不进行分解,则需要大量带标记的实体来指导模型提取地址。 但是,如果将“地址”替换为“街道名称”、“邮政信箱”、“城市”、“省/市/自治区”和“邮政编码”,则对于每个实体,模型需要的标记更少。

添加实体

若要向项目添加实体,请执行以下操作:

  1. 从页面顶部移动到“实体”透视。

  2. 运行状况实体文本分析会自动加载到项目中。 若要添加其他实例类别,请从顶部菜单中选择“添加”。 在完成创建实体之前,系统会提示你键入名称。

  3. 创建实体后,将路由到实体详细信息页,可在其中定义此实体的合成设置。

  4. 实体组件定义的实例:已学习、列或预生成。 默认情况下,运行状况实体的文本分析使用预生成组件填充,并且不能具有已学习的组件。 在数据中添加标签后,新定义的实体可以使用已学习的组件进行填充,但不能使用预生成组件进行填充。

  5. 可以将列表组件添加到任何实体。

添加列表组件

若要添加“列表”组件,请选择“添加新的列表”。 可以为每个实体添加多个列表。

  1. 若要创建新的列表,请在“输入值”文本框中输入“这是提取任何同义词值时将返回的规范化值”。

  2. 对于多语言项目,从“语言”下拉菜单中选择同义词列表的语言,然后开始键入同义词,并在每个同义词后按 Enter。 建议使用多种语言提供同义词列表。

定义实体选项

更改为实体详细信息页中的“实体选项”透视。 为实体定义多个组件时,其预测可能会重叠。 发生重叠时,每个实体的最终预测将根据此步骤中选择的实体选项来确定。 选择要应用于该实体的实体选项,然后选择顶部的“保存”按钮。

创建实体后,可以返回并进行编辑。 可以选择顶部菜单中的“编辑实体组件”或“删除”选项来进行编辑或删除。

数据选择

训练模型的数据质量会极大地影响模型性能。

  • 使用反映域问题空间的真实数据可以有效地训练模型。 可以使用合成数据来加速初始模型训练过程,但它可能与真实数据不同,并且会使模型在使用时效率降低。

  • 在不偏离真实数据分布的情况下,尽可能平衡数据分布。 例如,如果要训练模型以从法律文档中提取实体,而这些文档可能采用多种不同格式和语言,则应提供示例来说明你在实际生活中可能看到的多样性。

  • 尽可能使用多样化数据,以避免过度拟合模型。 训练数据的多样性较低可能会导致模型学习真实数据中可能不存在的虚假关联。

  • 避免数据中出现重复文档。 重复数据会对训练过程、模型指标和模型性能产生负面影响。

  • 考虑数据来源。 如果从一个人、一个部门或部分场景收集数据,则很可能缺少多样性,而这对模型学习而言非常重要。

注意

如果文档采用多种语言,请在项目创建过程中选择“启用多语言”选项,并将“语言”选项设置为大多数文档的语言。

数据准备

作为创建项目的先决条件,需要将训练数据上传到存储帐户中的 Blob 容器。 可使用 Azure 存储资源管理器工具或直接从 Azure 创建和上传训练文档。 使用 Azure 存储资源管理器工具可以快速上传更多数据。

仅可使用 .txt 文档。 如果数据采用其他格式,则可使用 CLUtils 分析命令更改文档格式。

可以上传带批注的数据集,也可以上传未批注的数据集,然后在 Language Studio 中标记数据

测试集

定义测试集时,请确保包含训练集中不存在的示例文档。 定义测试集是计算模型性能的重要步骤。 此外,请确保测试集包含代表项目中使用的所有实体的文档。

后续步骤

如果尚未创建,请为运行状况项目创建自定义文本分析。 如果是第一次使用自定义文本分析了解运行状况,请考虑按照快速入门中介绍的步骤创建一个示例项目。 你还可以查看操作指南一文,更加详细地了解创建项目的所需内容。