SlideShare a Scribd company logo
1 of 28
Эффективная кластеризация товарного каталога
из 18 млн. товаров для рекомендательного
сервиса
Александр Сербул
Руководитель направления
Битрикс24 - упрощенно
Битрикс24 - цифры
• Сотни тысяч баз данных клиентов
• Десятки тысяч активных компаний: от единиц до
тысяч сотрудников в каждой
• Несколько датацентров в AWS. Один - в России.
Регистрация Хранение
Сервис персональных рекомендаций
~1000 запросов/сек
bitrix.info
Обработка,
анализ
Batch
процессинг
On-line
процессинг
Выдача ключевой
информации
analytics.bitrix.info
Событие
• Кука Пользователя
• Хэш лицензии
• Домен
• ID товара
• Название Товара
• Категории Товара
• ID рекомендации
• ряд других
Просмотр
товара
Добавление
в корзину
Заказ Оплата
Заказа
Сервис персональных рекомендаций
Amazon
DynamoDB
nginx+Lua Amazon Kinesis
~1000 запросов/сек
Буфер
bitrix.info
worker’s
cluster
worker (PHP)
~100 запросов/сек
фильтрация
worker (PHP)
worker (PHP)
worker (PHP)
worker (PHP)
worker (PHP)
worker (PHP)
worker (PHP)
Лог событий
Пользователи
Домены
Сервис персональных рекомендаций
Amazon
DynamoDB
Лог событий
Пользователи
Домены
Apache Spark
Сервер (spot)
Amazon S3
Файл данных
Файл данных
Сервер (spot)
Сервер (spot)
Сервер (spot)
…
Кластер
рекомендаций
Apache
Tomcat
Apache
Mahout
«Мозги»
Выдача
analytics.bitrix.info
Сервис персональных рекомендаций
Сервис персональных рекомендаций
• Десятки тысяч магазинов
• ~1000 событий в секунду
• Коллаборативная фильтрация
• Кластеризованный товарный каталог (миллионы
товаров)
• Java, Apache Spark, Apache Mahout, DymanoDB,
Kinesis
Технологический roadmap
• Мульти-модальность
• Content-based – рекомендации
• Кластеризация
• Machine learning, deep learning
• Увеличение конверсии
• Эффективность работы с клиентами
• Таргеттинг
Карл…
Карл, я нашел
страшный подвох в
MapReduce
Не может быть,
пап!
Карл… Карл, я специалист по
BigData….
Это очень круто,
пап!
Большинство алгоритмов
придется изобретать
заново! ЗАНОВО!!!
Алгоритмическая «западня»
• Большинство алгоритмов для
MapReduce нужно изобретать заново
• Новый технологический стек
4 «воюющих» лагеря БД
• SQL на MapReduce: Hive, Pig, Spark SQL
• SQL на MPP (massive parallel processing):
Impala, Presto, Amazon RedShift, Vertica
• NoSQL: Cassandra, Hbase, Amazon
DynamoDB
• Классика: MySQL, MS SQL, Oracle, …
«Готовые» решения для кластеризации
• Spark MLlib
(scala/java/python) –
много данных
• scikit-learn.org (python) –
мало данных
• R
Подходы к кластеризации - просто
• Иерархическая
• K-means
• C-means
• Spectral
• Density-based (DBSCAN)
• Вероятностные
• Для «больших данных»
Что мы кластеризуем
• 18 млн. названий и кратких описаний
Товаров
• Описание Товара: 2-10 слов
• Bag of words
• Stemming, морфология?
• Kernel hack?
• TF/IDF
• Word2Vec?!
K-means
• Просто, понятно
• Долго!!!
n = 10 000 000 (товаров)
k = 1 000 000 (кластеров)
d = <1 000 000 (видов слов)
i = 100 (итераций)
Время работы ~ 10^21
Возраст Земли ~ 1,4*10^17 сек
Apache Mahout
• «Туго» с алгоритмами
• Нет для Spark
• Нужно дописывать свои
Spark MLLib
• Ура, на кластере!
• Увы, очень медленно
• Падения «по памяти»
• Зависания
• Свой вариант k-means
(«Clustering by Bootstrap
Averaging»)
Цитрамон – хорошо помогает от головной боли
Minhash
Min-wise independent permutations locality sensitive hashing scheme
1) Снижаем размерность
2) Совместима с LSH (следующий слайд)
Pr[ hmin(A) = hmin(B) ] = J(A,B)
Размер сигнатуры: 50-500
simhash
Text shingling
1) Shingle – «черепица»
2) Устойчивость к вариантам, опечаткам
«Штаны красные махровые в полоску»
{«штан», «таны», «аны », «ны к», «ы кра», «крас», …}
«Красные полосатые штаны»
Векторизация описания Товара
Текст: «Штаны красные махровые в полоску»
Вектор «bag of words»: [0,0,0,1,0,…0,1,0] – ~ 10000 -
1000000 элементов (kernel hack)
Minhash-сигнатура после shingling:
[1243,823,-324,12312,…] – 100-500 элементов,
совместима с LSH
Locality-Sensitive Hashing (LSH)
• Вероятностный метод снижения
размерности
• Использовали для minhashed-
векторов
• Banding:
b – корзины, r – элементов в корзине.
P{“Векторы совпадут хотя-бы в одной корзине”}:
«Mining of Massive Datasets»: Leskovec, Rajaraman, Ullman (Stanford University)
Кластеризация каталога
• Apache Spark
• 2-4 часа, 8-12 spot-серверов
• 18 млн. Товаров => 1 млн. кластеров
• Адекватные по смыслу кластера
• Персональные рекомендации - стали в
разы «лучше» (доказали математически)
• DynamoDB – хранение кластроидов
«Простота — это то, что труднее всего на свете; это крайний
предел опытности и последнее усилие гения»
Леонардо да Винчи
Спасибо за внимание!
Вопросы?
Александр Сербул
@AlexSerbul
serbul@1c-bitrix.ru

