Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Песочница > АнтиМат


Автор: MoLeX 10.1.2008, 15:00
тут у нас с товарищем барсом получился небольшой монолог см. http://forum.vingrad.ru/forum/topic-185566/anchor-entry1375084/15.html (надеюсь модеры перенесут неотносящиеся к теме сообщения сюды). 
так вот в его продолжении тема и посвящается).

bars80080 я не знаю есть ли на форуме функция антимата (вкл\выкл она), но дело не в том, допустим в БД занесено некоторое количество слов равных или похожих на слово дура (дура у нас будет матершинное слово smile ) со следующими значениями:
Код

дура
ДуРа
ДУРА
дуРа
дуРА
Dypa
ДYRА
(список можно продолжить но я останавливаюсь)


т.е. при использовании юзером одного из этих слов будет заменено на [цензор],
но спрашивается почему я не могу использовать следующие варианты: DYра, д_у_р_а и т.д.
выввод - как не старайся все равно найдется способ обхода мата.

вот поэтому лучше использовать человеческий фактор 
Цитата

двум десяткам модеров проще перебивать ручками сообщение


З.Ы. отвечаю на твою цитату - нет не проще (зато эффективнее будет) причем модераторы это люди специально назначенные ответственными за данный раздел (и скорей всего они сами сидят на нем и отвечают, следовательно и читаю наши посты).

Кто не согласен высказывайтесь))))

Автор: LSD 10.1.2008, 15:20
Цитата(MoLeX @  10.1.2008,  15:00 Найти цитируемый пост)
выввод - как не старайся все равно найдется способ обхода мата.

Безусловно. Автомат может облегчить задачу, но не заменить человека полностью. В принципе задача похожа, на задачу фильтрации спама.

Автор: MoLeX 10.1.2008, 15:31
еще как. одно время искал базы для форума, ща решил полностью отказаться, все равно могут вставить мат...

Добавлено через 45 секунд
LSD, если есть возможность то перениси последнии сообщения от сюдова http://forum.vingrad.ru/forum/topic-185566/anchor-entry1375084/15.html
а то не потеме, увлеклись немного

Автор: bars80080 10.1.2008, 15:37
ага, но собственно я про то и говорил:
Цитата
конечно, сразу всех слов не перещеголяешь, но что трудного замеченное новое слово закидывать в обработку?,


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

я к тому, что судя по всему, здесь на форуме вообще никакого антимата нет
в моём понимании идеальная система:
1. на входе фильтр, тот самый который режет очевидные и уже внесённые запрещённый список слова,
/можно чуть-чуть поднапрячся и сделать соответствующий лог куда будут автоматом заносится все матерщинские сообщения, дабы отследить злостных нарушителей/
2.что-то проскочило, при чтении сообщений, любой чел может призвать внимание модератора (кнопочка репорт)
3.модератор решает, зло есть или нет, и лёгким кликом вгоняет слово в базу
ну, а злостных нарушителей штрафовать

в частности за такие вот целенаправленные обходы правил как д_у_р_а надо сразу по шее

в итоге, спустя несколько месяцев, здесь как ни пытайся, всё будет почикано

какой плюс:
просто уменьшится работы у модеров, ибо программирование - есть средства для облегчения жизни человекам
а мне лично (!ведь началось всё с того что у меня случайно проскочило слово, которое здесь оно считается матом!) будет показано, что так поступать не следует /слово вырезано/, но сообщение будет оставлено, в логах будет зафиксировано: такой-то, тогда-то ругнулся, но в общем не опасно, можно простить, но будет взято на заметку

цивилизация!

я лично, когда писал страничку отзывов на одном сайте, задумался:
оно мне надо отслеживать нецензурщину? и просто написал функцию, кот. легко выжигает не целенаправленный мат
и живу спокойно





сдаётся мне спора не получается

Автор: Sunvas 10.1.2008, 15:48
Да не возможно сделать антимат! вот я напишу, например: "мой Друг Умеет Работать Аккуратно!" В столбик, например. Так что задача нетривиальна.

Автор: MoLeX 10.1.2008, 15:51
Цитата(bars80080 @  10.1.2008,  15:37 Найти цитируемый пост)
сдаётся мне спора не получается

получится, не беспокойся т.к. ты меня не убедил  smile 

