- Notas relacionadas
- Antes de empezar
- Primeros pasos
- Instalación de Automation Suite
- Migración y actualización
- Proyectos
- Conjuntos de datos
- Paquetes ML
- Procesos
- Habilidades ML
- Logs de ML
- Document Understanding en AI Center
- Licencia
- Tutorial
- Guía básica de resolución de problemas
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.
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
]
]
}
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.
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 en el 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 pueden configurar 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, 9
text, 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
.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
- 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
oauto
. - Si se selecciona
ai_center
, solo se admitenJSON
archivos. Asegúrate de cambiar también el valor de dataset.target_column_name aannotations.sentiment.choices
si se seleccionaai_center
. - Si se selecciona
auto
, se admiten tanto archivosCoNLL
comoJSON
.
- 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.
- El valor predeterminado para este parámetro es
- 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
.
- Cuando se establece en
Variables opcionales
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
oNone
.
- Los valores admitidos son:
- 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)
, dondex
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
y10
.
- 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
oFalse
.
- Se utiliza para configurar si se deben incluir o no palabras de detención en la búsqueda (por ejemplo, palabras como
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ón | Recordar | umbral |
---|---|---|
0.8012232415902141 | 0.6735218508997429 | 0.30539842728983285 |
0.8505338078291815 | 0.6143958868894601 | 0.37825683923133907 |
0.9005524861878453 | 0.4190231362467866 | 0.6121292357073038 |
0.9514563106796117 | 0.2519280205655527 | 0.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.
Etiqueta | Precisión | Recordar | Evaluación F1 | Soporte |
---|---|---|---|---|
0.0 | 0.805 | 0.737 | 0.769 | 319 |
1.0 | 0.731 | 0.812 | 0.77 | 389 |
2.0 | 0.778 | 0.731 | 0.754 | 394 |
3.0 | 0.721 | 0.778 | 0.748 | 392 |
4.0 | 0.855 | 0.844 | 0.85 | 385 |
5.0 | 0.901 | 0.803 | 0.849 | 395 |
Matriz de confusión
Mejores parámetros del modelo para la búsqueda de hiperparámetros
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.
Nombre | Valor |
---|---|
BOW.ngrama_rango | (1, 2) |
BOW.min_df | 2 |
BOW.lr_kWargs.class_peso | Equilibrado |
dataset.text_pp_remove_stop_word | True |
Informe de búsqueda de hiperparámetros
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.