我托管一些Source游戏服务器并运行一个插件,将玩家聊天转储到MySQL数据库。我已经安静了一些聊天记录,并且正在寻找一些有趣的事情。我想构建一个系统,允许我的社区成员确定什么是“可接受的”和“不可接受的”。
我的想法是,它的工作原理如下: 不知何故,我允许我的社区成员查看聊天记录(无需确定谁说了什么),并将日志标记为“可接受”或“不可接受”。我必须弄清楚它是否只会显示一个时间范围内的文本块,或者只显示特定时间范围内的特定用户,或者只显示单独的行(可能是好的......也可能意味着用户完全错过了聊天的背景)。
这有点像验证码系统,其中多个用户最终会对同一系列的聊天记录进行评分。从那里,我会得到一组词的价值。理论是,它创造了一个门槛,某些事物是可以接受的,而另一些则不是。在对我现有的一定数量的日志进行评分后,我将有一种有意义的方法来确定消息是否符合我所在社区定义的标准。
我的问题是这些 -
答案 0 :(得分:0)
我宁愿考虑用户能够在可能的情况下实时标记邮件。普通用户可以这样做,而不是必须找人离线查看。如果您不能或不想采用这种方法:消息可能在任何其他消息的上下文之外被识别为不合适,但是按照它们实时出现的顺序查看连续的消息流可能是很有帮助。我可能会给他们X连续消息。通过实时标记,我会在之前和之后建议一些消息,标记的消息为红色或类似的消息。
当用户查看一定数量的邮件时,您可以尝试使用某种奖励系统。如果您允许实时标记邮件,则可以奖励人们查看已标记的邮件以确认已标记的状态。
知道哪个球员有用。如果玩家发布了一些不适当的消息,您可以发出警告或禁令或其他内容。服务器可能不是那么有用,但我要存储一些额外的信息,你可以在以后找到它们。
我真的不会挂断数据库存储。根据您要执行的操作类型,具有列时间(或简单地自动递增ID,或两者),播放器,服务器,消息,不合适的表应该没问题。
您可以采取的方法(一旦您将某些邮件标记为不当内容)与垃圾邮件过滤器非常类似(您应该能够找到足够多的材料)。
一般的考虑因素是,在标记为不合适时,您是想要宽容还是严格(您是否希望错过某些不适当的消息或者标记一些好的消息)。查看Precision / Recall以了解这一点。
我怀疑在聊天环境中,在大多数情况下,它可能足以简单地查找(并可能尝试自动识别)出现在不适当消息中的特定单词。