使用深度学习提取实体 (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 环境。

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

参数

标注说明数据类型
输入文件夹或表

此参数的输入可以为以下内容:

  • 要素类或表,其中包含将对其执行授权实体提取的文本列。
  • 文件夹,其中包含待执行已命名实体提取的文本文件。
Folder; Feature Layer; Table View; Feature Class
输出表

将包含已提取实体的输出要素类或表。 如果提供了定位器且模型提取了地址,则系统将通过对已提取地址进行地理编码来生成要素类。

Feature Class; Table; Feature Layer
输入模型定义文件

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

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

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

警告:

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

File
模型参数
(可选)

模型在执行推理时将使用的附加参数。 受支持的模型参数为 sequence_length,它用于调整模型的输出。

注:

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

Value Table
批处理大小
(可选)

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

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

Double
位置区域
(可选)

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

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

String
输入定位器
(可选)

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

Address Locator
文本字段

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

Field

arcpy.geoai.ExtractEntitiesUsingDeepLearning(in_folder, out_table, in_model_definition_file, {model_arguments}, {batch_size}, {location_zone}, {in_locator}, text_field)
名称说明数据类型
in_folder

此参数的输入可以为以下内容:

  • 要素类或表,其中包含将对其执行授权实体提取的文本列。
  • 文件夹,其中包含待执行已命名实体提取的文本文件。
Folder; Feature Layer; Table View; Feature Class
out_table

将包含已提取实体的输出要素类或表。 如果提供了定位器且模型提取了地址,则系统将通过对已提取地址进行地理编码来生成要素类。

Feature Class; Table; Feature Layer
in_model_definition_file

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

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

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

警告:

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

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

模型在执行推理时将使用的附加参数。 受支持的模型参数为 sequence_length,它用于调整模型的输出。

注:

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

Value Table
batch_size
(可选)

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

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

Double
location_zone
(可选)

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

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

String
in_locator
(可选)

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

Address Locator
text_field

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

Field

代码示例

ExtractEntitiesUsingDeepLearning(独立脚本)

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

# Name: ExtractEntities.py
# Description: Extract useful entities such as "Address", "Date" from text.  

# Import system modules
import arcpy
import os

arcpy.env.workspace = "C:/textanalysisexamples/data"
dbpath = "C:/textanalysisexamples/Text_analysis_tools.gdb"

# Set local variables
in_folder = 'test_data'
out_table = os.path.join(dbpath, "ExtractedEntities")

pretrained_model_path_emd = "c:\\extractentities\\EntityRecognizer.emd"

# Run Extract Entities Using Deep Learning
arcpy.geoai.ExtractEntitiesUsingDeepLearning(
    in_folder, out_table, pretrained_model_path_emd)

许可信息

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

相关主题