Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Реферат - Семантические сети.docx
Скачиваний:
244
Добавлен:
01.04.2014
Размер:
481.79 Кб
Скачать

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

Существующая сеть 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 источников. Но все это опять-таки только для США.

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