Desenvolvimento

20 abr, 2018

Modelos de incorporação de texto contêm polarização – por que isso importa

Publicidade

Artigo de Ben Packer, Yoni Halpern, Mario Guajardo-Céspedes e Margaret Mitchell, publicado originalmente pelo Google Developers Blog. A tradução foi feita pela Redação iMasters com autorização.

***

Como praticantes de machine learning, quando confrontados com uma tarefa, geralmente selecionamos ou treinamos um modelo baseado principalmente em quão bem ele se comporta nessa tarefa. Por exemplo, digamos que estamos criando um sistema para classificar se uma resenha de filme é positiva ou negativa. Nós pegamos cinco modelos diferentes e vemos como cada um executa essa tarefa:

Figura 1: Desempenho do modelo em uma tarefa. Qual modelo você escolheria?

Normalmente, nós simplesmente escolhemos o Modelo C. Mas e se descobríssemos que, embora o Modelo C tenha o melhor desempenho geral, também fosse mais provável atribuir um sentimento mais positivo à frase “O personagem principal é um homem” do que à sentença “O personagem principal é uma mulher”? Nós reconsideraríamos?

Polarização em modelos de machine learning

Os modelos de redes neurais podem ser bastante poderosos, ajudando efetivamente a identificar padrões e descobrir estruturas em uma variedade de tarefas, desde a tradução da linguagem a patologia e até jogar games. Ao mesmo tempo, os modelos neurais (bem como outros tipos de modelos de machine learning) podem conter vieses problemáticos em muitas formas.

Por exemplo, os classificadores treinados para detectar comentários grosseiros, desrespeitosos ou irracionais podem ter maior probabilidade de marcar a frase “Eu sou gay” do que “Eu sou heterossexual” [1]; modelos de classificação facial podem não funcionar tão bem para mulheres de cor [2]; a transcrição da fala pode ter taxas de erro mais altas para afro-americanos do que para os brancos americanos [3].

Muitos modelos de machine learning pré-treinados estão amplamente disponíveis para uso dos desenvolvedores – por exemplo, o TensorFlow Hub lançou recentemente sua plataforma publicamente. É importante que, quando os desenvolvedores usem esses modelos em seus aplicativos, estejam cientes de quais vieses eles contêm e como podem se manifestar nesses aplicativos.

Dados humanos codificam vieses humanos por padrão. Estar ciente disso é um bom começo, e a conversa sobre como lidar com isso está em andamento. No Google, estamos pesquisando ativamente análises de tendências e estratégias de mitigação indesejadas porque estamos comprometidos em criar produtos que funcionem bem para todos.

Neste artigo, vamos examinar alguns modelos de incorporação de texto, sugerir algumas ferramentas para avaliar certas formas de preconceito e discutir como esses problemas são importantes na criação de aplicativos.

Pontuação WEAT, uma ferramenta de medição de propósito geral

Os modelos de incorporação de texto convertem qualquer texto de entrada em um vetor de saída de números e, no processo, mapeiam palavras semanticamente semelhantes, próximas umas das outras no espaço de incorporação:

Figura 2: As incorporações de texto convertem qualquer texto em um vetor de números (à esquerda). Partes de texto semânticas similares são mapeadas próximas umas das outras no espaço de incorporação (à direita).

Dado um modelo de incorporação de texto treinado, podemos medir diretamente as associações que o modelo tem entre palavras ou frases. Muitas dessas associações são esperadas e são úteis para tarefas de linguagem natural. No entanto, algumas associações podem ser problemáticas ou prejudiciais.

Por exemplo, o artigo inovador de Bolukbasi et al. [4] descobriu que a relação vetorial entre “homem” e “mulher” era semelhante à relação entre “médico” e “enfermeira registrada” ou “lojista” e “dona de casa” na popular incorporação de word2vec publicamente disponível treinada no texto do Google News.

