Введение

Материал из Российская школа по Semantic Web
Перейти к: навигация, поиск
Введение
Номер 2
Лектор Катков Ю.В.
Prerequisites Знать, что такое html, что представляет собой современный www. Знать что такое модель и представление.
Замечание конспект надо дополнить
Аннотация В первой лекции мы рассказываем слушателям о том,
  • что такое Semantic Web,
  • почему без него плохо, и как с его помощью решить проблемы классического веба
  • какие сервисы существуют уже сейчас

Содержание

План лекции

  1. История SW. Сценарий Тимоти Бернерса Ли
  2. Проблемы и ограничения современного web
  3. Идеи того, как можно решить эти проблемы
    1. Выдача идентификаторов
    2. Описание не только отображения, но и семантики данных
    3. Разработка словарей, включающих понятия и связи между понятиями
  4. Полезные сервисы уже сегодня
  5. План курса

Знакомство

Вы пришли на первое занятие школы по Semantic Web. Эти лекции были организованы нами, сотрудниками лаборатории интеллектуальных систем ИТМО. Мы надеемся, что после этого курса у всех слушателей сформируются навыки, необходимые для использования всей мощи семантического web.

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

У нашей школы всего две цели: во-первых, мы хотели бы в систематической форме изложить основы технологий Semantic Web, посколько нам кажется, что это очень перспективная область как для практикующих программистов, так и для тех, кто решил посвятить себя науке. Наверняка, среди слушателей есть те, кто уже применял технологии семантического web на практике - им наша школа поможет привести свои знания в порядок. Вторая важная цель школы - привлечение как можно большего количества людей к сотрудничеству. Если вы ведете проект или у вас есть проектная идея, если вы хотите написать дипломную работу по актуальной и интересной теме - не стесняйтесь подходить, мы всегда готовы к сотрудничеству.

Общие положения

Итак, что же обычно понимают под семантическим веб и семантическими технологиями? Семантический веб - это расширение современного www, в котором кроме людей живут и действуют машины. Такое определение отдает некоторой мистикой и трудно применяется. Наши семинары будут сосредоточены на практике, а потому для на Semantic Web будет набором стандартов, инструментов и технологий, облегчающий работу с данными.

Термин был введен сэром Тимоти Бернерсом Ли, человеком, который сделал самую первую в мире веб-страницу и самый первый в мире веб-браузер. Благодаря усилиям Тима, веб стал распространяться все шире и шире и, в конечном итоге, стал доступен в том виде, в котором мы им пользуемся сейчас. Тим основал и возглавил консорциум W3C, в котором были созданы важнейшие стандарты: html, xml, png, svg, DOM.

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

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

  1. опрашивает картографические сервисы,
  2. связывается с агентами докторов, узнавая расписание докторов в клиниках и порядок предоставляемых услуг,
  3. связывается с сообществами в которых имеются отзывы и рейтинги клиник,
  4. запрашивает дополнительную информацию у тех агентов, которым он полностю доверяет в этом вопрос,
  5. сопоставляет полученную информацию с расписанием Пита.
  6. и наконец, предлагает Питу клинику, наилучшим образом удовлетворяющую его требованиям.

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

Проблемы сегодняшнего Web

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

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

Chinese.png

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

Для использования доступно огромное количество сервисов, но их совместное автоматическое использование связано с неделями или даже месяцами работы. Даже несмотря на то, что нам доступен картографический сервис Google Maps, в социальной сети мы можем назначить встречу и её место, а сервис календаря позволяет планировать свое рабочее время, мы вынуждены прыгать из одной вкладки на другую, выясняя положение места встречи на карте, проверяя, свободно ли это время и т.д. Если же мы попробуем создать web-приложение, которое бы связывало все эти данные, мы немедленно обнаружим, что каждый из сервисов имеет свой API, что формат запросов к данным разнится от сервиса к сервису, так же как разнятся форматы информации, которую сервис выдает. Способность систем к взаимодействию называется интероперабельностью: чем больше усилий нам надо приложить к тому, чтобы несколько систем работали сообща - тем более низкая интероперабельность этих систем. Что и говорить, в сегодняшнем www степень интероперабельности очень низка.

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

Все делов в том, что в отсутствии хорошей модели данных работа поискового движка напоминает движения слепого - мы ищем не понятие "Машина-в-смысле-автомобиль", а лишь буквосочетание "М-а-ш-и-н-а". Омонимы - слова, которые пишутся одинаково, но означают разные слова - еще одна проблема, затрудняющия поиск. Как же мне объяснить этой железке, что я хочу купить себе мышку. Да нет же, не от фирмы Microsoft, а просто грызуна c серым мехом и большими зубами! Мы можем ждать того момента когда компьютер сможет распознавать человеческую речь, а потом производить рассуждения, но ждать нам придется довольно долго.

Решения, которые предложены в семантическом web

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

Во-первых, для этого надо пометить каждый объект уникальным идентификатором. И тут мы имеем в виду не только html-страницы - в идеале, каждый объект должен быть помечен идентификатором. Для книг таким идентификатором будет isbn, для людей - url'ы их профиля в социальных сетях или даже номера паспортов.


Во-вторых, надо начинать внедрять в веб-страницу наряду с информацией об оформлении текста также и информацию о его содержании. И в Semantic Web нас не устроят метаданные, представленные просто как ключевые слова. Нужно будет выражать информацию о том, как именно данные связаны между собой. Для этого сделан формат RDF, в котором любое знание представляется тройкой "субъект-свойство-объект", например, "Юрий-любить-вареная картошка" или "ракета-количество ступеней-6".

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

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты