Содержание к диссертации
Введение
Глава 1 Анализ процесса информационного поиска и постановка задачи многоязыкового информационного поиска 10
1.1 Анализ процесса многоязыкового информационного поиска и выявление проблем его осуществления 11
1.1.1 Анализ многоязыкового информационного поиска 14
1.1.2 Индексирование документов и запросов 21
1.1.3 Проблемы индексирования 22
1.1.4 Язык индексирования
1.2 Критерии оценки систем информационного поиска 25
1.3 Анализ моделей оценки релевантности информационного поиска
1.3.1 Логическая модель 27
1.3.2 Векторные Модели 29
1.3.3 Вероятностные Модели 31
1.3.4 Модель логического вывода 33
1.4 Анализ применимости мультиагентной организации для реализации МИП 36
Выводы по главе 1 39
Глава 2 Исследование процесса многоязыкового информационного поиска и разработка его структурной модели 41
2.1 Структура документа 43
2.2 Способы анализа текстов при информационном поиске 45
2.2.1 Лексемизация 47
2.2.2 Удаления слов-остановок 48
2.2.3 Лемматизация 49
2.2.4 Оценка весов терминов 50
2.2.5 Нормирование весов терминов 53
2.2.6 Построение функции ранжирования
2.3 Разработка мультиагентной архитектуры системы МИП 56
2.4 Разработка модели информационного поиска для одного языка
2.4.1 Анализ применимости метаграфа в качестве модели 59
2.4.2 Анализ применимости нечеткого метаграфа в качестве модели .61
2.4.3 Модель одноязыкового информационного поиска в виде нечеткого метаграфа 63
2.5 Разработка модели многоязыкового информационного поиска 67
Выводы по главе 2 70
ГЛАВА 3 Разработка методики многоязыкового информационного поиска
3.1 Анализ применимости систем нечеткого логического вывода для оценки релевантности документов и формирование функций принадлежности и правил вывода 72
3.2 Алгоритм оценки релевантности документов с использованием систем нечеткого логического вывода 80
3.3 Экспериментальная оценка применимости систем нечеткого вывода Мамдани и Сугено для оценки релевантности документов при поиске на одном языке 82
3.3.1 Оценка результатов ранжирования с использованием СНЛВ Мамдани 85
3.3.2 Оценка результатов ранжирования с использованием СНЛВ Сугено 86
3.4 Разработка методики многоязыкового информационного поиска с помощью мультиагентной системы 90
Выводы по главе 3 91
Глава 4 Экспериментальное подтверждение результатов работы 93
4.1 Разработка экспериментальной системы 93
4.1.1 Программные платформы мультиагентной архитектуры 93
4.1.2 Реализация экспериментальной мультиагентной системы для одноязыкового информационного поиска 100
4.1.3 Реализация экспериментальной мультиагентной системы для многоязыкового информационного поиска 105
4.2 Оценка качества предлагаемой мультиагентной системы 107
Выводы по главе 4 116
Заключение 117
Список сокращений и условных обозначений 119
Литература 120
- Анализ моделей оценки релевантности информационного поиска
- Разработка мультиагентной архитектуры системы МИП
- Экспериментальная оценка применимости систем нечеткого вывода Мамдани и Сугено для оценки релевантности документов при поиске на одном языке
- Реализация экспериментальной мультиагентной системы для многоязыкового информационного поиска
Введение к работе
Актуальность темы
Объем специальной информации, относящейся к самым разным областям науки и техники, в интернете постоянно растет. Использование этой информации невозможно без эффективного инструмента поиска во всем доступном объеме данных. Такой инструмент должен искать интересующие пользователя-специалиста данные не только в специально структурированных, но и в неструктурированных документах на всех известных пользователю языках, т.е. осуществлять многоязыковый информационный поиск (МИП).
МИП ориентирован на представителей научного сообщества, знающих иностранные языки, а также иностранных студентов, обучающихся по самым разным направлениям.
Основным критерием качества для систем МИП в силу особенности их применения для поиска научной или учебной информации на нескольких языках являются не столько быстродействие, точность, полнота, как для обычных поисковых систем, сколько высокая релевантность первых полученных результатов. Под релевантностью при этом понимается семантическое соответствие поискового запроса и найденного документа.
Ведущие универсальные поисковые системы, такие как Google, Yandex и др. обеспечивают высокое быстродействие, точность и полноту поиска на языке запроса, но для получения результатов на заданных языках требуют изменения региона поиска и, следовательно, ввода отдельного запроса для поиска на каждом языке, а также не предполагают объединения и качественного ранжирования полученных результатов.
Немногочисленные существующие специализированные системы многоязыкового информационного поиска имеют существенные недостатки. Так, например система, предлагаемая Chandra Mohan, Sadanandam, Raju Korra (английский – французский – немецкий – хинди, 2013), имеет значительное время поиска и не предполагает ранжирования результатов, а в системе, разработанной Leyla Zhuhadar, Olfa Nasraoui, Robert Wyatt, Elizabeth Romero (английский – испанский, 2010) используются сложные методы ранжирования найденных документов, применение которых дополнительно увеличивает и так существенное время отклика системы. Также не существует многоязыковых поисковых систем, ориентированных на арабский и русский языки.
Следовательно, проблема создания методики многоязыкового информационного поиска с ранжированием полученных результатов по степени релевантности остается актуальной.
Вместе с этим практика последних лет показала, что при создании распределенных систем целесообразно использовать мультиагентную технологию. Это связано с тем, что мультиагентные системы обладают высокой гибкостью, хорошей масштабируемостью и повышенной надежностью. Указанные свойства явились решающими при выборе мультиагентной реализации системы
МИП. При этом эффективная реализация мультиагентной системы предполагает обоснованный выбор ее архитектуры, а потому выполнения соответствующих исследований.
Объектом исследования настоящей работы является система МИП, предметом исследования – релевантность результатов поиска поисковому запросу.
Цель работы
Повышение релевантности первых результатов многоязыкового информационного поиска в рамках применения мультиагентного подхода.
Задачи работы:
-
Анализ процесса МИП и выявление операций, которые должны быть выполнены в процессе поиска на заданных языках для получения результатов, ранжированных по степени релевантности запросу.
-
Выбор критерия качества МИП, дополнительного к традиционным: быстродействию, точности, полноте и др., который позволит оценить качество ранжирования результатов поиска.
-
Разработка архитектуры и реализации мультиагентной системы МИП.
-
Разработка структурной модели МИП, учитывающей мультиагент-ную реализацию поисковой системы.
-
Построение формальной процедуры оценки релевантности найденного документа по качественно заданным весам терминов в запросе и документе.
-
Разработка методики МИП, включающей ранжирование результатов поиска по степени релевантности документов.
-
Выполнение экспериментальных исследований и оценка их результатов.
Методы исследования
В работе использованы алгоритмы анализа текста (лексемизация – фильтрация – лемматизация), метод ранжирования документов на основе векторной оценки, структурная модель процесса МИП в виде нечеткого метаграфа, системы нечеткого логического вывода Сугено и Мамдани.
Научная новизна работы заключается в следующем:
-
Получена модель одно- и многоязыкового информационного поиска с использованием мультиагентной реализации в виде нечеткого метаграфа, выявляющая составляющие процесса поиска, их последовательность, а также возможности их комплексирования.
-
Разработана методика МИП, включающая предварительную обработку текстов, получение оценок релевантности с применением нечеткого логического вывода и ранжирование найденных документов.
-
Разработана многоагентная архитектура системы МИП, определены функции агентов и передаваемые сообщения, что позволило получить реализацию системы МИП с минимальным объемом передаваемых данных.
-
Предложен способ формализации вербальной оценки релевантности документов, полученная оценка использована для последующего ранжирования результатов поиска.
-
Предложено выполнять ранжирование результатов информационного поиска в случае одного или нескольких языков с использованием алгоритмов нечеткого логического вывода Мамдани и Сугено, что увеличило вероятность нахождения требуемых документов среди первых найденных по сравнению с существующими поисковыми системами.
Практическая ценность заключается в создании мультиагентной системы информационного поиска для трех языков: русского, арабского и английского. Разработанная система расширяет возможности поиска в Интернете и повышает его эффективность за счет сокращения количества вводимых запросов и ранжирования получаемых результатов.
Достоверность результатов работы обеспечена адекватностью используемых моделей, корректностью математических преобразований и подтверждена результатами проведенных экспериментов.
Внедрение результатов работы
Результаты работы в виде методики, а также аналитических и программных средств использованы в ряде хоздоговорных разработок НПЦ «ИНТЕЛТЕК ПЛЮС», а также в учебном процессе кафедры Компьютерные системы и сети МГТУ им. Н.Э. Баумана.
Апробация работы. Основные положения и результаты диссертационной работы представлялись и докладывались на:
-
II-ой Международной научно-практической конференции «Актуальные проблемы и перспективы развития радиотехнических и инфоком-муникационных систем «Радиоинфоком-2015», 14-18 апреля 2015 г., МИ-РЭА. Москва.
-
Конференции Евразийского Союза Ученых (ЕСУ), Москва, 2015.
-
XI-ой Международной научно-практической конференции «ИН-ФО-2013», 1-10 октября 2013 г., г. Сочи.
Публикации. Основные научные результаты диссертационной работы отражены в 9 статьях, в том числе 3 статьи – в журналах, включенных ВАК в Перечень ведущих.
Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, и содержит 130 страниц текста, 31 рисунок и 14 таблиц.
Анализ моделей оценки релевантности информационного поиска
В то время как ИП был активной областью исследований на протяжении многих десятилетий большая часть его истории имеет очень сильный уклон в сторону английского языка, как языка, выбранного для исследовательских целей и оценки. Какими бы они ни были на протяжении этих лет, многие мотивы за почти исключительную работу с английским языком, как языком ИП, они потеряли свою актуальность. Интернет уже больше не является одноязычным, и неанглоязычный контент значительно увеличивается. С 2005 года две трети всех пользователей сети Интернет оказались не говорящими на английском языке [4].
В действительности только одна пятая часть пользователей сети Интернет является носителем английского языка. Природа сети Интернет не знает каких 15 либо языковых границ. Люди из разных стран, говорящие на разных языках, используют сеть Интернет. Это однозначно мотивирует развитие и улучшение многоязычных методов ИП. Люди часто могут быть заинтересованы в релевантной информации на разных языках, которая получена с помощью одного процесса поиска с использованием многоязычных методов. Это также позволяет пользователям выражать потребности в информации на своих родных языках, тогда как результаты поиска могут быть на других [5].
Многоязычный ИП предполагает хорошее понимание вопросов, касающихся ИП на одном языке. Для малых европейских языков, таких как голландский и финский, затраты на разработку и поддержку языковой инфраструктуры относительно высоки. Но положение языков, для которых разработано небольшое количество вычислительных инструментов, будет осложняться в растущем глобальном обществе ввиду культурных и экономических причин [4].
Кроссязычный ИП является задачей поиска документов, релевантных запросу, на некотором языке (языке запроса) в наборе (собрании) документов на некотором другом языке (языке набора (собрания)).
Кроссязычный ИП является подобластью ИП, касающейся поиска информации, записанной на языке, отличном от языка пользовательского запроса. Например, пользователь может создать свой запрос на английском языке, а получить релевантные документы на французском. Для этого большинство систем кроссязычного ИП используют технологии перевода [5-7].
Система многоязычного ИП (МИП) помогает пользователям соствить запрос на одном языке и осуществлять поиск документов на более чем одном языке [5, 7, 8– 11].
Система МИП находит применение там, где набор данных состоит из документов на разных языках и пользователи системы ИП могут читать на некоторых языках, на которых написаны документы. В большинстве случаев люди в действительности имеют базовые навыки чтения и понимания на некотором другом языке, в отличие от их родного языка, на котором они обычно пишут поисковые запросы. Далее, если пользователи не понимают язык найденного документа, могут быть использованы системы машинного перевода (МП) для получения текста на родном языке пользователя. Рассмотрим многоязычные системы, о которых есть сведения в периодике.
Работа Zhuhadar L., Nasraoui O., Wyattand R., Romero E. [21]. Авторами используется метод перевода запроса для поиска документов на нескольких языках с техникой расширения для перевода по фразам. Они также использовали поисковики, применяющие модель векторного пространства для сопоставления терминов запроса с проиндексированными документами, где использовалось уравнение скоринга. Скоринговый алгоритм основан на представлении документов вектором. Каждое представление вектора-термина связано с каждым полем документа, для которого пользователь делает запрос на английском или испанском языке.
Работа Capstick, J., Diagne, A.K., etal. [21]. Система MULINEX – полностью реализованный многоязыковой поисковик и навигационная система для Всемирной паутины. Система позволяет пользователям искать и просматривать мультиязыковые собрания документов с использованием их родного языка, чтобы формулировать, расширять и уточнять запросы, просматривать набор результатов и читать найденные документы.
Этот мультиязыковой функционал получен благодаря использованию перевода запросов со словарем, категоризации документов на нескольких языках и автоматическому переводу аннотаций и документов. Система установлена в составе онлайн-служб двух компаний - Интернет контент и сервис провайдерах.
Работа Maeda A., Sadat F., etal. [21]. Сначала запрос переводится с родного языка пользователя на язык просматриваемых документов с помощью двуязычного словаря. При этом первоначальный запрос разделяется на слова с использованием морфологического анализатора. Затем каждое слово автоматически переводится на целевой язык с использованием машиночитаемого словаря.
Работа Qin J., Zhou Y., Chau M., Chen H. [21]. В системе принят словарно-ориентированный подход, сочетающий в себе перевод фраз, анализ совместного появления перед переводом и после расширение запроса. Подход был оценен доменными экспертами и результаты представлены таким образом, что достигается перевод предложений. Достигнут уровень в 74.6% улучшения точности при сравнении с простым переводом каждого слова.
Работа Sethuramalingam S., VasudevaVarma [21]. Языки: английский-хинди, хинди-английский, использован словарно-ориентированный перевод запросов. Для перевода применен подход соответствий, для ранжирования – алгоритм люцена (lucene) BM25. Работа ChandraMohan, Sadanandam, RajuKorra [21]. Здесь мультиязыковой словарь основан на переводе каждого слова запроса, а собрания на английском, французском, немецком и хинди обрабатываются системами ИП и МИП. Для перевода запросов был использован переводчик Google. При этом английский язык рассматривался как язык источника, а французский, немецкий и хинди – как целевые языки.
Разработка мультиагентной архитектуры системы МИП
ИП является одной из сфер, в которой успешно была применена мультиагентная организация. Информационный агент – агент, имеющий доступ к одному или нескольким источникам информации, который способен сохранять и обрабатывать информацию, полученную из этих источников, для того чтобы ответить на запросы пользователей или других информационных агентов [41].
Источники информации могут быть разных видов, включая веб-сервисы, веб-сайты и традиционные базы данных. ИП, без сомнения, сложная область, и агентно-ориентированные вычисления являются перспективным подходом для разработки приложений в сложных областях. Однако, несмотря на большое количество исследований на протяжении многих лет, ряд задач все еще нужно решить, чтобы сделать агентно-ориентированные вычисления широко принятой парадигмой разработки программного обеспечения и превратить абстракции агентно-ориентированного программного обеспечения в прикладные инструменты для преодоления сложностей в современных прикладных областях. В литературе предложено несколько централизованных агентских архитектур для выполнения задач информационного поиска. Среди прочего можно назвать NewT [16], Letizia [17], WebWatcher [18], SoftBots [19], WebWatcher and SoftBots. NewT [16] была создана как сообщество интерфейсных агентов фильтрации информации, которые получают настройки пользователя и действуют от его имени. Для фильтрации информации агенты используют алгоритм фильтрации по ключевому слову, в то время как принятые адаптивные методы являются обратной связью по релевантности и генетическим алгоритмам.
Letizia [17] является умным интерфейсным пользовательским агентом, помогающим пользователю просматривать веб-страницы. Поиск информации приводит к кооперативной работе пользователя и программного агента: оба просматривают одно и то же пространство поиска связанных веб-документов в целях найти интересующие пользователя.
WebWatcher [18] является поисковым агентом, который переходит по гиперссылкам согласно интересам пользователя, возвращая список отмеченных ссылок. В отличие от систем-помощников, при просмотре веб-страниц или поиске информации SoftBots [19] берет на себя функции пользователя и динамически синтезирует необходимую последовательность команд сети Интернет на соответствующем языке.
Несмотря на то что централизованный подход может иметь некоторые преимущества в задачах информационного поиска, он может столкнуться с несколькими проблемами, в частности, как масштабировать архитектуру для большого числа пользователей, как предоставить высокую доступность в случае постоянного спроса задействованных служб, а также как предоставить высокое доверие в случае конфиденциальной информации, такой как персональные данные. В этой связи в литературе были предложены подходящие мультиагентные системы для решения задач информационного поиска. К таким системам относятся CEMAS [50], агенты ИП [51] и кооперативная мультиагентная система для информационного поиска в веб, предложенную в [52]. В CEMAS (Concept Mulit-Agent System) основная идея заключается в том, чтобы иметь специализированных агентов для каждой ключевой задачи: (i) обмен понятиями и связями, (ii) представление пользователя, (iii) поиск новых релевантных документов, совпадающих с существующими понятиями, и (iv) координация агентов.
ИП агенты реализуют мультиагентную модель на основе XML для ИП. Соответствующая платформа составлена из агентов трех типов: (i) управляющие агенты для извлечения семантики информации и осуществления актуальных задач агентов-координаторов, (ii) интерфейсные агенты, разработанные для взаимодействия с пользователями, и (iii) поисковые агенты для поиска нахождения информации в Веб. Наконец в [12] основная идея заключается в принятии умных агентов, которые имитируют поведение пользователей, ищущих информацию. В этих целях агенты могут создавать профили пользователя для того, чтобы предвидеть и достигать его/ее предпочитаемые цели.
Эта глава посвящена изучению путей увеличения релевантности документов – результатов, полученных автоматизированной системой ИП во Всемирной паутине. Для этого необходимо выполнить анализ операций одно и многоязычных информационных поисков. Начать такое рассмотрение в разделе 2.1 целесообразно с анализа структуры документа. После этого необходимо обсудить способы увеличения производительности информационного поиска в разделе 2.2. Раздел 2.3 содержит описание разработки модели информационного поиска для одного языка. Также разработка модели многоязыкового информационного поиска будет представлена в разделе 2.4.
Текстовые документы, хранящиеся в веб, разделены на два класса: структурированные и неструктурированные. Структурированные документы имеют хорошо определенную иерархическую структуру, такую как названия, разделы, четко отмеченные одно- или многоуровневыми заголовками. Другие атрибуты, создающие иерархию, – раздельные цвета, подчеркивания, полужирное начертание и т. д. Также рассмотрены неструктурированные документы (плоские (флэт) документы), которые не будут иметь эти атрибуты. Эти типы документов обычно имеют заголовок, но после него содержимое не организовано каким-либо структурированным способом [13].
Неструктурированная информация обычно представляет собой сплошной текст, но может содержать данные, такие как даты, числа, факты и т. п. Это приводит к нарушениям, двусмысленностям, которые делают трудным для понимания использование традиционных компьютерных программ для сравнения данных, хранящихся в полях баз данных или аннотированных (семантически помеченных) в виде документов.
Неструктурированная информация, возможно, имеет некоторую структуру (полуструктурированная) или даже высокоструктурированна, но способами, которые могут быть непредвиденными или необъявленными, или же неструктурированные данные могут включать книги, журналы, документы, метаданные, медицинские записи, аудио, видео, аналоговые данные, изображения, файлы и неструктурированные тексты, такие как тела сообщений электронной почты, веб-страницы или документа текстового процессора.
Во время передачи основное содержание не имеет определенной структуры и обычно запаковано в объекты (файлы или документы), которые сами имеют структуру и, таким образом, являются сочетанием структурированных и неструктурированных данных, но в совокупности по прежнему называются «неструктурированными данными». Например, размеченная HTML-страница, но HTML-разметка обычно служит только для визуализации. Это не отражает значение или функциональность помеченных элементов таким образом, чтобы поддерживать автоматическую обработку информационного содержимого страницы.
Экспериментальная оценка применимости систем нечеткого вывода Мамдани и Сугено для оценки релевантности документов при поиске на одном языке
Подходящим для данного исследования является произведение prod. Оно значительно лучше подходит теоретически, поскольку с помощью оператора произведения выходное значение определяется всеми особенностями условий, а не только минимумом.
Таким образом, фазификация преобразовывает четкие входные данные в лингвистическую переменную, используя функции принадлежности, хранящиеся в нечеткой базе знаний [94], [95], [96].
В процессе фазификации, функции принадлежности, определенные для входных переменных, применяются к их реальным значениям, так что для каждого правила может быть определена условная степень истинности: - нечеткие выражения антецедентов разрешаются как степень принадлежности между 0 и 1; - если имеется только одна часть антецедента, то это является степенью поддержки правила; - если имеется несколько частей антецедента, то применение нечетких логических операторов позволяет получить антецедент как единственное число между 0 и 1.
Соответственно для данного исследования необходимо использование СНЛВ и представление переменных запросов и документов в выражении (2.9) как входов для фазификации. Фазификация преобразовывает четкие входные данные w(t,q), w(t,d) в лингвистическую переменную, используя функции принадлежности. Значения w(t,q), w(t,d) должны быть использованы в правилах в антецедентах IF и консеквентах THEN. Например: Если w(t,q) – высокий и w(t,d) – высокий, то (балл высокий). После того как входы были фазифицированы, становится известной часть антецедента, которая удовлетворяет каждому правилу. Если антецедент данного правила состоит более, чем из одной части, то применяется нечеткий оператор для получения числа – результата антецедента для этого правила [95], [97].
В процессе вывода: - значение истинности для условий каждого правила вычисляется и применяется к заключительной части каждого правила; - эти результаты в одном нечетком множестве присваиваются каждой выходной переменной для каждого правила. Если антецедент является лишь частично истинным (например, присвоено значение меньше чем 1), то выходное нечеткое множество усекается в соответствии с методом импликации.
Если консеквент правила имеет несколько частей, то все консеквенты в равной степени отражаются на результате антецедента. Консеквент характеризует нечеткое множество, которое будет присвоено выходу. Функция импликации модифицирует это нечеткое множество до степени, указанной антецедентом.
В качестве примера для проверки правила: Если w(tj,q) высокий и w(tj,d) высокий (балл большой). В этом случае вход нечеткого оператора имеет два значения принадлежности, полученных от фазифицированных входных переменных: например, w(tj,q) имеет оценку 0.6 принадлежности нечеткому множеству «высоко» и w(tj,d) имеет оценку 0.65 принадлежности нечеткому множеству «высоко». Для правил СНЛВ был выбран нечеткий оператор «произведение», такой что результат будет 0.6 0.65=0.390. Эта процедура применяется к каждому правилу и называется методом импликации приложений. Входом процесса импликации является число, данное антецедентом и выходом нечеткого множества.
Результатом применения метода импликации является нечеткое множество, представленное функцией принадлежности, которая взвешивает правила, соответствующие лингвистическим характеристикам. Нечеткий оператор «И» можно рассматривать как местную агрегацию условий правила. После оценки результата по каждому правилу эти результаты должны быть объединены для получения окончательного результата.
Дефазификация – это процесс, в котором выходы каждого правила объединяются в единое нечеткое множество. Входом процесса объединения (агрегации) является список усеченных выходных функций, возвращаемых процессом импликации для каждого правила. Выходом процесса агрегации является одно нечеткое множество для каждой выходной переменной. Все нечеткие множества, присвоенные каждой выходной переменной, объединены вместе в виде одного нечеткого множества для каждой выходной переменной с использованием нечеткого оператора агрегации.
Существуют различные методы дефазификации, такие как центроид, биссектриса, средний максимум (средний максимум значения выходного множества), наибольший максимум и наименьший максимум [84],[88],[98] .Наиболее часто используемые методы показаны в таблице 3.2.
Реализация экспериментальной мультиагентной системы для многоязыкового информационного поиска
Три ключевые необходимые роли были введены в агентскую платформу. Система управления агентом является агентом, который осуществляет контроль доступа и использования платформы. Он отвечает за аутентификацию резидентных агентов и управление регистрациями. Канал коммуникации агентов является агентом, который предоставляет путь для базовых контактов между агентами внутри и вне платформы. Это базовый метод коммуникации, который предоставляет надежную, упорядоченную и точную службу расписания сообщений. Он должен поддерживать протокол IIOP (Internet Inter-Orb Protocol) для взаимозаменяемости между разными агентским платформами. Менеджер каталогов является агентом, предоставляющим сервис справочников агентам платформы. Заметим, что отсутствуют ограничения для реальной технологии, использованной при реализации платформы: платформа на основе электронной почты, CORBA (Common Object Request Broker Architecture), многопоточные Javа-приложения могут соответствовать стандартам FIPA. Разумеется, стандарт регламентирует также язык коммуникации агентов ACL (Agent Communication Language). Коммуникация между агентами основана на передаче сообщений, где агенты осуществляют коммуникацию путем формулирования и отправки индивидуальных сообщений друг другу. ACL FIPA стандартизирует язык сообщений путем установки кодировки, семантики и прагматики сообщений.
Стандарт не регламентирует специальный механизм для внутренней передачи сообщений. Наоборот, так как разные агенты могут работать на разных платформах и использовать разные сетевые технологии, FIPA регламентирует то, что сообщения, пересылаемые между платформами, должны быть кодированы в текстовой форме. Предполагается, что агент имеет некоторые средства передачи этих текстов. Синтаксис ACL очень близок к широко используемому языку коммуникаций KQML [224]. Однако, несмотря на сходство синтаксиса, между KQML и ACL имеются фундаментальные различия, наиболее очевидное – существование формальной семантики для ACL, которая должна устранять любую двусмысленность и путаницу в использовании языка [224].
JADE (Java Agent Development Framework) является программным фреймворком для упрощения разработки приложений агентов в соответствии со стандартами FIPA о взаимозаменяемости интеллектуальных мультиагентных систем. Целью JADE является упрощение разработки при гарантировании соответствия посредством всеобъемлющего набора системных служб и агентов. Для достижения такой цели JADE предлагает следующий список функций программисту агента [225]:
FIPA-совместимая агентская платформа, которая включает систему управления агентами, менеджер каталогов и канал коммуникации агентов. Все эти три агента автоматически активируются во время запуска распределенной агентской платформы. Агентская платформа может быть разделена на несколько хостов (предполагается, что между ними нет межсетевого экрана -фаерволла). Предполагается наличие только одного Java-приложения и, таким образом, одной Виртуальной машины, выполняющейся на каждом хосте.
Агенты реализованы как один Java-поток, и для эффективной легковесной коммуникации между агентами на одном хосте используются Java-события. Параллельные задачи также могут быть запущены на одном агенте, и JADE планирует эти задачи более эффективным образом, чем это делает Java виртуальная машина для потоков; - число FIPA совместимых каталогов может быть задано во время запуска для реализации мультидоменных приложений, где понятие домена является логическим согласно описанию FIPA 97, часть 1; - интерфейс программирования упрощает регистрацию служб агентов с одним или более доменами (например, менеджер каталогов); - механизм передачи и интерфейс отправки/приема сообщение кому/от других агентов; - FIPA97 – совместимый IIOP-протокол для соединения с разными агентскими платформами; - легкое средство передачи ACL-сообщений внутри одной мультиагентной платформы в виде закодированных Java-объектов, в отличие от строк во избежание процедур сортировки и пересортировки. Когда отправитель или получатель не принадлежат одной платформе, преобразование скрыто от разработчиков агента, которому необходимо работать с одним и тем же классом Java-объектов; - готовая к использованию библиотека протоколов взаимодействия FIPA; - автоматическая регистрация агентов в cистеме управления агентами; - служба имен, совместимая с регламентом FIPA: во время запуска агенты получают свои GUID (Globally Unique Identifier) от платформы; - графический интерфейс пользователя для управления несколькими агентами и агентными платформами из одного агента. Можно осуществлять мониторинг и протоколирование активности каждой платформы.
Агентская платформа JADE совместима со стандартами FIPA97 и включает все те необходимые агенты для управления платформой. Все коммуникации между агентами осуществляются посредством передачи сообщений, в которых FIPAACL является языком представления сообщений
Архитектура ПО основана на сосуществовании нескольких виртуальных машин (далее ВМ) Java, а коммуникации осуществляются с помощью Java RMI (Remote Method Invocation) между разными ВМ и сигнализации событий в каждой ВМ. Каждая ВМ представляет собой простейший контейнер агентов, которые предоставляют полную среду для запуска и исполнения агентов, позволяющую нескольким агентам одновременно запускаться на одном и том же хосте. В принципе эта архитектура позволяет запускаться нескольким ВМ на одном хосте; однако этого делать не рекомендуется ввиду увеличения расходов ресурсов и отсутствия каких-либо преимуществ. Каждый агент-контейнер является многопоточной средой исполнения, состоящий из одного потока для каждого агента и системой потоков, порожденных RMI (runtime system) для диспетчеризации сообщений. Специальный контейнер выполняет функцию фронт-энда, запускает и исполняет управляющих агентов, представляя всю платформу внешнему миру. Полнофункциональная агентская платформа (далее АП) затем собирается из нескольких агентов-контейнеров, как показано на рисунок 4.2. Разрешено распределение агентов в компьютерной сети при