Crowd источник стандартов сообщества игрового сообщества?
Я размещаю несколько игровых серверов Source и запускаю плагин, который сбрасывает чат игрока в базу данных MySQL. У меня есть немного истории чата, и я искал что-нибудь интересное, чтобы сделать с этим. Я хотел бы создать систему, которая позволит членам моего сообщества определять, что является "приемлемым", а что нет.
Я думаю, что это будет работать примерно так: почему-то я позволяю членам моего сообщества просматривать журналы чата (без определения того, кто что сказал), и они отмечают журналы как "приемлемые" или "неприемлемые". Я должен был бы выяснить, будет ли он просто показывать блок текста из временного интервала, или просто определенного пользователя в определенный период времени, или только отдельные строки (может быть хорошо... может также означать, что пользователь полностью пропустил контекст чата).
Это работало бы как система капчи, где несколько пользователей заканчивали бы оценкой одной и той же серии журналов чата. Оттуда я получу значения для групп слов. Теория состоит в том, что это создаст порог, где одни вещи приемлемы, а другие нет. После того, как определенное количество моих существующих журналов будет оценено, у меня будет существенный способ определить, соответствует ли сообщение стандартам, определенным моим сообществом.
У меня такие вопросы -
- Что бы вы посоветовали мне показать моим пользователям, которые оценивают журналы? Должен ли я показать им набор линий чата X? Должен ли я показывать все линии чата с 5-минутными интервалами? Должен ли я сузить эти два окна, показывая только сообщения одного пользователя в течение этих временных периодов X строк? Или пользователи должны оценивать каждую строку отдельно? Я планирую установить ограничение на количество строк / групп, которые конкретный участник сообщества может оценивать в день.
- Каков подходящий способ для проектирования базы данных, хранящей все эти данные? В настоящее время каждая отдельная строка чата хранится как отдельная строка в MySQL. Каждый из них имеет уникальный идентификатор, а также полный текст сообщения чата, отправленного в игре. У меня также есть имя игрока и сервер, с которого оно было получено, но я не вижу в этом необходимости.
- Я хотел бы создать это таким образом, чтобы это стало самодостаточным / адаптивным к сообществу и тому, что они считают приемлемым. Со временем будет добавлено больше строк и добавлено к порогам / расчетам, чтобы определить, является ли сообщение "хорошим" / "плохим". Если кто-то создал что-то подобное, можете ли вы указать на подводные камни, которых мне следует избегать при создании этого?
1 ответ
Я бы предпочел, чтобы пользователи могли помечать сообщения как неуместные в режиме реального времени, если это возможно. Это могут делать обычные пользователи, вместо того, чтобы искать людей для просмотра их в автономном режиме. Если вы не можете или не хотите использовать этот подход: сообщения могут быть определены как неприемлемые вне контекста любых других сообщений, но при рассмотрении непрерывного потока сообщений в том порядке, в котором они отображались в реальном времени, полезно. Я бы, наверное, пошел, чтобы дать им Х непрерывных сообщений. С пометкой в реальном времени, я бы предложил несколько сообщений до и после, помеченное сообщение красным или что-то подобное.
Вы можете попытаться создать какую-то систему вознаграждений, когда пользователи просматривают определенное количество сообщений. Если вы разрешаете помечать сообщения в реальном времени, вы можете поощрять людей за просмотр помеченных сообщений для подтверждения помеченного статуса.
Зная, какой игрок это может быть полезным. Если игрок публикует несколько неуместных сообщений, вы можете выдать предупреждение или бан или что-то еще. Сервер, вероятно, не очень полезен, но я все для хранения дополнительной информации, которая может пригодиться вам позже.
Я бы не стал зацикливаться на хранилище базы данных. Наличие таблицы со временем столбцов (или просто идентификатором автоинкремента, или и тем, и другим), игроком, сервером, сообщением, isInapp ульмане должно подходить в зависимости от того, какие типы операций вы хотите выполнить.
Подход, который вы можете использовать (если у вас есть сообщения, помеченные как неуместные), будет очень похож на спам-фильтр (вы сможете найти более чем достаточно материалов по этому вопросу).
Общее соображение будет заключаться в том, хотите ли вы быть снисходительным или строгим, отмечая как неуместное (хотите ли вы, чтобы некоторые неуместные сообщения были пропущены или некоторые сообщения, которые можно пометить, будут помечены). Посмотрите в Precision / Recall, чтобы дать некоторое представление об этом.
Я подозреваю, что в среде чата, по большей части, может быть достаточно просто искать (и, возможно, пытаться автоматически идентифицировать) конкретные слова, которые появляются в неподходящих сообщениях.