API filtro de palavrões

Um filtro de palavrões que lê palavras, não listas

As listas de palavras não veem "p o r r a" e marcam "Scunthorpe". O VigiMod verifica cada mensagem com uma regra que o modelo lê: os palavrões disfarçados são apanhados e as palavras inocentes ficam limpas, em 26 idiomas. Palavrões e toxicidade têm pontuações separadas, então você decide se um "caramba" entre amigos importa.

Respostas reais da API

A pontuação de palavrões e a de toxicidade das mesmas mensagens. Palavrões entre amigos têm pontuação alta de palavrões e baixa de toxicidade; palavras que só contêm um palavrão não têm nenhuma das duas.

MensagemPalavrõesToxicidade
what the fuck is this1.000.96
wh4t the f*ck1.000.91
f u c k this game0.990.13
this game is so damn good0.990.06
sei uno str0nzo1.001.00
esto es una mierda1.001.00
das ist scheiße1.000.98
c'est de la merde1.000.97
que porra é essa1.001.00
I live in Scunthorpe0.000.00
the class assessment is due tomorrow0.000.00
Assassin's Creed is a great game0.000.00
shiitake mushrooms are tasty0.000.00

VigiMod 1.2.1 com a regra de palavrões mostrada abaixo e limiares padrão, executado em

Lista de palavras ou filtro com IA

Lista de palavrasVigiMod
Palavrões disfarçados (f*ck, p o r r a, str0nzo)Escapam se cada variante não estiver na listaApanhados: o texto é normalizado e lido inteiro
Palavras inocentes (Scunthorpe, assessment, shiitake)Marcadas se contêm uma palavra da listaNão marcadas
Vulgar ou ofensivoA mesma marca para ambosPalavrões e toxicidade com pontuações separadas
IdiomasUma lista por idioma, mantida à mão26 idiomas com uma só requisição
As suas regrasEdita a listaEscreve a regra como uma frase e ajusta o limiar

Adicione ao seu chat com uma requisição

Os palavrões são uma regra em linguagem natural, enviada com a mensagem (ou guardada uma vez numa política do painel). Ative block_slurs para marcar também as ofensas discriminatórias por tipo, em português, inglês, italiano, espanhol, francês e alemão.

import requests

r = requests.post(
    "https://api.vigimod.com/moderate",
    headers={"X-API-Key": VIGIMOD_KEY},
    json={
        "text": message,
        "rules": {"profanity": "The message contains profanity: swear words, curse words, vulgar or obscene language, in any language"},
        "block_slurs": True,      # slur lists in six languages, one flag per kind
        "categories": ["toxic"],  # optional: is it also an attack?
    },
)
result = r.json()
result["flags"]["rule:profanity"]   # True: swearing or vulgar language
result["flags"]["toxic"]            # True: also rude or hostile
result["blocklist_matches"]         # slurs found, if any

Vem da Perspective API? O endpoint compatível calcula PROFANITY com a mesma regra: Alternativa à Perspective API

curl -s "https://api.vigimod.com/v1alpha1/comments:analyze?key=$VIGIMOD_KEY" \
  -H "Content-Type: application/json" \
  -d '{"comment": {"text": "wh4t the f*ck"}, "requestedAttributes": {"PROFANITY": {}}}'

Sem deixar o chat mais lento

  • Verifique depois de publicar, não antes: mostre a mensagem na hora e esconda-a se for marcada. Os usuários nunca esperam pelo filtro.
  • Se precisar verificar antes de publicar, peça só o que usa (regras e categorias): menos verificações, resposta mais rápida.
  • Decida por comunidade: um servidor de jogos pode permitir palavrões e tirar só os insultos (toxic); uma plataforma para crianças pode tirar os dois.
  • Envie as últimas mensagens como contexto quando também pontua a toxicidade: piadas e respostas são lidas com o que veio antes.

Perguntas

Existe uma API gratuita para filtrar palavrões?

Sim: o VigiMod é grátis durante o beta, com 120 mensagens por minuto por chave de API e todas as funções incluídas. No site também há um verificador grátis que não precisa de conta.

Quais idiomas o filtro de palavrões suporta?

O modelo lê 26 idiomas e funciona melhor em português, inglês, italiano, espanhol, francês e alemão. As listas de ofensas discriminatórias cobrem esses seis.

Reconhece leetspeak e palavrões disfarçados?

Sim. O texto é normalizado antes da pontuação (números no lugar de letras, símbolos, letras espaçadas) e o modelo lê a frase inteira, então "p0rra" e "p o r r a" são apanhados.

Marca palavras inocentes como Scunthorpe ou assessment?

Não. Não há correspondência de substrings: o modelo julga o significado, então palavras que só contêm um palavrão pontuam 0.

Qual a diferença entre palavrões e toxicidade?

Palavrões têm a ver com as palavras (xingamentos, linguagem vulgar); toxicidade, com a intenção (grosseira, hostil, agressiva). "Que jogo foda, caramba" é vulgar mas não tóxico. O VigiMod devolve os dois, então você escolhe sobre qual agir.

As mensagens são guardadas?

Não. As mensagens são pontuadas e descartadas; só ficam contadores horários de uso por chave.

Filtre palavrões em 26 idiomas

Chave de API gratuita, 120 mensagens por minuto durante o beta.