Configurar um projeto de rotulagem de texto e exportar rótulos

No Azure Machine Learning, saiba como criar e executar projetos de rotulagem de dados para rotular dados de texto. Especifique um rótulo único ou vários para aplicar a cada item do texto.

Você também pode usar a ferramenta de rotulagem de dados no Azure Machine Learning para criar um projeto de rotulagem de imagens.

Recursos de rotulagem de texto

A rotulagem de dados do Azure Machine Learning é uma ferramenta que você pode usar para criar, gerenciar e monitorar projetos de rotulagem de dados. Use-o para:

  • Coordene dados, rótulos e membros da equipe para gerenciar tarefas de rotulagem com eficiência.
  • Rastreia o progresso e mantém a fila de tarefas de rotulagem incompletas.
  • Inicia e interrompe o projeto e controla o progresso da rotulagem.
  • Examina e exporta os rotulados como um conjunto de dados do Azure Machine Learning.

Importante

Os dados de texto com os quais você trabalha na ferramenta de rotulagem de dados do Azure Machine Learning devem estar disponíveis em um armazenamento de dados do Armazenamento de Blobs do Azure. Se você não tiver um armazenamento de dados existente, poderá carregar seus arquivos de dados para um novo armazenamento de dados ao criar um projeto.

Esses formatos de dados estão disponíveis para dados de texto:

  • .txt: cada arquivo representa um item a ser rotulado.
  • .csv ou .tsv: cada linha representa um item apresentado ao rotulador. Decida quais colunas o rotulador pode ver ao rotular a linha.

Pré-requisitos

Use esses itens para configurar a rotulagem de texto no Azure Machine Learning:

  • Os dados que você deseja rotular, seja em arquivos locais ou no Armazenamento de Blobs do Azure.
  • O conjunto de rótulos que deseja aplicar.
  • As instruções para rotulagem.
  • Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
  • Um Workspace do Azure Machine Learning. Confira Criar um Workspace do Azure Machine Learning.

Criar um projeto de rotulagem de texto

Os projetos de rotulagem são administrados no Azure Machine Learning. Utilize a página Rotulagem de Dados no Machine Learning para gerenciar seus projetos.

Se os dados já estiverem no Armazenamento de Blobs do Azure, verifique se estão disponíveis como um armazenamento de dados antes de criar o projeto de rotulagem.

  1. Para criar um projeto, selecione Adicionar projeto.

  2. Em Nome do projeto, insira um nome para o projeto.

    Você não pode reutilizar o nome do projeto, mesmo se você excluir o projeto.

  3. Para criar um projeto de rotulagem de texto, por Tipo de mídia , selecione Texto.

  4. Para Tipo de tarefa de rotulagem, selecione uma opção para o cenário:

    • Para aplicar apenas um rótulo único a cada parte do texto de um conjunto de rótulos, selecione Várias Classes de Classificação de Imagem.
    • Para aplicar um ou mais rótulos a cada parte do texto de um conjunto de rótulos, selecione Vários Rótulos de Classificação de Imagem.
    • Para aplicar rótulos a palavras de texto individuais ou a várias palavras de texto em cada entrada, selecione Reconhecimento de Entidade Nomeada de Texto.

    Captura de tela mostrando a criação de um projeto de rotulagem de texto.

  5. Selecione Avançar para continuar.

Adicionar força de trabalho (opcional)

Selecione Use uma empresa rotuladora do Azure Marketplace apenas se você tiver envolvido em uma empresa rotuladora do Azure Marketplace. Em seguida, selecione o fornecedor. Se seu fornecedor não aparecer na lista, desmarque esta opção.

Certifique-se de primeiro entrar em contato com o fornecedor e assinar um contrato. Para obter mais informações, consulte trabalhar com uma empresa de rotulagem de dados (versão prévia).

Selecione Avançar para continuar.

Selecionar ou criar um conjunto de dados

Se você já criou um conjunto de dados que contenha seus dados, selecione-o no menu suspenso Selecionar um conjunto de dados existente. Você também pode selecionar Criar um conjunto de dados para usar um armazenamento de dados do Azure existente ou para carregar arquivos locais.

Observação

Um projeto não pode ter mais de 500.000 arquivos. Se o conjunto de dados exceder essa contagem de arquivos, somente os primeiros 500.000 arquivos serão carregados.

