Filtre de blasphème pour une discussion MMO

32

Nous développons un MMO en utilisant Smartfox Server. Le public ciblé est les enfants de 7 à 12 ans.

Il existe une option de discussion globale dans ce MMO.
Peu importe ce que l'utilisateur tape dans une zone de texte, il sera affiché à côté de l'avatar de l'utilisateur après avoir cliqué dessus.

Nous aimerions filtrer le langage abusif / profanations de ce chat.
Nous pourrions capturer le chat et lire le texte. Le problème est d'obtenir la liste des blasphèmes elle-même.

Nos questions sont

  1. Où obtiendra-t-on une liste exhaustive de tous les blasphèmes?
  2. Quelle méthode est adoptée dans un scénario similaire pour les filtrer?
Naveen
la source
17
Bonne chance avec le problème Scunthorpe .
Cyclope
7
@yetanothercoder, mon problème est que le filtrage est un problème difficile . Par exemple, votre jeu aura-t-il des événements samedi? Les joueurs pourront-ils taper le mot "samedi" (notez les quatre lettres du milieu) dans leurs boîtes de dialogue? (Et je ne sais pas pourquoi le vote négatif non plus - ce n'est pas une mauvaise question , mais il se peut qu'il n'y ait pas de réponse simple).
Cyclope
6
Et cela devient encore plus compliqué quand plus de langues entrent en jeu. Par exemple: Starcraft 2 supprime "weniger" du chat, qui est juste le mot allemand pour "moins" ...
bummzack
4
Un autre problème que j'ai souvent rencontré quand j'étais jeune et que je jouais à des MMO filtrés était qu'ils étaient basés sur la langue anglaise. Donc, si je parlais français, certains mots français dignes de ce nom seraient censurés parce qu'ils ressemblaient à des malédictions anglaises, et de toute façon, je pourrais toujours maudire en français tout ce que je voulais.
Xeon06
2
D'après ce que j'ai vu, la chose la plus importante à faire un bon filtre est d'avoir une option pour le désactiver. Si vous n'avez pas d'autre choix et que les joueurs savent qu'ils n'ont pas d'autre choix que d'être censurés, ils contourneront le censeur. Si vous leur facilitez la tâche, il est fort probable qu'ils cesseront de le contourner et que ceux qui ne souhaitent pas faire l'expérience d'un langage dur n'auront pas à traiter avec les personnes qui tentent de contourner le filtre.
Michael Zehnich

Réponses:

46

Ne pas

Les filtres ne fonctionnent pas. Au moins, seuls les filtres ne fonctionnent pas. Listes blanches, listes noires, peu importe. Aucune de ces solutions n'empêchera jamais les enfants de se harceler les uns les autres. La seule façon de faire ce travail serait de ne pas filtrer le chat, mais de fournir de gros blocs de construction pour les phrases. Par exemple, un enfant pourrait sélectionner "Voulez-vous ..." et les options "Aller à ..." et "Échanger ..." seraient affichées. Sélectionner "aller à ..." ferait apparaître une liste de lieux dans le jeu.

Disney a opté pour cette méthode pour son MMO "Toontown", après que son sujet de test de liste blanche âgé de 14 ans ait décidé de "coller [sa] girafe au long cou sur [son] lapin blanc moelleux". En termes simples, vous ne pouvez pas mettre sur liste noire ou sur liste blanche suffisamment de mots pour prévenir les abus.


En fin de compte, si je concevais un MMO pour enfant, je mettrais en place un filtre de liste noire très strict, mais uniquement en tant que deuxième ligne de défense. Votre première ligne de défense devrait toujours être les modérateurs et la capacité de signaler les abus. Je pondérerais les mots de la liste noire, chaque utilisateur obtenant un score secret indiquant à quel point il était profane.

Il y a de fortes chances que tout utilisateur qui tentera de contourner votre filtre le déclenchera en premier. Les blasphèmes les plus évidents (par opposition aux obscènes ou obsolètes) ou les tentatives de profanations répétées, les placent sur une liste de surveillance pour les modérateurs, ou une sorte de liste d'interdiction . Ainsi, les modérateurs peuvent se concentrer sur les utilisateurs qui semblent tenter de harceler les autres au lieu de perdre leur temps à lire les commentaires d'enfants encore innocents.

dlras2
la source
6
+1 juste pour le lien Toontown - J'aime particulièrement l'utilisation par les joueurs de canaux cachés pour permettre aux gens d'échanger leur code secret, afin qu'ils puissent contourner le filtre.
Cyclope
1
C'était une lecture vraiment intéressante, je pensais déterrer et partager. Si vous ne lisez pas le reste de ma réponse, lisez au moins cela. = P
dlras2
2
Je crois que Blizzard utilise cette technique (score secret du nombre de malédictions postées sur le chat général) dans World of Warcraft, du moins je le savais.
Nate
2
@Dan Expérience personnelle uniquement. J'ai été auto-banni. (Ce qui était une expérience différente de celle d'être banni par un directeur général) Un certain assaillant a agressé verbalement des poussins de ma guilde, et je suis allé le chercher. Je n'ai pas été banni du jeu, juste de / General pendant un certain temps.
Nate
2
+1 pour le premier mot "ne pas." Le contournement est ce qui se produit et c'est pourquoi vous aurez l'impression de gaspiller de précieuses ressources de programmation pour créer un gros tas de cartouches ! ;-D
Randolf Richardson
10

