Cada sistema de rotulagem visa obter dados rotulados para serem utilizados como base de treinamento para um modelo de Machine Learning (ML). Para cada problema de ML existem tarefas do usuário para rotulagem dos dados. Por isso, recomenda-se que a interface descreva uma explicação de qual é a tarefa de rotulagem do usuário dado o problema de ML a ser resolvido.
Antes de identificar qual a tarefa do usuário, é necessário entender qual o problema de ML que está sendo resolvido. Os problemas de ML podem ser agrupados por tipo de dado a ser rotulado, como pode ser visto na Tabela a seguir.
Para ver técnicas de rotulagens de texto clique aqui.
Tipos de problemas de Machine Learning por tipo de dado.
Os problemas de ML com texto englobam problemas de detecção de entidades, classificação e classificação multi-rótulo. A detecção de entidades significa classificar termos em um texto para uma determinada categoria. A classificação de texto é atribuir um texto a uma determinada categoria que o melhor represente. Em problemas de classificação de texto multi-rótulo, um texto pode pertencer a mais de uma classe.
Os problemas de ML com imagem englobam problemas de detecção de objetos, segmentação de objetos, como também classificação e classificação multi-rótulo. A detecção de objeto significa identificar a presença de um elemento em específico. Já na segmentação de objetos, deve ser identificado a área que um determinado objeto ocupa na imagem.
Os problemas de ML com vídeo incluem problemas semelhantes ao de imagem, porém também há o rastreamento de objetos que visa obter o caminho percorrido por um determinado objeto no vídeo. Os problemas de ML com áudio possuem problemas de classificação e transcrição. A transcrição é obter em texto o conteúdo de um áudio.
Cada sistema de rotulagem está intrinsecamente relacionado ao tipo de dado que será rotulado. Os dados podem ser do tipo texto, imagem, vídeo, áudio ou personalizados.
É importante que a interface contenha componentes que ajudem o usuário a compreender melhor sobre o dado a ser rotulado no momento. Uso de técnicas de visualização de dados, informações descritivas e estatísticas, exemplos e dados semelhantes contribuem para o entendimento do usuário sobre o dado.
Sistemas de rotulagem de dados do tipo textual são recomendados soluções que auxiliem o usuário na leitura e compreensão dos documentos, principalmente de longos textos. As sugestões de soluções para este tipo de dado são:
Distribuição de termos frequentes
Visualização por tópicos
A seguir, são demonstrados exemplos e elementos que podem ajudar na visualização e contextualização do dado.
Visualizar a frequência de termos em documentos de texto ajuda a compreender os termos mais representativos de um texto e consequentemente a ideia central do texto.
Necessário que haja anteriormente uma remoção de stopwords. Além disso, quando muitos termos tiverem a frequência similar, a visualização gráfica pode não ajudar o usuário e causar impressão de tela poluída.
Visualizar os tópicos ou termos mais frequentes em um conjunto de documentos de texto ajudam na compreensão dos termos mais representativos de um texto e consequentemente a ideia central do texto.
Necessário que haja anteriormente uma remoção de stopwords. Além disso, é recomendado o uso de topic models para criação de um tema central que ajudará possivelmente a agrupar os conjuntos de documentos mais semelhantes. É necessário também, limitar a quantidade de termos a serem apresentados para não causar uma poluição visual.
De modo que o usuário tenha possibilidade de desfazer erros facilmente, é recomendado que a rotulagem deva ser feita uma instância ou classe por vez. A instância ou classe pode ser escolhida previamente pelo usuário, ou sugerida por active learning.
Além disso, o usuário pode decidir não rotular uma certa instância ou classe, seja por dúvida ou incapacidade, assim a interface deve permitir que o usuário avance para a próxima instância ou classe.
A escolha da rotulagem por classe ou por instância depende do domínio do problema. Se um problema for de classificação e este tiver muitas classes, é interessante que a visualização seja por classe. Nesse caso, cada instancia será avaliada quanto ser relevante ou não para uma classe em específico, tornando uma tarefa de classificação binária ou invés de multi-classe. Em rotulagem por classe, é comum o uso da estratégia de critérios de inclusão e exclusão, um exemplo pode ser visto na Figura a seguir.
Rotulagem por instância.
Rotulagem por classe.
A tarefa de rotulagem pode ser exaustiva, por isso é importante que haja componentes na interface que indiquem o andamento da rotulagem pelo usuário.
A seguir, sugestões de como exibir o status de andamento da rotulagem.
Mensagem de andamento
Barra de Progresso
Tempo de rotulagem e estimativas
Exibição de instâncias rotuladas e não rotuladas
Mensagem sobre o status das atividades realizadas pelo usuário. Esta mensagem precisam conter informações sobre quantas instâncias foram rotuladas pelo usuário. Opcionalmente pode conter mensagens de incentivo ao usuário, como exemplo: "você revisou 10 resumos até agora, continue assim!"
A barra de progresso pode auxiliar na rotulagem por sessões, seja por tempo ou por quantidade pré-definida de instâncias.
Uma boa forma de ajudar o usuário a se planejar para realizar a atividade de rotulagem é através da medição do tempo. Além disso, pode ser possível informar o usuário o tempo médio necessário para rotular uma instância e assim estimar qual seria o tempo total ideal para rotular uma certa quantidade de dados.
A exibição de instâncias rotuladas tem o objetivo de criar um histórico do que já foi feito pelo usuário. Além disso, a exibição de instâncias não rotuladas permite que o usuário tenha liberdade de escolher quais instâncias deseja rotular.
É recomendado que toda interação do usuário contenha dicas ou tooltips, ou ícones de dúvida, com o objetivo de deixar claro cada ação do usuário e disponibilizar atalhos para agilizar a interação.
Atalhos visíveis.
Botões de ajuda.
Devido à rotulagem ser uma atividade cansativa, o usuário pode pausar a rotulagem a qualquer momento sem cancelar todo trabalho já realizado. Por isso, é interessante o registro automático a cada interação do usuário ou uma opção de salvar e sair.