AI Center
2021.10
False
Imagen de fondo del banner
Guía del usuario de AI Center
Última actualización 11 de mar. de 2024

Clasificación de texto claro

Paquetes listos para usar > Análisis de idioma de UiPath > LightTextClassification

Este es un modelo genérico que se puede volver a entrenar para la clasificación de textos. Admite todos los idiomas basados en caracteres latinos, como inglés, francés, español y otros. Este paquete ML debe entrenarse y, si se implementa sin entrenar primero, fallará con un error que indica que el modelo no está entrenado. Este modelo funciona con Saco de palabras. Este modelo proporciona una explicabilidad basada en n-gramas.

Detalles del modelo

Tipo de entrada

JSON y CSV

Descripción de entrada

Texto que se clasificará como cadena: "Me encantó esta película".

Descripción de salida

JSON con clase y fiabilidad (entre 0 y 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
        ]
    ]
}

GPU recomendada

No se requiere GPU.

Capacitación habilitada

De forma predeterminada, el entrenamiento está habilitado.

Procesos

Este paquete admite los tres tipos de procesos (entrenamiento completo, entrenamiento y evaluación). El modelo utiliza técnicas avanzadas para encontrar un modelo con rendimiento mediante la búsqueda de hiperparámetros. De forma predeterminada, la búsqueda de hiperparámetros (la variable BOW.hyperparameter_search.enable ) está habilitada. Los parámetros del modelo de mayor rendimiento están disponibles en el Informe de evaluación.

Formato del conjunto de datos

Hay tres opciones disponibles para estructurar tu conjunto de datos para este modelo: JSON, CSV y formato JSON de AI Center ™ . El modelo leerá todos los archivos CSV y JSON del directorio especificado. Para cada formato, el modelo espera dos columnas o dos propiedades, dataset.input_column_name y dataset.target_column_name por defecto. Los nombres de estas dos columnas y / o directorios se configuran mediante variables de entorno.

Formato de archivo CSV

Cada archivo CSV puede tener cualquier número de columnas, aunque el modelo solo utilizará dos. Estas columnas se especifican mediante los parámetros dataset.input_column_name y dataset.target_column_name.

Comprueba la siguiente muestra y variables de entorno para un ejemplo de formato de archivo de CSV.

text, label
I like this movie, 7
I hated the acting, 9text, label
I like this movie, 7
I hated the acting, 9

Las variables de entorno para el ejemplo anterior serían las siguientes:

  • conjunto_datos.formato_entrada: auto
  • dataset.input_column_name: text
  • dataset.target_column_name: label

Formato de archivo JSON

Varios conjuntos de datos podrían formar parte del mismo archivo JSON.

Comprueba la siguiente muestra y variables de entorno para un ejemplo de formato de archivo de JSON.

[
  {
    "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"
  }
]

Las variables de entorno para el ejemplo anterior serían las siguientes:

  • conjunto_datos.formato_entrada: auto
  • dataset.input_column_name: text
  • dataset.target_column_name: label

formato de archivo ai_center

Este es el valor predeterminado de las variables de entorno que se pueden establecer, 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:

  • conjunto_datos.formato_entrada: ai_center
  • dataset.input_column_name: data.text
  • dataset.target_column_name: annotations.intent.choices

Entrenamiento en GPU o CPU

No se requiere GPU para el entrenamiento.

Variables de entorno

  • dataset.input_column_name
    • El nombre de la columna de entrada que contiene el texto.
    • El valor predeterminado es data.text.
    • Asegúrese de que esta variable esté configurada de acuerdo con su archivo JSON o CSV de entrada.
  • dataset.target_column_name
    • El nombre de la columna de destino que contiene el texto.
    • El valor predeterminado es annotations.intent.choices.
    • Asegúrese de que esta variable esté configurada de acuerdo con su archivo JSON o CSV de entrada.
  • dataset.input_format
    • El formato de entrada de los datos de entrenamiento.
    • El valor predeterminado es ai_center.
    • Los valores admitidos son: ai_center o auto.
    • Si se selecciona ai_center , solo se admiten JSON archivos. Asegúrate de cambiar también el valor de dataset.target_column_name a annotations.sentiment.choices si se selecciona ai_center .
    • Si se selecciona auto , se admiten tanto archivos CoNLL como JSON .
  • BOW.hyperparameter_search.enable
    • El valor predeterminado para este parámetro es True. Si se deja habilitado, encontrará el modelo con más rendimiento en el período de tiempo y los recursos de cálculo dados.
    • Esto también generará un archivo PDF HyperparameterSearch_report para mostrar las variaciones de los parámetros que se probaron.
  • BOW.hyperparameter_search.timeout
    • El tiempo máximo que se permite ejecutar la búsqueda de hiperparámetros en segundos.
    • El valor predeterminado es 1800.
  • BOW.explain_inference
    • Cuando se establece en True, durante el tiempo de inferencia cuando el modelo se sirve como habilidad ML, algunos de los n-gramas más importantes también se devolverán junto con la predicción.
    • El valor predeterminado es False.