More Related Content

What's hot

Shadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событийShadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событийVyacheslav Nikulin
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comOntico
 
Azure for IT pro - TechDays Armenia
Azure for IT pro - TechDays ArmeniaAzure for IT pro - TechDays Armenia
Azure for IT pro - TechDays ArmeniaAlexey Bokov
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...IT-Portfolio
 
High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)Pavel Alexeev
 
Modern apps Windows Azure
Modern apps Windows AzureModern apps Windows Azure
Modern apps Windows AzureZaur Abutalimov
 
TCO аренда облачной IT инфраструктуры Онланты vs покупка серверов
TCO аренда облачной IT инфраструктуры Онланты vs покупка серверовTCO аренда облачной IT инфраструктуры Онланты vs покупка серверов
TCO аренда облачной IT инфраструктуры Онланты vs покупка серверовZaur Abutalimov
 
Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
 Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва  Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва it-people
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...Vyacheslav Nikulin
 
Cервис рекомендаций на виртуальном Hadoop кластере (Роман Зыков)
Cервис рекомендаций на виртуальном Hadoop кластере (Роман Зыков)Cервис рекомендаций на виртуальном Hadoop кластере (Роман Зыков)
Cервис рекомендаций на виртуальном Hadoop кластере (Роман Зыков)Ontico
 
Автоматизация анализа логов на базе Elasticsearch
Автоматизация анализа логов на базе ElasticsearchАвтоматизация анализа логов на базе Elasticsearch
Автоматизация анализа логов на базе ElasticsearchPositive Hack Days
 
Аналитика над петабайтами в реальном времени
Аналитика над петабайтами в реальном времениАналитика над петабайтами в реальном времени
Аналитика над петабайтами в реальном времениCodeFest
 
Clickhouse
ClickhouseClickhouse
ClickhouseClickky
 
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяцКак мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяцMikhail Tabunov
 
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...Ontico
 
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмикиМощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмикиVsevolod Shabad
 
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)Ontico
 

What's hot (18)

Shadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событийShadow Fight 2: архитектура системы аналитики для миллиарда событий
Shadow Fight 2: архитектура системы аналитики для миллиарда событий
 
Александр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.comАлександр Соловьёв, Griddynamics.com
Александр Соловьёв, Griddynamics.com
 
Azure for IT pro - TechDays Armenia
Azure for IT pro - TechDays ArmeniaAzure for IT pro - TechDays Armenia
Azure for IT pro - TechDays Armenia
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Строим N...
 
Azure
AzureAzure
Azure
 
High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)
 
Modern apps Windows Azure
Modern apps Windows AzureModern apps Windows Azure
Modern apps Windows Azure
 
TCO аренда облачной IT инфраструктуры Онланты vs покупка серверов
TCO аренда облачной IT инфраструктуры Онланты vs покупка серверовTCO аренда облачной IT инфраструктуры Онланты vs покупка серверов
TCO аренда облачной IT инфраструктуры Онланты vs покупка серверов
 
Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
 Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва  Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...
 
Cервис рекомендаций на виртуальном Hadoop кластере (Роман Зыков)
Cервис рекомендаций на виртуальном Hadoop кластере (Роман Зыков)Cервис рекомендаций на виртуальном Hadoop кластере (Роман Зыков)
Cервис рекомендаций на виртуальном Hadoop кластере (Роман Зыков)
 
Автоматизация анализа логов на базе Elasticsearch
Автоматизация анализа логов на базе ElasticsearchАвтоматизация анализа логов на базе Elasticsearch
Автоматизация анализа логов на базе Elasticsearch
 
Аналитика над петабайтами в реальном времени
Аналитика над петабайтами в реальном времениАналитика над петабайтами в реальном времени
Аналитика над петабайтами в реальном времени
 
Clickhouse
ClickhouseClickhouse
Clickhouse
 
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяцКак мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
 
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
 
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмикиМощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
 
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)
Что нужно знать об архитектуре ClickHouse / Алексей Зателепин (Яндекс)
 

Viewers also liked

Антон Попович — Segmento —ICBDA 2015
Антон Попович — Segmento —ICBDA 2015Антон Попович — Segmento —ICBDA 2015
Антон Попович — Segmento —ICBDA 2015rusbase
 
