В системе также имеется тезаурус – база данных со списком слов на разных языках, которые используются в категоризации данных. На каждом этапе система пытается получить метки, соответствующие категориям обрабатываемого контента.
Всю представленную систему можно разделить на две части: первая часть – поиск информации, вторая – ее последующая обработка и категоризация. Эти части будут описаны ниже, уделяя больше внимания части категоризации, поскольку технология агрегирования контента не является основной темой данного исследования.
7.2. Получение информации
Загрузчики контента отвечают за постоянное наполнение системы данными: они отправляют сотни запросов к источникам в Интернете и сохраняют веб-страницы в базу данных хранилища контента.
Парсер контента – это распределенный набор сервисов-парсеров, которые получают на вход агрегированные данные и извлекают из них структурированную информацию в соответствии с бизнес-правилами. Полученные в результате обработанные данные затем сохраняются в БД агрегированного контента. Так же, как и БД с загруженными страницами, БД агрегированного контента является реляционной базой данных (PostgreSQL [101]). В системе повсеместно используется master-slave репликация для обеспечения отказоустойчивости и стабильной работы.
Классификатор извлекает обработанные данные из БД агрегированного контента и добавляет их для последующей обработки в очередь классификации (RabbitMq [102]). Очередь сообщений в данном случае используется для масштабирования нагрузки, т. к. объем обрабатываемой информации очень велик.
7.3. Предварительная обработка
Модуль предварительной обработки автоматически извлекает HTML-данные из очереди сообщений, поступивших на классификацию, и производит дальнейшую предварительную обработку, цель которой – облегчение дальнейшей работы механизма категоризации.
Рисунок 3. Архитектура модуля предварительной обработки
Архитектура модуля предварительной обработки показана на рисунке 3.
Как следует из рисунка 3, архитектура модуля предварительной обработки состоит из отдельных приложений, выполняющих удаление HTML-разметки, приведение к нижнему регистру, удаление стоп-слов, стемминг [103], удаление знаков пунктуации, лемматизацию, а также извлечение ключевых слов с использованием алгоритма TF-IDF [104].
7.4. Классификатор спама
Рассматриваемая система агрегирования контента должна иметь эффективный механизм обнаружения спама и нежелательного контента. Проблема состоит в том, что спам может содержаться в различных типах контента и принимать многочисленные формы: от скрытой рекламы до незаконного контента в статьях, агрегированных комментариях СКАЧАТЬ