Teste em lote com um conjunto de expressões de exemplo

Importante

O LUIS será aposentado em 1º de outubro de 2025 e a partir de 1º de abril de 2023 você não poderá criar novos recursos do LUIS. Recomendamos migrar seus aplicativos LUIS para o entendimento de linguagem conversacional para se beneficiar do suporte contínuo ao produto e dos recursos multilíngues.

O teste em lote valida sua versão treinada ativa para medir sua precisão de previsão. Um teste em lote ajuda você a visualizar a precisão de cada intenção e entidade em sua versão ativa. Analise os resultados do teste em lote para tomar as medidas apropriadas para melhorar a precisão, como adicionar mais expressões de exemplo a uma intenção se seu aplicativo frequentemente não conseguir identificar a intenção correta ou rotular entidades dentro do enunciado.

Dados de grupo para teste em lote

É importante que os enunciados usados para testes em lote sejam novos no LUIS. Se você tiver um conjunto de dados de enunciados, divida os enunciados em três conjuntos: exemplos de enunciados adicionados a uma intenção, enunciados recebidos do ponto de extremidade publicado e enunciados usados para testar o LUIS em lote depois que ele é treinado.

O arquivo JSON em lote que você usa deve incluir enunciados com entidades de aprendizado de máquina de nível superior rotuladas, incluindo posição inicial e final. Os enunciados não devem fazer parte dos exemplos já existentes no aplicativo. Devem ser enunciados que você quer prever positivamente para intenção e entidades.

Você pode separar os testes por intenção e/ou entidade ou ter todos os testes (até 1000 enunciados) no mesmo arquivo.

Erros comuns ao importar um lote

Se você encontrar erros ao carregar seu arquivo em lote para o LUIS, verifique os seguintes problemas comuns:

  • Mais de 1.000 expressões em um arquivo em lote
  • Um objeto JSON de enunciado que não tem uma propriedade entities. A propriedade pode ser uma matriz vazia.
  • Palavra(s) rotulada(s) em várias entidades
  • Rótulos de entidade começando ou terminando em um espaço.

Corrigindo erros de lote

Se houver erros no teste em lote, você pode adicionar mais enunciados a uma intenção e/ou rotular mais enunciados com a entidade para ajudar o LUIS a fazer a discriminação entre intenções. Se você adicionou enunciados e os rotulou e ainda recebe erros de previsão em testes em lote, considere adicionar um recurso de lista de frases com vocabulário específico do domínio para ajudar o LUIS a aprender mais rapidamente.

Testes em lote usando o portal LUIS

Importar e treinar um aplicativo de exemplo

Importe um aplicativo que receba um pedido de pizza, como 1 pepperoni pizza on thin crust.

  1. Transfira e guarde o ficheiro JSON da aplicação.

  2. Inicie sessão no portal LUIS e selecione o seu recurso de Subscrição e Criação para ver as aplicações atribuídas a esse recurso de criação.

  3. Selecione a seta ao lado de Novo aplicativo e clique em Importar como JSON para importar o JSON para um novo aplicativo. Nomeie o aplicativo Pizza app.

  4. Selecione Treinar no canto superior direito da navegação para treinar o aplicativo.

Funções no teste de lote

Atenção

Não há suporte para funções de entidade em testes em lote.

Arquivo de teste em lote

O exemplo JSON inclui um enunciado com uma entidade rotulada para ilustrar a aparência de um arquivo de teste. Em seus próprios testes, você deve ter muitos enunciados com intenção correta e entidade de aprendizado de máquina rotulada.

  1. Crie pizza-with-machine-learned-entity-test.json em um editor de texto ou baixe-o .

  2. No arquivo em lotes formatado em JSON, adicione um enunciado com a intenção que você deseja prever no teste.

    [
        {
            "text": "I want to pick up 1 cheese pizza",
            "intent": "ModifyOrder",
            "entities": [
                {
                    "entity": "Order",
                    "startPos": 18,
                    "endPos": 31
                },
                {
                    "entity": "ToppingList",
                    "startPos": 20,
                    "endPos": 25
                }
            ]
        }
    ]
    

