ai-center
2024.10
true
UiPath logo, featuring letters U and I in white

Guía del usuario de AI Center

Automation CloudAutomation SuiteStandalone
Última actualización 11 de nov. de 2024

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.

Recomendaciones

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

  1. Tener entidades significativas; si un humano no puede identificar una entidad, tampoco puede hacerlo un modelo.
  2. 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.
  3. Crea conjuntos de datos de entrenamiento y de prueba, y utiliza un proceso completo para el entrenamiento.
  4. Comience con un número mínimo de muestras para la anotación, que abarque todas las entidades.
  5. Asegúrate de que todas las entidades estén representadas tanto en la división de entrenamiento como en la de prueba.
  6. 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.

Lenguajes

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

Detalles del modelo

Descripción de entrada

Texto en uno de los idiomas anteriores desde los que se extraen las entidades.

Descripción de salida

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 
      }]
    }

GPU recomendada

De forma predeterminada, se recomienda una GPU.

Procesos

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).

Ajuste preciso utilizando datos de la estación de validación

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.

Para obtener más información sobre cómo utilizar Label Studio, consulta Primeros pasos con Label Studio. Además, puedes descargar la actividad de UiPath® Studio para la integración de Label Studio aquí.

Como alternativa, puedes usar la función de etiquetado de datos de AI Center.

Entrenamiento en GPU o CPU

Puedes utilizar GPU o CPU para el entrenamiento. Se recomienda utilizar la GPU, ya que es más rápido.

Formato del conjunto de datos

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).

Aviso: Asegúrate de que los nombres de las etiquetas no contengan espacios ni caracteres especiales. Por ejemplo, en lugar de Set Date, utiliza SetDate.

Formato de archivo CoNLL

Este modelo puede leer todos los archivos con extensión .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.
Para usar este formato, establezca el archivo dataset.input_format variable de entorno a conll o label_studio.
Aviso: El formato de 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
. OJapan 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

Las variables de entorno se pueden establecer, y este modelo leerá todos los archivos en un directorio proporcionado con una extensión .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

Este es el formato predeterminado y también el formato de exportación de la herramienta de etiquetado de datos en AI Center, y este modelo leerá todos los archivos en un directorio proporcionado con una extensión .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

Variables de entorno

  • 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 o JSON.
  • 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 o JSON.
  • 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 o json.
      Aviso: El formato de 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.

Artefactos

Los artefactos contienen lo siguiente:
  • 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.



Datos

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.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.