- Notas de Versão
- Antes de começar
- Introdução
- Projetos
- Conjuntos de dados
- Pacotes de ML
- Pipelines
- Habilidades de ML
- Logs de ML
- Document Understanding no AI Center
- Licenciamento
- Como fazer
- Guia básico de solução de problemas
Pacotes prontos para usar > Análise de idiomas da UiPath > LightTextClassification
Este é um modelo genérico e retreinável para classificação de texto. Ele oferece suporte a todos os idiomas baseados em caracteres latinos, como inglês, francês, espanhol e outros. Este pacote de ML deve ser treinado e, se implantado sem treinamento primeiro, a implantação falhará com um erro informando que o modelo não foi treinado. Este modelo opera em Bag of Words. Este modelo fornece explicabilidade com base em n-gramas.
Detalhes do modelo
Tipo de Entrada
JSON e CSV
Descrição da entrada
Texto a ser classificado como string: 'I loved this movie.'
Descrição da saída
JSON com classe e confiança (entre 0 e 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
]
]
}
Recomendar GPU
A GPU não é necessária.
Treinamento Habilitado
Por padrão, o treinamento está habilitado.
Pipelines
This package supports all three types of pipelines (Full Training, Training, and Evaluation). The model uses advanced techniques to find a performant model using hyperparameter search. By default, hyperparameter search (the BOW.hyperparameter_search.enable variable) is enabled. The parameters of the most performant model are available in the Evaluation Report.
Formato do conjunto de dados
Three options are available to structure your dataset for this model : JSON, CSV and AI Center JSON format. The model will read all CSV and JSON files in the specified directory. For every format, the model expects two columns or two properties, dataset.input_column_name and dataset.target_column_name by default. The names of these two columns and/or directories are configurable using environment variables.
Formato de arquivo CSV
Each CSV file can have any number of columns, but only two will be used by the model. Those columns are specified by the dataset.input_column_name and dataset.target_column_name parameters.
Check the following sample and environment variables for a CSV file format example.
text, label
I like this movie, 7
I hated the acting, 9
text, label
I like this movie, 7
I hated the acting, 9
As variáveis de ambiente para o exemplo anterior seriam as seguintes:
- dataset.input_format:
auto - dataset.input_column_name:
text - dataset.target_column_name:
label
Formato de arquivo JSON
Vários pontos de dados podem fazer parte do mesmo arquivo JSON.
Check the following sample and environment variables for a JSON file format example.
[
{
"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"
}
]
As variáveis de ambiente para o exemplo anterior seriam as seguintes:
- dataset.input_format:
auto - dataset.input_column_name:
text - dataset.target_column_name:
label
formato de arquivo ai_center
Este é o valor padrão das variáveis de ambiente que podem ser definidas e este modelo lerá todos os arquivos em um diretório fornecido com uma extensão .json .
Check the following sample and environment variables for an ai_center file format example.
{
"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 aproveitar o JSON de amostra anterior, as variáveis de ambiente precisam ser definidas da seguinte maneira:
- dataset.input_format:
ai_center - dataset.input_column_name:
data.text - dataset.target_column_name:
annotations.intent.choices
Treinamento na GPU ou na CPU
A GPU não é necessária para o treinamento
Variáveis de Ambiente
- dataset.input_column_name
- O nome da coluna de entrada que contém o texto.
- O valor padrão é
data.text. - Certifique-se de que esta variável esteja configurada de acordo com seu arquivo JSON ou CSV de entrada.
- dataset.target_column_name
- O nome da coluna de destino que contém o texto.
- O valor padrão é
annotations.intent.choices. - Certifique-se de que esta variável esteja configurada de acordo com seu arquivo JSON ou CSV de entrada.
- dataset.input_format
- O formato de entrada dos dados de treinamento.
- O valor padrão é
ai_center. - Os valores suportados são:
ai_centerouauto. - If
ai_centeris selected, onlyJSONfiles are supported. Make sure to also change the value of the dataset.target_column_name toannotations.sentiment.choicesifai_centeris selected. - Se
autofor selecionado, os arquivosCoNLLeJSONserão suportados.
- BOW.hyperparameter_search.enable
- O valor padrão para este parâmetro é
True. Se deixado ativado, isso encontrará o modelo de melhor desempenho no período de tempo determinado e os recursos de computação. - Isso também gerará um arquivo PDF
HyperparameterSearch_reportpara mostrar as variações dos parâmetros que foram testados.
- O valor padrão para este parâmetro é
- BOW.hyperparameter_search.timeout
- O tempo máximo que a pesquisa de hiperparâmetro pode executar em segundos.
- O valor padrão é
1800.
- BOW.explain_inference
- Quando isso é definido como
True, durante o tempo de inferência quando o modelo é servido como ML Skill, alguns dos n-gramas mais importantes também serão retornados junto com a previsão. - O valor padrão é
False.
- Quando isso é definido como
Variáveis opcionais
You can add other optional variables by clicking on the Add new button. However, if you set the BOW.hyperparameter_search.enable variable to True, the optimal values of these variables are searched. For the following optional parameters to be used by the model, please set the BOW.hyperparameter_search.enable search variable to False:
- BOW.lr_kwargs.class_weight
- Os valores suportados são:
balancedouNone.
- Os valores suportados são:
- BOW.ngram_range
- Faixa de comprimento de sequência de sequência de palavras consecutivas que podem ser consideradas como recursos para o modelo.
- Certifique-se de seguir este formato:
(1, x), em quexé o comprimento máximo da sequência que você deseja permitir.
- BOW.min_df
- Usado para definir o número mínimo de ocorrências do n-gram no conjunto de dados a serem considerados como um recurso.
- Os valores recomendados estão entre
0e10.
- dataset.text_pp_remove_stop_words
- Usado para configurar se palavras de parada devem ou não ser incluídas na pesquisa (por exemplo, palavras como
the,or). - Os valores suportados são:
TrueouFalse.
- Usado para configurar se palavras de parada devem ou não ser incluídas na pesquisa (por exemplo, palavras como
Artefatos
O relatório de avaliação é um arquivo PDF contendo as seguintes informações em um formato legível por humanos:
- ngramas por classe
- Diagrama de recall de precisão
- Relatório da classificação
- Matriz de confusão
- Melhores parâmetros de modelo para pesquisa de hiperparâmetros
ngramas por classe
Esta seção contém os 10 principais n-gramas que afetam a previsão do modelo para essa classe. Há uma tabela diferente para cada classe na qual o modelo foi treinado.
Diagrama de rechamada de precisão
You can use this diagram and the table to check the precision, recall trade-off, along with f1-scores of the model. The thresholds and corresponding precision and recall values are also provided in a table below this diagram. This table will choose the desired threshold to configure in your workflow so as to decide when to send the data to Action Center for human in the loop. Note that the higher the chosen threshold, the higher the amount of data that gets routed to Action Center for human in the loop will be.
Há um diagrama de recordação de precisão para cada classe.
Para obter um exemplo de um diagrama de recuperação de precisão, consulte a figura abaixo.
Para obter um exemplo de uma tabela de recall de precisão, consulte a tabela abaixo.
| Precisão | Lembrar | limiar |
|---|---|---|
| 0.8012232415902141 | 0.6735218508997429 | 0.30539842728983285 |
| 0.8505338078291815 | 0.6143958868894601 | 0.37825683923133907 |
| 0.9005524861878453 | 0.4190231362467866 | 0.6121292357073038 |
| 0.9514563106796117 | 0.2519280205655527 | 0.7916427288647211 |
Relatório da classificação
O relatório de classificação contém as seguintes informações:
- Rótulo - a parte do rótulo do conjunto de teste
- Precisão - a precisão da previsão
- Recall - instâncias relevantes que foram recuperadas
- Pontuação F1 - a média geométrica entre precisão e revocação; você pode usar essa pontuação para comparar dois modelos
- Suporte - o número de vezes que um determinado rótulo aparece no conjunto de teste
Para obter um exemplo de relatório de classificação, consulte a tabela abaixo.
| Label | Precisão | Lembrar | Pontuação F1 | Suporte |
|---|---|---|---|---|
| 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 confusão
Melhores parâmetros de modelo para pesquisa de hiperparâmetros
When the BOW.hyperparameter_search.enable variable is set to True the best model parameters picked by the algorithm are displayed in this table. To retrain the model with different parameters not covered by the hyperparameter search you can also set these parameters manually in the Environment variables. For more information on this, check the (doc:light-text-classification#environment-variables) section.
Para obter um exemplo desse relatório, consulte a tabela abaixo.
| Name | Valor |
|---|---|
| BOW.ngram_range | (1, 2) |
| BOW.min_df | 2 |
| BOW.lr_kwargs.class_weight | Equilibrado |
| dataset.text_pp_remove_stop_words | True |
Relatório de pesquisa de hiperparâmetros
This report is a PDF file generated only if the BOW.hyperparameter_search.enable parameter is set to True. The report contains the best values for the optional variables and a diagram to display the results.
Arquivos JSON
You can find separate JSON files corresponding to each section of the Evaluation Report PDF file. These JSON files are machine-readable and you can use them to pipe the model evaluation into Insights using the workflow.
Dados
Arquivo CSV de avaliação
This is a CSV file with predictions on the test set used for evaluation. This file also contains the n-grams that impacted the prediction (irrespective of the BOW.explain_inference variable value).