Désinfectez les meilleurs scores pour supprimer les termes / noms d'utilisateur offensifs

43

Je construis une application pour un client, pour lequel ils ont demandé à ce qu'un tableau des meilleurs scores soit affiché publiquement. Cela affichera leur nom d'utilisateur, qui est un champ de texte libre que les joueurs peuvent saisir. Le nombre de joueurs est susceptible d'être extrêmement faible - je m'attendrais à 10 ou 100 / jour au plus.

Le champ nom d'utilisateur sera plus long que 3 caractères. Les noms seront liés aux comptes Firebase Auth, mais ceux-ci sont créés via l'application et non liés à Google Play, à un compte Facebook ou à quelque chose du genre. Je pense qu'ils vont pouvoir supprimer les noms manifestement offensants, mais ils ne disposeront pas de ressources considérables en modération manuelle.

Quand j'étais jeune garçon, 100% des tables des meilleurs scores de mon cabinet d'arcade local étaient composées de jurons et de termes injurieux (ou de variantes de ces mots).

Je ne peux pas imaginer qu'Internet a amélioré les choses du tout.

Comment puis-je nettoyer les noms d'utilisateur pour les rendre sûrs pour l'affichage?

NeilD
la source
10
Le client souhaite-t-il nettoyer les noms d'utilisateurs? Si ce n'est pas le cas, ce n'est vraiment pas votre problème à l'heure actuelle.
MonkeyZeus
5
Premières réflexions: - Alertez le client sur ce danger, demandez-lui s'il souhaite dépenser de l'argent sur votre temps pour le gérer. - Demandez au client de vous donner une liste de termes non autorisés à supprimer. - Honnêtement, c'est un champ de mines. Demandez-leur s'ils veulent que ce soit public.
AJFaraday
4
Voir aussi: le problème Scunthorp .
Draco18s
4
Ce n'est pas exactement la même chose, mais c'est assez similaire: Filtres Obscenity: Bad Idea, ou Incroyable Intercoursing Bad Idea?
Gary
3
Les émoticônes sont-elles autorisées? Comment le tableau d'affichage sera-t-il affiché? Puis-je commencer à dessiner une fois que j'ai trouvé le moyen de saisir le score dans votre tableau de bord? Puis-je entrer l'URL comme nom ("XYZ.com", "XYZ_Com", "XYZ_Dot_Com")?
xdtTransform

Réponses:

73

Je vous recommande de laisser le client le faire manuellement.

Du point de vue des coûts, vous avez la chance de votre côté cette fois-ci:

  • Vous ne vous attendez pas à plus de 100 utilisateurs / jour, aussi bas que 10 / jour
  • Vous avez un système d'authentification, ce qui signifie que les interdictions peuvent être permanentes
  • Vous avez un client qui est heureux de supprimer des noms (rarement)

En réalité, il vous faudra 10 minutes pour parcourir les classements et interdire les noms extrêmes. Ce sera tout simplement meilleur marché et plus fiable que de passer du temps à une solution d'ingénierie (qui posera des problèmes).

Avec un nombre de jeu aussi bas, il est peu probable que cela soit souvent nécessaire - même une fois par semaine en période de pointe suffira probablement.


Mais j'ai tout le temps, je peux faire quelque chose, non?

Faux.

Vous pouvez très facilement faire quelque chose de mal, ce qui est plus dommageable pour la marque du client que de ne rien faire du tout.

Voulez-vous utiliser Regex pour attraper tous les mauvais noms? Il est préférable d'espérer que tout se passe bien et que vous filtrez également tous les faux positifs de multiples bases de données de noms de personnes réels internationaux:

https://en.wikipedia.org/wiki/Scunthorpe_problem

Et même si vous gérez ce qui précède avec succès, les joueurs ne sont pas stupides - ils trouveront très facilement un moyen de contourner votre système pour créer un nom tout aussi offensant que vous n'accrochez pas.

Au minimum, vous venez d'ajouter encore plus de travail pour maintenir ces règles à jour, par rapport au petit travail manuel qui consiste à ne regarder que les scores les plus élevés et à bannir.


