banner banner banner
Агрегация контента и его обработка. Сборник статей по архитектуре распределенных систем и программной инженерии
Агрегация контента и его обработка. Сборник статей по архитектуре распределенных систем и программной инженерии
Оценить:
 Рейтинг: 0

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


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

6.5. Экспертная система классификации твитов

Экспертные системы часто используются в задаче классификации контента. Например, в исследовании [92] представлена MISNIS – экспертная система, которая автоматически классифицирует твиты по набору интересующих тем. Система использует метод Twitter Topic Fuzzy Fingerprints [93] и сравнивает нечеткие отпечатки отдельного текста с отпечатками потенциального автора. Чтобы определить, относится ли твит к определенной теме, система создает отпечаток темы и отпечаток трендовых тем.

6.6. Экспертная система категоризации многоязычных документов

Проект GENIE, описанный в статье [94], представляет собой многоязычную экспертную систему категоризации текста на основе правил, которая состоит из пяти этапов: предварительная обработка, классификация на основе атрибутов, статистическая классификация, географическая классификация и онтологическая классификация.

Процесс категоризации начинается с этапа предварительной обработки, который включает в себя лемматизацию [95], распознавание именованных сущностей (named entity recognition, NER) [96] и извлечение ключевых слов [97]. Затем выполняется классификация на основе атрибутов, основанная на тезаурусе (thesaurus), то есть списке слов и наборе их отношений. Следующим этапом является статистическая классификация, где методы машинного обучения используются для поиска закономерностей, соответствующих статистической информации, и получения меток, соответствующих общим темам документа.

После система применяет географический классификатор для определения возможных географических ссылок, включенных в текст. Географический классификатор использует специальный компонент – географический справочник (gazetteer) [98], который представляет систематизированную информацию о местах и географических названиях.

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

Подобный подход к построению архитектуры модуля классификации используется в проекте Hypatia [99] – экспертной системе, разработанной для отделов канцелярии и делопроизводства и обеспечивающей категоризацию, семантический поиск, обобщение, извлечение знаний, агрегацию и многие другие функции в области анализа текстовых документов.

7. Предлагаемая система

7.1. Архитектура системы

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

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

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

Высокоуровневая архитектура предлагаемой системы показана на рисунке 2.

Рисунок 2. Архитектура экспертной системы категоризации агрегированного контента

Система, показанная на рисунке 2, состоит из кластера загрузчиков контента [100], т. е. веб-краулеров, модуля парсинга контента, модуля классификации, модуля предварительной обработки, классификатора спама, классификатора на основе нечетких отпечатков, классификатора на основе атрибутов и SVM-классификатора.

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

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

7.2. Получение информации

Загрузчики контента отвечают за постоянное наполнение системы данными: они отправляют сотни запросов к источникам в Интернете и сохраняют веб-страницы в базу данных хранилища контента.

Парсер контента – это распределенный набор сервисов-парсеров, которые получают на вход агрегированные данные и извлекают из них структурированную информацию в соответствии с бизнес-правилами. Полученные в результате обработанные данные затем сохраняются в БД агрегированного контента. Так же, как и БД с загруженными страницами, БД агрегированного контента является реляционной базой данных (PostgreSQL [101]). В системе повсеместно используется master-slave репликация для обеспечения отказоустойчивости и стабильной работы.

Классификатор извлекает обработанные данные из БД агрегированного контента и добавляет их для последующей обработки в очередь классификации (RabbitMq [102]). Очередь сообщений в данном случае используется для масштабирования нагрузки, т. к. объем обрабатываемой информации очень велик.

7.3. Предварительная обработка

Модуль предварительной обработки автоматически извлекает HTML-данные из очереди сообщений, поступивших на классификацию, и производит дальнейшую предварительную обработку, цель которой – облегчение дальнейшей работы механизма категоризации.

Рисунок 3. Архитектура модуля предварительной обработки

Архитектура модуля предварительной обработки показана на рисунке 3.

Как следует из рисунка 3, архитектура модуля предварительной обработки состоит из отдельных приложений, выполняющих удаление HTML-разметки, приведение к нижнему регистру, удаление стоп-слов, стемминг [103], удаление знаков пунктуации, лемматизацию, а также извлечение ключевых слов с использованием алгоритма TF-IDF [104].

7.4. Классификатор спама

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

Например, в исследовании [105] описан фреймворк для гетерогенного обучения на основе cost-based методов, которые применяются для обнаружения спама в сообщениях Twitter и представляют собой сочетание работы экспертов и алгоритмов машинного обучения, отвечающих за фильтрацию спама в сообщениях.

В статье [106] спам-сообщения были идентифицированы с помощью ИИ на основе алгоритмов глубокого обучения. Исследователи применили шесть моделей обучения и обнаружили, что XGBoost [107] имеет лучшую производительность среди моделей машинного обучения при определении спама.

Классификатор спама, входящий в состав предлагаемой системы, основан на поведенческом методе, описанном в [108], который совмещает подход, основанный на правилах, с нейросетевой обработкой. Данный метод использовался авторами указанного исследования для решения задач обнаружения спама в электронных письмах. Архитектура предлагаемого классификатора спама показана на рисунке 4.

Рисунок 4. Архитектура классификатора спама

Классификатор спама работает следующим образом: при поступлении новой партии агрегированного контента запускается анализ входного текста на предмет наличия внешних ссылок, занесенных в спам-список. При обнаружении совпадений на этом этапе данные считаются спамом и сохраняются в БД со спамом.

Следующим шагом является обработка на основе правил, в которой используются знания предметной области из базы знаний. Если данные определяются как спам, то они снова сохраняются в БД со спамом.

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

7.5. Классификатор на основе алгоритма нечетких отпечатков

Весь агрегированный контент должен иметь основные категории, соответствующие общему содержанию смысла. Кроме того, есть более конкретные подкатегории. Например, для категории «Спорт» возможны подкатегории «Хоккей» или «Футбол».

Для этого используется классификатор на основе алгоритма нечетких отпечатков (Fuzzy fingerprints classifier), определяющий основные категории для каждого типа агрегированного контента. Для таких типов контента, как статьи и блоги, которые содержат большое количество текстовых данных, этот модуль применяет алгоритм нечетких отпечатков [109]. В случае комментариев и обзоров, которые менее многословны, используется алгоритм Twitter Topic Fuzzy Fingerprints [93].

Для определения основной категории анализируемого контента создается его отпечаток на основе наборов обучающих данных, содержащих объекты с известной категорией. Созданные отпечатки сохраняются в базу данных PostgreSQL.

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

7.6. Классификация на основе атрибутов и SVM-классификация

Идея использования классификатора на основе атрибутов была заимствована из конструкции экспертной системы GENIE [94]. Это основанный на правилах процесс, который находит подкатегории обработанных документов в соответствии с их свойствами и на основе основной категории, найденной на предыдущем этапе с помощью классификатора нечетких отпечатков.

На последнем этапе обработки данных используется SVM-классификатор, реализованный на основе метода опорных векторов (support vector machine, SVM) [110, 111]. SVM-классификатор ищет совпадения для извлечения подкатегорий, которые могли быть пропущены классификатором на основе атрибутов.

8. Заключение

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


Вы ознакомились с фрагментом книги.
Для бесплатного чтения открыта только часть текста.
Приобретайте полный текст книги у нашего партнера:
Полная версия книги
(всего 10 форматов)