En réponse aux gens qui disent de ne pas fournir le filtre, je dirais que vous devez fournir un filtre pour la seule raison que vous ne couvriez pas vos propres épaules vis-à-vis des parents de votre public cible. Assurez-vous simplement qu'il peut être désactivé par l'utilisateur. En mettant en place un filtre grossier (bien qu’il soit imparfait et totalement optionnel), vous pouvez dire que vous avez fait tout ce que vous attendiez de vous pour protéger les sensibilités de votre jeune public.

En rendant la désactivation possible, vous dissuaderez les utilisateurs d’essayer de la contourner en utilisant une ponctuation ou une substitution astucieuse, car ceux qui sont favorables à ce type de langage désactivent immédiatement le filtre sur leurs propres ordinateurs et oublient depuis longtemps qu’un filtre existe même. .

Avec cette compréhension, ne vous inquiétez pas trop de la mise en œuvre. Il n'a pas besoin d'être infaillible (ce qui est bien, car il ne peut l' être), mais il devrait être relativement complet et aussi peu intrusif que possible. C'est-à-dire que vous ne voulez pas vous assurer que vous ne commettez pas l' erreur " classique ".

La mise en œuvre peut être extrêmement simple: créez une liste de mots et remplacez tous les mots figurant dans la liste par des astérisques ou quelque chose de similaire. Il est préférable de rechercher uniquement des mots entiers.

Pour ce qui est d'une liste de mots, rien de plus simple: http://www.google.com/search?q=profanity+word+list

Rappelez-vous que cela ne doit pas nécessairement être exhaustif, il doit simplement être représentatif d'un effort courageux de votre part pour protéger les enfants.

tylerl
la source
1
+1 serait aussi mon approche, après avoir étudié en détail ce que vous devez réellement faire pour une classe d'âge spécifique.
Oskar Duveborn, le
5

J'essaierais de mettre en œuvre une solution permettant une liste noire et une liste blanche, dans laquelle vous pourriez ajouter «minou» à la liste noire et «scunthorpe» à la liste blanche, par exemple.

Je ne crois pas que vous puissiez jamais mettre en œuvre une solution sécurisée. Je tenterais donc d'obtenir les mots les plus "populaires" de votre dictionnaire et de simplifier au maximum l'ajout de nouveaux mots aux listes.

La raison en est que les langues, en particulier l'anglais, évoluent constamment et que quelque chose d'inoffensif pendant des décennies pourrait devenir offensant dans le bon contexte.

Essayez d’obtenir le plus de mots possible et de partir de là, prenez des temps de réaction rapides lorsque les gens se plaignent et montrez qu’il s’agit généralement d’une préoccupation et que je doute que vous ayez des problèmes.

Ce serait une bonne idée de savoir exactement quelles sont les règles de censure aux États-Unis: MBNL! (moi ne sois pas avocat!)

Jonathan Connell
la source
3
La solution à l'évolution du langage consiste à filtrer par préfanité .
Cyclope
@Cyclops Win! xD
Jonathan Connell
4

Comme je l'ai dit, filtrer tous les mots offensants est très difficile - mais vous pouvez le changer, et utiliser une liste blanche de mots autorisés . En effectuant une recherche google, il semble assez courant que les jeux pour enfants limitent ce qu’ils peuvent taper à une liste. Par exemple, Lego Universe utilise une liste blanche.

Voir aussi: Liste blanche pour le chat en jeu . Et notez que les listes blanches peuvent être contournées . Il n'y a pas de solution garantie.

Considérant que c'est pour les jeunes enfants, une mauvaise orthographe peut être un problème - en fonction de l'interface client, vous pouvez envisager l'achèvement automatique du mot . Au fur et à mesure que les joueurs commencent à taper des lettres, proposez une liste de mots possibles et laissez-les choisir le bon.

Cyclops
la source
Good idea, though it would seem strange to me on a game for younger children that may get spelling wrong. It could also hinder their personal development out of the scope of what is available on the whitelist.
Jonathan Connell
@3nixios, I agree it has problems, but so do every possible solution. :) One fix to the spelling problem would be - wait, I should add that to my post. :)
Cyclops
+1: this will be a lot safer but as @3nixios: says it would either hinder development or it will be a very big list and so the execution time gets increased right?
naveen
@yetanothercoder, depending on the client type (I'm assuming html/javascript), you could pre-download a list of valid words and check them in the client. This wouldn't slow down the server (it could theoretically be bypassed by a smart programmer, though). Yes, this is more work - again, there are no easy solutions, sorry. It all depends on how much risk is acceptable.
Cyclops
1
@Cyclops For a kids game this could be an acceptable solution if you consider only kids playing. Unfortunately client-side checking would mean a 'bad-man' could easily say what he liked to the other players.
Jonathan Connell
4

There's an answer from Programmers describing one system for building a profanity filter. He doesn't explain how he actually built it in great detail, but it should be enough to get an idea for implementation.

thegrinner
la source
4

This is a problem best solved by humans and social design rather than code.

Your best source for an exhaustive list is a live human who is present in the game and monitoring the chat stream. Put people in your game and let them be your ultimate filter.

Spend some time looking into Lane Merrifield's ideas and philosophies behind Club Penguin and about providing service. Here are two writeups from his presentation at the Austin GDC in 2008. I saw it and remember being very impressed with his style of solving human problems with humans and not code.

http://gamasutra.com/php-bin/news_index.php?story=20234

http://www.raphkoster.com/2008/09/15/agdc08-lane-merrifield-at-their-service/

Specifically because your game is aimed at kids, it's more than just swear filters you'll need to think about. You'll need to worry about people posing as kids who may or may not have bad motives. You'll need to assure parents that their kids are safe. You'll need to assure kids that they are safe too for that matter.

Another plus for humans is that they will understand context. You don't want some kid saying, "My Mom has breast cancer" and getting kicked.

Tim Holt
la source
we sure do have moderators who could ban potential manipulators. i am more concerned about profanity. it will be a tedious task for moderators when, most of the words used in the bad context will be repetitive.
naveen
I'd say certainly you can have profanity filters active to detect what you might call the common stuff, and flag it to the moderators. It's not that hard to come up with a "top 100" list of words, then do some quick pattern matching on all strings. Remove all spaces and punctuation first so people don't C_H_E_A_T or M A N I P U L A T E the algorithm. Ultimately though its' humans that will do it right.
Tim Holt
3

Simple solution to the problem:

  1. Remove all spaces and punctuation from your input.
  2. Blacklist everything in the Urban Dictionary.
  3. Blacklist all homophones etc
  4. Blacklist everything that could be use as a euphamism.
  5. Write your software to understand the content, intention and tone of what is left.
  6. Throw away game and go to market with sentient and omniscient creation from step 5.
Colin Pickard
la source
6
homo phones lolololol
Jonathan Connell
3
This is the end result of the spammers captcha solvers and spam filters: sentient AI that battles for control of Earth: one side trying to sell Viagra and the other trying to protect Humanity. Very Transformers. :-)
Zan Lynx
3

Some MMOs for children simply replace chat with a predefined list of emotes and phrases and simply doesn't allow free-form chat. Perhaps the game could be designed to accommodate that.

Oskar Duveborn
la source