Criar um conjunto de dados de um armazenamento de dados do Azure

Em muitos casos, você pode carregar arquivos locais. No entanto, o Gerenciador de Armazenamento do Azure fornece uma forma mais rápida e robusta de transferir uma grande quantidade de dados. Recomendamos o Gerenciador de Armazenamento como o método padrão de mover arquivos.

Para criar um conjunto de dados a partir dos dados já armazenados no Armazenamento de Blobs:

  1. Selecione Criar.
  2. Para Nome, insira um nome para seu conjunto de dados. Se quiser, insira uma descrição.
  3. Selecione o Tipo de conjunto de dados:
    • Se você estiver usando um arquivo .csv ou .tsv e cada linha contém uma resposta, selecione Tabular.
    • Se você estiver usando arquivos .txt separados para cada resposta, selecione Arquivo.
  4. Selecione Avançar.
  5. Selecione A partir do armazenamento do Azure e, em seguida, selecione Avançar.
  6. Selecione o armazenamento de dados e selecione Avançar.
  7. Se seus dados estiverem em uma subpasta dentro do Armazenamento de Blobs, escolha Procurar para selecionar o caminho.
    • Para incluir todos os arquivos nas subpastas do caminho selecionado, anexe /** ao caminho.
    • Para incluir todos os dados no contêiner atual e suas subpastas, anexe **/*.* ao caminho.
  8. Selecione Criar.
  9. Selecione o ativo de dados que você criou.

Criar um conjunto de dados com base nos dados carregados

Para fazer upload dos dados diretamente:

  1. Selecione Criar.
  2. Para Nome, insira um nome para seu conjunto de dados. Se quiser, insira uma descrição.
  3. Selecione o Tipo de conjunto de dados:
    • Se você estiver usando um arquivo .csv ou .tsv e cada linha contém uma resposta, selecione Tabular.
    • Se você estiver usando arquivos .txt separados para cada resposta, selecione Arquivo.
  4. Selecione Avançar.
  5. Selecione A partir dos arquivos locais e, em seguida, selecione Avançar.
  6. (Opcional) Selecione um armazenamento de dados. O padrão é carregado no repositório de blobs padrão (workspaceblobstore) para o workspace do Machine Learning.
  7. Selecione Avançar.
  8. Selecione Carregar>Carregar arquivos ou Carregar>Carregar pasta para selecionar os arquivos ou pastas locais a serem carregados.
  9. Localize seus arquivos ou pastas na janela do navegador e selecione Abrir.
  10. Continue selecionando Carregar até especificar todos seus arquivos e pastas.
  11. Opcionalmente, marque a caixa de seleção Substituir se já existir. Verifique a lista de arquivos e pastas.
  12. Selecione Avançar.
  13. Confirme os detalhes. Selecione Voltar para modificar as configurações ou selecione Criar para criar o conjunto de dados.
  14. Por fim, selecione o ativo de dados que você criou.

Configurar a atualização incremental

Se você planeja adicionar novos arquivos de dados ao seu conjunto de dados, utilize a atualização incremental para adicionar os arquivos ao seu projeto.

Quando Habilitar atualização incremental em intervalos regulares está definido, o conjunto de dados é verificado periodicamente para que novos arquivos sejam adicionados a um projeto com base na taxa de conclusão da rotulagem. A verificação de novos dados é interrompida quando o projeto contém o máximo de 500 mil arquivos.

Selecione Habilitar a atualização incremental em intervalos regulares quando quiser que o projeto monitore continuamente a inclusão de novos dados no armazenamento de dados.

Limpe a seleção se não quiser que novos arquivos no armazenamento de dados sejam adicionados automaticamente ao seu projeto.

Importante

Quando uma atualização incremental de página estiver habilitada, não crie uma nova versão para o conjunto de dados que você quer atualizar. Se você fizer isso, as atualizações não serão vistas porque o projeto de rotulagem de dados está fixado à versão inicial. Em vez disso, utilize o Gerenciador de Armazenamento do Microsoft Azure para modificar seus dados na pasta apropriada no Armazenamento de Blobs.

Além disso, não remova os dados. A remoção de dados do conjunto de dados que seu projeto utiliza causa um erro no projeto.

