- •Всероссийский заочный финансово-экономический институт
- •Оглавление
- •Теоретическая часть Введение
- •Что такое семантическая сеть
- •Основные положения
- •Элементами Семантической сети являются несколько форматов и языков
- •Языки онтологий
- •Машины логического вывода
- •Другие технологии
- •Заключение
- •Практическая часть
- •Описание алгоритма решения задачи
- •Список литературы
Основные положения
Для семантической сети появляются самые разнообразные приложения от мобильной телефонной службы Vodafone Live! До системы координирования работы поставщиков компании «Боинг».
Ученые разрабатывают самые передовые приложения, в том числе систему выявляющую генетические причины сердечных заболеваний, а также систему раннего обнаружения эпидемий гриппа.
Компании и университеты, работающие в рамках Веб-консорциума (World Wide Web Consortium) разрабатывают стандарты, которые должны сделать семантическую сеть более доступной и простой в использовании.
Элементами Семантической сети являются несколько форматов и языков
Они дополняют различные программные технологии, лежащие в основе Интернета и опубликованные в качестве стандартных в рамках программы Semantic Web Activity Веб-консорциума.
Формат RDF. Самым главным элементом является формат Resource Description Framework (RDF3), для определения информации в информационной сети. Каждому блоку данных и каждой связи между двумя блоками присваивается уникальное имя, так называемый универсальный идентификатор ресурса (Universal Resource Identifier, URI). Общеизвестные веб-адреса (Universal Resource Locators, URL), которыми мы все пользуемся являются частными форматами URI. В RDF-схеме два блока информации и любое указание, описывающее связь между ними, объединяются в тройку. Например сетевая ссылка на известное животное-телегероя - дельфина по имени Флиппер, ссылка на связь «есть» и ссылка на понятие «Дельфин» могут быть объеденены в тройку.
<
uri
for Flipper> <uri for Is A> <uri for Dolphin>
Идентификаторы URI могут согласовываться органами стандартизации или сообществами либо присваиваться отдельным лицам. Связь «Is A» настолько общеполезна, что Веб-консорциум опубликовал для нее стандартный URI. Для представления понятия «дельфин» любой пользователь может выбрать URI "http://en. wikipedia.org/wiki/Dolphin". Таким образом, люди, работающие с разными наборами информации, могут совместно пользоваться данными о дельфинах и животных-телегероях и повсюду объединять большие базы данных.
Языки онтологий
Отдельные люди или группы могут определять термины и данные, которыми они часто пользуются, а также взаимоотношения между ними. Такой набор определений называется онтологией. Онтологии могут быть как сложными (с тысячами терминов), так и простыми. Язык Web Ontology Language (OWL) является одним из стандартов, которые можно использовать для такого определения онтологий, что бы они были взаимно совместимыми и понятными для формата RDF.
Две базы данных могут использовать различные идентификаторы для обозначения одного и того же понятия, такого как почтовый индекс. И программа, желающая сравнить или как-то скомбинировать информацию из этих баз данных, должна знать, что два конкретных термина используются ими для обозначения одного и того же. В идеале, у программы должен быть способ распознавать подобные термины с одинаковым смыслом, с какими бы базами данных ей не пришлось столкнуться в процессе своей работы.
Решение этой проблемы даётся третьим базовым компонентом Семантической Сети — онтологией. Онтология — это документ или файл, формально задающий отношения между терминами. Наиболее типичными видами онтологий в Сети являются таксономия и набор правил вывода.
Таксономия определяет классы объектов и отношения между ними. Например, понятие адрес может быть определено как разновидность понятия местонахождение [location], а код города можно задавать применительно лишь к местонахождениям и так далее. Задание классов, подклассов, а также отношений между индивидами [entities] является чрезвычайно мощным инструментом для использования в Сети. Большое количество отношений между индивидами можно задать путём приписывания классам определённых свойств и позволяя подклассам наследовать эти свойства. Если, скажем, код города есть свойство объектов типа город, а в свою очередь, города, в большинстве своём, имеют собственные веб-сайты, то мы можем говорить, что некий веб-сайт связан с определённым кодом города, хотя в нашей базе и нет прямой связи, ведущей от кода города к веб-сайту.
Правила вывода, задаваемые в онтологиях, дают ещё больше возможностей. В рамках онтологии можно записать такое правило: «Если код города соответствует некоторому коду штата, а в адресе фигурирует код города, то этому адресу тоже соответствует тот же самый код штата». В этих условиях программа может без труда вывести, например, что коль скоро Корнельский Университет находится в г. Итака, который расположен в штате Нью-Йорк, который, в свою очередь, есть часть США, то адрес этого университета следует писать в американском формате. Компьютер не «понимает» в полном смысле этого слова ничего из всей этой информации, но теперь он уже может манипулировать терминами гораздо более эффективно с тем, чтобы стать полезным и осмысленным для пользователя-человека.
Как только доступные всем онтологии появятся в Сети, описанные терминологические (и другие) проблемы обретут своё решение. Смысл каждого термина или XML-кода, использованного на веб-странице, можно будет задать посредством указателя с этой страницы на соответствующую онтологию. Конечно же, тут возникает та же самая проблема, что и упомянутая выше, когда один пользователь ссылается на одну онтологию, в которой определено понятие адреса, включающего в себя понятие zip-кода [синоним термина «почтовый индекс» в англ. яз.], а другой ссылается на другую онтологию, оперирующую уже термином почтовый индекс. Однако такого рода путаницу можно устранить, если онтологии (или же какие-то другие веб-сервисы) позволяют задавать отношение эквивалентности: в одну или же в обе наши онтологии можно поместить информацию о том, что понятие zip-кода эквивалентно понятию почтового индекса.
Эта загвоздка частично будет устранена, если две упомянутые в ней базы данных будут ссылаться на разные определения термина адрес. Программа, используя различные URI-идентификаторы для этих различных понятий адреса, уже не будет их путать, и на самом деле даже обнаружит, что эти два понятия почти не связаны друг с другом. Далее программа может воспользоваться неким сервисом, позволяющим взять список почтовых адресов (термин из одной онтологии) и преобразовать его в список физических адресов (термин второй онтологии), распознав и выбросив из него абонентские ящики и другие, неподходящие для наших целей адреса. Таким образом, структура и семантика, задаваемые в онтологиях, позволяют предпринимателю предоставлять подобные услуги и делать их чрезвычайно прозрачным в использовании.
Онтологии способны улучшить функциональность Сети во многих аспектах. В простейшем случае, их можно использовать для увеличения точности поиска в Сети — поисковая машина будет выдавать только такие сайты, где упоминается в точности искомое понятие, а не произвольные страницы, в тексте которых встретилось данное многозначное ключевое слово. Более продвинутые приложения будут использовать онтологии, чтобы соотнести информацию на странице со связанной с ней структурой знаний и правилами вывода. Пример страницы, размеченной для такого использования, уже есть в сети по адресу http://www.cs.umd.edu/~hendler. Открыв эту страницу с помощью веб-браузера, вы увидете самую обычную страницу, с заголовком «Dr. James A. Hendler». Вы легко, с точки зрения человека, найдёте там ссылку на краткий биогафический очерк, где прочтёте, что Хендлер получил степень Доктора Философии [Ph.D.] в Браунском [Brawn] Университете. Однако, если же эту информацию попытается найти компьютерная программа, то ей будет чрезвычайно сложно догадаться, что эта информация является биографией, и понять написанный там текст на английском языке.
Именно по этой причине для компьютерного восприятия данная страница снабжена ссылками на онтологическую страницу, задающую информацию о факультете Computer Science. На ней, в частности, говорится, что профессора работают в университете и что они обычно имеют докторскую степень. Далее разметка (не отображающаяся на дисплее стандартным веб-браузером) на странице Хендлера, используя понятия этой же онтологии, сообщает, что Хендлер получил степень Доктора Философии в организации, описанной по URI-адресу http://www.brown.edu, который является адресом веб-страницы Браунского Университета. Компьютер также может найти на этой странице информацию о том, что Хендлер является участником определённого исследовательского проекта, у него есть определённый e-mail-адрес и так далее. Вся эта информация может быть без особого труда обработана компьютером и использована для ответов на различные запросы (как например: где доктор Хендлер получил учёную степень?), тогда как сейчас для этого требуется, чтобы человек внимательно ознакомился с содержанием нескольких страниц, которые выдала поисковая система.
Кроме того, подобная разметка делает гораздо проще разработку программ, которые будут способны обрабатывать более сложные вопросы, ответы на которые не содержатся на какой-то одной веб-странице. Предположим, Вы хотите найти некую госпожу Кук [Ms. Cook], с которой Вы познакомились на профсоюзной конференции в прошлом году. Вы не помните её имени, однако помните, что она работала в какой-то компании, которая является Вашим клиентом, и что её сын учится в том же университете, который окончили Вы. Умная поисковая система просканирует все страницы людей с фамилией Кук (при этом пропуская страницы о поварах [cooks], приготовлении пищи [cooking], Кукских островах [Cook Islands] и т.п.), выберет среди них те, на которых упоминаемый человек работает в компании, входящей в список Ваших клиентов, а также пробежит по ссылкам на веб-страницы учебных заведений, в которых учатся их дети, чтобы проверить, не тот ли самый это университет.
С Рисунок
1
