Nombre d'entre nous doivent traiter les entrées des utilisateurs, les requêtes de recherche et les situations où le texte d'entrée peut potentiellement contenir des blasphèmes ou un langage indésirable. Il est souvent nécessaire de les filtrer.
Où peut-on trouver une bonne liste de gros mots dans différentes langues et dialectes ?
Existe-t-il des API disponibles pour les sources qui contiennent de bonnes listes ? Ou peut-être une API qui dit simplement "oui c'est propre" ou "non c'est sale" avec quelques paramètres ?
Quelles sont les bonnes méthodes pour attraper les personnes qui essaient de tromper le système, comme a$$, azz, ou a55 ?
Des points bonus si vous proposez des solutions pour PHP :)
Edit : Réponse aux réponses qui disent simplement d'éviter la question programmatique :
Je pense qu'il y a une place pour ce type de filtre lorsque, par exemple, un utilisateur peut utiliser la recherche d'images publiques pour trouver des photos qui sont ajoutées à une piscine communautaire sensible. S'il peut rechercher "pénis", il obtiendra probablement de nombreuses photos de, ouais. Si nous ne voulons pas de photos de ce genre, le fait d'empêcher l'utilisation de ce mot comme terme de recherche constitue un bon moyen de contrôle, même s'il ne s'agit pas d'une méthode infaillible. Obtenir la liste de mots en premier lieu est la vraie question.
Je parle donc d'un moyen de déterminer si un seul jeton est sale ou non et de l'interdire tout simplement. Je ne prendrais pas la peine d'empêcher un sentiment comme la référence totalement hilarante à la "girafe au long cou". Vous ne pouvez rien y faire :)
15 votes
C'est une honte que toutes les réponses les plus importantes soient des diversions existentielles et défaitistes du défi de la programmation. Avec l'essor des services de calcul "cyborg" comme Mechanical Turk et la socialisation de la quasi-totalité des logiciels, il est plus important que jamais de disposer d'une heuristique permettant de signaler le contenu et de le porter à l'attention d'un modérateur !
12 votes
Veuillez faire attention au contexte linguistique, surtout si vous faites de l'i18n. Une fois, j'ai essayé de créer un groupe Google pour le cours que je donnais intitulé "Sanal ortamda görsellestirme", ce qui signifie en turc "Visualisation dans les médias virtuels". Google a été assez stupide pour le rejeter parce que le titre contenait le mot "anal" . Sanal[tr]=Virtuel[en] et Google m'a accusé sans vergogne de blasphème ! :D S'il vous plaît, ne laissez pas des choses bizarres comme ça se produire.
0 votes
Et si vous cherchez le mot en Espagnol ? Vous pouvez en fait contourner le filtre Google Images de cette manière (si vous êtes localisé dans une autre langue).
0 votes
Une autre suggestion serait de NE PAS interdire ces mots, mais d'enregistrer les utilisateurs qui les utilisent. Si un utilisateur/IP obtient plus de 2, 3 ou ce que vous voulez, alors bloquez cette personne. Ce n'est pas infaillible non plus, mais je pense qu'il est beaucoup plus gênant d'être bloqué et de devoir changer d'utilisateur/IP/les deux que d'écrire "lapin blanc duveteux" au lieu de "chatte". D'autre part, les utilisateurs ne savent pas QUELS mots ou expressions ils ne peuvent pas utiliser, ils ne peuvent donc pas deviner différents mauvais mots aussi facilement qu'ils se font bannir.
2 votes
Les filtres de blasphème sont une mauvaise idée. Il est très difficile de faire la différence entre quelqu'un qui essaie de tromper le système ("Fudge you !") et quelqu'un qui parle légitimement de quelque chose de tout à fait approprié ("J'aime le caramel au chocolat").
0 votes
pip install -U expletives
?0 votes
Je suggère de ne pas contribuer au totalitarisme et de trouver un vrai travail.