Depois que o projeto for criado, utilize a guia Detalhes para alterar a atualização incremental, exibir o carimbo de data/hora da última atualização e solicitar uma atualização imediata dos dados.

Observação

Projetos que usam entrada de conjunto de dados (.csv ou .tsv) tabular podem usar atualização incremental. Mas a atualização incremental adiciona apenas novos arquivos tabulares. A atualização não reconhece alterações em arquivos tabulares existentes.

Especificar categorias de rótulo

Na página Categorias de rótulos, especifique um conjunto de classes para categorizar seus dados.

A precisão e a velocidade dos seus rotuladores são afetadas pela capacidade de escolher entre as classes. Por exemplo, em vez de escrever por extenso o gênero e a espécie de plantas ou animais, use um código de campo ou abrevie o gênero.

Você pode usar uma lista simples ou criar grupos de rótulos.

  • Para criar uma lista simples, selecione Adicionar categoria de rótulos para criar cada rótulo.

    Captura de tela mostrando como adicionar uma estrutura simples de rótulos.

  • Para criar rótulos em grupos diferentes, selecione Adicionar categoria de rótulos para criar os rótulos de nível superior. Em seguida, selecione o sinal de mais (+) em cada nível superior para criar o próximo nível de rótulos para aquela categoria. Você pode criar até seis níveis para qualquer agrupamento.

    Captura de tela mostrando como adicionar grupos de rótulos.

Você pode selecionar rótulos em qualquer nível durante o processo de marcação. Por exemplo, os rótulos Animal, Animal/Cat, Animal/Dog, Color, Color/Black, Color/White e Color/Silver são opções disponíveis para um rótulo. Em um projeto com vários rótulos, não há necessidade de escolher um de cada categoria. Se essa é sua intenção, certifique-se de incluir essas informações nas suas instruções.

Descrever a tarefa de rotulagem de textos

É importante explicar a tarefa de rotulagem de maneira clara. Na página Instruções de rotulagem, você pode adicionar um link a um site externo que tenha instruções de rotulagem ou fornecer instruções na caixa de edição da página. Mantenha as instruções orientadas a tarefas e apropriadas para o público-alvo. Considere estas perguntas:

  • Quais são os rótulos que os rotuladores verão e como eles escolherão entre eles? Há um texto de referência para consulta?
  • O que elas deverão fazer se nenhum rótulo parecer apropriado?
  • O que elas deverão fazer se vários rótulos parecerem apropriados?
  • Qual limite de confiança elas devem aplicar a um rótulo? Você gostaria de ter o melhor palpite do rotulador se eles não tiverem certeza?
  • O que elas deverão fazer com objetos de interesse parcialmente obstruídos ou sobrepostos?
  • O que elas deverão fazer se um objeto de interesse for recortado pela borda da imagem?
  • O que eles devem fazer se acharem que cometeram um erro depois de enviarem um rótulo?
  • O que eles devem fazer se descobrirem problemas de qualidade de imagem, incluindo más condições de iluminação, reflexos, perda de foco, plano de fundo indesejado incluído, ângulos de câmera anormais, e assim por diante?
  • O que eles devem fazer se vários revisores tiverem opiniões diferentes sobre a aplicação de um rótulo?

Observação

Os rotuladores podem selecionar os primeiros nove rótulos usando as teclas numéricas de 1 a 9.

Controle de qualidade (versão prévia)

Para obter rótulos mais precisos, use a página controle Qualidade para enviar cada item para vários rotuladores.

Importante

A rotulagem de consenso está em versão prévia pública.

A versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos.

Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.

Para que cada item seja enviado para vários rotuladores, selecione Habilitar rotulagem de consenso (pré-visualização). Em seguida, defina valores para Rotuladores mínimos e Rotuladores máximos para especificar quantos rótulos usar. Certifique-se de que você tenha tantos rotuladores disponíveis quanto seu número máximo. Você não pode alterar estas configurações após o início do projeto.

Se um consenso for alcançado a partir do número mínimo de rotuladores, o item será rotulado. Se não for alcançado um consenso, o item será enviado a mais rotuladores. Se não houver consenso após o item atingir o número máximo de rotuladores, seu status será Necessita de Revisão, e o proprietário do projeto será o responsável por rotular o item.