Non, mais sérieusement, il s'agit d'un jeu pour enfants - le client a clairement indiqué qu'il ne pouvait y avoir de TOLÉRANCE SANS pour les noms offensants. Il doit y avoir quelque chose!

Si tel est le cas, vous ne pouvez tolérer aucun nom offensant. La seule solution réaliste consiste simplement à ne pas laisser vos joueurs créer leurs propres noms.

C'est la solution que vous trouverez sur presque tous les sites de jeux pour enfants, tels que Cartoon Network.

Au lieu de donner une entrée vide, vous donnez une sélection de "parties de nom" prédéfinies. Par exemple:

  • Un adjectif, tel que "génial", "fantastique", "rusé"

  • Un milieu, tel que "barbu", "oeil laser", "pirate"

  • Un nom, tel que "Maître", "Gagnant", "Détecteur"

Ce qui limite les noms d'affichage à des choses comme "Awesome Pirate Master".

Prenez également en considération les listes de mots que vous utilisez. Il est inutile de mettre en œuvre ce système si l'utilisateur est capable de manipuler des noms pour obtenir des choses qui semblent encore offensantes ou sales.

Bien sûr, il y a aussi une possibilité de doublons - mais vous pouvez soit l'écrire (3 listes de 100 mots, donne déjà 1 million de noms possibles) en raison du nombre de joueurs que vous avez, ou si nécessaire - vous pouvez toujours vérifier que personne d'autre n'a le nom sur l'enregistrement.

De manière réaliste, cela peut être la solution la plus efficace si vous vous inquiétez sérieusement des mauvais noms. Cependant, vous devez effectuer une analyse des coûts et déterminer si la mise en place de ce système en vaut vraiment la peine par rapport aux simples contrôles manuels.

Bilkokuya
la source
25
J'aime cette réponse, car "n'automatisez pas quelque chose avant d'en savoir plus sur le problème" a presque toujours été la bonne chose à faire selon mon expérience.
NeilD
5
Cela me rappelle la détection de l'univers Lego et du pénis.
n0rd
7
Un enfant de 4 ans avait eu accès à l'un de mes jeux de console sur lequel vous pouvez créer des personnages. Cette fente de sauvegarde était remplie de caca, de fesses, de pipi, etc. Les enfants le font et rient beaucoup ...
Nelson
4
"Mais non, sérieusement, c'est un jeu d'enfants." Avez-vous entendu parler de Lego Universe? Même Lego ne pourrait pas construire un détecteur de pénis . Nommez les parties: "Pirate linguiste rusé".
Draco18s
7

Une petite base d'utilisateurs n'est probablement pas suffisante pour empêcher la mise en place d'une liste noire. Il existe de nombreuses bibliothèques et / ou listes de mots telles que celles référencées ici qui vous permettent simplement de vérifier les noms d'utilisateurs par rapport à tout ce que vous jugez inapproprié.

Si vous avez décidé de créer votre propre liste, vous voudrez probablement utiliser regex pour filtrer les noms.

Comme le souligne Bilkokuya , il peut y avoir des problèmes avec les noms légitimes qui sont mis sur la liste noire. C’est une décision d’affaires à prendre par votre client , mais une que vous pouvez / devriez lui expliquer. Je ne connais aucun moyen de contourner l'aspect culturel, si ce n'est que si vous attendez un grand nombre d'utilisateurs issus de cultures où cela peut poser problème, vous souhaiterez peut-être implémenter un filtrage par région.

Raisons pour mettre en place une forme de filtrage (en plus des vérifications manuelles):

  • Facilité de mise en œuvre. Cela ne prendra probablement pas plus d'une heure pour que quelque chose se passe.

  • Un moyen de dissuasion pour les farceurs moins dévoués.

  • Permet de vérifier au moment de l’inscription, réduisant ainsi les chances qu’ils atteignent le tableau des meilleurs scores.

  • Fonctionne avec des contrôles manuels.

  • Considérant qu'il s'agit d'un problème ancien, de nombreuses ressources devraient être disponibles.

Mars
la source