Владислав Флакс — OWOX — IСBDA 2015
Владислав Флакс — OWOX — IСBDA 2015Владислав Флакс — OWOX — IСBDA 2015
Владислав Флакс — OWOX — IСBDA 2015rusbase
 
Евгений Смирнов — Numbuster — ICBDA 2015
Евгений Смирнов — Numbuster — ICBDA 2015Евгений Смирнов — Numbuster — ICBDA 2015
Евгений Смирнов — Numbuster — ICBDA 2015rusbase
 
Артем Плешаков — Intency DSP — ICBDA 2015
Артем Плешаков — Intency DSP — ICBDA 2015Артем Плешаков — Intency DSP — ICBDA 2015
Артем Плешаков — Intency DSP — ICBDA 2015rusbase
 
Евгений Власов — CallTouch — ICBDA 2015
Евгений Власов — CallTouch — ICBDA 2015Евгений Власов — CallTouch — ICBDA 2015
Евгений Власов — CallTouch — ICBDA 2015rusbase
 
Ксения Ачкасова — TNS Россия — ICBDA 2015
Ксения Ачкасова — TNS Россия — ICBDA 2015Ксения Ачкасова — TNS Россия — ICBDA 2015
Ксения Ачкасова — TNS Россия — ICBDA 2015rusbase
 
Антон Бут — Auditorius — ICBDA 2015
Антон Бут — Auditorius — ICBDA 2015Антон Бут — Auditorius — ICBDA 2015
Антон Бут — Auditorius — ICBDA 2015rusbase
 
Михаил Кечинов — REES46 — ICBDA 2015
Михаил Кечинов — REES46 — ICBDA 2015Михаил Кечинов — REES46 — ICBDA 2015
Михаил Кечинов — REES46 — ICBDA 2015rusbase
 
Кирилл Чистов — Data-Centric Alliance — ICBDA 2015
Кирилл Чистов — Data-Centric Alliance — ICBDA 2015Кирилл Чистов — Data-Centric Alliance — ICBDA 2015
Кирилл Чистов — Data-Centric Alliance — ICBDA 2015rusbase
 
Александр Фонарев — Rubbles — ICBDA 2015
Александр Фонарев — Rubbles — ICBDA 2015Александр Фонарев — Rubbles — ICBDA 2015
Александр Фонарев — Rubbles — ICBDA 2015rusbase
 
Сергей Кашпоров — Frank Research Group — ICBDA 2015
Сергей Кашпоров — Frank Research Group — ICBDA 2015Сергей Кашпоров — Frank Research Group — ICBDA 2015
Сергей Кашпоров — Frank Research Group — ICBDA 2015rusbase
 
Тимур Кузеев — Meta System — ICBDA 2015
Тимур Кузеев — Meta System — ICBDA 2015Тимур Кузеев — Meta System — ICBDA 2015
Тимур Кузеев — Meta System — ICBDA 2015rusbase
 
Александр Емешев — Tinkoff — ICBDA 2015
Александр Емешев — Tinkoff — ICBDA 2015Александр Емешев — Tinkoff — ICBDA 2015
Александр Емешев — Tinkoff — ICBDA 2015rusbase
 
Александр Мигаловский — ГНИВЦ ФНС России — ICBDA 2015
Александр Мигаловский — ГНИВЦ ФНС России — ICBDA 2015Александр Мигаловский — ГНИВЦ ФНС России — ICBDA 2015
Александр Мигаловский — ГНИВЦ ФНС России — ICBDA 2015rusbase
 
Николай Птицын — Synesis — ICBDA 2015
Николай Птицын — Synesis — ICBDA 2015Николай Птицын — Synesis — ICBDA 2015
Николай Птицын — Synesis — ICBDA 2015rusbase
 
Роман Постников — «Мегафон» — ICBDA 2015
Роман Постников — «Мегафон» — ICBDA 2015Роман Постников — «Мегафон» — ICBDA 2015
Роман Постников — «Мегафон» — ICBDA 2015rusbase
 
Сергей Чернов — Yandex Data Factory — ICBDA 2015
Сергей Чернов — Yandex Data Factory — ICBDA 2015Сергей Чернов — Yandex Data Factory — ICBDA 2015
Сергей Чернов — Yandex Data Factory — ICBDA 2015rusbase
 
Выступление Александра Крота из "Вымпелком" на Hadoop Meetup в рамках RIT++
Выступление Александра Крота из "Вымпелком" на Hadoop Meetup в рамках RIT++Выступление Александра Крота из "Вымпелком" на Hadoop Meetup в рамках RIT++
Выступление Александра Крота из "Вымпелком" на Hadoop Meetup в рамках RIT++Антон Шестаков
 

Viewers also liked (20)

Антон Попович — Segmento —ICBDA 2015
Антон Попович — Segmento —ICBDA 2015Антон Попович — Segmento —ICBDA 2015
Антон Попович — Segmento —ICBDA 2015
 
Владислав Флакс — OWOX — IСBDA 2015
Владислав Флакс — OWOX — IСBDA 2015Владислав Флакс — OWOX — IСBDA 2015
Владислав Флакс — OWOX — IСBDA 2015
 
