AI Center
2022.4
False
Light Text Classification - Automation Suite 2022.4
Bannerhintergrundbild
Logo
AI Center – Benutzerhandbuch
Letzte Aktualisierung 19. Dez. 2023

Leichte Textklassifizierung

Sofort einsetzbare Pakete > UiPath Sprachanalyse > LightTextClassification

Dies ist ein generisches, erneut trainierbares Modell für die Textklassifizierung. Es unterstützt alle Sprachen, die auf lateinischen Zeichen basieren, z. B. Englisch, Französisch, Spanisch und andere. Dieses ML-Paket muss trainiert werden, und wenn es zuerst ohne Training bereitgestellt wird, schlägt die Bereitstellung mit einem Fehler fehl, der angibt, dass das Modell nicht trainiert wurde. Dieses Modell funktioniert mit Bag of Words. Dieses Modell bietet Erklärbarkeit basierend auf n-Grammen.

Modelldetails

Eingabetyp

JSON und CSV

Eingabebeschreibung

Text, der als String klassifiziert werden soll: „I loved this movie.“

Ausgabebeschreibung

JSON mit Klasse und Konfidenz (zwischen 0-1).

{
    "class": "7",
    "confidence": 0.1259827300369445,
    "ngrams": [
        [
            "like",
            1.3752658445706787
        ],
        [
            "like this",
            0.032029048484416685
        ]
    ]
}{
    "class": "7",
    "confidence": 0.1259827300369445,
    "ngrams": [
        [
            "like",
            1.3752658445706787
        ],
        [
            "like this",
            0.032029048484416685
        ]
    ]
}

GPU empfohlen

Eine GPU ist nicht erforderlich.

Training aktiviert

Standardmäßig ist Training aktiviert.

Pipelines

Dieses Paket unterstützt alle drei Arten von Pipelines (Vollständiges Training, Training und Evaluierung). Das Modell verwendet erweiterte Techniken, um mithilfe der Hyperparametersuche ein performantes Modell zu finden. Standardmäßig ist die Hyperparametersuche (die Variable BOW.hyperparameter_search.enable ) aktiviert. Die Parameter des leistungsstärksten Modells sind im Auswertungsbericht verfügbar.

Dataset-Format

Drei Optionen sind verfügbar, um Ihr Dataset für dieses Modell zu strukturieren: JSON, CSV und AI Center™-JSON-Format. Das Modell liest alle CSV- und JSON-Dateien im angegebenen Verzeichnis. Für jedes Format erwartet das Modell standardmäßig zwei Spalten oder zwei Eigenschaften, dataset.input_column_name und dataset.target_column_name . Die Namen dieser beiden Spalten und/oder Verzeichnisse können mithilfe von Umgebungsvariablen konfiguriert werden.

CSV-Dateiformat

Jede CSV-Datei kann eine beliebige Anzahl von Spalten haben, aber nur zwei werden vom Modell verwendet. Diese Spalten werden durch dataset.input_column_name angegeben und dataset.target_column_name Parameter.

Überprüfen Sie die folgenden Beispiel- und Umgebungsvariablen für ein Beispiel eines CSV-Dateiformats.

text, label
I like this movie, 7
I hated the acting, 9text, label
I like this movie, 7
I hated the acting, 9

Die Umgebungsvariablen für das vorherige Beispiel lauten wie folgt:

  • dataset.input_format: auto
  • dataset.input_column_name: text
  • dataset.target_column_name: label

JSON-Dateiformat

Mehrere Datenpunkte können Teil derselben JSON-Datei sein.

Überprüfen Sie die folgenden Beispiel- und Umgebungsvariablen für ein Beispiel eines JSON-Dateiformats.

[
  {
    "text": "I like this movie",
    "label": "7"
  },
  {
    "text": "I hated the acting",
    "label": "9"
  }
][
  {
    "text": "I like this movie",
    "label": "7"
  },
  {
    "text": "I hated the acting",
    "label": "9"
  }
]

Die Umgebungsvariablen für das vorherige Beispiel lauten wie folgt:

  • dataset.input_format: auto
  • dataset.input_column_name: text
  • dataset.target_column_name: label

ai_center-Dateiformat

Dies ist der Standardwert der Umgebungsvariablen, der festgelegt werden kann, und dieses Modell liest alle Dateien in einem bereitgestellten Verzeichnis mit der Erweiterung .json .

Überprüfen Sie die folgenden Beispiel- und Umgebungsvariablen für ein Beispiel eines ai_center-Dateiformats.

{
    "annotations": {
        "intent": {
            "to_name": "text",
            "choices": [
                "TransactionIssue",
                "LoanIssue"
            ]
        },
        "sentiment": {
            "to_name": "text",
            "choices": [
                "Very Positive"
            ]
        },
        "ner": {
            "to_name": "text",
            "labels": [
                {
                    "start_index": 37,
                    "end_index": 47,
                    "entity": "Stakeholder",
                    "value": " Citi Bank"
                },
                {
                    "start_index": 51,
                    "end_index": 61,
                    "entity": "Date",
                    "value": "07/19/2018"
                },
                {
                    "start_index": 114,
                    "end_index": 118,
                    "entity": "Amount",
                    "value": "$500"
                },
                {
                    "start_index": 288,
                    "end_index": 293,
                    "entity": "Stakeholder",
                    "value": " Citi"
                }
            ]
        }
    },
    "data": {
        "cc": "",
        "to": "xyz@abc.com",
        "date": "1/29/2020 12:39:01 PM",
        "from": "abc@xyz.com",
        "text": "I opened my new checking account with Citi Bank in 07/19/2018 and met the requirements for the promotion offer of $500 . It has been more than 6 months and I have not received any bonus. I called the customer service several times in the past few months but no any response. I request the Citi honor its promotion offer as advertised."{
    "annotations": {
        "intent": {
            "to_name": "text",
            "choices": [
                "TransactionIssue",
                "LoanIssue"
            ]
        },
        "sentiment": {
            "to_name": "text",
            "choices": [
                "Very Positive"
            ]
        },
        "ner": {
            "to_name": "text",
            "labels": [
                {
                    "start_index": 37,
                    "end_index": 47,
                    "entity": "Stakeholder",
                    "value": " Citi Bank"
                },
                {
                    "start_index": 51,
                    "end_index": 61,
                    "entity": "Date",
                    "value": "07/19/2018"
                },
                {
                    "start_index": 114,
                    "end_index": 118,
                    "entity": "Amount",
                    "value": "$500"
                },
                {
                    "start_index": 288,
                    "end_index": 293,
                    "entity": "Stakeholder",
                    "value": " Citi"
                }
            ]
        }
    },
    "data": {
        "cc": "",
        "to": "xyz@abc.com",
        "date": "1/29/2020 12:39:01 PM",
        "from": "abc@xyz.com",
        "text": "I opened my new checking account with Citi Bank in 07/19/2018 and met the requirements for the promotion offer of $500 . It has been more than 6 months and I have not received any bonus. I called the customer service several times in the past few months but no any response. I request the Citi honor its promotion offer as advertised."

Um das vorherige JSON-Beispiel zu nutzen, müssen die Umgebungsvariablen wie folgt festgelegt werden:

  • dataset.input_format: ai_center
  • dataset.input_column_name: data.text
  • dataset.target_column_name: annotations.intent.choices

Training auf GPU oder CPU

Eine GPU ist für das Training nicht erforderlich.

Umgebungsvariablen

  • dataset.input_column_name
    • Der Name der Eingabespalte, die den Text enthält.
    • Der Standardwert ist data.text.
    • Stellen Sie sicher, dass diese Variable gemäß Ihrer JSON- oder CSV-Eingabedatei konfiguriert ist.
  • dataset.target_column_name
    • Der Name der Zielspalte, die den Text enthält.
    • Der Standardwert ist annotations.intent.choices.
    • Stellen Sie sicher, dass diese Variable gemäß Ihrer JSON- oder CSV-Eingabedatei konfiguriert ist.
  • dataset.input_format
    • Das Eingabeformat der Trainingsdaten.
    • Der Standardwert ist ai_center.
    • Unterstützte Werte sind: ai_center oder auto .
    • Wenn ai_center ausgewählt ist, werden nur JSON -Dateien unterstützt. Stellen Sie sicher, dass Sie auch den Wert von dataset.target_column_name in annotations.sentiment.choices ändern, wenn ai_center ausgewählt ist.
    • Wenn auto ausgewählt ist, werden sowohl CoNLL - als auch JSON -Dateien unterstützt.
  • BOW.hyperparameter_search.enable
    • Der Standardwert für diesen Parameter ist True . Wenn diese Option aktiviert bleibt, wird das leistungsstärkste Modell im angegebenen Zeitrahmen und die Compute-Ressourcen gefunden.
    • Dadurch wird auch eine HyperparameterSearch_report -PDF-Datei generiert, um Variationen von Parametern zu präsentieren, die ausprobiert wurden.
  • BOW.hyperparameter_search.timeout
    • Die maximale Ausführungszeit der Hyperparametersuche in Sekunden.
    • Der Standardwert ist 1800.
  • BOW.explain_inference
    • Wenn dies auf True festgelegt ist, werden während der Inferenzzeit, wenn das Modell als ML-Fähigkeit bereitgestellt wird, einige der wichtigsten N-Gramme zusammen mit der Vorhersage zurückgegeben.
    • Der Standardwert ist False.

Optionale Variablen

Sie können weitere optionale Variablen hinzufügen, indem Sie auf die Schaltfläche Neu hinzufügen klicken. Wenn Sie jedoch die Variable BOW.hyperparameter_search.enable auf True festlegen, werden die optimalen Werte dieser Variablen gesucht. Für die folgenden optionalen Parameter, die vom Modell verwendet werden sollen, legen Sie die Suchvariable BOW.hyperparameter_search.enable auf False fest:
  • BOW.lr_kwargs.class_weight
    • Unterstützte Werte sind: balanced oder None .
  • BOW.ngram_range
    • Bereich der Sequenzlänge der aufeinanderfolgenden Wortsequenz, die als Funktionen für das Modell betrachtet werden kann.
    • Stellen Sie sicher, dass Sie dieses Format einhalten: (1, x) , wobei x die maximale Sequenzlänge ist, die Sie zulassen möchten.
  • BOW.min_df
    • Wird verwendet, um die minimale Anzahl von Vorkommen des N-Grammes im Dataset festzulegen, die als Feature betrachtet werden soll.
    • Empfohlene Werte liegen zwischen 0 und 10 .
  • dataset.text_pp_remove_stop_words
    • Wird verwendet, um zu konfigurieren, ob Stoppwörter in die Suche eingeschlossen werden sollen (z. B. Wörter wie the , or ).
    • Unterstützte Werte sind: True oder False .

Artefakte

Der Bewertungsbericht ist eine PDF-Datei, die die folgenden Informationen in einem für Menschen lesbaren Format enthält:

  • ngrams pro Klasse
  • Präzisions-Rückruf-Diagramm
  • Klassifizierungsbericht
  • Konfusionsmatrix
  • Beste Modellparameter für die Hyperparametersuche
ngrams pro Klasse

Dieser Abschnitt enthält die 10 wichtigsten N-Gramme, die sich auf die Modellvorhersage für diese Klasse auswirken. Für jede Klasse, für die das Modell trainiert wurde, gibt es eine andere Tabelle.

Präzisions-Rückrufdiagramm

Sie können dieses Diagramm und die Tabelle verwenden, um die Genauigkeit, den Rückruf-Kompromiss sowie die f1-Scores des Modells zu überprüfen. Die Schwellenwerte und die entsprechenden Präzisions- und Rückrufwerte sind auch in einer Tabelle unter diesem Diagramm aufgeführt. In dieser Tabelle wird der gewünschte Schwellenwert ausgewählt, der in Ihrem Workflow konfiguriert werden soll, um zu entscheiden, wann die Daten für Human-in-the-Loop an das Action Center gesendet werden sollen. Beachten Sie, dass je höher der gewählte Schwellenwert ist, desto höher ist die Datenmenge, die an das Action Center für Human-in-the-Loop weitergeleitet wird.

Für jede Klasse gibt es ein Präzisions-Rückruf-Diagramm.

Ein Beispiel für ein Präzisions-Rückruf-Diagramm finden Sie in der folgenden Abbildung.



Ein Beispiel für eine Präzisionsrückruftabelle finden Sie in der folgenden Tabelle.

PräzisionRückrufSchwellenwert
0.80122324159021410.67352185089974290.30539842728983285
0.85053380782918150.61439588688946010.37825683923133907
0.90055248618784530.41902313624678660.6121292357073038
0.95145631067961170.25192802056555270.7916427288647211
Klassifizierungsbericht

Der Klassifizierungsbericht enthält die folgenden Informationen:

  • Beschriftung – der Beschriftungsteil des Testsatzes
  • Präzision – die Genauigkeit der Vorhersage
  • Rückruf – relevante Instanzen, die abgerufen wurden
  • F1-Punktzahl – das geometrische Mittel zwischen Präzision und Wiedererkennungswert; Sie können diese Punktzahl verwenden, um zwei Modelle zu vergleichen.
  • Support – die Häufigkeit, mit der eine bestimmte Bezeichnung im Testsatz angezeigt wird.

Ein Beispiel für einen Klassifizierungsbericht finden Sie in der folgenden Tabelle.

LabelPräzisionRückrufF1-ErgebnisSupport
0.00.8050.7370.769319
1.00.7310.8120.77389
2.0+0.7780.7310.754394
3.00.7210.7780.748392
4.00.8550.8440.85385
5.00.9010.8030.849395
Konfusionsmatrix


Beste Modellparameter für die Hyperparametersuche
Wenn die Variable BOW.hyperparameter_search.enable auf True festgelegt ist, werden die besten vom Algorithmus ausgewählten Modellparameter in dieser Tabelle angezeigt. Um das Modell mit anderen Parametern, die nicht von der Hyperparametersuche abgedeckt werden, erneut zu trainieren, können Sie diese Parameter auch manuell in den Umgebungsvariablenfestlegen. Weitere Informationen hierzu finden Sie im Abschnitt (doc:light-text-classification#environment-variables).

Ein Beispiel für diesen Bericht finden Sie in der folgenden Tabelle.

NameWert
BOW.ngram_range(1, 2)
BOW.min_df2
BOW.lr_kwargs.class_weightAusgewogen
dataset.text_pp_remove_stop_wordsTrue

Hyperparameter-Suchbericht

Dieser Bericht ist eine PDF-Datei, die nur generiert wird, wenn der Parameter BOW.hyperparameter_search.enable auf True festgelegt ist. Der Bericht enthält die besten Werte für die optionalen Variablen und ein Diagramm zur Anzeige der Ergebnisse.


JSON-Dateien

Sie können separate JSON-Dateien finden, die den jeweiligen Abschnitten der PDF-Datei zum Evaluierungsbericht entsprechen. Diese JSON-Dateien sind durch Maschinen lesbar und Sie können sie verwenden, um mithilfe des Workflows die Modellauswertung zu Insights zu leiten.

Daten

CSV-Auswertungsdatei

Dies ist eine CSV-Datei mit Vorhersagen für den Testsatz, der für die Auswertung verwendet wird. Diese Datei enthält auch die N-Gramme, die sich auf die Vorhersage ausgewirkt haben (unabhängig vom Wert der Variablen BOW.explain_inference ).

Symbol für Support und Dienste
Hilfe erhalten
UiPath Academy-Symbol
RPA lernen – Automatisierungskurse
Symbol für UiPath-Forum
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.