ラベル | 説明 | データ タイプ |
入力フォルダー | NER タスクの標準データセット形式のトレーニング データを含むフォルダー。 トレーニング データは *..json または *.csv ファイル形式である必要があります。 ファイル形式が、入力のデータセット タイプを決定します。 次のデータセット タイプがサポートされています。
| Folder |
出力モデル | トレーニング済みのモデルを格納する出力フォルダーの場所。 | Folder |
事前トレーニング済みモデル ファイル (オプション) | 新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力には Esri モデル定義ファイル (*.emd) またはディープ ラーニング パッケージ ファイル (*.dlpk) を指定できます。 類似したエンティティを持つ事前トレーニング済みモデルは、新しいモデルに合わせて微調整することができます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。 | File |
住所エンティティ (オプション) | ロケーションとして処理される住所エンティティ。 推論では、このようなエンティティは、指定のロケーターでジオコーディングされ、エンティティ抽出処理の結果としてフィーチャクラスが生成されます。 ロケーターが提供されていないか、トレーニング済みモデルが住所エンティティを抽出しない場合、抽出したエンティティを含むテーブルが代わりに生成されます。 | String |
最大エポック (オプション) | モデルをトレーニングする場合の対象となるエポックの最大数。 最大エポック値を 1 に設定すると、データセットがニューラル ネットワークによって前後に 1 回渡されます。 デフォルト値は 5 です。 | Long |
モデル バックボーン (オプション) | 新しいモデルをトレーニングするアーキテクチャとして使用する、事前構成済みのニューラル ネットワークを指定します。
| String |
バッチ サイズ (オプション) | 1 回に処理されるトレーニング サンプルの数。 このパラメーターは、SpaCy バックボーンを持つモデルには適用されません。 デフォルト値は 2 です。 バッチ サイズを大きくすると、ツールのパフォーマンスが向上しますが、バッチ サイズが増加するにつれて、使用されるメモリ量が増加します。 メモリ不足エラーが発生した場合は、より小さなバッチ サイズを使用してください。 | Double |
モデル引数 (オプション) | トレーニング データの最大シーケンス長を表す seq_len など、モデルのトレーニングにおいて考慮される、モデルの初期化に使用される追加の引数。 使用可能な、サポートされるモデル引数のリストについては、EntityRecognizer ドキュメントのキーワード引数をご参照ください。 | Value Table |
学習率 (オプション) | トレーニング処理の際に調整されるモデル ウェイトの量を示すステップ サイズ。 値を指定しない場合、最適な学習率が自動的に推測されます。 | Double |
検証率 (オプション) | モデルの検証に使用するトレーニング サンプルの割合。 デフォルト値は 10 です。 | Double |
モデルの改善が見込めなくなった時点で停止 (オプション) | モデルの改善がなくなった時点でモデルのトレーニングを停止するか、[最大エポック] パラメーター値に達するまでトレーニングを行うかを指定します。
| Boolean |
モデル バックボーンをトレーニング可能にする (オプション) | 事前トレーニング済みモデルのバックボーン レイヤーを固定するかどうかを指定します。これにより、ウェイトとバイアスが本来の設計どおりになります。
| Boolean |
使用法
このツールを使用するには、ディープ ラーニング フレームワークがインストールされている必要があります。 AllSource のディープ ラーニング フレームワークを使用するようにコンピューターを設定するには、「ArcGIS 用のディープ ラーニング フレームワークのインストール」をご参照ください。
このツールは、既存のトレーニング済みモデルの微調整にも使用できます。
GPU を使用してこのツールを実行するには、プロセッサ タイプ環境を GPU に設定します。 複数の GPU がある場合は、代わりに GPU ID 環境を指定します。
ツールへの入力は、*.json または *.csv ファイルを含むフォルダーです。
このツールの実行要件および発生する可能性のある問題の詳細については、「ディープ ラーニングに関するよくあるご質問 (FAQ)」をご参照ください。
パラメーター
arcpy.geoai.TrainEntityRecognitionModel(in_folder, out_model, {pretrained_model_file}, {address_entity}, {max_epochs}, {model_backbone}, {batch_size}, {model_arguments}, {learning_rate}, {validation_percentage}, {stop_training}, {make_trainable})
名前 | 説明 | データ タイプ |
in_folder | NER タスクの標準データセット形式のトレーニング データを含むフォルダー。 トレーニング データは *..json または *.csv ファイル形式である必要があります。 ファイル形式が、入力のデータセット タイプを決定します。 次のデータセット タイプがサポートされています。
| Folder |
out_model | トレーニング済みのモデルを格納する出力フォルダーの場所。 | Folder |
pretrained_model_file (オプション) | 新しいモデルの微調整に使用される事前トレーニング済みモデル。 入力には Esri モデル定義ファイル (*.emd) またはディープ ラーニング パッケージ ファイル (*.dlpk) を指定できます。 類似したエンティティを持つ事前トレーニング済みモデルは、新しいモデルに合わせて微調整することができます。 事前トレーニング済みモデルは、新しいモデルのトレーニングに使用される同じモデル タイプおよびバックボーン モデルでトレーニングされている必要があります。 | File |
address_entity (オプション) | ロケーションとして処理される住所エンティティ。 推論では、このようなエンティティは、指定のロケーターでジオコーディングされ、エンティティ抽出処理の結果としてフィーチャクラスが生成されます。 ロケーターが提供されていないか、トレーニング済みモデルが住所エンティティを抽出しない場合、抽出したエンティティを含むテーブルが代わりに生成されます。 | String |
max_epochs (オプション) | モデルをトレーニングする場合の対象となるエポックの最大数。 最大エポック値を 1 に設定すると、データセットがニューラル ネットワークによって前後に 1 回渡されます。 デフォルト値は 5 です。 | Long |
model_backbone (オプション) | 新しいモデルをトレーニングするアーキテクチャとして使用する、事前構成済みのニューラル ネットワークを指定します。
| String |
batch_size (オプション) | 1 回に処理されるトレーニング サンプルの数。 このパラメーターは、SpaCy バックボーンを持つモデルには適用されません。 デフォルト値は 2 です。 バッチ サイズを大きくすると、ツールのパフォーマンスが向上しますが、バッチ サイズが増加するにつれて、使用されるメモリ量が増加します。 メモリ不足エラーが発生した場合は、より小さなバッチ サイズを使用してください。 | Double |
model_arguments [model_arguments,...] (オプション) | トレーニング データの最大シーケンス長を表す seq_len など、モデルのトレーニングにおいて考慮される、モデルの初期化に使用される追加の引数。 使用可能な、サポートされるモデル引数のリストについては、EntityRecognizer ドキュメントのキーワード引数をご参照ください。 | Value Table |
learning_rate (オプション) | トレーニング処理の際に調整されるモデル ウェイトの量を示すステップ サイズ。 値を指定しない場合、最適な学習率が自動的に推測されます。 | Double |
validation_percentage (オプション) | モデルの検証に使用するトレーニング サンプルの割合。 デフォルト値は 10 です。 | Double |
stop_training (オプション) | モデルの改善がなくなった時点でモデルのトレーニングを停止するか、max_epochs パラメーター値に達するまでトレーニングを行うかを指定します。
| Boolean |
make_trainable (オプション) | 事前トレーニング済みモデルのバックボーン レイヤーを固定するかどうかを指定します。これにより、ウェイトとバイアスが本来の設計どおりになります。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、TrainEntityRecognitionModel 関数の使用方法を示しています。
# Name: TrainEntityRecognizer.py
# Description: Train an Entity Recognition model to extract useful entities like "Address", "Date" from text.
#
# Requirements: ArcGIS Pro Advanced license
# 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 = 'train_data'
out_folder = "test_bio_format"
# Run Train Entity Recognition Model
arcpy.geoai.TrainEntityRecognitionModel(in_folder, out_folder)