Знакомство с семантическим Web ДонНУ, кафедра КТ, проф. В. К. Толстых СЕМАНТИКА - анализ отношения между языковыми выражениями и миром реальным или воображаемым Из цикла лекций «Современные Web-технологии» для студентов кафедры Компьютерных технологий физико-технического факультета Донецкого национального университета
Данные и знания Semantic Web часть глобальной концепции современного развития сети Интернет, целью которой является автоматизация интеллектуальных процессов обработки данных и знаний в сети. Данные это отдельные факты. Знания это метаданные, т.е. данные о данных: принципы, связи, законы… Интеллектуальные технологии сегодня это технологии обработки знаний. Таким образом для семантического Web необходимо конструировать интеллектуальных агентов, способных обрабатывать метаданные для извлечения знаний из Интернет- данных.интеллектуальных агентов Существуют различные модели представления знаний: продукционные, фреймы, формальные логические… Здесь мы рассмотрим модели представления знаний в виде семантических сетей. Именно семантические сети лучше других соответствуют организации долговременной памяти человека.
Онтологии – область знаний о структуре бытия Для того, чтобы агенты могли автоматически обрабатывать данные, знания, взаимодействовать между собой необходимо иметь общее (разделяемое всеми агентами и людьми) формальное представление любого ресурса, отражающее структуру его понятий и связей между ними. Именно для этой цели в Semantic Web используются онтологии. Онтологии позволяют интеллектуальным агентам автоматически, без участия человека, определять смысл терминов использованных при описании ресурсов, получить логические следствия, факты, которые не представлены в онтологии буквально, но следуют из ее семантики. Это один из механизмов программных агентов, позволяющий им принимать «разумные» решения и действия.
Где мы сейчас? Это синтаксический Web Мы не выделяем типы ресурсов и отношения между ними (онтологии). Знания из такой сети можно пытаться извлечь только с помощью TextMinimg. Далее мы будем привлекать онтологии.
HTML-страница описывает визуальное представление информации о Web- ресурсе и трудно поддаётся смысловому анализу компьютерами. Акцент концепции Semantic Web делается на работе с метаданными, однозначно характеризующими свойства и содержание Web-ресурсов вместо текстового анализа документов (Text Mining). Semantic Web разделил средства визуализации (HTML) и средства смыслового содержания (XML RDF + OWL). Semantic Web создает общую Web-структуру, из которой можно выделять данные (факты) и метаданные (знания над данными). Такие метаданные можно многократно использовать в самых разнообразных приложениях, не только в Internet. Описание знаний в Semantic Web реализуется на языке RDF (Resource Description Framework), который определяет термины предметной области, и – языке онтологий OWL (Web Ontology Language), который описывает семантическую взаимосвязь ресурсов RDF. Эти языки используют XML (eXtensible Markup Language) для синтаксиса, и – URI (Uniform Resource Identifier) для идентификации ресурсов во всем мире. Нужен семантический web
Что дают онтологии для семантического Web Семантика (смысл ресурсов) формально описывается в онтологиях при помощи языков RDF и OWL ; Онтологии обеспечивают компьютерных агентов словарями терминов для «понимания» их задач и взаимодействия друг с другом; Онтологии обладают преемственностью. Можно описывать семантику новых Web-объектов как комбинацию существующих терминов в ранее созданных онтологиях; Онтологии могут совместно использоваться людьми или компьютерными агентами для общего понимания структуры информации; Онтологии позволяют сделать допущения в предметной области явными, с ними теперь возможно оперировать в математических выражениях; Онтологии позволяют отделить знания в предметной области от оперативных, временных знаний; Онтологии помогают анализировать и получать новые знания в предметной области;
В области каждой научной дисциплины можно определить онтологии. Уровнем выше можно описать онтологии научных областей, находящихся на стыке отдельных научных дисциплин. Еще выше можно поставить онтологию научной дисциплины вообще. Такого рода обобщение приводит к необходимости различать виды, уровни (иерархии) онтологий, чтобы организовывать их в библиотеки онтологий, возможно, – открытые и доступные в глобальной сети Internet. 1. Предметно-ориентированные (Domain-oriented); 2. Ориентированные на прикладную задачу (Task-oriented) 3. Базовая техническая онтология. (Basic technical ontology) 4. Общие онтологии (Generic ontologies). Типы, иерархии онтологий в семантических сетях
Модель семантической сети Семантическая сеть – это ориентированный граф, вершинами которого являются понятия, а дугами – отношения. Таким образом семантическая сеть отражает семантику предметной области в виде понятий и отношений. Основные типы отношений между понятиями: 1. Класс подкласс Автомобиль BMW 2. Свойство значение Цвет Зелёный 3. Пример экземпляра класса Человек Иванов Классификации семантических сетей По количеству отношений: Бинбарные (в которых отношения связывают два объекта). N-барные (в которых есть отношения, связывающие более двух объектов). По типу отношений (какой, сколько, где, когда…): функциональные, количественные, пространственные, временные, логические… По количеству типов отношений: Однородные (с единственным типом отношений), Неоднородные (с различными типами отношений).
Пример схемы онтологий семантической сети Подкласс – класс BMW – это автомобиль Новое знание! BMW имеет двигатель Пример: Иванов – экземпляр коллектива Неоднородная сеть ( различные типы отношений: класс, пример, свойства ) с N-парными отношениями ( связывают более двух понятий ) и функциональными связями ( имеет, любит, принадлежит ). Функциональное свойство : Автомобиль имеет двигатель Функциональное свойство: Коллектив любит автомобили Новое знание! Иванов любит BMW По сути – это схема метаданных для базы знаний. Иванов
Некоторые конструкции языка OWL Lite См. полностью. Префиксы указывают подмножество языка онтологий (owl, rdf schema…) для описания терминов метаданных.полностью owl: Class (Thing, Nothing) Класс определяет группу индивидов, которых объединяет наличие некоторых общих свойств. Thing - самый общий класс, Nothing - пустой rdfs: subClassOf Иерархии классов создаются путем одного или нескольких утверждений, что данный класс - подкласс другого класса. rdf: Property Свойства используются, чтобы установить отношения между индивидами или индивидами и значениями данных. rdfs: subPropertyOf Иерархии свойств создаются путем одного или нескольких утверждений, что данное свойство - под свойство одного или нескольких других свойств. rdfs: domain Область определения свойства, ограничивает индивидов, к которым это свойство может быть применено. rdfs: range Диапазон свойства, ограничивающий индивидов, которые могут выступать в качестве значений этого свойства.
На формальном уровне, онтология это система, состоящая из набора понятий и набора утверждений об этих понятиях, на основе которых можно строить классы, объекты, отношения, функции. Например, выражение языка C++: можно записать эти утверждения в терминах OWL (RDF), задав диапазон изменений понятия age и область его применимости domain как: usr:age rdfs:range int. usr:age rdfs:domain usr:user. В настоящее время существует множество языков для описания онтологий, визуальных сред разработки баз онтологий, языков запросов к онтологическим базам, например, SPARQL [3,4]. Google предлагает использовать RDFa [5] для вставки онтологических микро данных непосредственно в HTML разметку – см. пример далее. Реализация онтологий namespace usr { class user { int age; }; Префикс usr указывает пространство объявления понятия age Определение свойств понятия age
Микроданные помогают Google правильно распознавать семантику документа. Они обычно добавляются в HTML-теги и. Например: Микроданные от Google Меня зовут Сергей Рыжий, но друзья зовут меня Серый. Я живу в Донецке, и работаю дизайнером в ART Corp. Содержание в теге является элементом itemtype=…Person, указывает, что это – "человек". Каждое свойство элемента "человек" отмечается атрибутом itemprop. Например, itemprop="name" описывает имя человека. Некорректное распознавание семантики в Google выдаёт ссылки на мой сайт, для запросов: «одежда для толстых», «фото толстых негритянок»…
1. Информационный поиск. Information Retrieval (IR) - обычно имеют в виду комплексную деятельность по сб ору, организации, поиску, извлечению и распространению информации при помощи компьютерных технологий. Примерами задач в области информационного пои ска являются: собственно информационный поиск документов по запросу пользователя; автоматическая рубрикация документов по заранее заданному рубрикатору; автоматическая кластеризация документов – разбиение на кластеры близких п о смыслу документов; разработка вопросно-ответных систем – поиск точного фрагмента текста, отвечающего на вопрос пользователя, а не целого документа; автоматическое составление аннотации документа; прогнозирование и многое другое. Многие задачи совпадают с задачами Text Mining, но решаются они другими средствами – на основе семантики, добавленной к данным в виде онтологий.Text Mining Области применения онтологий в Web
2. Интеграция разнородных источников данных. Базы данных содержат и способны обрабатывать большие массивы относительно простой информации (при этом доступ возможен только к этим явно введенным данным). В базах знаний (см. далее) обычно хранится меньший объем информации, но они имеют более сложную структуру, что позволяет использовать возможности логического вывода и получать такие утверждения, которые не были в явном виде введены. Сегодня идея семантической интеграции разно родных источников данных успешно решается для распределенных в Интерне т динамических данных – новостей. Это делается посредством синдикации новостей в виде RSS-лент.RSS-лент Могут быть рассмотрены три важные задачи, возникающие при семантическом управлении данными: выражение концептуальной модели предметной области (онтологии предме тной области) для конкретного источника данных, интеграция нескольких баз знаний при помощи объединения их онтологий, выражение и выполнение запросов к базам знаний.
3. Семантический web в корпоративных сетях На жестких дисках LAN, MAN в корпорациях имеются огромные массивы разнотипных семантически не структурированных данных. Традиционные ИПС здесь бессильны. Характерные семантические задачи в корпоративных сетях: поиск в разнотипных файлах (не только HTML), в корпоративных базах данных и системах документооборота, группировка тематически близких документов, автоматическое реферирование, перевод, выявление ключевых понятий, проведение нечеткого поиска, системы поддержки принятия управленческих решений.
Основная задача при использовании ИПС в корпоративных сетях – это автоматизированное выявление знаний в массах данных (которые изначально не структурированы, семантически не связанны) с целью их использования в процессе принятия решения. С этой целью информационные массивы (из Internet, MAN, LAN) преобразуются с семантической обработкой информации в хранилища данных Data Warehouse или базы знаний (данные + онтологии). Если такие базы открываю в Internet, то их называют порталами знаний. Полученные базы позволяют значительно повысить: интеллектуальный анализ данных, глубинный анализ текстов, обнаружение новых знаний, принятие правильных решений, прогноз и тенденции событий… Такие ИПС реализуются в программно-аппаратных комплексах Google Search Appliance, InfoStream Port и др. с использованием также технологий Text Mining. Стоимость внедрения таких систем – сотни тысяч долларов 4. Базы знаний
Пример базы знаний: RSS-лента База данных новостей База знаний новостей
Пример разработки базы знаний Семантическая сеть
Среда TopBraid формирования базы знаний
Визуальное представление онтологий
Доступ к базе знаний. Язык запросов SPARQL SPARQL, язык запросов к OWL-хранилищам, по синтаксису подобен SQL. Он предназначен для выборки данных из базы на основе метаданных – онтологий. С помощью SPARQL невозможно добавление высказываний в хранилище или редактирование содержимого хранилища. В отличии от SQL-запроса, SPARQL-запросу не обязательно знание структуры хранилища. Select Select From From Where Where { Filter Filter }
Пример SPARQL-запроса Формулировка запроса: в онтологии People1.0 найти значения не пересекающихся переменных X и Y, т.е. найти названия классов, не содержащих идентичных представителей. Реализация запроса: SELECT ?X ?Y From /People1.0 WHERE {?X owl:disjointWith ?Y.} Результат поиска: Классы Childs и Parents (а так же их подклассы) не содержат идентичных индивидов, т.е. если A - представитель Childs, то A - не представитель Parents. Это и есть пример нового знания на основе имеющейся базы знаний. XY ChildsParents
Несмотря на отдельные успехи, до сих пор нельзя сказать, что идея Semantic Web реализована на практике. Семантическая Сеть продолжает развиваться, появляются новые языки и стандарты...
Источники 1. Боженюк A.B. Интеллектуальные интернет-технологии : учебник / A.B. Боженюк, Э.М. Котов., A.A. Целых. Ростов н/Д: Феникс, с. 2. Гаврилова Т. А. Базы знаний интеллектуальных систем : учебник / Т. А. Гаврилова, Ф. В. Хорошевский. СПб.: Питер, с. 3. Лапшин В. А. Онтологии в компьютерных системах Б.В. Добров, В.В. Иванов, В.Д. Соловьев, Н.В. Лукашевич // Онтологии и тезаурусы: модели, инструменты, приложения Google. О расширенном описании веб-страниц и структурированных данных