Евгений Смирнов — Numbuster — ICBDA 2015
Евгений Смирнов — Numbuster — ICBDA 2015Евгений Смирнов — Numbuster — ICBDA 2015
Евгений Смирнов — Numbuster — ICBDA 2015
 
Артем Плешаков — Intency DSP — ICBDA 2015
Артем Плешаков — Intency DSP — ICBDA 2015Артем Плешаков — Intency DSP — ICBDA 2015
Артем Плешаков — Intency DSP — ICBDA 2015
 
Евгений Власов — CallTouch — ICBDA 2015
Евгений Власов — CallTouch — ICBDA 2015Евгений Власов — CallTouch — ICBDA 2015
Евгений Власов — CallTouch — ICBDA 2015
 
Ксения Ачкасова — TNS Россия — ICBDA 2015
Ксения Ачкасова — TNS Россия — ICBDA 2015Ксения Ачкасова — TNS Россия — ICBDA 2015
Ксения Ачкасова — TNS Россия — ICBDA 2015
 
Антон Бут — Auditorius — ICBDA 2015
Антон Бут — Auditorius — ICBDA 2015Антон Бут — Auditorius — ICBDA 2015
Антон Бут — Auditorius — ICBDA 2015
 
Михаил Кечинов — REES46 — ICBDA 2015
Михаил Кечинов — REES46 — ICBDA 2015Михаил Кечинов — REES46 — ICBDA 2015
Михаил Кечинов — REES46 — ICBDA 2015
 
Кирилл Чистов — Data-Centric Alliance — ICBDA 2015
Кирилл Чистов — Data-Centric Alliance — ICBDA 2015Кирилл Чистов — Data-Centric Alliance — ICBDA 2015
Кирилл Чистов — Data-Centric Alliance — ICBDA 2015
 
Александр Фонарев — Rubbles — ICBDA 2015
Александр Фонарев — Rubbles — ICBDA 2015Александр Фонарев — Rubbles — ICBDA 2015
Александр Фонарев — Rubbles — ICBDA 2015
 
Сергей Кашпоров — Frank Research Group — ICBDA 2015
Сергей Кашпоров — Frank Research Group — ICBDA 2015Сергей Кашпоров — Frank Research Group — ICBDA 2015
Сергей Кашпоров — Frank Research Group — ICBDA 2015
 
Тимур Кузеев — Meta System — ICBDA 2015
Тимур Кузеев — Meta System — ICBDA 2015Тимур Кузеев — Meta System — ICBDA 2015
Тимур Кузеев — Meta System — ICBDA 2015
 
Александр Емешев — Tinkoff — ICBDA 2015
Александр Емешев — Tinkoff — ICBDA 2015Александр Емешев — Tinkoff — ICBDA 2015
Александр Емешев — Tinkoff — ICBDA 2015
 
Александр Мигаловский — ГНИВЦ ФНС России — ICBDA 2015
Александр Мигаловский — ГНИВЦ ФНС России — ICBDA 2015Александр Мигаловский — ГНИВЦ ФНС России — ICBDA 2015
Александр Мигаловский — ГНИВЦ ФНС России — ICBDA 2015
 
Николай Птицын — Synesis — ICBDA 2015
Николай Птицын — Synesis — ICBDA 2015Николай Птицын — Synesis — ICBDA 2015
Николай Птицын — Synesis — ICBDA 2015
 
Роман Постников — «Мегафон» — ICBDA 2015
Роман Постников — «Мегафон» — ICBDA 2015Роман Постников — «Мегафон» — ICBDA 2015
Роман Постников — «Мегафон» — ICBDA 2015
 
Сергей Чернов — Yandex Data Factory — ICBDA 2015
Сергей Чернов — Yandex Data Factory — ICBDA 2015Сергей Чернов — Yandex Data Factory — ICBDA 2015
Сергей Чернов — Yandex Data Factory — ICBDA 2015
 
ETL со Spark
ETL со SparkETL со Spark
ETL со Spark
 
FareBor Presentation
FareBor PresentationFareBor Presentation
FareBor Presentation
 
Выступление Александра Крота из "Вымпелком" на Hadoop Meetup в рамках RIT++
Выступление Александра Крота из "Вымпелком" на Hadoop Meetup в рамках RIT++Выступление Александра Крота из "Вымпелком" на Hadoop Meetup в рамках RIT++
Выступление Александра Крота из "Вымпелком" на Hadoop Meetup в рамках RIT++
 

Similar to Александр Сербул —1С-Битрикс — ICBDA 2015

"Облачный сервис персональных рекомендаций для 20 000 магазинов — алгоритмы и...
"Облачный сервис персональных рекомендаций для 20 000 магазинов — алгоритмы и..."Облачный сервис персональных рекомендаций для 20 000 магазинов — алгоритмы и...
"Облачный сервис персональных рекомендаций для 20 000 магазинов — алгоритмы и...it-people
 
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...it-people
 
Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...Ontico
 
