Сборник 2002

ТЕХНОЛОГИЯ ФИЛЬТРАЦИИ СОДЕРЖАНИЯ ДЛЯ ИНТЕРНЕТ

 

 

И. С. Ашманов

ЗАО "Ашманов и партнеры"

igor@ashmanov.com

 

А. Е. Власова

Московский государственный лингвистический университет

a_vl@rambler.ru

 

К. П. Зоркий

ЗАО "Ашманов и партнеры"

zorky@ashmanov.com

 

А. П. Иванов

Московский государственный университет

alexiv@ashmanov.com

 

А. Л. Калинин

ЗАО "Ашманов и партнеры"

andrey@kalinin.ru

 

 

Ключевые слова: фильтрация содержания, фильтрация контента, блокировка спама, фильтрация спама, лингвистический процессор, семантический процессор, технология фильтрации, новые технологии в Интернете, база фильтрации, АРМ лингвиста, модуль контентной фильтрации, обработка информации, обработка информационных потоков.

 

В докладе представлена технология фильтрации содержания в Интернете. Приводятся примеры нежелательных информационных потоков, перечислены основные проблемы, возникающие при построении контентного фильтра (баланс полнота - точность, настройка под конкретного пользователя и т.п.). Описаны последовательность работы и предназначение различных блоков программного модуля контентной фильтрации: лингвистического процессора, семантического процессора и базы фильтрации. Также даны примеры несанкционированных почтовых сообщений (спама) и результаты классификации таких сообщений модулем фильтрации.

 

 

  1. "Хорошая" и "плохая" информация?

 

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

Следовательно, задача усложняется - надо не просто найти или получить информацию, но и классифицировать или, что то же, отфильтровать ее. Владельцы электронных почтовых ящиков прекрасно знают, что часть приходящих писем содержит рекламный "мусор": списки товаров, описания коммерческих предложений и прочий так называемый "спам". Получение и просмотр таких сообщений занимает много времени, несмотря на то, что опытные пользователи скоро начинают стирать спам, ориентируясь только по их заголовкам (subject) и даже не заглядывая в текст самого письма.

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

Какая ещё информация в сети может также оказаться нежелательной? Ответ на этот вопрос зависит от целей и потребностей различных групп пользователей. С точки зрения пользователей, имеющих детей, к "плохим" будут отнесены порнографические сайты. Руководители различных уровней добавят к ним сайты, посвящённые поискам работы, развлекательные, спортивные и новостные сайты, которые сотрудники фирмы посещают в рабочее время. Для организаций также нежелательной может оказаться информация, идущая "извне наружу", из самой компании – например, сведения о новых разработках, политической ситуации внутри компании и т.п.

Постоянное усиление нежелательного или несанкционированного информационного воздействия приводят к тому, что пользователи вынуждены искать способы борьбы с информационным "мусором". Таким образом возникает спрос на автоматизированные средства, позволяющие классифицировать содержание в Интернете и помечать его как "хорошее" или "плохое", а точнее – как соответствующее или не соответствующее интересам конкретного пользователя.

 

 

  1. Фильтрация содержания: полнота и точность

 

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

Сфера применения фильтра содержания в Интернете обширна: проверка электронной почты, отслеживание www-трафика корпораций, учебных организаций и так далее. Фильтрация содержания может применяться не только "мирными", но и военными структурами и спецслужбами для предотвращения утечки информации и шпионажа.

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

Полнота и точность представляют собой типичный рычаг, подобный рычагу "сила/расстояние" в физике или "скорость/память" в программировании: обычно удаётся улучшать значение одного из данных параметров за счёт ухудшения другого

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

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

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

 

 

  1. Программы фильтрации

 

Возрастающая потребность в фильтрации содержания в Интернете привела к появлению довольно большого количества фильтрующих программ - в первую очередь почтовых. Например таких, какSpamBuster, SpamKiller, SpamEater или SpamGuard.

Практически все фильтрующие программы делят входящую почту на два потока - "хорошие" сообщения и "мусор". Программа может сразу направлять в папку "Удаленные" письма, опознанные как "мусор" - так поступает, например, SpamEater, - а может сохранять их в самостоятельной папке "Подозрительные" - так ведут себя SpamBuster и SpamGuard. Последний вариант, конечно, предпочтительнее, но провоцирует пользователя все-таки просматривать нежелательные рекламные послания.

