Development of a multi-agent intelligent system for solving problems of classification and ranking of materials on the Internet

Cover Page

Cite item

Full Text

Abstract

The article proposes an architectural solution for intelligent information systems based on a multi-agent approach and microservice architecture. An example of using the described solution in the development of an automated intelligent search system that solves the problem of thematic classification and ranking of various sources of information on the Internet is given. The advantages and disadvantages of the developed architectural solution are described.

Full Text

Введение

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

Прикладные исследования в области извлечения информации из различных источников ведутся с начала 1980-х годов, когда предпринимались попытки обработки новостных и военных текстов с целью выделения в них определённых событий [1]. Повсеместное внедрение технологий сделало сеть Интернет основным источником информации, что позволило создавать интеллектуальные системы, использующие его в качестве основного источника информации. Однако при решении данной задачи возникает ряд проблем:

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

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

Перспективным решением в создании современных интеллектуальных информационных систем являются системы с мультиагентной архитектурой. Многие распределенные информационные системы интеллектуального анализа данных строятся с использованием архитектуры на базе мультиагентных систем [2-5]. Мультиагентная система – система, состоящая из двух и более агентов, которые взаимодействуют друг с другом для достижения поставленных перед ними целей [6]. Под агентом будем понимать аппаратную или программную сущность, способную действовать самостоятельно в интересах достижения поставленных целей [7].

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

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

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

Постановка задачи

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

Таким образом, разрабатываемое архитектурное решение должно предусматривать выполнение следующих условий:

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

Описание решения

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

В составе разрабатываемого проектного решения можно выделить следующие микросервисы:

  • Requests (запросы) – хранит сложные запросы для поисковых систем с ключевыми словами;
  • Search (поиск) – выполняет запросы к поисковым системам (для каждой поисковой системы используется отдельный экземпляр микросервиса);
  • Filter (фильтр) – проксирует ссылки в загрузчик, исключая дублирующиеся ссылки и ссылки, ведущие на сайты СМИ;
  • Loader (загрузчик) – выполняет загрузку всех данных web-страницы по полученной ссылке;
  • DataStorage (хранилище – хранит все загруженные данные);
  • Analyzer (анализатор) – выполняет анализ элементов данных различными моделями машинного обучения (имеет различные имплементации для каждого из структурных элементов материала: текст, изображения, аудиофайлы);
  • Ranger (ранжировщик) – ранжирует полученные от анализатора оценки и формирует совокупную оценку материала;
  • Watcher (наблюдатель) – собирает данные обо всех сообщениях всех модулей.

Мультиагентная система подразумевает наличие сообщества автономно действующих агентов, которые решают общую задачу, взаимодействуя посредством сообщений (см. рисунок). В предлагаемом решении можно выделить два класса агентов: агенты-микросервисы и агенты-пользователи. Все перечисленные выше микросервисы являются агентами-микросервисами. То есть каждый агент связан с некоторой программной сущностью в системе. Важной особенностью этого класса агентов является возможность запуска необходимого количества экземпляров каждого агента при росте нагрузки. Агенты-пользователи – это эксперты различных уполномоченных органов государственной власти, а также представители молодежного движения «Киберждружины».

 

Рисунок. Упрощенная схема мультиагентной системы

 

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

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

Реализация агентов на примере агента «Analyzer»

Агент «Analyzer» подписан на топики «loaded_data», формируемые агентом «Loader». Поскольку элементы материала могут иметь различные типы (текст, изображения, аудиозаписи), то в системе используется несколько имплементаций данного агента. Каждый из агентов получает все сообщения от агента «Loader». Сообщения имеют поле «type_content», обозначающее тип содержащихся данных. Таким образом, каждый из экземпляров агента «Analyzer» обрабатывает только предназначенные ему сообщения. Для этого от модуля «Data» запрашивается соответствующий элемент материала, который анализируется, и в шину сообщений брокера выдается новое сообщение с топиком «loader_analysis». Выдаваемое сообщение содержит идентификатор материала, сведения о проанализировавшей его модели машинного обучения и полученные по каждой категории оценки (наркоторговля, терроризм, экстремизм и т. д.).

