"Онтологии в Интернет"

Вид материалаРеферат

Содержание


Три способа превращения данных в знания в Интернет
Онтологии и Web
Онтологическая поисковая система Jewel для реализации интеллектуального поиска в Интернет- и интранет-сетях.
Язык составления онтологических описаний
SCALAR type; // Тип самолета (сверхзвуковой/дозвуковой) SCALAR
Язык поисковых запросов
Import library
And (implements
Вопросы реализации
Перспективы применения и развития
Язык публикации знаний в Internet (KML)
Семантика Знаний
Проблемы современных Баз Знаний и их решения
Стандартизация Языка Знаний
Грануляризация знаний
Программируемость знаний
Технологии знаний и программные технологии
Требования к знаниям и технологии публикации
Подобный материал:

Министерство образования Российской Федерации


Ульяновский Государственный Технический Университет


Факультет Информационных Систем и Технологий


Кафедра «Вычислительная техника»


Дисциплина «Инженерия знаний»


Реферат


на тему: ”Онтологии в Интернет”



Выполнил:


Проверил:

студент группы МЭВд-52

Шаров О.Г.

Соснин П.И.



Ульяновск, 2002

Содержание

Введение 3

Три способа превращения данных в знания в Интернет 3

Онтологии и Web 6

Онтологическая поисковая система Jewel для реализации интеллектуального поиска в Интернет- и интранет-сетях. 7

Язык публикации знаний в Internet (KML) 19

Заключение 27

Литература 29

Введение


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

Три способа превращения данных в знания в Интернет


Машины поиска и извлечения информации, такие как "Yahoo!", "Lycos", "Infoseek", используют механизм поиска по ключевым словам и не учитывают контекст, в котором существует информация. Вот почему результатом работы таких систем могут быть сотни тысяч ссылок. Современные версии поисковых систем ("Metacrawler", "WebSeek" и.т.п.) адресуют запрос пользователя сразу к множеству машин поиска, и составляют индексные мета-каталоги и базы данных. Но так как они остаются в рамках поиска, основанного на ключевых словах, то полученные индексы связывают информацию с терминами, учитывая только актуальный для данного запроса лексический или синтаксический контекст [Luke, et. all, 1996]. Аналогичные претензии можно адресовать и к тематическим каталогам, составленным вручную. Кроме того, что для их создания и сопровождения необходимо слишком много времени, существует диссонанс между критериями классификации понятий автора и пользователей [Luke.,et. all, 1996].

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

Идея создания расширенного HTML нашла воплощение в таком стандарте, как разработанный в W3С (интернациональный всемирный Web консорциум) язык XML (Extensible Markup Language) [URL1]. XML - язык для разметки синтаксической структуры документов, позволяющий благодаря спецификации синтаксиса, использовать такие документы множеству агентов, для которых данный формат является общим. Для того, чтобы аннотировать документы с помощью XML, разработан формат описания ресурсов RDF (Resource Description Framework) [URL2]. Мета-информация, определяемая форматом RDF, размещается как дополнительная страница или блок внутри каждой web-страницы (элементы web страницы не могут быть аннотированы прямо в тексте исходного документа, а должны быть повторены с дополнительной мета-информацией). Такой способ влечет за собой много трудностей из-за дублирования информации.

В работах [Dobson S.A., Burrill V.A., 1995] и [Loke S.W, Davison A., Sterling L., 1996] также предлагается расширить HTML с целью получения семантических индексов к информации, организованной в виде так называемых Lightweight Deductive Databases, где связи между отдельными страницами определяются гипертекстовыми ссылками с атрибутами. Дедуктивные базы данных являются расширением реляционных за счет применения правил логического программирования для более сложного представления данных [K. Ramamohanarao, J. Harland, 1994].

Sandewall [Sandwall, 1996] предлагает создать Всемирную базу данных (WorldWide Data Base), состоящую из файлов, которые содержат полученные из Интернет небольшие фрагменты документов с описанием содержащихся в них понятий в виде объектов. Объекты представляются на специальном языке и могут включать ссылки на другие объекты, HTML-документы в Интернет или файлы из самой базы данных.

В последнее время серьезное развитие получила другая парадигма, с точки зрения которой Web рассматривается как потенциальная база знаний. Для работы со знаниями в сети нужны специальные методы представления и обработки знаний, интерпретации запросов и т.д. Задача здесь прежде всего в том, чтобы адаптировать методы и средства, разработанные в ИИ для систем, основанных на знаниях, в новую проблемную область. В рамках такого подхода сейчас внимание различных исследователей привлекают онтологии [Guarino, Poli, 1995] как средство построения распределенных и неоднородных систем баз знаний в Интернет. Адекватным средством реализации таких систем являются агентные технологии и мультиагентные системы. По определению [Gruber T. R, 1991] онтология - это спецификация концептуализации, которая состоит из словаря и теории. Онтологии включают абстрактное описание как очень общих, так и специфичных для конкретной предметной области терминов. Вопрос о корректном способе анализа знаний с целью определения терминов остается пока открытым и его обсуждению посвящено множество работ [Chandrasekaran B.,. Josephson J. R,. Benjamins V. R, 1998]. Одной из сильных сторон онтологий являются их потенциальные свойства для решения таких важных задач как разделение знаний и их повторное использование. Это заключение основывается на предположении о том, что если общая схема (представления и использования знаний), - то есть онтология, -явно определена для работающих с ней агентов как общий ресурс, то этот ресурс возможно разделять между агентами и многократно использовать [Fridman Noy, Hafner, 1997].

Онтологии и Web


Сегодня перечень проектов, которые в той или иной степени связаны с онтологиями на Web, уходит за горизонт, поэтому здесь остановимся только на самых интересных из них. Проект CYC® создания мульти-контекстной базы знаний и машины вывода, разрабатываемой Cycorp. Основная цель этого гигантского проекта раз и навсегда построить базу знаний всех общих понятий, включающую семантическую структуру терминов, связей между ними, правил, которая будет доступна разнообразным программным средствам [Lenat, 1995].

В рамках проекта (KA)2 (Knowledge Acquisition Initiative) по организации интеллектуального доступа к документам онтология является основой для аннотации WWW - документов. (KA)2 - это открытая инициатива, в рамках которой участники включаются в процесс создания распределенной онтологии и модели извлечения знаний (онтологии предметной области). Одной из целей (KA)2 является трансформация из представления WWW (как базы знаний) в систему, основанную на знаниях [Benjamins, Fensel D., 1998].

Авторы работы [Luke et al., 1997] в проекте SHOE предлагают аннотировать информацию, содержащуюся в HTML-документах, также используя онтологии. В SHOE "владельцы" информации могут сами аннотировать свои документы и расширять конкретную онтологию новыми понятиями. В этой системе центральный администратор онтологий не определен. Как следствие, давая запрос, пользователь может не знать все термины, которые используются для аннотации HTML-документов. Поэтому ответ на запрос может не содержать важную для пользователя информацию.

В проекте Ontobroker [Fensel V. D., et. all, 1998] предлагается организация онтологии с автоматической аннотацией WWW-документов семантической информацией. Основная идея данного проекта - это использование метафоры группы по интересам (newsgroup), чтобы определить группу людей, у которых общий взгляд на понятия и их место в общей онтологии. В отличие от SHOE, в Ontobroker имеется администратор онтологий и клиенты могут узнать все термины онтологий. В SHOE используется дескриптивная логика как базисный формализм для вывода, а Ontobroker использует логику, основанную на фреймах и поддерживает довольно сложный механизм вывода ответа на запрос. Созданный в рамках этого проекта специальный поисковый механизм Ontocrawler поддерживает полную коллекцию всех аннотированных с помощью Ontobroker HTML-страниц.

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

Онтологическая поисковая система Jewel для реализации интеллектуального поиска в Интернет- и интранет-сетях.


Общим для всех систем онтологического аннотирования является то, что в качестве аннотации веб-ресурса выступает специальным образом организованная предметная онтология, которая содержит структурированные знания об аннотированном ресурсе относительно некоторой метаонтологии предметной области. Можно предложить различные способы размещения онтологической информации о ресурсе: включить онтологическое описание в HTML код через введение новых HTML тегов, либо хранить онтологическое описание ресурса в отдельном файле в каком-либо специальном представлении.

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

Как известно, фреймы — средство описания статических знаний, удобное для описания иерархии абстрактных и конкретных понятий, близкое к объектно-ориентированному подходу . Продукции, определенные над множеством фреймов и их слотов, позволяют описывать динамические знания.

В тоже время, применение фреймово-продукционных языков представления знаний в "чистом" виде недостаточно для организации эффективного онтологического поиска. Это видно, например, из следующего соображения.

Пусть всякое онтологическое описание внедрено только в описываемый этой онтологией ресурс. Мы будем считать ресурс известным, если мы в любой момент имеем доступ к его содержимому и, как следствие, к онтологическому описанию. Предположим, что нам уже известно некоторое множество онтологий, и мы хотим указать поисковой системе, какие еще онтологии мы хотели бы сделать известными. Для этого необходимо указать некоторое правило - поисковый запрос, который отделит искомые онтологии от всех остальных, имеющихся в системе. Однако, в общем случае, отсутствует возможность узнать, какие знания содержатся в онтологии до того, как она стала известной.

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

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

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

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

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

Язык составления онтологических описаний


Для составления онтологических описаний в рамках создания онтогической поисковой системы Jewel была проведена разработка общего языка описания онтологий. В основе предлагаемого языка лежит фреймово-продукционный язык JFMDL из состава инструментария JULIA (Java Universal Library for Intelligent Applications), расширенный согласно вышеописанным положениям.

Язык позволяет производить онтологические описания HTML страниц, используя понятия: категория, условное правило, безусловное правило и концепт. Под онтологией HTML страницы (онтологией части предметной области, описываемой в странице) понимается описание некоторого ресурса, проводимое в терминах общего языка описания онтологий.

В целях повышения эффективности поиска онтологий и непротиворечивости их описания принимаются следующие соглашения:
  • Каждая онтология HTML страницы предназначена для непосредственного описания той страницы, на которой она находится. Причем в теле страницы может быть определена только одна онтология.
  • Каждая онтология обладает набором предопределенных свойств:
  • именем, которое совпадает с физическим местоположением HTML страницы, в теле которой содержится описание онтологии;
  • списком используемых онтологий (для описания категорий и правил создаваемой онтологии могут применяться категории и правила объявленных используемых онтологий) и их внутренних имен, ассоциированных с ними для удобства;
  • кратким словесным описанием.

Для описания онтологии используется надмножество стандарта HTML, в котором расширяется стандартный тег

. . .


Теперь любая страница, содержащая информацию о конкретном самолете, может быть дополнена онтологическим описанием, например, следующим образом:


Страница tu-154.php

. . .








Tu-154










. . .


Таким образом, создается возможность для организации предметной онтологии, состоящей из некоторого числа онтологий HTML страниц.

Язык поисковых запросов


Для составления поисковых запросов в системе Jewel применяется специализированный язык, состоящий из следующего набора операторов:
  • Оператор SEARCH имеет следующую форму:

SEARCH

USE 'адрес_1' AS имя_1

. . .

USE 'адрес_N' AS имя_N

IMPORT LIBRARY имя_библиотеки_1

. . .

IMPORT LIBRARY имя_библиотеки_M

WHERE "условие"


Под условием понимается логическое выражение, определяющее искомые онтологии. В процессе поиска производится обход всех подходящих запросу онтологий2, и к элементам каждой из них применяется указанное поисковое условие. В качестве результата возвращаются онтологии, для которых условие истинно.

Для задания условия могут использоваться следующие предикаты:
  • INHERITED(имя_категории) - принимает истинное значение в текущей онтологии, если имеется категория, унаследованная непосредственно от указанной в аргументе. В противном случае предикат принимает ложное значение.
  • EXTENDS(имя_категории) - принимает истинное значение в текущей онтологии, если имеется категория, унаследованная (возможно не непосредственно) от указанной в аргументе. В противном случае предикат принимает ложное значение.
  • IMPLEMENTS(имя_категории) - принимает истинное значение в текущей онтологии, если имеется концепт, представленный категорией, указанной в аргументе. В противном случае предикат принимает ложное значение.

Кроме предикатов в условие входят так называемые неявные выражения над концептами. Так, например, выражение (имя_категории.имя_слота > "значение") означает, что выражение будет истинно в случае, если текущая онтология имеет концепт указанной категории, и выражение для его слота истинно (для приведенного примера это означает, что значение, хранимое в слоте концепта, должно быть больше указанного).

Для проверки истинности выражения, при помощи обратного логического вывода, производится вычисление значения слота и последующее сравнение. В случае, если значение слота не вычислимо — выражение признается ложным.

Все выражения и предикаты в условии запроса могут быть связаны логическими операциями AND, OR и NOT.
  • Оператор EXTRACT имеет следующие три формы:
  • EXTRACT BASE - возвращает адреса всех зарегистрированных в системе онтологий;
  • EXTRACT ROOT - возвращает адреса всех зарегистрированных в системе онтологий, которые не используют никаких других онтологий;
  • EXTRACT ONTOLOGY 'адрес' - возвращает онтологическое описание страницы, зарегистрированной по указанному адресу.


Рассмотрим более подробно процесс поиска информации в предлагаемой поисковой системе. Допустим, что имеется некоторая предметная область, для которой составлены все необходимые онтологические описания. Ставится задача найти страницу, в тексте которой описан некоторый факт. В терминах, введенных в данной работе, для описания явлений используется понятие категории, а для указания частных случаев явлений — концепты. Таким образом, требуется найти страницу, онтология которой содержит концепт некоторой неизвестной категории. Как видно, в общем случае, вначале требуется найти категорию, описывающую нужное явление. Затем требуется отыскать концепт найденной категории, описывающий требуемый факт. Онтология, содержащая найденный концепт, будет онтологией искомой страницы. Общий алгоритм поиска для прелагаемой поисковой системы будет сводиться к следующим действиям:
  • Определение корня онтологий - именно с коренных онтологий можно начать изучение структуры онтологических описаний в случае, если структура введенной в рассмотрение предметной онтологии неизвестна. Изучение онтологий найденных страниц проводится посредством просмотра с помощью команды EXTRACT ONTOLOGY.
  • Изучение описаний известных явлений предметной области до тех пор, пока не будет найдена категория, концепт которой может оказаться искомым фактом. При этом поиск новых онтологий ведется преимущественно с применением предикатов типа IMPLEMENTS, INHERITED и EXTENDS к известным категориям.
  • Определение отличительных особенностей искомого концепта и непосредственный поиск концепта исходя из его отличительных особенностей. Поиск онтологии, очевидно, должен вестись с использованием неявных выражений над категориями.


Приведенный алгоритм легко продемонстрировать на ранее приведенном примере. Выделение коренных онтологий командой EXTRACT ROOT даст в качестве результата адрес онтологии страницы aircrafts.php, так как она не использует в своем описании других онтологий. Страницу самолета Ту-154 легко можно найти по названию самолета:

SEARCH

USE ' aircrafts.php' AS aircrafts

WHERE (@aircrafts~Plane.name == 'Tu-154') AND (IMPLEMENTS(PassengerPlane))


Или зная, например, что искомый самолет дозвуковой и берет на борт до 100 человек:

SEARCH

USE ' aircrafts.php' AS aircraft

WHERE (@aircraft~Plane.type = = 'subsonic')

AND(@aircraft~PassengerPlane.passengers = = 100)


Последний из вышеприведенных примеров наглядно показывает элемент интеллектуальности проводимого поиска, так как информация о том, что самолет Ту-154 дозвуковой, явно нигде не указывалась, а была выведена логически по продукционному правилу, общему для всех концептов, прямо или косвенно представляющих категорию Plane.

Легко заметить, что быстрота и качество поиска существенно зависят от качества составления онтологических описаний. Для предметной онтологии, в которой категории разбросаны по слишком большому числу онтологий страниц, поиск затруднен. Однако очевидно, что для большого объема текстов было бы неправильно сосредоточить все категории в одной онтологии, как это было сделано в вышеприведенном примере. Такой шаг может привести к нарушению смыслового разделения между понятиями и повредить точности и выразительности онтологического описания. Это, в свою очередь, негативно скажется на времени поиска, так как пользователь будет вынужден работать с большим множеством получаемых в качестве ответов страниц, аналогично тому, как это происходит при поиске по ключевым словам в классических поисковых машинах. Для более сложных онтологических систем характерно присутствие трех логических уровней:
  • Первый уровень - это уровень общих абстракций. Этот слой онтологических описаний объединяет в себе все понятия предметной области и одновременно не проводит никакой конкретизации понятий.
  • Второй уровень - уровень описания явлений. В этой части онтологического описания указываются конкретные явления, максимально приближенные к реальности.
  • Третий уровень - предметных концептов, т.е. реализация явлений, описанных во втором уровне.

Для небольших онтологических описаний возможно сращивание первого и второго уровня, как в приведенном примере.

Как легко видеть, в таком случае поиск состоит из двух взаимосвязанных частей: поиск описаний явлений и поиск конкретных реализаций этих явлений.

Вопросы реализации


Реализация опытного прототипа системы онтологического поиска Jewel производилась на языке Java. В основу реализации был положен инструментарий JULIA для создания распределенных интеллектуальных систем на основе продукционно-фреймового представления знаний. С использованием технологии JavaCC были разработаны трансляторы с языка онтологического описания веб-ресурса во внутреннее представление JULIA, а также интерпретатор языка поисковых запросов.

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

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

Перспективы применения и развития


В процессе работы над системой Jewel выявились некоторые возможные пути дальнейшего совершенствования методики онтологического поиска.

Рассмотрим улучшения, которым можно подвергнуть язык запросов. Прежде всего, следует отметить, что возможности языка поисковых запросов могут быть существенно расширены за счет введения возможности поиска не только онтологий, но и их составляющих - категорий и концептов. Это позволит создавать вложенные поисковые запросы, увеличив тем самым выразительность языка.

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

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

Разработка методов самообучения для поисковой машины может привести к созданию принципиально нового поколения поисковых систем, онтологические описания ресурсов которых совершенствуются в жизненном цикле такой системы без прямого участия человека.

Нельзя обойти вниманием и уже наметившуюся тенденцию к созданию программных средств автоматической генерации онтологических описаний. В основе данных разработок лежит анализ естественного языка. К сожалению, особенно революционных достижений в данной области обнаружить не удается, но наметилась объективная тенденция к росту возможностей таких систем. Прогресс в области естественно-языкового анализа в будущем неизбежно затронет и языки поисковых запросов, что будет приближать разработчиков к созданию более интеллектуальных поисковых систем.

Язык публикации знаний в Internet (KML)

Введение


В данной работе под семантикой мы будем понимать отношение между языковыми выражениями (словами, сочетаниями, текстами), а также совокупность всех таких отношений c различными ролями и атрибутами.

Эти отношения состоят в том, что языковые выражения (слова, словосочетания, предложения, тексты) обозначают то, что есть в мире, —предметы, качества (или свойства), действия, способы совершения действий, последовательности действий, отношения, алгоритмы.

Термин "семантика" образован от греческого корня, связанного с идеей "обозначения" (ср. semantikos "обозначающий"). Именно такой смысл мы и будем вкладывать в корень слова семантика: обозначение свойств, ролей и связей. Причём, мы будем рассматривать семантику разных уровней: семантика слов, семантика предложений, семантика единиц знаний, семантика базы знаний.

Первые две ``семантики'' мы объединим в семантику языка, а две другие в семантику знаний. Под семантикой языка мы понимаем, в частности, связи между словами: ``синонимичность'', ``состоит из'', ``является частным случаем'', и роли слов в предложении: ``объект действующий'', ``суть действия``, ``описание действующего объекта'', ``описание действия'', ``объект действия'', а также роли предложений и связи между предложениями.

Семантика знаний —это связи между единицами знаний: ``основывается на'' (background links), ``связано по смыслу'' (related links), ``является продолжением'', ``предшествует'' (sequence links), и роли единицы знаний: ``аннотация'', ``теорема'', ``определение понятия'', ``доказательство утверждения'', и т.д.

В действительности ролей и связей гораздо больше, они могут быть другие, в зависимости от уровня семантики и её назначения.

Компьютерная лингвистика —направление в прикладной лингвистике, ориентированное на использование компьютерных инструментов v- программ, компьютерных технологий организации и обработки данных v- для моделирования языка в тех или иных условиях, ситуациях, проблемных сферах и т.д.

Одно из направлений компьютерной лингвистики занимается созданием машинных языков, позволяющих выделять семантику различных уровней и назначений.

В данной работе проанализирована проблема формализации семантики различных уровней и задача об автоматическом выделении (или ``маркапировании'') этой семантики. Рассмотрена иерархия языков и различные языковые метапереходы.

Markup —выделить, отметить, то есть чётко прописать роли и свойства объектов, а также роли и свойства связей.

Задача об автоматическом маркапировании семантики является, по сути, задачей о том, как научить компьютер естественному языку, то есть научить видеть семантику слов, предложений, текстов и единиц знаний. Эта задача непосредственно связана с вопросом о том, каким образом человек, зная слова и грамматические правила какого-либо естественного языка, оказывается способным передавать с их помощью разнообразную информацию и понимать, какую информацию о мире заключает в себе различные высказывания (текст, набор текстов). Можно сказать, что это задача о том, как человек выделяет смысл из текста, как определяет о чем данный текст и как классифицирует тексты по тематикам. Этими вопросами занимается наука лингвистическая семантика.

Прежде, чем ставить задачу об автоматической разметке семантики, необходимо создать базовую схему языков, связанных и иерархически выстроенных. Этой первостепенной задаче посвящена большая часть работы —формализации семантики языка и семантике знания.

Далее рассматривается семантика знания. Там также обозначены основные проблемы индустрии знаний и предложено несколько идей по преодолению этих проблем. Одно из решения —инструмент выделения семантики знаний язык знаний KML, который позволяет создавать базы знаний, которые понятны для компьютера (Computer Readable). Компьютер может эффективно помогать человеку при работе с такими базами знаний, поскольку он сам ``видит'' структуру знаний, связи между знаниями и роли различных элементов знаний.

Семантика Знаний


Базовой идеей проекта Semantic Web является создания языков понимаемых как машинами, так и людьми. То есть не просто создавать большие архивы документов, а делать их структурированными и связанными друг с другом.

Проблемы современных Баз Знаний и их решения


Индустрия знаний ``Путешествия вглубь науки'', о которых писал Станислав Лем, сейчас стали неотъемлемой частью научной деятельности всякого ученого. Открытия в области естественных наук, техники, архивы результатов исследований предстают перед ним необъятным информационным потоком. Так получается, что современный ученый вынужден тратить большую часть своего времени на ``путешествия вглубь науки'', то есть на изучение и анализ чужих работ. Изобретение велосипедов —это ещё не самая большая беда. Изобрести велосипед заново иногда проще, чем найти описание его конструкции в архиве. Есть другая опасность, а именно то, что ученые, занимающиеся вроде бы одной проблемой, вдруг обнаруживают, что они не понимают друг друга, потому что выросли в разных научных школах.

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

Процесс ``электронизации знаний'' идет и набирает ход. Научно-образовательная деятельность, так или иначе, стала занимать свою нишу в WWW. В качестве примера приведу три успешных сайта: xxx.lanl.gov (российское зеркало xxx.itep.ru), www.citeseer.com, и новая научная российская сеть www.nature.ru.

Но шаг этот не решил проблему, а скорее обнажил её, выявил её размеры. Ученый просто теряется, когда обнаруживает, что ежедневно выходит с десяток публикаций о фундаментальных работах в той узкой области науки, которой он занимаются. Создается впечатление, что в некоторых областях науки уже достигнута ситуация ``мегабитовой бомбы'' или ``информационного барьера'', о которой писал С. Лем. Наука не может перейти этот барьер, не может справиться с обрушивающейся на неё лавиной информации.

Конечно, решения есть. Одно из них предлагает российский проект KML (Knowledge Markup Language, ru),

Наметился целый ряд тенденций в области публикации и получения знаний в глобальной сети Интернет. На данный момент существует несколько проектов (KA [21], SHOE [24], RDF [19]), имеющих сходные цели и использующие одну модель представления знаний —онтологии. Их разработка связана с получением знаний и причесыванием уже существующего содержания страниц, опубликованных в Интернет. Однако, эти системы не получили достаточного распространения, поскольку дополнительное атрибутирование документов (на чем, в принципе, все эти системы и основаны), которое не приводит к существенному росту информативности, порождает еще большую переинформированность.

Базовые идеи создания ``правильных баз знаний'':
  • Как правильно писать знания?
  • Как правильно организовать базу знаний в интернет?

Kml —язык знаний (knowledge markup language). Проект kml взял на себя задачу разработку спецификации этого языка, а также различного инструментария для работы со знаниями. Инструментарий -- это программы
  • Для создания знания и его публикации в www —knowledge builder;
  • Для навигации по базе знаний —knowledge viewer;
  • Для запросов к базе знаний —knowledge query;
  • Для перевода знаний из kml в другие форматы (html, tex, rtf)

Основные идеи проекта по решению проблемы ``мегабитовой бомбы'' таковы:

Стандартизация Языка Знаний


Это означает создание базовой спецификации Универсального Языка Знаний, а скорее даже создание общей технологии формализации элементов знаний в различных областях науки, плюс технологии построения самой Базы Знаний.

В качестве основы была взята технология XML (www.xml.org, www.w3.org) создания языков, которая уже хорошо зарекомендовала себя. С её помощью созданы языки для математических и химических формул, логики высказываний, доказательств, языки обмена информацией и др.

KML тоже является XML языком, и, кроме того, он содержит в себе возможность включения объектов, написанных на других XML языках. Эта расширяемость KML позволяет ему эволюционировать, что является неотъемлемым свойством языка знаний, а стандартизация есть обязательное условие построения единой глобальной базы знаний.

Грануляризация знаний


То есть хранение знаний в отдельных, небольших, относительно самостоятельных единицах, структурированных и снабженных метаинформацией.

Для этого в KML существует специальный термин —UNIT. Что из себя должен представлять UNIT? Каковы основные свойства информационной единицы? Следует запомнить главное: отказаться от использования контекста и эллипсиса ради гибкости. Определение терминов, доказательство теорем, описание объектов и алгоритмов -- все должно быть кратко и читаться в отрыве от общего контекста. Разрешается только использование ссылок на используемые объекты, термины, обязательные знания, прошлые версии и пр. Эти требования должны привести к отсутствию повторений и желания писать все заново. Оптимальный объем UNIT'а —абзац текста, который лексически связывает воедино используемые термины, объекты и мысль, выраженную в виде алгоритма или семантических связей. Любая книга (проект), публикуемый в KML —это набор UNIT'ов, связанных связями последовательности изложения и другими зависимостями. Причем изложение должно быть построено (литературно) таким образом, чтобы текст последовательности UNIT'ов можно было читать с любого места, с учетом того, что в дальнейшем, при составлении ответов на запросы пользователей, текст может быть разорван в местах разрыва UNIT'ов.

Конечно, любые изначальные рамки и рафинирование 'губят' мысль. Но, возможно, иначе нельзя. Публикация повторений вызовет путаницу при поиске информации.

Программируемость знаний


Речь идёт об идее возведения знаний в ранг программного продукта.

Публикация знаний в формате KML очень напоминает программирование: ``программировать —значит понимать''.

``Писать знания = программировать знания'' является лишь частичной аналогией, потому что большая часть знаний программиста остается все-таки в его голове и не попадает в код программы, так как программа —это МАШИННЫЕ ЗНАНИЯ. Действительно, программист формализует знания не для остальных людей, а для машины и, следовательно, остальное приходится дописывать в комментариях для того, чтобы код был понятен остальным. Возьмём теперь экспертные системы. В их создании участвуют три постоянных роли: специалист предметной области, инженер по знаниям и программист. Первый из них —это носитель знаний, ЧЕЛОВЕЧЕСКИХ ЗНАНИЙ. Второй осуществляет формализацию знаний для занесения их в программу, при этом процесс выглядит как ``допрос'' эксперта предметной области, ``вытягивание'' из него знаний. Третий же должен запрограммировать результат. Технология XML предполагает совмещение в лице ``писателя знаний'' сразу трёх ролей. Конечно, это тяжело, но здесь в помощь приходят разрабатываемые KML инструменты для Визуального Программирования Знаний.

Таким образом, ещё одна цель проекта KML —это создание простого и понятного языка формализации знаний, который бы позволил специалистам и экспертам в предметной области не прибегать к услугам инженера по знаниям и программиста, а самостоятельно ``программировать'' свои знания (для этого существуeт специальный термин —автоформализация).

Язык KML представляет собой лишь первый шаг в направлении Визуального Программирования Знаний. На его основе в настоящее время проектируются системы построения семантических сетей, связанных текстов и визуализации алгоритмов.

Следующая важная параллель программирования для машин и формализации знаний для людей —это повторное использование. При разработках программных систем особое внимание уделяется возможности повторного использования и доработки. Повторное использование может относится практически к любым аспектам программирования (структуры данных, модели поведения, протоколы и т.п.) и заметно удешевляет и ускоряет процесс разработки. Почему бы не использовать эту технологию создания программ для построения структуры человеческих знаний? Конечно, чтобы знания, как программный компонент, можно было использовать повторно, их форма должна удовлетворять определенным условиям ``стыковки''. Эти условия и диктует KML, позволяя тем самым создавать хорошо оформленные строительные блоки знаний (UNIT'ы)

Итак,

1) KML претендует на решение проблемы чистоты содержания, то есть отсутствие ``воды'' в научном информационном потоке,

2)KML предоставляет стандарт для объединения накопленной человечеством информации в единой распределённой Базе Знаний.

