Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Реферат - Семантические сети

.docx
Скачиваний:
160
Добавлен:
01.04.2014
Размер:
481.79 Кб
Скачать

Введение.

В основе исследований в области искусственного интеллекта лежит подход, связанный со знаниями. Опора на знания — базовая парадигма искусственного интеллекта. Как и многие фундаментальные научные категории (например, алгоритм, интеллект, деятельность и т. д.), понятие «знание» относится к интуитивно определяемым. В БСЭ дается следующее его толкование: «Знание — проверенный практикой результат познания действительности, верное ее отражение в сознании человека. Знания бывают житейскими, донаучными, художественными, научными (теоретическими и эмпирическими)». Знания о некоторой предметной области представляют собой совокупность сведений об объектах этой предметной области, их существенных свойствах и связывающих их отношениях, процессах, протекающих в данной предметной области, а также методах анализа возникающих в ней ситуаций и способах разрешения ассоциируемых с ними проблем.

В «Словаре русского языка» Ожегова знание определяется как «постижение действительности сознанием» и «совокупность сведений, познаний в какой-нибудь области». Интерпретация знаний как «совокупности сведений, образующих целостное описание, соответствующее некоторому уровню осведомленности об описываемом вопросе, предмете, проблеме и т. д.» дана в толковом словаре искусственного интеллекта. Семантические сети же являются моделью представления знаний.

Семантические сети.

Модели знаний

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

Рис.1. Модели знаний.

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

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

Другая проблема, присущая сетевой модели, состоит в трудности унификации процедур вывода и механизмов управления выводами на сети. Перспективным направлением повышения эффективности сетевого представления, развиваемым в настоящее время, является использование онтологии и параллельных выводов на семантических сетях [1].

Классификация семантических сетей

Для всех семантических сетей справедливо разделение по арности и количеству типов отношений.

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

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

Семантические отношения

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

Иерархические

Наиболее часто возникает потребность в описании отношений между элементами, множествами и частями объектов. Отношение между объектом и множеством, обозначающим, что объект принадлежит этому множеству, называется отношением классификации (ISA). Говорят, что множество (класс) классифицирует свои экземпляры. Название произошло от английского «IS A» (наиболее точный русский перевод, используемый в основном в научных кругах — «суть», например, «все зайцы суть млекопитающие»). Иногда это отношение именуют также MemberOf, InstanceOf или подобным образом. Связь ISA предполагает, что свойства объекта наследуются от множества. Обратное к ISA отношение используется для обозначения примеров, поэтому так и называется — «Example», или по-русски, «Например».

Отношение между надмножеством и подмножеством называется AKO — «A Kind Of» («разновидность»). Элемент подмножества называется гипонимом, а надмножества — гиперонимом, а само отношение называется отношением гипонимии. Альтернативные названия — «SubsetOf» и «Подмножество». Это отношение определяет, что каждый элемент первого множества входит и во второе (выполняется ISA для каждого элемента), а также логическую связь между самими подмножествами: что первое не больше второго и свойства первого множества наследуются вторым.

Объект, как правило, состоит из нескольких частей, или элементов. Например, компьютер состоит из системного блока, монитора, клавиатуры, мыши и т. д. Важным отношением является HasPart, описывающее части/целые объекты (отношение меронимии). Мероним — это объект, являющийся частью для другого. Двигатель — это мероним для автомобиля. Холоним — это объект, который включает в себя другое. Например, у дома есть крыша. Дом — холоним для крыши. Компьютер — холоним для монитора. Мероним и холоним — противоположные понятия.

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

Вспомогательные

В семантических сетях часто используются также следующие отношения (Гаврилова):

  • функциональные связи (определяемые обычно глаголами «производит», «влияет»…);

  • количественные (больше меньше, равно…);

  • пространственные (далеко от, близко от, за, под, над…);

  • временные (раньше, позже, в течение…);

  • атрибутивные (иметь свойство, иметь значение);

  • логические (И, ИЛИ, НЕ);

  • лингвистические.

Этот список может сколь угодно продолжаться: в реальном мире количество отношений огромно. Например, между понятиями может использоваться отношение «совершенно разные вещи» или подобное: Не_имеют_отношения_друг_к_другу(Солнце, Кухонный_чайник) [4].

Практическое применение семантических сетей.

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

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

Как представлял себе Тим Бернерс-Ли, семантическая сеть должна стать неким дополнением сети WWW, состоящим из понятной машинам информации. Реализация этой новой Сети станет возможна благодаря ряду новых стандартов, разрабатываемых WWW-Консорциумом (W3C). Когда семантическая сеть наберёт обороты, значительное число информационных ресурсов будут пригодными для использования как человеком, так и программными агентами. Другими словами, программные агенты наконец-то научаться читать Интернет.

