Share via


Recolha de dados para a sua aplicação

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.

Uma aplicação Language Understanding (LUIS) precisa de dados como parte do desenvolvimento de aplicações.

Dados utilizados no LUIS

O LUIS utiliza texto como dados para preparar e testar a sua aplicação LUIS para classificação de intenções e extração de entidades. Precisa de um conjunto de dados suficientemente grande para criar conjuntos de dados separados para preparação e teste que tenham a diversidade e a distribuição especificamente abaixo. Os dados em cada um destes conjuntos não devem sobrepor-se.

Seleção de dados de preparação para expressões de exemplo

Selecione expressões para o conjunto de preparação com base nos seguintes critérios:

  • Os dados reais são os melhores:

    • Dados reais da aplicação cliente: selecione expressões que sejam dados reais da sua aplicação cliente. Se o cliente enviar um formulário Web com a respetiva consulta hoje e estiver a criar um bot, pode começar por utilizar os dados do formulário Web.
    • Dados com origens de multidões: se não tiver dados existentes, considere a origem de multidões de expressões. Tente criar várias expressões da população de utilizadores para o seu cenário para obter a melhor aproximação dos dados reais que a sua aplicação irá ver. As expressões humanas com origem em multidões são melhores do que as expressões geradas por computador. Quando cria um conjunto de dados de expressões sintéticas geradas em padrões específicos, não terá grande parte da variação natural que verá com as pessoas a criarem as expressões e não acabará por generalizar bem na produção.
  • Diversidade de dados:

    • Diversidade de regiões: certifique-se de que os dados de cada intenção são tão diversos quanto possível, incluindo expressões (escolha de palavras) e gramática. Se estiver a ensinar uma intenção sobre políticas de RH sobre dias de férias, certifique-se de que tem expressões que representam os termos que são utilizados para todas as regiões que está a servir. Por exemplo, na Europa, as pessoas podem perguntar sobre taking a holiday e nos EUA as pessoas podem perguntar sobre taking vacation days.
    • Diversidade de idiomas: se tiver utilizadores com vários idiomas nativos que comunicam num segundo idioma, certifique-se de que tem expressões que representam oradores não nativos.
    • Diversidade de entrada: considere o caminho de entrada de dados. Se estiver a recolher dados de uma pessoa, departamento ou dispositivo de entrada (microfone), provavelmente falta diversidade que será importante para a sua aplicação saber mais sobre todos os caminhos de entrada.
    • Diversidade de pontuação: considere que as pessoas utilizam diferentes níveis de pontuação em aplicações de texto e certifiquem-se de que tem uma diversidade de como a pontuação é utilizada. Se estiver a utilizar dados provenientes da voz, estes não terão pontuação, pelo que os seus dados também não devem.
  • Distribuição de dados: certifique-se de que os dados distribuídos pelas intenções representam a mesma propagação de dados que a aplicação cliente recebe. Se a sua aplicação LUIS classificar expressões que são pedidos para agendar uma licença (50%), mas também verá expressões sobre perguntas sobre dias de licença restantes (20%), aprovação de folhas (20%) e algumas fora do âmbito e conversação chit (10%), então o conjunto de dados deve ter as percentagens de exemplo de cada tipo de expressão.

  • Utilizar todos os formulários de dados: se a sua aplicação LUIS utilizar dados de várias formas, certifique-se de que inclui esses formulários nas expressões de preparação. Por exemplo, se a aplicação cliente utilizar a voz e a introdução de texto digitado, terá de ter expressões geradas de voz em texto, bem como expressões escritas. Verá diferentes variações na forma como as pessoas falam a partir da forma como escrevem, bem como erros diferentes no reconhecimento de voz e erros de digitação. Toda esta variação deve ser representada nos seus dados de preparação.

  • Exemplos positivos e negativos: para ensinar uma aplicação LUIS, tem de saber o que é a intenção (positivo) e o que não é (negativo). No LUIS, as expressões só podem ser positivas para uma única intenção. Quando uma expressão é adicionada a uma intenção, o LUIS torna automaticamente essa expressão de exemplo um exemplo negativo para todas as outras intenções.

  • Dados fora do âmbito da aplicação: se a sua aplicação vir expressões fora das intenções definidas, certifique-se de que as fornece. Os exemplos que não estão atribuídos a uma intenção definida específica serão etiquetados com a intenção None (Nenhuma ). É importante ter exemplos realistas para a intenção None de prever corretamente expressões que estão fora do âmbito das intenções definidas.

    Por exemplo, se estiver a criar um bot de RH focado no tempo de licença e tiver três intenções:

    • agendar ou editar uma licença
    • perguntar sobre os dias de licença disponíveis
    • aprovar/desaprovar licença

    Quer certificar-se de que tem expressões que abrangem ambas as intenções, mas também que abrangem potenciais expressões fora desse âmbito que a aplicação deve servir da seguinte forma:

    • What are my medical benefits?
    • Who is my HR rep?
    • tell me a joke
  • Exemplos raros: a sua aplicação terá de ter exemplos raros, bem como exemplos comuns. Se a sua aplicação nunca tiver visto exemplos raros, não conseguirá identificá-los na produção. Se estiver a utilizar dados reais, poderá prever com maior precisão como a sua aplicação LUIS irá funcionar na produção.

