SlideShare ist ein Scribd-Unternehmen logo
1 von 83
Downloaden Sie, um offline zu lesen
Эталонное описание
фильма на основе
десятков дубликатов
Антон Ивинский
Где встречается задача
поиска дубликатов
4
5
6
7
Делаем лучшую в мире
библиотеку фильмов
Цель: красивая карточка для каждого фильма
〉 Терминатор
〉 История противостояния
солдата Кайла Риза и киборга-
терминатора…
〉 1984
〉 Великобритания, США
〉 … десятки других полей
9
А также
〉 Билеты в кино
〉 Посмотреть на ТВ
〉 Ссылки на просмотр онлайн
10
Источники
〉 Студии производители и
прокатчики
〉 Агрегаторы и партнеры
〉 Поставщики
телепрограммы,
кинотеатры
〉 …
〉 Редакция
11
Связываем фильмы
Создаем отдельную коллекцию с эталонными
записями
〉 Как создавать и заполнять эталоны?
〉 Как находить эталоны для дубликата
〉 У двух фильмов разные описания - какое выбрать?
12
14
Создаем эталоны
Создаем эталоны
Документ
〉 Терминатор
〉 1984
〉 США
16
Создаем эталоны
Документ
〉 Терминатор
〉 1984
〉 США
Эталон
〉 Терминатор
〉 1984
〉 США
17
Создаем эталоны
Документ (источник 2)
〉 Терминатор
〉 История противостояния
солдата Кайла Риза и
киборга…
〉 1984
〉 Великобритания, США
Эталон
〉 Терминатор
〉 1984
〉 США
18
Создаем эталоны
Документ (источник 2)
〉 Терминатор
〉 История противостояния
солдата Кайла Риза и
киборга…
〉 1984
〉 Великобритания, США
Эталон
〉 Терминатор
〉 История противостояния
солдата Кайла Риза и
киборга…
〉 1984
19
Создаем эталоны
Эталон
〉 Терминатор
〉 История противостояния
солдата Кайла Риза и
киборга…
〉 1984
〉 Великобритания, США
20
21
Выберем эталон
Документ
〉 Годзилла
〉
〉
〉 США, Япония
Эталон 1
〉 Годзилла
〉 1998
〉 …
〉 США, Япония
Эталон 2
〉 Годзилла
〉 2014
〉 …
〉 США, Япония
22
Быстро находим
эталонные карточки
фильмов
24
Сложности перевода
Документ
〉 Один плюс один
〉 2011
〉 Франция
Эталон
〉 1+1
〉 2011
〉 Франция
25
Сложности перевода
Документ
〉 Неприкасаемые
〉 2011
〉 Франция
Эталон
〉 1+1
〉 2011
〉 Франция
26
Сложности перевода
Документ
〉 The Intouchables (EN)
〉 Неприкасаемые (RU)
〉 2011
〉 Франция
Эталон
〉 The Intouchables (EN)
〉 1+1 (RU)
〉 2011
〉 Франция
27
Сложности перевода
〉 Проводим нормализацию
〉 Мультиязычные поля храним на всех языках
28
29
Сравниваем только топ N похожих карточек
〉 Какие поля использовать для сравнения
〉 Как выбрать N
30
Поля для сравнения
〉 название (на всех языках)
〉 название + год + страна
〉 все поля сразу
31
Сколько лучших совпадений просматривать?
Чтобы среди них в > 99% был искомый фильм
〉 1 - плохо
〉 2-4 может быть недостаточно для качества
〉 5-10 оптимально
〉 больше 20 - попробуйте построить другой индекс
32
Тестируйте качество
〉 Возьмите эталонную карточку фильма
〉 Проверьте что по ее полям находится она сама
〉 Удалите несоколько полей
〉 Проверьте что карточка все еще находится
〉 Повторите много раз с другими эталонами
33
34
Связываем фильмы и
эталоны
36
Связываем дубликаты
〉 3 000 000 фильмов с повторами от разных
источников
〉 700 000 эталонных карточек фильмов
〉 Для каждого фильма находим до 20 похожих
карточек
Найденная карточка соответствует фильму или нет?
37
Детерминированный
подход
Детерминированный подход
Придумываем правила сами
〉 Должны совпадать название, год, и есть
совпадающие страны
39
Детерминированный подход. Пример 1
Документ
〉 Даун Хаус
〉 …
〉 2001
〉 Россия
Эталон
〉 Даун Хаус
〉 …
〉 2000
〉 Россия
40
Детерминированный подход
Правила
〉 Должны совпадать название, год, и есть
совпадающие страны
〉 Если года отличаются не больше чем на один,
считаем что отличия нет (new!)
41
Детерминированный подход. Пример 2
Документ
〉 The Intouchables (EN)
〉 Неприкасаемые (RU)
〉 2011
〉 Франция
Эталон
〉 The Intouchables (EN)
〉 1+1 (RU)
〉 2011
〉 Франция
42
Детерминированный подход
Правила
〉 Должны совпадать название, год, и есть
совпадающие страны
〉 Если года отличаются не больше чем на один,
считаем что отличия нет
〉 Должно совпадать хотя бы одно название на одном
языке (new!)
43
Детерминированный подход. Пример 3
Документ
〉 Wanted (EN)
〉 Разыскивается (RU)
〉 2007
〉 США
Эталон
〉 Wanted (EN)
〉 Особо опасен (RU)
〉 2008
〉 США, Германия
44
Детерминированный подход
Правила
〉 Должны совпадать название, год, и есть
совпадающие страны
〉 Если года отличаются не больше чем на один,
считаем что отличия нет
〉 Должно совпадать хотя бы одно название на одном
языке
〉 Второе и третье правила только по одному (new!)
45
Поставщик 1 присылает только фильмы из России (new!)
Для сериалов должны пересекаться года +-3 (new!)
Если есть только одно название то оно должно совпадать хотя бы частично
(new!)
Если есть ссылка на кинопоиск
то ничего больше не надо проверять (ne
Не клеить больше чем один фильм (new!)
от одного источника к эталону (new!)
Если есть ссылка хотя бы на один
источник который уже склеен, используем эту ссылку (new!)
Для английского текста используем метрику Жаро-Винклера (new!)
Детерминированный подход
Плюсы
〉 Очень легко начать
〉 Можно понять что произошло
Минусы
〉 Постоянно появляются не учтенные кейсы
〉 Новые правила вносят новые ошибки и
противоречия
46
Детерминированный подход
Когда применять
〉 Есть уникальный id
〉 Уникальный id составляется из нескольких полей
〉 Данные с малым количеством ошибок
47
48
1
Вероятностный подход
Вероятностный подход
Каждому полю проставляем веса (вероятности)
〉 названия [ 0.3 - 0.7 ]
〉 год [ 0.2 - 0.6 ]
〉 страны [ 0.4 - 0.6 ]
50
Сравниваем поля
Названия [ 0.3 - 0.7 ]
〉 Терминатор - Терминатор 1 [0.7]
〉 Ниндзя Терминатор - Терминатор 0.625 [0.55]
〉 Терминатор - Золушка 0 [0.3]
Метрика Жаро-Винклера подойдет для текста. Для нетекстовых
полей придумать свои сравнения
51
Сравниваем поля
год [ 0.2 - 0.6 ]
〉 1994 - 1994 [0.6]
〉 1994 - 1995 [0.4]
〉 1994 - 1960 [0.2]
52
Вероятностный подход. Пример 1
Документ
〉 Даун Хаус
〉 …
〉 2001
〉 Россия
Эталон
〉 Даун Хаус
〉 …
〉 2000
〉 Россия
53
Вес
0.7
0.4
0.6
Агрегируем вероятности (Наивный Байес)
〉 Предполагаем независимость
〉 Начальная вероятность 0.5
0.7 · 0.4 · 0.6
0.7 · 0.4 · 0.6 + 0.3 · 0.6 · 0.4
54
= 0.7
Вероятностный подход. Пример 1
Документ
〉 Даун Хаус
〉 …
〉 2001
〉 Россия
Эталон
〉 Даун Хаус
〉 …
〉 2000
〉 Россия
55
Вес
0.7
0.4
0.6
0.7
Вероятностный подход. Пример 2
Документ
〉 The Intouchables (EN)
〉 Неприкасаемые (RU)
〉 2011
〉 Франция
Эталон
〉 The Intouchables (EN)
〉 1+1 (RU)
〉 2011
〉 Франция
56
Вес
0.7
0.3
0.6
0.6
0.7
Вероятностный подход. Пример 3
Документ
〉 Wanted (EN)
〉 Разыскивается (RU)
〉 2007
〉 США
Эталон
〉 Wanted (EN)
〉 Особо опасен (RU)
〉 2008
〉 США, Германия
57
Вес
0.7
0.3
0.4
0.5
0.4
Вероятностный подход
Выбираем границу для принятия решения
〉 Пример 1 + 0.7
〉 Пример 2 + 0.7
〉 Пример 3 - 0.4
58
Вероятностный подход
Плюсы
〉 Хорошее отношение качество / сложность
реализации
〉 Легко дополнять и менять
Минусы
〉 Веса задаются субъективно
〉 Сложно сравнивать категориальные данные
59
Вероятностный подход
Когда применять
〉 Поля независимы
〉 Нет уникальных id
〉 Надо чтобы работало, без лишних затрат
〉 Детерминированный подход привел к хаосу
60
61
2
Подход машинного
обучения
Подход машинного обучения
Создать обучающую выборку
〉 Фильм поставщика
〉 Эталон
〉 Правильная ли связь (да/нет)
Размер коллекции зависит от задачи
63
Подход машинного обучения
Строим классификатор
〉 Выбираем алгоритм
〉 Считаем признаки сравнения фильмов
〉 Обучаем алгоритм на выборке
〉 Тестируем качество работы
〉 Итеративно улучшаем алгоритм
64
Подход машинного обучения. Пример
Строим простые классификаторы
〉 Признаки - сравнения названий RU, EN, годов, стран
〉 Сравнения считаем так же как в вероятностном подходе
〉 Если [сходство поля] > [граница], принимаем связь
〉 Если [сходство поля] < [граница], отклоняем связь
Применяем AdaBoost
https://ru.wikipedia.org/wiki/AdaBoost 65
Подход машинного обучения. AdaBoost
Начальный вес 0
1. Год < 0.4 - 0.5
2. Страны > 0.2 + 0.35
3. Год < 0.8 - 0.25
4. Название (RU) < 0.8 - 0.25
5. Название (EN) > 0.6 + 0.2
Суммарный вес > 0 принимаем, <= 0 отклоняем связь
https://ru.wikipedia.org/wiki/AdaBoost 66
Подход машинного обучения
Плюсы
〉 Высокое качество, которое легко измеряется
〉 Максимальная автоматизация
Минусы
〉 Нужно создавать выборку для обучения
〉 Реализация и обучение алгоритма может занять много времени
〉 Результаты могут быть не интерпретируемы
67
Подход машинного обучения
Когда применять
〉 Качество матчинга записей - главная цель компании
〉 Есть умение выбирать нужный алгоритм машинного
обучения под задачу
〉 Или есть время разбираться
68
69
3
Не хочу писать все с
нуля
Не пишите
Библиотека Duke для поиска дубликатов и связи записей
〉 Вероятностный подход
〉 На базе Lucene
〉 Есть API и консольный интерфейс
〉 Конфигурирование через xml
〉 Apache license - подходит для коммерческой разработки
〉 https://github.com/larsga/Duke
71
Duke. Cleaner
Простые
〉 LowerCaseNormalizeCleaner
〉 DigitsOnlyCleaner
〉 TrimCleaner
Сложные
〉 PersonNameCleaner
〉 RegexpCleaner
72
Duke. Cleaner
73
/**
* A function which turn a value into a normalized value suitable
* for comparison.
*/
public interface Cleaner {
/**
* Returns a cleaned value.
*/
public String clean(String value);
}
Duke. Comparator
Простые для строк
〉 ExactComparator
〉 Levenshtein
〉 JaroWinkler
Сложные для разных типов
〉 PersonNameComparator
〉 SoundexComparator
74
Duke. Comparator
75
/** An operator which compares two values for similarity and returns
* a number in the range 0.0 to 1.0
*/
public interface Comparator {
/** Returns true if the comparator breaks string values up into
* tokens when comparing. Necessary because this impacts indexing
* of values.
*/
public boolean isTokenized();
public double compare(String v1, String v2);
}
Duke. DataSource
〉 CSV data source
〉 JDBC data source
〉 JSON data source
〉 …
〉 Custom data sources
76
Duke. DataSource
77
public interface DataSource {
/**
* Lazily load all records in memory to iterate through
*/
public RecordIterator getRecords();
/**
* Write this DataSource’s config to specified ConfigWriter
*/
void writeConfig(ConfigWriter cw);
}
Машинное обучение на java
Для коммерческой разработки без кластера
〉 Encog
〉 Cognitive Foundry
〉 Mallet
Для коммерческой разработки на кластере
〉 Apache mahout
〉 Apache Spark MLlib
78
Машинное обучение на java
Для исслелований
〉 Weka
〉 RapidMiner
〉 JSAT
〉 java-ml
79
Машинное обучение на java
Еще обзоры
〉 http://machinelearningmastery.com/java-machine-
learning/
〉 http://mloss.org/software/language/java/
80
81
3
83
Антон Ивинский
Разработчик Медиасервисов
Контакты
anton.ivinskyianton.ivinsky@gmail.com

Weitere ähnliche Inhalte

Andere mochten auch

Как делается Яндекс.Браузер — Михаил Лопаткин
Как делается Яндекс.Браузер — Михаил ЛопаткинКак делается Яндекс.Браузер — Михаил Лопаткин
Как делается Яндекс.Браузер — Михаил ЛопаткинYandex
 
Михаил Трошев — Инструменты веб-разработки
Михаил Трошев — Инструменты веб-разработкиМихаил Трошев — Инструменты веб-разработки
Михаил Трошев — Инструменты веб-разработкиYandex
 
алексей тихонов
алексей тихоновалексей тихонов
алексей тихоновYandex
 
Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
 Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ... Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...Yandex
 
Симаков Алексей - Системы управления кластерами
 Симаков Алексей - Системы управления кластерами   Симаков Алексей - Системы управления кластерами
Симаков Алексей - Системы управления кластерами Yandex
 
Константин Горский - Дизайн
Константин Горский - ДизайнКонстантин Горский - Дизайн
Константин Горский - ДизайнYandex
 
Мобильная Яндекс.Почта — Дмитрий Александров
Мобильная Яндекс.Почта — Дмитрий АлександровМобильная Яндекс.Почта — Дмитрий Александров
Мобильная Яндекс.Почта — Дмитрий АлександровYandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Жидков Игорь - Elliptics
Жидков Игорь - Elliptics   Жидков Игорь - Elliptics
Жидков Игорь - Elliptics Yandex
 
Руководство по стилю документации: зачем и как, Татьяна Грачёва
Руководство по стилю документации: зачем и как, Татьяна ГрачёваРуководство по стилю документации: зачем и как, Татьяна Грачёва
Руководство по стилю документации: зачем и как, Татьяна ГрачёваYandex
 
Тропинка через минное поле — Леонычев Юрий
Тропинка через минное поле — Леонычев ЮрийТропинка через минное поле — Леонычев Юрий
Тропинка через минное поле — Леонычев ЮрийYandex
 
Коллективная разработка документации: от индивидуального авторства к командн...
 Коллективная разработка документации: от индивидуального авторства к командн... Коллективная разработка документации: от индивидуального авторства к командн...
Коллективная разработка документации: от индивидуального авторства к командн...Yandex
 
Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting Yandex
 
Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...
Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...
Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Иван Титов — Inducing Semantic Representations from Text with Little or No Su...
Иван Титов — Inducing Semantic Representations from Text with Little or No Su...Иван Титов — Inducing Semantic Representations from Text with Little or No Su...
Иван Титов — Inducing Semantic Representations from Text with Little or No Su...Yandex
 
Алексей Заблоцкий - Нейросети на основе мемристоров для реализации искусствен...
Алексей Заблоцкий - Нейросети на основе мемристоров для реализации искусствен...Алексей Заблоцкий - Нейросети на основе мемристоров для реализации искусствен...
Алексей Заблоцкий - Нейросети на основе мемристоров для реализации искусствен...Yandex
 
The Phase Transition
The Phase TransitionThe Phase Transition
The Phase TransitionYandex
 
Работа с Git в команде Яндекс.Браузера — Алёна Царёва
Работа с Git в команде Яндекс.Браузера — Алёна ЦарёваРабота с Git в команде Яндекс.Браузера — Алёна Царёва
Работа с Git в команде Яндекс.Браузера — Алёна ЦарёваYandex
 
Анализ изображений и видео. Обнаружение текста на изображенияхслайды последней
Анализ изображений и видео. Обнаружение текста на изображенияхслайды последнейАнализ изображений и видео. Обнаружение текста на изображенияхслайды последней
Анализ изображений и видео. Обнаружение текста на изображенияхслайды последнейYandex
 

Andere mochten auch (20)

Как делается Яндекс.Браузер — Михаил Лопаткин
Как делается Яндекс.Браузер — Михаил ЛопаткинКак делается Яндекс.Браузер — Михаил Лопаткин
Как делается Яндекс.Браузер — Михаил Лопаткин
 
Михаил Трошев — Инструменты веб-разработки
Михаил Трошев — Инструменты веб-разработкиМихаил Трошев — Инструменты веб-разработки
Михаил Трошев — Инструменты веб-разработки
 
алексей тихонов
алексей тихоновалексей тихонов
алексей тихонов
 
Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
 Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ... Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
 
Симаков Алексей - Системы управления кластерами
 Симаков Алексей - Системы управления кластерами   Симаков Алексей - Системы управления кластерами
Симаков Алексей - Системы управления кластерами
 
Константин Горский - Дизайн
Константин Горский - ДизайнКонстантин Горский - Дизайн
Константин Горский - Дизайн
 
Мобильная Яндекс.Почта — Дмитрий Александров
Мобильная Яндекс.Почта — Дмитрий АлександровМобильная Яндекс.Почта — Дмитрий Александров
Мобильная Яндекс.Почта — Дмитрий Александров
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Жидков Игорь - Elliptics
Жидков Игорь - Elliptics   Жидков Игорь - Elliptics
Жидков Игорь - Elliptics
 
Руководство по стилю документации: зачем и как, Татьяна Грачёва
Руководство по стилю документации: зачем и как, Татьяна ГрачёваРуководство по стилю документации: зачем и как, Татьяна Грачёва
Руководство по стилю документации: зачем и как, Татьяна Грачёва
 
Тропинка через минное поле — Леонычев Юрий
Тропинка через минное поле — Леонычев ЮрийТропинка через минное поле — Леонычев Юрий
Тропинка через минное поле — Леонычев Юрий
 
Коллективная разработка документации: от индивидуального авторства к командн...
 Коллективная разработка документации: от индивидуального авторства к командн... Коллективная разработка документации: от индивидуального авторства к командн...
Коллективная разработка документации: от индивидуального авторства к командн...
 
Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting
 
Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...
Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...
Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Иван Титов — Inducing Semantic Representations from Text with Little or No Su...
Иван Титов — Inducing Semantic Representations from Text with Little or No Su...Иван Титов — Inducing Semantic Representations from Text with Little or No Su...
Иван Титов — Inducing Semantic Representations from Text with Little or No Su...
 
Алексей Заблоцкий - Нейросети на основе мемристоров для реализации искусствен...
Алексей Заблоцкий - Нейросети на основе мемристоров для реализации искусствен...Алексей Заблоцкий - Нейросети на основе мемристоров для реализации искусствен...
Алексей Заблоцкий - Нейросети на основе мемристоров для реализации искусствен...
 
The Phase Transition
The Phase TransitionThe Phase Transition
The Phase Transition
 
Работа с Git в команде Яндекс.Браузера — Алёна Царёва
Работа с Git в команде Яндекс.Браузера — Алёна ЦарёваРабота с Git в команде Яндекс.Браузера — Алёна Царёва
Работа с Git в команде Яндекс.Браузера — Алёна Царёва
 
Анализ изображений и видео. Обнаружение текста на изображенияхслайды последней
Анализ изображений и видео. Обнаружение текста на изображенияхслайды последнейАнализ изображений и видео. Обнаружение текста на изображенияхслайды последней
Анализ изображений и видео. Обнаружение текста на изображенияхслайды последней
 

Ähnlich wie Эталонное описание фильма на основе десятков дубликатов

Сравнение методов оценки качества поиска — Роман Поборчий, Яндекс
Сравнение методов оценки качества поиска — Роман Поборчий, ЯндексСравнение методов оценки качества поиска — Роман Поборчий, Яндекс
Сравнение методов оценки качества поиска — Роман Поборчий, ЯндексYandex
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?DotNetConf
 
Обучение тестированию
Обучение тестированиюОбучение тестированию
Обучение тестированиюAPostovalova
 
Обучение тестированию
Обучение тестированиюОбучение тестированию
Обучение тестированиюAPostovalova
 
Работа с унаследованным кодом. Есть ли жизнь после коммита.
Работа с унаследованным кодом. Есть ли жизнь после коммита.Работа с унаследованным кодом. Есть ли жизнь после коммита.
Работа с унаследованным кодом. Есть ли жизнь после коммита.Vadim Kruchkov
 

Ähnlich wie Эталонное описание фильма на основе десятков дубликатов (6)

Сравнение методов оценки качества поиска — Роман Поборчий, Яндекс
Сравнение методов оценки качества поиска — Роман Поборчий, ЯндексСравнение методов оценки качества поиска — Роман Поборчий, Яндекс
Сравнение методов оценки качества поиска — Роман Поборчий, Яндекс
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 
Обучение тестированию
Обучение тестированиюОбучение тестированию
Обучение тестированию
 
Обучение тестированию
Обучение тестированиюОбучение тестированию
Обучение тестированию
 
Pandoras white box
Pandoras white boxPandoras white box
Pandoras white box
 
Работа с унаследованным кодом. Есть ли жизнь после коммита.
Работа с унаследованным кодом. Есть ли жизнь после коммита.Работа с унаследованным кодом. Есть ли жизнь после коммита.
Работа с унаследованным кодом. Есть ли жизнь после коммита.
 

Mehr von Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...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
 
Поиск списков в неструктурированных данных
Поиск списков в неструктурированных данныхПоиск списков в неструктурированных данных
Поиск списков в неструктурированных данныхYandex
 
Производительность параметрического поиска на основе опенсорс-платформы
Производительность параметрического поиска на основе опенсорс-платформыПроизводительность параметрического поиска на основе опенсорс-платформы
Производительность параметрического поиска на основе опенсорс-платформыYandex
 

Mehr von Yandex (20)

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

Эталонное описание фильма на основе десятков дубликатов