Подскажите как эффективнее сделать фильтр мата — чтобы поменьше ему уделять ручного внимания, но и качество фильтрации было одно из лучших. В распоряжении есть СУБД с полнотекстовым поиском.
Как я понял — варианта по сути два: 1. Список запрещенных слов и список исключений для тупого сравнения слов целиком 2. Нечеткий поиск
Первый наверняка довольно затратен по ведению, второй скорее всего будет промахиваться в случаях типа "три рубля" или "подстрахуй", что в принципе можно вылечить одним списком исключений.
Не хочется изобретать велосипед.
Помню, обсуждалось где-то. Трудно, потому что особо одаренные могут использовать (частичный) транслит, заменять буквы похожими цифрами, комбинациями символов (например, ")(" вместо "Х"), частичное "запикивание" и т.д.
Здравствуйте, Keith, Вы писали:
K>Подскажите как эффективнее сделать фильтр мата — чтобы поменьше ему уделять ручного внимания, но и качество фильтрации было одно из лучших. В распоряжении есть СУБД с полнотекстовым поиском.
Я бы взял whitelist слов с морфологией и т.д. и т.п. (например здесь) и blacklist корней. Если слово содержит корень и не из белого списка, то это мат.
H>Я бы взял whitelist слов с морфологией и т.д. и т.п. (например здесь) и blacklist корней. Если слово содержит корень и не из белого списка, то это мат.
Точно так же делал свой. Вот мысли у умных людей сходятся! Однако загвоздка была с базой whitelist слов с морфологией. Не так то просто её сделать.
Здравствуйте, neokoder, Вы писали:
H>>Я бы взял whitelist слов с морфологией и т.д. и т.п. (например здесь) и blacklist корней. Если слово содержит корень и не из белого списка, то это мат.
N>Точно так же делал свой. Вот мысли у умных людей сходятся! Однако загвоздка была с базой whitelist слов с морфологией. Не так то просто её сделать.
Здравствуйте, goto, Вы писали:
G>Помню, обсуждалось где-то. Трудно, потому что особо одаренные могут использовать (частичный) транслит, заменять буквы похожими цифрами, комбинациями символов (например, ")(" вместо "Х"), частичное "запикивание" и т.д.
Маппинг для букв можно сделать или найти готовый — я видел где-то.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Фильтр мата
От:
Аноним
Дата:
31.03.11 23:10
Оценка:
H>Я бы взял whitelist слов с морфологией и т.д. и т.п. (например здесь) и blacklist корней. Если слово содержит корень и не из белого списка, то это мат.
Да ладно.Вы серьёзно чтоли так где-то делали?И никто не смеялся?.
Наша кам**нда по парикмах*рскаму искусству.
Re[3]: Фильтр мата
От:
Аноним
Дата:
31.03.11 23:38
Оценка:
Здравствуйте, neokoder, Вы писали:
H>>Я бы взял whitelist слов с морфологией и т.д. и т.п. (например здесь) и blacklist корней. Если слово содержит корень и не из белого списка, то это мат.
N>Точно так же делал свой. Вот мысли у умных людей сходятся! Однако загвоздка была с базой whitelist слов с морфологией. Не так то просто её сделать.
Плохо это. Выхолостили текст только так. (Если речь про запикивание постов или подобное).
Кто вам разрешил так с языком обращаться? Шучу конечно,
но на самом деле whitelist это несколько унизительно для приличного человека.
Для нормального поста на форуме не годится такое (не ну может если это форум программеров ,то потянет, их не жалко, а вот остальным неприятно может быть).
Зах*рмазоховский,х*рсонесский,шумах*р, х*лиганьщина, х*литили, ком*ндировчные и т.д.
Здравствуйте, hotdox, Вы писали:
H>Здравствуйте, Keith, Вы писали:
K>>Подскажите как эффективнее сделать фильтр мата — чтобы поменьше ему уделять ручного внимания, но и качество фильтрации было одно из лучших. В распоряжении есть СУБД с полнотекстовым поиском. H>Я бы взял whitelist слов с морфологией и т.д. и т.п. (например здесь) и blacklist корней. Если слово содержит корень и не из белого списка, то это мат.
Кстати в livejournal похоже нечто такое же используется. Запикивание для списков и рейтингов(списки постов когда первая строчка поста видна). Я не особо вникал, но в глаза просто сразу бросается. Как это пропустили мне неведомо(возможно пользователи редко обращаются туда).
выглядит примерно так (копирую что увидел):
571 быстроква! belonika 457
Вот такой вот замечательный "м***ариновский" вид у меня из окна в восемь утра. Жанна в Лондоне. И ей тут просто прекрасно. Сегодня …
b_nemtsov
Накануне Дня Дурака, к хору кремлевских пропаг*****в, обличающих оппозицию, присоединился С.Митрохин.
забанили остроумный неологизм пропагандоны, и уж совсем безобидный мандариновский. и заметны такие косяки в общем списке(не скажешь, что редкость).
Здравствуйте, anonim12345, Вы писали:
A>Не надо такое делать. Мат это часть нашего великого языка. Говорить матом хорошо и правильно, без этого зачастую невозможно объяснить очевидные вещи.
Даже если проект посещают школьники? А как к этому их мамы отнесутся?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Фильтр мата
От:
Аноним
Дата:
05.04.11 11:20
Оценка:
Здравствуйте, Keith, Вы писали:
K>Здравствуйте, neokoder, Вы писали:
H>>>Я бы взял whitelist слов с морфологией и т.д. и т.п. (например здесь) и blacklist корней. K> А у вас, случайно нет готовой?
А>Да ладно.Вы серьёзно чтоли так где-то делали?И никто не смеялся?.
Нет не делал, но если бы делал, то так
А>Наша кам**нда по парикмах*рскаму искусству.
Ну Spell-checking по левенштейну никто не отменял
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, neokoder, Вы писали:
H>>>Я бы взял whitelist слов с морфологией и т.д. и т.п. (например здесь) и blacklist корней. Если слово содержит корень и не из белого списка, то это мат.
N>>Точно так же делал свой. Вот мысли у умных людей сходятся! Однако загвоздка была с базой whitelist слов с морфологией. Не так то просто её сделать.
А>Плохо это. Выхолостили текст только так. (Если речь про запикивание постов или подобное). А>Кто вам разрешил так с языком обращаться? Шучу конечно, А>но на самом деле whitelist это несколько унизительно для приличного человека. А>Для нормального поста на форуме не годится такое (не ну может если это форум программеров ,то потянет, их не жалко, а вот остальным неприятно может быть).
А>Зах*рмазоховский,х*рсонесский,шумах*р, х*лиганьщина, х*литили, ком*ндировчные и т.д.
Ну whitelist на то и whitelist, чтоб его пополнять
Здравствуйте, Keith, Вы писали:
K>Здравствуйте, anonim12345, Вы писали:
A>>Не надо такое делать. Мат это часть нашего великого языка. Говорить матом хорошо и правильно, без этого зачастую невозможно объяснить очевидные вещи.
K> Даже если проект посещают школьники? А как к этому их мамы отнесутся?
ты думаешь, что школьники не знают мата?
Re[5]: Фильтр мата
От:
Аноним
Дата:
06.04.11 03:53
Оценка:
Здравствуйте, hotdox, Вы писали:
H>Ну whitelist на то и whitelist, чтоб его пополнять
В условии задачи сказано "поменьше ручного внимания".
Здравствуйте, blackhearted, Вы писали:
A>>>Не надо такое делать. Мат это часть нашего великого языка. Говорить матом хорошо и правильно, без этого зачастую невозможно объяснить очевидные вещи.
K>> Даже если проект посещают школьники? А как к этому их мамы отнесутся? B>ты думаешь, что школьники не знают мата?
Я уверен, что они его знают, но не уверен, что мамы будут рабы что их дети читают мат на детском сайте.