SlideShare a Scribd company logo
1 of 46
Download to read offline
Онтологии 
Егор 
Антонов 
elderos@yandex-­‐team.ru 
Яндекс 
МШАД 
08.11.2014
Проектирование
Предметная 
область
Выделяем 
свойства 
• Большой 
• Тяжелый 
• Рыжий 
• Ржет 
• Маленькая 
• Легкая 
• Коричневая 
• Крякает
Абстракция 
• Тяжелый 
• Большой 
• Рыжий 
• Ржет 
• Легкая 
• Маленькая 
• Коричневая 
• Крякает 
Класс 
Вес 
Рост 
Цвет 
Звук
Животные 
Тип 
Вес 
Рост 
Цвет 
Звук 
Утка 
2кг 
50см. 
Коричневый 
Кря 
Лошадь 
350кг 
2м. 
Черный 
Игого 
Комар 
1гр. 
5мм. 
Серый 
Бззззз 
Слон 
2т. 
3м. 
Серый 
Туду 
• Летающие 
• Катающие 
• Хвостатые 
• Хоботные
Плохой 
путь 
-­‐ 
наследование 
Нужно 
2N 
классов, 
чтобы 
покрыть 
предметную 
область
Хороший 
путь 
-­‐ 
композиция 
ID 
Тип 
1 
Утка 
2 
Лошадь 
3 
Комар 
4 
Слон 
ID 
Вес 
Рост 
Цвет 
Звук 
1 
2кг 
50см. 
Коричневый 
Кря 
2 
350кг 
2м. 
Черный 
Игого 
3 
1гр. 
5мм. 
Серый 
Бззззз 
4 
2т. 
3м. 
Серый 
Туду 
ID 
Длина 
хобота 
Гибкость 
хобота 
3 
3мм. 
Нет 
4 
1,5м. 
Да
Что 
почитать 
• Head 
First 
Design 
Pauerns 
• GoF 
Pauerns
Структура 
онтологии
Структура 
онтологии 
• Классы 
(типы) 
• Атрибуты 
(свойства) 
• Объекты 
(сущности) 
• Атрибуты 
(свойства) 
• Classes 
(types) 
• Auributes 
(proper~es) 
• Objects 
(en~~es) 
• Auributes 
(proper~es)
Структура 
онтологии 
• Классы 
содержат 
атрибуты 
• Объекты 
бывают 
каких-­‐то 
классов 
• Атрибут 
– 
связь 
между 
объектом 
и 
значением 
атрибута 
• Если 
связь 
слишком 
сложная, 
то 
она 
становится 
объектом-­‐медиатором
Структура 
онтологии 
• Каждый 
класс 
содержит 
только 
те 
атрибуты, 
которые 
ему 
нужны. 
• Каждый 
атрибут 
содержит 
только 
объекты 
определенного 
класса. 
• Каждый 
объект 
может 
иметь 
сколько 
угодно 
классов.
Как 
это 
выглядит
Resource 
Descrip~on 
Framework 
RDF 
– 
это 
концепция 
хранения 
данных. 
Все 
данные 
должны 
храниться 
в 
триплетах. 
ID 
Property 
Value 
ID 
– 
идентификатор 
сущности 
Property 
– 
атрибут 
Value 
– 
значение 
атрибута
Преимущества 
RDF 
• Простота 
• Данные 
хранятся 
единообразно 
– Легко 
составлять 
запросы 
– Легко 
использовать 
в 
коде 
• Вся 
онтология 
– 
один 
файл 
– Легко 
администрировать
Недостатки 
RDF 
• Неудобно 
хранить 
простые 
частотные 
структуры 
• Трудно 
верифицировать 
корректность 
данных 
• Неоптимальная 
структура
Реализации 
RDF 
RDF 
– 
это 
только 
концепция. 
Данные 
можно 
хранить 
как 
угодно. 
Если 
вы 
храните 
данные 
кошерно, 
они 
всегда 
легко 
сводимы 
к 
RDF. 
Как 
можно 
реализовать: 
• CSV-­‐файлы 
• XML, 
JSON 
• Turtle, 
RDFS, 
OWL, 
RDFa, 
microdata, 
… 
hup://w3.org
Онтология 
как 
граф
RDF-­‐хранилища 
• Работают 
in-­‐memory 
или 
медленно 
• Запрос 
– 
это 
хождение 
по 
графу 
• Основной 
стандарт 
языка 
запросов 
SPARQL 
Virtuoso 
(hup://virtuoso.openlinksw.com/) 
4store 
(hup://4store.org/) 
Stardog 
(hup://stardog.com/)
Freebase 
Структура: 
hup://freebase.com 
QueryEditor: 
hup://www.freebase.com/query
Запрос 
к 
Freebase 
[{ 
"type":"/people/person" 
"name":"Barack 
Obama" 
"*":[{}] 
}] 
MQL 
CheatSheet: 
hup://wiki.freebase.com/images/e/e0/ 
MQLcheatsheet-­‐081208.pdf
Интересные 
онтологии 
• hup://freebase.com 
• hup://dbpedia.org 
• hup://www.geonames.org/ 
• hup://musicbrainz.org/ 
• hup://wordnet.princeton.edu/ 
• hup://www.mpi-­‐inf.mpg.de/yago-­‐naga/yago/ 
• hup://webdatacommons.org/
Онтологические 
проблемы
Сбор 
онтологии 
• Берем 
несколько 
источников 
• Приводим 
к 
общей 
структуре 
(mapping) 
• Сливаем, 
чтобы 
устранить 
дубликаты 
(merge)
Источники 
данных 
• Wikipedia 
• Другие 
онтологии 
(Linked 
Open 
Data, 
LOD) 
• Crowdsourcing 
• Микроразметка 
• Майнинг 
из 
веба
Linked 
Open 
Data
Mapping 
• (Не)изоморфность 
графа 
– Enumera~on 
vs 
class 
– Терминальные 
и 
нетерминальные 
атрибуты 
– Разная 
структура 
классов 
• Разный 
формат 
значений 
атрибутов 
– Даты 
– Числа 
с 
точкой
Merge 
• Фрагментарное 
заполнение 
• Ошибки 
в 
значениях 
атрибутов 
• Разные 
типы 
данных 
в 
атрибутах 
• Разная 
важность 
атрибутов 
• Merge/split-­‐проблема 
с 
объектами
Простой 
алгоритм 
слияния 
1. Приводим 
2 
онтологии 
к 
общей 
структуре 
2. Формируем 
гипотезы 
пар 
объектов 
3. Сравниваем 
значения 
атрибутов 
1. Если 
разница 
мала 
– 
сливаем 
2. Иначе 
– 
не 
сливаем 
4. Делаем 
итеративно, 
пока 
количество 
объектов 
не 
перестанет 
меняться
Гипотезы 
пар 
• Баланс 
между 
полнотой 
склейки 
и 
количеством 
пар 
• Общий 
ключ 
• Общий 
источник 
• Общее 
значение 
атрибута 
• Общий 
класс
Функция 
расстояния 
• Для 
каждого 
терминального 
типа 
своя 
функция 
расстояния 
– Разница 
чисел/дат 
– Расстояние 
Левенштейна 
для 
строк 
– Евклидово 
расстояние 
для 
координат 
• Для 
нетерминальных 
типов 
всё 
сложно 
– Объекты 
могут 
ссылаться 
на 
еще 
не 
склеенные 
объекты 
– Нужно 
сравнивать 
атрибуты 
объектов, 
на 
которые 
стоит 
ссылка
Trivial 
Взято 
из
Simple 
Sponge 
Bob 
Square 
Sponge 
Bob 
Square
Hard 
Sponge 
Bob 
Square 
Sponge 
Robert 
Rectangle
Impossible 
Sponge 
Bob 
Square 
Robert 
4 
угла 
90о
Применение
Ontology 
reasoning 
• Порождение 
фактов, 
которые 
не 
записаны 
в 
онтологию 
• Сводится 
к 
запросу 
к 
базе 
объектов 
Вася 
живет 
в 
Москве 
Москва 
находится 
в 
России 
Вася 
живет 
в 
России
Выделение 
объектов 
в 
тексте 
• Снятие 
языковой, 
онтологической 
и 
структурной 
неоднозначности 
• Присваивание 
объекту 
«важности» 
для 
текста 
(и 
наоборот)
Персонализация 
• Люди 
интересуются 
объектами 
• Объекты 
сильно 
коррелируют 
с 
тематиками 
и 
событиями 
• Можно 
автоматически 
расширять 
множество 
интересов 
за 
счет 
похожих 
объектов
Вовлеченность 
пользователя 
• Объекты 
на 
серпе 
– Разукрашивание 
выдачи 
– Рекомендации 
похожих 
объектов 
– Провязка 
с 
медиасервисами 
• Конвертация 
текста 
в 
гипертекст
«Понимание» 
текста 
• Нахождение 
текстов, 
похожих 
по 
смыслу 
– Сюжеты 
в 
новостях 
– Смысловые 
дубликаты 
• Категоризация 
текстов
Онтологии 
в 
бою 
• Поисковые 
системы 
(Yandex, 
Google, 
Bing) 
• IBM 
Watson 
• Wolfram 
alpha 
• news360.com
Yanswer 
• Можно 
отвечать 
на 
странные 
вопросы:
Вопросы?

More Related Content

Similar to Егор Антонов - Онтологии

"Optimizing Memory Footprint in Java" @ JEEConf 2013, Kiev, Ukraine
"Optimizing Memory Footprint in Java" @ JEEConf 2013, Kiev, Ukraine "Optimizing Memory Footprint in Java" @ JEEConf 2013, Kiev, Ukraine
"Optimizing Memory Footprint in Java" @ JEEConf 2013, Kiev, Ukraine
Vladimir Ivanov
 
главчева про курс_12_02_2014
главчева про курс_12_02_2014главчева про курс_12_02_2014
главчева про курс_12_02_2014
Vladimir Kukharenko
 
Что такое Transfer Learning, или как перестать бояться и начать использовать ...
Что такое Transfer Learning, или как перестать бояться и начать использовать ...Что такое Transfer Learning, или как перестать бояться и начать использовать ...
Что такое Transfer Learning, или как перестать бояться и начать использовать ...
it-people
 
извлечение объектов и фактов из текстов
извлечение объектов и фактов из текстовизвлечение объектов и фактов из текстов
извлечение объектов и фактов из текстов
Yandex
 
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014
it-people
 
CodeFest 2013. Иванов В. — Уменьшение расхода оперативной памяти в Java-прило...
CodeFest 2013. Иванов В. — Уменьшение расхода оперативной памяти в Java-прило...CodeFest 2013. Иванов В. — Уменьшение расхода оперативной памяти в Java-прило...
CodeFest 2013. Иванов В. — Уменьшение расхода оперативной памяти в Java-прило...
CodeFest
 
Как устроен поиск
Как устроен поискКак устроен поиск
Как устроен поиск
Andrew Aksyonoff
 
Как устроен поиск (Андрей Аксёнов)
Как устроен поиск (Андрей Аксёнов)Как устроен поиск (Андрей Аксёнов)
Как устроен поиск (Андрей Аксёнов)
Ontico
 

Similar to Егор Антонов - Онтологии (20)

Технологии Semantic Web. Часть II. Формат представления данных RDF
Технологии Semantic Web. Часть II. Формат представления данных RDFТехнологии Semantic Web. Часть II. Формат представления данных RDF
Технологии Semantic Web. Часть II. Формат представления данных RDF
 
"Optimizing Memory Footprint in Java" @ JEEConf 2013, Kiev, Ukraine
"Optimizing Memory Footprint in Java" @ JEEConf 2013, Kiev, Ukraine "Optimizing Memory Footprint in Java" @ JEEConf 2013, Kiev, Ukraine
"Optimizing Memory Footprint in Java" @ JEEConf 2013, Kiev, Ukraine
 
AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...
AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...
AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...
 
Ruby basics
Ruby basicsRuby basics
Ruby basics
 
главчева про курс_12_02_2014
главчева про курс_12_02_2014главчева про курс_12_02_2014
главчева про курс_12_02_2014
 
Что такое Transfer Learning, или как перестать бояться и начать использовать ...
Что такое Transfer Learning, или как перестать бояться и начать использовать ...Что такое Transfer Learning, или как перестать бояться и начать использовать ...
Что такое Transfer Learning, или как перестать бояться и начать использовать ...
 
извлечение объектов и фактов из текстов
извлечение объектов и фактов из текстовизвлечение объектов и фактов из текстов
извлечение объектов и фактов из текстов
 
разработка бизнес приложений (6)
разработка бизнес приложений (6)разработка бизнес приложений (6)
разработка бизнес приложений (6)
 
Где сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearchГде сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearch
 
KL10TCH.School : Введение в Linked Data и Semantic Web
KL10TCH.School : Введение в Linked Data и Semantic WebKL10TCH.School : Введение в Linked Data и Semantic Web
KL10TCH.School : Введение в Linked Data и Semantic Web
 
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014
Извлечение информации из веб-страниц - Михаил Коробов, PyCon RU 2014
 
Squeek 1
Squeek 1Squeek 1
Squeek 1
 
CodeFest 2013. Иванов В. — Уменьшение расхода оперативной памяти в Java-прило...
CodeFest 2013. Иванов В. — Уменьшение расхода оперативной памяти в Java-прило...CodeFest 2013. Иванов В. — Уменьшение расхода оперативной памяти в Java-прило...
CodeFest 2013. Иванов В. — Уменьшение расхода оперативной памяти в Java-прило...
 
Как устроены поисковые системы
Как устроены поисковые системыКак устроены поисковые системы
Как устроены поисковые системы
 
Как устроен поиск
Как устроен поискКак устроен поиск
Как устроен поиск
 
Как устроен поиск (Андрей Аксёнов)
Как устроен поиск (Андрей Аксёнов)Как устроен поиск (Андрей Аксёнов)
Как устроен поиск (Андрей Аксёнов)
 
Devconf-2014: Ноотропы для BigData
Devconf-2014: Ноотропы для BigDataDevconf-2014: Ноотропы для BigData
Devconf-2014: Ноотропы для BigData
 
Vsevolod Solovyov "Data science from the trenches"
Vsevolod Solovyov "Data science from the trenches"Vsevolod Solovyov "Data science from the trenches"
Vsevolod Solovyov "Data science from the trenches"
 
Data science from the trenches
Data science from the trenchesData science from the trenches
Data science from the trenches
 
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
Выбираем поисковик умом головы, Андрей Аксенов (Sphinx)
 

More from Yandex

Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Yandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Yandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Yandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Yandex
 

More from Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

Егор Антонов - Онтологии

  • 1. Онтологии Егор Антонов elderos@yandex-­‐team.ru Яндекс МШАД 08.11.2014
  • 4. Выделяем свойства • Большой • Тяжелый • Рыжий • Ржет • Маленькая • Легкая • Коричневая • Крякает
  • 5. Абстракция • Тяжелый • Большой • Рыжий • Ржет • Легкая • Маленькая • Коричневая • Крякает Класс Вес Рост Цвет Звук
  • 6. Животные Тип Вес Рост Цвет Звук Утка 2кг 50см. Коричневый Кря Лошадь 350кг 2м. Черный Игого Комар 1гр. 5мм. Серый Бззззз Слон 2т. 3м. Серый Туду • Летающие • Катающие • Хвостатые • Хоботные
  • 7. Плохой путь -­‐ наследование Нужно 2N классов, чтобы покрыть предметную область
  • 8. Хороший путь -­‐ композиция ID Тип 1 Утка 2 Лошадь 3 Комар 4 Слон ID Вес Рост Цвет Звук 1 2кг 50см. Коричневый Кря 2 350кг 2м. Черный Игого 3 1гр. 5мм. Серый Бззззз 4 2т. 3м. Серый Туду ID Длина хобота Гибкость хобота 3 3мм. Нет 4 1,5м. Да
  • 9.
  • 10. Что почитать • Head First Design Pauerns • GoF Pauerns
  • 12. Структура онтологии • Классы (типы) • Атрибуты (свойства) • Объекты (сущности) • Атрибуты (свойства) • Classes (types) • Auributes (proper~es) • Objects (en~~es) • Auributes (proper~es)
  • 13. Структура онтологии • Классы содержат атрибуты • Объекты бывают каких-­‐то классов • Атрибут – связь между объектом и значением атрибута • Если связь слишком сложная, то она становится объектом-­‐медиатором
  • 14. Структура онтологии • Каждый класс содержит только те атрибуты, которые ему нужны. • Каждый атрибут содержит только объекты определенного класса. • Каждый объект может иметь сколько угодно классов.
  • 16. Resource Descrip~on Framework RDF – это концепция хранения данных. Все данные должны храниться в триплетах. ID Property Value ID – идентификатор сущности Property – атрибут Value – значение атрибута
  • 17. Преимущества RDF • Простота • Данные хранятся единообразно – Легко составлять запросы – Легко использовать в коде • Вся онтология – один файл – Легко администрировать
  • 18. Недостатки RDF • Неудобно хранить простые частотные структуры • Трудно верифицировать корректность данных • Неоптимальная структура
  • 19. Реализации RDF RDF – это только концепция. Данные можно хранить как угодно. Если вы храните данные кошерно, они всегда легко сводимы к RDF. Как можно реализовать: • CSV-­‐файлы • XML, JSON • Turtle, RDFS, OWL, RDFa, microdata, … hup://w3.org
  • 21. RDF-­‐хранилища • Работают in-­‐memory или медленно • Запрос – это хождение по графу • Основной стандарт языка запросов SPARQL Virtuoso (hup://virtuoso.openlinksw.com/) 4store (hup://4store.org/) Stardog (hup://stardog.com/)
  • 22. Freebase Структура: hup://freebase.com QueryEditor: hup://www.freebase.com/query
  • 23. Запрос к Freebase [{ "type":"/people/person" "name":"Barack Obama" "*":[{}] }] MQL CheatSheet: hup://wiki.freebase.com/images/e/e0/ MQLcheatsheet-­‐081208.pdf
  • 24. Интересные онтологии • hup://freebase.com • hup://dbpedia.org • hup://www.geonames.org/ • hup://musicbrainz.org/ • hup://wordnet.princeton.edu/ • hup://www.mpi-­‐inf.mpg.de/yago-­‐naga/yago/ • hup://webdatacommons.org/
  • 26. Сбор онтологии • Берем несколько источников • Приводим к общей структуре (mapping) • Сливаем, чтобы устранить дубликаты (merge)
  • 27. Источники данных • Wikipedia • Другие онтологии (Linked Open Data, LOD) • Crowdsourcing • Микроразметка • Майнинг из веба
  • 29. Mapping • (Не)изоморфность графа – Enumera~on vs class – Терминальные и нетерминальные атрибуты – Разная структура классов • Разный формат значений атрибутов – Даты – Числа с точкой
  • 30. Merge • Фрагментарное заполнение • Ошибки в значениях атрибутов • Разные типы данных в атрибутах • Разная важность атрибутов • Merge/split-­‐проблема с объектами
  • 31. Простой алгоритм слияния 1. Приводим 2 онтологии к общей структуре 2. Формируем гипотезы пар объектов 3. Сравниваем значения атрибутов 1. Если разница мала – сливаем 2. Иначе – не сливаем 4. Делаем итеративно, пока количество объектов не перестанет меняться
  • 32. Гипотезы пар • Баланс между полнотой склейки и количеством пар • Общий ключ • Общий источник • Общее значение атрибута • Общий класс
  • 33. Функция расстояния • Для каждого терминального типа своя функция расстояния – Разница чисел/дат – Расстояние Левенштейна для строк – Евклидово расстояние для координат • Для нетерминальных типов всё сложно – Объекты могут ссылаться на еще не склеенные объекты – Нужно сравнивать атрибуты объектов, на которые стоит ссылка
  • 35. Simple Sponge Bob Square Sponge Bob Square
  • 36. Hard Sponge Bob Square Sponge Robert Rectangle
  • 37. Impossible Sponge Bob Square Robert 4 угла 90о
  • 39. Ontology reasoning • Порождение фактов, которые не записаны в онтологию • Сводится к запросу к базе объектов Вася живет в Москве Москва находится в России Вася живет в России
  • 40. Выделение объектов в тексте • Снятие языковой, онтологической и структурной неоднозначности • Присваивание объекту «важности» для текста (и наоборот)
  • 41. Персонализация • Люди интересуются объектами • Объекты сильно коррелируют с тематиками и событиями • Можно автоматически расширять множество интересов за счет похожих объектов
  • 42. Вовлеченность пользователя • Объекты на серпе – Разукрашивание выдачи – Рекомендации похожих объектов – Провязка с медиасервисами • Конвертация текста в гипертекст
  • 43. «Понимание» текста • Нахождение текстов, похожих по смыслу – Сюжеты в новостях – Смысловые дубликаты • Категоризация текстов
  • 44. Онтологии в бою • Поисковые системы (Yandex, Google, Bing) • IBM Watson • Wolfram alpha • news360.com
  • 45. Yanswer • Можно отвечать на странные вопросы: