| ラベル | 説明 | データ タイプ | 
| 入力テーブル | モデルの入力テキストを含むテキスト フィールドと、ターゲットクラス ラベルを含むラベル フィールドのある、フィーチャクラスまたはテーブル。 | Feature Layer; Table View | 
| テキスト フィールド | モデルによって分類されるテキストを含む、入力フィーチャクラスまたはテーブルのテキスト フィールド。 | Field | 
| ラベル フィールド | モデルのトレーニングに使用されるターゲット クラス ラベルを含む、入力フィーチャクラスまたはテーブルのテキスト フィールド。 複数ラベルのテキスト分類の場合は、複数のテキスト フィールドを指定します。 | Field | 
| 出力モデル | トレーニング済みモデルが格納される出力フォルダーの場所。 | Folder | 
| 事前トレーニング済みモデル ファイル (オプション) | 新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力には Esri モデル定義ファイル (.emd) またはディープ ラーニング パッケージ ファイル (.dlpk) を指定できます。 類似したクラスを持つ事前トレーニング済みモデルは、新しいモデルに合わせて微調整することができます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。 | File | 
| 最大エポック (オプション) | モデルをトレーニングする場合の対象となるエポックの最大数。 最大エポック値を 1 に設定すると、データセットがニューラル ネットワークによって 1 回渡されます。 デフォルト値は 5 です。 | Long | 
| モデル バックボーン (オプション) | モデルのエンコーダーとして機能し、固定長のベクトル形式で入力テキストの特徴表現を抽出する、事前構成済みのニューラル ネットワークを指定します。 これらのベクトルは、モデルの分類ヘッドへの入力として渡されます。 
 | String | 
| バッチ サイズ (オプション) | 1 回に処理されるトレーニング サンプルの数。 デフォルト値は 2 です。 バッチ サイズを大きくすると、ツールのパフォーマンスが向上しますが、バッチ サイズが増加するにつれて、使用されるメモリ量が増加します。 メモリ不足エラーが発生した場合は、より小さなバッチ サイズを使用してください。 | Double | 
| モデル引数 (オプション) | モデルの初期化に使用される追加の引数。 サポートされるモデル引数は sequence_length です。これは、モデルのトレーニングにおいて考慮されるトレーニング データの最大シーケンス長を設定するために使用されます。 | Value Table | 
| 学習率 (オプション) | トレーニング処理の際に調整されるモデル加重の量を示すステップ サイズ。 値を指定しない場合、最適な学習率が自動的に適用されます。 | Double | 
| 検証率 (オプション) | モデルの検証に使用するトレーニング サンプルの割合。 デフォルト値は、Transformer ベースのモデル バックボーンの場合は 10、Mistral バックボーンの場合は 50 です。 | Double | 
| モデルの改善が見込めなくなった時点で停止 (オプション) | モデルの改善がなくなった時点でモデルのトレーニングを停止するか、[最大エポック] パラメーター値に達するまでトレーニングを続行するかを指定します。 
 | Boolean | 
| モデル バックボーンをトレーニング可能にする (オプション) | 事前トレーニング済みモデルのバックボーン レイヤーを固定するかどうかを指定します。これにより、加重とバイアスが本来の設計どおりになります。 
 | Boolean | 
| HTML タグの削除 (オプション) | HTML タグを入力テキストから削除するかどうかを指定します。 
 | Boolean | 
| URL の削除 (オプション) | URL を入力テキストから削除するかどうかを指定します。 
 | Boolean | 
| プロンプト (オプション) | 予測した出力を生成するために、大規模言語モデル (LLM) に与えられる特定の入力または手順。 デフォルト値は、指定テキストの指定クラスへの分類です。 分類用に新しいラベルを作成しないでください。 | String | 
使用法
- このツールを使用するには、ディープ ラーニング フレームワークがインストールされている必要があります。 ArcGIS AllSource のディープ ラーニング フレームワークを使用するようにコンピューターを設定するには、「ArcGIS 用のディープ ラーニング フレームワークのインストール」をご参照ください。 
- このツールは、既存のトレーニング済みモデルの微調整にも使用できます。 
- GPU を使用してこのツールを実行するには、プロセッサ タイプ環境を GPU に設定します。 複数の GPU がある場合は、代わりに GPU ID 環境を指定します。 
- 入力は、トレーニング データを含むテーブルまたはフィーチャクラスで、入力テキストを含むテキスト フィールドとターゲット クラス ラベルを含むラベル フィールドがあります。 
- このツールは、テキスト分類モデルのトレーニングに Transformer ベースのバックボーンを使用し、Mistral LLM を使用したプロンプト付きコンテキスト内学習をサポートしています。 Mistral バックボーンをインストールするには、「ArcGIS Mistral バックボーン」をご参照ください。 
- このツールの実行要件および発生する可能性のある問題の詳細については、「ディープ ラーニングに関するよくある質問」をご参照ください。 
パラメーター
arcpy.geoai.TrainTextClassificationModel(in_table, text_field, label_field, out_model, {pretrained_model_file}, {max_epochs}, {model_backbone}, {batch_size}, {model_arguments}, {learning_rate}, {validation_percentage}, {stop_training}, {make_trainable}, {remove_html_tags}, {remove_urls}, {prompt})| 名前 | 説明 | データ タイプ | 
| in_table | モデルの入力テキストを含むテキスト フィールドと、ターゲットクラス ラベルを含むラベル フィールドのある、フィーチャクラスまたはテーブル。 | Feature Layer; Table View | 
| text_field | モデルによって分類されるテキストを含む、入力フィーチャクラスまたはテーブルのテキスト フィールド。 | Field | 
| label_field [label_field,...] | モデルのトレーニングに使用されるターゲット クラス ラベルを含む、入力フィーチャクラスまたはテーブルのテキスト フィールド。 複数ラベルのテキスト分類の場合は、複数のテキスト フィールドを指定します。 | Field | 
| out_model | トレーニング済みモデルが格納される出力フォルダーの場所。 | Folder | 
| pretrained_model_file (オプション) | 新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力には Esri モデル定義ファイル (.emd) またはディープ ラーニング パッケージ ファイル (.dlpk) を指定できます。 類似したクラスを持つ事前トレーニング済みモデルは、新しいモデルに合わせて微調整することができます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。 | File | 
| max_epochs (オプション) | モデルをトレーニングする場合の対象となるエポックの最大数。 最大エポック値を 1 に設定すると、データセットがニューラル ネットワークによって 1 回渡されます。 デフォルト値は 5 です。 | Long | 
| model_backbone (オプション) | モデルのエンコーダーとして機能し、固定長のベクトル形式で入力テキストの特徴表現を抽出する、事前構成済みのニューラル ネットワークを指定します。 これらのベクトルは、モデルの分類ヘッドへの入力として渡されます。 
 | String | 
| batch_size (オプション) | 1 回に処理されるトレーニング サンプルの数。 デフォルト値は 2 です。 バッチ サイズを大きくすると、ツールのパフォーマンスが向上しますが、バッチ サイズが増加するにつれて、使用されるメモリ量が増加します。 メモリ不足エラーが発生した場合は、より小さなバッチ サイズを使用してください。 | Double | 
| model_arguments [model_arguments,...] (オプション) | モデルの初期化に使用される追加の引数。 サポートされるモデル引数は sequence_length です。これは、モデルのトレーニングにおいて考慮されるトレーニング データの最大シーケンス長を設定するために使用されます。 | Value Table | 
| learning_rate (オプション) | トレーニング処理の際に調整されるモデル加重の量を示すステップ サイズ。 値を指定しない場合、最適な学習率が自動的に適用されます。 | Double | 
| validation_percentage (オプション) | モデルの検証に使用するトレーニング サンプルの割合。 デフォルト値は、Transformer ベースのモデル バックボーンの場合は 10、Mistral バックボーンの場合は 50 です。 | Double | 
| stop_training (オプション) | モデルの改善がなくなった時点でモデルのトレーニングを停止するか、max_epochs パラメーター値に達するまでトレーニングを続行するかを指定します。 
 | Boolean | 
| make_trainable (オプション) | 事前トレーニング済みモデルのバックボーン レイヤーを固定するかどうかを指定します。これにより、加重とバイアスが本来の設計どおりになります。 
 | Boolean | 
| remove_html_tags (オプション) | HTML タグを入力テキストから削除するかどうかを指定します。 
 | Boolean | 
| remove_urls (オプション) | URL を入力テキストから削除するかどうかを指定します。 
 | Boolean | 
| prompt (オプション) | 予測した出力を生成するために、大規模言語モデル (LLM) に与えられる特定の入力または手順。 デフォルト値は、指定テキストの指定クラスへの分類です。 分類用に新しいラベルを作成しないでください。 | String | 
コードのサンプル
次の例は、TrainTextClassificationModel 関数を使用する方法を示しています。
# Name: TrainTextClassification.py
# Description: Train a text classifier model to classify text in different
#              classes.  
#
# Requirements: ArcGIS Pro Advanced license
# Import system modules
import arcpy
arcpy.env.workspace = "C:/textanalysisexamples/data"
# Set local variables
in_table = "training_data_textclassifier.csv"
out_folder = "c:\\textclassifier"
# Run Train Text Classification Model
arcpy.geoai.TrainTextClassificationModel(
    in_table, out_folder, max_epochs=2, text_field="Address",
    label_field="Country", batch_size=16)