Каждый человек, публикующий документы в формате KML, должен всегда помнить три повелительных глагола:
  1. Избегать повторения.
  2. Использовать имеющееся.
  3. Улучшать существующее.

А KML, в свою очередь, будет заботится о следующем:
  1. Выразительные средства формализации всех типов знаний.
  2. Поддержка версионности.
  3. Единая среда разработки и хранения знаний.
  4. Удобство навигации.

Технологии знаний и программные технологии


Чистота содержания, отсутствие ``воды'' в научном информационном потоке, не может быть достигнута просто переходом на новый язык представления знаний в компьютере. Необходим новый стиль работы с знаниями. KML накладывает ряд серьёзных требований к публикуемым знаниям. Указанные три базовые идеи (стандартизация, грануляризация и программируемость) усложняют процесс написания знания. ``Писатели знания'' должны придерживаться определенной формы, и много потрудиться прежде, чем опубликовать свои научные разработки. В связи с этим нужны удобные технологии публикации знаний.

Требования к знаниям и технологии публикации


Писатели знаний должны избегать повторения, использовать имеющееся, улучшать существующее знания. А это значит разобраться в том, что уже разработано, написано и изучено, дать на эти работы ссылки. Ещё нужно позаботиться о недоcтаточно подкованном читателе, дав ему ссылки на базовый материал (background), а также о заинтересованном читателе, который хочет знать больше, и предоставить ему ссылки на работы для дальнейшего чтения. Кроме того, тематика работы, используемые термины, обозначения, ссылки на другие работы должны быть общепринятыми и стандартизованными, чтобы база знаний адекватно воспринимала эти единицы знаний, правильно индексировала и помещала в ``правильное место'' в общей структуре знания.