O Word Embedding Association Test (WEAT) foi recentemente proposto por Caliskan et al. [5] como forma de examinar as associações em incorporação de palavras entre conceitos capturados no Implicit Association Test (IAT). Usamos o WEAT aqui como uma maneira de explorar alguns tipos de associações problemáticas.

O teste WEAT mede o grau em que um modelo associa conjuntos de palavras-alvo (por exemplo, nomes afroamericanos, nomes europeus, americanos, flores, insetos) com conjuntos de palavras de atributo (por exemplo, “estável”, “agradável” ou “desagradável”). A associação entre duas palavras dadas é definida como a semelhança dos cossenos entre os vetores de incorporação das palavras.

Por exemplo, as listas de alvos para o primeiro teste do WEAT são tipos de flores e insetos, e os atributos são palavras agradáveis (por exemplo, “amor”, “paz”) e palavras desagradáveis (por exemplo, “ódio”, “feio”). A pontuação geral do teste é o grau em que as flores estão mais associadas às palavras agradáveis em relação aos insetos. Uma pontuação positiva alta (a pontuação pode variar entre 2,0 e -2,0) significa que as flores estão mais associadas a palavras agradáveis, e uma pontuação alta e negativa significa que os insetos estão mais associados a palavras agradáveis.

Enquanto os dois primeiros testes do WEAT foram propostos em Caliskan et al. e medem associações que são de pouca preocupação social (exceto talvez para entomologistas), os testes restantes medem vieses mais problemáticos.

Usamos a pontuação do WEAT para examinar vários modelos de incorporação de palavras: word2vec e GloVe (anteriormente relatados em Caliskan et al.) e três modelos recém-lançados disponíveis na plataforma TensorFlow Hubnnlm-en-dim50, nnlm-en-dim128 e universal-sentence-encoder. As pontuações estão relatadas na Tabela 1.

Tabela 1 (acima): Pontuações WEAT (Word Embedding Association Test) para diferentes modelos de incorporação. A cor das células indica se a direção da polarização medida está de acordo (azul) ou contra (amarelo) os vieses humanos comuns registrados pelos Implicit Association Tests. Os valores de P são medidos usando um teste de permutação como em Caliskan et al., e os testes com um valor de p significativo (p <0,01) são sombreados mais escuros.

Linhas 3-5 são variações cujas listas de palavras vêm de [6], [7] e [8]. Veja Caliskan et al. para todas as listas de palavras. *Para o GloVe, seguimos Caliskan et al. e soltamos palavras incomuns das listas de palavras. Todas as outras análises usam as listas completas de palavras.

Essas associações são aprendidas a partir dos dados que foram usados para treinar esses modelos. Todos os modelos aprenderam as associações para flores, insetos, instrumentos e armas que poderíamos esperar e que podem ser úteis na compreensão do texto. As associações aprendidas para os outros alvos variam com alguns modelos, mas não todos, reforçando vieses humanos comuns.

Para os desenvolvedores que usam esses modelos, é importante estarem cientes de que essas associações existem e de que esses testes avaliam apenas um pequeno subconjunto de possíveis vieses problemáticos. Estratégias para reduzir vieses indesejados são uma nova e ativa área de pesquisa, e não existe uma “bala de prata” que funcione melhor para todas as aplicações.

Ao focar em associações em um modelo de incorporação, a maneira mais clara de determinar como elas afetarão os aplicativos de downstream é examinando esses aplicativos diretamente. Passamos agora para uma breve análise de dois aplicativos de amostra: um analisador de sentimentos e um aplicativo de mensagens.

Estudo de caso 1: Analisador de sentimentos do filme de Tia

As pontuações do WEAT medem as propriedades da incorporação de palavras, mas não nos dizem como essas incorporações afetam as tarefas de downstream. Aqui, demonstramos o efeito de como os nomes são incorporados em alguns eventos comuns em uma tarefa de análise de opinião de resenha de filme.

Tia está procurando treinar um classificador de sentimentos para resenhas de filmes. Ela não tem muitas amostras de resenhas de filmes e, por isso, aproveita as incorporações pré-concebidas que mapeiam o texto em uma representação que facilita a tarefa de classificação.

Vamos simular o cenário de Tia usando um conjunto de dados de revisão de filmes do IMDB [9], subamostrado para mil avaliações positivas e mil negativas. Usaremos uma incorporação de palavras pré-treinada para mapear o texto das revisões do IMDB para vetores de baixa dimensionalidade e usar esses vetores como recursos em um classificador linear. Consideraremos alguns modelos diferentes de incorporação de palavras e treinaremos um classificador de sentimentos linear com cada um deles.

Avaliaremos a qualidade do classificador de sentimentos usando a área sob a métrica da curva ROC (AUC) em um conjunto de testes suspenso.

Aqui estão as pontuações da AUC para a classificação do sentimento do filme usando cada uma das incorporações para extrair recursos:

Figura 3: Pontuações de desempenho na tarefa de análise de sentimento, medida na AUC, para cada uma das diferentes incorporações.

No começo, a decisão de Tia parece fácil. Ela deve usar a incorporação desse resultado no classificador com a pontuação mais alta, certo?

No entanto, vamos pensar em alguns outros aspectos que poderiam afetar essa decisão. A palavra embeddings foi treinada em grandes conjuntos de dados aos quais a Tia pode não ter acesso. Ela gostaria de avaliar se os vieses inerentes a esses conjuntos de dados podem afetar o comportamento de seu classificador.

Observando as pontuações do WEAT para várias incorporações, Tia percebe que algumas incorporações consideram certos nomes mais “agradáveis” do que outros. Isso não parece uma boa propriedade de um analisador de sentimentos de filmes. Não parece correto para Tia que os nomes afetem o sentimento previsto de uma resenha do filme. Ela decide verificar se esse “viés de agradabilidade” afeta sua tarefa de classificação.

Ela começa construindo alguns exemplos de teste para determinar se um viés perceptível pode ser detectado.
Nesse caso, ela recebe as 100 avaliações mais curtas de seu conjunto de testes e acrescenta as palavras “revisado por _______”, em que o espaço em branco é preenchido com um nome. Usando as listas de nomes “afro-americanos”, “americanos europeus” de Caliskan et al. e nomes masculinos e femininos comuns da United States Social Security Administration, ela analisa a diferença nas pontuações médias dos sentimentos.

Figura 4: Diferença nas pontuações médias de sentimento nos conjuntos de testes modificados, onde “revisado por ______” foi adicionado ao final de cada revisão. Os gráficos de violino mostram a distribuição das diferenças quando os modelos são treinados em pequenas amostras dos dados originais de treinamento do IMDB.

Os gráficos de violino acima mostram a distribuição nas diferenças das pontuações médias de sentimento que Tia pode ver, simuladas tomando subamostras de mil avaliações positivas e mil negativas do conjunto de treinamento original do IMDB. Mostramos resultados para cinco incorporações de palavras, além de um modelo (sem incorporação) que não usa uma incorporação de palavras.

Verificar a diferença de sentimento sem incorporar é uma boa verificação que confirma que o sentimento associado aos nomes não é proveniente do pequeno conjunto de dados supervisionado do IMDB, mas sim introduzido pelas incorporações pré-concebidas. Também podemos ver que diferentes incorporações levam a diferentes resultados do sistema, demonstrando que a escolha da incorporação é um fator chave nas associações que o classificador de sentimentos de Tia fará.

Tia precisa pensar com muito cuidado sobre como esse classificador será usado. Talvez seu objetivo seja apenas selecionar alguns bons filmes para ela assistir em seguida. Nesse caso, pode não ser um grande problema. Os filmes que aparecem no topo da lista provavelmente serão filmes muito populares. Mas e se ela contratar e pagar atores e atrizes de acordo com as classificações médias de resenhas de filmes, avaliadas por seu modelo? Isso parece muito mais problemático.

