MMO聊天的亵渎过滤器


32

我们正在使用Smartfox服务器开发MMO。目标受众是7 -12岁的孩子。

此MMO中有一个全局聊天选项。
在用户输入文字后,无论他在文本框中键入什么内容,都会在其按下回车键后显示在用户头像旁边。

我们想从此聊天中过滤出辱骂性语言/亵渎行为。
我们可以捕获聊天并阅读文本。问题在于获取亵渎本身的清单。

我们的问题是

  1. 哪里会详尽列出所有亵渎行为?
  2. 在类似情况下采用什么方法过滤掉这些?


7
@yetanothercoder,我的意思是,过滤是一个难题。例如,您的游戏在星期六有活动吗?玩家能否在聊天框中输入单词“ Saturday”(注意中间的四个字母)?(而且也不知道为什么会投票否决-这不是一个坏问题,但可能没有简单的答案)。
独眼巨人

6
当更多的语言发挥作用时,情况将变得更加复杂。例如:《星际争霸2》从聊天中删除了“温格”,这只是德语单词中的“少” ...
bummzack 2011年

4
我小时候玩过滤过的MMO时经常遇到的另一个问题是它们基于英语。因此,如果我讲法语,则某些体面的法语单词会受到审查,因为它们看起来像英语的诅咒,无论如何,我仍然可以用自己想要的所有语言用法语诅咒。
Xeon06,2011年

2
从我所看到的,制作一个好的过滤器最重要的事情是可以选择关闭它。如果您别无选择,并且玩家知道他们别无选择,只能受到审查,那么他们将绕过审查者。如果您使他们容易地将其关闭,则他们很可能会停止规避它,那些不希望体验苛刻语言的人将不必与试图规避过滤器的人打交道。
Michael Zehnich 2011年

Answers:


46

别。

过滤器不起作用。至少,只有过滤器不起作用。白名单,黑名单无关紧要。这些都不会阻止孩子互相骚扰。进行此工作的唯一方法是不过滤聊天记录,而是为句子提供大的构建基块。例如,一个孩子可能选择“您想...”,然后会弹出“去...”和“交易...”的选项。选择“转到...”将显示游戏中的位置列表。

在他们14岁的白名单测试对象决定将[他的]长颈长颈鹿粘在[他们的]蓬松的白色兔子上之后,迪士尼为他们的MMO“卡通城”选择了这种方法简而言之,您不能将足够多的单词列入黑名单或白名单以防止滥用。


话虽如此,如果我要设计一个孩子的MMO,我实际上会实施严格的黑名单过滤器,但这只是第二道防线。您的第一道防线应始终是主持人和举报滥用行为的能力。我会对列入黑名单的单词进行加权,使每个用户都能获得他们试图亵渎的秘密分数。

任何尝试绕过您的过滤器的用户都有可能首先触发它。较明显的亵渎(相对于晦涩或过时的亵渎)或更反复的亵渎尝试,将它们列入主持人的监视列表或某种禁止列表。这样,主持人可以将精力集中在似乎试图骚扰他人的用户上,而不是浪费他们的时间阅读仍然无辜的孩子的评论。


6
+1仅用于Toontown链接-我特别喜欢玩家使用秘密渠道让人们交换他们的密码,因此他们可以绕过过滤器。
独眼巨人

1
我以为我会挖掘和分享那本真的很有趣的读物。如果您没有阅读其余的答案,请至少阅读。= P
dlras2 2011年

2
我相信暴雪在魔兽世界中使用了这种技术(诅咒计数的秘密分数发布到一般聊天中),至少我知道他们曾经使用过这种技术。
Nate

2
@Dan仅个人经历。我被自动禁止了。(经历与被总经理禁止的经历不同。)一些冲洗在口头上攻击了行会中的一些小鸡,于是我朝他开了枪。在一段时间内,我并未被游戏禁止,只是/ General被禁止。
奈特

2
+1为第一个单词“不要”。发生规避就是发生的原因,这就是为什么您会觉得自己浪费了宝贵的编程资源来创建大量蒸腾的 meecrob!;-D
兰道夫·理查森

10

因应人们说给提供过滤器,我认为你必须提供一个过滤器,没有别的原因,相对于您的目标受众的父母护住自己的屁股。只要确保它可以被用户禁用即可。通过实施亵渎过滤器(尽管不完美且完全可选),您可以说您已完成了您期望做的所有事情,以保护年轻观众的敏感性。

通过启用禁用功能,您会阻止用户尝试使用聪明的标点符号或替代功能来规避该功能,因为支持这种语言的用户会立即在自己的计算机上禁用该过滤器,并且早就忘记了某个过滤器的存在。

有了这样的理解,就不必为实现而担心。它不需要是万无一失的(这很好,因为它不能万无一失),但是它应该相对完整并且尽可能不打扰。也就是说,您将不会确保自己没有犯“ 集体错误”。

实现可能非常简单-获取单词列表,然后用星号或类似内容替换列表中找到的所有单词。最好只搜索整个单词。

至于单词列表,这很容易:http : //www.google.com/search?q=profanity+ word+list

