ディープ ラーニングを使用したテキスト分類 (Classify Text Using Deep Learning) (GeoAI)

サマリー

トレーニング済みのテキスト分類モデルをフィーチャクラスまたはテーブルのテキスト フィールドで実行し、信頼値を含む各クラスとともに割り当てられたクラス ラベルまたはカテゴリ ラベルを使用して各レコードを更新します。

テキスト分類の仕組みの詳細

使用法

  • このツールを使用するには、ディープ ラーニング フレームワークがインストールされている必要があります。 ArcGIS AllSource のディープ ラーニング フレームワークを使用するようにコンピューターを設定するには、「ArcGIS 用のディープ ラーニング フレームワークのインストール」をご参照ください。

  • このツールは、トレーニング済みのモデル情報を含んでいるモデル定義ファイルを必要とします。 モデルは、[テキスト分類モデルのトレーニング (Train Text Classification Model)] ツールを使用してトレーニングできます。 [入力モデル定義ファイル] パラメーター値には、Esri モデル定義 JSON ファイル (.emd) またはディープ ラーニング モデル パッケージ (.dlpk) を指定することができます。 モデル ファイルはローカルに格納する必要があります。

  • このツールは、CPU または GPU 上で実行できます。 ただし、ディープ ラーニングは計算負荷が高いので、GPU を使用することをお勧めします。 GPU を使用してこのツールを実行するには、プロセッサ タイプ環境を GPU に設定します。 複数の GPU がある場合は、代わりに GPU ID 環境を指定します。

  • このツールの実行要件および発生する可能性のある問題の詳細については、「ディープ ラーニングに関するよくある質問」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力テーブル

分類またはラベル付与するテキストを含む、入力ポイント、ライン、ポリゴン フィーチャクラスまたはテーブル。

Feature Layer; Table View
テキスト フィールド

分類するテキストを含む、入力フィーチャクラスまたはテーブルのテキスト フィールド。

Field
入力モデル定義ファイル

分類に使用されるトレーニング済みモデル。 モデル定義ファイルには、Esri モデル定義 JSON ファイル (.emd) またはローカルで保存されたディープ ラーニング モデル パッケージ (.dlpk) を指定することができます。

File
クラス ラベル フィールド
(オプション)

モデルによって割り当てられたクラスまたはカテゴリ ラベルを含むフィールドの名前。 デフォルトのフィールド名は ClassLabel です。

String
モデル引数
(オプション)

モデルの出力の調整に使用される、sequence_lengthconfidence_threshold などの追加の引数。

引数の名前は、ツールによって入力されます。

注意:

モデル引数 confidence_threshold は複数ラベルのテキスト分類にのみ適用されます。

Value Table
すべての予測で説明を表示
(オプション)

SHAP 説明を生成するかどうかを指定します。 説明の生成にかかる時間は、入力の長さによって異なります。

  • オン - SHAP 説明は出力テーブルの行ごとに生成されます。
  • オフ - SHAP 説明は生成されません。 これがデフォルトです。
Boolean
バッチ サイズ
(オプション)

1 回に処理されるトレーニング サンプルの数。 デフォルト値は 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) またはローカルで保存されたディープ ラーニング モデル パッケージ (.dlpk) を指定することができます。

File
class_label_field
(オプション)

モデルによって割り当てられたクラスまたはカテゴリ ラベルを含むフィールドの名前。 デフォルトのフィールド名は ClassLabel です。

String
model_arguments
[model_arguments,...]
(オプション)

モデルの出力の調整に使用される、sequence_lengthconfidence_threshold などの追加の引数。

引数の名前は、ツールによって入力されます。

注意:

モデル引数 confidence_threshold は複数ラベルのテキスト分類にのみ適用されます。

Value Table
explain
(オプション)
  • ENABLE_SHAPSHAP 説明は出力テーブルの行ごとに生成されます。
  • DISABLE_SHAPSHAP 説明は生成されません。 これがデフォルトです。
Boolean
batch_size
(オプション)

1 回に処理されるトレーニング サンプルの数。 デフォルト値は 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)