Главная проблема таких программ - избыточная полнота фильтрации. Так SpamGuard, который используется на почтовых серверах Yahoo, способен классифицировать как спам вполне безобидные поздравления с праздниками и днями рождения. При этом пользователь лишен возможности самостоятельно настроить программу. Все, что он может - переслать неправильно классифицированное письмо в службу технической поддержки  и заявить о своем желании получать сообщения "такие же, как вот это прилагаемое письмо".

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

Одной из последних отечественных разработок модулей фильтрации содержания является "Библиотека контентной фильтрации", созданная ЗАО "Ашманов и партнеры" в сотрудничестве с известным производителем антивирусных средств "Лабораторией Касперского". Это модуль, встраиваемый в различные программные продукты и предназначенный для фильтрации почтовых сообщений.

 

 

  1. Техническая реализация модуля фильтрации

 

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

  • лингвистический процессор;
  • семантический процессор;
  • база ключевых слов и выражений;
  • автоматизированное рабочее место редактора / лингвиста;
  • некоторые другие технические блоки.

 

4.1. Лингвистический процессор

 

Лингвистический процессор предназначен для выполнения всех операций, которые так или иначе требуют знаний о языке, на котором написан конкретный текст:

  • разбиение текста документа на слова;
  • распознавание языка документа;
  • лемматизация и морфологизация;
  • индексация слов и словосочетаний;
  • некоторые другие задачи.

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

Для каждой операции, выполняемой лингвистическим процессором, могут существовать несколько вариантов ее практической реализации. Например, при выполнении операции морфологизации может использоваться словарная или несловарная (нечеткая) машинная морфология. Выбор варианта во многом определяется практическими задачами применения модуля фильтрации. Так, если предполагается, что словарный состав входных текстов известен и практически неизменен, то предпочтительнее использование словарной морфологии. Для работы с постоянно обновляющимся лексическим составом удобнее использовать несловарную морфологию.

 

4.2. Семантический процессор

 

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

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

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

  • сравнение с эталонными текстами;
  • построение семантического образа текстового документа и сравнение его с семантическими образами списка категорий

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

Каждая сигнатура помечена как принадлежащая той или иной семантической категории. Исходный текстовый документ сравнивается со всеми известными сигнатурами. Если обнаруживается, что исходный текст совпадает с какой-либо сигнатурой, возможно с небольшой модификацией, то ему присваивается та семантическая категория, к которой отнесен эталон. Возможность модификаций текста и степень таких модификаций определяется степенью "нечёткости" сигнатуры и может изменяться в зависимости от конкретных практических задач фильтрации.

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

 

4.3. База фильтрации и АРМ лингвиста

 

Весь процесс отнесения текста к той или иной семантической категории управляется данными, которые определяют:

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

Набор таких данных мы называем базой фильтрации.

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

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

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

  • Конфиденциальные материалы
    • Договора
    • Финансовые документы
    • ...
  • "Мусорная" почта (спам)

o       Предложения заработать

o       Виагра

o       Просьба о (материальной) помощи

o       Предложения посетить порносайт

    • ...
  • Запрещённые темы для исходящей почты

o       Резюме

o       Инсайдерская информация

    • ...
  • ...

Один и тот же текстовый документ может быть отнесен одновременно к нескольким категориям.

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

Ниже приведены несколько примеров ключевых слов и словосочетаний из семантического образа категории "Спам > Предложения заработать":

Хотите заработать

способ зарабатывания денег в Интернете

способ заработка

WebMoney

Вы получаете большие деньги

Присутствие этих слов и словосочетаний во входном тексте может с определённой уверенностью свидетельствовать о том, что текст относится к категории "Спам > Предложения заработать".

База фильтрации нуждается в постоянном систематическом пополнении. Только таким образом можно обеспечить ее актуальность и полноту. Для осуществления этой задачи требуется создание функционального и удобного автоматизированного рабочего места (АРМ) редактора / лингвиста.

 

  1. Почтовый фильтр спама как пример реализации модуля фильтрации

 

Примером практической реализации модуля фильтрации содержания в Интернет может служить готовый продукт - почтовый фильтр спама, выполненный ЗАО "Ашманов и партнеры" для "Лаборатории Касперского".

 

5.1. Что такое спам?

 

Все пользователи электронной почты рано или поздно сталкиваются со спамом или массовой рассылкой коммерческих и прочих "несанкционированных" сообщений. Спам забивает почтовый трафик, увеличивает время, которое требуется на получение и просмотр почты - соответственно увеличивается сумма оплаты за услуги провайдера, - в конце концов, просто портит настроение человеку, который потратил часть своего рабочего или личного времени на стирание "мусора" в своем почтовом ящике. Не удивительно, что само слово "спам" (синонимы: bulk-mail, junk-mail, spam) вызывает у большинства пользователей Интернета бурную негативную реакцию.

 

5.2. Распознавание различных видов спама

 

Спам отличается исключительным разнообразием - от предложений купить те или иные товары / услуги, до обещаний золотых гор за рассылку "писем счастья" или откровенных просьб в стиле "сами мы не местные, ночуем на вокзале, так что перечислите на наш счёт в США денег, кто сколько сможет, желательно в у.е.".

Вот пример одного из распространенных видов спама - так называемых "писем счастья" (в сокращенном варианте):

 

Письмо счастья!!!

Само письмо находиться в Юорксуло (Голландия). Оно обошло 445 раз вокруг света и попало к Вам. С получением письма его надо отослать тому, кому вы желаете счастья, даже если Вы и не верите в счастье из параллельных миров. Всё зависит от вас.

Жизнь письма началась в 1254 году. В Россию оно попало в начале 20 века. Письмо получила бедная крестьянка Пигунова и через четыре дня откопала клад, потом вышла замуж за князя Голицина, потом стала миллионершей. В 1943 году письмо попало маршалу Тухачевскому, который его сжег. Через четыре дня его арестовали, судили, затем расстреляли. В 1980 году Алла Пугачева разослала 20 копий письма и через четыре дня она положила на лицевой счет 20 тысяч долларов.

Письмо отправить каким угодно способом с единственным условием: чтобы оно дошло до

адресата. Текст не менять. Y-616 15-18E G X11X 2X 11XP-5X - эти знаки будут приносить Вам счастье в течении 9 лет.

Не задерживайте письмо более 96 часов. Поскольку это письмо должно путешествовать по миру, сделайте 20 копий и пошлите их друзьям и объединениям. Через несколько дней Вы получите сюрприз. Это правда.

Не игнорируй письмо. Прими его.

Наш почтовый фильтр способен распознать наиболее частотные виды спама, в том числе - приведенное выше письмо. Кроме того, распознаются предложения заработать, в том числе - с помощью все той же несанкционированной почтовой рассылки, - предложения поправить здоровье, перезаложить имущество, сократить налоги или отправиться в путешествие. Всего фильтр распознаёт несколько десятков категорий спамерских писем, среди них есть как широко распространенные, например "Предложения посетить порносайты", "Предложения заработать в Интернете", "Предложения медицинских услуг", так и более редкие - "Виагра", "Продажа спутниковых тарелок" и т.п.

Например, вот такое письмо однозначно распознается как "Спам > Предложение заработать".

 

Здравствуйте!

Я хочу поделиться с Вами информацией, как можно легально, быстро и сравнительно просто заработать несколько десятков тысяч долларов. Не улыбайтесь - это РЕАЛЬНОСТЬ. Все, что Вам понадобится - это некоторое терпение, настойчивость в достижении этой цели, конечно же желание. Еще нужен доступ к интернету и электронной почте. Если Вас это заинтересовало, отправьте, пожалуйста, заявку на ОБА приведенных ниже адреса и Вам будет выслан файл с инструкциями.

ЕСЛИ ВАС ЭТО НЕ ИНТЕРЕСУЕТ - ПРОСЬБА НЕ ОТВЕЧАТЬ НА ЭТО ПИСЬМО!

ВНИМАНИЕ!!! Не направляйте Ваши заявки с помощью кнопки "ответить отправителю", "ответить на выбранное письмо", или "reply" на ящик, с которого Вы получили данное письмо (в таком случае оно не будет прочитано!), а адресуйте их ТОЛЬКО сюда - ausg@e-mail.ru и ausg@cmail.ru

Спасибо, что прочитали это письмо. Всего доброго, всех благ!

С уважением, Alex.

 

На выходе почтовый фильтр выдаёт список семантических категорий, к которым отнесено конкретное письмо. Естественно, речь идет о "спамерских" категориях, т.е. о видах спамерских писем, а не об определении тематики письма в целом.

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

Конечно, почтовый фильтр использует при работе не только данные о содержании письма, но и многочисленные формальные признаки спама, например наличие огромных списки получателей в поле "BCC" при пустом поле "Адресат", наличие в поле "Адресат" значения "undisclosed-recipients", и т.п.

