- Documentos da API
- CLI
- Guias de integração
- Integração do Exchange com usuário do serviço do Azure
- Integração do Exchange com Autenticação de Aplicativo do Azure
- Automação em tempo real
- Como buscar dados para o Tableau com o Python
- Integração do Elasticsearch
- Integração do EWS auto-hospedado
- Estrutura de automação da UiPath
- Atividades do UiPath Marketplace
- Atividades oficiais da UiPath
- Blog
- Como as máquinas aprendem a entender as palavras: um guia para incorporações ao NLP
- Aprendizado baseado em solicitação com Transformers
- Efficient Transformers II: extração de conhecimento e ajustes finos
- Transformers eficientes I: mecanismos de atenção
- Modelagem de intenção hierárquica profunda não supervisionada: obtenção de valor sem dados de treinamento
- Corrigindo viés de anotação com Communications Mining
- Aprendizado ativo: melhores modelos de ML em menos tempo
- Está tudo nos números - avaliando o desempenho do modelo com métricas
- Por que a validação de modelos é importante
- Comparação do Communications Mining e do Google AutoML para inteligência de dados conversacional
Guia do desenvolvedor do Communications Mining
Corrigindo viés de anotação com Communications Mining
O Communications Mining usa modelos de aprendizado de máquina para identificar padrões em dados de comunicação, como e-mails, chats e chamadas. Os modelos extrapolam esses padrões para fazer previsões para dados semelhantes no futuro, gerando processos downstream, como automações e análises.
Para que essa abordagem funcione, os dados usados para treinar um modelo precisam ser representativos das comunicações sobre as quais ele fará previsões. Quando esse não for o caso, os modelos cometerão erros que podem afetar gravemente o desempenho de sistemas que dependem de previsões precisas.
Para ajudar os usuários a criar modelos robustos e de bom desempenho, criamos uma ferramenta para garantir que os dados usados para treinamento sempre correspondam à tarefa de destino do usuário. Neste post do blog, discutimos como essa ferramenta funciona e alguns dos problemas que abordamos durante seu desenvolvimento.
O que é viés de anotação?
Os modelos no Communications Mining são treinados em dados revisados pelo usuário. Os usuários criam rótulos para tópicos de seu interesse e, em seguida, anote exemplos com rótulos aplicáveis. Um modelo é então treinado automaticamente nesses dados revisados para prever quais rótulos se aplicam.
Anotar dados é difícil e demorado. O Communications Mining aproveita o aprendizado ativo para acelerar o processo, ajudando os usuários a anotar os pontos de dados mais informativos no tempo mais rápido possível.
Como o aprendizado ativo seleciona pontos de dados específicos, ele costuma se concentrar em um subconjunto dos dados subjacentes. Além disso, alternar entre conceitos vem com uma sobrecarga cognitiva. Os usuários são incentivados a anotar grupos de exemplos de tópicos semelhantes ao mesmo tempo, em vez de mudar constantemente de tema.
Isso pode fazer com que alguns tópicos apareçam com mais ou menos frequência nos dados revisados do que o conjunto de dados como um todo. Chamamos isso de viés de anotação, porque os dados anotados pelos usuários não representam mais os dados subjacentes.
Por que você deve se importar?
O Communications Mining usa dados revisados durante a validação para avaliar o desempenho do modelo. Se esses dados forem enviesados em relação a determinados tópicos, os resultados da validação podem ser enganosos.
Considere uma caixa de correio compartilhada para um banco multiplataforma que contém emails de toda a região EMEA. Os modelos multilíngues do Communications Mining podem entender dados de comunicação em uma mistura de idiomas. No entanto, se um usuário tiver que rotular apenas e-mails de um único idioma, o modelo pode aprender a se concentrar em recursos específicos desse idioma.
Nesse caso, as pontuações de validação seriam boas para esse modelo, pois ele funciona bem em todos os exemplos anotados. Por outro lado, o desempenho em e-mails em outros idiomas pode ser pior. O usuário não saberia porque não há exemplos para destacar isso nos dados revisados. Isso pode levar a ineficiências em quaisquer processos que dependam do modelo para fazer previsões precisas.
A matemática por trás do viés de rotulagem
Cada um desses componentes é estimado a partir de algum ou todo o conjunto de dados durante o treinamento.
- P(Document∣Label) Modela o intervalo de documentos para um determinado tópico. O modelo aprende a estimar isso a partir dos dados anotados, extrapolando usando seu conhecimento do idioma e do mundo.
- P(Documento) Modela os diferentes tipos de documentos no conjunto de dados e suas frequências relativas. Isso é independente dos rótulos e pode ser estimado a partir de todos os exemplos (tanto revisados quanto não revisados).
- P(Rótulo) Modela a frequência de diferentes tópicos. Isso só pode ser estimado a partir dos dados anotados, pois é específico de cada caso de uso.
Todas as três partes são necessárias para encontrar P(Label∣Document). No entanto, tanto P(Rótulo) quanto P(Document∣Label) dependem fortemente dos dados anotados. Quando o viés de anotação está presente, essas estimativas podem não corresponder às distribuição verdadeiras, levando a imprecisões em P(Label∣Document).
Dado o papel vital que os dados revisados desempenham no treinamento e validação de modelos, precisamos detectar viés de anotação e avisar os usuários quando seus dados não são representativos.
No nível mais simples, o viés de anotação é uma discrepância entre exemplos que foram revisados pelos usuários e aqueles que não foram. Imagine que uma pessoa seja solicitada a verificar se há viés de anotação em um conjunto de dados. Essa pessoa pode observar temas comuns que aparecem nos dados revisados e, depois, verificar com que frequência ocorrem nos dados não revisados.
Se a pessoa encontrar uma regra confiável para diferenciar esses dois grupos, podemos ter certeza de que há um equilíbrio. Por outro lado, em um conjunto de dados sem viés de anotação, uma pessoa seria incapaz de prever com precisão se os exemplos serão revisados ou não. O desempenho preditivo dessa pessoa mede quanto viés de anotação está presente no conjunto de dados.
Usamos essa ideia como ponto de partida para nosso modelo de viés de anotação.
A tarefa de comparação pode ser automatizada com um modelo de aprendizado de máquina. Esse modelo é diferente do modelo principal do Communications Mining, que prevê quais rótulos ou campos gerais se aplicam a um documento. Em vez disso, o modelo é treinado para identificar pontos de dados revisados.
As pontuações de validação do modelo mostram com que facilidade o modelo pode distinguir entre exemplos revisados e não revisados e, portanto, quanto viés de anotação está presente no conjunto de dados.
Classificação de exemplos revisados
Um modelo de classificador simples treinado no conjunto de dados sintético tem uma precisão média de mais de 80%. Se o conjunto de dados não fosse enviesado, esperaremos que o modelo não tenha um desempenho melhor do que o aleatório, que corresponde ao viés que podemos ver nos dados revisados.
Modelos de classificador ingênuos semelhantes treinados em conjuntos de dados reais também podem detectar de forma confiável exemplos revisados. Isso sugere que o viés de anotação estava presente nesses conjuntos de dados, mas a origem exata era desconhecida.
Para o conjunto de dados sintéticos, é fácil ver o efeito do viés de anotação nos dados plotados. Esse não é o caso para um conjunto de dados real, no qual os dados estão em mais de duas dimensões e os padrões geralmente são muito mais complexos.
Em vez disso, podemos procurar padrões em exemplos que o modelo tem certeza de que não foram revisados. Essa abordagem mostrava que os e-mails previstos com confiança como não revisados geralmente continham anexos sem texto. Onde esses e-mails estavam presentes nos dados, eles geralmente eram sub-representados nos exemplos revisados.
Isso constitui um claro viés de anotação e mostra a promessa de um modelo classificador.
O modelo de viés de anotação é treinado para distinguir entre dados revisados e não revisados. Nesta configuração, o modelo tenta capturar o usuário identificando padrões em seus dados anotados. Essa abordagem adversa é uma maneira poderosa de inspecionar os dados revisados, mas também gera dois problemas interessantes.
Diferenças Triviais
Diferenças entre dados revisados e não revisados selecionados pelo modelo devem ter significado para os usuários. No entanto, quando fornecemos o modelo de viés ingênuo com entradas detalhadas, encontramos o modelo às vezes focado em padrões insignificantes.
.jpg
com GOCR
no nome, foram previstos com confiança como não revisados. Não havia tais exemplos no conjunto revisado, mas 160 no conjunto não revisado, representando um pequeno viés de anotação.
GOCR
em nomes de arquivos, e esses exemplos eram apenas um subconjunto de e-mails somente de anexo no conjunto de dados. Na verdade, todos esses e-mails tinham previsões seguras e corretas para o rótulo Auto-Generated
do conjunto de dados, o que significa que esses recursos também não tiveram significação para o modelo de anotação do Communications Mining. No entanto, o modelo de viés estava usando esses recursos para fazer previsões.
Os usuários não devem ter que rotular todas as combinações de recursos sem sentido para obter uma boa pontuação de viés de anotação. Para quase todos os conceitos, não precisamos de milhares de exemplos para capturar totalmente o intervalo de pontos de dados possíveis. Em vez disso, o modelo de viés de anotação deve se concentrar apenas nas diferenças que realmente afetam as previsões de anotação.
Tópicos não importantes
Os conjuntos de dados podem conter pontos de dados que nunca são anotados pelos usuários porque são irrelevantes para a sua tarefa de destino.
Retornando ao nosso exemplo bancário multiplataforma, as equipes podem usar o Communications Mining para realizar casos de uso específicos de cada país. Cada equipe construiria um modelo personalizado para sua tarefa de destino, com todos os modelos usando e-mails da caixa de e-mail compartilhada.
Esses casos de uso provavelmente serão diferentes entre as equipes. Os países da Europa podem querer monitorar o efeito do Brexit em suas operações e criar um conjunto de rótulos para esse fim. Por outro lado, equipes no oriente Médio e na África podem não ter uso para e-mails relacionados ao Brexit e os ignorariam em seu modelo.
Não anotar e-mails relacionados ao Brexit é um exemplo de viés de anotação. No entanto, esse é um viés sem importância para usuários no Orien-te Médio e na África. O modelo de viés deve levar isso em consideração e pesquisar apenas o viés de anotação em e-mails que a equipe considerar útil.
Precisamos tornar mais difícil para o rotulador se concentrar em recursos pequenos, mas guie isso pelo que o usuário define como útil. Para fazer isso, podemos alterar as entradas que passam para nosso modelo de viés de anotação.
Entradas do modelo
As entradas para nosso modelo de anotação principal contêm uma grande quantidade de informações do texto de entrada. Isso permite que o modelo aprenda relacionamentos complexos que influenciam as previsões do rótulo. No entanto, para o modelo de viés de anotação, isso também permite que o modelo se concentre em diferenças pequenas e sem sentido em recursos como nomes de arquivos.
A redução de dimensionamento é uma maneira de filtrar informações enquanto mantém as propriedades significativas das entradas originais. O uso de entradas reduzidas impede que o modelo de viés se concentre em recursos pequenos, enquanto retém informações importantes em um conjunto de dados.
Os usuários apenas criam rótulos para tópicos que desejam rastrear, portanto, incluir rótulos durante a redução de dimensionamento significa que mantemos as funcionalidades de entrada mais importantes. Com essa abordagem, nosso modelo de viés de anotação não se concentra mais em recursos pequenos e leva em consideração rótulos ao estimar o viés.
Usamos nosso modelo de viés de anotação para duas tarefas principais no Communications Mining.
Pontuações de equilíbrio
Detectar e lidar com o viés de anotação é vital para pontuações confiáveis de validação do modelo. Por isso, mostramos o desempenho do modelo de viés de anotação na classificação do modelo.
Isso está na forma de uma medida de similaridade entre os dados revisados e não revisados. Uma pontuação de similaridade baixa indica uma grande diferença entre dados revisados e não revisados, destacando o viés de anotação no conjunto de dados.
Rebalanceamento
A melhor maneira de criar um conjunto não enviesado de dados revisados é anotar uma seleção aleatória de exemplos. Dessa forma, os rótulos revisados sempre corresponderão à distribuição subjacente. No entanto, anotar dessa maneira é ineficiente, especialmente para conceitos raros.
Em vez disso, o Communications Mining usa o aprendizado ativo para acelerar o processo de anotação, direcionando os exemplos mais úteis. Esses exemplos direcionados nem sempre correspondem à distribuição de dados subjacente, o que significa que vieses de anotação podem se desenvolver gradualmente ao longo do tempo.
Não é garantido que o aprendizado ativo produza um conjunto isento de vieses de exemplos revisados. No entanto, quando o viés de anotação é detectado, podemos usar o modelo de viés de anotação para resolver qualquer desvio. Dessa forma, nos beneficiamos do tempo de treinamento reduzido do aprendizado ativo e do baixo viés de anotação da amostra aleatória.
Rebalance
, que mostra pontos de dados que o modelo de viés tem confiança que não foram revisados e, portanto, sub-representados no conjunto de dados. Anotar esses exemplos fornece uma maneira rápida de lidar com o viés de anotação em um conjunto de dados.
Para demonstrar como o rebalanceamento melhora o desempenho do Communications Mining, simulamos usuários anotando exemplos seguindo três estratégias de aprendizado ativas.
- Aleatório. Anote uma seleção aleatória dos exemplos não revisados.
- Padrão Anote exemplos dos quais o Communications Mining não tem certeza ou aqueles com a maior entropia de previsão. Essa é uma abordagem comum para o aprendizado ativo e é equivalente a usar apenas a visualização
Teach
no Communications Mining. - Communications Mining. Siga a estratégia de aprendizado ativo do Communications Mining, que sugere as principais ações de treinamento para melhorar o modelo atual. Isso inclui a exibição
Rebalance
.
Executamos essas simulações no conjunto de dados de código aberto da Reputação fornecido pela NLTK , que contém artigos de notícias marcados com um ou mais dos 90 rótulos. Para cada execução, o mesmo conjunto inicial de 100 exemplos selecionado aleatoriamente foi usado. Para cada etapa da simulação, modelamos usuários anotando 50 exemplos selecionados pela estratégia de aprendizado ativa. Então, o Communications Mining retreina e o processo é repetido.
O gráfico abaixo mostra o desempenho do modelo de anotação do Communications Mining na tarefa possível à medida que mais exemplos são anotados. A pontuação de saldo também é mostrada, representando a quantidade de viés de anotação presente no conjunto de dados.
A estratégia de aprendizado ativo do Communications Mining produz pontuações de saldo semelhantes à amostra aleatória, mas requer menos exemplos para produzir o mesmo desempenho do modelo. Isso significa que o aprendizado ativo com o Rebalanceamento oferece o melhor do aprendizado ativo padrão e da amostra aleatória: exemplos revisados imparciais e bom desempenho do modelo em menos tempo.
- Para obter pontuações de validação de modelo precisas, os dados anotados devem ser representativos do conjunto de dados como um todo.
- O modelo de viés de anotação do Communications Mining compara dados revisados e não revisados para localizar tópicos que estão sub-representados no conjunto de dados.
- A visualização
Rebalance
pode ser usada para resolver rapidamente o viés de anotação em um conjunto de dados. - O aprendizado ativo do Communications Mining leva a menos viés de anotação do que as abordagens padrão e tem um desempenho melhor do que a amostra aleatória isoladamente.