Obszönitätsfilter für einen MMO-Chat

32

Wir entwickeln ein MMO mit Smartfox Server. Zielgruppe sind Kinder zwischen 7 und 12 Jahren.

In diesem MMO gibt es eine globale Chat-Option.
Was auch immer der Benutzer in ein Textfeld eingibt, wird neben dem Avatar des Benutzers angezeigt, nachdem er die Eingabetaste gedrückt hat.

Wir möchten missbräuchliche Sprache / Beleidigungen aus diesem Chat herausfiltern.
Wir könnten den Chat aufzeichnen und den Text lesen. Das Problem ist, die Liste der Obszönitäten selbst zu bekommen.

Unsere Fragen sind

  1. Wo wird man eine vollständige Liste aller Obszönitäten bekommen?
  2. Welche Methode wird in einem ähnlichen Szenario angewendet, um diese herauszufiltern?
naveen
quelle
17
Viel Glück mit dem Scunthorpe Problem .
Cyclops
7
@yetanothercoder, mein Punkt ist, das Filtern ist ein hartes Problem . Wird Ihr Spiel zum Beispiel am Samstag irgendwelche Events haben? Werden Spieler in der Lage sein, geben Sie das Wort „Saturday“ ( man beachte die mittleren vier Buchstaben) in ihre Chatboxen? (Und ich weiß auch nicht, warum die Ablehnung so ist - es ist keine schlechte Frage , aber es gibt möglicherweise keine einfache Antwort).
Cyclops
6
Und es wird noch komplizierter, wenn mehr Sprachen ins Spiel kommen. Zum Beispiel: Starcraft 2 entfernt "weniger" aus dem Chat. Dies ist nur das deutsche Wort für "weniger" ...
Bummzack
4
Ein weiteres Problem, auf das ich häufig gestoßen bin, als ich jung war und gefilterte MMOs spielte, war, dass sie auf der englischen Sprache basieren. Wenn ich also Französisch sprach, wurden einige anständige französische Wörter zensiert, weil sie wie englische Flüche aussahen, und auf jeden Fall konnte ich immer noch auf Französisch fluchen, was ich wollte.
Xeon06
2
Was ich gesehen habe, ist das Wichtigste, um einen guten Filter zu erstellen, die Option, ihn auszuschalten. Wenn Sie keine andere Wahl haben und die Spieler wissen, dass sie keine andere Wahl haben, als zensiert zu werden, werden sie die Zensur umgehen. Wenn Sie es ihnen leicht machen, es auszuschalten, hören sie wahrscheinlich auf, es zu umgehen, und diejenigen, die keine raue Sprache erleben möchten, müssen sich nicht mit den Leuten befassen, die versuchen, den Filter zu umgehen.
Michael Zehnich

Antworten:

46

Nicht.

Filter funktionieren nicht. Zumindest funktionieren nur Filter nicht. Whitelists, Blacklists, egal. Keines von beiden wird Kinder jemals davon abhalten, sich gegenseitig zu belästigen. Die einzige Möglichkeit, dies zu erreichen, besteht darin, den Chat nicht zu filtern, sondern große Bausteine ​​für Sätze bereitzustellen. Zum Beispiel könnte ein Kind "Möchtest du ..." auswählen und die Optionen für "Gehe zu ..." und "Handel ..." werden aufgerufen. Wenn Sie "Gehe zu ..." auswählen, wird eine Liste der Orte im Spiel angezeigt.

Disney entschied sich für diese Methode für sein MMO "Toontown", nachdem die 14-jährige Testperson auf der Whitelist beschlossen hatte, "seine langhalsige Giraffe auf ihren flauschigen weißen Hasen zu kleben". Einfach ausgedrückt, Sie können nicht genug Wörter auf eine Blacklist oder Whitelist setzen, um Missbrauch zu verhindern.


Wenn ich das MMO eines Kindes entwerfen würde, würde ich tatsächlich einen strengen Blacklist-Filter implementieren, aber nur als zweite Verteidigungslinie. Ihre erste Verteidigungslinie sollten immer Moderatoren und die Fähigkeit sein, Missbrauch zu melden. Ich würde Wörter auf der schwarzen Liste gewichten, wobei jeder Benutzer eine geheime Bewertung dessen erhält, wie profan er zu sein versucht.