Отвечаю не попорядку:
   2. - есть и вполне аправданный
   1. - нет смысла, т.к. мат все равно проскочит и со временем будет долгая проверка на мат, 
         следовательно сервак будет напрягаться, а этого хороший админ не когда не допустит.
   3. - смотри в день каждый злой юзер пишет хотябы 2 новых слова (злых допустим у нас 10 человек)
         т.е. в день получается моддератор должен занести 2*10 = 20 новых слов,
                в год это будет 365*2*10 = 7300!!! слов. 

и где тут разумность? ведь у нас может быть не 10 а 1.000 юзероф, и в день они пишут по 10 слов (в год будет 3650000), в итоге стандартного времени на выполнениии скрипта (60 сек. если память не изменяет) будет не хватать -> всякие сбои и т.д.

Автор: bars80080 10.1.2008, 16:17
1. - ерунда, на этом форуме понавешено столько всякого хлама, что одна дополнительная проверка затормозит его на ничтожную долю
посмотри, что он внизу пишет:
[ Время генерации скрипта: 3.4336 ]   [ Использовано запросов: 30 ] 
30! запросов, генерация три с половиной секунды. одна функция здесь понятие ничтожно малое (я имею ввиду свои функции, которые обычно составляют 20-40 строк)

3. - 3650000 слов? жесть, у меня дома есть словарь на 210000 слов русского языка и я не встречал слов (не матных конечно) которых в нём не было
даже если говорить о жутких комбинациях типа д_у_р_а, всё равно больше нескольких тысяч не получишь

Цитата
вот я напишу, например: "мой Друг Умеет Работать Аккуратно!"

если заглавные буквы не будут выделены, то мата и не разглядишь,
а если выделишь - 
Цитата
в частности за такие вот целенаправленные обходы правил как д_у_р_а надо сразу по шее

что я подразумеваю по шее - если человек на форуме пытается именно оскорбить другого, то такому отрицательному элементу не место здесь, и тогда уже вступают в действие модераторские факторы (блокировка на несколько дней - удаление аккаунта - блокирование ip), если же вы сейчас скажете, что желающего матюгаться это не остановит, то извините, это уже выходит за рамки темы - ибо на этого человече управы уже не напасёшься, только если переводить дело в разряд официальных преступлений (не наша тема)

так что тяжёлых минусов вставки этой функции я не вижу,
а вот плюсы будут ощутимы

Автор: MoLeX 10.1.2008, 16:25
Цитата(bars80080 @  10.1.2008,  16:17 Найти цитируемый пост)
так что тяжёлых минусов вставки этой функции я не вижу

я вижу. через что ты будешь пропускать полученный текст от пользователя перед занесением в БД (ф-цию или через что).

возьмем самое распространеное действие:
Код

$text = str_replace("дура", "[цензура]", $text);


т.е. скрипт берет из БД значения мата, подстовляет его и проводит на нем действия замены, в бд 3000 строк мата, т.е. он будет проверять 3000 раз. хм, чую его это нагрузить...

Автор: JackYF 10.1.2008, 16:27
Цитата(bars80080 @  10.1.2008,  15:17 Найти цитируемый пост)
всё равно больше нескольких тысяч не получишь

оо... ты с комбинаторикой знаком?
ты учёл варианты д__ур__а, _дуура, ддуурраа и так далее?.. Тебе посчитать, сколько таких вариантов может набраться?

Добавлено через 1 минуту и 33 секунды
счёт будет идти для каждлого матерного слова на тысячи вариаций...

Добавлено через 2 минуты и 34 секунды
Цитата(MoLeX @  10.1.2008,  15:25 Найти цитируемый пост)
в бд 3000 строк мата

Не будет там 3000. Там будет, что самое меньше, 300000. если не десятки миллионов.

Автор: MoLeX 10.1.2008, 16:31
для примера: порысскав по инету накачал сборники матов, установил их на тестовом форуме и чтоже. все равно они не спасли. от банальных выражений спасают, а о продвинутых - нет.

Автор: willker 10.1.2008, 16:42
Цитата(bars80080 @  10.1.2008,  15:37 Найти цитируемый пост)
1. на входе фильтр, тот самый который режет очевидные и уже внесённые запрещённый список слова

Очень понравилось слово "очевидные". Имеешь ввиду что-то типа эврестика для вирей? Внесенные еще можно отслеживать (правда действительно немного накладно по производительности), но очевидное для человека сложно или не всегда можно сделать очевидным для компа. В идеале лично мне видится такой выход (больше склоняюсь в поддержку bars80080): 
1. Создать единый скелет с основными словами;
2. Написать код анализатора текста, который и будет отсекать "очевидные" слова путем подбора вариаций (хотя я говорю только теоретически).