Заботу о стандартах и правильности формы единицы знаний, а также задачу о помещении её в правильный контекст может взять на себя компьютер, но конечно, лишь частично.

Инструментарии включает в себя авторубрикаторы, авторефераторы (программы выделяющие ключевые слова и структуру), и программы автоматически выявляющие базу (background). Все они так или иначе связаны с обучением компьютера естественному языку. Об этом пойдет речь в следующей части ``Семантика Языка''.

Заключение


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

Конечно, существует ряд спорных моментов и нерешенных проблем. Далее обсуждаются некоторые из них.

Идея приписывания каждому HTML-документу либо заголовка с описанием ключевых слов и семантическими связями между ними [Luke et. all, 1996], либо другой классифицирующей информации проста и понятна, но пока практически не реализуема. Нельзя ожидать, что онтологии будут использоваться каждым пользователем, но даже если это станет возможным, то крайне затруднительным окажется процесс коммуникации пользователей с целью договориться об используемых терминах. Безусловно, возможна автоматическая модификация документов, но, по крайней мере, необходимы единые стандарты формата мета-тагов и четко определенные протоколы взаимодействия разных составителей онтологий. Использование идеи групп по интересам также проблематично, так как другие пользователи, имея другую модель мира, не смогут "распознать" нужные им документы. Наконец, разработка онтологий занимает много времени.

