Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет dolboeb ([info]dolboeb)
@ 2003-04-28 03:46:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение:accomplished

Война со спамом выиграна
Абсолютно лучшей программой для фильтрации спама является, по моему ощущению, POPFile.
Основное неудобство программы состоит в том, что при первом прочесывании вашего мэйлбокса она вообще ничего не фильтрует, пропускает через себя 100% полученных писем.
Зато этот "урожай", отфильтрованный единожды вручную, является для программы идеальной школой.
На основании правил, угаданных при сеансе ручной фильтрации, POPFile затем отсекает до 100% спама. Плюс еще некоторое количество полезной корреспонденции, но это уже легко исправить путем ручной переквалификации забракованных писем.

Очень был бы признателен expert users этой программы за объяснения принципов ее работы.



(Добавить комментарий)


[info]avva@lj
2003-04-27 14:58 (ссылка)
https://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137

здесь есть немного о принципах работы. Я, правда, не expert user, но выглядит довольно заманчиво, думаю попробовать.

(Ответить) (Ветвь дискуссии)


[info]urbansheep@lj
2003-04-27 18:53 (ссылка)
Принципы-то несложные. Это байезианский статистический анализ, к которому привешена дополнительно эвристическая система, анализирующая разные „трюки“, которые могут применить отправители. В частности, кроме обычного статистического отбора (когда вычисляется, с какой вероятностью то или иное слово, встреченное в письме, принадлежит одной из категорий, а затем вычисляется общая сумма, и письмо уходит в ту или иную сторону).

(Ответить) (Уровень выше)


[info]drunia@lj
2003-04-27 19:54 (ссылка)
а русский язык оно анализирует ?

(Ответить) (Ветвь дискуссии)


[info]urbansheep@lj
2003-04-28 07:36 (ссылка)
Оно не зависит от языка. Любой статистический анализ — это раскладывание цветных бусин по кучкам. Зелёную — налево, красную направо. Синюю — в мусор. Уметь читать, что эти бусины значат, не обязательно.

(Ответить) (Уровень выше)


[info]suhov@lj
2003-04-28 06:11 (ссылка)
насчёт заголовка - это вы поспешили с утверждением
только что получил письмо от одного товарища: спамеры запихивают своё сообщение в картинку! поэтому никакая программа анализа ТЕКСТА такой спам не отфильтрует
так что я бы сказал.. война со спамом только началась!

(Ответить) (Ветвь дискуссии)


[info]urbansheep@lj
2003-04-28 07:33 (ссылка)
У любого письма есть заголовки, масса служебной информации, которой обычно вполне достаточно для анализа.

(Ответить) (Уровень выше)

Как остановить спаммеров.
[info]erez@lj
2003-04-28 07:24 (ссылка)
Мне кажется, путь к победе - это комбинация "умных" фильтров, описанных выше, с auto-update фильтров центральных, содержащих IP адреса спаммеров. Такие плагины уже существуют, но их надо довести до ума, а именно:

1. Когда вы блокируете спам, по желанию, информация о его IP (и, возможно, некоторых других деталях) отправляется обратно на сервер. Используется secure protocol, checksum и всё такое, чтоб хулиганы списки спаммеров не сочиняли. При этом у каждого пользователя, отсылающего информацию назад, есть свой ID, и по нему учитывается "вес", чем и должна "умная система" заняться, сравнивая, чтО именно разные люди считают спамом и кому из них следует доверять больше.

2. На основе этого feedback'а составляются списки самых злостных спаммеров, и тогда можно определять, какие группы IP адресов используются постоянно, а какие - временно. ISP "постоянщиков" уведомляются и как-то наказываются (это ж и есть самые виноватые), остальные IP попадают в список ненадолго, чтобы не наказывать следующего, кому достанется этот dynamic IP. Кроме того, составленный список сортируется в порядке "magic number", который определятся количеством тех, кто счел IP спаммерским, и их "весом" - похоже на поиск пользователей со сходными интересами (http://www.livejournal.com/interests.bml?mode=findsim) в ЖЖ. Кроме того, учитывается "состав групп" жалобщиков, чтоб невозможно было понаоткрывать счетов и, заслужив всем хорошую репутацию, опять таки, хулиганить. Эта опасность пройдет сама собой, когда количество пользователей увеличится. На первых порах придется следить, чтоб одна и та же группа не реагировала слишком часто на определенный IP; с другой стороны, спам на русском будет, естесственно, пресекаться русскими, и т.д., что тоже надо учесть.

3. Пользователь может выбрать, как часто менять фильтр IP (чем чаще, тем лучше, но некоторым скорость не позволяет), включать ли в него "временные" адреса (тем, кто редко меняет фильтр, не рекоммендуется), и главное - какой magic number он считает порогом. Я имею ввиду, не относительный процент (верхняя треть списка, или половина), а именно "абсолютную" оценку по magic number, например, от 16.67 и выше (до 100).

3а. Желательно, конечно, хоть эту часть фильтрации проводить на сервере, но я не знаю, как ее лучше воплотить. Кроме того, возможно, список спаммерских IP (всемирный-то) будет слишком большим для того, чтоб его регулярно update'ать; я пока об этом не подумал. Но если хоть самую верхушку списка будут update'ать ISP, и предлагать в качестве фильтра пользователям, уже будет здОрово.