Executar o lote

  1. Selecione Testar na barra de navegação superior.

  2. Selecione Painel de teste de lote no painel direito.

    Link de teste em lote

  3. Selecione Importar. Na caixa de diálogo exibida, selecione Escolher arquivo e localize um arquivo JSON com o formato JSON correto que não contenha mais de 1.000 expressões para testar.

    Os erros de importação são relatados em uma barra de notificação vermelha na parte superior do navegador. Quando uma importação tem erros, nenhum conjunto de dados é criado. Para obter mais informações, consulte Erros comuns.

  4. Escolha o local do pizza-with-machine-learned-entity-test.json arquivo.

  5. Nomeie o conjunto de pizza test dados e selecione Concluído.

  6. Selecione o botão Run (Executar).

  7. Após a conclusão do teste em lote, você poderá ver as seguintes colunas:

    Column Description
    Distrito Estado do ensaio. Os resultados só são visíveis após a conclusão do teste.
    Nome O nome que deu ao teste.
    Tamanho Número de testes neste ficheiro de teste em lote.
    Última Execução Data da última execução deste ficheiro de teste em lote.
    Último resultado Número de previsões bem-sucedidas no teste.
  8. Para visualizar os resultados detalhados do teste, selecione Ver resultados.

    Gorjeta

    • Selecionar Download baixará o mesmo arquivo que você carregou.
    • Se você vir que o teste em lote falhou, pelo menos uma intenção de emissão não correspondeu à previsão.

Revisar os resultados do lote para fins

Para rever os resultados do teste em lote, selecione Ver resultados. Os resultados do teste mostram graficamente como os enunciados do teste foram previstos em relação à versão ativa.

O gráfico de lote exibe quatro quadrantes de resultados. À direita do gráfico há um filtro. O filtro contém intenções e entidades. Quando você seleciona uma seção do gráfico ou um ponto dentro do gráfico, os enunciados associados são exibidos abaixo do gráfico.

Ao passar o mouse sobre o gráfico, uma roda do mouse pode ampliar ou reduzir a exibição no gráfico. Isso é útil quando há muitos pontos no gráfico agrupados firmemente juntos.

O gráfico está em quatro quadrantes, com duas das seções exibidas em vermelho.

  1. Selecione a intenção ModifyOrder na lista de filtros. O enunciado é previsto como um True Positive , o que significa que o enunciado correspondeu com êxito à sua previsão positiva listada no arquivo em lote.

    O enunciado correspondeu com sucesso à sua previsão positiva

    As marcas de verificação verdes na lista de filtros também indicam o sucesso do teste para cada intenção. Todas as outras intenções são listadas com uma pontuação positiva de 1/1 porque o enunciado foi testado contra cada intenção, como um teste negativo para quaisquer intenções não listadas no teste de lote.

  2. Selecione a Intenção de confirmação . Essa intenção não está listada no teste de lote, portanto, este é um teste negativo do enunciado listado no teste de lote.

    Enunciado previsto com êxito negativo para intenção não listada no arquivo em lotes

    O teste negativo foi bem-sucedido, como observado com o texto verde no filtro e a grade.

Revisar os resultados do teste em lote para entidades

A entidade ModifyOrder, como uma entidade de máquina com subentidades, exibe se a entidade de nível superior correspondeu e como as subentidades são previstas.

  1. Selecione a entidade ModifyOrder na lista de filtros e, em seguida, selecione o círculo na grade.

  2. A previsão da entidade é exibida abaixo do gráfico. A exibição inclui linhas sólidas para previsões que correspondem à expectativa e linhas pontilhadas para previsões que não correspondem à expectativa.

    Entidade pai prevista com êxito no arquivo em lotes

Filtrar resultados do gráfico

Para filtrar o gráfico por uma intenção ou entidade específica, selecione a intenção ou entidade no painel de filtragem do lado direito. Os pontos de dados e sua distribuição são atualizados no gráfico de acordo com sua seleção.

Resultado do teste de lote visualizado

Exemplos de resultados de gráficos

No gráfico no portal LUIS, você pode executar as seguintes ações:

Exibir dados de emissão de ponto único

No gráfico, passe o mouse sobre um ponto de dados para ver a pontuação de certeza de sua previsão. Selecione um ponto de dados para recuperar seu enunciado correspondente na lista de enunciados na parte inferior da página.

Enunciado selecionado

Ver dados da secção

No gráfico de quatro seções, selecione o nome da seção, como Falso positivo no canto superior direito do gráfico. Abaixo do gráfico, todos os enunciados nessa seção são exibidos abaixo do gráfico em uma lista.

Enunciados selecionados por secção

Nesta imagem anterior, o enunciado switch on é rotulado com a intenção TurnAllOn, mas recebeu a previsão de Nenhuma intenção. Esta é uma indicação de que a intenção do TurnAllOn precisa de mais expressões de exemplo para fazer a previsão esperada.

As duas seções do gráfico em vermelho indicam enunciados que não corresponderam à previsão esperada. Estes indicam enunciados que o LUIS precisa de mais formação.

As duas seções do gráfico em verde corresponderam à previsão esperada.

Próximos passos

Se os testes indicarem que seu aplicativo LUIS não reconhece as intenções e entidades corretas, você pode trabalhar para melhorar o desempenho do aplicativo LUIS rotulando mais expressões ou adicionando recursos.