ai-center
2022.4
true
Guia do usuário do AI Center
Automation CloudAutomation SuiteStandalone
Last updated 6 de jun de 2024

Classificação do texto leve

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

Este pacote suporta todos os três tipos de pipelines (Treinamento Completo, Treinamento e Avaliação). O modelo usa técnicas avançadas para encontrar um modelo de alto desempenho usando a pesquisa de hiperparâmetros. Por padrão, a pesquisa de hiperparâmetros (a variável BOW.hyperparameter_search.enable ) está habilitada. Os parâmetros do modelo de maior desempenho estão disponíveis no Relatório de Avaliação.

Formato do conjunto de dados

Estão disponíveis três opções para estruturar seu conjunto de dados para esse modelo: JSON, CSV e o formato JSON do AI Center . O modelo lerá todos os arquivos CSV e JSON no diretório especificado. Para todo formato, o modelo espera duas colunas ou duas propriedades: dataset.input_column_name e dataset.target_column_name por padrão. Os nomes dessas duas colunas e/ou diretórios são configuráveis usando variáveis de ambiente.

Formato de arquivo CSV

Cada arquivo CSV pode ter qualquer número de colunas, mas apenas duas serão usadas pelo modelo. Essas colunas são especificadas pelos parâmetros dataset.input_column_name e dataset.target_column_name.

Verifique as variáveis de amostra e ambiente a seguir para obter um exemplo de formato de arquivo CSV.

text, label
I like this movie, 7
I hated the acting, 9text, 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.

Verifique o exemplo a seguir e as variáveis de ambiente para obter um exemplo de formato de arquivo 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"
  }
]

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 .

Verifique a amostra e as variáveis de ambiente a seguir para obter um exemplo de formato de arquivo 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 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_center ou auto.
    • Se ai_center for selecionado, apenas arquivos JSON serão suportados. Certifique-se de alterar também o valor de dataset.target_column_name para annotations.sentiment.choices se ai_center for selecionado.
    • Se auto for selecionado, os arquivos CoNLL e JSON serã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_report para mostrar as variações dos parâmetros que foram testados.
  • 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.

Variáveis opcionais

Você pode adicionar outras variáveis opcionais clicando no botão Adicionar novo . No entanto, se você definir a variável BOW.hyperparameter_search.enable como True, os valores ideais dessas variáveis serão procurados. Para os seguintes parâmetros opcionais a serem usados pelo modelo, defina a variável de pesquisa BOW.hyperparameter_search.enable como False:
  • BOW.lr_kwargs.class_weight
    • Os valores suportados são: balanced ou None.
  • 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 que x é 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 0 e 10.
  • 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: True ou False.

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

Você pode usar esse diagrama e a tabela para verificar a precisão, compensação de recall, juntamente com pontuações f1 do modelo. Os limiares e os valores correspondentes de precisão e recall também são fornecidos em uma tabela abaixo desse diagrama. Esta tabela escolherá o limiar desejado para configurar em seu fluxo de trabalho para decidir quando enviar os dados para o Action Center para humanos no loop. Observe que quanto maior o limiar escolhido, maior será a quantidade de dados roteados para o Action Center para humanos no loop.

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ãoLembrarlimiar
0.80122324159021410.67352185089974290.30539842728983285
0.85053380782918150.61439588688946010.37825683923133907
0.90055248618784530.41902313624678660.6121292357073038
0.95145631067961170.25192802056555270.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.

LabelPrecisãoLembrarPontuação F1Suporte
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 confusão


Melhores parâmetros de modelo para pesquisa de hiperparâmetros
Quando a variável BOW.hyperparameter_search.enable é definida como True os melhores parâmetros de modelo escolhidos pelo algoritmo são exibidos nesta tabela. Para treinar novamente o modelo com diferentes parâmetros não cobertos pela pesquisa de hiperparâmetros, você também pode definir esses parâmetros manualmente nas Variáveis de ambiente. Para obter mais informações sobre isso, consulte a seção (doc:light-text-classification#environment-variables).

Para obter um exemplo desse relatório, consulte a tabela abaixo.

NameValor
BOW.ngram_range(1, 2)
BOW.min_df2
BOW.lr_kwargs.class_weightEquilibrado
dataset.text_pp_remove_stop_wordsTrue

Relatório de pesquisa de hiperparâmetros

Este relatório é um arquivo PDF gerado apenas se o parâmetro BOW.hyperparameter_search.enable estiver definido como True. O relatório contém os melhores valores para as variáveis opcionais e um diagrama para exibir os resultados.


Arquivos JSON

Você pode encontrar arquivos JSON separados correspondentes a cada seção do arquivo PDF do Relatório de avaliação. Esses arquivos JSON são legíveis pelo computador e você pode usá-los para canalizar a avaliação do modelo em Insights usando o fluxo de trabalho.

Dados

Arquivo CSV de avaliação

Este é um arquivo CSV com previsões sobre o conjunto de teste usado para avaliação. Este arquivo também contém os n-gramas que afetaram a previsão (independentemente do valor da variável BOW.explain_inference ).

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.