Большие онтологии, такие как CYC, создаются на основе абстрактного и очень общего описания понятий предметной области и связей между ними. Реально для каждого пользователя возможен свой контекст для представления терминов в зависимости от ситуации и модели мира пользователя. Поэтому часто пользователю не нужна огромная онтология, содержащая описание "всего мира".

Использование нескольких онтологий для учета контекстного взгляда конкретного пользователя представлена в [Takeda H., Iino K., Nishida T, 1995]. Каждое понятие описывается (часто on-line) с нескольких точек зрения, каждая из которых представляет способ концептуализации. Но при данном решении возможна ситуация "сегментации знаний" в сети.

Направление развития данной парадигмы определяется решением указанных выше проблем, то есть какими быть онтологиям в Интернет: универсальными или ограниченными предметной областью(областями); уникальными в системе или состоящими из распределенного подмножества; доступными для редактирования всем пользователям или только администратору. Возможно интересные результаты даст поиск новых структурных решений внутренней организации онтологии, способов доступа к хранящейся в ней информации, новых методов вывода и представления ее для пользователя. Необходимо развивать методы взамодействия пользователя с онтологией (онтологиями).

Вовлечение систем, основанных на знаниях на Web, компонентом которых являются онтологии, позволяет рассматривать всемирную паутину как организованное и структурированное пространство знаний, что, возможно, приведет к использованию информации в сети на новом уровне.

Литература

  1. От информационного пространства к пространству знаний. Онтологии в Интернет. (ссылка скрыта)
  2. Мультиагентная система поиска в Интернет (ссылка скрыта)
  3. Онтология и Web (ссылка скрыта)
  4. Основные принципы онтологического анализа (ссылка скрыта)
  5. Язык Разметки Знаний (KML) (ссылка скрыта)

1 Другие связи определены продукционными правилами. Они неизвестны до тех пор, пока не стала известной сама онтология.

2 Для повышения быстродействия все проверяемые онтологии, при помощи индекса, предварительно отбираются в кандидатное множество.