Discourse AI - Detecção de Spam

E ele é um exemplo dos mesmos spammers sendo pegos aqui: https://meta.discourse.org/t/full-list-of-quickbooks-desktop-support-contact-numbers-a-complete-call-center-in-the-usa/380776 (já está oculto).

Esses caras estão definitivamente trabalhando duro.

1 curtida

Ótimo trabalho nesta funcionalidade. :raising_hands: É exatamente assim que gosto de ver a IA sendo usada.

Pergunta rápida: quando um novo usuário TL0 envia uma resposta ou tópico, há um atraso enquanto o conteúdo é verificado?

Vejo um pequeno atraso no testador integrado (captura de tela abaixo), mas quando posto de uma conta de teste, não há pausa semelhante. A verificação ao vivo é assíncrona após a publicação, com a postagem oculta apenas se violar uma regra? (contexto: estou usando a API OpenAI ChatGPT 5.)

Para que valha a pena, IA > Spam & Stats incrementa como esperado com a conta de teste, então a postagem ESTÁ sendo verificada; ela apenas não está introduzindo o mesmo atraso que o botão Test faz.

image

Obrigado.

Ok, isso funciona muito bem, mas o que acontece quando ele sinaliza dezenas de tópicos/usuários. Não estou vendo uma maneira de banir/excluir em massa esses usuários/posts.

Obrigado pelo tópico detalhado. Temos a detecção de spam do Discourse AI ativada em nossa instância, e uma das coisas que estamos vendo é a ação padrão de silenciamento automático quando a primeira postagem feita por uma conta é sinalizada.

Eu entendo que isso é para silenciar spammers de uso único; no entanto, isso está causando problemas em que aprovar/aceitar uma sinalização significa que o usuário permanecerá silenciado em casos em que queremos aprovar a sinalização, mas não silenciar o usuário. Seria bom ter:

  1. um botão de “concordar e manter silenciado”, e
  2. um botão separado de “concordar e remover silenciamento”.
2 curtidas

Este é um caso complicado, não queremos paralisar as pessoas com escolhas aqui, mas eu entendo totalmente que em escala isso pode ser um problema.

Deixe-me verificar com a equipe de experiência empresarial, talvez haja uma pequena personalização que possamos fazer para o seu fórum.

1 curtida

Publiquei um tópico de teste de spam no meu ambiente de desenvolvimento local, mas ele não entrou automaticamente na fila de moderação.

O resultado da detecção por IA é, de fato, uma postagem de spam.

E também atende a outras condições para entrar na fila de moderação.

  1. Nível de Confiança do Usuário:

    • Analisa postagens de usuários com nível de confiança 1 ou inferior.

    • Exclui postagens de usuários com níveis de confiança mais altos.

  2. Tipo de Postagem:

    • Postagens públicas (excluindo mensagens privadas).

    • Inclui postagens de resposta e postagens de tópico iniciais, com base em outros limites.

  3. Edição de Postagem:

    • Analisa postagens com edições significativas (por exemplo, alteração de mais de 10 caracteres).

    • Impõe um atraso de 10 minutos entre as análises da mesma postagem.

  4. Frequência de Postagem:

    • Prioriza casos em que novos usuários postaram um total de menos de 4 postagens em tópicos públicos.

    • Exclui postagens de usuários que excedem esse limite.

No entanto, o resultado final é que ela não entrou na fila de moderação.

Onde devo verificar para encontrar o problema?

Olá @singi2016cn.

Você quer dizer que verificou isso com a ferramenta de teste?

Você pode acessar essa ferramenta seguindo estas instruções:

  1. Faça login em uma conta no seu fórum que tenha privilégios de administrador.
  2. Navegue até esta página no seu fórum: /admin/plugins/discourse-ai/ai-spam
  3. Clique no botão “Testar…” nessa página.
    A caixa de diálogo “Testar detecção de spam” será aberta.
  4. Insira a URL ou o ID da postagem de spam de teste no campo “URL ou ID da postagem” na caixa de diálogo.
  5. Clique no botão “Executar teste”.
2 curtidas

Sim, a ferramenta de teste retornou explicitamente como Spam, mas quando postei o conteúdo idêntico, ele não entrou na fila de moderação.

Quem postou isso? Você usou um novo usuário que criou para testes ou usou, por exemplo, uma conta com permissões de moderador?

Usuário comum, nível de confiança trust_level_1, não é administrador nem moderador.

Aqui está o conjunto de instruções personalizadas que estou usando para detecção de spam. É mais detalhado do que a versão padrão, portanto, usará mais tokens. O que outros estão usando para conjuntos de instruções de cliente para detecção de spam?

Conjunto de Instruções Conciso para Detecção de Spam

Você é um sistema de detecção de spam analisando postagens de fórum.

Sua tarefa é determinar se uma postagem tem como principal objetivo promover, enganar, manipular classificações de mecanismos de busca, distribuir links maliciosos ou perturbar a discussão — em vez de participar genuinamente na comunidade.

Avalie:

  • Conteúdo da postagem
  • Tipo de postagem (REPLY ou NEW TOPIC)
  • Contexto do tópico (para respostas)
  • Informações do site

Classifique como Spam se a postagem:

  • Promover produtos, serviços ou sites externos sem engajamento significativo
  • Contiver links promocionais suspeitos, não relacionados ou múltiplos
  • Usar preenchimento de palavras-chave estilo SEO ou padrões repetitivos
  • Parecer automatizada, baseada em modelo ou gerada por bot
  • Ser irrelevante para o tópico do fórum
  • Para postagens de RESPOSTA: ignorar o tópico e injetar conteúdo não relacionado

Indicadores fortes de spam incluem:

  • Links de afiliados/referência
  • Linguagem de “Compre agora”, descontos ou vendas
  • Informações de contato não relacionadas à discussão
  • Elogio genérico + link
  • Estrutura de copiar e colar
  • Texto sem sentido ou gerado por IA

NÃO classifique como spam apenas porque:

  • O usuário é novo
  • O inglês é imperfeito
  • A postagem é curta
  • O tom é entusiasmado
  • Um produto ou fornecedor relevante é mencionado no contexto

Sinais legítimos incluem:

  • Referências específicas ao tópico
  • Discussão técnica relevante ao tópico
  • Perguntas genuínas
  • Experiência pessoal relacionada ao assunto do fórum

Regra de Decisão

Se a intenção principal parecer promocional, maliciosa ou disruptiva → spam = true.
Se a postagem participar significativamente da discussão → spam = false.

Na dúvida, mas com várias bandeiras vermelhas presentes, priorize a segurança da comunidade.


Formato de Saída

Retorne apenas JSON válido:

{“spam”: true ou false, “reason”: “Breve explicação (1–2 frases).”}

Não inclua comentários adicionais.

1 curtida

Deveria haver um relatório na página Admin->Plugin->AI->SPAM que mostre os detalhes da caixa de resumo. A caixa de resumo mostra o número de publicações verificadas, spam detectado e falsos positivos e negativos.

  • O relatório de detalhes existe em algum lugar que não encontrei?
  • Existe uma consulta no Data Explorer que forneça os detalhes de nível inferior?

Agradeço antecipadamente.

Este lhe dá todos os detalhes

SELECT * FROM ai_spam_logs ORDER BY 1 DESC LIMIT 50
2 curtidas