Как мы храним 75 млн пользователей (Денис Бирюков)
Как мы храним 75 млн пользователей  (Денис Бирюков)Как мы храним 75 млн пользователей  (Денис Бирюков)
Как мы храним 75 млн пользователей (Денис Бирюков)Ontico
 
Александр Сербул, 1С-Битрикс — Облачный сервис персональных рекомендаций для ...
Александр Сербул, 1С-Битрикс — Облачный сервис персональных рекомендаций для ...Александр Сербул, 1С-Битрикс — Облачный сервис персональных рекомендаций для ...
Александр Сербул, 1С-Битрикс — Облачный сервис персональных рекомендаций для ...Dev_Party
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Ontico
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунетаCEE-SEC(R)
 
Александр Сербул – Разработка и эксплуатация облачных сервисов Битрикс изнутри
Александр Сербул – Разработка и эксплуатация облачных сервисов Битрикс изнутриАлександр Сербул – Разработка и эксплуатация облачных сервисов Битрикс изнутри
Александр Сербул – Разработка и эксплуатация облачных сервисов Битрикс изнутри404fest
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
 
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памятиЕвгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памятиFProg
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНСit-people
 
Cassandra:Курс молодого бойца
Cassandra:Курс молодого бойцаCassandra:Курс молодого бойца
Cassandra:Курс молодого бойцаIgor Khokhryakov
 
Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, BadooOntico
 
Developing highload servers with Java
Developing highload servers with JavaDeveloping highload servers with Java
Developing highload servers with JavaAndrei Pangin
 
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...DevGAMM Conference
 
Нереляционный SQL
Нереляционный SQLНереляционный SQL
Нереляционный SQLAndrei Nikolaenko
 
Нереляционный SQL / Андрей Николаенко (IBS)
Нереляционный SQL / Андрей Николаенко (IBS)Нереляционный SQL / Андрей Николаенко (IBS)
Нереляционный SQL / Андрей Николаенко (IBS)Ontico
 
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)Ontico
 
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Andrey Smirnov
 

Similar to Александр Сербул —1С-Битрикс — ICBDA 2015 (20)

"Облачный сервис персональных рекомендаций для 20 000 магазинов — алгоритмы и...
"Облачный сервис персональных рекомендаций для 20 000 магазинов — алгоритмы и..."Облачный сервис персональных рекомендаций для 20 000 магазинов — алгоритмы и...
"Облачный сервис персональных рекомендаций для 20 000 магазинов — алгоритмы и...
 
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...
 
Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...
 
Как мы храним 75 млн пользователей (Денис Бирюков)
Как мы храним 75 млн пользователей  (Денис Бирюков)Как мы храним 75 млн пользователей  (Денис Бирюков)
Как мы храним 75 млн пользователей (Денис Бирюков)
 
Александр Сербул, 1С-Битрикс — Облачный сервис персональных рекомендаций для ...
Александр Сербул, 1С-Битрикс — Облачный сервис персональных рекомендаций для ...Александр Сербул, 1С-Битрикс — Облачный сервис персональных рекомендаций для ...
Александр Сербул, 1С-Битрикс — Облачный сервис персональных рекомендаций для ...
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунета
 
Александр Сербул – Разработка и эксплуатация облачных сервисов Битрикс изнутри
Александр Сербул – Разработка и эксплуатация облачных сервисов Битрикс изнутриАлександр Сербул – Разработка и эксплуатация облачных сервисов Битрикс изнутри
Александр Сербул – Разработка и эксплуатация облачных сервисов Битрикс изнутри
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
 
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памятиЕвгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памяти
 
Purely practical data structures
Purely practical data structuresPurely practical data structures
Purely practical data structures
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
 
Cassandra:Курс молодого бойца
Cassandra:Курс молодого бойцаCassandra:Курс молодого бойца
Cassandra:Курс молодого бойца
 
Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, Badoo
 
Developing highload servers with Java
Developing highload servers with JavaDeveloping highload servers with Java
Developing highload servers with Java
 
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
Nekki: Shadow Fight 2: architecture of the analytics system handling billion ...
 
Нереляционный SQL
Нереляционный SQLНереляционный SQL
Нереляционный SQL
 
Нереляционный SQL / Андрей Николаенко (IBS)
Нереляционный SQL / Андрей Николаенко (IBS)Нереляционный SQL / Андрей Николаенко (IBS)
Нереляционный SQL / Андрей Николаенко (IBS)
 
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
Анатомия веб-сервиса, Андрей Смирнов (ex-Skype)
 
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)
 

More from rusbase

Робоэдвайзинг
РобоэдвайзингРобоэдвайзинг
Робоэдвайзингrusbase
 
Как чат-боты меняют банковское обслуживание
Как чат-боты меняют банковское обслуживание Как чат-боты меняют банковское обслуживание
Как чат-боты меняют банковское обслуживание rusbase
 
Как удаленная идентификация повлияет на бизнес модели в финансовой сфере
Как удаленная идентификация повлияет на бизнес модели в финансовой сфере Как удаленная идентификация повлияет на бизнес модели в финансовой сфере
Как удаленная идентификация повлияет на бизнес модели в финансовой сфере rusbase
 
