<< Предыдущая

стр. 22
(из 26 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

………………………………………………
default:
setPostcond ("INIT");
return;
}
if ( IsendXML (xa) )
Debug.printLog (getMyname (), "Failed to send XML/ACL");
}
}

Наиболее интересны и важны здесь «петля» ожидания сообщений и оператор switch, в теле которого собственно и специфицируется поведение как последовательность действий, направленных в данном случае на формирование соответствующего перформатива.
Анализ этого фрагмента и других примеров реализации поведения агентов в системе Bee-gent позволяет сделать следующие выводы. Агентная библиотека фирмы Toshiba является достаточно развитой и отвечает основным требованиям к компонентам программного обеспечения данного класса. Перформативы XML/ ACL более высокого, по сравнению с KQML, уровня. Для спецификации протоколов взаимодействия предлагается использовать язык программирования, а не представления знаний. На уровне технологии имеется достаточно четкая структура представления поведения агентов. Учитывая то, что языком реализации поведения в данном случае является Java, система Bee-gent ориентирована на компиляцию программ, а не интерпретацию спецификаций, как это происходит в случае системы AgentBuilder.
Выше мы обсудили два подхода к разработке и реализации MAC, которые отражают разные концы спектра инструментов, используемых в этой области.
Суммируя все вышесказанное, можно отметить, что в настоящее время в работах по созданию инструментария явно фиксируется тенденция использования методов и средств ИИ, ориентированных на поддержку процессов проектирования программных агентов и MAC в целом.
При этом задача построения технологий нового поколения для создания MAC может быть решена на основе совместного использования опыта разработчиков MAC и методологий обработки знаний, заимствованных из ИИ [Guarino et al., 1995b]. Для этого прежде всего необходимо адаптировать методы и средства проектирования и реализации прикладных интеллектуальных систем в новую проблемную область: разработку мультиагентных систем нового поколения. Очевидно, что спецификация процесса разработки MAC на основе методов проектирования баз знаний в такой технологии предполагает:
• эксплицитное представление в БЗ архитектуры проектируемой MAC;
• явную спецификацию архитектуры отдельных типов агентов, «задействованных» в рамках проектируемой MAC;
• описание в виде специальных баз знаний модели (схемы) всех знаний, необходимых каждому агенту для реализации поставленных перед ним целей;
• анализ используемых в настоящее время при реализации MAC систем классов и соответствующих программных библиотек с целью явной спецификации соответствия между элементами архитектуры проектируемой MAC и ее компонентами и программными единицами, реализующими их;
• формальную спецификацию (на уровне соответствующей системы представления и манипулирования знаниями) специальной машины вывода (решателя), целью которой является переход от спецификации MAC к ее реализации.
Учитывая вышесказанное, можно констатировать, что1 процесс разработки MAC при этом хорошо коррелирует с соответствующим процессом создания сложных программных систем, но отличается дополнительными фазами, связанными с наличием независимых компонентов (агентов), взаимодействующих с пользователем и друг с другом.
По существу, при таком подходе мы получаем специализированную экспертную систему, предметной областью которой является автоматизация проектирования и реализации определенного класса мультиагентных систем. Создание такой методологии* разработки MAC обсуждается, например, в работе [Iglesias et. all, 1996], где приводится, в частности, спецификация процесса разработки MAC на базе CommonKADS.

9.3. Информационный поиск в среде
Интернет

По-видимому, не будет большим преувеличением утверждение о том, что конец XX века — это время новых информационных технологий, «живущих» в глобальных и локальных сетях, наиболее яркими представителями которых являются Интернет и интранет. В настоящее время уже ни у кого нет сомнений в том, что Интернет является de facto всемирным хранилищем информации практически по всем аспектам жизни человечества. Так же как и то, что эффективный доступ к этой информации в связи с экспоненциальным ростом объема Интернет-ресурсов становится все более сложным и трудоемким [Cowie et al., 1996]. И не столько с технической точки зрения, сколько с точки зрения поиска и анализа информации.
С другой стороны, как уже отмечалось в предыдущем параграфе, важнейшими из областей практического использования агентных технологий являются сбор информации, ее фильтрация и использование для принятия решений.
Учитывая вышесказанное, цель данного параграфа в обсуждении проблем представления и обработки информации в сети Интернет на основе использования парадигмы многоагентных систем, а также обзор уже существующих в этой области приложений.
Авторы отдают себе отчет, что при этом за рамками такого обсуждения остаются многие важные применения агентных технологий, но вынуждены ограничиться данной тематикой в силу ограничений на объем данного издания и время его подготовки.