Tia pode não estar limitada às escolhas apresentadas aqui. Há outras abordagens que ela pode considerar, como mapear todos os nomes para um único tipo de palavra, retreinando as incorporações usando dados projetados para atenuar a sensibilidade a nomes em seu conjunto de dados ou usando vários casos de incorporação e manipulação em que os modelos discordam.

Não há uma resposta “certa” aqui. Muitas dessas decisões são altamente dependentes do contexto e dependem do uso pretendido por Tia. Há muita coisa para Tia pensar à medida em que ela escolhe entre os métodos de extração de recursos para o treinamento de modelos de classificação de texto.

Estudo de caso 2: App de mensagens de Tamera

Tamera está criando um aplicativo de mensagens e deseja usar modelos de incorporação de texto para fornecer respostas sugeridas aos usuários quando eles receberem uma mensagem. Ela já criou um sistema para gerar um conjunto de respostas de candidatos para uma determinada mensagem e deseja usar um modelo de incorporação de texto para classificar esses candidatos.

Especificamente, ela executará a mensagem de entrada por meio do modelo para obter o vetor de incorporação de mensagens, fará o mesmo para cada uma das respostas do candidato e pontuará cada candidato com a semelhança de cosseno entre seu vetor de incorporação e o vetor de incorporação de mensagens.

Embora existam muitas maneiras pelas quais o viés de um modelo pode desempenhar um papel nessas respostas sugeridas, ela decide focar em um aspecto específico em particular: a associação entre ocupações e gênero binário.

Um exemplo de viés nesse contexto é se a mensagem recebida for “O engenheiro concluiu o projeto?” e o modelo marcar a resposta “Sim, ele fez” mais alto do que “Sim, ela fez”. Essas associações são aprendidas com os dados usados para treinar as incorporações e, embora elas possam refletir o grau em que cada resposta com perspectiva de gênero provavelmente será a resposta real nos dados de treinamento (e o grau em que há um desequilíbrio entre os gêneros nessas ocupações no mundo real), elas podem ser uma experiência negativa para os usuários quando o sistema simplesmente assume que o engenheiro é do sexo masculino.

Para medir essa forma de preconceito, ela cria uma lista de prompts e respostas. Os templates incluem perguntas como “É/foi seu primo a(n)?” e “É/foi aqui hoje?”, com templates de resposta de “Sim, é/foi”. Para uma determinada ocupação e questão (por exemplo, “O encanador estará lá hoje?”), a pontuação de viés do modelo é a diferença entre a pontuação do modelo para a resposta do sexo feminino (“Sim, ela vai”) e a do sexo masculino -gênero resposta (“Sim, ele vai”):

Para uma dada ocupação global, a pontuação de viés do modelo é a soma das pontuações de viés para todos os modelos de pergunta/resposta com essa ocupação.

Tamera executa 200 ocupações através dessa análise usando o modelo de incorporação Universal Sentence Encoder. A tabela 2 mostra as ocupações com as maiores pontuações parciais do sexo feminino (figura de cima) e as pontuações mais altas do sexo masculino (figura de baixo), abaixo:

Tamera não se incomoda com o fato de que as perguntas de “garçonete” são mais propensas a induzir uma resposta que contenha “ela”, mas muitos dos outros vieses de resposta lhe dão uma pausa. Tal como acontece com Tia, Tamera tem várias escolhas que ela pode fazer. Ela poderia simplesmente aceitar esses preconceitos como são e não fazer nada, embora pelo menos agora ela não seja pega de surpresa se os usuários reclamarem.

Ela poderia fazer alterações na interface do usuário, por exemplo, fazendo com que ela apresentasse duas respostas de gênero em vez de apenas uma, embora ela não queira fazer isso se a mensagem de entrada tiver um pronome de gênero (por exemplo, “ela estará lá hoje?”).

Ela poderia tentar reciclar o modelo de incorporação usando uma técnica de mitigação de viés (por exemplo, como em Bolukbasi et al.) e examinando como isso afeta o desempenho downstream, ou ela poderia atenuar o viés no classificador diretamente ao treinar seu classificador (por exemplo, como em Dixon et al. [1], Beutel et al. [10] ou Zhang et al. [11]).

