Publicado em 13 de novembro de 2024
Discurso de ódio, assédio e abuso on-line se tornaram um problema generalizado. Os comentários tóxicos silenciam vozes importantes e afastar usuários e clientes. A detecção de toxicidade protege seus usuários e cria um ambiente on-line mais seguro.
Nesta série de dois episódios, vamos mostrar como usar a IA para detectar e reduzir a toxicidade na fonte: os teclados dos usuários.
Nesta primeira parte, discutimos os casos de uso e os benefícios dessa abordagem.
Na segunda parte, compartilhamos a implementação, incluindo exemplos de código e dicas de UX.
Por que realizar a detecção de toxicidade do lado do cliente
Vantagens
A detecção de toxicidade do lado do cliente é uma primeira linha de defesa útil e um ótimo complemento para as verificações do lado do servidor. A detecção de toxicidade do lado do cliente oferece vários benefícios:
- Detectar a toxicidade cedo. Com as verificações do lado do cliente, você pode detectar a toxicidade na fonte, sem tocar no servidor.
- Ative as verificações em tempo real. Use a velocidade do lado do cliente para criar aplicativos de baixa latência e fornecer feedback instantâneo aos usuários.
- Reduza ou otimize a carga de trabalho do servidor. Reduza a carga de trabalho do servidor e os custos de detecção de toxicidade: primeiro, porque as dicas voltadas ao usuário podem ajudar a diminuir o volume de comentários tóxicos, mas também porque sinalizar determinados comentários como provavelmente tóxicos antes que eles cheguem ao servidor ajuda a priorizar eles nas verificações do lado do servidor.
- Reduzir a carga humana. Diminuir a carga dos moderadores humanos.
Casos de uso
Confira alguns motivos para criar a detecção de toxicidade do lado do cliente:
- Detecção imediata em sistemas de comentários. Ofereça feedback imediato aos usuários que escrevem comentários tóxicos, incentivando-os a reformular a mensagem antes de postar. Com a IA do lado do cliente, é possível fazer isso sem chave de API, sem custos de classificação do lado do servidor no momento da execução e com baixa latência. Isso pode ser ideal para apps de chat.
- Moderação em tempo real no chat ao vivo. Identifique e sinalize rapidamente mensagens tóxicas dos usuários, permitindo que os moderadores intervenham imediatamente.
Manter as verificações do lado do servidor
Embora a detecção de toxicidade do lado do cliente seja rápida, um usuário malicioso com conhecimento de front-end pode desativá-la. Além disso, nenhum sistema de detecção de toxicidade é 100% preciso.
Por esses motivos, recomendamos que você continue implementando ou mantenha uma revisão adicional com um servidor, em vez de depender apenas da detecção de toxicidade do lado do cliente. Por exemplo, complemente sua verificação do lado do cliente em tempo real com uma revisão assíncrona do lado do servidor usando a API Perspective. Para uma abordagem abrangente, combine essas ferramentas com a moderação humana.
Advertências
A detecção de toxicidade do lado do cliente exige o download de um modelo de classificação na sua página da Web e, muitas vezes, de uma biblioteca de IA do lado do cliente.
Considere as implicações:
- Custos de veiculação e hospedagem de modelos. O modelo pode ser grande.
- Desempenho e UX. A biblioteca e o modelo vão aumentar o tamanho do pacote.
Considere os benefícios antes de decidir se essa é a opção certa para seu caso de uso. Aplique as práticas recomendadas de desempenho para a IA do cliente e armazene o modelo em cache para que o download seja um custo único.
Como funciona a classificação de toxicidade do conteúdo
Antes de analisarmos a implementação completa, confira os aspectos essenciais da detecção de toxicidade.
Um modelo de detecção de toxicidade analisa o texto existente, em vez de gerar novo conteúdo (IA generativa). É uma tarefa clássica de PLN (processamento de linguagem natural).
A detecção de toxicidade depende de classificadores de texto que categorizam o texto como provável tóxico ou inofensivo. Os classificadores de toxicidade usam o texto como entrada e atribuem a ele vários rótulos de toxicidade, além de uma pontuação. As pontuações variam de 0 a 1. Pontuações mais altas indicam que a entrada tem mais probabilidade de ser tóxica.
A detecção de toxicidade depende de classificadores de texto que categorizam o texto como provável tóxico ou inofensivo.
Considere como exemplo o modelo Xenova/toxic-bert, uma versão compatível com a Web de unitary/toxic-bert. Ele oferece seis rótulos:
toxic
severe_toxic
insult
obscene
identity_hate
threat
Rótulos como toxic
e severe_toxic
indicam a toxicidade geral.
Outros rótulos são mais específicos. Eles identificam tipos específicos de toxicidade,
por exemplo, identity_hate
(bullying ou ameaças sobre a identidade de uma pessoa, como
raça, religião, identidade de gênero e assim por diante) ou threat
(uma declaração de
intenção de causar danos).
Diferentes modelos de toxicidade têm maneiras diferentes de abordar a classificação. Confira alguns exemplos representativos.
Neste exemplo, a entrada a seguir inclui a palavra "hate" e é direcionada a
uma pessoa. Portanto, a pontuação de toxicity
é alta (0.92
). Nenhum tipo de toxicidade específico
foi identificado, então as outras pontuações são baixas.
Input: I hate you
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.16187334060668945 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]
No próximo exemplo, a entrada tem um tom de ódio geral, então ela recebe uma pontuação
toxicity
alta (0.92
). Devido à menção explícita de danos, a pontuação threat
também é alta (0.81
).
Input: I hate your garden, and I will kill your plants
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.819197041168808937 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]
Próximo
Agora que você entendeu o contexto, comece a criar um sistema de detecção de toxicidade por IA do lado do cliente.