Es besteht die Möglichkeit, dass jeder Benutzer, der versucht, Ihren Filter zu umgehen, ihn zuerst auslöst. Die offensichtlicheren Profanitäten (im Gegensatz zu obskuren oder veralteten) oder wiederholteren Profanitätsversuchen setzen sie auf eine Beobachtungsliste für Moderatoren oder eine Art Verbotsliste . Auf diese Weise können sich Moderatoren auf Benutzer konzentrieren, die versuchen, andere zu belästigen, anstatt ihre Zeit damit zu verschwenden, die Kommentare noch unschuldiger Kinder zu lesen.

dlras2
quelle
6
+1 nur für den Toontown-Link - Ich mag besonders die Verwendung von verdeckten Kanälen durch die Spieler, über die die Leute ihren Geheimcode austauschen können, um den Filter zu umgehen.
Cyclops
1
Es war eine wirklich interessante Lektüre, von der ich dachte, ich würde sie ausgraben und teilen. Wenn Sie den Rest meiner Antwort nicht lesen, lesen Sie das zumindest. = P
dlras2
2
Ich glaube, dass Blizzard diese Technik (geheime Anzahl von Flüchen, die im allgemeinen Chat gepostet wurden) in World of Warcraft verwendet, zumindest weiß ich, dass dies früher der Fall war.
Nate
2
@Dan Nur persönliche Erfahrung. Ich wurde automatisch gebannt. (Das war eine andere Erfahrung, als von einem GM gebannt zu werden.) Einige Duschen griffen verbal einige Küken in meiner Gilde an und ich ging auf ihn los. Ich wurde für einige Zeit nicht vom Spiel ausgeschlossen, nur von / General.
Nate
2
+1 für das erste Wort "Don't". Umgehung ist der Grund, warum Sie das Gefühl haben, wertvolle Programmierressourcen verschwendet zu haben, um einen großen dampfenden Haufen Meecrob zu erzeugen ! ;-D
Randolf Richardson
10

Als Reaktion auf die Leute sagen zu nicht den Filter zur Verfügung stellen, ich würde behaupten , dass Sie haben einen Filter zur Verfügung stellen, aus keinem anderen Grund als die eigenen Hintern in Bezug auf die Eltern Ihrer Zielgruppe zu decken. Stellen Sie einfach sicher, dass es vom Benutzer deaktiviert werden kann. Durch die Implementierung eines Obszönitätsfilters (wenn auch eines unvollständigen und völlig optionalen) können Sie sagen, dass Sie alles getan haben, um die Empfindlichkeiten Ihres jüngeren Publikums zu schützen.

Wenn Sie die Deaktivierung aktivieren, halten Sie Benutzer davon ab, sie durch geschickte Zeichensetzung oder Substitution zu umgehen, da Personen, die diese Art von Sprache bevorzugen, den Filter auf ihren eigenen Computern sofort deaktivieren und längst vergessen haben, dass es überhaupt einen Filter gibt .

Machen Sie sich mit diesem Verständnis weniger Gedanken über die Implementierung. Es muss nicht narrensicher sein (was gut ist, weil es nicht narrensicher sein kann), aber es sollte relativ vollständig und so unauffällig wie möglich sein. Das heißt, Sie wollen nicht sichergehen, dass Sie nicht den " blöden Fehler" machen.

Die Implementierung kann sehr einfach sein - erstellen Sie eine Wortliste und ersetzen Sie alle Wörter in der Liste durch Sternchen oder ähnliches. Am besten auch nur nach ganzen Wörtern suchen.

Eine Wortliste finden Sie ganz einfach unter http://www.google.com/search?q=profanity+word+list

Denken Sie daran, es muss nicht allumfassend sein, sondern nur repräsentativ für eine tapfere Anstrengung, die Sie unternommen haben, um die Kinder zu schützen.