Qualidade em vez de quantidade

Considere a qualidade dos seus dados existentes antes de adicionar mais dados. Com o LUIS, está a utilizar o Machine Teaching. A combinação das etiquetas e das funcionalidades de machine learning que define é o que a sua aplicação LUIS utiliza. Não depende simplesmente da quantidade de etiquetas para fazer a melhor predição. A diversidade de exemplos e a respetiva representação do que a sua aplicação LUIS verá na produção é a parte mais importante.

Pré-processamento de dados

Os seguintes passos de pré-processamento ajudarão a criar uma melhor aplicação LUIS:

  • Remover duplicados: as expressões duplicadas não irão doer, mas também não ajudam, pelo que removê-las poupará tempo de etiquetagem.
  • Aplicar o mesmo pré-processamento da aplicação cliente: se a aplicação cliente, que chama o ponto final de predição do LUIS, aplicar o processamento de dados no runtime antes de enviar o texto para o LUIS, deve preparar a aplicação LUIS em dados processados da mesma forma.
  • Não aplique novos processos de limpeza que a aplicação cliente não utiliza: se a aplicação cliente aceitar texto gerado pela voz diretamente sem qualquer limpeza, como gramática ou pontuação, as expressões têm de refletir o mesmo, incluindo qualquer pontuação em falta e qualquer outra má reconhecimento de que terá de ter em conta.
  • Não limpe os dados: não elimine as entradas mal formadas que possa obter do reconhecimento de voz, das teclas acidentais ou do texto mal escrito/mal escrito. Se a sua aplicação vir entradas como estas, é importante que sejam preparadas e testadas nas mesmas. Adicione uma intenção de entrada com formato incorreto se não esperar que a sua aplicação a compreenda. Etiquete estes dados para ajudar a aplicação LUIS a prever a resposta correta no runtime. A aplicação cliente pode escolher uma resposta adequada a expressões ininteligíveis, como Please try again.

Etiquetar dados

  • Etiquetar texto como se estivesse correto: as expressões de exemplo devem ter todas as formas de uma entidade etiquetadas. Isto inclui texto com erros ortográficos, escritos incorretamente e enevoados.

Revisão de dados após a aplicação LUIS estar em produção

Reveja as expressões de ponto final para monitorizar o tráfego de expressão real depois de implementar uma aplicação na produção. Isto permite-lhe atualizar as expressões de preparação com dados reais, o que irá melhorar a sua aplicação. Qualquer aplicação criada com dados de cenários de origem de multidões ou não reais terá de ser melhorada com base na sua utilização real.

Testar a seleção de dados para testes em lotes

Todos os princípios listados acima para expressões de preparação aplicam-se a expressões que deve utilizar para o seu conjunto de testes. Certifique-se de que a distribuição entre intenções e entidades espelha a distribuição real o mais próxima possível.

Não reutilize expressões do conjunto de preparação no conjunto de testes. Isto influencia indevidamente os seus resultados e não lhe dará a indicação certa de como a sua aplicação LUIS irá funcionar na produção.

Assim que a primeira versão da sua aplicação for publicada, deve atualizar o conjunto de testes com expressões de tráfego real para garantir que o conjunto de testes reflete a distribuição de produção e pode monitorizar o desempenho realista ao longo do tempo.

Passos seguintes

Saiba como o LUIS altera os seus dados antes da predição