- Notes de publication
- Avant de commencer
- Démarrage
- Projets
- Jeux de données
- Paquets ML
- Pipelines
- Compétences ML
- Journaux ML
- Document Understanding dans AI Center
- Comment
- Guide de dépannage de base
Reconnaissance d'entité nommée personnalisée
Packages prêts à l'emploi (Out of the Box Packages) > Analyse du langage UiPath (UiPath Language Analysis) > CustomNamedEntityRecognition
Ce modèle vous permet d'apporter votre propre ensemble de données balisé avec les entités que vous souhaitez extraire. Les ensembles de données d'entraînement et d'évaluation doivent être au format CoNLL ou JSON. Les données peuvent également être exportées à partir de l'outil Labellisation des données AI Center ( AI Center Data Labeling) ou peuvent également être exportées à partir de Label Studio. Ce package ML doit être réentraîné ; s'il est déployé sans entraînement préalable, le déploiement échouera en présentant une erreur indiquant que le modèle n'a pas été entraîné.
Pour un exemple d'utilisation de ce modèle, consultez Extraction de produits chimiques d'un document de recherche par catégorie pour un cas concret.
Ce modèle multilingue prend en charge les langues répertoriées ci-dessous. Ces langues ont été choisies car elles représentent les 100 premières langues les plus utilisées sur Wikipédia :
- Afrikaans
- Albanais
- Arabe
- Aragonais
- arménien
- asturien
- Azerbaïdjanais
- Bachkir
- Basque
- bavarois
- Biélorusse
- bengali
- Bishnupriya Manipuri
- Bosniaque
- breton
- Bulgare
- Birman
- Catalan
- cebuano
- Tchétchène
- Chinois (simplifié)
- Chinois (traditionnel)
- Tchouvache
- croate
- Tchèque
- Danois
- Néerlandais
- Anglais
- estonien
- Finnois
- Français
- galicien
- géorgien
- Allemand
- Grec
- gujarati
- haïtien
- Hébreu
- Hindi
- Hongrois
- Islandais
- Ido
- Indonésien
- Irlandais
- Italien
- Japonais
- javanais
- kannada
- Kazakh
- kirghiz
- Coréen
- latin
- letton
- lituanien
- lombard
- bas saxon
- luxembourgeois
- macédonien
- Malgache
- malais
- Malayalam
- marathi
- Minangkabau
- mongol
- népalais
- newar
- norvégien (Bokmål)
- norvégien (Nynorsk)
- occitan
- persan (farsi)
- piémontais
- Polonais
- Portugais
- pendjabi
- Roumain
- Russe
- écossais
- Serbe
- serbo-croate
- sicilien
- slovaque
- slovène
- azerbaïdjanais du sud
- Espagnol
- sundanais
- Swahili
- Suédois
- Tagalog
- Tadjik
- tamil
- Tatar
- telugu
- Thaï
- Turque
- Ukrainien
- Ourdou
- ouzbek
- Vietnamien
- volapük
- waray-waray
- gallois
- frison occidental
- pendjabi occidental
- yoruba
Texte dans l'une des langues ci-dessus à partir duquel les entités seront extraites.
Liste des entités nommées dans le texte. Chaque élément de la liste a les éléments suivants dans la prédiction :
- Texte reconnu
- Positions de début et de fin du texte, au niveau des caractères
- Type de l'entité nommée
- 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 }] }
Les trois types de pipelines (complet, formation et évaluation) sont pris en charge par ce package. Pour la plupart des cas d'utilisation, aucun paramètre n'a besoin d'être spécifié ; le modèle utilise des techniques avancées pour trouver un modèle performant. Pour les entraînements subséquents au premier entraînement, le modèle utilise un apprentissage incrémentiel (c'est-à-dire que la version précédemment entraînée sera utilisée à la fin de l'exécution d'un entraînement).
Vous pouvez utiliser les API Label Studio pour réécrire les données et les prédictions avec une faible confiance. Vos données peuvent être ré-labellisées et être exportées au format CoNLL.
Pour plus d'informations sur l'utilisation de Label Studio, consultez Premiers pas avec Label Studio. Vous pouvez également télécharger l'activité UiPath Studio pour l'intégration de Label Studio ici.
Vous pouvez utiliser le GPU ou le CPU pour la formation. Nous vous recommandons d'utiliser le GPU car il est plus rapide.
Ce modèle prend en charge la lecture de tous les fichiers d'un répertoire donné pendant toutes les exécutions du pipeline (entraînement, évaluation et pipeline complet).
Set Date
, utilisez SetDate
.
Format de fichier CoNLL
.txt
et/ou .conll
en utilisant le format de fichier CoNLL dans le répertoire fourni.
Le format de fichier CoNLL représente un corps de texte avec un mot par ligne, chaque mot contenant 10 colonnes séparées par des tabulations avec des informations sur le mot (par exemple, la surface et la syntaxe).
La reconnaissance d'entité nommée pouvant être entraînée prend en charge deux formats CoNLL :
- Avec seulement deux colonnes dans le texte.
- Avec quatre colonnes dans le texte.
conll
ou label_studio
.
label_studio
est le même que le format CoNLL
, avec la séparation entre deux points de données étant une nouvelle ligne vide. Pour prendre en charge la séparation entre deux points de données avec -DOCSTART- -X- O O
, ajoutez dataset.input_format en tant que variable d'environnement et définissez sa valeur sur conll
.
Pour plus d'informations, consultez les exemples ci-dessous.
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
Format de fichier JSON
.json
en utilisant le format JSON.
Vérifiez l'exemple et les variables d'environnement suivants pour un exemplede format de fichier J SON .
{
"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
}]
}
Les variables d'environnement de l'exemple précédent seraient les suivantes :
- dataset.input_format:
json
- dataset.input_column_name:
text
- dataset.nom_colonne_sortie :
entities
format de fichier ai_center
.json
.
Consultez l'exemple et les variables d'environnement suivants pour obtenir un exemple de format de fichier ai_center.
{
"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."
Pour tirer parti de l'exemple JSON précédent, les variables d'environnement doivent être définies comme suit :
- dataset.input_format à
ai_center
- dataset.input_column_name à
data.text
- dataset.nom_colonne_sortie :
annotations.ner.labels
- dataset.input_column_name
- Le nom de la colonne contenant du texte.
- La valeur par défaut est
data.text
. - Cette variable n'est nécessaire que si le format du fichier d'entrée est
ai_center
ouJSON
.
- dataset.target_column_name
- Le nom de la colonne contenant les libellés.
- La valeur par défaut est
annotations.ner.labels
. - Cette variable n'est nécessaire que si le format du fichier d'entrée est
ai_center
ouJSON
.
- modèle.époques
- Le nombre d'époques.
- La valeur par défaut est
5
.
- jeu de données.format_entrée
- Le format d'entrée des données d'entraînement.
- La valeur par défaut est
ai_center
. - Les valeurs prises en charge sont :
ai_center
,conll
,label_studio
oujson
.Remarque : le formatlabel_studio
est le même que le formatCoNLL
, avec la séparation entre deux points de données étant une nouvelle ligne vide. Pour prendre en charge la séparation entre deux points de données avec-DOCSTART- -X- O O
, ajoutez dataset.input_format en tant que variable d'environnement et définissez sa valeur surconll
.
Le rapport d'évaluation est un fichier PDF contenant les informations suivantes dans un format lisible par l'homme :
- Rapport d'évaluation contenant les éléments suivants :
- Rapport de classification
- Matrice de confusion
- Informations de rappel de précision
- Séparez les fichiers JSON correspondant à chaque section du fichier PDF du rapport d'évaluation. Ces fichiers JSON sont lisibles par machine et vous pouvez les utiliser pour diriger l'évaluation du modèle vers Insights à l'aide du workflow.
Rapport de classification
Le rapport de classification est dérivé de l'ensemble de données de test lors de l'exécution d'un pipeline complet ou d'un pipeline d'évaluation. Il contient les informations suivantes pour chaque entité sous la forme d'un diagramme :
- Entité : le nom de l'entité.
- Précision : la mesure de précision permettant de prédire correctement l'entité sur l'ensemble de tests.
- Rappel (Recall) - La mesure de rappel permettant de prédire correctement l'entité sur l'ensemble de test.
- Score F1 : la mesure du score f1 permettant de prédire correctement l'entité sur l'ensemble de tests ; vous pouvez utiliser ce score pour comparer les performances basées sur les entités de deux versions entraînées différemment de ce modèle.
Matrice de confusion
Un tableau avec des explications expliquant les différentes catégories d'erreurs est également fourni sous la matrice de confusion. Les catégories d'erreurs par entité sontcorrectes,incorrectes,manquéeset parasites sont expliquées dans ce tableau.
Informations de rappel de précision
Vous pouvez utiliser ces informations pour vérifier la précision et le compromis du modèle. Les seuils et les valeurs de précision et de rappel correspondantes sont également fournis dans un tableau au-dessus du diagramme pour chaque entité. Ce tableau vous permettra de choisir le seuil souhaité à configurer dans votre workflow afin de décider quand envoyer les données à Action Center pour Human in the loop. Notez que plus le seuil choisi est élevé, plus la quantité de données acheminées vers Action Center pour Human in the loop sera élevée.
Il existe un diagramme et une table de rappel de précision pour chaque entité.
Pour obtenir un exemple de table de rappel de précision par entité, consultez le tableau ci-dessous.
seuil | précision | rappel |
---|---|---|
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 |
Pour obtenir un exemple de diagramme de rappel de précision par entité, consultez la figure ci-dessous.
Fichier CSV d'évaluation
Il s'agit d'un fichier CSV contenant des prédictions sur l'ensemble de tests utilisé pour l'évaluation. Le fichier contient les colonnes :
- Texte (Text) - Le texte utilisé pour l'évaluation.
- Actual_entities (Actual_entities) : les entités qui ont été fournies en tant que données labellisées dans l'ensemble de données d'évaluation.
- Predicted_entities : les entités que le modèle entraîné a prédites.
- Nombres de types d'erreurs (Error_type_counts) : la différence entre les entités réelles et les entités prévues, classées par types d'erreurs.