Классифицировать текст при помощи глубокого обучения (GeoAI)

Краткая информация

Запускает обученную модель классификации текста для текстового поля в классе объектов или таблице и обновляет каждую запись, добавляя метку назначенного класса или категории, при этом каждый класс имеет значение достоверности.

Более подробно о том, как работает Классификация текста

Использование

  • Для этого инструмента требуются установленные системы глубокого изучения. Чтобы настроить компьютер на работу в среде глубокого обучения в ArcGIS AllSource, см. раздел Установка сред глубокого обучения для ArcGIS.

  • Для этого инструмента требуется файл определения модели, содержащий обученную информацию о модели. Модель можно обучить при помощи инструмента Обучение модели классификации текста. Значением параметра Входной файл определения модели может быть файл JSON определения модели Esri (.emd) или пакет модели глубокого обучения (.dlpk). Файлы модели должны быть сохранены локально.

  • Этот инструмент можно запускать на центральном или графическом процессоре. Однако глубокое обучение является интенсивным вычислительным процессом, поэтом рекомендуется использовать именно графический процессор. Чтобы запустить этот инструмент с помощью графического процессора, установите для параметра Тип процессора значение GPU. Если у вас более одного графического процессора, вместо этого задайте параметр среды GPU ID.

  • Информацию о требованиях к запуску этого инструмента и проблемах, с которыми вы можете столкнуться, см. в разделе Часто задаваемые вопросы по глубокому обучению.

Параметры

ПодписьОписаниеТип данных
Входная таблица

Входной класс точечных, линейных, полигональных объектов или таблица, содержащие текст, который будет классифицирован и отмечен.

Feature Layer; Table View
Поле текста

Текстовое поле во входном классе объектов или таблице, которое содержит текст для классификации.

Field
Входной файл определения модели

Обученная модель, которая будет использоваться для классификации. Файлом определения модели может быть файл JSON определения модели Esri (.emd) или пакет модели глубокого обучения (.dlpk), который хранится локально.

File
Поле метки класса
(Дополнительный)

Имя поля, которое будет содержать метку класса или категории, назначенную моделью. По умолчанию поле называется ClassLabel.

String
Аргументы модели
(Дополнительный)

Дополнительные аргументы, такие как sequence_length или confidence_threshold, которые будут использоваться для настройки выходных данных модели.

Названия аргументов будут заполнены инструментом.

Примечание:

Аргумент модели confidence_threshold применяется только для классификации текста с несколькими метками.

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

Обученная модель, которая будет использоваться для классификации. Файлом определения модели может быть файл JSON определения модели Esri (.emd) или пакет модели глубокого обучения (.dlpk), который хранится локально.

File
class_label_field
(Дополнительный)

Имя поля, которое будет содержать метку класса или категории, назначенную моделью. По умолчанию поле называется ClassLabel.

String
model_arguments
[model_arguments,...]
(Дополнительный)

Дополнительные аргументы, такие как sequence_length или confidence_threshold, которые будут использоваться для настройки выходных данных модели.

Названия аргументов будут заполнены инструментом.

Примечание:

Аргумент модели confidence_threshold применяется только для классификации текста с несколькими метками.

Value Table
explain
(Дополнительный)
  • ENABLE_SHAPПояснение SHAP будет создано для каждой строки выходной таблицы.
  • DISABLE_SHAPПояснения SHAP созданы не будут. Это значение по умолчанию
Boolean
batch_size
(Дополнительный)

Количество обучающих выборок, которые будут обрабатываться за один раз. Значение, предлагаемое по умолчанию, равно 4.

Увеличение размера пакета может улучшить производительность инструмента, но при этом увеличение размера пакета приводит к расходованию большего объема памяти. Если возникает ошибка нехватки памяти, используйте меньший размер пакета.

Double

Производные выходные данные

ИмяОписаниеТип данных
updated_table

Выходной класс точечных, линейных, полигональных объектов или таблица, содержащие классифицированный и отмеченный текст, полученный из входных данных, вместе со значением достоверности для каждого класса.

Table View; Feature Layer

Пример кода

ClassifyTextUsingDeepLearning, (окно Python)

Скрипт окна Python, демонстрирующий использование функции 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)

Параметры среды