Text mit Deep Learning klassifizieren (GeoAI)

Zusammenfassung

Führt ein trainiertes Textklassifizierungsmodell für ein Textfeld in einer Feature-Class oder Tabelle aus und aktualisiert die einzelnen Datensätze mit einer zugewiesenen Klassen- oder Kategoriebeschriftung, wobei jede Klasse einen Konfidenzwert aufweist.

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 erfordert eine Modelldefinitionsdatei, die Informationen zum trainierten Modell enthält. Das Modell kann mit dem Werkzeug Textklassifizierungsmodell trainieren trainiert werden. Als Parameterwert für die Eingabe-Modelldefinitionsdatei kann eine JSON-Datei mit der Esri Modelldefinition (.emd) oder ein Deep-Learning-Modellpaket (.dlpk) verwendet werden. Die Modelldateien können lokal gespeichert oder in ArcGIS Living Atlas gehostet werden.

  • Dieses Werkzeug kann in einer CPU oder einem Grafikprozessor ausgeführt werden. Deep Learning ist jedoch rechenintensiv, sodass ein Grafikprozessor empfohlen wird. Wenn Sie dieses Werkzeug mit dem Grafikprozessor ausführen möchten, legen Sie die Umgebungsvariable Prozessortyp auf "GPU" fest. Wenn Sie mehrere Grafikprozessoren haben, geben Sie stattdessen die Umgebung GPU-ID an.

  • 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

BeschriftungErläuterungDatentyp
Eingabetabelle

Die Point-, Line- oder Polygon-Eingabe-Feature-Class oder Eingabetabelle mit dem Text, der klassifiziert und beschriftet werden soll.

Feature Layer; Table View
Textfeld

Ein Textfeld in der Eingabe-Feature-Class oder Eingabetabelle, das den zu klassifizierenden Text enthält.

Field
Eingabe-Modelldefinitionsdatei

Das trainierte Modell, das für die Klassifizierung verwendet werden soll. Als Modelldefinitionsdatei kann eine JSON-Datei mit der Esri Modelldefinition (.emd) oder ein Deep-Learning-Modellpaket (.dlpk), das lokal gespeichert ist oder in ArcGIS Living Atlas (.dlpk_remote) gehostet wird, verwendet werden.

File
Klassenbeschriftungsfeld
(optional)

Der Name des Feldes für die vom Modell zugewiesene Klassen- oder Kategoriebeschriftung. Der Standardname des Feldes lautet ClassLabel.

String
Modellargumente
(optional)

Zusätzliche Argumente wie sequence_length oder confidence_threshold, die zum Anpassen der Ausgabe des Modells verwendet werden.

Die Namen der Argumente werden vom Werkzeug gefüllt.

Hinweis:

Das Modellargument confidence_threshold gilt nur für Textklassifizierungen mit mehreren Beschriftungen.

Value Table
Erläuterung für jede Vorhersage erhalten
(optional)

Gibt an, ob SHAP-Erklärungen generiert werden. Die Zeit zum Generieren einer Erklärung ist abhängig von der Länge der Eingabe.

  • Aktiviert: Für jede Zeile in der Ausgabetabelle wird eine SHAP-Erklärung generiert.
  • Deaktiviert: Es wird keine SHAP-Erklärung generiert. Dies ist die Standardeinstellung.
Boolean
Batch-Größe
(optional)

Die Anzahl der Trainingsgebiete, die gleichzeitig verarbeitet werden sollen. Der Standardwert ist 4.

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

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisierte Tabelle

Die Point-, Line- oder Polygon-Ausgabe-Feature-Class oder -Ausgabetabelle mit dem klassifizierten und beschrifteten Text, die aus den Eingabedaten in Verbindung mit dem Konfidenzwert für die einzelnen Klassen abgeleitet wurde.

Table View; Feature Layer

arcpy.geoai.ClassifyTextUsingDeepLearning(in_table, text_field, in_model_definition_file, {class_label_field}, {model_arguments}, {explain}, {batch_size})
NameErläuterungDatentyp
in_table

Die Point-, Line- oder Polygon-Eingabe-Feature-Class oder Eingabetabelle mit dem Text, der klassifiziert und beschriftet werden soll.

Feature Layer; Table View
text_field

Ein Textfeld in der Eingabe-Feature-Class oder Eingabetabelle, das den zu klassifizierenden Text enthält.

Field
in_model_definition_file

Das trainierte Modell, das für die Klassifizierung verwendet werden soll. Als Modelldefinitionsdatei kann eine JSON-Datei mit der Esri Modelldefinition (.emd) oder ein Deep-Learning-Modellpaket (.dlpk), das lokal gespeichert ist oder in ArcGIS Living Atlas (.dlpk_remote) gehostet wird, verwendet werden.

File
class_label_field
(optional)

Der Name des Feldes für die vom Modell zugewiesene Klassen- oder Kategoriebeschriftung. Der Standardname des Feldes lautet ClassLabel.

String
model_arguments
[model_arguments,...]
(optional)

Zusätzliche Argumente wie sequence_length oder confidence_threshold, die zum Anpassen der Ausgabe des Modells verwendet werden.

Die Namen der Argumente werden vom Werkzeug gefüllt.

Hinweis:

Das Modellargument confidence_threshold gilt nur für Textklassifizierungen mit mehreren Beschriftungen.

Value Table
explain
(optional)
  • ENABLE_SHAPFür jede Zeile in der Ausgabetabelle wird eine SHAP-Erklärung generiert.
  • DISABLE_SHAPEs wird keine SHAP-Erklärung generiert. Dies ist die Standardeinstellung.
Boolean
batch_size
(optional)

Die Anzahl der Trainingsgebiete, die gleichzeitig verarbeitet werden sollen. Der Standardwert ist 4.

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

Abgeleitete Ausgabe

NameErläuterungDatentyp
updated_table

Die Point-, Line- oder Polygon-Ausgabe-Feature-Class oder -Ausgabetabelle mit dem klassifizierten und beschrifteten Text, die aus den Eingabedaten in Verbindung mit dem Konfidenzwert für die einzelnen Klassen abgeleitet wurde.

Table View; Feature Layer

Codebeispiel

ClassifyTextUsingDeepLearning (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion ClassifyTextUsingDeepLearning verwenden.

# Name: ClassifyText.py
# Description: Classify text into multiple classes
#
# Requirements: ArcGIS Pro Advanced license

# Import system modules
import arcpy

arcpy.env.workspace = "C:/textanalysisexamples/data"

# Set local variables
in_table = "TextClassifierData"
pretrained_model_path_emd = "c:\\classifydata\\TextClassifier.emd"

# Run Classify Text Using Deep Learning
arcpy.geoai.ClassifyTextUsingDeepLearning(in_table, "Address", pretrained_model_path_emd)

Umgebungen

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Ja

Verwandte Themen