请记住,它不一定要包罗万象,而只是代表您为保护孩子而做出的英勇努力。


1
在详细研究了特定年龄等级的实际需求之后,+ 1也是我的方法。
奥斯卡·杜夫伯恩

5

我将尝试实现允许黑名单和白名单的解决方案,例如,您可以在其中添加“ cunt”到黑名单,在“ scunthorpe”中添加白名单。

我不相信,你可以不断实现故障安全的解决方案,所以我想尝试得到最“流行”的话在你的字典,并使其尽可能容易对新单词添加到列表中。

原因是语言(尤其是英语)在不断发展,并且在适当的情况下数十年来一直没有冒犯性的东西可能会变得令人反感。

尝试尽可能多地使用单词,然后从那里走出去,在人们抱怨时迅速做出反应,并表明这通常是一个问题,我怀疑您会遇到任何问题。

确切了解美国的审查指南是一个好主意:MBNL!(我不是律师!)


3
语言发展的解决方案是通过fan亵行为进行过滤。
独眼巨人

@独眼巨人赢了!xD
乔纳森·康奈尔

4

正如我评论,过滤所有的攻击性言辞真的很难-但你可以把它周围,并使用白名单允许的话。进行Google搜索时,对于儿童游戏来说,将他们可以输入的内容限制在列表中似乎很普遍。例如,乐高宇宙使用白名单。

另请参阅:将游戏聊天列入白名单。请注意,可以绕过白名单。没有保证的解决方案。

考虑到它是针对年幼的孩子的,拼写错误可能是一个问题-根据客户端界面的不同,您可能会考虑自动完成单词。当玩家开始输入字母时,请提供可能的单词列表,然后让他们选择正确的单词。


好主意,尽管对于一个可能拼写错误的年幼孩子来说,这对我来说似乎很奇怪。这也可能会妨碍他们的个人发展,超出白名单上可用的范围。
乔纳森·康奈尔

@ 3nixios,我同意它有问题,但是所有可能的解决方案都应这样做。:)解决拼写问题的一种方法是-等待,我应该将其添加到我的帖子中。:)
独眼巨人

+1:这样会更安全,但是就像@ 3nixios:所说的那样,它会阻碍开发,或者会是一个很大的列表,因此执行时间会增加吗?
naveen 2011年

@yetanothercoder,根据客户端类型(我假设使用html / javascript),您可以预下载有效单词列表,然后在客户端中对其进行检查。这不会降低服务器的速度(不过,理论上它可以被聪明的程序员绕开)。是的,这需要更多工作-再次,没有简单的解决方案,对不起。这完全取决于可接受的风险程度。
独眼巨人

1
@Cyclops对于儿童游戏,如果您只考虑孩子玩耍,这可能是一个可以接受的解决方案。不幸的是,客户端检查意味着“坏人”可以轻易地向其他玩家说出他喜欢的话。
乔纳森·康奈尔

4

程序员提供了一个答案,描述了一个用于构建亵渎过滤器的系统。他没有详细解释如何实际构建它,但是应该足以实现实施想法。


4

这是人类和社会设计而非代码可以最好地解决的问题。

详尽列表的最佳来源是游戏中存在的并监控聊天流的现场人员。让人们参与您的游戏,让他们成为您的终极过滤器。

花一些时间研究Club Mergufield背后的Lane Merrifield的想法和理念以及提供服务的方法。这是他在2008年奥斯汀GDC上的演讲的两篇论文。

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

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

特别是因为您的游戏是针对儿童的,所以它不仅仅是您需要考虑的发誓过滤器。您需要担心的是冒充孩子的人可能有或没有不良动机。您需要向父母保证,他们的孩子是安全的。您需要向孩子保证他们在此方面也很安全。

对于人类来说,另一个好处是他们会理解上下文。您不希望某个孩子说“我妈妈患有乳腺癌”并遭到踢打。


我们肯定有主持人可以禁止潜在的操纵者。我更关心亵渎。当主持人在恶劣的情况下使用的大多数单词都是重复性的时,这对于主持人而言将是一项繁琐的任务。
naveen

我想肯定地说,您可以启用亵渎过滤器,以检测您可能会称为的普通内容,并将其标记给主持人。提出一个“前100个”单词列表,然后对所有字符串进行一些快速模式匹配并不困难。首先删除所有空格和标点符号,这样人们就不必C_H_E_A_T或操纵算法。最终,尽管它的人会做对的。
蒂姆·霍尔特

3

问题的简单解决方案:

  1. 从输入中删除所有空格和标点符号。
  2. 将《城市词典》中的所有内容都列入黑名单。
  3. 将所有同音异形词列入黑名单
  4. 将所有可能用作泛滥的内容列入黑名单。
  5. 编写软件以了解所剩内容,意图和基调。
  6. 从第5步开始,抛弃游戏并以有知觉和全知的创作进入市场。

6
同性恋电话lolololol
乔纳森·康奈尔

3
这是垃圾邮件发送者验证码解析器和垃圾邮件过滤器的最终结果:争夺地球控制权的有意识的AI:一方面试图出售伟哥,另一方面试图保护人类。非常变形金刚。:-)
Zan Lynx

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.