Skip to main content

训练实体识别模型 (GeoAI 工具)

汇总

训练指定实体识别模型以从原始文本中提取一组预定义的实体。

了解有关“实体识别”工作原理的详细信息

用法

  • 此工具还用于微调现有已训练模型。

  • 要使用 GPU 运行此工具,将处理器类型环境设置为 GPU。 如果您具有多个 GPU,则改为指定 GPU ID 环境。

  • 输入可以是带有文本字段和命名实体标注的要素类或表,也可以是包含 .json.csv 文件中的训练数据的文件夹。

  • 此工具将使用基于转换器的骨干来训练 NER 模型,并且还支持使用 Mistral LLM 的提示进行上下文学习。 要安装 Mistral 骨干,请参阅 ArcGIS Mistral 骨干

  • 有关运行此工具的要求以及您可能遇到的问题的详细信息,请参阅深度学习常见问题

参数

标注 说明 数据类型

输入文件夹或表

输入可以为以下任一项:

  • 一个要素类或表,其中包含一个文本字段,该文本字段包含模型的输入文本和带标注的实体,其中选定的文本字段将用作模型的输入文本,其余字段将被视为指定实体标注。

  • 一个文件夹,其中包含用于 NER 任务的标准数据集形式的训练数据。 训练数据必须为 .json.csv 文件。 文件格式确定输入的数据集类型。

    • 当输入为文件夹时,支持以下数据集类型:

      • ner_json—训练数据文件夹应包含一个 .json 文件,该文件包含使用 spaCy JSON 训练格式 进行格式化的文本和标注实体。

      • IOB—Ramshaw 和 Marcus 在论文 Text Chunking using Transformation-Based Learning 中提出的 IOB(I - 内部、O - 外部、B - 开始标签)格式。

        训练数据文件夹应包含以下两个 .csv 文件:

        • tokens.csv—包含作为输入区段的文本

        • tags.csv—包含文本区段的 IOB 标签

      • BILUO—IOB 格式的扩展格式,额外包含 L 和 U 标签(L - 结尾、U - 单位)。

        训练数据文件夹应包含以下两个 .csv 文件:

        • tokens.csv—包含作为输入区段的文本

        • tags.csv—包含文本区段的 BILUO 标签

Folder; Feature Layer; Table View; Feature Class

输出模型

将存储训练模型的输出文件夹位置。

Folder

预训练模型文件

(可选)

将用于微调新模型的预训练模型。 输入可以为 Esri 模型定义文件 (.emd) 或深度学习包文件 (.dlpk)。

可以对具有相似实体的预训练模型进行微调以适应新模型。 预训练模型必须已使用将用于训练新模型的相同模型类型和骨干模型进行了训练。

File

地址实体

(可选)

地址实体将被视为一个位置。 在推断过程中,将使用指定的定位器对此类实体进行地理编码,并且将生成实体提取过程的结果要素类。 如果未提供定位器或训练模型未提取地址实体,则会生成包含提取实体的表。

String

最大轮数

(可选)

应用于将训练模型的最大轮数。 最大轮数值为 1 意味着数据集将通过神经网络传递一次。 默认值为 5。

Long

模型骨干

(可选)

指定要用作训练新模型的架构的预配置神经网络。

  • bert-base-cased该模型将使用 BERT 神经网络进行训练。 BERT 预训练中使用掩膜语言来建模目标和进行下一句预测。

  • roberta-base该模型将使用 RoBERTa 神经网络进行训练。 RoBERTa 修改了 BERT 的关键超参数,利用小批量处理和高学习率,消除了预训练目标和下一句训练的需求。

  • albert-base-v1该模型将使用 ALBERT 神经网络进行训练。 ALBERT 使用自监督损失,着重建模句间一致性,与 BERT 相比,可扩展性更佳。

  • xlnet-base-cased该模型将使用 XLNet 神经网络进行训练。 XLNet 是一种广义自回归预训练方法。 该方法允许通过最大限度提升分解顺序的所有排列的预期概率来学习双向上下文,从而克服了 BERT 的缺点。

  • xlm-roberta-base该模型将使用 XLM-RoBERTa 神经网络进行训练。 XLM-RoBERTa 是在 100 种不同语言上进行训练的多语言模型。 与某些 XLM 多语言模型不同,它不需要语言张量来了解使用的语言,并且可以从输入 ID 中识别正确的语言。

  • distilroberta-base该模型将使用 DistilRoBERTa 神经网络进行训练。 DistilRoBERTa 是一种英语语言模型,仅在 OpenWebTextCorpus 上由 roberta-base 神经网络监督进行预训练(OpenWebTextCorpus 是 OpenAI 的 WebText 数据集的复制品)。

  • distilbert-base-cased该模型将使用 DistilBERT 神经网络进行训练。 DistilBERT 通用语言表示模型更小。

  • mistral该模型将使用 Mistral 大语言模型 (LLM) 进行训练。 Mistral 是一种仅限解码器的变换器模型,采用滑动窗口注意力、分组查询注意力和字节回退 BPE 分词器技术。 要安装 Mistral 骨干,请参阅 ArcGIS Mistral 骨干

String

批量大小

(可选)

一次需要处理的训练样本数。 默认值为 2。

增加批量大小可以提高工具性能;但是随着批量大小增加,所用内存也将随之增加。 如果出现内存不足错误,则降低批量大小。

Double

模型参数

(可选)

将用于初始化模型的附加参数。 受支持的模型参数为 Sequence Length,此参数用于设置训练数据的最大序列长度,将被考虑用于训练模型。

值表列:

  • NameThe name of the function argument.

  • ValueThe value of the function argument.

Value Table

学习率

(可选)

步长用于指示在训练过程中调整模型权重的大小。 如果未指定值,将自动派生出最佳学习率。

Double

验证百分比

(可选)

将用于验证模型的训练样本的百分比。 对于基于转换器的模型骨干,默认值为 10;对于 Mistral 骨干,默认值为 50。

Double

当模型停止改进时停止

(可选)

指定模型训练是在模型不再改进时停止,还是继续直至达到最大轮数参数值时才停止。

  • 选中当模型不再改进时,停止模型训练,不考虑最大轮数参数值。 这是默认设置。

  • 未选中继续模型训练,直至达到最大轮数参数值为止。

Boolean

创建可训练模型骨干

(可选)

指定是否冻结预训练模型中的骨干图层,以使权重和偏差保持原始设计。

  • 选中不会冻结骨干图层,可以更改模型骨干参数值的权重和偏差以适应训练样本。 这需要更多的处理时间,但通常会产生更好的结果。 这是默认设置。

  • 未选中将冻结骨干图层,在训练期间,不会更改模型骨干参数值的预定义权重和偏差。

Boolean

文本字段

输入要素类或表中的文本字段,其中包含将用作模型输入的文本。 当输入文件夹或表参数值为要素类或表时,此参数为必需项。

Field

提示

(可选)

特定输入或指令用于指导大型语言模型 (LLM) 生成预期输出。

其默认设置是识别文本中指定类别的命名实体。 同时,避免标记其他类别的实体。

String

环境

处理器类型, GPU ID

许可信息

  • 基本: 否
  • 标准: 否
  • 高级: 是