Отметить неприемлемое содержание: какая система? - PullRequest
0 голосов
/ 02 октября 2019

Я хочу разработать систему, позволяющую пользователям отмечать нежелательные сообщения. Я хочу автоматизировать процесс карантина, поэтому я хочу поместить сообщения в состояние модерации, но только в случае возникновения каких-либо условий.


Например:

Каждый пользователь имеет достоверность значение: 1000

Если пользователь помечает сообщение, которое я вставляю в таблицу posts_flags вdb: user_id, post_id, user_flag_credibility, author_current_credibility, author_id, комментарий, moderator_comment, статус

Затем я выбираю все флаги и выполняю следующие действия:

FC = average of user_flag_credibility;
NF = count of user_flag_credibility;
GAIN = 1 + NF * 0.2;
AC = avg of author_current_credibility;

if ( FC * GAIN > AC ) { /* post in quarantine */ }
else { /* post remain published */ }

Так, например:

3 пользователя с достоверностью 800, 900, 1000 отмечают должность автора с авторитетом 1000

NF = 2700/3 = 900;

FC = 3;

GAIN = 1 + FC * 0,2 = 1,6;

900 * 1.6 = 1440

1440> 1000 -> сообщение в карантине

или также:

2 пользователей с доверием 800,500 пометить пост автора авторитетность 900

NF = 1300/2 = 650;

FC = 2;

GAIN = 1 + FC * 0.2 = 1.4;

650 * 1.4 = 896

896> 900 -> сообщение остается опубликованным


В конце процесса, чтобы изменить доверие к одному пользователю, я делаю следующее

Если модератор подтверждает, что контент не подходит, все пользователи, которые дали флаг, получают +100 доверия, в противном случае теряют-100 достоверности.


Существует ли стандартный способ обработки несоответствующего содержимого? Это выглядит хорошо или есть что-то, что не работает на ваш взгляд? Я так решаю все с одной таблицей, а лучше с двумя (одна другая таблица для решения модератора). Что вы думаете об этом?


ОБНОВЛЕНИЕ:

Если сообщение подтверждено как плохое, автор также дает -100 баллов доверия

Добавлены комментарии для пользователя и модератора, добавлен статус (ожидает / опубликован / удален)

...