使用 AI 模型处理文本 (GeoAI)

摘要

处理来自各种类型源的文本(例如要素类或表中的文本字段,或文件夹中的文本文件),以支持包括文本转换、实体识别、文本分类、文本生成、翻译、汇总等在内的各种使用案例。 该工具可使用自定义第三方模型,也可以使用通过训练文本分类模型训练文本转换模型训练实体识别模型工具训练的深度学习模型。

使用情况

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

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

  • 该工具支持使用利用模型扩展功能创建的第三方语言模型。 此要素允许您使用自定义深度学习模型执行实体提取、文本分类、文本汇总和文本翻译等任务,即使这些模型并非使用 ArcGIS Pro 所支持的工具训练。 要了解有关创建自定义深度学习模型文件的详细信息,请参阅将第三方语言模型与 ArcGIS 结合使用

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

  • 此工具支持运行远程托管的第三方语言模型,而无需安装深度学习框架或 GPU 规范,因为这些都是远程管理的。

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

参数

标注说明数据类型
输入图层或表

输入可以为以下任一项:

  • 输入要素类或表,其中包含待处理的文本字段。可以是点、线或面要素类。 输入中的每一行代表一条记录。
  • 包含文本文件的文件夹。
Feature Layer; Table View; Table; Folder
数据字段

输入要素类或表中,将被用于下游自然语言处理 (NLP) 任务的字段名称。

Field
输入模型定义文件

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

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

警告:

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

File
输出图层或表

存储自然语言处理 (NLP) 任务输出结果的要素类或表。

Feature Class; Table; Feature Layer
模型参数
(可选)

模型在执行推理时将使用的附加参数。 这些参数可以包括第三方模型支持的参数,以及训练文本分类训练文本转换模型训练实体识别模型工具支持的其他参数。

注:

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

Value Table
位置区域
(可选)

预计地址所在的地理区域或地区。 指定的文本将被追加到模型所提取的地址中。

定位器将使用位置区域信息来识别地址所在的地区或地理区域并生成更理想的结果。

注:

此参数仅支持使用具有已定义地址实体的训练实体识别模型工具训练的模型。

String
输入定位器
(可选)

将用于对输入文本文档中的地址进行地理编码的定位器。 将为成功进行地理编码并存储在输出要素类中的每个地址生成一个点。

注:

此参数仅支持使用具有已定义地址实体的训练实体识别模型工具训练的模型。

Address Locator

派生输出

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

包含从输入数据分析得出的结果的输出要素图层。

Feature Layer; Table

arcpy.geoai.ProcessTextUsingAIModel(in_layer, data_fields, in_model_definition_file, out_layer, {model_arguments}, {location_zone}, {in_locator})
名称说明数据类型
in_layer

输入可以为以下任一项:

  • 输入要素类或表,其中包含待处理的文本字段。可以是点、线或面要素类。 输入中的每一行代表一条记录。
  • 包含文本文件的文件夹。
Feature Layer; Table View; Table; Folder
data_fields
[data_fields,...]

输入要素类或表中,将被用于下游自然语言处理 (NLP) 任务的字段名称。

Field
in_model_definition_file

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

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

警告:

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

File
out_layer

存储自然语言处理 (NLP) 任务输出结果的要素类或表。

Feature Class; Table; Feature Layer
model_arguments
[model_arguments,...]
(可选)

模型在执行推理时将使用的附加参数。 这些参数可以包括第三方模型支持的参数,以及训练文本分类训练文本转换模型训练实体识别模型工具支持的其他参数。

注:

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

Value Table
location_zone
(可选)

预计地址所在的地理区域或地区。 指定的文本将被追加到模型所提取的地址中。

定位器将使用位置区域信息来识别地址所在的地区或地理区域并生成更理想的结果。

注:

此参数仅支持使用具有已定义地址实体的训练实体识别模型工具训练的模型。

String
in_locator
(可选)

将用于对输入文本文档中的地址进行地理编码的定位器。 将为成功进行地理编码并存储在输出要素类中的每个地址生成一个点。

注:

此参数仅支持使用具有已定义地址实体的训练实体识别模型工具训练的模型。

Address Locator

派生输出

名称说明数据类型
updated_table

包含从输入数据分析得出的结果的输出要素图层。

Feature Layer; Table

代码示例

ProcessTextUsingAIModel(独立脚本)

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

# Name: ProcessText.py
# Description: ArcGIS geoprocessing tool that enables a broad range of advanced
# text processing tasks, with customizable outputs to meet various NLP needs.
#
# Requirements: ArcGIS Pro Advanced license

# Import system modules
import arcpy

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

# Set local variables
in_table = "ProcessTextData"
pretrained_model_path_emd = "c:\\processtextdata\\ProcessTextUsingLLMs.emd"

# Run Process Text Using AI Model
arcpy.geoai.ProcessTextUsingAIModel(
    in_layer, data_fields, in_model_definition_file, out_layer, model_arguments,
    location_zone, in_locator)

许可信息

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

相关主题