Как социальные сети влияют на скоринг
Как социальные сети влияют на скоринг Как социальные сети влияют на скоринг
Как социальные сети влияют на скоринг rusbase
 
Искусственный интеллект в кредитном скоринге
Искусственный интеллект в кредитном скорингеИскусственный интеллект в кредитном скоринге
Искусственный интеллект в кредитном скорингеrusbase
 
P2P кредитование и народное поручительство
P2P кредитование и народное поручительство P2P кредитование и народное поручительство
P2P кредитование и народное поручительство rusbase
 
Francis Bakos, Vitality - FinTech Russia
Francis Bakos, Vitality - FinTech RussiaFrancis Bakos, Vitality - FinTech Russia
Francis Bakos, Vitality - FinTech Russiarusbase
 
Руслан Юсуфов, Страхование от кибер-атак - FinTech Russia
Руслан Юсуфов, Страхование от кибер-атак - FinTech RussiaРуслан Юсуфов, Страхование от кибер-атак - FinTech Russia
Руслан Юсуфов, Страхование от кибер-атак - FinTech Russiarusbase
 
Алексей Краснопольский, Онлайн-кассы - FinTech Russia
Алексей Краснопольский, Онлайн-кассы - FinTech RussiaАлексей Краснопольский, Онлайн-кассы - FinTech Russia
Алексей Краснопольский, Онлайн-кассы - FinTech Russiarusbase
 
Иван Беров, Digital Identity - FinTech Russia
Иван Беров, Digital Identity - FinTech RussiaИван Беров, Digital Identity - FinTech Russia
Иван Беров, Digital Identity - FinTech Russiarusbase
 
Алексей Катрич, IoT в InsurTech - FinTech Russia
Алексей Катрич, IoT в InsurTech - FinTech RussiaАлексей Катрич, IoT в InsurTech - FinTech Russia
Алексей Катрич, IoT в InsurTech - FinTech Russiarusbase
 
Алексей Архипов, Мастерчейн - FinTech Russia
Алексей Архипов, Мастерчейн  - FinTech RussiaАлексей Архипов, Мастерчейн  - FinTech Russia
Алексей Архипов, Мастерчейн - FinTech Russiarusbase
 
Максим Григорьев, Удаленная идентификация - FinTech Russia
Максим Григорьев, Удаленная идентификация - FinTech RussiaМаксим Григорьев, Удаленная идентификация - FinTech Russia
Максим Григорьев, Удаленная идентификация - FinTech Russiarusbase
 
Александр Кузьмин, PSD2 - FinTech Russia
Александр Кузьмин, PSD2 - FinTech RussiaАлександр Кузьмин, PSD2 - FinTech Russia
Александр Кузьмин, PSD2 - FinTech Russiarusbase
 
Алексей Благирев, "Открытие" — FinTech Russia 2017
Алексей Благирев, "Открытие" — FinTech Russia 2017Алексей Благирев, "Открытие" — FinTech Russia 2017
Алексей Благирев, "Открытие" — FinTech Russia 2017rusbase
 
Ханнес Чопра (Hannes Chopra) - FinTech Russia 2017
Ханнес Чопра (Hannes Chopra) - FinTech Russia 2017Ханнес Чопра (Hannes Chopra) - FinTech Russia 2017
Ханнес Чопра (Hannes Chopra) - FinTech Russia 2017rusbase
 
Владислав Лисицкий — Rubbles — ICBDA2016
Владислав Лисицкий — Rubbles — ICBDA2016Владислав Лисицкий — Rubbles — ICBDA2016
Владислав Лисицкий — Rubbles — ICBDA2016rusbase
 
Александр Яшкин – FANUC Russia – ICBDA2016
Александр Яшкин – FANUC Russia – ICBDA2016Александр Яшкин – FANUC Russia – ICBDA2016
Александр Яшкин – FANUC Russia – ICBDA2016rusbase
 
Евгений Быков – Телум – ICBDA2016
Евгений Быков – Телум – ICBDA2016Евгений Быков – Телум – ICBDA2016
Евгений Быков – Телум – ICBDA2016rusbase
 
Сергей Лоншаков — проект "Дрон сотрудник" — ICBDA2016
Сергей Лоншаков — проект "Дрон сотрудник" — ICBDA2016Сергей Лоншаков — проект "Дрон сотрудник" — ICBDA2016
Сергей Лоншаков — проект "Дрон сотрудник" — ICBDA2016rusbase
 

More from rusbase (20)

Робоэдвайзинг
РобоэдвайзингРобоэдвайзинг
Робоэдвайзинг
 
Как чат-боты меняют банковское обслуживание
Как чат-боты меняют банковское обслуживание Как чат-боты меняют банковское обслуживание
Как чат-боты меняют банковское обслуживание
 
Как удаленная идентификация повлияет на бизнес модели в финансовой сфере
Как удаленная идентификация повлияет на бизнес модели в финансовой сфере Как удаленная идентификация повлияет на бизнес модели в финансовой сфере
Как удаленная идентификация повлияет на бизнес модели в финансовой сфере
 