Variables opcionales

Puedes añadir otras variables opcionales haciendo clic en el botón Añadir nuevo . Sin embargo, si estableces la variable BOW.hyperparameter_search.enable en True, se buscan los valores óptimos de estas variables. Para que el modelo utilice los siguientes parámetros opcionales, establece la variable de búsqueda BOW.hyperparameter_search.enable en False:
  • BOW.lr_kWargs.class_peso
    • Los valores admitidos son: balanced o None.
  • BOW.ngrama_rango
    • Rango de longitud de secuencia de secuencia de palabras consecutivas que pueden considerarse como características para el modelo.
    • Asegúrate de seguir este formato: (1, x), donde x es la longitud máxima de secuencia que quieres permitir.
  • BOW.min_df
    • Se utiliza para establecer el número mínimo de apariciones del n-grama en el conjunto de datos que se considerará como una característica.
    • Los valores recomendados están entre 0 y 10.
  • dataset.text_pp_remove_stop_word
    • Se utiliza para configurar si se deben incluir o no palabras de detención en la búsqueda (por ejemplo, palabras como the, or).
    • Los valores admitidos son: True o False.

Artefactos

El informe de evaluación es un archivo PDF que contiene la siguiente información en un formato legible por humanos:

  • ngramas por clase
  • Diagrama de recuperación de precisión
  • Informe de clasificación
  • Matriz de confusión
  • Mejores parámetros del modelo para la búsqueda de hiperparámetros
ngramas por clase

Esta sección contiene los 10 n-gramas principales que afectan a la predicción del modelo para esa clase. Hay una tabla diferente para cada clase en la que se entrena el modelo.

Diagrama de recuperación de precisión

Puedes usar este diagrama y la tabla para comprobar la precisión, la recuperación y las evaluaciones f1 del modelo. Los umbrales y los correspondientes valores de precisión y recuperación también figuran en una tabla debajo de este diagrama. Esta tabla elegirá el umbral que desees configurar en tu flujo de trabajo para decidir cuándo enviar los datos a Action Center para humanos en el bucle. Ten en cuenta que cuanto mayor sea el umbral elegido, mayor será la cantidad de datos que se enrutan a Action Center para humanos en el bucle.

Hay un diagrama de recuperación de precisión para cada clase.

Para ver un ejemplo de un diagrama de recuperación de precisión, consulta la figura siguiente.



Para ver un ejemplo de tabla de recuperación de precisión, consulta la tabla siguiente.

PrecisiónRecordarumbral
0.80122324159021410.67352185089974290.30539842728983285
0.85053380782918150.61439588688946010.37825683923133907
0.90055248618784530.41902313624678660.6121292357073038
0.95145631067961170.25192802056555270.7916427288647211
Informe de clasificación

El informe de clasificación contiene la siguiente información:

  • Etiqueta: la parte de la etiqueta del conjunto de prueba
  • Precisión: la precisión de la predicción.
  • Retirada: instancias relevantes que se recuperaron
  • Puntuación F1: la media geográfica entre precisión y recuperación; puede usar esta puntuación para comparar dos modelos
  • Soporte técnico: el número de veces que aparece una etiqueta determinada en el conjunto de prueba

Para ver un ejemplo de un informe de clasificación, consulta la siguiente tabla.

EtiquetaPrecisiónRecordarEvaluación F1Soporte
0.00.8050.7370.769319
1.00.7310.8120.77389
2.00.7780.7310.754394
3.00.7210.7780.748392
4.00.8550.8440.85385
5.00.9010.8030.849395
Matriz de confusión


Mejores parámetros del modelo para la búsqueda de hiperparámetros
Cuando la variable BOW.hyperparameter_search.enable se establece en True , en esta tabla se muestran los mejores parámetros del modelo seleccionados por el algoritmo. Para reentrenar el modelo con diferentes parámetros no cubiertos por la búsqueda de hiperparámetros, también puede establecer estos parámetros manualmente en Variables de entorno. Para obtener más información al respecto, consulta la sección (doc: Light-Text-Classification # Environment-variables).

Para ver un ejemplo de este informe, consulta la tabla siguiente.

NombreValor
BOW.ngrama_rango(1, 2)
BOW.min_df2
BOW.lr_kWargs.class_pesoEquilibrado
dataset.text_pp_remove_stop_wordTrue

Informe de búsqueda de hiperparámetros

Este informe es un archivo PDF generado solo si el parámetro BOW.hyperparameter_search.enable está establecido en True. El informe contiene los mejores valores para las variables opcionales y un diagrama para mostrar los resultados.


Archivos JSON

Puedes encontrar 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.

Datos

Archivo CSV de evaluación

Este es un archivo CSV con predicciones sobre el conjunto de prueba utilizado para la evaluación. Este archivo también contiene los n-gramas que afectaron a la predicción (independientemente del valor de la variable BOW.explain_inference ).

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.