Beschriftung | Erläuterung | Datentyp |
Eingabetabelle | Eine Feature-Class oder Tabelle, die ein Textfeld mit dem Eingabetext für das Modell und ein Beschriftungsfeld mit den Zielklassenbeschriftungen enthält. | Feature Layer; Table View |
Textfeld | Ein Textfeld in der Eingabe-Feature-Class oder Eingabetabelle, das den Text enthält, der durch das Modell klassifiziert werden soll. | Field |
Beschriftungsfeld | Ein Textfeld in der Eingabe-Feature-Class oder Eingabetabelle, das die Zielklassenbeschriftungen für das Training des Modells enthält. Geben Sie bei Textklassifizierungen mit mehreren Beschriftungen mehr als ein Textfeld an. | Field |
Ausgabemodell | Der Speicherort des Ausgabeordners, in dem das trainierte Modell gespeichert wird. | Folder |
Datei des vortrainierten Modells (optional) | Ein vortrainiertes Modell, das zum Feintuning des neuen Modells verwendet wird. Als Eingabe kann eine Esri Modelldefinitionsdatei (.emd) oder eine Deep-Learning-Paketdatei (.dlpk) verwendet werden. Für ein vortrainiertes Modell mit ähnlichen Klassen kann ein Finetuning durchgeführt 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 |
Max. Epochen (optional) | Die maximale Anzahl von Epochen, für die das Modell trainiert wird. Eine maximale Epoche von 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 Encoder für das Modell dienen und Feature-Repräsentationen des Eingabetextes in Form von Vektoren fester Länge extrahieren soll. Diese Vektoren werden anschließend als Eingabe an den Klassifizierungskopf des Modells geleitet.
| String |
Batch-Größe (optional) | Die Anzahl der Trainingsgebiete, die gleichzeitig verarbeitet werden sollen. Der Standardwert ist 2. Durch Vergrößern der Batch-Größe kann die Performance des Werkzeugs verbessert werden; mit zunehmender Batch-Größe erhöht sich jedoch auch der Speicherbedarf. Wenn ein Fehler vom Typ "Nicht genügend Arbeitsspeicher" auftritt, verwenden Sie eine kleinere Batch-Größe. | 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 sollen. In den Informationen zu Schlüsselwortargumenten in der TextClassifier-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 sollen. Wenn kein Wert angegeben ist, wird automatisch eine optimale Lernrate festgelegt. | 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 |
HTML-Tags entfernen (optional) | Gibt an, ob HTML-Tags aus dem Eingabetext entfernt werden sollen.
| Boolean |
URLs entfernen (optional) | Gibt an, ob URLs aus dem Eingabetext entfernt werden sollen.
| Boolean |
Zusammenfassung
Trainiert ein Textklassifizierungsmodell mit einzelnen oder mehreren Beschriftungen, mit dem unstrukturiertem Text eine vordefinierte Kategorie oder Beschriftung zugewiesen werden soll.
Weitere Informationen zur Funktionsweise der Textklassifizierung
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 zum Optimieren eines bestehenden, bereits trainierten Modells eingesetzt werden.
Um dieses Werkzeug mithilfe einer GPU auszuführen, legen Sie die Umgebung für den Prozessortyp auf "GPU" fest. Bei mehr als einer GPU geben Sie stattdessen die Umgebung GPU-ID an.
Als Eingabe für das Werkzeug dient eine Tabelle oder Feature-Class mit Trainingsdaten, wobei ein Textfeld den Eingabetext und ein Beschriftungsfeld die Zielklassenbeschriftungen enthält.
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.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})
Name | Erläuterung | Datentyp |
in_table | Eine Feature-Class oder Tabelle, die ein Textfeld mit dem Eingabetext für das Modell und ein Beschriftungsfeld mit den Zielklassenbeschriftungen enthält. | Feature Layer; Table View |
text_field | Ein Textfeld in der Eingabe-Feature-Class oder Eingabetabelle, das den Text enthält, der durch das Modell klassifiziert werden soll. | Field |
label_field [label_field,...] | Ein Textfeld in der Eingabe-Feature-Class oder Eingabetabelle, das die Zielklassenbeschriftungen für das Training des Modells enthält. Geben Sie bei Textklassifizierungen mit mehreren Beschriftungen mehr als ein Textfeld an. | Field |
out_model | Der Speicherort des Ausgabeordners, in dem das trainierte Modell gespeichert wird. | Folder |
pretrained_model_file (optional) | Ein vortrainiertes Modell, das zum Feintuning des neuen Modells verwendet wird. Als Eingabe kann eine Esri Modelldefinitionsdatei (.emd) oder eine Deep-Learning-Paketdatei (.dlpk) verwendet werden. Für ein vortrainiertes Modell mit ähnlichen Klassen kann ein Finetuning durchgeführt 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 |
max_epochs (optional) | Die maximale Anzahl von Epochen, für die das Modell trainiert wird. Eine maximale Epoche von 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 Encoder für das Modell dienen und Feature-Repräsentationen des Eingabetextes in Form von Vektoren fester Länge extrahieren soll. Diese Vektoren werden anschließend als Eingabe an den Klassifizierungskopf des Modells geleitet.
| String |
batch_size (optional) | Die Anzahl der Trainingsgebiete, die gleichzeitig verarbeitet werden sollen. Der Standardwert ist 2. Durch Vergrößern der Batch-Größe kann die Performance des Werkzeugs verbessert werden; mit zunehmender Batch-Größe erhöht sich jedoch auch der Speicherbedarf. Wenn ein Fehler vom Typ "Nicht genügend Arbeitsspeicher" auftritt, verwenden Sie eine kleinere Batch-Größe. | 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 sollen. In den Informationen zu Schlüsselwortargumenten in der TextClassifier-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 sollen. Wenn kein Wert angegeben ist, wird automatisch eine optimale Lernrate festgelegt. | 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 |
remove_html_tags (optional) | Gibt an, ob HTML-Tags aus dem Eingabetext entfernt werden sollen.
| Boolean |
remove_urls (optional) | Gibt an, ob URLs aus dem Eingabetext entfernt werden sollen.
| Boolean |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion TrainTextClassificationModel verwenden.
# 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
import os
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)
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Nein
- Advanced: Ja