- Notas relacionadas
- Antes de empezar
- Primeros pasos
- Instalación de AI Center
- Migración y actualización
- Proyectos
- Conjuntos de datos
- Etiquetado de datos
- Paquetes ML
- Paquetes listos para usar
- Procesos
- Habilidades ML
- Logs de ML
- Document UnderstandingTM en AI Center
- API de AI Center
- Tutorial
- Licencia
- Guía básica de resolución de problemas
Reconocimiento personalizado de entidad con nombre
Paquetes listos para usar > Análisis de idioma de UiPath > CustomNamedEntityRecognition
Este modelo te permite traer tu propio conjunto de datos etiquetado con las entidades que deseas extraer. Los conjuntos de datos de entrenamiento y evaluación deben estar en formato CoNLL o JSON. Los datos también se pueden exportar desde la herramienta de etiquetado de datos de AI Center o también se pueden exportar desde Label Studio. Este paquete ML debe volver a entrenarse. Si se implementa sin entrenar primero, la implementación fallará con un error que indica que el modelo no está entrenado.
Para obtener un ejemplo de cómo utilizar este modelo, consulta Extraer productos químicos de un informe de investigación por categoría para ver un caso de uso.
Cuándo utilizar el modelo de reconocimiento de entidad con nombre personalizado (NER)
Utiliza el modelo NER personalizado para extraer:
-
información especial del texto. Esta información se llama
entity
. -
los nombres de personas, lugares, organizaciones, ubicaciones, fechas, valores numéricos, etc. Las entidades extraídas son mutuamente excluyentes. Las entidades están en el nivel de una o varias palabras, no en el nivel de subpalabras. Por ejemplo, en la oración Vivo en Nueva York , una entidad puede ser Nueva York pero no en la oración Leí el neoyorquino .
Puedes utilizar las entidades extraídas directamente en los procesos de extracción de información o como entradas para las tareas posteriores como la clasificación del texto de origen, el análisis de sentimientos del texto de origen, PHI, etc.
Recomendaciones de conjuntos de datos de entrenamiento
- Tener al menos 200 muestras por entidad si las entidades son densas en las muestras, lo que significa que la mayoría de las muestras (más del 75 %) contienen de 3 a 5 de estas entidades.
- Si las entidades son escasas (cada muestra tiene menos de tres entidades), es decir, solo unas pocas de todas las entidades aparecen en la mayoría de los documentos, entonces se recomienda tener al menos 400 muestras por entidad. Esto ayuda al modelo a comprender mejor las características discriminatorias.
- Si hay más de 10 entidades, añade 100 muestras más de forma incremental hasta alcanzar la métrica de rendimiento deseada.
Mejores prácticas
- Tener entidades significativas; si un humano no puede identificar una entidad, tampoco puede hacerlo un modelo.
- Tener entidades simples. En lugar de una sola dirección de entidad, divídela en varias entidades: nombre de la calle, nombre del estado, nombre de la ciudad o código postal, etc.
- Crea conjuntos de datos de entrenamiento y de prueba, y utiliza un proceso completo para el entrenamiento.
- Comience con un número mínimo de muestras para la anotación, que abarque todas las entidades.
- Asegúrate de que todas las entidades estén representadas tanto en la división de entrenamiento como en la de prueba.
- Ejecuta un proceso completo y comprueba las métricas de prueba. Si la métrica de prueba no es satisfactoria, comprueba el informe de clasificación e identifica las entidades con bajo rendimiento. Añade más muestras que cubran las entidades de bajo rendimiento y repite el proceso de entrenamiento, hasta alcanzar la métrica deseada.
Este modelo multilingüe admite los idiomas enumerados a continuación. Se han elegido estos idiomas porque son los 100 idiomas más importantes con las Wikipedias más grandes:
- Afrikáans
- Albanés
- Árabe
- Aragonés
- Armenio
- Asturiano
- Azerbaiyano
- Baskir
- Vasco
- Bávaro
- Bielorruso
- Bengalí
- Bishnupriya Manipuri
- Bosnio
- Bretón
- Búlgaro
- Birmano
- Catalán
- Cebuano
- Checheno
- Chino (simplificado)
- Chino (Tradicional)
- Chuvasio
- Croata
- Checo
- Danés
- Holandés
- English
- Estonio
- Finlandés
- Francés
- Gallego
- Georgiano
- Alemán
- Griego
- Gujaratí
- Haitiano
- Hebreo
- Hindi
- Húngaro
- Islandés
- Ido
- Indonesio
- Irlandés
- Italiano
- Japonés
- Javanés
- Canarés
- Kazajo
- Kirguís
- Koreano
- Latín
- Letón
- Lituano
- Lombardo
- Bajo sajón
- Luxemburgués
- Macedonio
- Malgache
- Malayo
- Malayo
- Maratí
- Minangkabau
- Mongol
- Nepalí
- Nevarí
- Noruego (Bokmal)
- Noruego (Nynorsk)
- Occitano
- Persa (Farsi)
- Piamontés
- Polaco
- Portugués
- Punyabí
- Rumano
- Ruso
- Escocés
- Serbio
- Serbo-croata
- Siciliano
- Eslovaco
- Esloveno
- Azerbaiyano del sur
- Español
- Sundanés
- Suajili
- Sueco
- Tagalo
- Tayiko
- Tamil
- Tártaro
- Telugu
- Tailandés
- Turco
- Ucraniano
- Urdu
- Uzbeko
- Vietnamita
- Volapük
- Waray-Waray
- Galés
- Frisón occidental
- Punyabí occidental
- Yoruba
Texto en uno de los idiomas anteriores desde los que se extraen las entidades.
Lista de entidades con nombre en el texto. Cada elemento de la lista tiene los siguientes elementos en la predicción:
- Texto que se ha reconocido
- Posiciones iniciales y finales de los caracteres del texto
- Tipo de entidad con nombre
- Confianza
{ "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 }] }
Este paquete es compatible con los tres tipos de procesos (entrenamiento completo, entrenamiento y evaluación). Para la mayoría de casos de uso, no se necesitan especificaciones de parámetros; el modelo utiliza técnicas avanzadas para encontrar un modelo eficiente. En entrenamientos posteriores al primero, el modelo utiliza el aprendizaje incremental (es decir, se utilizará la versión previamente entrenada, al final de una ejecución de entrenamiento).
Puedes utilizar las API de Label Studio para escribir los datos y las predicciones en los que no confíes demasiado. A continuación, se pueden volver a etiquetar los datos y exportarlos en formato CoNLL.
For more information on how to use Label Studio, see Getting started with Label Studio. Also, you can download the UiPath® Studio activity for Label Studio Integration here.
Como alternativa, puedes usar la función de etiquetado de datos de AI Center.
Puedes utilizar GPU o CPU para el entrenamiento. Se recomienda utilizar la GPU, ya que es más rápido.
Este modelo admite la lectura de todos los archivos de un directorio determinado durante todas las ejecuciones del proceso (entrenamiento, evaluación y proceso completo).
Set Date
, utiliza SetDate
.
Formato de archivo CoNLL
.conll
y/o .txt
que utilicen el formato de archivo CoNLL en el directorio proporcionado.
El formato de archivo CoNLL representa un cuerpo de texto con una palabra por línea, y cada palabra contiene 10 columnas separadas por tabuladores con información sobre la palabra (por ejemplo, superficie y sintaxis).
El reconocimiento de entidades con nombre entrenables admite dos formatos CoNLL:
- Con solo dos columnas en el texto.
- Con cuatro columnas en el texto.
conll
o label_studio
.
label_studio
es el mismo que el de CoNLL
, con una separación entre dos puntos de datos mediante una nueva línea vacía. Para admitir la separación entre dos puntos de datos con -DOCSTART- -X- O O
, añade dataset.input_format como variable de entorno y establece su valor en conll
.
Para obtener más información, consulta los ejemplos que aparecen a continuación.
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
Formato de archivo JSON
.json
usando el formato JSON.
Consulta las siguientes variables de ejemplo y de entorno para ver un ejemplode formato de archivo 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
}]
}
Las variables de entorno para el ejemplo anterior serían las siguientes:
- conjunto_datos.formato_entrada:
json
- dataset.input_column_name:
text
- dataset.output_column_name:
entities
formato de archivo ai_center
.json
.
Comprueba la siguiente muestra y variables de entorno para un ejemplo de formato de archivo de 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."
}
}
Para aprovechar el JSON de muestra anterior, las variables de entorno deben establecerse de la siguiente manera:
- dataset.input_format a
ai_center
- dataset.input_column_name a
data.text
- dataset.output_column_name a
annotations.ner.labels
-
dataset.input_column_name
- El nombre de la columna que contiene texto.
- El valor predeterminado es
data.text
. - Esta variable solo es necesaria si el formato del archivo de entrada es
ai_center
oJSON
.
-
dataset.target_column_name
- El nombre de la columna que contiene etiquetas.
- El valor predeterminado es
annotations.ner.labels
. - Esta variable solo es necesaria si el formato del archivo de entrada es
ai_center
oJSON
.
-
model.epoch
- El número de épocas.
- El valor predeterminado es
5
.
-
dataset.input_format
- El formato de entrada de los datos de entrenamiento.
- El valor predeterminado es
ai_center
. - Los valores admitidos son:
ai_center
,conll
,label_studio
ojson
.Aviso: El formato delabel_studio
es el mismo que el deCoNLL
, con una separación entre dos puntos de datos mediante una nueva línea vacía. Para admitir la separación entre dos puntos de datos con-DOCSTART- -X- O O
, añade dataset.input_format como variable de entorno y establece su valor enconll
.
- Informe de evaluación, que contiene los siguientes archivos:
- Informe de clasificación
- Matriz de confusión
- Información de recuperación de precisión
- Archivos JSON: archivos JSON independientes correspondientes a cada sección del archivo PDF Informe de evaluación. Estos archivos JSON son legibles por máquina y se pueden utilizar para transferir la evaluación del modelo a Insights mediante el flujo de trabajo.
Informe de clasificación
El informe de clasificación se deriva del conjunto de datos de prueba cuando se ejecuta el proceso completo o de evaluación. Contiene la siguiente información para cada entidad en forma de diagrama:
- Entidad: el nombre de la entidad.
- Precisión: la métrica de precisión para predecir correctamente la entidad en el conjunto de pruebas.
- Recuperación: la métrica de recuperación de la predicción correcta de la entidad en el conjunto de pruebas.
- Puntuación F1: la métrica de la puntuación f1 para predecir correctamente la entidad en el conjunto de pruebas; puedes utilizar esta puntuación para comparar el rendimiento basado en entidades de dos versiones entrenadas de forma diferente de este modelo.
Matriz de confusión
También se proporciona una tabla con explicaciones que explican las diferentes categorías de error en la matriz de confusión. Las categorías de error por entidad soncorrectas,incorrectas,omitidasy falsas se explican en esa tabla.
Información de recuperación de precisión
Puede utilizar esta información para comprobar la precisión y la compensación de recuperación del modelo. Los umbrales y los valores de precisión y recuperación correspondientes también se proporcionan en una tabla sobre el diagrama para cada entidad. Esta tabla le permitirá elegir el umbral deseado para configurar en su flujo de trabajo y decidir cuándo enviar los datos al Action Center para humanos en el bucle. Tenga en cuenta que cuanto mayor sea el umbral elegido, mayor será la cantidad de datos que se enrutarán al Action Center para los humanos en el bucle.
Hay un diagrama de recuperación de precisión y una tabla para cada entidad.
Para ver un ejemplo de tabla de precisión por entidad, consulta la tabla siguiente.
umbral |
precisión |
recuperación |
---|---|---|
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 |
Para ver un ejemplo de diagrama de precisión y recuperación por entidad, consulta la figura siguiente.
Archivo CSV de evaluación
Este es un archivo CSV con predicciones en el conjunto de pruebas utilizado para la evaluación. El archivo contiene las columnas:
- Texto: el texto utilizado para la evaluación.
- Actual_entities: las entidades que se proporcionaron como datos etiquetados en el conjunto de datos de evaluación.
- Entidades_predictadas: las entidades que predijo el modelo entrenado.
- Recuentos_tipo_Error: la diferencia entre las entidades reales y las entidades predichas clasificadas por tipos de error.