Семантические сети
Семантическая сеть как структура для представления знаний в виде узлов, соединенных дугами. История возникновения логических формул и их обозначения в виде деревьев. Виды и тиология графов. Пропозиционные сети. Применение на практике семантических сетей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 18.12.2012 |
Размер файла | 29,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
РЕФЕРАТ
СЕМАНТИЧЕСКИЕ СЕТИ
Введение
Семантическая сеть - структура для представления знаний в виде узлов, соединенных дугами. Самые первые семантические сети были разработаны в качестве языка-посредника для систем машинного перевода, а многие современные версии до сих пор сходны по своим характеристикам с естественным языком. Однако последние версии семантических сетей стали более мощными и гибкими и составляют конкуренцию фреймовым системам, логическому программированию и другим языкам представления. Начиная с конца 50-ых годов были создано и применены на практике десятки вариантов семантических сетей. Несмотря на то, что терминология и их структура различаются, существуют сходства, присущие практически всем семантическим сетям:
1. узлы семантических сетей представляют собой концепты предметов, событий, состояний;
2. различные узлы одного концепта относятся к различным значениям, если они не помечено, что они относятся к одному концепту;
3. дуги семантических сетей создают отношения между узлами-концептами (пометки над дугами указывают на тип отношения);
4. некоторые отношения между концептами представляют собой лингвистические падежи, такие как агент, объект, реципиент и инструмент (другие означают временные, пространственные, логические отношения и отношения между отдельными предложениями;
5. концепты организованы по уровням в соответствии со степенью обобщенности так как, например, сущность, живое существо, животное, плотоядное,;
Однако существуют и различия: понятие значения с точки зрения философии; методы представления кванторов общности и существования и логических операторов; способы манипулирования сетями и правила вывода, терминология. Все это варьируется от автора к автору. Несмотря не некоторые различия, сети удобны для чтения и обработки компьютером, а также достаточно мощны, чтобы представить семантику естественного языка.
Историческая справка
Фрег представил логические формулы в виде деревьев, которые однако мало напоминают современные семантические сети. Еще одним пионером стал Чарльз Сандерз Прис, который использовал графические записи в органической химии. Он сформулировал правила выводы с использованием экзистенциональных графов. В психологии Зельц использовал графы для представления наследственности некоторых характеристик в иерархии концептов. Научные изыскания Зельца имели огромное влияние на изучение тактики в шахматах, который в свою очередь повлиял на таких теоретиков, как Саймон и Ньюэлл.Что касается лингвистики, то первым ученым, занимавшимся разработкой графических описаний, стал Теньер. Он использовал графическую запись для своей грамматики зависимостей. Теньер оказал огромное влияние на развитие лингвистики в Европе.
Впервые семантические сети были использованы в системах машинного перевода в конце 50-х - начале 60-х годов. Первая такая система, которую создала Мастерман, включала в себя 100 примитивных концептов таких, как, например, НАРОД, ВЕЩЬ, ДЕЛАТЬ, БЫТЬ. С помощью этих концептов она описала словарь объемом 15000 единиц, в котором также имелся механизм переноса характеристик с гипертипа на подтип. Некоторые системы машинного перевода базировались на корреляционных сетях Цеккато, которые представляли собой набор 56 различных отношений, некоторые из которых - падежные отношения, отношения подтипа, члена, части и целого. Он использовал сети, состоящие из концептов и отношений для руководства действиями парсера и разрешения неоднозначностей.
В системах искусственного интеллекта семантические сети используются для ответа на различные вопросы, изучение процессов обучения, запоминания и рассуждений. В конце 70-х сети получили широкое распространение. В 80-х годах границы между сетями, фреймовыми структурами и линейными формами записи постепенно стирались. Выразительная сила больше не является решающим аргументом в пользу выбора сетей или линейных форм записи, поскольку идеи, записанные с помощью одной формы записи могут быть легко переведены в другую. И наоборот, особо важное значение получили второстепенные факторы, как читаемость, эффективность, неискусственность и теоретическая элегантность, также учитываются легкость введения в компьютер, редактирование и распечатка.
Реляционные графы
Самые простые сети, которые используются в системах искусственного интеллекта, - реляционные графы. Они состоят из узлов, соединенных дугами. Каждый узел представляет собой понятие, а каждая дуга - отношения между различными понятиями. На рисунке 1 представлено предложение “Собака жадно гложет кость”. Четыре прямоугольника представляют понятия собаки, процесса гложения, кости и такой характеристики, как жадность. Надписи над дугами означают, что собака является агентов гложения, кость является объектом гложения, а жадность - это манера гложения.
Терминология, использующаяся в этой области различна. Чтобы добиться некоторой однородности, узлы, соединенные дугами, принято называть графами, а структуру, где имеется целое гнездо из узлов или где существуют отношения различного порядка между графами, называется сетью. Помимо терминологии, использующейся для пояснения, также различаются способы изображения. Некоторые используют кружки вместо прямоугольников; некоторые пишут типы отношений прямо над дугами, не заключая их в овалы; некоторые используют аббревиатуры, например О или А для обозначения агента или объекта; некоторые используют различные типы стрелок. На рисунке 2 изображен граф концептуальных зависимостей Шенка. <=> означает агента. INGEST (поглощать) - один из примитивов Шенка: ЕСТЬ - ПОГЛОЩАТЬ твердый объект; ПИТЬ - ПОГЛОЩАТЬ жидкий объект; ДЫШАТЬ - ПОГЛОЩАТЬ газообразный объект. Дополнительная стекла слева показывает, что кость переход из неуказанного места к собаке. Поскольку довольно сложно ввести в компьютер некоторые диаграммы и при этом они занимают много места при печати, многие ученые записывают свои графы в более компактном варианте. Например, то же предложение Сова предложил записать в линейном виде с использованием некоторых элементов из рисунка 1:
[ЕСТЬ]-
(AGNT) -> [СОБАКА]
(OBJ) -> [КОСТЬ]
(MANR) -> [ЖАДНОСТЬ]
В этом варианте записи квадратные скобки обозначают понятия, а круглые скобки содержат в себе названия отношений. Все линейные формы записи очень похожи на фреймовые структуры.
Графы с центром в глаголе
Глаголы соединяются с группой существительного с использованием падежных отношений. Например, с предложении “Mary gave a book to Fred”, Mary агент давания, book объект этого процесса, а Fred реципиент глагола “давать”. Помимо падежных отношений в предложении в естественном языке также имеются средства для связи отдельных предложений. Такие отношения необходимы для следующего:
Союзы. Самый простой способ соединить предложения - это поставить между ними союз. Некоторые союзы, как например “и”, “или”, “если” обозначают логическую связь; некоторые, такие как “после того, как”, “когда”, “пока”, “с тех пор, как” и “потому что”, выражают временные отношения и причину.
Глаголы, требующие подчиненное предложение. Падежные фреймы многих глаголов требуют подчиненного предложения, являющегося обычно прямым дополнением. К такому типу относятся глаголы “говорить”, “считать”, “думать”, “знать”, “быть убежденным”, “угрожать”, “пытаться” и др.Определители, относящиеся к целому предложению. Многие наречия и пропозиционные фразы относятся только к глаголу, но некоторые определяют целое предложение. Такие наречия, как “обычно”, “вероятно”, в большинстве случаев ставятся в начале предложения. А например, слово “однажды” определяет весь рассказ, следующий после него.Модальные глаголы и времена. Такие глаголы, как “may”, “can”, “must”, “should”, “would” и “could” имеют модальное значение и относятся ко всему предложению, где они встречаются. Временное отношение может быть выражено как формой прошедшего времени глаголов, так и обстоятельствами “сейчас”, “завтра” или “однажды” и другими.Связанный дискурс. Помимо отношений, выраженных в одном предложении, существуют также отношения более высокого порядка между отдельными предложениями рассказа или какого-либо другого повествования. Многие из них не выражены эксплицитно: временные отношения и следование аргументов может быть, например, имплицитно выражено порядком следования предложения друг за другом в тексте.
Именно потому, что глагол отводится такая важная роль в предложении, многие теория делают его своим центральным связующим звеном. Этот подход берет свое начало из Индо-Европейской языковой семьи, где модальность и временные отношения выражаются изменением глагольной формы. Рассмотрим следующий пример: “While a dog was eating a bone, a cat passed by unnoticed”. В этом предложении сообщено, что, когда предложение “While a dog was eating a bone” являлось истинным, второе предложение “A cat passed unnoticed” также является истинным. На рисунке 3 изображен граф с центром в глаголе. Союз “while” (WHL) соединяет узел PASS-BY с узлом EAT. На рисунке 3 показано, что собака является агентом незамечания (not noticing).Графы с центром в глаголе - это реляционные графы, где глагол считается центральным звеном любого предложения. Маркеры времени и отношения пишутся прямо рядом с концептами, которые представляют глаголы. Графы концептуальных зависимостей Роджера Шенка также используют этот подход. Несмотря на то, что графы с центром в глаголе довольно гибкие по своей структуре, они обладают рядом ограничений. Одно из них заключается в том, что они не проводят разграничение между определителями, которые относятся только к глаголу, и определителями, относящимися к предложению целиком. Рассмотрим следующие примеры:
The dog greedily ate the bone.
Greedily, the dog ate the bone.
Эти графы также плохо справляются с предложениями, находящимися внутри других предложений.
При работе с реляционными графами возникают проблемы с передачей всего многообразия временных отношений и отношений модальности. Несмотря на то, что многие учение используют эти графы для решения сложных проблем, они так до сих пор и не разработали общего метода для их разрешения. В выше приведенном примере пометка PAST должна относится ко всему предложению, которое говорит о том, что собака ест кость, а не только к глаголу EAT, поскольку очевидно, что кость позже была съедена собакой целиком. Также должно быть указано, что процесс прохождения кошки и процесс не замечания ее собакой происходили в одно и то же время.
Пропозиционные сети
В пропозиционных сетях узлы представляют целые предложения. Эти узлы являются точками соприкосновения для отношений между отдельными предложениями связанного текста. С другой стороны они определяют время и модальность для всего контекста. Представленные ниже примеры иллюстрируют отношения, для записи которых необходимы пропозиционные узлы:
Sue thinks that Bob believes that a dog is eating a bone.
If a dog is eating a bone, it is unwise to try to take it away from him.
В первом предложении для глаголов “think” и “believe” целое предложение является дополнением: Боб считает, что “А dog is eating a bone”, то, что думает Сью представляет собой более сложное предложение-“Bob believes that a dog is eating a bone”. Такое гнездование предложений внутри других предложений может повторятся сколь угодно большое количество раз. Чтобы изобразить такое предложение, необходимо использовать пропозиционные узлы, которые содержат гнездящиеся графы. На рисунке 4 изображена пропозиционная сеть для этого предложения. Отметим, что (EXP) - experiencer, то есть тот кто испытывает, соединяет THINK с Сью, а BELIEVE с Бобом, однако EAT и DOG соединены между собой агентивным отношением (AGNT). Причиной разного типа отношений является тот факт, что думать и считать-это состояния, испытываемые людьми, а поедание-это действие осуществляемое агентом.
Во втором примере представлены два предложения, находящиеся в отношении условия. Антецедентом является предложение “А dog is eating a bone”, а консеквентом предложение “It is unwise to try to take it away from him”. Инфинитивы “to try” и “to take” указывают на другие, гнездящиеся предложения. На гнездящиеся предложения также указывает оборот “it is unwise”. Для этого предложения также необходимо указать соответствие между “it”, “him” и “bone” и “dog”. Связи соответствия обозначены пунктиром. Для формальной записи этого предложения также используются кванторы общности и существования и некоторые элементы логики. Все реляционные графы и графы с центром в глаголе имеют много общего. Однако среди них существуют также и отличия:
1. Включение контекста или всего лишь его условное обозначение с отсылкой на схеме.
2. Строгое гнездование: один и тот же концепт может или не может встречаться в двух разных контекстах, ни один из которых не гнездиться в другом.
3. Указание связей соответствия. При перекрещивающемся контексте, то есть когда они один и тот же концепт встречается в двух разных контекстах, эти связи не указываются.
Однако это всего лишь стилистические расхождения, которые не влияют существенно на логику построения.
Иерархия типов
Иерархия типов и подтипов является стандартной характеристикой семантических сетей. Иерархия может включать сущности: ТАКСА<СОБАКА<ПЛОТОЯДНОЕ<ЖИВОТНОЕ<ЖИВОЕ СУЩЕСТВО<ФИЗИЧЕСКИЙ ОБЪЕКТ<СУЩНОСТЬ. Они также могут включать в себя события: ЖЕРТВОВАТЬ<ДАВАТЬ<ДЕЙСТВИЕ<СОБЫТИЕ или состояния: ЭКСТАЗ<СЧАСТЬЕ<ЭМОЦИОНАЛЬНОЕ СОТОЯНИЕ<СОСТОЯНИЕ. Иерархия Аристотеля включала в себя 10 основных категорий: субстанция, количество, качество, отношение, место, время, состояние, активность и пассивность. Некоторые учение дополнили его своими категориями.
Символ < между более общим и более частным символом читается как: “Х-тип/подтип У”.
Термин “иерархия” обычно обозначает частичное упорядочение, где одни типы являются более общими, чем другие. Упорядочение является частичным, потому, что многие типы просто не подлежат сравнению между собой. Сравним HOUSE
Ацикличный граф. Любое частичное упорядочение может быть изображено, как граф без циклов. Такой граф имеет ветви, которые расходятся и сходятся вместе опять, что позволяет некоторым узлам иметь несколько узлов-родителей. Иногда такой тип графа называют путанным.
Деревья. Самым распространенным видом иерархии является граф с одной вершиной. В такого рода графах налагаются ограничения на ацикличные графы: вершина графа представляет собой один общий тип, и каждый другой тип Х имеет лишь одного родителя У.Решетка. В отличие от деревьев узлы в решетке могут иметь несколько узлов родителей. Однако здесь налагаются другие ограничения: любая пара типов Х и У как минимум должна иметь общий гипертип ХиУ и подтип ХилиУ. Вследствие этого ограничения решетка выглядит, как дерево, имеющее по главной вершине с каждого конца. Вместо всего одной вершины решетка имеет одну вершину, которая является гипертипом всех категорий, и другую вершину, которая является подтипом всех типов.
Синтаксический анализ языка и его порождение
Семантические сети могут помочь парсеру разрешить семантическую неоднозначность. Без такого рода представления вся тяжесть анализ языка падает на синтаксические правила и семантические тесты. Структура же семантической сети ясно показывает, как отдельные концепты соединены между собой. Когда парсер встречает какую-либо неоднозначность, он может использовать семантическую сеть для того, чтобы выбрать тот или иной вариант. При работе с семантическими сетями используется несколько техник парсинга.
Парсинг, в основе которого лежит синтаксис. Работа парсера контролируется грамматикой непосредственных составляющих и операторами построения структур и их тестирования. В то время, как данные на входе анализируются, операторы построения структур создают семантическую сеть, а операторы тестирования проверяют ограничения на частично построенной сети. Если никакие ограничения не найдены, то используемое при этом грамматическое правило отвергается и парсер проверяет другую возможность. Это самый распространенный подход.
Синтаксический анализатор с использованием семантики. Синтаксический анализатор с использованием семантики оперирует также как и парсер, в основе которого лежит синтаксис. Однако он оперирует не с синтаксическими категориями типа группа подлежащего и группа сказуемого, а с концептами высокого уровня типа КОРАБЛЬ и ПЕРЕВОЗИТЬ.
Концептуальный парсинг. Семантическая сеть предсказывает возможные ограничения, которые могут встретится в отношениях между словами, а также прогнозировать слова, которые позже могут встретиться в предложении. Например, глагол давать требует одушевленного агента и а также прогнозирует возможность реципиента и объекта, который будет дан. Шенк был одним из самых активных сторонников концептуального парсинга.
Парсинг, основанный на экспертизе слов. Вследствие существования большого количества неправильных образований в естественном языке, многие люди вместо того, чтобы обращаться к каким-либо универсальным обобщениям, используют специальные словари, представляющих собой совокупность некоторых независимых процедур, которые называются экспертами слов. Анализ предложения рассматривается как процесс, осуществляемый совместно различными словарными экспертами. Главным сторонником этого подхода был Смол.
Аргументы за и против различных техник парсинга часто основывался не на конкретные данные, а больше на уже устоявшемся мнении. И лишь один проект на практике сравнил несколько видов парсинга - это Язык Семантических Репрезентаций, проект разработанный в Университете Берлина. В течение нескольких лет они создали четыре разных вида парсеров для анализа немецкого языка и его записи на Язык Семантических Репрезентаций, который представляет собой сеть.
Первым парсером был парсер, созданный по подобию концептуального парсера Шенка. Было отмечено, что хотя добавление в его лексикон новых слов было довольно легко, анализ однако мог проводиться только на простых предложениях и только относительных придаточных. Расширить область синтаксической обработки этого парсера оказалось сложной задачей.
Второй парсер был семантически ориентированные расширенные сети перехода. В нем было легче обобщить синтаксис, однако аппарат синтаксиса работал медленнее, чем у первого рассмотренного парсера.
Затем работа велась с парсером словарных экспертов. Здесь легко велась обработка особых случаев, однако разбросанность грамматики между отдельными составляющими делала практически невозможным ее общее понимание, поддержку и модифицирование.
Парсер, который был создан относительно недавно, - это синтаксически ориентированный парсер, основанный на общей грамматике фразовой структуры. Он наиболее систематичен и обобщен и относительно быстр.
Эти результаты в принципе соответствуют мнению других лингвистов: синтаксически ориентированные парсеры наиболее целостны, однако для них необходим определенный набор сетевых операторов для плавного взаимодействия между грамматикой и семантическими сетями.
Порождение языка по семантической сети представляет собой обратный парсинг. Вместо синтаксического анализа некоторй цепочки с целью порождения сети генератор языка производит парсинг сети для получения некоторой цепочки. Существует два варианта порождения языка из семантической сети.
1. Генератор языка просто следует по сети, превращая концепты в слова, а отношения, указанные рядом с дугами, в отношения естественного языка. Этот метод имеет много ограничений.
2. Подходы, ориентированные на синтаксис контролируют порождение языка с помощью грамматических правил, которые используют сеть для того, чтобы определить, какое следующее правило нужно применить.Однако на практике оба метода имеют много сходств: например, первый способ представляет собой последовательность узлов, которые обрабатываются генератором языка, ориентированным на синтаксис.
Обучение машин
Графы и сети представляют собой простые понятия для программ, которые изучают новые структуры. Их преимущество при обучении заключается в легкости добавления и удаления, а также сравнения дуг и узлов. Ниже представлены программы, которые для обучения использовали семантические сети.
Винстон использовал реляционные графы для описания таких структур, как арки и башни. Машине предлагались примеры верного и неверного описания этих структур, а программа создавала графы, которые указывали все необходимые условия для того, чтобы эта структура была именно аркой или башней.
Салветер использовал графы с центром в глаголе для представления падежных отношений, которые требуют различные глаголы. Его программа MORAN для каждого глагола выведет падежный фрейм, сравнивая одни и те же ситуации до и после их описания с использованием этого глагола.
Шенк разработал теорию Memory-Organization Packets для объяснения того, как люди узнают новую информацию из конкретных жизненных ситуаций. При этом MOP-это это обобщенная абстрактная структура, которая не имеют отношения ни к одной конкретной ситуации в отдельности.
семантическая сеть логический граф
Применение на практике
Семантические сети могут быть записаны практически на любом языке программирования на любой машине. Самые популярные в этом отношении языки LISP и PROLOG. Однако многие версии были созданы и на FORTRANе, PASCALе, C и других языках программирования. Для хранения всех узлов и дуг необходима большая память, хотя первые системы были выполнены в 60-х годах на машинах, которые были гораздо меньше и медленнее современных компьютеров.Один из самых распространенных языков, разработанных для записи естественного языка в виде сетей, - это PLNLP (Programming Language for Natural Language Processing) Язык Программирования для Обработки Естественного Языка, созданный Хайдерном. Этот язык используется для работы с большими грамматиками с обширным покрытием. PLNLP работает с двумя видами правил:
1. с помощью правил декодирования производится синтаксический анализ линейной языковой цепочки и строится сеть.
2. с помощью правил кодирования сканируется сеть порождается языковая цепочка или другая трансформированная сеть.
Помимо специальных языков для семантических сетей было также разработано специальное аппаратное обеспечение. На обычных компьютерах могут быть успешно выполнены операции с языками синтаксического анализа и операции сканирования сетей. Однако для больших баз знаний нахождение нужных правил или доступ к предзнаниям может потребоваться очень много времени. Чтобы позволить различным процессам поисках проходить одновременно Фальман разработал систему NETL, которая представляет собой семантическую сеть, которая может использоваться с параллельным аппаратным обеспечением. Что такое Семантическая Сеть и как она влияет на веб-сервисы?
Существующая сеть WWW представляет собой гигантское количество информации в формате, приспособленном для человеческого восприятия. Пользователь может перескакивать с одной ссылки на другую, давать запросы различным поисковым системам или же находить сайты, просто вводя их адреса. И хотя веб-страницы весьма привлекательны для человека, для компьютерной программы же, обрабатывающей их содержимое, они не более чем строчки из случайных символов.
Компьютерная программа не способна, загрузив произвольный документ, будь то веб-страница или какой-то файл, понять его содержание. Она конечно может сделать некие догадки, основываясь на HTML- или XML-тэгах, но всё равно требуется человек-программист, который должен разобраться в них и понять смысл, или семантику, каждого из тэгов. С точки зрения компьютера, существующая Сеть WWW -- это полная неразбериха. К счастью, выход есть: это Семантическая Сеть.
Как представлял себе Тим Бернерс-Ли [здесь и далее ссылки переводчика; ссылки автора даны им в виде явного указания URL в тексте статьи], Семантическая Сеть должна стать неким дополнением сети WWW, состоящим из понятной машинам информации. Реализация этой новой Сети станет возможна благодаря ряду новых стандартов, разрабатываемых WWW-Консорциумом (W3C). Когда Семантическая Сеть наберёт обороты, значительное число информационных ресурсов будут пригодными для использования как человеком, так и программными агентами. Другими словами, программные агенты наконец-то научаться читать Интернет.
Подобно тому, как Семантическая Сеть является расширением обычной сети WWW, Семантические веб-сервисы [будем называть их для краткости SW-сервисами или редко SWS. -- Прим. перев.] расширяют понятие обычных веб-сервисов (рис. 1). В настоящее время создаются программы, способные искать нужные им порты и регистры, такие как UDDI-сервер, который является перечнем доступных веб-сервисов. И хотя программа может найти некий веб-сервис без помощи человека, она не в состоянии понять, как именно им пользоваться и даже просто для чего он предназначен. Язык описания веб-сервисов (WSDL) даёт нам инструмент для описания того, каким образом взаимодействовать [communicate] с тем или иным веб-сервисом, тогда как семантическая разметка снабжает нас информацией о том, что и как делает данный сервис.
Чтобы SW-сервисы стали реальностью, язык разметки должен быть достаточно информативным с тем, чтобы компьютер был способен самостоятельно понимать смысл записанных на нём выражений. Ниже мы приводим требования, которым должен отвечать такой язык:
Необходимость поиска сервисов (обнаружение -- discovery)
Начнём с того, что программы должны иметь возможность самостоятельно находить (или обнаруживать) требуемые им веб-сервисы. Заметим, что ни WSDL, ни UDDI не позволяют программе понять, для чего именно с точки зрения клиента служит тот или иной веб-сервис. Семантический же веб-сервис сможет предъявить описание своих свойств и возможностей с тем, чтобы программы могли сами распознавать его предназначение.
Необходимость запускать сервисы (запуск -- invocation)
Программы должны уметь самостоятельно узнавать, каким образом запускать и исполнять данный сервис. Например, если выполнение сервиса представляет собой многошаговую процедуру, то программе требуется знать, как ей следует взаимодействовать с сервисом, чтобы требуемая последовательность шагов осуществилась. SW-сервис предъявляет исчерпывающий перечень того, что должен уметь агент для запуска и выполнения данного сервиса. Сюда же следует отнести описание входных и выходных данных этого сервиса.
Необходимость использования вместе нескольких сервисов (композиция)
Программы должны уметь отбирать нужные им веб-сервисы и комбинировать их для достижения своих целей. Сервисам необходимо будет тесно [seamlessly] взаимодействовать друг с другом, так чтобы получающийся в результате их комбинирования результат был приемлемым решением поставленной задачи. Таким образом, программные агенты смогут строить совершенно новые сервисы, комбинируя сервисы, уже имеющиеся в Сети. Необходимость узнавать, что происходит после запуска сервиса (мониторинг).
Программный агент должен уметь определять [verify] свойства данного сервиса и следить за его выполнением. Некоторым сервисам может требоваться определённое время для исполнения работы, и агенты должны быть в состоянии следить за ходом выполнения сервиса.
Снабдив агентов возможностями самостоятельно обнаруживать, запускать, комбинировать и следить за исполнением сервисов без участия человека, мы сможем создать новые достаточно функциональные приложения. Представьте себе некую Интегрированную Среду Разработки (IDE -- Integrated Developer Environment), которая не только содержит перечень доступных сервисов, но также предлагает подходящие их комбинации, удовлетворяющие требованиям, сформулированным Вами на языке высокого уровня. Вместо того, чтобы пролистывать длинные списки сервисов в поисках того, входные параметры которого соответствуют Вашему приложению, Вы просто обращаетесь к среде IDE, которая предложит Вам сервисы, в точности подходящие для Ваших целей.
Можно будет также создать неких персональных агентов, чтобы употребить всю мощь Сети на пользу конечному пользователю. Например, такой персональный агент вполне мог бы провести подготовку к празднованию дня рождения, получив лишь минимальные входные данные от пользователя (рис. 2). Подобный агент мог бы скомбинировать сервисы по заказу товаров, их покупке и доставке самостоятельно, преследуя поставленную перед ним пользователем на языке высокого уровня цель -- подготовку празника. Когда такие вещи будут делаться автоматически, пользователь сможет экономить как время, так и деньги.
Семантическая Сеть как таковая состоит из семантически размеченных ресурсов со статическим и динамическим содержимым. Тем самым SW-сервисы являются неотъемлимой часть этого мощного понятного машине Интернета.
Как сейчас обстоят дела в области Семантической Сети?
Важнейшие спецификации, требуемые для построения Семантической Сети, уже появляются в недрах консорциума W3C. Технология RSS 1.0 (RDF Site Summary), базирующаяся на спецификации RDF (Resource Description Framework), уже несколько лет используется для совместного использования [sharing] новостных и событийных ресурсов. Язык Сетевых Онтологий OWL [русский перевод документа здесь -- Прим. перев.], происходящий из языка DAML+OIL, находится в процессе разработки, и его рабочая версия уже опубликована. [Прим. перев.: на момент перевода статьи язык OWL уже является официально рекомендованной Консорциумом W3C технологией.]
Параллельно с разработкой стандартов появляются и приложения этих технологий. Уже созданы средства для написания и редактирования RDF-документов, хранения семантических данных, логического вывода знаний из метаданных, визуализации метаданных. Построение Семантической Сети опирается на огромное число исследований и разработок, ведущихся в лабораториях таких компаний, как Nokia, BT и Hewlett-Packard.
А что делается в сфереи Семантических веб-сервисов?
Вообще говоря, стандартизация SW-сервисов следует по пятам развития самой Семантической Сети. Из этого, к сожалению, также следует, что SW-сервисы находятся на ещё более ранней, нежели Семантическая Сеть, стадии развития. Исследователями и разработчиками было предложено несколько спецификаций для создания и использования семантически «мыслящих» [intelligent] веб-сервисов. Какая из этих спецификаций станет стандартом -- вопрос, остающийся пока без ответа на момент написания данной статьи.
Язык RDF является первичной основой для построения Семантической Сети. Уже появляются разработки, приближающиеся к понятию SW-сервиса, основанные на спецификациях RDF и RDF-Схема. Более того, некоторые реально работающие сервисы, как например MusicBrainz (www.musicbrainz.org), уже предлагают SWS-ориентированные Интерфейсы Прикладного Программирования (API), базирующиеся на RDF. И хотя упомянутый MusicBrainz удовлетворяет не всем перечисленным нами выше требованиям к SW-сервисам, данные API можно считать значительным шагом на пути построения SW-сервисов.
Другая заслуживающая внимания спецификация -- разработанный в DARPA Язык Разметки Агентов (DAML) и связанная с ним онтология SW-сервисов, именуемая DAML-S. Язык DAML, разработанный группой исследователей в рамках DARPA-программы, имеет в своём арсенале гораздо более богатый по сравнению с RDF набор синтаксических конструкций.
DAML позволяет задавать достаточно замысловатые свойства объектов, а также характеристики свойств, такие как эквивалентность и однозначность. Тем самым он гораздо более выразителен, чем его предшественник RDF. В качестве узко-специализированного применения DAML был создан язык DAML-S как необходимый стандарт для построения SW-сервисов. Если на языке WSDL мы можем лишь сообщить агенту, как работает некий сервис, то уже DAML-S позволяет описать, что именно данный сервис предлагает клиенту и как им следует пользоваться. В этом смысле он дополняет WSDL, снабжая недостающей информацией для того, чтобы агенты имели возможность решать задачи обнаружения и автоматического запуска сервисов.
Взяв DAML за отправную точку, Консорциум W3C поручил Рабочей Группе по Сетевым Онтологиям выработать приемлимый для всех стандарт для Языка Сетевых Онтологий. Получившийся в результате язык OWL находится сейчас в стадии разработки. [См. также прим. перев. выше.]
Ещё один круг исследований и разработок сосредоточился на другой системе для построения SW-сервисов -- Системе Моделирования Веб-Сервисов (WSMF), которая была предложена как средство для создания SW-сервисов. Она частично основана на языке WSFL (Web Services Flow Language) фирмы IBM, который является XML-языком для описания подчинённых бизнес-процессам комбинаций веб-сервисов.
К настоящему времени спецификация DAML-S привлекла большое внимание в академических кругах и исследовательских сообществах. Вероятнее всего, однако, будет создан её эквивалент, основанный на языке OWL, который уже и станет стандартом de facto для построения SW-сервисов. Сейчас пока разработчики не нацелены на использование SW-сервисов для каких-либо практических целей. Однако уже в скором времени начнут появляться общедоступные Семантические веб-сервисы.
Как можно готовиться к появлению Семантических веб-сервисов?
Пока лишь немногие сейчас активно занимаются разработкой SW-сервисов. Однако по мере того, как завершится разработка стандартов, а также спрос на «умные» программные агенты будет расти, от разработчика потребуется серьёзное владение технологиями в области SW-сервисов. Быть в курсе, внедрять уже созданные прототипы, предвидеть перемены -- вот то, что нужно иметь в виду, дабы не отстать от жизни. Ниже приведён ряд рекомендаций на этот счёт:
Будь в курсе событий
Самый простой и недорогой способ оставаться в русле разработок в области Семантической Сети -- это посещать ключевые веб-сайты по этой тематике. Консорциум W3C (www.w3.org/2001/sw) координирует все имеющиеся формальные спецификации. Помимо этого, на сайте DAML (www.daml.org) имеются примеры использования [use cases], инструменты, онтологии и другие полезные ресурсы для задания семантической разметки.
Участники всевозможных рабочих групп встречаются на ежегодных конференциях, посвящённых (полностью или частично) проблематике Семантической Сети. XII Международная WWW-Конференция (www.www2003.org), проходившая в Будапеште, изобилует множеством материалов, выступлений, специализированных секций [workshop] по тематике SW-сервисов. Вторая Международная конференция по Семантической Сети (iswc2003.semanticweb.org) является ещё одной из главных SW-конференций; кроме того, она предлагает отличные возможности для совместной работы [networkong] и исследований.
Практически каждый день появляются исследовательские статьи и книги, посвящённые данной тематике. Покуда разработчики продвигаются по пути создания веб-сервисов, всё большее внимание будет уделяться их новому поколению -- Семантическим веб-сервисам.
Играй с технологиями
Множество доступных сегодня инструментов разработки являются бесплатными, а некоторые проекты предлагают приложения с открытым исходным кодом. Консорциум W3C поддерживает связи со многими разработчиками бесплатных инструментов, тогда как на сайте SemanticWeb.org (www.semanticweb.org) можно найти и коммерческие инструменты.
Всё чаще стали появляться приложения, демонстрирующие бизнес-знечение Семантической Сети и SW-сервисов. В рамках проекта TAP (tap.stanford.edu) была создана демонстрационная поисковая машина, дающая общее представление [peek] о будущих поисковиках в Интернете.
Подведём итог
Работы в области Семантической Сети и веб-сервисов тесно связаны друг с другом. Цели обоих -- сделать информацию в современной Всемирной Компьютерной Сети понятной программным агентам. И мощной комбинацией этих двух разработок является создание технологии Семантических веб-сервисов.
Размещено на Allbest.ru
...Подобные документы
Представление знаний в когнитологии, информатике и искусственном интеллекте. Связи и структуры, язык и нотация. Формальные и неформальные модели представления знаний: в виде правил, с использованием фреймов, семантических сетей и нечетких высказываний.
контрольная работа [29,9 K], добавлен 18.05.2009- Разработка алгоритмов и программ для определения сходства семантических сетей на основе их сложности
Семантические сети как модели представления знаний. Основные методы определения сходства графовых моделей систем. Метод решения задач определения сходства семантических сетей на основе их сложности. Разработка алгоритмов и их программная реализация.
дипломная работа [1,3 M], добавлен 17.12.2011 Представление знаний семантическими сетями, их классификация по парности и количеству типов отношений. Типология и работа с концептуальными двудольными графами. Примеры семантических сетей, их применение в www-сетях, анализ преимуществ и недостатков.
реферат [303,2 K], добавлен 04.01.2015Изучение архитектуры искусственных нейронных сетей, способов их графического изображения в виде функциональных и структурных схем и программного представления в виде объектов специального класса network. Неокогнитрон и инвариантное распознавание образов.
курсовая работа [602,6 K], добавлен 12.05.2015Классы и группы моделей представления знаний. Состав продукционной системы. Классификация моделей представления знаний. Программные средства для реализации семантических сетей. Участок сети причинно-следственных связей. Достоинства продукционной модели.
презентация [380,4 K], добавлен 14.08.2013Виды компьютерных сетей. Преимущества, получаемые при сетевом объединении персональных компьютеров в виде внутрипроизводственной вычислительной сети. Базовая модель OSI. IP-адресация и передача данных. Сетевые устройства и средства коммуникаций.
курсовая работа [2,1 M], добавлен 04.05.2014Классификация компьютерных сетей. Назначение компьютерной сети. Основные виды вычислительных сетей. Локальная и глобальная вычислительные сети. Способы построения сетей. Одноранговые сети. Проводные и беспроводные каналы. Протоколы передачи данных.
курсовая работа [36,0 K], добавлен 18.10.2008Организация частной сети. Структура незащищенной сети и виды угроз информации. Типовые удаленные и локальные атаки, механизмы их реализации. Выбор средств защиты для сети. Схема защищенной сети с Proxy-сервером и координатором внутри локальных сетей.
курсовая работа [2,6 M], добавлен 23.06.2011Назначение и классификация компьютерных сетей. Обобщенная структура компьютерной сети и характеристика процесса передачи данных. Управление взаимодействием устройств в сети. Типовые топологии и методы доступа локальных сетей. Работа в локальной сети.
реферат [1,8 M], добавлен 03.02.2009Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015Семантическая сеть - совокупность объектов предметной области, отношений между ними. Причинно-следственные связи между двумя объектами в семантической сети. Представление знаний путем использования фреймов, при помощи логики предикатов. Правила продукций.
реферат [46,1 K], добавлен 01.12.2010Типы компьютерных сетей, их структурные элементы и подсистемы. Горизонтальная подсистема СКС и компьютерная сеть, узлы локальной сети и распределительные пункты. Сеть на основе сервера и локальная сеть. Беспроводные сети. ЛВС: их топология и структура.
реферат [16,0 K], добавлен 16.07.2008Понятие компьютерной сети и их классификация. Характеристика локальной вычислительной сети, ее структура и основные задачи. Отличительные особенности региональных и глобальных сетей. Всемирная паутина (интернет), понятие веб-страницы и веб-сервера.
реферат [23,1 K], добавлен 12.12.2010История развития и классификация социальных сетей. Характеристика наиболее популярных социальных сетей. Сети Рунета: ВКонтакте, Одноклассники, Мой круг, Мой мир (на www.mail.ru), RuSpace. Социальная сеть Facebook как лидер среди социальных сетей.
реферат [4,0 M], добавлен 23.06.2012Структура локальной компьютерной сети организации. Расчет стоимости построения локальной сети. Локальная сеть организации, спроектированная по технологии. Построение локальной сети Ethernet организации. Схема локальной сети 10Base-T.
курсовая работа [126,7 K], добавлен 30.06.2007Применение сетевых технологий в управленческой деятельности. Понятие компьютерной сети. Концепция открытых информационных систем. Преимущества объединения компьютерных сетей. Локальные вычислительные сети. Глобальные сети. Международная сеть INTERNET.
курсовая работа [38,1 K], добавлен 16.04.2012Историческая справка о глобальной информационной сети Internet. Основные типы конечных узлов глобальной сети: отдельные компьютеры, локальные сети, маршрутизаторы и мультиплексоры. Физическая структуризация сети. Навигация и передача данных в интернете.
контрольная работа [31,5 K], добавлен 27.10.2013Физическая структуризация сети. Устранение ограничений на длину сегмента и количество узлов в сети. Устройства для логической структуризации. Требования к качеству сетей. Модель взаимодействия открытых систем. Сетезависимые и сетенезависимые уровни OSI.
презентация [2,2 M], добавлен 27.10.2013Применение компьютерных сетей для организации сетевого взаимодействия. Планирование адресного пространства для сети, управление коммутатором. Физическая структура сети, подбор аппаратного и программного обеспечения. Топология сети и сетевых протоколов.
курсовая работа [1,3 M], добавлен 12.07.2012Сущность данных и информации. Особенности представления знаний внутри ИС. Изучение моделей представления знаний: продукционная, логическая, сетевая, формальные грамматики, фреймовые модели, комбинаторные, ленемы. Нейронные сети, генетические алгоритмы.
реферат [203,3 K], добавлен 19.06.2010