Testes em lote com um conjunto de exemplos de enunciados

Importante

O LUIS será desativado em 1º de outubro de 2025 e, a partir de 1º de abril de 2023, você não poderá criar novos recursos do LUIS. É recomendável migrar seus aplicativos LUIS para a compreensão da linguagem coloquial a fim de usufruir do suporte contínuo ao produto e dos recursos multilíngues.

O teste em lote valida a versão do modelo ativo treinado para medir a precisão da previsão. Um teste em lote ajuda a exibir a precisão de cada intenção e entidade na versão ativa. Examine os resultados do teste em lote para tomar a devida ação para melhorar a precisão, como adicionar mais enunciados de exemplo a uma intenção, caso seu aplicativo falhe com frequência ao identificar a intenção correta ou ao rotular entidades no enunciado.

Agrupar dados para o teste em lote

É importante que as declarações usadas para o teste em lote sejam novas no LUIS. Caso tenha um conjunto de dados de enunciados, divida-os em três conjuntos: enunciados exemplo adicionados para uma intenção, enunciados recebidos do ponto de extremidade publicado e enunciados usados para testar em lote o LUIS depois dele ser treinado.

O arquivo em lotes JSON usados deve incluir enunciados com as entidades de machine learning de nível superior rotuladas, incluindo as posições inicial e final. Os enunciados não devem fazer parte dos exemplos já existentes no aplicativo. Eles devem ser enunciados dos quais você deseja prever positivamente a intenção e as entidades.

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

Erros comuns ao importar um lote

Caso encontre erros ao carregar o arquivo em lotes para o LUIS, verifique os seguintes problemas comuns:

  • Mais de 1.000 enunciados em um arquivo em lotes
  • Um objeto JSON de declaração que não tem uma propriedade de entidades. A propriedade pode ser uma matriz vazia.
  • Palavra(s) rotulada(s) em várias entidades
  • Rótulo de entidade com espaço inicial ou final.

Corrigindo erros em lote

Se houver erros no teste em lote, você poderá adicionar mais declarações a uma intenção e/ou rotular mais declarações com a entidade para ajudar o LUIS a diferenciar as intenções. Se você adicionou declarações, rotulou e ainda recebe erros de previsão no teste em lote, considere adicionar um recurso de lista de frases com um vocabulário específico do domínio para ajudar o LUIS a aprender mais rápido.

Testes em lotes usando o portal do LUIS

Importar e treinar um aplicativo de exemplo

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

  1. Baixe e salve o arquivo JSON do aplicativo.

  2. Entre no portal do LUIS selecione sua Assinatura e Recurso de criação para ver os aplicativos atribuídos a esse recurso.

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

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

Funções em testes em lote

Cuidado

As funções de entidade não são suportadas em testes em lote.

Arquivo de teste em lote

O JSON de exemplo inclui um enunciado com uma entidade rotulada para ilustrar a aparência de um arquivo de teste. Em seus testes, você deverá ter muitos enunciados com a intenção correta e a 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 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 do lote no painel direito.

    Link de teste de lote

  3. Selecione Importar. Na caixa de diálogo exibida, selecione Escolher Arquivo e localize um arquivo JSON com o formato JSON correto, que contenha no máximo 1.000 enunciados para testar.

    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, confira Erros comuns.

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

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

  6. Selecione o botão Executar.

  7. Depois que o teste em lotes for concluído, você poderá ver as seguintes colunas:

    Coluna Descrição
    Estado Status do teste. Ver resultados fica visíveis somente após a conclusão do teste.
    Name O nome que você atribuiu ao teste.
    Tamanho Número de testes neste arquivo de teste do lote.
    Última Execução Data da última execução deste arquivo de teste do lote.
    Último resultado Número de previsões bem-sucedidas no teste.
  8. Para exibir os resultados detalhados do teste, escolha Ver resultados.

    Dica

    • A seleção de Download baixará o mesmo arquivo que foi carregado.
    • Caso o teste em lote falhe, pelo menos uma intenção de enunciado não correspondeu à previsão.

Examinar as intenções dos resultados do lote

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

O gráfico do lote exibe quatro quadrantes dos resultados. À direita do gráfico, há um filtro. O filtro contém intenções e entidades. Ao selecionar 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, um botão de rolagem do mouse pode ampliar ou reduzir a exibição no gráfico. Isso é útil quando há muitos pontos no gráfico agrupados em conjunto.

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 verdadeiro positivo, o que significa que o enunciado correspondeu com êxito à previsão positiva listada no arquivo em lotes.

    O enunciado correspondeu com êxito à previsão positiva

    As marcas de seleçã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 em relação a cada intenção, como um teste negativo para as intenções não listadas no teste em lotes.

  2. Selecione a intenção Confirmação. Essa intenção não está listada no teste em lotes e, portanto, esse é um teste negativo do enunciado listado no teste em lotes.

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

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

Examinar as entidades nos resultados de teste em lotes

A entidade ModifyOrder, como uma entidade de computador com subentidades, é exibida se a entidade de nível superior corresponder 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 de 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 direito. Os pontos de dados e sua distribuição são atualizados no grafo de acordo com sua seleção.

Resultado do teste de lote visualizado

Exemplos de resultados do gráfico

No gráfico no portal do LUIS, é possível as seguintes ações:

Exibir dados de declaraçã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 sua declaração correspondente na lista de declarações na parte inferior da página.

Declaração selecionada

Exibir dados de seção

No gráfico de quatro seções, selecione o nome da seção, como Falso Positivo na parte superior direita do gráfico. Embaixo do gráfico, todas as declarações nessa seção são exibidas embaixo do gráfico em uma lista.

Declarações selecionadas por seção

Nesta imagem anterior, a declaração switch on é rotulada com a intenção TurnAllOn, mas recebeu a previsão de Nenhuma intenção. Essa é uma indicação de que a intenção TurnAllOn precisa de mais declarações de exemplo para criar a previsão esperada.

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

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

Próximas etapas

Se o teste indica que seu aplicativo LUIS não reconhece as intenções e entidades corretas, é possível trabalhar para melhorar o desempenho do seu aplicativo LUIS rotulando mais declarações ou adicionando recursos.