Цитата(bars80080 @  10.1.2008,  15:37 Найти цитируемый пост)
3.модератор решает, зло есть или нет, и лёгким кликом вгоняет слово в базу

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

Вобщем ручная работа с матом - неблагодарное дело, но избавиться от нее полностью, мне кажется, не представляется возможным. Всегда найдется мудрец, который обойдет даже самый хитрый анализатор (из разряда what must be run, must be cracked =)). 
Задача сводится только к уменьшению затрат времени на работу модера, и поэтому кажется мне перспективной.

Автор: JackYF 10.1.2008, 16:55
В общем, я против. Большинство людей и так матом ругается, а к меньшинству применять административные меры, что и делается.

Автор: LSD 10.1.2008, 17:35
Цитата(MoLeX @  10.1.2008,  15:31 Найти цитируемый пост)
LSD, если есть возможность то перениси последнии сообщения от сюдова http://forum.vingrad.ru/forum/topic-185566...1375084/15.html
а то не потеме, увлеклись немного 

Рассказываю универсальный алгоритм (это я о пользе чтения правил) smile 

Если тебе надо: разделить тему, переместить тему, указать на нарушение правил форума, и вообще обратить внимание модератора на какое-либо сообщение, смело жми кнопку report, и в появившемся окошке пишешь своё сообщение модератору. Все, с чуством выполненного долга идешь пить кефир smile

Добавлено через 6 минут и 38 секунд
В принципе, фильтр вещь хорошая и нужная.

Можно поступить хитрее - не цензурить слова, а отправлять репорт модератору. Маловероятно что человек сразу станет изголяться с
Цитата

мой 

Друг
Умеет
Работать
Аккуратно

скорее всего он напишет прямо: дура! и даже не заподозрит, что модератор получил репорт, а не просто прочитал это сообщение.

По поводу производительности: он будет выполняться только при добавлении поста, но не при просмотре (что происходит намного чаще).

Автор: Сумасшедший 10.1.2008, 18:43
В-принципе, 
Цитата(MoLeX @  10.1.2008,  15:00 Найти цитируемый пост)
 DYра, д_у_р_а и т.д.
 нитрида,.. да)
А ещё можно и для user posted image парсер написать. (Кстати, поиск по яндекс-картинкам рулит;-))
Зачем менять слова? Давайте сразу банить. За скипидар. Могу ещё вспомнить времена чата на xakep.ru где банили за слово Мудрик (ник хорошего знакомого). - тоже можноsmile
Нормальный человек без сильного повода материться здесь не будет. Если что - модераторы помогутsmile А тех кто намеренно обходит правила форума - таки нам они надо?

Автор: bars80081 11.1.2008, 13:23
ну вот, три последних поста - спасибо, поняли меня

главная идея - функция антимата будет выжигать очевидный и случайный мат, брошенный в порыве страсти
а целенаправленный будут убирать модераторы с удалением самих злопыхателей


а теперь расскажу историю, как это касается лично меня

если посмотрите на ник, увидите, что меня забанили /за повторное употребление мата/
но модератор так и не смог привести текст сообщения, в итоге сошлись на том, что слово /хз/ - есть мат (именно две буквы, а не то что они значат)
/надеюсь здесь модератор меня не замочет, ведь вопрос именно про это/
честно, видел у кого-то раньше, так что по-моему вставить отбойник было бы очень полезно,
ещё полезнее было бы, если бы он вместо уборки мата просто возвращал пользователя на форму ввода с рекомендацией - так делать нельзя

Автор: MoLeX 11.1.2008, 13:31
иногда я использую это сочетани. но тут не злого умысла, и мата. Просто все зависити от того как переводит это словосочетание.

Автор: Ignat 11.1.2008, 16:49
Цитата(bars80081 @  11.1.2008,  13:23 Найти цитируемый пост)
если посмотрите на ник, увидите, что меня забанили /за повторное употребление мата/

А число в нике - это счетчик банов?  smile 

Автор: MoLeX 11.1.2008, 16:55
Цитата(Ignat @  11.1.2008,  16:49 Найти цитируемый пост)
А число в нике - это счетчик банов? 


 smile  smile  smile 
в натуре)))

Автор: bars80081 11.1.2008, 18:57
о, число символично, и кстати близко к истине, только не про баны

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)