4. Чтоб "живее" собирать информацию, можно ввести ограничения, например, на частоту updates или на адреса в списке спаммеров с magic number ниже, допустим, 25 - дать доступ только тем, кто делится. Просто надо каким-то образом поощрять такое великодушие (ведь немного страдает privacy плюс занимается немного upload bandwidth), иначе мы - народ неразумный - делиться не захотим.

4а. Я также не подумал еще, что делать с open relays: их администраторам хочется поотрыварь яйца, но блокировать их может оказаться вредным - много полезной почты тоже, возможно, через них проходит. Мы же получаем feedback только о "плохом", и не знаем, сколько писем с того же IP были "хорошими". Может, стоит учитывать и "хорошие", например, если человек на письмо отвечает, значит, IP отправителя "хороший" (либо этот человек - полный идиот), и списком "хороших" IP's (хотя бы его верхушкой) по желанию тоже можно с сервером делиться, а там уже узнают, есть ли среди open relays такие, откуда пользователи хотят получать почту. На рассылки, правда, не отвечают, и им придется туго. Но они в любом случае пострадают, т.к. многие, вместо того, чтоб отписаться, просто блокируют их как спаммеров, когда не хотят больше получать. Так что придется держать customer service, который будет помогать законным рассылкам очистить репутацию - они тогда могут, заодно, и насчет open relays разобраться.

(Ответить)


[info]samtaburetkin@lj
2003-04-29 15:53 (ссылка)
Hastie, Tibshirani, Friedman. The elements of statistical learning. Springer, 2001. Во всяком случае, они пользуются спамом как одним из ярких примеров задач классификации. Действительно, байесовские методы -- одна из базовых компонент решающих правил, но есть еще куча разных frequentist approaches -- линейные методы, локальные методы, а также их комбинации.

Я подозреваю, что со стороны статистики там все достаточно просто -- какие-нибудь линейные модельки по частотам символов / комбинаций... красные и зеленые бусинки :). Восклицательные знаки и комбинации типа get one free, discount, special offer и enlarge your pennis -- этого достаточно, чтобы отловить процентов 75 спама. И это уже локальные методы будут :).

Что делать с картинками -- пока непонятно.

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

(Ответить) (Ветвь дискуссии)


[info]ctpeko3a@lj
2003-04-29 16:40 (ссылка)
О да! Продолжайте. Развивайте теорию.

Кстати, у них в FAQ, вышеприведённом avva, указано какими методами они пользуются.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]samtaburetkin@lj
2003-04-30 12:09 (ссылка)
Теорема Байеса должна быть в абсолютно любой книжке по теории вероятностей, и она описана в сорсфоржевском факе (http://sourceforge.net/docman/display_doc.php?docid=13648&group_id=63137) -- сравнительно толково, и то, что они машинную арифметику продумали, характеризует их с положительной стороны :). Впрочем, так любой прикладной байесовский статистик бы поступил, наверное.

Метод ближайших соседей -- почти понятен из названия: классифицировать объект в ту категорию, в которую попадает большинство соседей. Или, другими словами, посмотреть, какого цвета получилась данная область -- красноватого, синеватого, желтоватого и т.п., в зависимости от доминирующих цветов бусинок в ближайшей окрестности. Напомните, я надыбаю рисунок из HTF -- я в свое время в этом очень подробно разбирался и рисунки у них просил для своего доклада :).

Не очень понятно, как в этом контексте определяется "близость" соседей (в данном случае, похожесть емейлов) -- это всегда сложный вопрос. Кроме того, локальные методы безумно прожорливы на память -- по сути, нужно хранить полный набор исходных данных (исходных емейлов, пусть даже в пожатом виде -- сколько и каких слов было в каком емейле -- объем базы растет линейно с количеством емейлов), тогда как даже для упомянутых выше наивных байесовских методов достаточно хранить только частоты слов (и связан с качеством, т.е. достоверностью, распознавания). Для нормальной классификации нужно иметь словарь хотя бы в тысячу слов... соответственно, вычислительные задачки -- перебор по словарю и по емейлу. Я не программист и не особый спец по этим делам, каков там порядок вычислений, не знаю. В наивном виде это (длина емейла, т.е. десятки - сотни - тысячи слов) x (длина словаря, т.е. сотни - тысячи - десятки тысяч слов), что по порядку величины будет в районе, скажем, 10^4-10^6 проверок на совпадение. Реально индексные системы построены, конечно, умнее, но я об этом не знаю.

Если кто в Москве, я в начале-середине мая буду рассказывать отдельные кусочки этой второй задачи в рамках некоего учебного курса, который я буду вести.

Латентный семантический анализ -- слышу в первый раз, но, наверно, смогу разобраться, если меня наймут на работу написатели фильтрующего софта ;).

(Ответить) (Уровень выше)

Центр Американского Английского терпит убытки:
[info]deneo@lj
2003-04-30 22:26 (ссылка)
Хорошая работа :)
http://www.job.ru/searchvac.jsp?mode=findVacance&submode=find&findVacanceForm_id=2016813

(Ответить)


[info]sergiej@lj
2004-03-22 06:37 (ссылка)
у меня в Опере тот же самый алгоритм делает то же самое с такой же эффективностью. По моему ощущению, после работы с ПопФайлом удобнее иметь еговстроенным в клиента что и имею :)

(Ответить)