В зависимости от типа элемента материала различается алгоритм классификации:

  • для анализа текстовой информации в настоящий момент используются 3 модели машинного обучения: алгоритм «случайный лес», метод опорных векторов и наивный байесовский классификатор. Все модели реализованы с использованием свободной библиотеки машинного обучения scikit-learn. При этом модель на базе «случайного леса» выдает вероятность принадлежности текста к той или иной категории, а модели на основе метода опорных векторов и наивного байесовского классификатора – бинарную оценку;
  • анализ изображений реализован с использованием библиотеки машинного обучения PyTorch. В настоящий момент модель уверенно распознает изображения, относящиеся к нацистской символике, символике террористических и экстремистских организаций;
  • анализ аудиозаписей основан на сравнении характерных особенностей (fingerprint) спектральной картины файлов с имеющимися в базе данными о запрещенных аудиозаписях (из федеральных информационных систем).

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

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

Ранжирование материалов в системе

Необходимость ранжирования материалов в системе обусловлена двумя факторами:

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

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

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

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

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

Заключение

На основе предлагаемого проектного решения разработана SaaS-версия автоматизированной системы поиска и классификации информационных ресурсов в сети Интернет – автоматизированная информационная система «Поиск». На момент выхода статьи SaaS-версия системы прошла все регламентные этапы приемо-сдаточных испытаний и успешно введена в эксплуатацию. Она активно используется экспертами различных профильных органов власти Ханты-Мансийского автономного округа – Югры, органов местного самоуправления автономного округа, УМВД, прокуратуры, представителями молодежного движения «Кибердружины».

Разработанное техническое решение обладает следующими преимуществами:

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

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

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

×

About the authors

Vladimir V. Burlutsky

Ugra Research Institute of Information Technologies

Author for correspondence.
Email: burlutskyvv@uriit.ru

Head of the Center of Information and Analytical Systems

Russian Federation

Nizam D. Keramov

Ugra Research Institute of Information Technologies

Email: KeramovND@uriit.ru

Programmer of the Center of Information and Analytical Systems

Russian Federation

Vladimir A. Baluev

Ugra Research Institute of Information Technologies

Email: BaluevVA@uriit.ru

Programmer of the Center of Information and Analytical Systems

Russian Federation

Mansur I. Izert

Ugra Research Institute of Information Technologies

Email: IzertMI@uriit.ru

Programmer of the Center of Information and Analytical Systems

Russian Federation

Alexander V. Yakimchuk

Ugra Research Institute of Information Technologies

Email: YakimchukAV@uriit.ru

Lead Programmer of the Center of Information and Analytical Systems

Russian Federation

References

  1. Grishman, R. Information Extraction / R. Grishman // The Handbook of Computational Linguistics and Natural Language Processing / editors: A. Clark, C. Fox, S. Lappin. – WileyBlackwell, 2010. – P. 515–530.
  2. Кошур, В. Д. Реализация мультиагентной системы искусственного интеллекта для решения задачи классификации / В. Д. Кошур, В. И. Рожков. – Текст : непосредственный // Нейроинформатика-2019 : материалы международной научно-технической конференции. – Москва : Изд-во МФТИ, 2019. – Ч. 1. – С. 24–31.
  3. Lean, Yu. A Multi-Agent Neural Network System for Web Text Mining // Yu Lean, W. Shouyang, Lai Kin Keung // Emerging Technologies of Text Mining. – 2007. – Режим доступа: https://www.researchgate.net/publication/314457104_A_MultiAgent_Neural_Network_System_for_Web_Text_Mining (date of request: 07.10.2020).
  4. Camara, M. A Multi-Agent System with Reinforcement Learning Agents for Biomedical Text Mining / M. Camara, O. Bonham-Carter, J. Jumadinova // Proceedings of the 6th ACM Conference on Bioinformatics, Computational Biology and Health Informatics. – Atlanta, 2015. – P. 634–643.
  5. A Multi-Agent Architecture for Data Analysis / G. Lombardo, P. Fornacciari, M. Mordonini [et al.] // Future Internet. – 2019. – № 11. – P. 1–12.
  6. Weiss, G. Multiagent systems: a modern approach to distributed artificial intelligence / G. Weiss. – Cambridge : MIT Press; 1999. – 585 p.
  7. Wooldridge, M. An Introduction to MultiAgent Systems / M. Wooldridge. – 2nd edition. – Chichester, England : John Wiley & Sons, 2009.
  8. Ньюмен, С. Создание микросервисов / С. Ньюмен. – Санкт-Петербург : Питер, 2016. – 304 с. – ISBN 978-5-496-02011-4. – Текст : непосредственный.

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Figure. Simplified diagram of a multi-agent system

Download (107KB)

Copyright (c) 2020 Burlutsky V.V., Keramov N.D., Baluev V.A., Izert M.I., Yakimchuk A.V.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies