Testes em lotes com um conjunto de expressões de exemplo

Importante

O LUIS será descontinuado a 1 de outubro de 2025 e a partir de 1 de abril de 2023 não poderá criar novos recursos do LUIS. Recomendamos que migre as suas aplicações LUIS para a compreensão de linguagem de conversação para beneficiar do suporte contínuo do produto e das capacidades multilingues.

O teste em lote valida a sua versão ativa preparada para medir a precisão da predição. Um teste em lote ajuda-o a ver a precisão de cada intenção e entidade na sua versão ativa. Reveja os resultados do teste de lote para tomar as medidas adequadas para melhorar a precisão, como adicionar mais expressões de exemplo a uma intenção se a sua aplicação frequentemente não identificar a intenção correta ou etiquetar entidades na expressão.

Agrupar dados para o teste de lote

É importante que as expressões utilizadas para testes em lotes sejam novas para o LUIS. Se tiver um conjunto de dados de expressões, divida as expressões em três conjuntos: expressões de exemplo adicionadas a uma intenção, expressões recebidas do ponto final publicado e expressões utilizadas para testar o LUIS em lote após a preparação.

O ficheiro JSON em lote que utilizar deve incluir expressões com entidades de machine learning de nível superior etiquetadas, incluindo a posição de início e de fim. As expressões não devem fazer parte dos exemplos já existentes na aplicação. Devem ser expressões que pretende prever positivamente para intenções e entidades.

Pode separar os testes por intenção e/ou entidade ou ter todos os testes (até 1000 expressões) no mesmo ficheiro.

Erros comuns ao importar um lote

Se encontrar erros ao carregar o ficheiro do batch para o LUIS, verifique se existem os seguintes problemas comuns:

  • Mais de 1000 expressões num ficheiro de lote
  • Um objeto JSON de expressão que não tem uma propriedade de entidades. A propriedade pode ser uma matriz vazia.
  • Word(s) etiquetados em várias entidades
  • Etiquetas de entidade a iniciar ou a terminar num espaço.

Corrigir erros de lote

Se existirem erros no teste em lote, pode adicionar mais expressões a uma intenção e/ou etiquetar mais expressões com a entidade para ajudar o LUIS a fazer a discriminação entre intenções. Se adicionou expressões e as rotulou e ainda obtém erros de predição em testes em lotes, considere adicionar uma funcionalidade de lista de expressões com vocabulário específico do domínio para ajudar o LUIS a aprender mais rapidamente.

Testes em lotes com o portal do LUIS

Importar e preparar uma aplicação de exemplo

Importe uma aplicação que efetue uma encomenda 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 do LUIS e selecione o recurso Subscrição e Criação para ver as aplicações atribuídas a esse recurso de criação.

  3. Selecione a seta junto a Nova aplicação e clique em Importar como JSON para importar o JSON para uma nova aplicação. Dê um nome à aplicação Pizza app.

  4. Selecione Preparar no canto superior direito da navegação para preparar a aplicação.

Funções em testes em lotes

Atenção

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

Ficheiro de teste do Batch

O JSON de exemplo inclui uma expressão com uma entidade etiquetada para ilustrar o aspeto de um ficheiro de teste. Nos seus próprios testes, deve ter muitas expressões com a intenção correta e a entidade de machine learning etiquetada.

  1. Crie pizza-with-machine-learned-entity-test.json num editor de texto ou transfira-o .

  2. No ficheiro de lote formatado em JSON, adicione uma expressão com a Intenção que pretende 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 Batch no painel do lado direito.

    Ligação de Teste do Batch

  3. Selecione Import (Importar). Na caixa de diálogo apresentada, selecione Escolher Ficheiro e localize um ficheiro JSON com o formato JSON correto que não contém mais de 1000 expressões para testar.

    Os erros de importação são comunicados numa barra de notificação vermelha na parte superior do browser. Quando uma importação tem erros, não é criado nenhum conjunto de dados. Para obter mais informações, veja Erros comuns.

  4. Escolha a localização do pizza-with-machine-learned-entity-test.json ficheiro.

  5. Atribua um nome ao conjunto de pizza test dados e selecione Concluído.

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

  7. Após a conclusão do teste do lote, pode ver as seguintes colunas:

    Coluna Descrição
    Estado Estado do teste. Veja os resultados só estã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 predições bem-sucedidas no teste.
  8. Para ver os resultados detalhados do teste, selecione Ver resultados.

    Dica

    • Selecionar Transferir transferirá o mesmo ficheiro que carregou.
    • Se vir que o teste de lote falhou, pelo menos uma intenção de expressão não corresponde à predição.

Rever os resultados do lote para obter intenções

Para rever os resultados do teste do lote, selecione Ver resultados. Os resultados do teste mostram graficamente como as expressões de teste foram previstas na versão ativa.

O gráfico de lotes apresenta quatro quadrantes de resultados. À direita do gráfico está um filtro. O filtro contém intenções e entidades. Quando seleciona uma secção do gráfico ou um ponto dentro do gráfico, as expressões associadas são apresentadas por baixo do gráfico.

Ao pairar o cursor sobre o gráfico, uma roda do rato pode aumentar ou reduzir o ecrã no gráfico. Isto é útil quando existem muitos pontos no gráfico agrupados em conjunto.

O gráfico está em quatro quadrantes, com duas das secções apresentadas a vermelho.

  1. Selecione a intenção ModifyOrder na lista de filtros. A expressão é prevista como um Verdadeiro Positivo , o que significa que a expressão correspondeu com êxito à predição positiva listada no ficheiro batch.

    A expressão correspondeu com êxito à sua predição positiva

    As marcas de verificação verdes na lista de filtros também indicam o êxito do teste para cada intenção. Todas as outras intenções são listadas com uma classificação positiva de 1/1 porque a expressão foi testada em cada intenção, como um teste negativo para quaisquer intenções não listadas no teste de lote.

  2. Selecione a intenção Confirmação . Esta intenção não está listada no teste de lote, pelo que se trata de um teste negativo da expressão listada no teste de lote.

    Expressão com êxito prevista negativa para intenção não listada no ficheiro batch

    O teste negativo foi bem-sucedido, conforme indicado com o texto verde no filtro e a grelha.

Rever os resultados dos testes em lotes para entidades

A entidade ModifyOrder, como uma entidade de computador com subentidades, apresenta se a entidade de nível superior corresponde e como as subentidades são previstas.

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

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

    Entidade principal prevista com êxito no ficheiro batch

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 a respetiva atualização de distribuição no gráfico de acordo com a sua seleção.

Resultado do Teste do Batch Visualizado

Exemplos de resultados do gráfico

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

Ver dados de expressão de ponto único

No gráfico, paire o cursor sobre um ponto de dados para ver a pontuação de certeza da predição. Selecione um ponto de dados para obter a expressão correspondente na lista de expressões na parte inferior da página.

Expressão selecionada

Ver dados da secção

No gráfico de quatro secções, selecione o nome da secção, como Falso Positivo no canto superior direito do gráfico. Abaixo do gráfico, todas as expressões nessa secção são apresentadas por baixo do gráfico numa lista.

Expressões selecionadas por secção

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

As duas secções do gráfico a vermelho indicam expressões que não correspondem à predição esperada. Estas indicam expressões que o LUIS precisa de mais formação.

As duas secções do gráfico a verde corresponderam à predição esperada.

Passos seguintes

Se os testes indicarem que a aplicação LUIS não reconhece as intenções e entidades corretas, pode trabalhar para melhorar o desempenho da aplicação LUIS ao etiquetar mais expressões ou adicionar funcionalidades.