Введение
В основе смыслового анализа документов лежит семантическое индексирование, которое является типичной задачей TextMining. Семантическое индексирование подразумевает построение «смысловых» индексов, основывающихся на онтологиях. Таким образом, на входе механизма индексирования имеется два объекта: некоторый онтологический ресурс и текстовый документ, на выходе необходимо получить документ, содержимому которого поставлены в соответствия понятия из онтологии. Решение данной задачи можно оптимизировать, используя подход мультиагентных систем. Каждый агент должен иметь доступ к общей онтологии и также будет ответственен за индексирование конкретного слова в предложении. Агенты должны уметь делать логический вывод о дальнейших действиях, т.е. уметь планировать действия, а также решать спорные ситуации, когда значение слова неоднозначно (аукционы и пр.). Агенты должны обладать способностью к обучению, т.е., например, запоминать в конкретном контексте, какой смысл (тэг) имеет слово.
Системы, производящие семантическое индексирование на основе мультиагентного подхода, существуют в коммерческих организациях, но большинство информации об их работе закрыто в силу коммерческой тайны с одной стороны, и с другой стороны они предназначены для решения конкретных задач. Возможное решение данной проблемы - разработка открытой агентной платформы для семантического индексирования документов, основанной на стандартах FIPA[1]. Агентные (агентские) платформы позволяют разрабатывать мультиагентные системы из готовых компонентов, предоставляющих агентов с базовой функциональностью, а также готовую среду функционирования агентов.
В данной работе акцент сделан на разработку архитектуры агентной платформы.
Описание решения задачи семантического индексирования документов на основе мультиагентного подхода
Перед семантическим индексированием должны быть выполнены следующие шаги, которые являются составляющей любой задачи TextMining, а именно: морфологический анализ (выявление характеристик каждого слова, например пол, число, время и прочее, результат - морфологический дескриптор) и синтаксический анализ (определение синтаксической структуры предложения согласно набору правил построения синтаксически правильных предложений, результат - синтаксический дескриптор).
Для упрощения задачи допустим, что уже произведены описанные выше два этапа TextMining, и уже получен набор синтаксических и морфологических дескрипторов для каждого предложения. Результат работы семантического анализа (индексирования) есть семантический дескриптор текста, который привязывает элементы синтаксических дескрипторов предложений к элементам онтологии предметной области, по которой происходит семантический поиск.
Дескрипторы (морфологический, синтаксический, семантический) есть набор тэгов помечающих конкретные слова в предложении. Т.к. синтаксический и морфологический дескрипторы будут активно использоваться для синтаксического анализа с одной стороны и с другой стороны, чтобы не нагромождать документ тегами, синтаксический и морфологический дескрипторы будут вынесены в реляционные таблицы. Каждому слову в тексте (кроме разного рода стоп-слов) будут присвоены уникальные идентификаторы. Каждому идентификатору будет соответствовать отдельная строка таблицы.
Таким образом, i-ая строка таблицы выглядит как , где - идентификатор слова, - множество атрибутов (тэгов), которые были назначены данному слову в результате морфологического и синтаксического анализа. Для синтаксического дескриптора также указывается в каждой строке таблицы идентификатор сработавшего правила. Семантический дескриптор будет представлен тэгами внутри самого индексируемого документа.
Далее будет рассмотрен процесс построения семантического дескриптора на основе мультиагентного подхода (рис 1).
Каждый агент будет иметь доступ к общей онтологии, к синтаксическому и морфологическому дескрипторам, а также, очевидно, к документам, индексирование которых производится. Далее будет происходить анализ по предложениям в тексте. Каждый агент привязывается к конкретному слову (word indexer agent) в предложении, для которого существует описание в таблицах дескрипторов (морфологического и синтаксического). Далее предложения последовательно обрабатываются агентами. Агенты формируют «бригады» для индексирования конкретного предложения. Когда количество слов в предложении превышает количество действующих агентов, то либо агент анализируемого предложения берет на себя несколько слов, либо освободившийся агент из другого предложения берет на себя данную роль. Таким образом, агенты в системе после начала индексирования распадаются на бригады, количество и состав агентов в которых зависит от структуры и содержания предложений. У каждой бригады есть агент-бригадир (решает, когда работа над предложением завершена, и можно переходить к следующему предложению, а также решает спорные вопросы по поводу неоднозначностей различного рода путем проведения аукционов). Агенты постоянно участвуют не только в коммуникациях вида «агент-рабочий - агент-бригадир», но и в коммуникациях «агент-рабочий - агент-рабочий» внутри команды. Кроме того, бригадиры разных команд общаются друг с другом для перераспределения свободных ресурсов.
Требования к агентной платформе
Автор выделил следующие требования к агентной платформе для анализа электронных документов:
Архитектура агентной платформы
На основе требований к агентной платформе, а также на основе рассмотренных агентных платформ [2-5] была предложена следующая архитектура агентной платформы (рис 2).Documents - некоторый репозиторий документов, анализ которых будет производиться; не обязательно хранится централизованно, может быть распределен в сети.
Document agent - агент, выполняющий семантическое индексирование документов. Подробно его архитектура будет рассмотрена ниже. Это может быть как агент-рабочий, так и агент-бригадир. Реализует требования 1, 3.
Environment - компонент, изображенный облаком, представляет среду функционирования агентов. Включает коммуникационные каналы, по которым происходит передача сообщений. Осуществляет контроль над доставкой передаваемых сообщений. Для передачи сообщения требуемому агенту обращается к AMS-агенту. Выполняет журнализацию передаваемых сообщений. Реализует требования 5, 7.
AMS (Agent Management System) - агент, осуществляющий контроль над платформой. Является стандартным компонентом архитектуры агентной платформы FIPA. Осуществляется добавление, удаление агентов, присваивает имена новым агентам, а также отслеживает их местоположение внутри сети. Любой документный агент, перед выполнением какого-либо действия должен запросить подтверждение у AMS. Кроме того, данный компонент отслеживает часто повторяющиеся действия и автоматически добавляет нового агента, выполняющего данную последовательность действий. Реализует требования 2, 4, 6.
DF (Directory Facilitator) - агент, ответственный за регистрацию сервисов, предоставляемых агентами. Является стандартным компонентом архитектуры агентной платформы FIPA. Реализует требования 4, 5, 6.
Была предложена следующая архитектура Document agent (рис 3), за основу которого взята архитектура делиберативного агента в агентной платформе Zeus [5].
Система обработки сообщений. Отвечает за обработку входящих сообщений, а также за отправку сообщений. Входящие сообщения поступают в очередь и последовательно извлекаются. Порядок выполнения заданий, содержащихся в сообщениях, определяется Подсистемой Управления.
Очередь заданий. Заполняется планировщиком заданий Подсистемы Управления, содержит задания, которые должны быть исполнены агентом в определенной последовательности.
БЗ агента. В данном компоненте хранятся знания агента, описывающие поведение в зависимости от конкретной ситуация; у агента-рабочего и агента-бригадира знания, заложенные в данном компоненте, отличаются. БЗ знакомств. Содержит знания об агентах, с которыми данный агент уже взаимодействовал; служит для ускорения определения смысла слова в конкретном контексте. Реализует требование 3.
Подсистема Управления. Основной исполнительный компонент агента. Осуществляет планирование заданий, поступивших агенту, содержащихся в сообщениях. Заполняет Очередь заданий. При исполнении задания данный компонент обращается к Подсистеме TextMining, которая индексирует документы на основе заданной онтологии. Использует БЗ знакомств для ускорения определения смысла слова, а также пополняет БЗ знакомств. Подсистема Управления осуществляет отправку сообщения требуемому агенту (например, для уточнения смысла слова в конкретном контексте, если с помощью БЗ знакомств этого сделать нельзя), для поиска которого используется DF-агент. Реализует требования 6, 9.
Подсистема TextMining . Выполняет привязку элементов документа, которые хочет проиндексировать агент, к понятиям из онтологии. Оповещает Подсистему Управления о возникших противоречиях при индексировании конкретных элементов документа.
Монитор выполнения. Выполняет журнализацию и мониторинг заданий, поступающих от Подсистемы Управления. Реализует требование 7.
Заключение
В данной работе предложено решение для задачи семантического индексирования электронных документов на основе мультиагентного подхода. Сформулированы требования к агентной платформе. Предложены архитектуры агентной платформы и документного агента (Document agent), удовлетворяющие поставленным требованиям.
Библиографический список
1. Международная организация по стандартизации агентных платформ FIPA. [Электронный ресурс] [Режим доступа: http://fipa.org/] [Проверено: 20.01.12].
•2. Городецкий В.И., Карсаев О.В., Конюший В. Г., Самойлов В.В., Хабалов А. В. Среда разработки многоагентных приложений MASDK // Информационные технологии и вычислительные системы № 1. 2003.
•3. JADE administrators guide [Электронный ресурс] [Режим доступа: http://jade.cselt.it/doc/administratorsguide.pdfade.cselt.it/doc/administratorsguide.pdf] [Проверено: 12.01.11]
•4. JADE Programmers guide [Электронный ресурс] [Режим доступа: http://sharon.cselt.it/projects/jade/doc/programmersguide.pdf] [Проверено: 12.01.11]
•5. ZEUS Techical Manual. [Электронный ресурс] [Режим доступа: http://upv.es/sma/plataformas/zeus/Zeus-TechManual.pdf] [Проверено: 02.07.11]