Beschriftung | Erläuterung | Datentyp |
Eingabeordner | Ein Ordner mit Trainingsdaten in Form von Standard-Datasets für NER-Tasks. Die Trainingsdaten müssen sich in .json- oder .csv-Dateien befinden. Durch das Dateiformat wird der Dataset-Typ der Eingabe bestimmt. Folgende Dataset-Typen werden unterstützt:
| Folder |
Ausgabemodell | Der Speicherort des Ausgabeordners, in dem das trainierte Modell gespeichert wird. | Folder |
Datei des vortrainierten Modells (optional) | Ein vortrainiertes Modell, das zum Finetuning des neuen Modells verwendet wird. Als Eingabe kann eine Esri Modelldefinitionsdatei (.emd) oder eine Deep-Learning-Paketdatei (.dlpk) verwendet werden. Ein vortrainiertes Modell mit ähnlichen Entitäten kann optimiert werden, um es auf das neue Modell abzustimmen. Das vortrainierte Modell muss mit dem gleichen Modelltyp und dem gleichen Backbone-Modell trainiert worden sein, das für das Training des neuen Modells verwendet wird. | File |
Adressenentität (optional) | Eine Adressenentität, die wie eine Position behandelt wird. Bei der Inferenz werden solche Entitäten mit dem angegebenen Locator geokodiert, und als Ergebnis der Entitätenextraktion wird eine Feature-Class erstellt. Wenn kein Locator bereitgestellt wird oder das trainierte Modell keine Adressenentitäten extrahiert, wird stattdessen eine Tabelle mit den extrahierten Entitäten erstellt. | String |
Max. Epochen (optional) | Die maximale Anzahl von Epochen, für die das Modell trainiert wird. Die Einstellung "Max. Epochen" auf 1 bedeutet, dass das Dataset einmal vorwärts und einmal rückwärts durch das neuronale Netz geleitet wird. Der Standardwert ist 5. | Long |
Modell-Backbone (optional) | Gibt das vorkonfigurierte neuronale Netzwerk an, das als Architektur für das Training des neuen Modells verwendet werden soll.
| String |
Batch-Größe (optional) | Die Anzahl der Trainingsgebiete, die gleichzeitig verarbeitet werden sollen. Dieser Parameter gilt nicht für Modelle mit spaCy-Backbone. Der Standardwert ist 2. Durch größere Batches kann die Leistung des Werkzeugs erhöht werden. Aber größere Batches belegen mehr Arbeitsspeicher. Wird die Fehlermeldung "Nicht genügend Arbeitsspeicher" angezeigt, verwenden Sie kleinere Batches. | Double |
Modellargumente (optional) | Zusätzliche Argumente für die Initialisierung des Modells wie beispielsweise seq_len für die maximale Sequenzlänge der Trainingsdaten, die beim Training des Modells berücksichtigt werden. In den Informationen zu Schlüsselwortargumenten in der EntityRecognizer-Dokumentation finden Sie eine Liste der unterstützten Modellargumente, die verwendet werden können. | Value Table |
Lernrate (optional) | Die Schrittgröße, die angibt, in welchem Umfang die Modellgewichtungen beim Trainingsprozess angepasst werden. Wenn kein Wert angegeben ist, wird automatisch eine optimale Lernrate abgeleitet. | Double |
Validierungsprozentsatz (optional) | Der Prozentsatz der Trainingsgebiete, die für die Überprüfung des Modells verwendet werden sollen. Der Standardwert ist 10. | Double |
Beenden, wenn sich das Modell nicht mehr verbessert (optional) | Gibt an, ob das Modelltraining beendet wird, wenn sich das Modell nicht mehr verbessert, oder erst dann, wenn der Parameterwert Max. Epochen erreicht wurde.
| Boolean |
Modell-Backbone trainierbar machen (optional) | Gibt an, ob die Backbone-Layer im vorab trainierten Modell fixiert werden sollen, sodass die Gewichtungen und Verzerrungen wie ursprünglich vorgesehen beibehalten werden.
| Boolean |
Zusammenfassung
Trainiert ein Modell für die Erkennung benannter Entitäten, mit dem ein vordefinierter Satz Entitäten aus reinem Text extrahiert werden soll.
Weitere Informationen zur Funktionsweise der Entitätenerkennung
Verwendung
Für dieses Werkzeug müssen Deep-Learning-Frameworks installiert sein. Informationen zum Einrichten des Computers für Deep-Learning-Frameworks in ArcGIS Pro finden Sie unter Installieren von Deep-Learning-Frameworks for ArcGIS.
Dieses Werkzeug kann auch zur Optimierung eines vorhandenen trainierten Modells verwendet werden.
Wenn Sie dieses Werkzeug mit dem Grafikprozessor ausführen möchten, legen Sie die Umgebungsvariable Prozessortyp auf "GPU" fest. Wenn Sie mehrere Grafikprozessoren haben, legen Sie stattdessen die Umgebungsvariable GPU ID fest.
Als Eingabe für das Werkzeug wird ein Ordner mit .json- oder .csv-Dateien verwendet.
Weitere Informationen zu den Voraussetzungen für die Ausführung dieses Werkzeugs und eventuell dabei auftretenden Problemen finden Sie unter Häufig gestellte Fragen zu Deep Learning.
Parameter
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})
Name | Erläuterung | Datentyp |
in_folder | Ein Ordner mit Trainingsdaten in Form von Standard-Datasets für NER-Tasks. Die Trainingsdaten müssen sich in .json- oder .csv-Dateien befinden. Durch das Dateiformat wird der Dataset-Typ der Eingabe bestimmt. Folgende Dataset-Typen werden unterstützt:
| Folder |
out_model | Der Speicherort des Ausgabeordners, in dem das trainierte Modell gespeichert wird. | Folder |
pretrained_model_file (optional) | Ein vortrainiertes Modell, das zum Finetuning des neuen Modells verwendet wird. Als Eingabe kann eine Esri Modelldefinitionsdatei (.emd) oder eine Deep-Learning-Paketdatei (.dlpk) verwendet werden. Ein vortrainiertes Modell mit ähnlichen Entitäten kann optimiert werden, um es auf das neue Modell abzustimmen. Das vortrainierte Modell muss mit dem gleichen Modelltyp und dem gleichen Backbone-Modell trainiert worden sein, das für das Training des neuen Modells verwendet wird. | File |
address_entity (optional) | Eine Adressenentität, die wie eine Position behandelt wird. Bei der Inferenz werden solche Entitäten mit dem angegebenen Locator geokodiert, und als Ergebnis der Entitätenextraktion wird eine Feature-Class erstellt. Wenn kein Locator bereitgestellt wird oder das trainierte Modell keine Adressenentitäten extrahiert, wird stattdessen eine Tabelle mit den extrahierten Entitäten erstellt. | String |
max_epochs (optional) | Die maximale Anzahl von Epochen, für die das Modell trainiert wird. Die Einstellung "Max. Epochen" auf 1 bedeutet, dass das Dataset einmal vorwärts und einmal rückwärts durch das neuronale Netz geleitet wird. Der Standardwert ist 5. | Long |
model_backbone (optional) | Gibt das vorkonfigurierte neuronale Netzwerk an, das als Architektur für das Training des neuen Modells verwendet werden soll.
| String |
batch_size (optional) | Die Anzahl der Trainingsgebiete, die gleichzeitig verarbeitet werden sollen. Dieser Parameter gilt nicht für Modelle mit spaCy-Backbone. Der Standardwert ist 2. Durch größere Batches kann die Leistung des Werkzeugs erhöht werden. Aber größere Batches belegen mehr Arbeitsspeicher. Wird die Fehlermeldung "Nicht genügend Arbeitsspeicher" angezeigt, verwenden Sie kleinere Batches. | Double |
model_arguments [model_arguments,...] (optional) | Zusätzliche Argumente für die Initialisierung des Modells wie beispielsweise seq_len für die maximale Sequenzlänge der Trainingsdaten, die beim Training des Modells berücksichtigt werden. In den Informationen zu Schlüsselwortargumenten in der EntityRecognizer-Dokumentation finden Sie eine Liste der unterstützten Modellargumente, die verwendet werden können. | Value Table |
learning_rate (optional) | Die Schrittgröße, die angibt, in welchem Umfang die Modellgewichtungen beim Trainingsprozess angepasst werden. Wenn kein Wert angegeben ist, wird automatisch eine optimale Lernrate abgeleitet. | Double |
validation_percentage (optional) | Der Prozentsatz der Trainingsgebiete, die für die Überprüfung des Modells verwendet werden sollen. Der Standardwert ist 10. | Double |
stop_training (optional) | Gibt an, ob das Modelltraining beendet wird, wenn sich das Modell nicht mehr verbessert, oder erst dann, wenn der Parameterwert max_epochs erreicht wurde.
| Boolean |
make_trainable (optional) | Gibt an, ob die Backbone-Layer im vorab trainierten Modell fixiert werden sollen, sodass die Gewichtungen und Verzerrungen wie ursprünglich vorgesehen beibehalten werden.
| Boolean |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie Sie die Funktion TrainEntityRecognitionModel verwenden.
# 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)
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Nein
- Advanced: Ja