使用深度学习转换文本 (GeoAI)

摘要

在要素类或表中的文本字段上运行经过训练的序列到序列模型,并使用包含已转换、已变换或已翻译文本的新字段对其进行更新。

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

使用情况

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

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

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

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

参数

标注说明数据类型
输入表

输入点、线或面要素类或表,其中包含将转换的文本。

Feature Layer; Table View
文本字段

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

Field
输入模型定义文件

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

File
结果字段
(可选)

包含输出要素类或表中已转换文本的字段名称。 默认字段名称为 Result

String
模型参数
(可选)

将使用其他参数(例如,置信度阈值)调整模型的灵敏度。

将使用该工具填充参数名称。

Value Table
批大小
(可选)

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

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

Double
最小序列长度
(可选)

输出文本字符串的最小字符数。 默认值为 20。

Double
最大序列长度
(可选)

输出文本字符串的最大字符数。 默认值为 50。

Double

派生输出

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

输出点、线或面要素类或表,其中包含派生自输入数据的已转换文本。

Table View; Feature Layer

arcpy.geoai.TransformTextUsingDeepLearning(in_table, text_field, in_model_definition_file, {result_field}, {model_arguments}, {batch_size}, {minimum_sequence_length}, {maximum_sequence_length})
名称说明数据类型
in_table

输入点、线或面要素类或表,其中包含将转换的文本。

Feature Layer; Table View
text_field

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

Field
in_model_definition_file

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

File
result_field
(可选)

包含输出要素类或表中已转换文本的字段名称。 默认字段名称为 Result

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

将使用其他参数(例如,置信度阈值)调整模型的灵敏度。

将使用该工具填充参数名称。

Value Table
batch_size
(可选)

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

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

Double
minimum_sequence_length
(可选)

输出文本字符串的最小字符数。 默认值为 20。

Double
maximum_sequence_length
(可选)

输出文本字符串的最大字符数。 默认值为 50。

Double

派生输出

名称说明数据类型
updated_table

输出点、线或面要素类或表,其中包含派生自输入数据的已转换文本。

Table View; Feature Layer

代码示例

TransformTextUsingDeepLearning 示例(Python 窗口)

以下 Python 窗口脚本演示了如何使用 TransformTextUsingDeepLearning 函数。

# Name: TransformText.py
# Description: Translate text from English to German
#
# Requirements: ArcGIS Pro Advanced license

# Import system modules
import arcpy
import os

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

# Set local variables
in_table = os.path.join("translationdata")
pretrained_model_path_emd = "c:\\translatedata\\Seq2Seq.emd"

# Run Transform Text Using Deep Learning
arcpy.geoai.TransformTextUsingDeepLearning(in_table, "EnglishText", pretrained_model_path_emd)