9.3.1. Машины поиска

Пространство WWW уже сегодня содержит огромное количество HTML-документов, причем не только тексты, но и графику, видео, звук и т. д. Гипертекстовые связи между Web-документами и/или их частями отражают отношения между отдельными информационными фрагментами, представленными в сети. Броузеры, поддерживающие HTML-стандарты, обеспечивают представление материалов пользователям и навигацию по ссылкам для доступа к документам, распределенным по сети. Однако поиск информации в настоящее время поддержан существенно слабее и в большинстве случаев базируется на использовании ключевых слов и ограниченного числа типов машин поиска.
Машины поиска, по-видимому, являются в Интернете самым распространенным и доступным ресурсом для извлечения информации. При этом, как правило, используются два типа сетевых роботов: спайдеры (spiders) и индексы (indexes). Слайдеры, иногда называемые также ботами (bots, от робот-robots),,перемещаются по Web от сайта к сайту. Некоторые из них перемещаются от сервера к серверу беспорядочно, другие используют приоритеты, такие, например, как посещаемость сайта. Оказавшись на сайте, слайдер посылает отчет поисковой машине и продолжает индексирование. Индексы используются для ускорения поиска и сбора информации. Некоторые поисковые механизмы индексируют содержание страниц полностью, другие — только отдельные их части, такие, например, как заголовки документов.
Основными характеристиками машин поиска являются язык запросов пользователя, представление исходных и выходных документов, время индексации и поиска, объем индекса. Существенной характеристикой машин поиска является также качество представления результатов. Наиболее популярные поисковые машины в настоящее время — AltaVista (http://www.altavista.com и/или http: //altavista.ru), Exite (http://www.excite.com), Infoseek (http://www.infoseek. com), Lycos (http://www.lycos.com), WebCrawler (http://www.webcrawler. com), Yahoo! (http://www.yahoo.com) и некоторые другие. Примером полнотекстовой системы поиска с учетом морфологии русского языка является система Яndeх (http://www.yandex.ru). Сравнительный анализ достоинств и недостатков машин поиска можно найти в работе [CompTek, 2000a], а русскоязычных машин поиска — в работе [CompTek, 2000b].
Как правило, поисковые машины обеспечивают интерфейс типа меню, с помощью которого пользователь может скомпоновать запрос на поиск информации, используя ключевые слова и/или фразы и логические связки И-ИЛИ-НЕ. Большинство машин поиска находят огромное количество «релевантных» 'страниц по запросу пользователя. Каждый найденный документ обычно ранжируется по степени его корреляции с запросом. Релевантность каждого документа оценивается с помощью различных технологий, например учета частоты появления на странице искомых слов. Некоторые поисковые механизмы используют дополнительно другие факторы, такие как частота посещения страницы и/или близость расположения друг к другу искомых терминов.
Типичную организацию машин поиска можно рассмотреть на примере системы WebCrawler (рис. 9.6), разработанной в университете Вашингтон (Сиэтл, США).


Рис. 9.6. Общая архитектура системы WebCrawler

WebCrawler начинает процесс поиска новых сайтов с известных ему документов и переходит по ссылкам на другие страницы. Он рассматривает сетевое пространство как ориентированный граф и использует алгоритм обхода графа, работая в следующем цикле [Cheong, 1996J:
• найти новый документ;
• отметить документ как извлеченный;
• расшифровать ссылки с этого документа;
• проиндексировать содержание документа.
Поисковый механизм работает в двух режимах: поиск документов в реальном времени и индексирование документов.
Этим сервисом определяется, какие документы и какие типы документов нужно найти и извлечь из сети. Звуковые файлы, картинки, двоичные файлы и т. п. — не извлекаются. Ошибочно извлеченные файлы будут проигнорированы на стадии индексирования. В режиме индексирования система строит индекс информации из найденных документов, в режиме поиска — находит документы, максимально соответствующие запросу пользователя.
Агенты в системе WebCrawler отвечают за извлечение документов из сети. Для выполнения этой работы поисковый механизм находит свободного агента и передает ему задание на поиск. Агент приступает к работе и возвращает либо содержание документа, либо объяснение, почему данный документ нельзя доставить. Агенты запускаются как отдельные процессы, что позволяет изолировать основной процесс работы системы от ошибок и проблем с памятью. Одновременно используется до 15 агентов.
В базе данных хранятся метаданные документов, связи между документами, полнотекстовый индекс, другая служебная информация. База обновляется каждый раз, когда поступает новый документ. Для отсечения семантически незначимых слов используется стоп-словарь, словам из документа приписывается вес, равный частоте их появления в данном тексте, деленной на частоту появления слова в ссылках на другие документы. Такой индекс позволяет быстро находить по заданному слову ссылки на документы его содержащие. Целиком URL (ссылки на документы в сети) не запоминаются. Вместо этого вся нужная информация помещается в специальные объекты. Каждый объект запоминается в отдельном В-дереве: документы — в одном, серверы — в другом, а ссылки — в третьем. Такое разделение данных позволяет быстро определить неиспользуемые или часто используемые серверы.
Аналогичным образом устроены и другие машины поиска. Характеризуя их в целом, можно отметить, что это глобальные поисковые механизмы, охватывающие до 90 % ресурсов Интернета. Они не могут настраиваться на предпочтения пользователя и не имеют средств анализа информации, а их сетевым роботам становится все труднее справляться с постоянным ростом ресурсов Интернета. Главной задачей машин поиска, по сути, является индексация ресурсов глобальной сети, а также поддержка и расширение соответствующих баз данный. Фактически в базах данных машин поиска хранится информация о том, где и что лежит в сети. Поэтому можно считать, что существующие машины поиска обеспечивают низкоуровневый сервис для клиентских поисковых программ более высокого уровня.

9.3.2. Неспециализированные
и специализированные поисковые агенты

Первым уровнем надстройки над поисковыми машинами являются, по-видимому, неспециализированные поисковые агенты. По сути дела, эти компоненты имеются в настоящее время практически у всех машин поиска. Такие агенты, в первую очередь, обеспечивают поиск по ключевым словам и устойчивым словосочетаниям [Delgado, 2000]. Кроме поиска они поддерживают различные и многочисленные сервисы, такие, например, как передача запроса пользователя сразу на множество машин поиска, настройка на личные предпочтения пользователя, формирование тематической базы данных на основе результатов поиска пользователя, а некоторые — и обучение агентов. Не менее важно и то, что такие системы агентов объединяют ссылки на сайты, найденные множеством машин поиска, исключая повторные и неработающие ссылки. Но ни одна из систем данного класса не в состоянии самостоятельно отобрать полезную информацию и оставляет это пользователю. Конечно, используя такие программы, можно уменьшить число результирующих документов, доставляемых обычными машинами поиска. Но степень «попадания ответа в запрос» практически та же, что и у машин поиска. Важно и то, что неспециализированные агенты опыта по поиску в определенной предметной области не накапливают. А обучение, если вообще допускается, занимает много времени.
Специализированные агенты поиска, как следует уже из их названия, приспособлены искать информацию, например, только про музыку, или только про книги, или только про котировки акций и т. д. Большинство таких агентов устроено жестко. Они «умеют» очень хорошо работать на определенных сайтах с фиксированным форматом данных. При этом даже адреса этих сайтов могут быть «зашиты» в агента, например сайты с котировками акций на биржах мира.
Системы, построенные на базе специализированных агентов, кроме поиска предоставляют пользователям определенный пакет средств для организации и управления найденной информацией. Как правило, такие системы содержат набор агентов, каждый из которых ориентирован на поиск информации только по одной теме. Они могут иметь доступ к сотням ресурсов Интернета, включая специализированные базы данных. Основные специализации агентов в таких системах в настоящее время — новости, конференции и группы по интересам, книги, программное обеспечение, электронные магазины и другая бизнес-информация, часто задаваемые вопросы и некоторые другие. Обычно пользователь здесь может сформировать запрос ^системе, используя естественный язык, а результаты сопровождаются аннотациями содержания найденных документов, списками ключевых слов и некоторой другой дополнительной информацией, облегчающей пользователю выделение интересующих его ресурсов. В развитых системах этого класса имеются возможности:
• сохранения параметров поиска для повторного использования, а часто и полной «истории» запросов пользователя;
• параллельного поиска на множестве ресурсов Интернета;
• оформления результатов в виде отчетов (HTML-файлов) и сохранения их в базе данных;
• слежения за обновлением информационных ресурсов Интернета, в том числе с частотой, задаваемой пользователем.
Недостатки у специализированных агентов те же, что и у неспециализированных, но есть и серьезный плюс — четкое срабатывание на хорошо структурированных данных в известном формате.

9.3.3. Системы
интеллектуальных поисковых агентов

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

Autonomy и Webcompass — системы интеллектуального поиска и обработки информации
Обсуждаемые ниже версии агентных поисковых систем Autonomy [Autonomy, 1998] и Webcompass [Webcompass, 1999] созданы во второй половине 90-х годов. Цели их разработки практически одинаковые — обеспечить пользователя интегрированными средствами поиска релевантной его интересам информации в сети Интернет, организация найденных документов в рамках определенных тем, а также автоматизация процессов самого поиска. Вместе с тем проектные решения, принятые разработчиками, здесь существенно разные.
Первое различие между этими системами в ориентации на разные категории пользователей.
Система Autonomy представляет собой совокупность программных агентов для интеллектуального поиска и обработки информации, организованных в рамках специализированной оболочки, предназначенной скорее для конечных пользователей, чем предметных специалистов. Такая установка влечет за собой специальную организацию интерфейсов, интуитивно понятную и прозрачную для новичков. По сути, пользователю здесь предлагается парадигма «антропоморфного» общения со всеми компонентами системы и «игровой» подход к решению достаточно сложных задач (рис. 9.7).






Рис. 9.7. Главная панель системы Autonomy

Система Webcompass архитектурно тоже состоит из агентно-ориентированных компонентов, поддерживающих все основные процессы, которые должны быть реализованы в полномасштабном программном комплексе поиска и анализа информации. Но ориентирована эта система, прежде всего, на «продвинутых» пользователей, которые хотят и могут сформировать структурное описание области своих интересов. Коммуникационный центр Webcompass (рис. 9.8) предлагает пользователю парадигму многооконного интерфейса, характерную для современных офисных приложений, и систему структурных редакторов для спецификации предметной области, поисковых запросов и управляющей информации.


Рис. 9.8. Коммуникационный центр системы Webcompass
Второе различие между системами Autonomy и Webcompass — в подходе к описанию предметной области поиска.
В первых версиях системы Autonomy использовалась технология нейросетей и специальный метод представления, разработанный для фирмы AgentWare (так тогда называлась фирма, выпустившая релиз системы Autonomy) коллективом Neurodynamics из Кембриджа. В основе технологии лежат методы распознавания образов и обработки сигналов. При этом системой формируется представление о том, какими должны быть релевантные документы, используемые в дальнейшем на этапе поиска информации.
В системе Webcompass описание предметной области основано на использовании таксономии понятий, связанных между собой отношениями типа is a, part of, has part, is a kind о/и некоторых других. Ограничением такого представления является то, что между понятиями не может быть больше одного отношения.
Третье различие между обсуждаемыми системами состоит в используемых средствах спецификации запросов.
В системе Autonomy запрос на поиск представляется на естественном языке. Система анализирует текст автоматически и извлекает из него смысловое содержание, которое помещается в специальный конфигурационный файл. При этом внутреннее представление запроса тоже представляется нейросетью, в узлах которой располагаются ключевые слова и выражения.
Запрос к системе Webcompass базируется на «прямом» использовании сформированного пользователем описания предметной области. Поскольку здесь такое описание представлено таксономией понятий (ключевые слова и выражения), то для формирования запроса достаточно просто промаркировать интересующие пользователя темы. На основании этих пометок система сама формирует запрос на поиск релевантной информации.
Собственно поиск релевантной информации в системе Autonomy ведется с использованием методов нечеткой логики. В основе поискового алгоритма лежит «Механизм динамических рассуждений» (МДР), разработанный уже упоминавшимся коллективом Neurodynamics. Базовые функции МДР — сравнение концептов (по входному тексту определяются ссылки на документы из заранее составленного списка с наиболее релевантной информацией для поиска); создание агента (формируются концепты из тренировочного текста и из других подходящих источников для использования их агентом); стандартный поиск слов в тексте.
Поиск в системе Webcompass ведется на основе ключевых слов. При этом он осуществляется сразу на 35 машинах поиска, которые задаются списком. Этот список можно изменять, а кроме того, добавить адреса для поиска в интранет, Usenet, FTP и Gopher ресурсах. Система проверяет каждую найденную ссылку на доступность и, анализируя найденную информацию, составляет краткое резюме документов, а также определяет степень соответствия сайта запросу пользователя, ранжируя найденные документы от 1 до 100. Остальные функциональные возможности рассматриваемых систем скорее сходны, чем различны. Это формирование репозиториев результатов, наличие фонового режима поиска информации и некоторые другие.
Из интересных особенностей системы Autonomy, отсутствующих в системе Web-compass в явном виде, можно отметить режим обучения поисковых агентов. Оценивая рассмотренные выше системы и класс агентных систем данного типа можно отметить их следующие достоинства:
• возможность простой модификации используемых машин поиска;
• использование словарей терминов для обработки запросов;
• создание кратких аннотаций найденных документов;
• поддержка настраиваемых баз данных по темам поиска и результатам;
• классифицикация результатов поиска по темам, запоминание и автоматическое обновление ссылок на источники;
• использование результатов поиска для улучшения его качества в той же области в будущем.
Недостатком таких систем является, как правило, слабая обучаемость агентов. Поэтому такие системы являются полезными инструментами при поиске информации в Интернете, но не могут сделать этот поиск полностью автоматическим и эффективным с точки зрения пользователя.
Справедливости ради отметим, что в последнее время фирмы, выпускавшие системы Autonomy и Webcompass, рассмотренные выше, а также многие другие фирмы, работающие на рынке информационных технологий, активно используют последние наработки в этой области, полученные в исследовательских лабораториях и проектах, связанных с проблематикой искусственного интеллекта. Учитывая вышесказанное, сейчас на авансцену развития агентных технологий вообще и использования их при поиске информации в частности выходят проблемы представления знаний, механизмы вывода новых знаний, описание модели мира, моделирование рассуждений в рамках агентного подхода. По существу, именно эти аспекты и являются ключевыми при создании интеллектуальных систем поиска информации в сети Интернет в разных исследовательских проектах, к обсуждению которых мы и переходим.

Проект системы MARRI
Система MARRI [Villemin, 1999] разработана для поиска Web-страниц, релевантных запросам в определенной предметной области. Для решения поставленных задач система использует знания, представленные в виде онтологии, которая в данном случае понимается как множество концептов и связей между ними. Базисное предположение разработчиков состоит в том, что релевантные тексты состоят из значимых для предметной области предложений, содержащих фрагменты, «сопоставимые» с онтологией предметной области. Предполагается, что одни агенты — агенты сети — для предварительного отбора используют стандартные машины поиска, а другие — специализированные агенты — осуществляют поверхностный анализ полученных Web-страниц, затем проверяют их на соответствие так называемому онтологическому тесту и возвращают пользователю лишь те страницы, которые успешно прошли данный тест.
Суть онтологического теста состоит в следующем. Сначала осуществляется морфологический и синтаксический анализ предложений полученного от агентов сети текста и строится его синтаксическое дерево; затем осуществляется определение типа предложения (утвердительное, отрицательное и т. п.) и тип речевого акта, который это предложение отражает. Для дальнейшего анализа выбираются только простые утвердительные предложения со структурой NP VP NP, где NP — именная группа, a VP — глагольная группа. При этом неявно предполагается, что структура знаний о предметной области отражена в структуре предложений, описывающих концепты. Поэтому, если анализируемое предложение действительно описывает некоторый концепт, значимые для предметной области слова уже присутствуют в онтологии.
С учетом всего вышесказанного, онтологический тест выполняется следующим образом:
• существительные (или, в общем случае, именные группы) отображаются на концепты онтологии, а глаголы (или, в общем случае, глагольные группы) — на роли;
• в глагольной группе выделяется для дальнейшей обработки основной глагол (V). Если он отсутствует в онтологии, тест возвращает «неудачу», иначе:
• в левой «верхней» именной группе выделяется базисное существительное (N). Если оно отсутствует в онтологии, тест возвращает «неудачу», иначе:
• проверяется ограничение (семантическое отношение) S между N и V. При этом возможны следующие варианты:
• N и V действительно связаны отношением S, которое представлено в онтологии;
• в онтологии отношением S связаны существительное N' и глагол V, причем N' является подклассом N, a V — подклассом V;
• если же предыдущие два варианта не имеют места, тест возвращает «неудачу»;
• аналогичная процедура выполняется и для правой «верхней» именной группы.
Таким образом, онтологический тест в случае успеха поволяет «наложить» анализируемый текст на онтологию предметной области.
Архитектурно система MARRI (рис. 9.9) является сетью специализированных агентов четырех типов: агент пользователя (User Agent), агент-брокер (Broker Agent), агент сети (Connection Agent) и агент обработки текста (Text Processing Agent). Каждый из агентов обладает следующими свойствами:
• это автономная Java-программа с собственным сетевым адресом (URL);
• он взаимодействует с другими агентами с помощью языка ACL (Agent Communication Language), функционирующего над HTTP-протоколом;
• агент является потребителем и поставщиком информации, в зависимости от того, с какими агентами системы он общается;
• он может взаимодействовать с автономными программными компонентами — такими как, например, Web-броузеры, анализаторы ЕЯ или онтологические БД;
• агент обладает специальными знаниями и возможностями вывода для определения того, доступна ли нужная Web-страница, содержит ли она текстовую информацию и релевантна ли эта информация определенной предметной области.


Рис. 9.9. Архитектура системы MARRI

Интерфейсный агент (ИА) поддерживает интеллектуальное взаимодействие с пользователем. Он ассистирует при формулировке запросов и представляет результаты поиска в виде списка релевантных URL или Web-страниц. Когда пользователь выбирает интересующую его предметную область, ИА запрашивает соответствующую онтологию из онтологической БД, а также информирует других агентов сети о том, какая онтология будет использоваться.
Задачей агента сети (АС) является подключение к заданной URL Web-странице, ее считывание и анализ. В силу того, что нужная страница может быть недоступна или неинтересна по содержанию, АС должен «уметь» обрабатывать исключительные ситуации, а также анализировать собственно текст, представленный на считанной странице.
В системе MARRI задействованы два типа агентов-брокеров: брокер URL и брокер HTML. Первые предназначены для «сопровождения» списков Интернет-адресов, поставляемых броузером, а вторые — для запоминания полученных Web-страниц и распределения их между агентами обработки текста (ЛОТ) для дальнейшего анализа.
Целью функционирования ЛОТ является семантический анализ Web-страниц для проверки их релевантности на базе соответствующей онтологии. Предварительно эти же агенты преобразуют HTML-текст к определенному структурному представлению, с которым работают морфологический и синтаксический анализаторы. Результат обработки текста представляется в виде синтаксического дерева, которое должно отождествиться с Определенным фрагментом используемой онтологии.
С архитектурной точки зрения система MARRI, по сегодняшним меркам, является почти традиционной. Ее отличительная черта — представление агентов автономными Java-программами с собственными сетевыми адресами, что неявно предполагает их мобильность и/или распределенность по сети. Такое решение было бы весьма интересным, если бы не политика контроля за безопасностью сервера, которая не допускает в настоящее время регистрацию и запуск Java-программ, не сертифицированных на данном сервере.
Прототип системы реализован на языке Java (версия 1.1.3). Для тестирования его разработаны две (очень грубых) онтологии — одна в области электронной коммерции (около 200 элементов), а вторая — в области Интернет-безопасности клиентских приложений (около 450 элементов). Предполагается развитие этих онтологии и интеграция их с соответствующими онтологиями, уже существующими на онтологических серверах.

Прототип системы OntoSeek
Разработка и реализация прототипа системы «содержательного» доступа к WWW-ресурсам OntoSeek — результат 2-летней работы, выполненной в кооперации Corinto (Consorzio di Ricerca Nazionale Tecnologia Oggetti — National Research Consortium for Object Technology) и Ladseb-CNR (National Research Council — Institute of Systems Science and Biomedical Engineering), как части проекта по поиску и повторному использованию программных компонентов [Guarino, et al., 1999].
Система OntoSeek разработана для содержательного извлечения информации из доступных в режиме on-line «желтых» страниц (yellow pages) и каталогов. В рамках системы совместно используются механизмы поиска no-содержанию, управляемые соответствующей онтологией (ontology-driven content-matching mechanism), и достаточно мощный формализм представления.
При создании OntoSeek были приняты следующие проектные решения:
• использование ограниченного числа ЕЯ-терминов для точного описания ресурсов на фазе кодирования;
• полная «терминологическая свобода» в запросах за счет управляемого онтологией семантического отображения их на описания ресурсов;
• интерактивное ассистирование пользователю в процессе формулировки запроса, его обобщения и/или конкретизации, а также приняты во внимание:
• текущее состояние исследований в области Интернет-архитектур;
• необходимость достижения высокой точности и приемлемой эффективности на больших массивах данных;
• важность хорошей масштабируемости и портабельности принимаемых решений.
Система работает как с гомогенными, так и с гетерогенными каталогами продуктов. Понятно, что второй вариант сложнее. Поэтому в системе OntoSeek для представления запросов и описания ресурсов используется модификация простых концептуальных графов Дж. Совы [Sowa, 1984], которые обладают существенно более мощными выразительными возможностями и гибкостью по сравнению с обычно используемыми списками типа «атрибут-значение». Для концептуальных графов проблема контекстного отождествления редуцируется до управляемого онтологией поиска в графе. При этом узлы и дуги сопоставимы, если онтология «показывает», что между ними существует заданное отношение. Вместе с тем, поскольку система базируется на использовании лингвистической онтологии, узлы концептуального графа должны быть привязаны к соответствующим лексическим единицам, причем для этого должны выполняться определенные семантические ограничения.
На этапе планирования проекта вместо разработки собственной лингвистической онтологии были проанализированы доступные Интернет-ресурсы и выбрана онтология Sensus [Knight et al., 1994], которая обладает простой таксономической структурой, имеет объем около 50 000 узлов, в основном выделенных из тезауруса WordNet [Beckwith et al., 1990], а также доступна для исследовательских целей в свободном режиме.
Функциональная структура системы OntoSeek представлена на рис. 9.10.



Рис. 9.10. Функциональная структура системы OntoSeek

На фазе кодирования описание ресурсов конвертируется в концептуальный граф. Для этого «поверхностные» узлы и дуги, отмеченные пользователем, с помощью лексического интерфейса трансформируются в смыслы, заданные в словаре. Таким образом, «граф слов» транслируется в «граф смыслов», причем каждому понятию последнего сопоставляется соответствующий узел онтологии. После семантической валидации концептуального графа на основе использования онтологии он запоминается в БД.
Наиболее интересным моментом этапа кодирования ресурсов в системе OntoSeek является формализм представления помеченных концептуальных графов (ПКГ), который базируется на том, что заданы словари существительных и глаголов, а собственно ПКГ определяется как связный ориентированный граф, удовлетворяющий следующим синтаксическим ограничениям:
• Дуги могут быть помечены только существительными из словаря (любой граф, содержащий дугу, помеченную транзитивной конструкцией вида [<URLl>man] ® (love) ® [women], может быть конвертирован в базисный ПКГ вида [<URLl>man] ¬ (agent) ¬ [love] ® (patient) ® [women]).
• В общем случае узлы помечаются строками вида concept [anstance], где concept существительное или глагол из словаря, а необязательная ссылка: instance — управляющий идентификатор.
• Для каждого графа существует в точности один узел, называемый «головой». Этот узел маркируется URL в угловых скобках, идентифицирующим файл описания ресурса, который описывает данный граф, и маркерной строки, представляющей понятие онтологии.
Понятно, что прежде, чем использовать этот граф, должна быть устранена полисемия, что может позволить однозначно отразить существующие метки в понятия онтологии. После выполнения этой процедуры семантическая интерпретация ПКГ происходит следующим образом:
• каждый узел, помеченный «словом» А, представляет класс экземпляров соответствующего концепта. При наличии в описании идентификатора экземпляра узел определяет синглетон, содержащий этот экземпляр. Если А — глагол, узел фиксирует его номинализацию (например, узел с пометкой «love» определяет класс событий «любить»); .
• каждая дуга с пометкой С из узла А в узел В определяет соответствующее непустое отношение;
• в целом граф с «головой» А и URL Uопределяют класс экземпляров А, описываемых ресурсом, помеченным U.
Процесс поиска осуществляется следующим образом. Пользователь представляет свой запрос тоже в виде концептуального графа, который после устранения лексической неоднозначности и семантической валидации передается компоненте отождествления, работающей с БД. Здесь ищутся графы, удовлетворяющие запросу ц ограничениям, заданным в онтологии, после чего ответ представляется пользователю в виде HTML-отчета.
Семантика графа запроса и процедура его построения аналогичны рассмотренной выше процедуре кодирования ресурсов, но имеет следующие отличия:
• на месте URL может быть задана переменная;
• переменными может быть помечено произвольное число узлов.
Так, например, запрос вида [<Х> саг] ® (part) ® [radio] вернет множество URL на документы, описывающие автомобили с радиоприемниками в качестве части, а запрос вида [саг] ® (part) ® [<Х> radio] — множество URL на документы, описывающие радиоприемник как часть автомобиля. И более того, композиция этих запросов вида [<Х> саг] ® (part) ® [<Y> radio] может быть использована для получения документов обоих типов.
Таким образом, предполагается, что граф запроса Q отождествляется с графом описания ресурса R, если:
• Q изоморфен подграфу графа R;
• пометки графа R соответствуют пометкам графа Q,
• «голова» графа R соответствует узлу, помеченному переменной в графе Q. Последнее условие необходимо, если мы хотим «сосредоточиться» на ресурсах, соответствующих запросу в точности.
Реализация системы OntoSeek выполнена в парадигме «клиент-сервер». Архитектурным ядром ее является сервер онтологии, обеспечивающий для приложений интерфейсы доступа и/или манипулирования данными модели онтологии, а также поддержки БД концептуальных графов. Заметим, что последняя может строиться и пополняться не только в интерактивном режиме, но и за счет скомпилированных описаний ПКГ, представленных на языке XML. Компонента БД в системе OntoSeek выделена в отдельный блок, что позволяет легко заменить при необходимости используемую СУБД.
Проект начался зимой 1996 г. — на заре эры языка Java. Поэтому прототип был реализован на языке C++. В настоящее время авторы предполагают провести реинжиниринг системы на основе использования новейших Интернет-технологий.
Таким образом, использование онтологии для интеллектуальной работы с Интернет-ресурсами является в настоящее время «горячей» точкой исследований и практических применений.
Специалистам в этой области хорошо известны Интернет-сайты организаций и проектов, связанных с созданием и использованием онтологии, но даже у них при выборе онтологии, «подходящей» для конкретного приложения, возникают определенные проблемы. Основные из них: отсутствие стандартного набора свойств, характеризующих онтологию с точки зрения ее пользователя; уникальность логической структуры представления релевантной информации на каждом «онтологическом» сайте; высокая трудоемкость поиска подходящей онтологии.
Учитывая вышесказанное, в заключение данного параграфа рассмотрим пример интеллектуального агента, который демонстрирует онтологический подход к поиску на Web и выбору для использования собственно онтологии.

(ONTO)2— агент поиска и выбора онтологии
Целью разработки интеллектуального WWW-брокера выбора онтологии на Web [Vega et al, 1999] было решение проблемы ассистирования при выборе онтологии. Для этого потребовалось сформировать перечень свойств, которые позволяют охарактеризовать онтологию с точки зрения ее будущего пользователя и предложить единую логическую структуру соответствующих описаний; разработать специальную ссылочную онтологию (Reference Ontology), в рамках которой представлены описания существующих на Web онтологии; реализовать интеллектуального агента (ONTO)2, использующего ссылочную онтологию в качестве источника знаний для поиска онтологии, удовлетворяющих заданному множеству ограничений.
Для решения первой из перечисленных задач авторы (ONTO)2 детально проанализировали онтологии, представленные на Web, и построили таксономию свойств, используемых для описания онтологии (табл. 9.2). Для удобства дальнейшего использования все свойства сгруппированы в категории идентификации, описания и функциональности.
Таблица 9.2.
Таксономия свойств, используемых для описания онтологии

Основные характеристики


Идентификация







Описание


























Функциональность
Онтологии


Разработчиков


Дистрибьюторов


Общая информация




Обзорная информация







Информация о
Проектировании





Требования ценовые




Использование
Имя, сайт-сервер, сайт-зеркало, Web-страницы, доступность FAQ, ЕЯ-описание, дата окончания разработки

ФИО, Web-страницы, e-mail, контактное лицо, телефон, факс, почтовый адрес

ФИО, Web-страницы, e-mail, контактное лицо, телефон, факс, почтовый адрес

Тип онтологии; предметная область; назначение; онтологические обязательства; список концептов верхнего уровня; статус реализации; наличие on-line и «бумажной» документации

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

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

<< Предыдущая

стр. 22
(из 26 стр.)

ОГЛАВЛЕНИЕ

Следующая >>