УДК 681.3
РАЗРАБОТКА МНОГОАГЕНТНОГО ПК ИНТЭК-М ДЛЯ ИССЛЕДОВАНИЙ ПРОБЛЕМЫ ЭНЕРГЕТИЧЕСКОЙ БЕЗОПАСНОСТИ
(Работа выполнена при частичной поддержке грантов РФФИ № 08-07-00172а, № 10-07-00264 и гранта Программы Президиума РАН № 2.29)
Д.А. Фартышев
(Институт систем энергетики им. Л.А. Мелентьева СО РАН, г. Иркутск, denisfart@gжail. сож)
Рассматриваются методологические и технические аспекты проектирования и реализации многоагентного программного комплекса ИНТЭК-М для исследований проблемы энергетической безопасности России. Сервис-ориентированная архитектура, Java и XML технологии являются определяющими концепциями при реализации ИНТЭК-М.
Ключевые слова: энергетическая безопасность, многоагентные технологии, SOA, разработка программного обеспечения, Java, XML, SOAP.
Институт систем энергетики им. Л.А. Мелентьева СО РАН (ИСЭМ СО РАН) является признанным лидером в области системных исследований в энергетике как в нашей стране, так и за рубежом. В ИСЭМ СО РАН ведутся комплексные исследования, важную роль среди них играют исследования проблемы энергетической безопасности (ЭБ). Под ЭБ понимается защищенность жизненно важных энергетических интересов личности, общества и государства от внутренних и внешних угроз (бесперебойное обеспечение потребителей экономически доступными топливно-энергетическими ресурсами (ТЭР) приемлемого качества: в нормальных условиях - обеспечение в полном объеме обоснованных потребностей, в чрезвычайных ситуациях - гарантированное обеспечение минимально необходимого объема важных потребностей) [1]. Под исследованиями проблемы ЭБ в данной работе понимаются исследования направлений развития ТЭК с учетом требований ЭБ.
Традиционно для исследований проблемы ЭБ, основными инструментами которых являются математическое моделирование и вычислительный эксперимент, в ИСЭМ СО РАН разрабатывались пакеты прикладных программ и БД. В разработке современного ПО прослеживаются четкие тенденции интеллектуализации программных средств, избавляющих специалистов от выполнения множества рутинных операций и предоставляющих возможность более эффективно заниматься вопросами стратегического планирования и полностью сосредоточиться на задаче, не отвлекаясь на продумывание средств ее реализации.
Реализация в ИСЭМ СО РАН ИТ-инфраструктуры научных исследований создала предпосылки для использования таких современных и открытых технологий, как Web--сервисы. Одной из основных идей поддержки исследований развития ТЭК является повышение уровня интеллектуализации и адаптивности инструментальных средств [2]. Применение технологии Web-сервисов само по себе не может оказать влияние на повышение уровня интеллектуализации инструментальных
средств для поддержки исследований, поэтому автор предлагает использовать многоагентные технологии, которые зародились на пересечении теории систем и искусственного интеллекта и в последнее время получили широкое распространение [3].
Методический подход к разработке многоагентных программных комплексов
Предлагается использовать концепцию многоагентных систем на основе архитектуры, ориентированной на сервисы (Service-Oriented Architecture, SOA), где проблема представления знаний решается с помощью онтологий. Концепция создания программ, которые могут существовать автономно или взаимодействовать друг с другом в рамках как отдельно выделенной системы, так и с внешними информационными системами, прекрасно сочетается с техническими возможностями, предоставляемыми SOA.
Автором разработан оригинальный методический подход к построению многоагентных программных комплексов (МПК) для исследований в энергетике, включающий:
• методику построения и разработки МПК, ориентированную на создание ПО нового поколения;
• сервис-ориентированную архитектуру МПК, использование которой позволяет рассматривать отдельных агентов как сервисы, из которых строится приложение;
• модели данных и алгоритмы обработки данных, являющиеся основой универсальных системных программных компонентов, которые могут использоваться при построении МПК.
Предлагаемая автором методика совмещает агентную концепцию и объектно-ориентированный подход к разработке ПО и является руководством, следуя которому, можно разработать МПК. Методика включает следующие основные этапы:
1) формулирование назначения (цели разработки);
2) составление вариантов использования (прецеденты - use cases) ПК;
3) определение состава, а также основных и вспомогательных функций агентов;
4) определение типа и основных свойств среды функционирования агентов;
5) уточнение состава агентов и распределение функций между агентами, выбор архитектур агентов;
6) выделение базовых взаимосвязей (отношений) между агентами;
7) определение возможных действий (операций) агентов;
8) построение архитектуры МПК;
9) тестирование разработанного МПК;
10) интеграция многоагентного ПК в ИТ-инфраструктуру исследований в энергетике.
Сервис-ориентированная архитектура является одной из ключевых концепций в плане реализации МПК. Представление отдельных агентов в виде сервисов дает преимущества, например, использование взаимопомощи, многократное использование агентов и т.д. Если рассматривать архитектуру МПК с точки зрения реализации, ее можно представить в виде распределенной архитектуры клиент-сервер (рис. 1), в которой центральный элемент - сервер приложений.
файловое хранилище
Сервер приложений
^ 5RV1 5RVZ ^-LsOAP-l-»^ 5RV3 ^
XML/HTTP
XML/HTTP
XML/HTTP
^ CHI ^ j ' ^ CLIZ ^ I I ^ CLI3 ^
Рис. 1
Таким образом, с точки зрения физической реализации агентом является конкретное приложение, состоящее из клиентской (потребитель сервиса) и серверной (поставщик сервиса) частей.
Основная задача клиентской части агента -обеспечение дружественного пользовательского интерфейса, посредством которого исследователь получает доступ ко всем функциональным возможностям агента, реализованным главным образом в его серверном компоненте. Доступ к данным и знаниям выполняется посредством связи агентов с репозитарием по протоколу SOAP (Simple Object
Access Protocol) либо с использованием языка SQL (Structured Query Language). Связь агентов друг с другом осуществляется также по протоколу SOAP, однако взаимодействие клиентской и серверной частей агента может происходить по-разному: например, с помощью удаленного вызова процедур через HTTP (Hyper-Text Transfer Protocol) c использованием XML (XML-Remote Procedure Call) или протокола SOAP, хотя по такому принципу функционирует большинство систем этого класса и различия в реализации и процедуре обмена не оказывают существенного влияния на его суть.
Для реализации МПК с применением SOA необходимо использовать все три компонента указанной архитектуры: реестр, провайдер сервисов, потребитель сервисов. Под реестром понимают компонент, отвечающий за публикацию служб и хранение ссылок на зарегистрированные службы. Он используется провайдерами и потребителями сервисов для регистрации и нахождения служб соответственно. В качестве реестра сервисов применяют существующий репозитарий ИТ-инфраструктуры [4].
Как универсальные системные компоненты, лежащие в основе МПК для исследований в энергетике, можно рассматривать:
• новый стандарт представления и хранения информационных моделей ТЭК, используемых в исследованиях проблемы ЭБ;
• службу загрузки и выгрузки информационных моделей в репозитарий ИТ-инфраструктуры;
• службы организации обмена сообщениями между агентами;
• службы интеграции агентов.
МПК ИНТЭК-М
На основе авторской методики в соответствии с разработанной архитектурой выполнены проектирование и реализация МПК ИНТЭК-М для исследований проблемы ЭБ.
В основе создания ИНТЭК-М лежит распределение функций между отдельными агентами. Такой ПК по сути представляет собой системные компоненты (указанные выше) и совокупность интеллектуальных и традиционных компонентов (агентов), каждый из которых решает свою задачу.
Общая схема работы агентов, реализующих полную схему проведения вычислительного эксперимента для исследований направлений развития ТЭК с учетом требований энергетической безопасности, представлена на рисунке 2.
Каждый из реализованных агентов ИНТЭК-М решает задачи, соответствующие тому или иному этапу вычислительного эксперимента. Главным достоинством предлагаемого подхода является независимость от последовательности этапов проведения вычислительного эксперимента, которая обеспечивается автономностью и мобильностью отдельно взятого агента.
Агент задания чрезвычайных ситуаций, основная цель которого - автоматическое сопоставление вербальных формулировок сценариев чрезвычайных ситуаций их числовым интерпретациям в модели, предоставляет исследователю возможность накапливать, классифицировать, конфигурировать и применять различные типы чрезвычайных ситуаций в ходе вычислительного эксперимента. Пользовательский интерфейс агента представлен на рисунке 3.
Агент формирования сценария развития ТЭК - конструктор, позволяющий исследователям формировать дерево вариантов развития ТЭК, которое является основой при проведении вычислительного эксперимента (рис. 4).
Агент формирования информационных моделей и внесения корректировок предоставляет исследователю средства удобной и эффективной работы с информационными моделями ТЭК, включая их создание с «чистого листа». Пользовательский интерфейс агента представлен на рисунке 5.
Агент-вычислитель - реализованный сторонними разработчиками свободно распространяемый программный продукт для решения задачи линейного программирования (lpsolve [5]) включен в состав ИНТЭК-М, поскольку при исследовании направлений развития ТЭК с учетом требований ЭБ традиционно решается общая задача линейного программирования.
Агент формирования отчетов, основной задачей которого является построение различных табличных отчетов и их графических представлений, содержащих интересующие исследователя показатели результатов вычислительного эксперимента, предоставляет возможность как агрегированного анализа расчетов, так и более детального, а также наглядного сравнения нескольких вариантов расчетов.
Благодаря использованию таких современных, открытых и стандартизованных технологий, как Java и XML, агенты ИНТЭК-М приобретают дополнительное свойство мобильности, которое является одним из неотъемлемых для агентов в мно-гоагентной системе.
Совместно с экспертами-энергетиками автором был проведен вычислительный эксперимент по оценке возможных дефицитов топливно-энергетических ресурсов и их компенсации в критической ситуации. В качестве критической ситуации рассматривалась холодная зима в Центральном федеральном округе.
В заключение следует отметить, что основными преимуществами ИНТЭК-М являются единая идеология и технология разработки, адаптивность к изменениям схемы проведения вычислительного эксперимента, кроссплатформенность, предпосылки к распараллеливанию, интеграция в ИТ-инфраструктуру.
Эффективность использования разработанного ПК ИНТЭК-М для поддержки исследований проблемы ЭБ России и ее регионов на настоящем этапе можно оценить качественно: созданный новый инструмент обеспечивает исследователю более удобную и психологически комфортную работу, что подтверждается многими экспертами.
МПК ИНТЭК-М и его системные компоненты могут служить базой для создания других МПК для исследований в энергетике.
Литература
1. Бушуев В.В., Воропай Н.И., Мастепанов А.М., Шафраник Ю.К. Энергетическая безопасность России. Новосибирск: Сибир. издат. фирма РАН «Наука», 1998. 302 с.
2. Fartyshev D.A., Arshinsky V.L., Massel L.V. Intellectual information technologies in energy security problem research // Proceedings of the 11-th International Workshop on Computer
Science and Information Technologies, 2009. Vol. 1, рр. 25-28.
3. Аршинский В.Л., Массель А.Г., Фартышев Д.А Муль-тиагентный программный комплекс для исследований проблемы энергетической безопасности // Информ. и матем. технологии в науке и управлении: тр. XIV Байкальской всерос. конф. Иркутск: ИСЭМ СО РАН, 2009. Ч. 3. С. 283-289.
4. Massel L.V., Kopaygorodsky A.N., Chernousov A.V. IT-infrastructure of research activities realized for the power engineering system researches // X International Conference «Computer Science and Information Technologies», 2008, рр. 106-111.
5. Официальный сайт разработчиков lp_solve. URL: http://lpsolve.sourceforge.net/ (дата обращ ения: 10.12.2009).
УДК 002.53:004.65, 002.53:004.62/.63
АВТОМАТИЧЕСКАЯ СЕГМЕНТАЦИЯ ЗАПРОСОВ ИНТЕРНЕТ-МАГАЗИНОВ
Ю.Е. Киселева
(Санкт-Петербургский государственный университет, julianakiselevai@gmail.com)
Основным результатом данной работы является автоматический алгоритм для сегментации запросов пользователей, который трансформирует запрос с ключевыми словами в структурированный запрос. Получаемые сегментируемые запросы могут использоваться для совершенствования поисковой базы продуктов, улучшения качества ранжирования и предложения новых поисковых запросов. Результаты экспериментов доказывают высокую эффективность разработанной методики.
Ключевые слова: сегментация запросов, извлечение данных из текста, структурированные запросы.
Данная статья посвящена сегментации запросов, потенциально улучшающей качество поиска. Предложенный алгоритм в отличие от описанного в [1] и [2] позволяет создавать обучающее множество абсолютно автоматически. Основная идея сегментации состоит в том, чтобы автоматически и точно для каждого слова из запроса определить соответствующий ему атрибут. Например, зопу^ ^бренд, \ахо^модель, где бренд и модель - это атрибуты.
Для автоматического составления обучающего множества используется журнал щелчков пользователей и БД продуктов. На основе похожести слов из запроса и набора слов, которые описывают каждый атрибут в БД продуктов, выбирается наиболее релевантный атрибут для слова. Затем полученное множество размеченных запросов используется для обучения вероятностной модели для сегментации [3].
Результатом данной разработки является метод сегментации запросов, обученный на основе автоматически созданного входного множества.
Для оценки результата экспериментов в работе используются следующие основные метрики:
точность - отношение числа найденных релевантных документов к общему числу найденных документов в базе;
полнота - отношение числа найденных релевантных документов к общему числу релевантных документов в базе.
Разработанная система, реализующая алгоритм сегментации, показала, что предложенный алгоритм дает более высокие значения указанных выше метрик по сравнению с полученными ранее результатами, описанными в [1].
Описание системы
Эксперименты проводились на основе данных англоязычного интернет-магазина, собранных в течение сентября 2009 года. Рассматривались только запросы на продукты, относящиеся к категории «Компьютеры».
Разработанная система состоит из трех алгоритмических составляющих:
- автоматическая разметка запросов;
- обучение алгоритма сегментации;
- применение результатов сегментации к новым запросам.
Описываемый улучшенный автоматический метод имеет ряд преимуществ в сравнении с контролируемым и полуконтролируемым методами, применяемыми ранее в работах [1], [4]:
• не требует трудозатратного составления обучающего множества вручную, которое часто бывает неточным из-за человеческого фактора;
• легко адаптируется к любым изменениям в описании продуктов БД;
• для каждого предсказания возвращает меру, которая отражает то, насколько точен полученный результат (в статье эта метрика определяется как степень доверия и принимает значения в диапазоне от 0 до 1; ее можно использовать для получения более точного результата путем фильтрации результатов в зависимости от значения степени доверия).
Автоматическая разметка запросов
Рассмотрим следующую схему разметки: покупатели вводят запросы в поисковую систему магазинов, например, dell inspiron 15 250gb, sony