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

サマリー

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

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

使用法

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

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

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

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

パラメーター

ラベル説明データ タイプ
入力フォルダー

名前付きエンティティの抽出が実行されるテキスト ファイルを含むフォルダー。

Folder
出力テーブル

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

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

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

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

モデルの感度を調整するために使用される追加の引数 (信頼性の閾値など)。

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

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

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

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

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

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

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

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

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

Address Locator

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

名前付きエンティティの抽出が実行されるテキスト ファイルを含むフォルダー。

Folder
out_table

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

Feature Class; Table
in_model_definition_file

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

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

モデルの感度を調整するために使用される追加の引数 (信頼性の閾値など)。

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

Value Table
batch_size
(オプション)

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

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

Double
location_zone
(オプション)

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

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

String
in_locator
(オプション)

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

Address Locator

コードのサンプル

ExtractEntitiesUsingDeepLearning (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、ExtractEntitiesUsingDeepLearning 関数の使用方法を示しています。

# Name: ExtractEntities.py
# Description: 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 = '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)