«Нельзя ли, дяденька Lexxus, поставить в комментах фильтр на матюки и прочие непристойности, с некоторых пор изобилующие на просторах твоего электронного альманаха?» — то и дело вопрошают достойнейшие из числа моих посетителей. Ответы мои, разнообразные по форме и объёму, неизменно содержали один и тот же смысл. Нельзя, мол. И не отвлекайте от дел текущих, безмерно более важных.
Так бы оно всё и продолжалось, если бы за последние несколько месяцев моя виртуальная вотчина временно не стала этакой Меккой для сотен тысяч молодых, энергичных и в основном скудоумных людей. Собственно, ни для кого не секрет, что любая группа этих ваших человеков независимо от её численности имеет обыкновение срать. Но лишь немногие знают, что чем группа больше, тем это самое немудрёное занятие всё больше доминирует над всеми остальными.
Критически оглядев многочисленные следы пребывания здесь этой армии мыслителей и титанов духа, я окончательно убедился в необходимости что-то срочно менять...
Вообще-то, идея создания качественного антиматерного робота впервые посетила меня давным-давно. Примерно 18 сентября 2007 года, если я правильно датирую события Докризисной Эпохи. С тех пор она лениво витала в воздухе, пока всвязи с указанными выше событиями не заполнила собой все уголки моего сознания.
И вот на днях функция для определения относительной грубости текста была успешно написана и прикручена к движку блога. Материться и грубить по-прежнему не запрещено. Но если «относительная грубость» комментария больше 5%, то он автоматически скрывается. Впрочем, чтобы его всё-таки прочитать, нужно всего лишь нажать на специальную ссылочку. Выглядит это всё вот так:
Что такое «относительная грубость» и почему именно 5%? Объясню на примерах:
Пример 1. Текст: „хуйня“.
Длина текста — 5 символов, общая суммарная длина матерных слов — 5 букв, относительная грубость — 5/5 = 100%.
Пример 2. Текст: „ЕГЭ — это хуйня“.
Длина текста (без знаков препинания) — 13 символов, общая суммарная длина матерных слов — 5 букв, относительная грубость — 5/13 ≈ 38%.
Пример 3. Текст: „ЕГЭ — это хуйня, потому что основная декларируемая причина его введения — коррупция в образовательных учреждениях — только усугубилась; между тем, объективность оценки знаний при помощи ЕГЭ по-прежнему под большим вопросом“.
Длина текста (без знаков препинания) — 214 символов, общая суммарная длина матерных слов — 5 букв, относительная грубость — 5/214 ≈ 2%.
Таким образом, пятипроцентный предел грубости означает, что чтобы комментарий не оказался скрыт, матерные и просто грубые слова в его тексте должны быть как следует «обоснованы» без применения грубых слов и выражений.
Поиграться с фильтром мата
(хотя это не совсем фильтр и не только мата)
можно в новом разделе под пилотным названием
«Нецензурная брань 1.0»
Помимо определения грубости введённого пользователем текста, там есть ещё пара функций, но в принципе они там и так обозначены, а тут я подробно расскажу о них в другой раз.
Если ещё и почистить все комментарии к записям про ЕГЭ - так вообще канфэтко будет. Ибо большинство постящих там, видимо, не совсем понимают, где они пишут.
Если ещё и почистить все комментарии к записям про ЕГЭ - так вообще канфэтко будет. Ибо большинство постящих там, видимо, не совсем понимают, где они пишут.
Всё, что я написал выше, относится и к уже написанным комментариям. Со временем программа проверит и их.
Правда, к сожалению, это всего лишь фильтр грубости, а не фильтр тупости. Там полно и совершенно не матерных, но просто фантастически тупых комментариев. С ними автоматически бороться на порядок сложнее.
Да я и сам себе порой напоминаю Каганова. И мне в общем-то приятно, что не мне одному.
Кстати, его идея с капчей (я правильно понимаю, что на этот раз проведена параллель с его постом от 3 июля?) хороша, но не избавляет админа от необходимости самостоятельно что-то делать с каждым "клиентом" в отдельности.
А моя цель - по минимуму шевелить ручками.
А хотя...
А дабы доказать, что я никакой не робот,
я без усилий напишу цифрами число
"одиннадцать нониллионов четыреста девяносто октиллионов восемьсот двадцать шесть септиллионов триста сорок девять секстиллионов девятьсот семьдесят один квинтиллион сто пятьдесят девять квадриллионов сто шестьдесят триллионов четыреста восемьдесят семь миллиардов семьсот девяносто девять миллионов триста пятьдесят семь тысяч четыреста сорок"
Да, вы правильно меня поняли, а последняя идея прекрасна.
Фиг знает, видите, он-то преследует цель избавиться не от тех, кто ругается, а от мудаков. А мудаки бывают вполне себе не ругающиеся, а умные, цивилизованные люди - напротив, могут позволять себе обсценную лексику.
То есть, его капча охватывает бОльшее количество задач. Он избавляется от любой нежелательной аудитории вообще. Ценой одного клика.
А вы пытаетесь сделать то же самое автоматизированно, у меня большие сомнения, что это эффективно.
Lexxus, я как раз тупость и имел ввиду. Я думаю, единственный выход - просто убрать возможность комментирования любого поста, потенциально способного заинтересовать школьников.
А насчет капчи - можно давать нехитрые задания вроде формул с пропущенными числовыми коэффициентами (уровень 1-2 курс), или интегральчики/производные, предполагающие стандартный или односложный ответ, или элементарные вопросы ("сколько степеней свободы у двухатомного газа?"). Таких вещей за 15 минут можно придумать сотню. По крайней мере, отсев неадекватных молодых и энергичных людей обеспечен :))
Забавно, но благодаря этому фильтру у людей появляется непреодолимое желание посмотреть "а чойта он там написааакал?!". Например у меня так точно оно есть =)))
Фиг знает, видите, он-то преследует цель избавиться не от тех, кто ругается, а от мудаков. А мудаки бывают вполне себе не ругающиеся, а умные, цивилизованные люди - напротив, могут позволять себе обсценную лексику.
То есть, его капча охватывает бОльшее количество задач. Он избавляется от любой нежелательной аудитории вообще. Ценой одного клика.
Да, безусловно, подобные методы более универсальны. Но тут есть один маленький, но очень существенный нюанс.
У того же Каганова в целом достаточно стабильная аудитория - из года в год примерно одни и те же люди.
А у меня всё не так - каждый год свежая школота, практически полностью сменяющая прошлогоднюю. Сколько бы мудаков я ни забанил (тем или иным способом), им на смену придут новые, и начинай всё сначала.
Кроме того, есть ещё одно отличие. У Каганова средний возраст аудитории - 25-30 лет. Львиной доле моих посетителей меньше 18. Думаю, вопрос о том, у кого в среднем больше неадекватов - чисто риторический. А посещаемость у меня даже сейчас вчетверо больше, я уж не говорю про то, что было в июне (это я не хвастаюсь, скорее уж жалуюсь).
Вот и выходит, что даже при наличии простой и удобной банилки, в моем случае нужно ежедневно по многу раз в неё тыкать, проводя долгие часы за вдумчивым прочтением десятков килобайт полной херни.
Кстати, вы же вполне можете срезать таких комментаторов. То есть, по идее, для школоты можно полностью закрыть доступ к комментированию, введя на капчу подсчет какого-нибудь предела и простейшего интеграла. Их комменты все равно нафиг не нужны :)
(вот написал сейчас и увидел, что идею уже предложили выше :)
Кстати, вы же вполне можете срезать таких комментаторов. То есть, по идее, для школоты можно полностью закрыть доступ к комментированию, введя на капчу подсчет какого-нибудь предела и простейшего интеграла. Их комменты все равно нафиг не нужны :)
Да, эта идея уже много лет витает в воздухе у нас на форуме.
К сожалению, она в пух и прах разбивается тем фактом, что и на форуме, и тут нет-нет да и отписываются вполне адекватные и интересные люди, ни разу в жизни не взявшие ни одного интеграла.
Да и среди школоты адекватных пусть и не слишком много, но уж точно больше, чем умеющих взять даже самый простенький интеграл.
Так уж получилось, что они и есть теперь моя целевая аудитория. Как-то глупо, примиряясь с этим фактом, пытаться ущемлять их в правах.
Лексус, может лучше без выскакивающего окна с подтверждением? Приходится совершать совершенно лишнее движение.
Вот как раньше, например, на хабре было с заминусованными каментами.
Лексус, может лучше без выскакивающего окна с подтверждением? Приходится совершать совершенно лишнее движение.
Вот как раньше, например, на хабре было с заминусованными каментами.
Да я сначала без окошка и сделал. Нажимаешь "показать" - и коммент сразу появляется.
Потом посмотрел - как-то слишком... просто, что ли. Нет ощущения чего-то запретного :)
"Ебень" - это единица абсолютной грубости текста.
Вообще-то, под "абсолютной грубостью" можно понимать просто общее количество матерных слов в тексте. Но лично мне кажется, что тривиальное матерное слово из трех букв выглядит менее грубым, чем сложная конструкция букв из 15.
Поэтому для определения абсолютной грубости я складываю длины всех грубых слов в тексте и делю на 5 (в русском языке средняя длина слова как раз примерно равна пяти). А поскольку нужно же было как-то назвать единицу измерения, то я выбрал для этих целей матерное существительное, как раз состоящее из пяти букв.
Блуждая по просторам Сети и маясь от постсессионного безделья, решил потестить subj. Пара замечаний:
1. "3.14зда", и её подобных - не ловит. Хотя человек читает на ура.
2. Не ловит медицинские термины и производные от них: гомосексуалист, гомосек, гомик, педераст, педик, педрило, педрище, (хотя "пiдора" ловит) пенис, фаллос, вагина, дебил, дебилоид, идиот, идиотик, идиотище, онанизм, онанист, анус, анальный.
3. Ловит не все грамматические ошибки. Скажем, слово "скотомудрище" пропускает свободно, хотя, если убрать "р", узнает знакомый корень. Да и другие слова-паллиативы: "пиписька", "МПХ".
4. Были ошибочные срабатывания на словах, начинающихся на окончание слова "небоскрёб", например на просторечное название Екатеринбурга или прозвище незабвенного Е.Б. Сандакова (какое - очевидно).
Резюмирую: штукенция забавная и очевидно против случайных малолеток небесполезная, но любой тролль не обделённый фантазией с легкость её обойдёт, назвав собеседника, например, "педерастом-анальным онанистом и автоуринотерапевтом или просто мочеглотом".
PS. Да и моём комментарии он грубостей не обнаруживает.
PPS. Отдельное спасибо за распознавание тривиальных замен o<=>о, p<=>р, e<=>е и т.п.
PPPS. Интересно, а можно ли греческие шрифты подключить?..
раз уж начали анализировать способы обхода штуковины, то можно нагрубить вместо того чтобы представится, плюс грубости не скрываются в цитатах, плюс как-то непонятно почему ед. грубости в комменте №13 за грубость считается, а в ответе (№14)-нет..
А что значит оранжевый цвет? Например, слово "трахея" им выделена была.
И, кстати, всегда можно добавлять кусок текста в пост, чтобы разбавить:
Хуй! Пизда!
Подумай, что может быть милее котенка,
Пускай не окрепла еще в лапках силенка,
И нет еще грации, смешно ходит вприпрыжку,
Но и он превратится в котяру-воришку.
Но сейчас беззащитный он, посмотри,
Если он запачкался где, оботри,
Потрогай, какая мягкая шерстка,
Погладьте, погрейте котенка подростка,
Он замурлычет тихонько в ответ,
Как будто и нет для него больше бед.
Но только не брось его, не обидь,
Он никогда тебя не сможет забыть,
За все то добро, за все те ласканья,
Он замяучит от страха, не хотя расставанья,
Возьми его на руки, прижми ты к груди,
Он никогда не сможет от тебя отойти.
1. "3.14зда", и её подобных - не ловит. Хотя человек читает на ура.
Да, это нехорошо. Но я в курсе. Просто пока не придумал, как элегантно расправляться с подобными случаями. Понятно, что можно просто перед основной обработкой заменять "3.14" на "пи", но это какое-то топорное решение.
2. Не ловит медицинские термины и производные от них: гомосексуалист, гомосек, гомик, педераст, педик, педрило, педрище, (хотя "пiдора" ловит) пенис, фаллос, вагина, дебил, дебилоид, идиот, идиотик, идиотище, онанизм, онанист, анус, анальный.
Немного подкорректировал правило, относящееся к производным слова "педераст".
Ввёл правило на сокращения слова "гомосексуалист".
А вот чисто медицинские термины типа "дебил", "идиот", "анальный" и пр. - я пока в раздумьях, стоит ли их учитывать.
3. Ловит не все грамматические ошибки. Скажем, слово "скотомудрище" пропускает свободно, хотя, если убрать "р", узнает знакомый корень.
Это - я думаю, понятно почему. Программа не реагирует на сочетание "муд", если после него стоит "р". Иначе матерными оказались все производные слова "мудрый/мудрость".
Да и другие слова-паллиативы: "пиписька", "МПХ".
Первое добавил. Про МПХ пока ещё подумаю.
например на просторечное название Екатеринбурга или прозвище незабвенного Е.Б. Сандакова (какое - очевидно).
Ну что я могу сказать, не повезло Евгению Борисовичу и Екатеринбургу с прозвищами. Я же не виноват, что они матерные. В конце концов, цивилизованные люди во избежание путаницы могут писать "Е.Б.С." и "Е-бург" соответственно :)
Резюмирую: штукенция забавная и очевидно против случайных малолеток небесполезная, но любой тролль не обделённый фантазией с легкость её обойдёт, назвав собеседника, например, "педерастом-анальным онанистом и автоуринотерапевтом или просто мочеглотом".
Ну, я и не утверждал, что эта штука совершенна. Человеческая фантазия всегда побеждает :)
PPPS. Интересно, а можно ли греческие шрифты подключить?..
Распознавание транслита - в проекте.
А вот с пробелами за приемлемое для веба время справиться не получится.
А что значит оранжевый цвет? Например, слово "трахея" им выделена была.
О! Про трахею я и забыл. Поправил.
Оранжевый цвет - это значит слова, с моей авторитетной точки зрения менее грубые, чем "красные", но всё равно нецензурные.
И, кстати, всегда можно добавлять кусок текста в пост, чтобы разбавить:
Можно, можно. Это вполне вписывается в мою идеологию :)
Сучечка
сучара
шалава (мат ли? но тем не менее не очень литературно;), в дальнейшем буду обозначать *, чтобы Lexxus сам решил, стоит ли это расценивать, как грубость)
сыкло*,
ибать (привет грамотеям - **) и производные, аналогичные непечатному глаголу.
одалиска
вафлёр*
вздрачнуть, драчить**
манда
сцать*
гузно*
гумозник*
дристать* (и тп: дрисня, ...)
жося*
замондить
минжа*
лындить*
лярва
пырять*
юлда
Но вот не несёт, как бы это сказать, кхм... негативного заряда. Негативный заряд - дело вообще тонкое. Вот, например, если в первом слове заменить 11-ю букву "с" на букву "о", то, вроде бы, как бы, ничего не изменится.
А негативный заряд - появится.
да, кстати, игрался тут с фильтром и совершенно случайно обнаружил что старыйбольнойобезьян - страшное нецензурное ругательство! 0_о вот не понял я почему
да, кстати, игрался тут с фильтром и совершенно случайно обнаружил что старыйбольнойобезьян - страшное нецензурное ругательство! 0_о вот не понял я почему
Дело в том, что это и в самом деле очень древнее (а потому почти забытое человечеством) страшное нецензурное ругательство, уходящее своими корнями в те времена, когда только-только спустившиеся с деревьев предки современного человека жестоко глумились над теми, кто так и продолжал висеть на ветках своих уютных дубков и берёзок, тупо поедая свисающие с них бананы.
Недаром это слово почти в 7 раз грубее, чем тривиальное "хуй".
Фильтр - х.уйня, на мандовошек(не через "а", т.к. сложное слово, о - соединительная гласная) и прошмандовок всяких не реагирует. В общем, защищает только от клинических м.удаков (кстати, одна точка в слове му.дак - не грубо, а две - грубо).
Не понимаю, зачем в тысячный раз изобретать настолько банальный велосипед, когда есть куча готовых решений (на хабре-ху.ябре, например есть посты). Попробуйте лучше сделать фильтр на основе этого е-бучего машинного обучения - это будет достойно студента топового российского вуза, имхо.
32. Niponyal, 3 ноября 2010, 21:48:28
да, кстати, игрался тут с фильтром и совершенно случайно обнаружил что старыйбольнойобезьян - страшное нецензурное ругательство! 0_о вот не понял я почемуКоментарий скрыт (грубость — 14%)показать
Содержит буквосочетание "йоб", поэтому и ругательство.