28

DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Embed Size (px)

Citation preview

Page 1: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей
Page 2: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Практические применения семантических вычислений.

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

Сергей Горшков,«Бизнес Семантика»

Page 3: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

1. Концепция и технологииSemantic Web

2. Создание семантических моделей. Контролируемый естественный язык

3. Применение семантических технологий в бизнес-приложениях. Аналитические возможности Semantic Web

Page 4: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Кодирование информациив семантическую форму

Принцип Semantic Web

Подлежащее – сказуемое – определение

Подлежащее: универсальный идентификатор объекта (URI)

Сказуемое: связь объекта с другим объектом, или название его свойства

Определение: объект или литерал

Возможные типы объектов, свойств, связей хранятся в онтологии

Page 5: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Примеры стандартных онтологий:

Dublin Core (DC)FOAFмикроформаты (μF)Стандарт ISO 15926

Можно также создать своюонтологию – «с нуля», или путемрасширения существующей.

Page 6: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Технологии, необходимые дляработы с информацией в семантической форме:

RDFRDFSOWLSPARQL

Являются стандартами или рекомендациями W3C

Page 7: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Взаимосвязь семантическихтехнологий

Форматы файлов:

RDF, RDFS, OWL

Редакторы

Средства конвертации

данных

Triplestore и

точка доступаSPARQL

(аналог БД)

Интерфейсыи аналитическое ПО

Page 8: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Животные

Собаки

Ключевые понятия семантического моделирования

Индивидуальный объектКласс: совокупность индивидуальных объектов

#Снежок#Дружок

Page 9: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Собаки

Ключевые понятия семантического моделирования

ЛитералСвойство

Связь объект-объектСвязь объект-литерал

ЯвляетсяРодителемИмеетИмя Организации

значение: литерал значение: объект #ЖивоеСущество

domain

range

Page 10: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Простейшая онтология

Клиент (класс)Название (свойство)Дочерний клиент (свойство)

Page 11: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Синтаксис RDFS. Определение класса и его свойств

<rdfs:Class rdf:ID="Customer"> <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/Agent"/></rdfs:Class>

Пример для программистов

<rdf:Property rdf:ID="Name"> <rdfs:domain rdf:resource="#Customer"/> <rdfs:range rdf:resource="&xsd;string"/></rdf:Property>

<rdf:Property rdf:ID="Child"> <rdfs:domain rdf:resource="#Customer"/> <rdfs:range rdf:resource="#Customer"/></rdf:Property>

Page 12: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Получившиеся триплеты:

Пример для программистов

<rdfs:Class rdf:ID="Customer"> <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/Agent"/></rdfs:Class>

<http://example.com/#Customer>

<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>

<http://www.w3.org/2000/01/rdf-schema#Class>

<http://example.com/#Customer>

<http://www.w3.org/2000/01/rdf-schema#subClassOf>

<http://purl.org/dc/terms/Agent>

Page 13: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Синтаксис RDF. Определение индивидуального объекта

<Customer rdf:about="http://example.com/#alpha" > <Name>Alpha, JSC</Name></Customer>

<Customer rdf:about="http://example.com/#beta" > <Name>Beta, LLC</Name> <Child rdf:resource= "http://example.com/#alpha" /></Customer>

Пример для программистов

Page 14: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Получившаяся онтология

dc:Agent

#Name

#Customer

#Child

xsd:string

domain

range

#Beta#Alpha

domain

range

type type

Alpha, JSC Beta, LLC

Name Name

Child

Page 15: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Получившиеся триплеты<http://example.com/#Name> <http://www.w3.org/

1999/02/22-rdf-syntax-ns#type>

<http://www.w3.org/1999/02/22-rdf-syntax-

ns#Property>

<http://example.com/#Name> <http://www.w3.org/2000/01/rdf-schema#range>

<http://www.w3.org/2001/XMLSchema#string>

<http://example.com/#Name> <http://www.w3.org/2000/01/rdf-schema#domain>

<http://example.com/#Customer>

<http://example.com/#Customer> <http://www.w3.org/1999/02/22-rdf-syntax-

ns#type>

<http://www.w3.org/2000/01/rdf-schema#Class>

<http://example.com/#Customer> <http://www.w3.org/2000/01/rdf-schema#subClassOf>

<http://purl.org/dc/terms/Agent>

<http://example.com/#Child> <http://www.w3.org/1999/02/22-rdf-syntax-

ns#type>

<http://www.w3.org/1999/02/22-rdf-syntax-

ns#Property>

<http://example.com/#Child> <http://www.w3.org/2000/01/rdf-schema#range>

<http://example.com/#Customer>

<http://example.com/#Child> <http://www.w3.org/2000/01/rdf-schema#domain>

<http://example.com/#Customer>

<http://example.com/#beta> <http://www.w3.org/1999/02/22-rdf-syntax-

ns#type>

<http://example.com/#Customer>

<http://example.com/#beta> <http://example.com/#Child> <http://example.com/#alpha>

<http://example.com/#beta> <http://example.com/#Name>

"Beta, LLC"

<http://example.com/#alpha> <http://www.w3.org/1999/02/22-rdf-syntax-

ns#type>

<Customer>

<http://example.com/#alpha> <http://example.com/#Name>

"Alpha, JSC"

Page 16: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Средства моделирования:

Protégé

Page 17: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Средства моделирования:

TopBraid Composer

Page 18: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Средства моделирования:

OWLGrEd

Page 19: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Средства моделирования:

i1

Альфа-тестирование

http://editor.business-semantic.ru

Page 20: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Чем занимается «Бизнес Семантика»?

Форматы файлов:

RDF, RDFS, OWL

Редакторы

Средства конвертации

данных

Triplestore и

точка доступаSPARQL

(аналог БД)

Интерфейсыи аналитическое ПО

Page 21: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Средства моделирования:

FluentEditor

Статья про контролируемый язык:

http://habrahabr.ru/post/173015/

Page 22: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Создание онтологии на CNL

Every customer is an agent[dc].

Every customer has-name (some-string-value).

Every customer has-child customer.

Alpha is a customer.Beta is a customer.

Alpha has-name equal-to 'Alpha, LLC'.Beta has-name equal-to 'Beta, JSC'.

Beta has-child Alpha.

Page 23: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Применения семантическихтехнологий в корпоративнойсреде:

Интеграция информационных систем, обмен данными

Аналитика

Управление знаниями (wiki)

Статья про применение семантики для интеграции данных:

http://habrahabr.ru/post/167419/

Page 24: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Что такого можно делать на графах, чего нельзя сделатьна реляционной БД?

Работать с нетипизированным контентом, в условиях меняющейся модели данных

Анализировать связи между объектами (Facebook Graph Search)

Работать со множественными значениями атрибутов

Page 25: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Язык SPARQL

Получим список всех клиентов:

SELECT * WHERE {?customer<http://www.w3.org/1999/02/22-rdf-syntax-ns#type><http://example.com/#Customer> }

Результат:

?customer---------------------------------------<http://example.com/#Alpha><http://example.com/#Beta>

Получить весь граф:

SELECT * WHERE {?object ?prop ?value}

Статья про анализ семантических моделей:

http://habrahabr.ru/post/178973/

Page 26: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Язык SPARQL

Усложняем запрос:

SELECT ?customer WHERE {

?customer<http://www.w3.org/1999/02/22-rdf-syntax-ns#type><http://example.com/#Customer> .

?customer <http://example.com/#hasName>“Alpha, LLC”^^xsd:string

FILTER (CONTAINS(STR(?customer),”Alpha”))}ORDER BY ASC(?customer)LIMIT 5 OFFSET 10

Page 27: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

Reasoner на контролируемом языке

Page 28: DUMP-2013 Наука и жизнь - Практические применения семантических вычислений - Горшков Сергей

620075, Россия, г. Екатеринбург, ул. Бажова, д. 89

+7 (343) [email protected]://www.business-semantic.ruhttp://www.business-semantic.comhttp://serge-index.livejournal.com