СИСТЕМА АНАЛИЗА И ФИЛЬТРАЦИИ ИНТЕРНЕТ-ТРАФИКА НА ОСНОВЕ МЕТОДОВ КЛАССИФИКАЦИИ МНОГОТЕМНЫХ ДОКУМЕНТОВ

Полезная модель относится к области вычислительной техники, в частности, к системе анализа и фильтрации Интернет-трафика с возможностью адаптивной фильтрации по содержимому и гипертекстовому окружению документов на основе обучаемых методов классификации.
Система предназначена для анализа и фильтрации Интернет-графика на основе применения методов машинного обучения с возможностью дообучения для задания и распознавания тематик гипертекстовых веб-страниц с учетом содержащейся в них ссылочной информации. Применение таких методов позволяет системе обладать следующими свойствами:
- фильтрация на основе содержимого и гипертекстового окружения Интернет-ресурсов, которое может динамически изменяться по времени;
- анализ входящего и исходящего трафика в режиме реального времени;
- возможность динамического изменения списка тематик фильтрации Интернет-трафика (добавление новых и удаление существующих);
- автономность - независимость от внешних баз знаний и экспертов.
Известны системы, которые могут быть использованы для анализа и фильтрации Интернет-трафика [1, 2, 3, 4].
Первая из систем [1] в основном опирается на статические правила фильтрации ресурсов. Системой поддерживается пользовательский профиль. Решение заключается в хранении одобренного разрешенного списка, который нет необходимости фильтровать. Все ресурсы, которые не попадают в заданный список, считаются запрещенными. Список не обязан быть локальным и может храниться на некотором удаленном сервере и использоваться несколькими пользователями. Предложенная же полезная модель использует адаптивные методы контентного анализа на основе машинного обучения наряду со статическими методами анализа трафика.
Система фильтрации [2] основана на классификации, но предлагает осуществлять классификацию не программными средствами, а средствами самих провайдеров онлайн-контента, после чего проходить сертификацию у надлежащих органов сертификации, что принципиально отличается от предложенной полезной модели ввиду отсутствия адаптивности и автономности.
Система [3] хотя и использует четкие понятия категоризованного сайта и категоризованного контента, но не описывает никаких способов автоматической классификации документов, а также предлагает алгоритмы для сравнения новых ресурсов с имеющимися в базе данных (локальной и удаленной), что также не подразумевает автономности системы и не обеспечивает высокой точности категоризации.
Система [4] описывает систему фильтрации трафика на основе категоризации ресурсов. В патенте предлагается использовать уже существующие базы данных классифицированных ресурсов, и основное внимание уделено освещению проблем контроля нагрузки пропускной способности силами системы фильтрации трафика и вопросам идентификации пользователей.
В результате поиска по базам данных Федеральной службы по интеллектуальной собственности, патентам и товарным знакам (Роспатента) российских патентов по заданной тематике не обнаружено.
Цель изобретения - решение задачи анализа и фильтрации Интернет-трафика с возможностью адаптивной фильтрации по содержимому и гипертекстовому окружению документов на основе обучаемых методов классификации.
Поставленная цель достигается путем создания системы анализа и фильтрации Интернет-трафика (фиг.1), содержащей следующие модули:
- Кэш-прокси-сервер 1 - модуль, осуществляющий перехват запросов из локальной сети и их переадресацию ядру системы фильтрации трафика.
- Ядро 2 - центральный модуль системы фильтрации трафика, через который выполняются все операции в рамках системы.
- Модуль принятия решений 3 - модуль, осуществляющий принятие решения о разрешении или блокировке доступа к ресурсам.
- Модуль разбора и классификации 4 - модуль, осуществляющий лексический разбор содержимого ресурса, преобразование во внутреннее представление и классификацию.
- Робот 5 - модуль, осуществляющий загрузку содержимого ссылок из Интернета для формирования наборов документов для обучения и дообучения системы.
Модуль 1 кэш-прокси-сервера выполнен в виде вычислительного блока, производящего анализ НТТР-трафика локальной сети с целью кэширования для повышения эффективности доступа пользователей локальной сети к Интернету за счет сокращения среднего времени доступа к Интернет-ресурсам. Для взаимодействия прокси-сервера и системы фильтрации трафика используется протокол ICAP в силу того, что он является логическим расширением протокола HTTP и добавляет минимальное количество избыточной информации к анализируемым HTTP-запросам и ответам. Основная идея взаимодействия кэш-прокси-сервера и системы фильтрации трафика с использованием протокола ICAP заключается в следующем: ICAP кэш-прокси-сервер содержит встроенный ICAP-клиент, перенаправляющий новые HTTP-запросы и ответы пользователей на ICAP-сервер, встроенный в ядро системы фильтрации трафика. Кэш-прокси-сервер не делает различий между типами анализируемого HTTP-трафика и перехватывает как входящий, так и исходящий трафик. Исходящий трафик перехватывается на этапе фильтрации запроса пользователя. В этом случае система осуществляет фильтрацию на основе IP-адреса или домена машины, к которой адресован запрос, либо на основе содержимого запроса, используя методы классификации.
Модуль 2 ядро является центральным элементом системы и выполнен в виде вычислительного блока, осуществляющего:
1. Контроль процесса фильтрации входящего и исходящего трафика, а именно, идентификация того, кто запрашивает информацию; хранение каждого запроса в базе знаний; передача запросов модулю принятия решений, сохранение результатов классификации и модуля принятия решений в базе знаний.
2. Предоставление API для других модулей, а именно, API для сохранения ссылок, полученных с помощью анализа классификатором содержимого ресурса; API для модуля принятия решений, который может запросить дополнительную информацию о ресурсах, пользователях или статистике.
3. Организация работы с базой знаний и предоставление интерфейса базы знаний, которая позволяет пользователям и администраторам системы смотреть статистику и настраивать систему.
4. Идентификация того, кто запрашивает информацию, а именно, идентификацию по IP-адресу или идентификацию с помощью LDAP и других протоколов.
5. Хранение белых списков разрешенных доменов и IP-адресов, черных списков запрещенных доменов и IP-адресов, хранение информации о пользователях системы и их правах для различных категорий ресурсов.
Каждый пользователь может принадлежать к одной или нескольким группам. Каждому пользователю или группе назначается белый и черный список разрешенных и запрещенных доменов и IP-адресов, а также список разрешенных и запрещенных категорий ресурсов. Для идентификации ресурса используется его URL. Поэтому каждый запрос однозначно идентифицируется временем запроса, пользователем, который его запросил, и URL ресурса. Для совместимости с другими компонентами используется XML-RPC-протокол, чтобы писать компоненты на разных языках и размещать их на разных физических машинах. В ядро встроен ICAP-сервер, получающий и фильтрующий запросы от кэш-прокси-сервера.
Модуль 3 модуля принятия решений выполнен в виде вычислительного блока, осуществляющего анализ данных, поступающих в ядро, и принятие решения, разрешить или блокировать тем или иным пользователям доступ к запрашиваемому Интернет-ресурсу. Модуль принятия решений работает в два этапа:
1. Анализ и фильтрация запросов, поступающих от пользователей. На этом этапе ядро передает модулю принятий решений следующую информацию: IP-адрес машины, с которой запрашивается ресурс, URL ресурса и метаинформация о ресурсе, т.е. все заголовки, полученные из HTTP-запроса. Используя эту информацию, модуль пытается принять решение. Решение на этом этапе может быть принято, если, например, домен запрашиваемого ресурса попал в белый или черный список для текущего пользователя или если категории ресурса были определены ранее.
2. Если этой информации недостаточно для принятия решения, модуль принятия решений запрашивает содержимое ресурса. Ядро перенаправляет этот запрос кэш-прокси-серверу, который загружает ресурс из Интернета и передает содержимое ядру. Ядро вызывает метод модуля принятий решений, отвечающий за фильтрацию содержимого. Вместе с содержимым передается информация о пользователе, сайте ресурса, дополнительные метаданные, такие как тип содержимого ресурса, дата последней модификации и другие метаданные, полученные из HTTP-ответа. Для получения информации о категориях ресурса модуль принятия решений может обратиться к модулю разбора и классификации.
На фиг.1 показаны информационные входы 1 и 2, на которые подаются текущий анализируемый документ и обучающий набор документов, настроечный вход 3 для задания администратором параметров работы системы, а также информационные выходы 4 и 5 с результатами классификации и решением о блокировании или разрешении ресурса.
Модуль 4 разбора и классификации многотемных гипертекстовых документов выполнен в виде вычислительного блока и состоит из трех основных компонент (фиг.2):
1. компонент лексического анализа (парсер) 6 - осуществляет разбор, выделение признаков и преобразование гипертекстовых документов во внутреннее представление;
2. компонент вычисления меры сходства 7 - определяет значения близости между документами на основе выданного парсером представления и осуществляет кэширование этих значений;
3. классификатор 8 - строит дообучаемую модель классификации и на ее основе осуществляет классификацию многотемных гипертекстовых документов.
Парсер осуществляет разбор гипертекстовых документов на поток лексем. Лексемы, встречающиеся в обучающей коллекции документов, сохраняются в словаре. В нем устанавливается отображение строкового представления признака на номер признака в векторном представлении, а также собирается статистика о частоте вхождений слов в обучающий набор. Также компонент лексического анализа осуществляет фильтрацию стоп-слов, выделение гиперссылок в документах и преобразование их в лексемы специального вида. На выход парсер подает идентификаторы встречающихся в документе лексем (соответствие между лексемами и их идентификаторами устанавливается в словаре), а также заменяет каждую встречающуюся гиперссылку на список идентификаторов, соответствующий темам документа, находящегося по этой ссылке.
Архитектура парсера состоит из пяти основных модулей (фиг.3), соответствующих этапам преобразования документа: преобразователь кодировок, лексический анализатор, фильтр стоп-слов, модуль выделения признаков и агрегатор. Парсер работает по принципу конвейера: каждый документ последовательно «проходит» через все его модули и в результате преобразуется во внутренне представление.
Преобразователь кодировок распознает кодировку документа и осуществляет ее преобразование в кодировку UTF-8. На вход он получает исходный HTML-документ в виде байтового потока, на выходе выдает документ в виде потока байт, но уже приведенный к нужной кодировке.
Лексический анализатор осуществляет разбор структуры HTML-документов (выделение тегов, ссылок, специальной разметки), чтобы в результате получить представление документа в виде потока слов, которые отображаются в браузере. Получая от преобразователя кодировок байтовый поток в кодировке UTF-8, лексический анализатор распознает встречающие теги и выделяет теги BASE (в которых содержится полный путь к файлам), а также ссылки на другие документы. Эти теги удаляются из потока, обрабатываются отдельно и затем снова записываются в поток. Также лексический анализатор удаляет другие элементы разметки HTML-документов и знаки препинания. Результатом работы этого компонента является преобразование документа в виде потока слов.
Задачей фильтра стоп-слов является удаление всех стоп-слов из полученного после работы лексического анализатора потока данных.
В модуле выделения признаков происходит преобразование потока слов в поток соответствующих лексем. В качестве метода выделения признаков используется выделение базовых словоформ на основе стемминга и метод N-грамм. Слова по очереди выделяются из потока, преобразуются соответствующим образом в набор лексем, затем устанавливается соответствие этих лексем с идентификаторами в словаре и номера лексем (идентификаторы) записываются в выходной поток с сохранением порядка следования. В результате на выходе модуля выделения признаков получается поток идентификаторов. Каждому признаку в словаре выделяется свой номер, который в дальнейшем играет роль индекса данного признака в векторе признаков.
Агрегатор получает преобразованные гиперссылки, выделенные модулем лексического анализа (преобразование происходит вне этого модуля). На данном этапе гиперссылки представлены в виде наборов специальных идентификаторов, соответствующих тематикам данной ссылки. Эти идентификаторы вставляются в основной поток, причем они вставляются в те места преобразованного текста, которое занимали соответствующие ссылки в исходном документе. Полученный на выходе агрегатора поток идентификаторов признаков является результатом работы парсера, и этот поток далее используется при вычислении меры сходства между документами.
Компонент вычисления меры сходства (фиг.4) определяет значения близости между документами на основе выданного парсером представления (в виде последовательности идентификаторов признаков) и осуществляет кэширование вычисленных значений близости с целью повышения скорости обучения и классификации. Алгоритм вычисления меры сходства основан на модели представления в виде векторов частотных характеристик признаков. В качестве метода выделения признаков документов используется метод, основанный на расширении традиционной векторной модели представления за счет добавления частых комбинаций признаков. Близость между документами оценивается на основе скалярного произведения между соответствующими векторами частотных характеристик признаков. При вычислении частотных характеристик признаков учитывается не только частота встречаемости признака в данном документе, но и частота появления признака во всей коллекции документов.
Компонент вычисления меры сходства имеет два режима работы: режим обучения и режим классификации.
В режиме обучения компонент принимает на вход тренировочный набор для алгоритма классификации, предварительно преобразованный парсером HTML-документов. Во время обучения происходит построение векторов признаков для документов тренировочного набора и вычисление весов признаков на базе метода TF-IDF. После обучения, вся информация, необходимая для последующей классификации документов (а именно, вычисленные вектора признаков тренировочного набора), сохраняется в контексте обучения. Компонент вычисления меры сходства также поддерживает кэширование для повышения скорости обучения.
При работе в режиме классификации компонент использует сохраненные вектора тренировочного набора, чтобы «сравнивать» с ними поступающие документы. При этом для каждого поступающего документа модуль производит вычисление значений близости только один раз и сохраняет эти значения перед подачей классификатору, за счет чего достигается выигрыш в скорости классификации.
Работа классификатора основана на методе классификации многотемных документов на основе декомпозиции в набор бинарных проблем типа «каждый-против-каждого». Классификатор строит дообучаемую модель классификации и на ее основе осуществляет классификацию многотемных гипертекстовых документов. Классификатор использует результаты вычисления меры сходства. Классификатор имеет четыре основных внешних интерфейса: обучение, дообучение, классификация и удаление темы.
Модель классификации, которую строит классификатор, состоит из следующих элементов:
- модель multi-label декомпозиции (multi-label модель);
- набор моделей бинарной классификации (количество моделей зависит от типа декомпозиции);
- модель пороговой функции.
Классификатор имеет модуль композиции/декомпозиции, который осуществляет декомпозицию multi-label проблемы обучения на бинарные подпроблемы в соответствие с подходом попарных сравнений для существенно пересекающихся классов. Информация о декомпозиции на бинарные подпроблемы сохраняется в multi-label модели. Для каждой бинарной подпроблемы обучается бинарная модель классификации. При построении бинарных моделей классификатор использует данные о мерах сходства между документами тренировочного набора. Классификатор также осуществляет обучение пороговой функции и сохраняет ее коэффициенты в модели.
При предсказании тематик новых документов в классификатор передается мера сходства текущего классифицируемого документа со всеми документами из тренировочного набора. Классификатор осуществляет применение построенных бинарных моделей к текущему классифицируемому документу (используя результаты меры сходства), а затем осуществляет композицию предсказанных результатов для оценки степеней принадлежности документа классам. Далее на основе модели пороговой функции классификатор выделяет релевантные для документа классы.
Модуль 5 робот выполнен в виде вычислительного блока, осуществляющего загрузку содержимого гиперссылок из Интернета для формирования наборов документов для обучения и дообучения системы. Типичный сценарий работы робота следующий. В начале работы робот добавляет URL-адреса в очередь. Из очереди берется очередной URL адрес. Планировщик принимает решение о времени, когда данный ресурс можно скачать, и при наступлении данного времени, передает задание на скачку многопоточному загрузчику. Многопоточный загрузчик скачивает содержимое из Интернета, записывает необходимую информацию в базу знаний ресурсов, выделяет нужные ссылки и добавляет их в очередь, и процесс повторяется.
Источники информации, принятые во внимание при составлении описания заявки:
1. Патент US №6745367.
2. Патент WO 2002/005148.
3. Патент WO 2006/036170.
4. Патент US №6 947 985.
Краткое описание чертежей:
1. Фиг.1. Архитектура системы фильтрации трафика.
2. Фиг.2. Архитектура модуля классификации.
3. Фиг.3. Общая схема работы парсера.
4. Фиг.4. Общая схема работы компонента вычисления меры.