使用深度学习分类文本 (GeoAI)

摘要

可在要素类或表中的文本字段上运行经过训练的文本分类模型,并使用已分配的类或类别标注更新每个记录,其中每个类都具有置信值。

了解有关“文本分类”工作原理的详细信息

使用情况

  • 该工具要求安装深度学习框架。 要设置计算机以在 ArcGIS Pro 中使用深度学习框架,请参阅安装 ArcGIS 的深度学习框架

  • 该工具需要包含模型信息的模型定义文件。 该模型可以使用训练文本分类工具进行训练。 输入模型定义文件参数值可以是 Esri 模型定义 JSON 文件 (.emd) 或深度学习模型包 (.dlpk)。 模型文件必须存储在本地或者托管在 ArcGIS Living Atlas of the World 上。

  • 该工具支持使用基于转换器的主干和 Mistral 主干训练的模型。 要安装 Mistral 主干,请参阅 ArcGIS Mistral 主干

  • 该工具支持使用利用模型扩展功能创建的第三方语言模型。 模型可扩展性功能支持使用未使用训练文本分类工具创建的自定义深度学习模型文件 (.dlpk) 执行文本分类任务。 要了解有关创建自定义深度学习 (.dlpk) 模型文件的详细信息,请参阅将第三方语言模型与 ArcGIS 结合使用

  • 该工具可以在 CPU 或 GPU 上运行;但是,由于深度学习为计算密集型,因此建议使用 GPU。 要使用 GPU 运行此工具,请将处理器类型环境设置为 GPU。 如果您具有多个 GPU,还可以指定 GPU ID 环境。

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

参数

标注说明数据类型
输入表

输入点、线或面要素类或表,其中包含将分类和标注的文本。

Feature Layer; Table View
文本字段

输入要素类或表中的文本字段,其中包含将分类的文本。

Field
输入模型定义文件

将用于分类的训练模型。 模型定义文件可以是 Esri 模型定义 JSON 文件 (.emd),也可以是存储在本地或者托管在 ArcGIS Living Atlas (.dlpk_remote) 的深度学习模型包 (.dlpk)。

要使用通过 Mistral 主干训练的文件,必须在使用模型之前安装 .dlpk 文件。 要安装 Mistral 主干,请参阅 ArcGIS Mistral 主干

.dlpk 文件也可以是第三方语言模型

警告:

第三方语言模型 .dlpk 文件可能包含有害代码。 仅当您信任这些模型的源时才能使用模型。

File
类标注字段
(可选)

将包含模型分配的类或类别标注的字段名称。 默认字段名称为 ClassLabel

String
模型参数
(可选)

模型在执行推理时将使用的附加参数。 支持的模型参数包括 sequence_lengthconfidence_threshold,它们将用于调整模型的输出。 模型参数 confidence_threshold 仅适用于多标注文本分类。

注:

当使用第三方语言模型时,模型参数将根据 .dlpk 文件中指定的参数进行更新。 要了解有关定义模型参数的详细信息,请参阅在 ArcGIS 中使用第三方语言模型中的 getParameterInfo 部分。

Value Table
获取每个预测的说明
(可选)

指定是否将生成 SHAP 说明。 生成说明所需的时间将取决于输入的长度。

  • 选中 - 将为输出表中的每一行生成 SHAP 说明。
  • 未选中 - 将不会生成 SHAP 说明。 这是默认设置。
Boolean
批处理大小
(可选)

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

增加批处理大小可以提高工具性能;但是,随着批处理大小的增加,会占用更多内存。 如果发生内存不足错误,请使用较小的批处理大小。

Double

派生输出

标注说明数据类型
已更新的表

输出点、线或面要素类或表,其中包含派生自输入数据的已分类和已标注文本以及每个类的置信值。

Table View; Feature Layer

arcpy.geoai.ClassifyTextUsingDeepLearning(in_table, text_field, in_model_definition_file, {class_label_field}, {model_arguments}, {explain}, {batch_size})
名称说明数据类型
in_table

输入点、线或面要素类或表,其中包含将分类和标注的文本。

Feature Layer; Table View
text_field

输入要素类或表中的文本字段,其中包含将分类的文本。

Field
in_model_definition_file

将用于分类的训练模型。 模型定义文件可以是 Esri 模型定义 JSON 文件 (.emd),也可以是存储在本地或者托管在 ArcGIS Living Atlas (.dlpk_remote) 的深度学习模型包 (.dlpk)。

要使用通过 Mistral 主干训练的文件,必须在使用模型之前安装 .dlpk 文件。 要安装 Mistral 主干,请参阅 ArcGIS Mistral 主干

.dlpk 文件也可以是第三方语言模型

警告:

第三方语言模型 .dlpk 文件可能包含有害代码。 仅当您信任这些模型的源时才能使用模型。

File
class_label_field
(可选)

将包含模型分配的类或类别标注的字段名称。 默认字段名称为 ClassLabel

String
model_arguments
[model_arguments,...]
(可选)

模型在执行推理时将使用的附加参数。 支持的模型参数包括 sequence_lengthconfidence_threshold,它们将用于调整模型的输出。 模型参数 confidence_threshold 仅适用于多标注文本分类。

注:

当使用第三方语言模型时,模型参数将根据 .dlpk 文件中指定的参数进行更新。 要了解有关定义模型参数的详细信息,请参阅在 ArcGIS 中使用第三方语言模型中的 getParameterInfo 部分。

Value Table
explain
(可选)

指定是否将生成 SHAP 说明。 生成说明所需的时间将取决于输入的长度。

  • ENABLE_SHAP将为输出表中的每一行生成 SHAP 说明。
  • DISABLE_SHAP将不会生成 SHAP 说明。 这是默认设置。
Boolean
batch_size
(可选)

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

增加批处理大小可以提高工具性能;但是,随着批处理大小的增加,会占用更多内存。 如果发生内存不足错误,请使用较小的批处理大小。

Double

派生输出

名称说明数据类型
updated_table

输出点、线或面要素类或表,其中包含派生自输入数据的已分类和已标注文本以及每个类的置信值。

Table View; Feature Layer

代码示例

ClassifyTextUsingDeepLearning(独立脚本)

以下示例演示了如何使用 ClassifyTextUsingDeepLearning 函数。

# Name: ClassifyText.py
# Description: Classify text into multiple classes
#
# Requirements: ArcGIS Pro Advanced license

# Import system modules
import arcpy

arcpy.env.workspace = "C:/textanalysisexamples/data"

# Set local variables
in_table = "TextClassifierData"
pretrained_model_path_emd = "c:\\classifydata\\TextClassifier.emd"

# Run Classify Text Using Deep Learning
arcpy.geoai.ClassifyTextUsingDeepLearning(
    in_table, "Address", pretrained_model_path_emd)

许可信息

  • Basic: 否
  • Standard: 否
  • Advanced: 是

相关主题