tylerl
quelle
1
+1 wäre auch mein Ansatz, nachdem ich genau recherchiert habe, was Sie für eine bestimmte Alterseinstufung tatsächlich tun müssen.
Oskar Duveborn
5

Ich würde versuchen, eine Lösung zu implementieren, die eine Blacklist und eine Whitelist zulässt, wobei Sie beispielsweise der Blacklist "cunt" und der Whitelist "scunthorpe" hinzufügen können.

Ich glaube nicht, dass Sie jemals eine ausfallsichere Lösung implementieren könnten , daher würde ich versuchen, die "beliebtesten" Wörter in Ihrem Wörterbuch zu finden und es so einfach wie möglich zu machen, neue Wörter zu den Listen hinzuzufügen.

Der Grund dafür ist, dass sich Sprachen, insbesondere Englisch, ständig weiterentwickeln und etwas, das seit Jahrzehnten harmlos ist, im richtigen Kontext anstößig werden kann.

Versuchen Sie, die bestmöglichen Worte zu finden und von dort aus schnell zu reagieren, wenn sich die Leute beschweren, und zeigen Sie, dass dies im Allgemeinen ein Problem ist, und ich bezweifle, dass Sie Probleme haben werden.

Es wäre eine gute Idee, genau zu wissen, welche Richtlinien für die Zensur in den USA gelten: MBNL! (Ich bin kein Anwalt!)

Jonathan Connell
quelle
3
Die Lösung für die Weiterentwicklung der Sprache besteht darin, nach Präfanität zu filtern .
Cyclops
@ Cyclops Win! xD
Jonathan Connell
4

Als ich bemerkte, ist Filterung aller beleidigende Worte wirklich schwer - aber man konnte es sich umdrehen, und verwenden weiße Liste von erlaubt Worte. Bei einer Google-Suche ist es für Kinderspiele anscheinend üblich, die Eingabe auf eine Liste zu beschränken. Zum Beispiel verwendet Lego Universe eine Whitelist.

Siehe auch: Whitelisting für den Spielechat . Und beachten Sie, dass Whitelists umgangen werden können . Es gibt keine garantierte Lösung.

In Anbetracht der Tatsache, dass es sich um eine Anwendung für kleine Kinder handelt und Rechtschreibfehler ein Problem sein können - abhängig von der Client-Benutzeroberfläche können Sie die automatische Vervollständigung von Wörtern in Betracht ziehen . Bieten Sie den Spielern beim Eingeben von Buchstaben eine Liste möglicher Wörter an und lassen Sie sie das richtige auswählen.

Zyklop
quelle
Gute Idee, obwohl es mir bei einem Spiel für jüngere Kinder seltsam vorkommt, wenn die Schreibweise falsch ist. Es könnte auch ihre persönliche Entwicklung aus dem Rahmen der Whitelist heraus behindern.
Jonathan Connell
@ 3nixios, ich bin damit einverstanden, es hat Probleme, aber auch jede mögliche Lösung. :) Eine Lösung für das Rechtschreibproblem wäre: Warten Sie, ich sollte das zu meinem Beitrag hinzufügen. :)
Cyclops
+1: dies wird viel sicherer sein, aber wie @ 3nixios: sagt es würde entweder die Entwicklung behindern oder es wird eine sehr große Liste sein und so wird die Ausführungszeit erhöht, oder?
Naveen
@yetanothercoder Je nach Client-Typ (ich gehe von HTML / Javascript aus) können Sie eine Liste gültiger Wörter vorab herunterladen und im Client überprüfen. Dies würde den Server nicht verlangsamen (er könnte jedoch theoretisch von einem intelligenten Programmierer umgangen werden). Ja, das ist mehr Arbeit - wieder gibt es keine einfachen Lösungen, sorry. Es hängt alles davon ab, wie viel Risiko akzeptabel ist.
Cyclops
1
@ Cyclops Für ein Kinderspiel könnte dies eine akzeptable Lösung sein, wenn Sie nur daran denken, dass Kinder spielen. Leider würde eine Überprüfung auf Kundenseite bedeuten, dass ein "schlechter Mann" den anderen Spielern leicht sagen kann, was er mag.
Jonathan Connell
4