Как социальные сети влияют на скоринг
Как социальные сети влияют на скоринг Как социальные сети влияют на скоринг
Как социальные сети влияют на скоринг
 
Искусственный интеллект в кредитном скоринге
Искусственный интеллект в кредитном скорингеИскусственный интеллект в кредитном скоринге
Искусственный интеллект в кредитном скоринге
 
P2P кредитование и народное поручительство
P2P кредитование и народное поручительство P2P кредитование и народное поручительство
P2P кредитование и народное поручительство
 
Francis Bakos, Vitality - FinTech Russia
Francis Bakos, Vitality - FinTech RussiaFrancis Bakos, Vitality - FinTech Russia
Francis Bakos, Vitality - FinTech Russia
 
Руслан Юсуфов, Страхование от кибер-атак - FinTech Russia
Руслан Юсуфов, Страхование от кибер-атак - FinTech RussiaРуслан Юсуфов, Страхование от кибер-атак - FinTech Russia
Руслан Юсуфов, Страхование от кибер-атак - FinTech Russia
 
Алексей Краснопольский, Онлайн-кассы - FinTech Russia
Алексей Краснопольский, Онлайн-кассы - FinTech RussiaАлексей Краснопольский, Онлайн-кассы - FinTech Russia
Алексей Краснопольский, Онлайн-кассы - FinTech Russia
 
Иван Беров, Digital Identity - FinTech Russia
Иван Беров, Digital Identity - FinTech RussiaИван Беров, Digital Identity - FinTech Russia
Иван Беров, Digital Identity - FinTech Russia
 
Алексей Катрич, IoT в InsurTech - FinTech Russia
Алексей Катрич, IoT в InsurTech - FinTech RussiaАлексей Катрич, IoT в InsurTech - FinTech Russia
Алексей Катрич, IoT в InsurTech - FinTech Russia
 
Алексей Архипов, Мастерчейн - FinTech Russia
Алексей Архипов, Мастерчейн  - FinTech RussiaАлексей Архипов, Мастерчейн  - FinTech Russia
Алексей Архипов, Мастерчейн - FinTech Russia
 
Максим Григорьев, Удаленная идентификация - FinTech Russia
Максим Григорьев, Удаленная идентификация - FinTech RussiaМаксим Григорьев, Удаленная идентификация - FinTech Russia
Максим Григорьев, Удаленная идентификация - FinTech Russia
 
Александр Кузьмин, PSD2 - FinTech Russia
Александр Кузьмин, PSD2 - FinTech RussiaАлександр Кузьмин, PSD2 - FinTech Russia
Александр Кузьмин, PSD2 - FinTech Russia
 
Алексей Благирев, "Открытие" — FinTech Russia 2017
Алексей Благирев, "Открытие" — FinTech Russia 2017Алексей Благирев, "Открытие" — FinTech Russia 2017
Алексей Благирев, "Открытие" — FinTech Russia 2017
 
Ханнес Чопра (Hannes Chopra) - FinTech Russia 2017
Ханнес Чопра (Hannes Chopra) - FinTech Russia 2017Ханнес Чопра (Hannes Chopra) - FinTech Russia 2017
Ханнес Чопра (Hannes Chopra) - FinTech Russia 2017
 
Владислав Лисицкий — Rubbles — ICBDA2016
Владислав Лисицкий — Rubbles — ICBDA2016Владислав Лисицкий — Rubbles — ICBDA2016
Владислав Лисицкий — Rubbles — ICBDA2016
 
Александр Яшкин – FANUC Russia – ICBDA2016
Александр Яшкин – FANUC Russia – ICBDA2016Александр Яшкин – FANUC Russia – ICBDA2016
Александр Яшкин – FANUC Russia – ICBDA2016
 
Евгений Быков – Телум – ICBDA2016
Евгений Быков – Телум – ICBDA2016Евгений Быков – Телум – ICBDA2016
Евгений Быков – Телум – ICBDA2016
 
Сергей Лоншаков — проект "Дрон сотрудник" — ICBDA2016
Сергей Лоншаков — проект "Дрон сотрудник" — ICBDA2016Сергей Лоншаков — проект "Дрон сотрудник" — ICBDA2016
Сергей Лоншаков — проект "Дрон сотрудник" — ICBDA2016
 

Александр Сербул —1С-Битрикс — ICBDA 2015

  • 1. Эффективная кластеризация товарного каталога из 18 млн. товаров для рекомендательного сервиса Александр Сербул Руководитель направления
  • 3. Битрикс24 - цифры • Сотни тысяч баз данных клиентов • Десятки тысяч активных компаний: от единиц до тысяч сотрудников в каждой • Несколько датацентров в AWS. Один - в России.
  • 4. Регистрация Хранение Сервис персональных рекомендаций ~1000 запросов/сек bitrix.info Обработка, анализ Batch процессинг On-line процессинг Выдача ключевой информации analytics.bitrix.info
  • 5. Событие • Кука Пользователя • Хэш лицензии • Домен • ID товара • Название Товара • Категории Товара • ID рекомендации • ряд других Просмотр товара Добавление в корзину Заказ Оплата Заказа Сервис персональных рекомендаций
  • 6. Amazon DynamoDB nginx+Lua Amazon Kinesis ~1000 запросов/сек Буфер bitrix.info worker’s cluster worker (PHP) ~100 запросов/сек фильтрация worker (PHP) worker (PHP) worker (PHP) worker (PHP) worker (PHP) worker (PHP) worker (PHP) Лог событий Пользователи Домены Сервис персональных рекомендаций
  • 7. Amazon DynamoDB Лог событий Пользователи Домены Apache Spark Сервер (spot) Amazon S3 Файл данных Файл данных Сервер (spot) Сервер (spot) Сервер (spot) … Кластер рекомендаций Apache Tomcat Apache Mahout «Мозги» Выдача analytics.bitrix.info Сервис персональных рекомендаций
  • 8. Сервис персональных рекомендаций • Десятки тысяч магазинов • ~1000 событий в секунду • Коллаборативная фильтрация • Кластеризованный товарный каталог (миллионы товаров) • Java, Apache Spark, Apache Mahout, DymanoDB, Kinesis
  • 9. Технологический roadmap • Мульти-модальность • Content-based – рекомендации • Кластеризация • Machine learning, deep learning • Увеличение конверсии • Эффективность работы с клиентами • Таргеттинг
  • 10. Карл… Карл, я нашел страшный подвох в MapReduce Не может быть, пап!
  • 11. Карл… Карл, я специалист по BigData…. Это очень круто, пап! Большинство алгоритмов придется изобретать заново! ЗАНОВО!!!
  • 12. Алгоритмическая «западня» • Большинство алгоритмов для MapReduce нужно изобретать заново • Новый технологический стек
  • 13. 4 «воюющих» лагеря БД • SQL на MapReduce: Hive, Pig, Spark SQL • SQL на MPP (massive parallel processing): Impala, Presto, Amazon RedShift, Vertica • NoSQL: Cassandra, Hbase, Amazon DynamoDB • Классика: MySQL, MS SQL, Oracle, …
  • 14. «Готовые» решения для кластеризации • Spark MLlib (scala/java/python) – много данных • scikit-learn.org (python) – мало данных • R
  • 15. Подходы к кластеризации - просто • Иерархическая • K-means • C-means • Spectral • Density-based (DBSCAN) • Вероятностные • Для «больших данных»
  • 16. Что мы кластеризуем • 18 млн. названий и кратких описаний Товаров • Описание Товара: 2-10 слов • Bag of words • Stemming, морфология? • Kernel hack? • TF/IDF • Word2Vec?!
  • 17. K-means • Просто, понятно • Долго!!! n = 10 000 000 (товаров) k = 1 000 000 (кластеров) d = <1 000 000 (видов слов) i = 100 (итераций) Время работы ~ 10^21 Возраст Земли ~ 1,4*10^17 сек
  • 18. Apache Mahout • «Туго» с алгоритмами • Нет для Spark • Нужно дописывать свои
  • 19. Spark MLLib • Ура, на кластере! • Увы, очень медленно • Падения «по памяти» • Зависания • Свой вариант k-means («Clustering by Bootstrap Averaging»)
  • 20.
  • 21. Цитрамон – хорошо помогает от головной боли
  • 22. Minhash Min-wise independent permutations locality sensitive hashing scheme 1) Снижаем размерность 2) Совместима с LSH (следующий слайд) Pr[ hmin(A) = hmin(B) ] = J(A,B) Размер сигнатуры: 50-500 simhash
  • 23. Text shingling 1) Shingle – «черепица» 2) Устойчивость к вариантам, опечаткам «Штаны красные махровые в полоску» {«штан», «таны», «аны », «ны к», «ы кра», «крас», …} «Красные полосатые штаны»
  • 24. Векторизация описания Товара Текст: «Штаны красные махровые в полоску» Вектор «bag of words»: [0,0,0,1,0,…0,1,0] – ~ 10000 - 1000000 элементов (kernel hack) Minhash-сигнатура после shingling: [1243,823,-324,12312,…] – 100-500 элементов, совместима с LSH
  • 25. Locality-Sensitive Hashing (LSH) • Вероятностный метод снижения размерности • Использовали для minhashed- векторов • Banding: b – корзины, r – элементов в корзине. P{“Векторы совпадут хотя-бы в одной корзине”}: «Mining of Massive Datasets»: Leskovec, Rajaraman, Ullman (Stanford University)
  • 26. Кластеризация каталога • Apache Spark • 2-4 часа, 8-12 spot-серверов • 18 млн. Товаров => 1 млн. кластеров • Адекватные по смыслу кластера • Персональные рекомендации - стали в разы «лучше» (доказали математически) • DynamoDB – хранение кластроидов
  • 27. «Простота — это то, что труднее всего на свете; это крайний предел опытности и последнее усилие гения» Леонардо да Винчи
  • 28. Спасибо за внимание! Вопросы? Александр Сербул @AlexSerbul serbul@1c-bitrix.ru