Архитектура адаптивных информационно-аналитических систем в эпоху Big Data и Deep Learning. Часть 1. | Мнение специалиста от 16 января 2017 года | Конструктивная кибернетика

Архитектура адаптивных информационно-аналитических систем в эпоху Big Data и Deep Learning. Часть 1.


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

Тем не менее, для эффективного использования потенциала Big Data и Deep Learning, информационно-аналитические системы должны обладать специальной архитектурой, учитывающей не только особенности данных технологий, но и ряд иных факторов. Как показал наш опыт успешной разработки адаптивных (интеллектуальных) информационно-аналитических систем, в большинстве случаев, их базовая архитектура является достаточно унифицированной. Об этой унификации и пойдёт речь ниже, правда, учитывая объёмность темы, в сугубо конспективном виде. Но прежде, следует отметить, что под предложенный конструктив замечательно укладываются следующие области применения (по многим из них у нас есть реальный опыт разработки и проектирования):

  • On-line магазины.

  • Банковское обслуживание.

  • Страховые услуги.

  • Управление медицинскими услугами и ресурсами.

  • Сайты знакомств и общения по интересам.

  • Сервисы купли-продажи, обмена.

  • Заказ туристических услуг.

  • Аренда жилья, оборудования.

  • Разнообразные рекомендательные сервисы.

  • Информационно-аналитические системы специального назначения.

Далее, для краткости, информационно-аналитическую систему, реализующую потенциал технологий Big Data и Deep Learning, будем называть «Системой». Также дадим ряд исходных определений:

  • Объект – совокупность неких продуктов, которыми оперирует «Система» в части реализации той или иной бизнес-услуги. В «Системе» Объекты представимы конкретными сущностями, с возможностью отчуждения от других сущностей (независимый поиск и/или заказ). Видоизменение состава Объектов возможно только в рамках их Компонентов.

  • Компонент Объекта – совокупность дополнительных свойств (опций) Объекта, которые можно отменять/изменять при поиске и/или заказе. Компоненты Объекта доступны только в составе Объекта, и не могут быть выбраны (заказаны) отдельно от него.

  • Предложение – совокупность Объектов, состав и параметры которых, и их увязка, в пределах некоторых отклонений, соответствуют запросам Пользователя.

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

  • Заказ – выбранное Пользователем конкретное Предложение и оплаченное (забронированное). В этом случае Пользователь становится Покупателем.

Для «Системы», как правило, вводится три основных класса агентов – субъектов, взаимодействующих с «Системой»:

  • Пользователь – агент осуществляющий взаимодействие с «Системой», в рамках её целевого функционала.

  • Аналитик – агент осуществляющий взаимодействие с «Системой», в рамках её дополнительного функционала.

  • Администратор – агент осуществляющий управление «Системой».

Итак, «Система» – это аппаратно-программный комплекс, взаимодействующий с Пользователем через интерфейс интернет браузера.

Основной функционал «Системы» – это поиск и отбор тех или иных Объектов, формирование из них некоего Предложения, максимально релевантного запросам Пользователя, ранжирование Предложений, далее (если предусмотрено): оформление Заказа, оплата Заказа и его сопровождение (отмена, перенос, отзывы, и т.п).

Дополнительный функционал «Системы» – это автоматическая и/или автоматизированная многопараметрическая статистическая обработка целевых данных циркулирующих в «Системе».

С учётом вышеизложенного, обобщённая структурно-функциональная схема «Системы» представляется в виде, приведенном на рисунке.

Структурно-функциональная схема «Системы».

Данная схема не включает в себя вторичные компоненты (типа оформления, бронирования и сопровождению Заказа), так как, во-первых, не у всех информационно-аналитических систем этот функционал присутствует, а, во-вторых, их реализация (при необходимости), в большинстве случаев, является отработанной инженерной задачей. В свою очередь, схема демонстрирует именно решение сложной задачи интеллектуального поиска и формирования Предложений из Объектов, а также решения аналитической задачи в рамках дополнительного функционала «Системы». Из вышеприведённого рисунка видно, что «Система» является комплексной и должна состоять из нескольких основных компонент, которые рассматриваются далее.

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

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

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

Также вполне возможно, для каких-то отдельных типов сервисов, применение простого текстового интерфейса, по аналогии с вновь набирающими популярность кроссплатформенными мессенджерами, при этом сам сервис может быть оформлен в виде «бота».

Система «Монитор» предназначена для сбора и первичной обработки информации, позволяющей провести идентификацию личности Пользователя. Система «Монитор» стартует первой, при инициировании соединения web-браузера Пользователя с сервером «Системы». Обобщённый алгоритм её функционирования приведён на рисунке.

Структурно-функциональная схема системы «Монитор».

Система «Идентификация» предназначена для идентификации личности Пользователя на уровне, как минимум, конкретного уникального для «Системы» ID, а в случае наличия зарегистрированного в «Системе» уникального Login, то повышение степени раскрытия личности Пользователя до данного уровня. Кроме того, для уже идентифицированного ID или Login, система «Идентификация» должна формировать так называемые «Поведенческие отпечатки», позволяя распознавать варианты множественного пользования одним аккаунтом, изменение в поведении (статусе) Пользователя, факт взлома аккаунта, ботов, и т.п.

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

  • Исключительно Анкетный вариант. В данном случае Пользователь последовательно отвечает на вопросы анкеты, причём ответы являются типовыми, зашитыми в логику опросной системы. Режим является наиболее формальным, вопросы формулируются в закрытой форме.

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

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

Система «Предложения» предназначена для отбора доступных Объектов и формирования из них Предложений, релевантных запросам Пользователя. Режим функционирования зависит от предпочтений Пользователя, полноты задания исходных данных, выбирается автоматически. В общем случае режим является смешанной комбинацией трёх чистых стратегий:

  • Range – отбор Объектов ведётся через жёстко заданные диапазоны значений параметров и логическую их непротиворечивость. Подход является в чистом виде рациональной стратегией.

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

  • Random – для отбора Объектов применяется управляемый случайный поиск с ограничениями на логическую непротиворечивость. Подход является в чистом виде эмпирической стратегией.

Система «Логирование» предназначена для сведения всех целевых действий, актов и состояний компонентов «Системы» в единое структурированное информационное пространство (с привязкой по времени).

Система «Адаптация» предназначена для подстройки алгоритмов генерации Предложений и структур Диалогов, а также алгоритмов деанонимизации и идентификации Пользователя на основании его реакций (для чего также контролируются интерфейсные элементы и пассивные действия Пользователя). Помимо этого, система «Адаптация» предназначена для формирования, на основе статистической обработки информации, предложений по новым Объектам, для чего также сканируются социальные сети, электронные СМИ и целевые web-ресурсы.

Система «Формализация» (обозначена на первом рисунке буквой «Ф») предназначена для формализации и конвертирования различных данных, циркулирующих в «Системе» в соответствующие представления и форматы.

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

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

Окончание следует.

16 января 2017 года.

Андрей Макаренко,
группа «Конструктивная Кибернетика».

Обсуждение: contact@rdcn.ru

Ключевые слова: Интеллектуальные информационно-аналитические системы, информационные сервисы, адаптация, большие данные, машинное обучение, глубокое обучение.