- Versionshinweise
- Bevor Sie beginnen
- Erste Schritte
- Installieren der Automation Suite
- Migration und Upgrade
- Projekte
- Datasets
- ML-Pakete
- Pipelines
- ML-Skills
- ML-Protokolle
- Document Understanding im AI Center
- Anleitungen zu …
- Grundlegende Anleitung zur Fehlerbehebung
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.
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
]
]
}
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.
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 standardmäßig festgelegt. 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, 9
text, 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
.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
- 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
oderauto
. - Wenn
ai_center
ausgewählt ist, werden nurJSON
-Dateien unterstützt. Stellen Sie sicher, dass Sie auch den Wert von dataset.target_column_name inannotations.sentiment.choices
ändern, wennai_center
ausgewählt ist. - Wenn
auto
ausgewählt ist, werden sowohlCoNLL
- als auchJSON
-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.
- Der Standardwert für diesen Parameter ist
- 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
.
- Wenn dies auf
Optionale Variablen
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
oderNone
.
- Unterstützte Werte sind:
- 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)
, wobeix
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
und10
.
- 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
oderFalse
.
- Wird verwendet, um zu konfigurieren, ob Stoppwörter in die Suche eingeschlossen werden sollen (z. B. Wörter wie
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äzision | Rückruf | Schwellenwert |
---|---|---|
0.8012232415902141 | 0.6735218508997429 | 0.30539842728983285 |
0.8505338078291815 | 0.6143958868894601 | 0.37825683923133907 |
0.9005524861878453 | 0.4190231362467866 | 0.6121292357073038 |
0.9514563106796117 | 0.2519280205655527 | 0.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.
Label | Präzision | Rückruf | F1-Ergebnis | Support |
---|---|---|---|---|
0.0 | 0.805 | 0.737 | 0.769 | 319 |
1.0 | 0.731 | 0.812 | 0.77 | 389 |
2.0+ | 0.778 | 0.731 | 0.754 | 394 |
3.0 | 0.721 | 0.778 | 0.748 | 392 |
4.0 | 0.855 | 0.844 | 0.85 | 385 |
5.0 | 0.901 | 0.803 | 0.849 | 395 |
Konfusionsmatrix
Beste Modellparameter für die Hyperparametersuche
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.
Name | Wert |
---|---|
BOW.ngram_range | (1, 2) |
BOW.min_df | 2 |
BOW.lr_kwargs.class_weight | Ausgewogen |
dataset.text_pp_remove_stop_words | True |
Hyperparameter-Suchbericht
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.