ディープ ラーニングを使用したエンティティ抽出 (Extract Entities Using Deep Learning) (GeoAI)

サマリー

フォルダー内のテキスト ファイルまたはフィーチャクラスやテーブル内のテキスト フィールドに対してトレーニング済みの名前付きエンティティ認識モデルを実行して、テーブル内のエンティティと場所 (住所、場所または人の名前、日付、通貨値など) を抽出します。 抽出されたエンティティに住所が含まれる場合、ツールは、指定されたロケーターを使用して住所をジオコーディングし、出力フィーチャクラスを生成します。

エンティティ認識の仕組みの詳細

使用法

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

  • このツールは、トレーニング済みのモデル情報を含んでいるモデル定義ファイルを必要とします。 モデルは、[エンティティ認識モデルのトレーニング (Train Entity Recognition Model)] ツールを使用してトレーニングできます。 [入力モデル定義ファイル] パラメーター値には、Esri モデル定義 JSON ファイル (.emd) またはディープ ラーニング モデル パッケージ (.dlpk) を指定することができます。 モデル ファイルはローカルに格納、または ArcGIS Living Atlas of the World 上でホストできます。

  • このツールは、Transformer ベースのバックボーンと Mistral バックボーンを使用してトレーニングされたモデルをサポートしています。 Mistral バックボーンをインストールするには、「ArcGIS Mistral バックボーン」をご参照ください。

  • このツールは、モデル拡張フィーチャを使用して作成されたサードパーティの言語モデルの使用をサポートしています。 モデル拡張フィーチャでは、[エンティティ認識モデルのトレーニング (Train Entity Recognition Model)] ツールを使用して作成されていないカスタム ディープ ラーニング モデル ファイル (.dlpk) を使用するエンティティ抽出タスクが可能です。 カスタム ディープ ラーニング モデル ファイル (.dlpk) の作成の詳細については、「ArcGIS でのサードパーティの言語モデルの使用」をご参照ください。

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

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

パラメーター

ラベル説明データ タイプ
入力フォルダーまたはテーブル

このパラメーターへの入力は次のいずれかになります。

  • 名前付きエンティティの抽出が実行されるテキスト列を含むフィーチャクラスまたはテーブル。
  • 名前付きエンティティの抽出が実行されるテキスト ファイルを含むフォルダー。
Folder; Feature Layer; Table View; Feature Class
出力テーブル

抽出されたエンティティを含む出力フィーチャクラスまたはテーブル。 ロケーターが入力され、モデルが住所を抽出すると、抽出された住所をジオコーディングすることでフィーチャクラスが生成されます。

Feature Class; Table; Feature Layer
入力モデル定義ファイル

テキストからのエンティティの抽出に使用されるトレーニング済みモデル。 モデル定義ファイルには、Esri モデル定義 JSON ファイル (.emd)、またはローカルに格納あるいは ArcGIS Living Atlas (.dlpk_remote) でホストされたディープ ラーニング モデル パッケージ (.dlpk) のいずれかを指定することができます。

Mistral バックボーンを使用してトレーニングされた .dlpk ファイルを使用するには、モデルを使用する前にインストールしておく必要があります。 Mistral バックボーンをインストールするには、「ArcGIS Mistral バックボーン」をご参照ください

.dlpk ファイルには、サードパーティの言語モデルを指定することもできます。

注意:

サードパーティの言語モデル .dlpk ファイルには有害なコードが含まれる可能性があります。 ソースを信頼できる場合のみこれらのモデルを使用してください。

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

推測の実行中にモデルによって使用される追加の引数。 サポートされているモデル引数は、モデルの出力の調整に使用される sequence_length です。

注意:

サードパーティの言語モデルを使用すると、モデル引数は、.dlpk ファイルで指定されたパラメーターに従って更新されます。 モデル引数の定義の詳細については、「ArcGIS でのサードパーティの言語モデルの使用」の getParameterInfo セクションをご参照ください。

Value Table
バッチ サイズ
(オプション)

1 回に処理されるトレーニング サンプルの数。 デフォルト値は 4 です。

バッチ サイズを大きくすると、ツールのパフォーマンスが向上しますが、バッチ サイズが増加するにつれて、使用されるメモリ量が増加します。 メモリ不足エラーが発生した場合は、より小さなバッチ サイズを使用してください。

Double
ロケーション ゾーン
(オプション)

その住所が存在すると予想される地理的な領域またはゾーン。 指定されたテキストが、モデルによって抽出された住所に追加されます。

ロケーターは、ロケーション ゾーン情報を使用して、住所が存在する地域または地理的な領域を特定し、より適切な結果を生成します。