Подобно тому, как семантическая сеть является расширением обычной сети WWW, семантические веб-сервисы (SW-сервисы или SWS) расширяют понятие обычных веб-сервисов (рис. 2).

Рис.2. Эволюция сети WWW.

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

Чтобы SW-сервисы стали реальностью, язык разметки должен быть достаточно информативным с тем, чтобы компьютер был способен самостоятельно понимать смысл записанных на нём выражений. Ниже приводятся требования, которым должен отвечать такой язык:

  • Необходимость поиска сервисов (обнаружение — discovery)

Программы должны иметь возможность самостоятельно находить (или обнаруживать) требуемые им веб-сервисы. Ни WSDL, ни UDDI не позволяют программе понять, для чего именно с точки зрения клиента служит тот или иной веб-сервис. Семантический же веб-сервис сможет предъявить описание своих свойств и возможностей с тем, чтобы программы могли сами распознавать его предназначение.

  • Необходимость запускать сервисы (запуск — invocation)

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

  • Необходимость использования вместе нескольких сервисов (композиция)

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

  • Необходимость узнавать, что происходит после запуска сервиса (мониторинг)

Программный агент должен уметь определять свойства данного сервиса и следить за его выполнением. Некоторым сервисам может требоваться определённое время для исполнения работы, и агенты должны быть в состоянии следить за ходом выполнения сервиса.

Снабдив агентов возможностями самостоятельно обнаруживать, запускать, комбинировать и следить за исполнением сервисов без участия человека, можно будет создать новые достаточно функциональные приложения. Представим себе некую Интегрированную Среду Разработки (IDE — Integrated Developer Environment), которая не только содержит перечень доступных сервисов, но также предлагает подходящие их комбинации, удовлетворяющие требованиям, сформулированным нами на языке высокого уровня. Вместо того, чтобы пролистывать длинные списки сервисов в поисках того, входные параметры которого соответствуют нашему приложению, можно просто обращаетиться к среде IDE, которая предложит сервисы, в точности подходящие для наших целей.

Можно будет также создать неких персональных агентов, чтобы употребить всю мощь Сети на пользу конечному пользователю. Например, такой персональный агент вполне мог бы провести подготовку к празднованию дня рождения, получив лишь минимальные входные данные от пользователя (рис. 3). Подобный агент мог бы скомбинировать сервисы по заказу товаров, их покупке и доставке самостоятельно, преследуя поставленную перед ним пользователем на языке высокого уровня цель — подготовку праздника. Когда такие вещи будут делаться автоматически, пользователь сможет экономить как время, так и деньги [2].

Рис.3. Использование Семантической сети персональными агентами.

Превращению Интернета в семантическую сеть способствует и Военное научное агентство DARPA. Оно разрабатывает новый язык программирования DAML (DARPA Agent Markup Language), основанный на XML. Он предназначен для детального описания смысла хранимой на Web-странице информации. Рабочая версия DAML появится летом, и DARPA надеется, что консорциум утвердит W3C в качестве стандарта. Предполагается, что DAML послужит существенным стимулом для превращения Интернета из "свалки" информации в семантическую Сеть.

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

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

Еще одним важным проектом в сфере семантического веба является DBpedia.org. Авторы этого проекта формализовали (привели к одной форме) данные Википедии, а доступ к базе данных открыли. Данные эти связаны, в результате можно делать запросы и получать очень интересные результаты. Так, в конце сентября был запущен фасетный поиск на данных, которые DBPedia извлекла из Википедии. Проект делался совместно с немецкой поисковой компанией Neofine и находится здесь: http://dbpedia.neofonie.de/browse/.

Таким образом, теперь для ответа на вопросы типа «Какие ученые родились в России в период с 1900 по 1910 год» достаточно использовать соответствующие фильтры в интерфейсе поисковика от DBPedia и Neofine: http://dbpedia.neofonie.de/browse/rdf-type:Scientist/personBirthDate-year~:1900~1910/personBirthPlace:Russian%20Empire/. Пример запроса приведен на рис. 4.

Рис. 4. Пример запроса в DBpedia.

ReadWriteWeb опубликовал свою версию топ 10 Semantic Web продуктов за 2008 год [3]:

1. Yahoo! SearchMonkey

Продукт от Яху позволяет получать структурированный контент прямо на SERP (Search Engine Result Page). Работает это следующим образом:

- Cоздатель сайта добавляет RDF разметку в XHTML или использует микроформаты, задавая таким образом семантику на странице. Также можно выгружать семантическую информацию роботу Яху в виде xml feed.

- Любой разработчик, в том числе и создатель сайта, может написать небольшое приложение на PHP с помощью SearchMonkey developer tool, которое имеет доступ ко всем полям из индекса Яху (можно добавлять свои провайдеры данных) и на выходе получить сниппет (аннотацию к поисковому результату) в нужном виде. После этого этот сниппет будет показываться на результатах поиска персонально для него

- Любое разработанное приложение можно расшарить другим пользователям, а также добавить в Yahoo! Search Gallery, после чего модераторы могут включить его по умолчанию для всех пользователей.

В общем, персонализация (которой, правда, мало кто будет пользоваться, наверное) и семантизация в одном продукте, причем от одного из гигантов интернет-поиска. Однозначно можно согласиться с ReadWriteWeb, поставившем его на первое место среди Semantic Web продуктов в этом году.

2. Powerset

Один из двух самых известных семантических поисковиков (2-й – Hakia – тоже попал в наш топ, речь о нем пойдет чуть ниже). В этом году в июле состоялась сделка, в результате которой Powerset был куплен Майкрософтом. Следов сильной интеграции поисковика и продуктов от Майкрософт пока не видно, разве что на странице результатов поиска появилась кнопка «Try this search on Live Search».

Powerset позиционирует себя как поисковую систему, умеющую извлекать факты. Существенным ограничением является то, что пока он умеет работать только с двумя источниками, причем очень качественными: википедией и социальной базой знаний freebase.

В результатах иногда случаются накладки, например по запросу «Vladimir Putin» (http://www.powerset.com/explore/go/vladimir-putin) мы видим, что Людмилу Путину на freebase называют «Lyudmila Putin», хотя на wikipedia все корректно («Lyudmila Putinа»).

3. Open Calais

Reuters в конце 2007 года купила ClearForest, которая занималась разработкой Open Calais. В этом году они выпустили Open Calais API, позволяющее через web-сервис извлекать из переданного текста людей, компании, события и места. Поддерживается только английский язык:( Пример использования API есть в книге Practical Artificial Intelligence Programming With Java.

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

4. Dapper MashupAds

Сервис для создания семантической рекламы от Dapper реализует подход сверху вниз, при котором сам пользователь указывает какие поля что означают на его сайте и создает рекламу, в отличие от традиционных алгоритмов контекстной рекламы, которые автоматически по содержимому страницу принимают решение о том, какие объявления размещать на этой ней. Сделать это можно за 10 минут (смотрите видео).

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

Реализовано все на базе потрясающего воображение сервиса для создания mashup’ов dapper.net. Вы просто указываете шаблоны страниц с интересующим вас содержимым, отмечаете интересующие вас поля и создаете из этого компонент в одном из многочисленных поддерживаемых форматов (flash widget, rss, xml, html). За 5 минут можно создать сервис, который отдает текущее содержимое тизера на морде Яндекса: http://www.dapper.net/services/YandexTeaser.

5. Hakia

Hakia один из поисковиков, фокусирующихся на методах NLP (Natural Language Processing) для того, чтобы предоставлять пользователю наиболее значимые результаты. Они лицензировали свою внутреннюю технологию OntoSem для использования другими компаниями и открыли Semantic API, которое помимо поисковых возможностей позволяет с помощью Summarizer’a по тексту или его url’у получить сниппет.

Hakia использует поисковый индекс от Yahoo! Boss, что позволяет им искать по всему мировому интернету.

На мой взгляд, выдача Hakia еще требует существенного улучшения в плане релевантости.

6. TripIt

Классный сервис для огранизации путешествия. Вы просто форвардите все входящие подтверждения о бронировании на адрес plans@tripit.com и сервис берет на себя все остальное.

Правда, если письма не на английском языке или от неизвестного провайдера, то могут возникнуть определенные проблемы.

7. BooRah

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

Впечатляющий сервис, жаль, что пока только для США.

8. BlueOrganizer (AdaptiveBlue)

Основным продуктом компании AdaptiveBlue является плагин к Firefox BlueOrganizer, который анализирует информацию на посещаемых вами web-страниц и предлагает полезные ссылки и действия, в зависимости это ее содержимого.

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

9. Zemanta

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

10. UpTake

Вертикальный туристический поисковик нацелен на облегчение процесса выбора отелей и бронирования поездки. С помощью семантических технологий UpTake извлекает информацию о более чем 400 000 отелей из более чем 1000 источников. Но все это опять-таки только для США.

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

Список источников.

  1. Башмаков А.И., Башмаков И.А. Интеллектуальные информационные технологии: Учеб. пособие. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2005. - 304 с : ил. — (Информатика в техническом университете).

  2. Paul Cowles. Web Services and the Semantic Web

http://paulcowles.ulitzer.com/node/39631

http://ezolin.pisem.net/logic/ws_and_sw_rus.html

  1. http://www.readwriteweb.com/archives/top_10_semantic_web_products_2008.php

  2. http://ru.wikipedia.org/wiki/Семантическая_сеть

13