- Versionshinweise
- Erste Schritte
- Benachrichtigungen
- Projekte
- Datasets
- Data Labeling
- ML-Pakete
- Sofort einsetzbare Pakete
- Pipelines
- ML-Skills
- ML-Protokolle
- Document UnderstandingTM im AI Center
- AI Center-API
- Lizenzierung
- Vorlagen für AI Solutions
- Anleitungen zu …
- Grundlegende Anleitung zur Fehlerbehebung
Benutzerdefinierte Named Entity Recognition
Sofort einsetzbare Pakete > UiPath Sprachanalyse > CustomNamedEntityRecognonition
Mit diesem Modell können Sie Ihr eigenes Dataset mit Tags versehen mit Entitäten, die Sie extrahieren möchten. Die Trainings- und Auswertungs-Datasets müssen entweder im CoNLL- oder JSON-Format vorliegen. Die Daten können auch aus dem AI Center Data Labeling-Tool oder Label Studio exportiert werden. Dieses ML-Paket muss neu trainiert werden. Wenn es zuerst ohne Training bereitgestellt wird, schlägt die Bereitstellung mit einem Fehler fehl, der angibt, dass das Modell nicht trainiert ist.
Ein Beispiel zur Verwendung dieses Modells finden Sie unter Extrahieren von Chemikalien nach Kategorie aus einer Forschungsarbeit für einen Anwendungsfall.
Wann das NER-Modell (Custom Named Entity Recognition) verwendet werden soll
Verwenden Sie das benutzerdefinierte NER-Modell zum Extrahieren von:
-
spezielle Informationen aus dem Text. Diese Informationen werden als
entity
bezeichnet. -
Die Namen von Personen, Orten, Organisationen, Orten, Datumsangaben, numerischen Werten usw. Die extrahierten Entitäten schließen sich gegenseitig aus. Entitäten befinden sich auf Einzelwort- oder Mehrfachwortebene, nicht auf Unterwortebene. Beispielsweise kann eine Entität im Satz „ I Live in New York “ New York sein, jedoch nicht im Satz „ I Read the New Yorker “.
Sie können die extrahierten Entitäten direkt in den Informationsextraktionsprozessen oder als Eingaben für die nachgelagerten Aufgaben verwenden, wie z. B. Klassifizierung des Quelltexts, Stimmungsanalyse des Quelltexts, PHi usw.
Empfehlungen für Trainings-Datasets
- Mindestens 200 Beispiele pro Entität, wenn die Entitäten eine hohe Dichte an Beispielen aufweisen, d. h., dass die meisten Beispiele (mehr als 75 %) 3–5 dieser Entitäten enthalten.
- Wenn die Entitäten spärlich sind (jede Stichprobe hat weniger als drei Entitäten), d. h. wenn nur einige der Entitäten in den meisten Dokumenten erscheinen, dann wird empfohlen, mindestens 400 Beispiele pro Entität zu haben. Dies hilft dem Modell, die unterscheidenden Funktionen besser zu verstehen.
- Wenn es mehr als 10 Entitäten gibt, fügen Sie 100 weitere Beispiele inkrementell hinzu, bis Sie die gewünschte Leistungsmetrik erreicht haben.
Best Practices
- sinnvolle Entitäten haben; Wenn ein Mensch eine Entität nicht identifizieren kann, kann es auch ein Modell nicht sein.
- Einfache Entitäten haben. Anstelle einer einzelnen Entitätsadresse sollten Sie diese in mehrere Entitäten aufteilen: Straßenname, Bundeslandname, Stadtname oder Postleitzahl usw.
- Erstellen Sie sowohl Trainings- als auch Test-Datasets und verwenden Sie eine vollständige Pipeline für das Training.
- Beginnen Sie mit einer Mindestanzahl von Beispielen für die Anmerkung, die alle Entitäten abdecken.
- Stellen Sie sicher, dass alle Entitäten sowohl in der Trainings- als auch in der Testaufteilung dargestellt sind.
- Führen Sie eine vollständige Pipeline aus und überprüfen Sie die Testmetriken. Wenn die Testmetrik nicht zufriedenstellend ist, überprüfen Sie den Klassifizierungsbericht und identifizieren Sie die Entitäten mit schlechter Leistung. Fügen Sie weitere Beispiele hinzu, die die Entitäten mit geringer Leistung abdecken, und wiederholen Sie den Trainingsprozess, bis die gewünschte Metrik erreicht ist.
Dieses mehrsprachige Modell unterstützt die unten aufgeführten Sprachen. Diese Sprachen wurden ausgewählt, da sie die Top 100 Sprachen mit den umfangreichsten Wikipedia-Enzyklopädien sind:
- Afrikaans
- Albanisch
- Arabisch
- Aragonesisch
- Armenisch
- Asturisch
- Aserbaidschanisch
- Baschkirisch
- Baskisch
- Bayerisch
- Weißrussisch
- Bengali
- Bishnupriya Manipuri
- Bosnisch
- Bretonisch
- Bulgarisch
- Birmanisch
- Katalanisch
- Cebuano
- Tschetschenien
- Chinesisch (vereinfacht)
- Chinesisch (traditionell)
- Tschuwaschisch
- Kroatisch
- Tschechisch
- Dänisch
- Niederländisch
- Englisch
- Estnisch
- Finnisch
- Französisch
- Galizisch
- Georgisch
- Deutsch
- Griechisch
- Gujarati
- Haitianisch
- Hebräisch
- Hindi
- Ungarisch
- Isländisch
- Ido
- Indonesisch
- Irisch
- Italienisch
- Japanisch
- Javanisch
- Kannada
- Kasachisch
- Kirgisisch
- Koreanisch
- Latein
- Lettisch
- Litauisch
- Langobardisch
- Niedersächsisch
- Luxemburgisch
- Mazedonisch
- Madagassisch
- Malaiisch
- Malaiisch
- Marathi
- Minangkabau
- Mongolisch
- Nepali
- Newari
- Norwegisch (Bokmål)
- Norwegisch (Nynorsk)
- Okzitanisch
- Persisch (Farsi)
- Piemontesisch
- Polnisch
- Portugiesisch
- Punjabi
- Rumänisch
- Russisch
- Scots
- Serbisch
- Serbokroatisch
- Sizilianisch
- Slowakisch
- Slowenisch
- Süd-Aserbaidschanisch
- Spanisch
- Sundanesisch
- Swahili
- Schwedisch
- Tagalog
- Tadschikisch
- Tamil
- Tatarisch
- Telugu
- Thai
- Türkisch
- Ukrainisch
- Urdu
- Usbekisch
- Vietnamesisch
- Volapük
- Waray-Waray
- Walisisch
- Westfriesisch
- West-Punjabi
- Yoruba
Text in einer der oben genannten Sprachen, aus denen Entitäten extrahiert werden.
Liste der benannten Entitäten im Text. Jedes Element in der Liste hat die folgenden Elemente in der Vorhersage:
- Erkannter Text
- Anfangs- und Endpositionen des Texts, zeichenweise
- Typ der benannten Entität
- Confidence
{ "response" : [{ "value": "George Washington", "start_index": 0, "end_index": 17, "entity": "PER", "confidence": 0.96469810605049133 }] }
{ "response" : [{ "value": "George Washington", "start_index": 0, "end_index": 17, "entity": "PER", "confidence": 0.96469810605049133 }] }
Alle drei Pipelinetypen (Vollständiges Training, Training und Auswertung) werden von diesem Paket unterstützt. Für die meisten Anwendungsfälle müssen keine Parameter angegeben werden, das Modell verwendet erweiterte Techniken, um ein leistungsstarkes Modell zu finden. In nachfolgenden Trainings nach dem ersten verwendet das Modell inkrementelles Lernen (das heißt, am Ende eines Trainingslaufs wird die zuvor trainierte Version verwendet).
Sie können die Label Studio-APIs verwenden, um die Daten und Vorhersagen mit geringer Zuverlässigkeit zurückzuschreiben. Ihre Daten können im CoNLL-Format neu beschriftet und exportiert werden.
Weitere Informationen zur Verwendung von Label Studio finden Sie unter Erste Schritte mit Label Studio. Außerdem können Sie die UiPath® Studio- Aktivität für die Label Studio-Integration hier herunterladen.
Alternativ können Sie die Datenbeschriftungsfunktion im AI Center nutzen.
Sie können für das Training entweder den GPU oder den CPU verwenden. Wir empfehlen die Verwendung des GPUs, da er schneller ist.
Dieses Modell unterstützt das Lesen aller Dateien in einem bestimmten Verzeichnis während aller Pipelineausführungen (Training, Auswertung und vollständige Pipeline).
Set Date
SetDate
.
CoNLL-Dateiformat
.txt
- und/oder .conll
-Erweiterung lesen, indem es das CoNLL-Dateiformat im bereitgestellten Verzeichnis verwendet.
Das CoNLL-Dateiformat stellt einen Textkörper mit einem Wort pro Zeile dar, wobei jedes Wort 10 durch Tabulatoren getrennte Spalten mit Informationen über das Wort enthält (z. B. Oberfläche und Syntax).
Die trainierbare, benannte Entitätserkennung unterstützt zwei CoNLL-Formate:
- Mit nur zwei Spalten im Text.
- Mit vier Spalten im Text.
conll
oder label_studio
.
label_studio
-Format entspricht dem CoNLL
-Format, wobei die Trennung zwischen zwei Datenpunkten eine neue leere Zeile ist. Um die Trennung zwischen zwei Datenpunkten mit -DOCSTART- -X- O O
zu unterstützen, fügen Sie dataset.input_format als Umgebungsvariable hinzu und legen Sie ihren Wert auf conll
fest.
Weitere Informationen finden Sie in den folgenden Beispielen.
Japan NNP B-NP B-LOC
began VBD B-VP O
the DT B-NP O
defence NN I-NP O
of IN B-PP O
their PRP$ B-NP O
Asian JJ I-NP B-MISC
Cup NNP I-NP I-MISC
title NN I-NP O
with IN B-PP O
a DT B-NP O
lucky JJ I-NP O
2-1 CD I-NP O
win VBP B-VP O
against IN B-PP O
Syria NNP B-NP B-LOC
in IN B-PP O
a DT B-NP O
Group NNP I-NP O
C NNP I-NP O
championship NN I-NP O
match NN I-NP O
on IN B-PP O
Friday NNP B-NP O
. . O OFounding O
member O
Kojima B-PER
Minoru I-PER
played O
guitar O
on O
Good B-MISC
Day I-MISC
, O
and O
Wardanceis I-MISC
cover O
of O
a O
song O
by O
UK I-LOC
post O
punk O
industrial O
band O
Killing B-ORG
Joke I-ORG
. O
Japan NNP B-NP B-LOC
began VBD B-VP O
the DT B-NP O
defence NN I-NP O
of IN B-PP O
their PRP$ B-NP O
Asian JJ I-NP B-MISC
Cup NNP I-NP I-MISC
title NN I-NP O
with IN B-PP O
a DT B-NP O
lucky JJ I-NP O
2-1 CD I-NP O
win VBP B-VP O
against IN B-PP O
Syria NNP B-NP B-LOC
in IN B-PP O
a DT B-NP O
Group NNP I-NP O
C NNP I-NP O
championship NN I-NP O
match NN I-NP O
on IN B-PP O
Friday NNP B-NP O
. . O OFounding O
member O
Kojima B-PER
Minoru I-PER
played O
guitar O
on O
Good B-MISC
Day I-MISC
, O
and O
Wardanceis I-MISC
cover O
of O
a O
song O
by O
UK I-LOC
post O
punk O
industrial O
band O
Killing B-ORG
Joke I-ORG
. O
JSON-Dateiformat
.json
im JSON-Format.
Überprüfen Sie die folgenden Beispiel- und Umgebungsvariablen auf ein Beispiel für ein JSON-Dateiformat .
{
"text": "Serotonin receptor 2A ( HTR2A ) gene polymorphism predicts treatment response to venlafaxine XR in generalized anxiety disorder . anxiety disorder ( GAD ) is a chronic psychiatric disorder with significant morbidity and mortality .\)
Antidepressant drugs are the preferred choice for treatment ; however , treatment response is often variable .\)
Several studies in major depression have implicated a role of the serotonin receptor gene ( HTR2A ) in treatment response to antidepressants .\)
We tested the hypothesis that the genetic polymorphism rs7997012 in the HTR2A gene predicts treatment outcome in GAD patients treated with venlafaxine XR . Treatment response was assessed in 156 patients that participated in a 6-month open - label clinical trial of venlafaxine XR for GAD . Primary analysis included Hamilton Anxiety Scale ( HAM-A ) reduction at 6 months .\)
Secondary outcome measure was the Clinical Global Impression of Improvement ( CGI-I ) score at 6 months .\)
Genotype and allele frequencies were compared between groups using χ(2) contingency analysis .\)
The frequency of the G-allele differed significantly between responders ( 70% ) and nonresponders ( 56% ) at 6 months ( P=0.05 ) using the HAM-A scale as outcome measure .\)
Similarly , using the CGI-I as outcome , the G-allele was significantly associated with improvement ( P=0.01 ) .\)
Assuming a dominant effect of the G-allele , improvement differed significantly between groups ( P=0.001 , odds ratio=4.72 ) .\)
Similar trends were observed for remission although not statistically significant .\)
We show for the first time a pharmacogenetic effect of the HTR2A rs7997012 variant in anxiety disorders , suggesting that pharmacogenetic effects cross diagnostic categories .\)
Our data document that individuals with the HTR2A rs7997012 single nucleotide polymorphism G-allele have better treatment outcome over time .\)
Future studies with larger sample sizes are necessary to further characterize this effect in treatment response to antidepressants in GAD .",
"entities": [{
"entity": "TRIVIAL",
"value": "Serotonin",
"start_index": 0,
"end_index": 9
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 81,
"end_index": 92
}, {
"entity": "TRIVIAL",
"value": "serotonin",
"start_index": 409,
"end_index": 418
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 625,
"end_index": 636
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 752,
"end_index": 763
}, {
"entity": "FAMILY",
"value": "nucleotide",
"start_index": 1800,
"end_index": 1810
}]
}
{
"text": "Serotonin receptor 2A ( HTR2A ) gene polymorphism predicts treatment response to venlafaxine XR in generalized anxiety disorder . anxiety disorder ( GAD ) is a chronic psychiatric disorder with significant morbidity and mortality .\)
Antidepressant drugs are the preferred choice for treatment ; however , treatment response is often variable .\)
Several studies in major depression have implicated a role of the serotonin receptor gene ( HTR2A ) in treatment response to antidepressants .\)
We tested the hypothesis that the genetic polymorphism rs7997012 in the HTR2A gene predicts treatment outcome in GAD patients treated with venlafaxine XR . Treatment response was assessed in 156 patients that participated in a 6-month open - label clinical trial of venlafaxine XR for GAD . Primary analysis included Hamilton Anxiety Scale ( HAM-A ) reduction at 6 months .\)
Secondary outcome measure was the Clinical Global Impression of Improvement ( CGI-I ) score at 6 months .\)
Genotype and allele frequencies were compared between groups using χ(2) contingency analysis .\)
The frequency of the G-allele differed significantly between responders ( 70% ) and nonresponders ( 56% ) at 6 months ( P=0.05 ) using the HAM-A scale as outcome measure .\)
Similarly , using the CGI-I as outcome , the G-allele was significantly associated with improvement ( P=0.01 ) .\)
Assuming a dominant effect of the G-allele , improvement differed significantly between groups ( P=0.001 , odds ratio=4.72 ) .\)
Similar trends were observed for remission although not statistically significant .\)
We show for the first time a pharmacogenetic effect of the HTR2A rs7997012 variant in anxiety disorders , suggesting that pharmacogenetic effects cross diagnostic categories .\)
Our data document that individuals with the HTR2A rs7997012 single nucleotide polymorphism G-allele have better treatment outcome over time .\)
Future studies with larger sample sizes are necessary to further characterize this effect in treatment response to antidepressants in GAD .",
"entities": [{
"entity": "TRIVIAL",
"value": "Serotonin",
"start_index": 0,
"end_index": 9
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 81,
"end_index": 92
}, {
"entity": "TRIVIAL",
"value": "serotonin",
"start_index": 409,
"end_index": 418
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 625,
"end_index": 636
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 752,
"end_index": 763
}, {
"entity": "FAMILY",
"value": "nucleotide",
"start_index": 1800,
"end_index": 1810
}]
}
Die Umgebungsvariablen für das vorherige Beispiel lauten wie folgt:
- dataset.input_format:
json
- dataset.input_column_name:
text
- dataset.output_column_name:
entities
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 in
ai_center
- dataset.input_column_name in
data.text
- dataset.output_column_name in
annotations.ner.labels
-
dataset.input_column_name
- Der Name der Spalte, die Text enthält.
- Der Standardwert ist
data.text
. - Diese Variable wird nur benötigt, wenn das Eingabedateiformat
ai_center
oderJSON
ist.
-
dataset.target_column_name
- Der Name der Spalte, die Beschriftungen enthält.
- Der Standardwert ist
annotations.ner.labels
. - Diese Variable wird nur benötigt, wenn das Eingabedateiformat
ai_center
oderJSON
ist.
-
model.epochs
- Die Anzahl der Epochen.
- Der Standardwert ist
5
.
-
dataset.input_format
- Das Eingabeformat der Trainingsdaten.
- Der Standardwert ist
ai_center
. - Unterstützte Werte sind:
ai_center
,conll
,label_studio
oderjson
.Hinweis: Daslabel_studio
-Format entspricht demCoNLL
-Format, wobei die Trennung zwischen zwei Datenpunkten eine neue leere Zeile ist. Um die Trennung zwischen zwei Datenpunkten mit-DOCSTART- -X- O O
zu unterstützen, fügen Sie dataset.input_format als Umgebungsvariable hinzu und legen Sie ihren Wert aufconll
fest.
- Auswertungsbericht, der folgende Dateien enthält:
- Klassifizierungsbericht
- Konfusionsmatrix
- Informationen zum Präzisionsrückruf
- JSON-Dateien: separate JSON-Dateien, 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.
Klassifizierungsbericht
Der Klassifizierungsbericht wird aus dem Test-Dataset abgeleitet, wenn die vollständige Pipeline oder die Evaluierungspipeline ausgeführt wird. Es enthält die folgenden Informationen für jede Entität in Form eines Diagramms:
- Entität – Der Name der Entität.
- Präzision – Die Präzisionsmetrik für die korrekte Vorhersage der Entität über den Testsatz.
- Rückruf (Recall) – Die Rückrufmetrik für die korrekte Vorhersage der Entität über den Testsatz.
- F1-Score - Die f1-Score-Metrik für die korrekte Vorhersage der Entität über den Testsatz; Sie können diese Bewertung verwenden, um die entitätsbasierte Leistung von zwei unterschiedlich trainierten Versionen dieses Modells zu vergleichen.
Konfusionsmatrix
Eine Tabelle mit Erläuterungen zu verschiedenen Fehlerkategorien befindet sich auch unter der Verwirrungsmatrix. Die Fehlerkategorien pro Entität sindrichtig,falsch,verpasstund falsch . In dieser Tabelle werden erläutert.
Informationen zum Präzisionsrückruf
Sie können diese Informationen verwenden, um den Kompromiss zwischen Präzision und Rückruf des Modells zu überprüfen. Die Schwellenwerte und die entsprechenden Genauigkeits- und Rückrufwerte werden auch in einer Tabelle über dem Diagramm für jede Entität bereitgestellt. In dieser Tabelle können Sie den gewünschten Schwellenwert auswählen, 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 Entität gibt es ein Präzisions-Rückruf-Diagramm und eine Tabelle.
Ein Beispiel für eine Genauigkeitsrückruftabelle pro Entität finden Sie in der folgenden Tabelle.
Schwellenwert |
Präzision |
Rückruf |
---|---|---|
0,5 |
0.9193 |
0.979 |
0.55 |
0.9224 |
0.9777 |
0.6 |
0.9234 |
0.9771 |
0,65 |
0.9256 |
0.9771 |
0.7 |
0.9277 |
0.9759 |
0,75 |
0.9319 |
0.9728 |
0.8 |
0.9356 |
0.9697 |
0.85 |
0.9412 |
0.9697 |
0,9 |
0.9484 |
0.9666 |
0,95 |
0.957 |
0.9629 |
Ein Beispiel für ein Präzisions-Wiederaufruf-Diagramm pro Entität finden Sie in der folgenden Abbildung.
CSV-Auswertungsdatei
Dies ist eine CSV-Datei mit Vorhersagen für den Testsatz, der für die Auswertung verwendet wird. Die Datei enthält die Spalten:
- Text - Der Text, der für die Auswertung verwendet wird.
- Actual_entities – Die Entitäten, die als beschriftete Daten im Auswertungs-Dataset bereitgestellt wurden.
- Predicted_entities – Die Entitäten, die das trainierte Modell vorhergesagt hat.
- Error_type_counts – Der Unterschied zwischen den tatsächlichen Entitäten und den vorhergesagten Entitäten, kategorisiert nach Fehlertypen.