Usar rotulagem de dados assistidos por ML

Para acelerar as tarefas de rotulagem, a página Rotulagem assistida por ML pode disparar modelos automáticos de machine learning. A rotulagem assistida por ML (aprendizado de máquina) consegue lidar com entradas de dados de texto de arquivo (.txt) e (.csv) tabular.

Para usar a rotulagem assistida por ML:

  1. Selecione Habilitar a rotulagem assistida por ML.
  2. Selecione o Idioma do conjuntos de dados para o projeto. Esta lista mostra todos os idiomas compatíveis com a Classe TextDNNLanguages.
  3. Especifique um destino de computação a ser usado. Se você não tiver um destino de computação em seu workspace, esta etapa criará um cluster de computação e o adicionará ao seu workspace. O cluster é criado com o mínimo de zero nó, que não custa nada quando não está em uso.

Mais informações sobre rotulagem assistida por ML

No começo do projeto de rotulagem, os itens são embaralhados em ordem aleatória para reduzir o desvio potencial. No entanto, o modelo treinado reflete os desvios presentes no conjunto de dados. Por exemplo, se 80% dos seus itens forem de uma única classe, aproximadamente 80% dos dados usados para treinar o modelo aterrizarão nessa classe.

Para treinar o modelo DNN de texto que a rotulagem assistida por ML usa, o texto de entrada por exemplo de treinamento será limitado a aproximadamente as primeiras 128 palavras do documento. Para entrada tabular, todas as colunas de texto são concatenadas antes de aplicar esse limite. Esse limite prático permite que o treinamento do modelo seja concluído em uma quantidade razoável de tempo. O texto real em um documento (para entrada de arquivo) ou conjunto de colunas de texto (para entrada tabular) pode exceder 128 palavras. O limite só pertence ao que é usado internamente pelo modelo durante o processo de treinamento.

O número de itens rotulados necessários para iniciar a rotulagem assistida não é um número fixo. Esse número poderá variar consideravelmente de um projeto de rotulagem para outro. A variância depende de muitos fatores, incluindo o número de classes de rótulo e a distribuição dos rótulos.

Ao usar a rotulagem de consenso, o rótulo de consenso é usado para treinamento.

Como os rótulos finais ainda dependem de informações do rotulador, essa tecnologia às vezes é chamada de rotulagem human-in-the-loop.

Observação

A rotulagem de dados assistida por ML não oferece suporte a contas de armazenamento padrão protegidas por trás de uma rede virtual. Você deve usar uma conta de armazenamento não padrão para a rotulagem de dados assistida por ML. A conta de armazenamento não padrão pode ser protegida pela rede virtual.

Pré-rotulamento

Depois de enviar rótulos suficientes para treinamento, o modelo treinado é usado para prever marcas. O rotulador agora vê as páginas que mostram rótulos previstos já presentes em cada item. Em seguida, a tarefa envolve a revisão dessas previsões e a correção de itens rotulados incorretamente antes do envio da página.

Depois que você treinar um modelo de machine learning para seus dados rotulados manualmente, o modelo é avaliado em um conjunto de testes de itens rotulados manualmente. A avaliação ajuda a determinar a precisão do modelo em diferentes limites de confiança. O processo de avaliação estabelece um limite de confiança além do qual o modelo é preciso o suficiente para mostrar os pré-rótulos. O modelo é então avaliado em relação aos dados sem rótulo. Itens com previsões mais confiantes do que o limite são utilizados para a pré-rotulagem.

Inicializar o projeto de rotulagem de texto

Depois que o projeto de rotulagem for inicializado, alguns aspectos do projeto serão imutáveis. Não será possível alterar o tipo de tarefa nem o conjunto de dados. Você poderá modificar os rótulos e a URL para a descrição da tarefa. Examine cuidadosamente as configurações antes de criar o projeto. Depois de enviar o projeto, retorne para a página de visão geral de Rotulagem de Dados, que mostra o projeto como Inicializando.

Observação

A página de visão geral pode não ser atualizada automaticamente. Após uma pausa, atualize manualmente a página para ver o status do projeto como Criado.

Solução de problemas

Para problemas ao criar um projeto ou acessar dados, consulte Solucionar problemas de rotulagem de dados.

Próximas etapas