Não importa o que ela decida fazer, é importante que Tamera tenha feito esse tipo de análise para que ela saiba o que seu produto faz e possa tomar decisões informadas.

Conclusões

Para entender melhor os possíveis problemas que um modelo ML pode criar, tanto os criadores de modelos quanto os profissionais que usam esses modelos devem examinar os vieses indesejáveis ​​que os modelos podem conter.

Mostramos algumas ferramentas para descobrir formas específicas de preconceitos estereotipados nesses modelos, mas isso certamente não constitui todas as formas de preconceito. Mesmo as análises do WEAT discutidas aqui são bastante limitadas e, portanto, não devem ser interpretadas como capturando toda a história sobre associações implícitas em modelos de incorporação.

Por exemplo, um modelo treinado explicitamente para eliminar associações negativas de 50 nomes em uma das categorias do WEAT provavelmente não mitigaria associações negativas para outros nomes ou categorias, e a baixa pontuação resultante do WEAT poderia dar uma falsa impressão de que associações negativas como um todo têm sido bem abordadas.

Essas avaliações são mais usadas para nos informar sobre a maneira como os modelos existentes se comportam e para servir como um ponto de partida para entender como vieses indesejados podem afetar a tecnologia que fazemos e usamos. Continuamos a trabalhar nesse problema porque acreditamos que é importante, e convidamos você a participar dessa conversa também.

Agradecimentos

Gostaríamos de agradecer a Lucy Vasserman, Eric Breck, Erica Greene, a equipe do TensorFlow Hub e da Semantic Experiences por colaborar neste trabalho.

Referências

  1. Dixon, L., Li, J., Sorensen, J., Thain, M. and Vasserman, L., 2018. Measuring and Mitigating Unintended Bias in Text Classification. AIES.
  2. Buolamwini, J. and Gebru, T., 2018. Gender Shades: Intersectional Accuracy Disparities in Commercial Gender Classification. FAT/ML.
  3. Tatman, R. and Kasten, C. 2017. Effects of Talker Dialect, Gender & Race on Accuracy of Bing Speech and YouTube Automatic Captions. INTERSPEECH.
  4. Bolukbasi, T., Chang, K., Zou, J., Saligrama, V. and Kalai, A. 2016. Man is to Computer Programmer as Woman is to Homemaker? Debiasing Word Embeddings. NIPS.
  5. Caliskan, A., Bryson, J. J. and Narayanan, A. 2017. Semantics derived automatically from language corpora contain human-like biases. Science.
  6. Greenwald, A. G., McGhee, D. E., and Schwartz, J. L. 1998. Measuring individual differences in implicit cognition: the implicit association test. Journal of personality and social psychology.
  7. Bertrand, M. and Mullainathan, S. 2004. Are emily and greg more employable than lakisha and jamal? a field experiment on labor market discrimination. The American Economic Review.
  8. Nosek, B. A., Banaji, M., and Greenwald, A. G. 2002. Harvesting implicit group attitudes and beliefs from a demonstration web site. Group Dynamics: Theory, Research, and Practice.
  9. Andrew L. Maas, Raymond E. Daly, Peter T. Pham, Dan Huang, Andrew Y. Ng, and Christopher Potts. 2011. Learning Word Vectors for Sentiment Analysis. ACL.
  10. Beutel, A., Chen, J., Zhao, Z., & Chi, E. H. 2017 Data Decisions and Theoretical Implications when Adversarially Learning Fair Representations. FAT/ML.
  11. Zhang, B., Lemoine, B., and Mitchell, M. 2018. Mitigating Unwanted Biases with Adversarial Learning. AIES.

***

Este artigo é do Google Developers Blog. Ele foi escrito por Ben Packer, Yoni Halpern, Mario Guajardo-Céspedes e Margaret Mitchell . A tradução foi feita pela Redação iMasters com autorização. Você pode acessar o original em: https://developers.googleblog.com/2018/04/text-embedding-models-contain-bias.html