Хорошие практические результаты также дает создание и пополнение списка адресов спамеров, а также "ненадежных" почтовых серверов, которые не проводят борьбу со спамом и спамерами.

 

5.3. Детальная информация о письме

 

Письма, обработанные модулем контентной фильтрации, снабжаются набором детальной информации о письме. В этот набор входит:

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

 

Рассмотрим, например, письмо:

Subject: Adult Photos, Movies, Chat, Videos, Cams, Games and More. It's FREE.....

 

Visit 100% FREE HARDCORE MEGASITE!

instant access

CLICK HERE <http://www.nastymovies.com/jimo> You pay nothing, NOTHING, NOTHING!!!!

FREE LIVE VIDEO

FREE PHOTOS

FREE MOVIES

FREE VOYEUR CAMS

FREE CHAT

CLICK HERE <http://www.nastymovies.com/jimo> ItyFFFF92s 100% FREE, you pay NOTHING!

What are you waiting for?

------------------------------------------------------------

REMOVAL INSTRUCTIONS: We strive to never send unsolicited mail. However, if you'd rather not receive future e-mails from us, reply with the word remove as the subject. Please allow 48 hours for processing.

Это письмо было классифицировано как содержащее информацию "для взрослых". На выходе модуля контентной фильтрации получены следующие данные:

 

Опознанная категория: Спам • Для взрослых

______________________________________________________

Информация о "подозрительных" категориях:

Спам • Для взрослых

Спам • Общие признаки

______________________________________________________

Информация о ключевых словах:

169 слов в сообщении

100 % FREE 1 ("Спам • Общие признаки")

Visit 100 % FREE HARDCORE MEGASITE 1 ("Спам • Для взрослых", строгое соответствие)

Adult Photos 3 ("Спам • Для взрослых")

click here 2 ("Спам • Общие признаки")

free 3 ("Спам • Общие признаки")

FREE CHAT  ("Спам • Общие признаки")

Free LIVE videos 1 ("Спам • Для взрослых")

Free LIVE videos 1 ("Спам • Общие признаки")

FREE MOVIES 1 ("Спам • Для взрослых")

FREE PHOTOS 1 ("Спам • Для взрослых")

FREE VOYEUR CAMS 1 ("Спам • Для взрослых")

REMOVAL INSTRUCTIONS 1 ("Спам • Общие признаки")

You pay nothing 2 ("Спам • Общие признаки")

Все ключевые слова принадлежат к одной из двух категорий: "Спам > Для взрослых" или "Спам > Общие признаки". В семантический образ категории "Общие признаки спама" входят ключевые слова, характерные для почтовых рассылок рекламного / коммерческого характера. Это такие слова и словосочетания, как "бесплатно", "количество предложений ограничено", "никакого риска" и т.п. Кроме того, сюда относятся типичные фразы-извинения "за причиненное письмом беспокойство", обещания, что "это письмо вы получите только один раз", а также многие другие стандартные фразы из спамерских писем.

Семантический образ категории "Для взрослых" содержит ключевые слова, характерные для предложений посетить порносайты или посмотреть / купить порнографические фото и видеоматериалы. Ключевая фраза "Visit 100 % FREE HARDCORE MEGASITE" имеет атрибут "строгое соответствие". Это значит, что наличие в письме этой фразы позволяет сделать однозначный вывод о принадлежности письма к категории "для взрослых".

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

 

Тесты показывают надёжную работу фильтра и низкий уровень ложных тревог.

Технология фильтрации содержания в Интернет, представленная в настоящем докладе, может использоваться также для создания фильтра WWW-Трафика, а также задач классификации потока сообщений, "исходящих" из организации.

 

 

Internet Content Filtration Technology

  1. Ashmanov, A. Vlassova, K. Zorky, A. Ivanov, A. Kalinin

 

 

Key Words: text filtration, spam detection, spam filtration, bulk-mail detection, bulk-mail filtration, junk-mail detection, junk-mail filtration, linguistic processor, semantic processor, text filtration technology

 

The paper describes a model of text filtration for Internet content (mail messages, web-sites etc.). The filtration module includes language processor (language detection, morphology analyzer. etc.), semantic processor (semantic category detection) and filtration data base. It can be installed at mail-servers in order to prevent users from sending / receiving unsolicited e-mail (spam)/