Es gibt eine Antwort von Programmierern, die ein System zum Aufbau eines Profanitätsfilters beschreiben. Er erklärt nicht im Detail, wie er es tatsächlich gebaut hat, aber es sollte ausreichen, um eine Idee für die Implementierung zu bekommen.

thegrinner
quelle
4

Dies ist ein Problem, das am besten von Menschen und sozialem Design anstatt von Code gelöst wird.

Ihre beste Quelle für eine vollständige Liste ist ein lebender Mensch, der im Spiel anwesend ist und den Chat-Stream überwacht. Bringen Sie Menschen in Ihr Spiel ein und lassen Sie sie zu Ihrem ultimativen Filter werden.

Verbringen Sie einige Zeit damit, sich mit den Ideen und Philosophien von Lane Merrifield zu beschäftigen, die hinter Club Penguin stehen, und sich mit der Bereitstellung von Dienstleistungen zu befassen. Hier sind zwei Artikel aus seinem Vortrag auf der GDC in Austin im Jahr 2008. Ich habe es gesehen und erinnere mich, wie beeindruckt sein Stil war, menschliche Probleme mit Menschen und nicht mit Code zu lösen.

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

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

Insbesondere, weil Ihr Spiel auf Kinder abzielt, ist es mehr als nur ein Fluchfilter, über den Sie nachdenken müssen. Sie müssen sich Sorgen machen, wenn Sie sich als Kinder ausgeben und schlechte Motive haben oder nicht. Sie müssen den Eltern versichern, dass ihre Kinder in Sicherheit sind. Sie müssen Kindern versichern, dass sie auch in dieser Angelegenheit sicher sind.

Ein weiteres Plus für den Menschen ist, dass er den Kontext versteht. Sie wollen nicht, dass ein Kind sagt: "Meine Mutter hat Brustkrebs" und wird getreten.

Tim Holt
quelle
Wir haben sicher Moderatoren, die potenzielle Manipulatoren verbieten könnten. Ich mache mir mehr Sorgen um Obszönitäten. Für Moderatoren ist es eine mühsame Aufgabe, wenn sich die meisten der im schlechten Kontext verwendeten Wörter wiederholen.
Naveen
Ich würde sagen, dass Sie Profanitätsfilter aktivieren können, um zu erkennen, was Sie als das übliche Zeug bezeichnen, und es den Moderatoren zu melden. Es ist nicht so schwer, eine "Top 100" -Liste mit Wörtern zu erstellen und dann einen schnellen Mustervergleich für alle Zeichenfolgen durchzuführen. Entfernen Sie zuerst alle Leerzeichen und Satzzeichen, damit die Benutzer den Algorithmus nicht C_H_E_A_T oder MANIPULIEREN. Letztendlich ist es aber der Mensch, der es richtig macht.
Tim Holt
3

Einfache Lösung des Problems:

  1. Entfernen Sie alle Leerzeichen und Satzzeichen aus Ihrer Eingabe.
  2. Alles im Urban Dictionary auf die schwarze Liste setzen .
  3. Schwarze Liste aller Homophone usw
  4. Blacklist alles, was als Euphamismus verwendet werden könnte.
  5. Schreiben Sie Ihre Software, um den Inhalt, die Absicht und den Ton zu verstehen, der übrig bleibt.
  6. Wirf das Spiel weg und gehe mit fühlender und allwissender Schöpfung ab Schritt 5 auf den Markt.
Colin Pickard
quelle
6
Homo Phones Lolololol
Jonathan Connell
3
Dies ist das Endergebnis der Captcha-Löser und Spam-Filter der Spammer: empfindungsfähige KI, die um die Kontrolle über die Erde kämpft: Eine Seite versucht, Viagra zu verkaufen, die andere versucht, die Menschheit zu schützen. Sehr Transformatoren. :-)
Zan Lynx
3

Einige MMOs für Kinder ersetzen den Chat einfach durch eine vordefinierte Liste von Emotes und Phrasen und erlauben einfach keinen Freiform-Chat. Vielleicht könnte das Spiel darauf ausgelegt sein.

Oskar Duveborn
quelle