Segmento DMP хранит сотни миллионов анонимных профилей пользователей интернета. Часть из задач отдела Data Science связана с их кластеризацией и поиском нечетких дубликатов. Для успешного решения этих задач необходимо вычислить метрики сходства между профилями. Brute force подход на таких объемах данных уже не сработает, поэтому мы выбрали другой путь.
1. Какие расстояния будем считать?
В зависимости от предметной области и структуры данных метрики сходства между объектами могут отличаться. В этой части я расскажу про основные, которые используются в прикладном анализе: euclidean distances, jaccard distance, cosine distance , edit distance, hamming distance.
2. Locality-Sensitive Hashing.
В данной части я расскажу про хорошо известный в узких кругах алгоритм locality-sensitive hashing и сложности, связанные с его применением на практике.
3. Dimension Independent Matrix Square using MapReduce.
Обзор нового алгоритма, рожденного в глубинах Twitter и его MapReduce реализация.
4. Пример из реальной жизни.
Расскажу, как удалось применить данные техники на наших данных в задаче поиска пользователей, похожих на целевую аудиторию.