String
入力ロケーター
(オプション)

入力テキスト ドキュメント内の住所をジオコーディングするために使用されるロケーター。 ジオコーディングが正常に行われ、出力フィーチャクラスに格納された各住所にポイントが生成されます。

Address Locator
テキスト フィールド

モデルによって入力として使用されるテキストを含む、入力フィーチャクラスまたはテーブル内のテキスト フィールド。 このパラメーターは、[入力フォルダーまたはテーブル] パラメーター値がフィーチャクラスまたはテーブルである場合は必須です。

Field

arcpy.geoai.ExtractEntitiesUsingDeepLearning(in_folder, out_table, in_model_definition_file, {model_arguments}, {batch_size}, {location_zone}, {in_locator}, text_field)
名前説明データ タイプ
in_folder

このパラメーターへの入力は次のいずれかになります。

  • 名前付きエンティティの抽出が実行されるテキスト列を含むフィーチャクラスまたはテーブル。
  • 名前付きエンティティの抽出が実行されるテキスト ファイルを含むフォルダー。
Folder; Feature Layer; Table View; Feature Class
out_table

抽出されたエンティティを含む出力フィーチャクラスまたはテーブル。 ロケーターが入力され、モデルが住所を抽出すると、抽出された住所をジオコーディングすることでフィーチャクラスが生成されます。

Feature Class; Table; Feature Layer
in_model_definition_file

テキストからのエンティティの抽出に使用されるトレーニング済みモデル。 モデル定義ファイルには、Esri モデル定義 JSON ファイル (.emd)、またはローカルに格納あるいは ArcGIS Living Atlas (.dlpk_remote) でホストされたディープ ラーニング モデル パッケージ (.dlpk) のいずれかを指定することができます。

Mistral バックボーンを使用してトレーニングされた .dlpk ファイルを使用するには、モデルを使用する前にインストールしておく必要があります。 Mistral バックボーンをインストールするには、「ArcGIS Mistral バックボーン」をご参照ください

.dlpk ファイルには、サードパーティの言語モデルを指定することもできます。

注意:

サードパーティの言語モデル .dlpk ファイルには有害なコードが含まれる可能性があります。 ソースを信頼できる場合のみこれらのモデルを使用してください。

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

推測の実行中にモデルによって使用される追加の引数。 サポートされているモデル引数は、モデルの出力の調整に使用される sequence_length です。

注意:

サードパーティの言語モデルを使用すると、モデル引数は、.dlpk ファイルで指定されたパラメーターに従って更新されます。 モデル引数の定義の詳細については、「ArcGIS でのサードパーティの言語モデルの使用」の getParameterInfo セクションをご参照ください。

Value Table
batch_size
(オプション)

1 回に処理されるトレーニング サンプルの数。 デフォルト値は 4 です。

バッチ サイズを大きくすると、ツールのパフォーマンスが向上しますが、バッチ サイズが増加するにつれて、使用されるメモリ量が増加します。 メモリ不足エラーが発生した場合は、より小さなバッチ サイズを使用してください。

Double
location_zone
(オプション)

その住所が存在すると予想される地理的な領域またはゾーン。 指定されたテキストが、モデルによって抽出された住所に追加されます。

ロケーターは、ロケーション ゾーン情報を使用して、住所が存在する地域または地理的な領域を特定し、より適切な結果を生成します。

String
in_locator
(オプション)

入力テキスト ドキュメント内の住所をジオコーディングするために使用されるロケーター。 ジオコーディングが正常に行われ、出力フィーチャクラスに格納された各住所にポイントが生成されます。

Address Locator
text_field

モデルによって入力として使用されるテキストを含む、入力フィーチャクラスまたはテーブル内のテキスト フィールド。 このパラメーターは、in_folder パラメーター値がフィーチャクラスまたはテーブルである場合は必須です。

Field

コードのサンプル

ExtractEntitiesUsingDeepLearning (スタンドアロンのスクリプト)

次の例は、ExtractEntitiesUsingDeepLearning 関数を使用する方法を示しています。

# Name: ExtractEntities.py
# Description: Extract useful entities such as "Address", "Date" from text.  

# 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 = 'test_data'
out_table = os.path.join(dbpath, "ExtractedEntities")

pretrained_model_path_emd = "c:\\extractentities\\EntityRecognizer.emd"

# Run Extract Entities Using Deep Learning
arcpy.geoai.ExtractEntitiesUsingDeepLearning(
    in_folder, out_table, pretrained_model_path_emd)

ライセンス情報

  • Basic: No
  • Standard: No
  • Advanced: Yes

関連トピック