Google использует технику Minhashing для эффективной кластеризации пользователей на основе схожести их действий (кликов, просмотров, покупок). Этот масштабируемый метод лежит в основе коллаборативной фильтрации и систем рекомендаций (например, Google Discover), позволяя обновлять профиль пользователя независимо от других и в реальном времени.
Описание
Какую задачу решает
Патент решает проблему низкой производительности и масштабируемости традиционных алгоритмов кластеризации при обработке огромных массивов пользователей (сотни миллионов). Методы вроде иерархической агломеративной кластеризации (HAC) слишком медленные (имеют квадратичную сложность), а k-means не применим к данным, представленным в виде наборов интересов (Interest Sets), таким как история кликов или покупок. Изобретение обеспечивает эффективную и динамическую группировку пользователей для систем персонализации и коллаборативной фильтрации (Collaborative Filtering).
Что запатентовано
Запатентован метод масштабируемой кластеризации пользователей с использованием Locality Sensitive Hashing (LSH), в частности техники Minhashing. Каждому пользователю присваивается k кластеров на основе его набора интересов (Interest Set). Ключевая особенность метода — кластеризация каждого пользователя происходит независимо от других. Это позволяет инкрементально обновлять систему (добавлять, удалять, изменять пользователей) в реальном времени без необходимости полной перекластеризации.
Как это работает
Система работает на основе анализа поведения пользователей:
- Сбор данных: Фиксируются действия пользователей (клики, просмотры), формируя для каждого Interest Set.
- Хеширование: К каждому элементу в Interest Set применяется k различных хэш-функций (реализованных через Seed Values и Fingerprint Function).
- Minhashing: Для каждой из k функций определяется элемент, давший минимальное значение хэша (Minhash value).
- Кластеризация: Каждое из k значений Minhash является идентификатором кластера. Пользователи с похожими интересами с высокой вероятностью получат одинаковые Minhash values и попадут в одни и те же кластеры.
- Применение: Кластеры используются для Collaborative Filtering – рекомендации контента, популярного среди других членов кластера.
Актуальность для SEO
Высокая. Техники LSH и Minhashing остаются фундаментальными для построения крупномасштабных систем рекомендаций и персонализации контента (Google Discover, Google News, YouTube). Требования к масштабируемости и возможности инкрементальных обновлений в реальном времени, которые решает этот патент (используя MapReduce для обработки), критически важны для современных сервисов.
Важность для SEO
Патент имеет значительное влияние на SEO (7/10). Хотя он не описывает алгоритмы основного ранжирования (Core Ranking), он раскрывает инфраструктуру, лежащую в основе анализа поведения пользователей и систем рекомендаций. Понимание этого механизма критически важно для оптимизации под Google Discover и Google News, а также для понимания того, как поведенческие данные используются для персонализации поисковой выдачи.
Детальный разбор
Термины и определения
- Collaborative Filtering (Коллаборативная фильтрация)
- Техника создания рекомендаций или прогнозирования интересов пользователя на основе действий или предпочтений других пользователей, находящихся в том же кластере.
- Fingerprint Function (Функция отпечатка)
- Хэш-функция (в патенте упоминается MD5), которая генерирует большое числовое значение из комбинации элемента Interest Set и Seed Value. Используется как практическая реализация случайных перестановок для Minhashing.
- Interest Set (Набор интересов)
- Набор элементов (items), в которых пользователь выразил заинтересованность через взаимодействие с системой (например, кликнул, купил, просмотрел).
- Jaccard Similarity (Схожесть по Жаккару)
- Мера схожести. Определяется как размер пересечения двух наборов, деленный на размер их объединения. Вероятность того, что Minhash Values двух пользователей совпадут, равна их схожести по Жаккару.
- k (Количество кластеров)
- Параметр, определяющий, на сколько кластеров будет назначен каждый пользователь. Обычно небольшое значение (например, 5-10).
- Locality Sensitive Hashing (LSH)
- Класс хэш-функций, обладающих свойством, при котором похожие входные элементы с высокой вероятностью получают одинаковые хэш-значения.
- MapReduce
- Модель программирования для параллельной и распределенной обработки больших наборов данных. Используется для масштабирования процесса вычисления Minhash.
- Minhash Value (Значение Minhash)
- Минимальное значение хэша, полученное при применении одной хэш-функции (или Fingerprint Function с определенным Seed Value) ко всем элементам в Interest Set пользователя. Служит идентификатором кластера.
- Seed Values (Начальные значения, Сиды)
- Набор из k случайных чисел (s1…sk), используемых с Fingerprint Function для симуляции k различных независимых хэш-функций.
- Sham Interest (Фальшивый интерес)
- Проявление интереса к элементам с целью манипуляции системой (например, накрутка ПФ), а не из-за реальной заинтересованности.
Ключевые утверждения (Анализ Claims)
Данный документ (US20120191714A1) является публикацией заявки на продолжение (continuation application), и его Claims сфокусированы на процессе обновления кластеров.
Claim 1 (Независимый пункт): Описывает метод управления кластеризацией.
- Система присваивает каждому пользователю несколько кластеров на основе выбранных им элементов (Interest Set).
- Определяется необходимость обновления присвоения кластеров для конкретного пользователя.
- В ответ на это система обновляет присвоение кластеров для этого конкретного пользователя без влияния (without affecting) на присвоение кластеров любым другим пользователям.
Ядром изобретения, защищенным здесь, является механизм независимого и инкрементального обновления. Это обеспечивает масштабируемость и возможность работы в реальном времени.
Claim 2 (Зависимый от 1): Уточняет, что присвоение кластеров (Шаг 1) происходит в изоляции (in isolation), независимо от других пользователей. Это подтверждает, что базовая технология (например, Minhashing) позволяет обрабатывать пользователей по отдельности.
Claims 3-8 (Зависимые): Детализируют триггеры обновления (Шаг 2).
- Обновление при добавлении нового пользователя или раскрытии им своих предпочтений (Claims 3, 4).
- Обновление при удалении пользователя, в том числе если он идентифицирован как спамный (spam user) или проявляющий фальшивый интерес (sham interest) (Claims 5, 6, 7).
- Обновление, когда пользователь редактирует свой Interest Set (Claim 8).
Эти пункты подчеркивают гибкость системы и ее устойчивость к манипуляциям (накруткам ПФ).
Где и как применяется
Патент описывает инфраструктуру для анализа поведения пользователей и персонализации, которая работает параллельно основному поисковому конвейеру.
CRAWLING (Сбор данных / Data Acquisition)
Система непрерывно собирает поведенческие данные. Функциональность Log user selections записывает взаимодействия (клики, покупки) в лог в виде пар (user, item).
INDEXING (Индексирование поведения)
На этом этапе происходит обработка логов и вычисление кластеров. Это не индексирование веб-страниц, а индексирование поведения.
- Система использует модель MapReduce для параллельной обработки логов.
- Формируются Interest Sets и вычисляются k значений MinHash для каждого пользователя. Эти значения сохраняются как профиль пользователя и идентификаторы его кластеров.
RERANKING (Переранжирование и Персонализация)
Основное применение. Когда пользователь запрашивает контент, система (например, News recommender engine) использует его k кластеров для Collaborative Filtering.
- Определяются популярные элементы среди других пользователей в этих же кластерах.
- Эти элементы рекомендуются (например, в Google Discover) или используются для персонализации SERP.
Входные данные:
- Логи взаимодействий (Collection of data elements D — (user, item) pairs).
- k предопределенных сидов (Seed values).
- Функция отпечатков (Fingerprint function).
Выходные данные:
- k идентификаторов кластеров (MinHash values) для каждого пользователя.
На что влияет
- Сервисы и Платформы: Критическое влияние на Google Discover, Google News, рекомендации YouTube, Google Shopping.
- Типы контента: Новостные статьи, товары, видео, блоги.
- Традиционный веб-поиск: Влияние косвенное, через слой персонализации результатов поиска на основе поведенческого профиля пользователя.
- Типы пользователей: Система может идентифицировать пользователя как индивидуума (логин, cookie), сессию или агрегированную группу (по IP, языку, локации).
Когда применяется
- Частота применения (Вычисление): Может выполняться в пакетном режиме (офлайн через MapReduce) для всей базы пользователей.
- Обновления в реальном времени: Как подчеркнуто в Claims, система способна обновлять кластеры инкрементально и в реальном времени (real time) при изменении Interest Set пользователя (новые клики или удаление истории).
- Триггеры активации (Использование): В реальном времени, когда пользователь взаимодействует с персонализированным сервисом.
Пошаговый алгоритм
Описание масштабируемой реализации с использованием MapReduce.
Этап 1: Подготовка и Сбор данных
- Подготовка: Определение k глобальных сидов (Seed values s1…sk) и функции отпечатков (Fingerprint function f, например, MD5).
- Сбор данных: Получение коллекции D, состоящей из пар (user, item).
Этап 2: Кластеризация (MapReduce)
- Map Phase (Фаза отображения): Для каждой пары (user, item) в D система генерирует промежуточную пару (ключ, значение), где ключ=user и значение=item.
- Группировка (Shuffle): Фреймворк MapReduce собирает все значения (Items) для одного и того же ключа (User).
- Reduce Phase (Фаза свертки): Для каждого пользователя и его Interest Set (состоящего из m элементов) выполняется:
- Итерация по k сидам (si).
- Для текущего сида si: Вычисление отпечатка f(si, item) для каждого из m элементов в наборе.
- Определение минимального значения среди этих m отпечатков. Это значение становится i-м MinHash value (идентификатором кластера).
- Вывод: Сохранение k MinHash values для данного пользователя.
Этап 3: Применение (Коллаборативная фильтрация)
- Получение запроса: Пользователь запрашивает контент.
- Идентификация кластеров: Система извлекает k Cluster IDs пользователя.
- Генерация рекомендаций: Анализируются объекты, популярные среди других пользователей в этих кластерах. Объекты ранжируются и предоставляются пользователю.
Какие данные и как использует
Данные на входе
Система фокусируется исключительно на поведенческих данных и идентификаторах.
- Поведенческие факторы (Ключевые): Логи взаимодействий пользователя с элементами (Interest Set). Патент указывает, что это могут быть клики, покупки, добавление в корзину, просмотры. Упоминается как явное (explicit), так и неявное (implicit) выражение интереса.
- Пользовательские факторы: Идентификаторы пользователей. Патент описывает разные способы идентификации: логин (user logon), cookie, сессия (session). Также упоминается возможность агрегации индивидуумов по общим атрибутам (IP-адрес, местоположение, язык) для формирования «коллективного пользователя» без необходимости регистрации.
Контентные или ссылочные факторы в этом алгоритме не используются.
Какие метрики используются и как они считаются
- MinHash Value (Вычисление): Основная метрика. Вычисляется как минимум из значений отпечатков. Формула: MinHash_i(User) = MIN over items in Interest Set { fingerprint(Seed_i, item) }.
- Схожесть наборов (Jaccard Similarity): Система неявно оценивает схожесть пользователей. Свойство MinHash заключается в том, что вероятность совпадения MinHash values двух пользователей равна их Jaccard Similarity (размер пересечения наборов / размер объединения наборов).
- Параметр k: Количество кластеров на пользователя. Определяет баланс между эффективностью (меньше k) и качеством (больше k).
Выводы
- Фундамент для масштабной персонализации: Патент описывает Minhashing как эффективный и масштабируемый способ кластеризации миллиардов пользователей, что является основой для систем коллаборативной фильтрации и рекомендаций (например, Google Discover).
- Поведенческие сигналы как основа: Кластеризация основана исключительно на схожести действий пользователей (Interest Sets), а не на демографических данных или анализе контента самих элементов.
- Независимость и инкрементальные обновления: Ключевое преимущество – возможность обновлять кластеры пользователя в реальном времени, не пересчитывая всю модель. Это достигается за счет того, что кластеры пользователя зависят только от его собственных данных (и глобальных сидов).
- Устойчивость к манипуляциям (Накрутка ПФ): Патент явно предусматривает механизм борьбы со спамом. Пользователи, проявляющие sham interest (фальшивый интерес), могут быть идентифицированы и удалены из системы без влияния на кластеризацию других пользователей (Claims 6, 7).
- Множественные кластеры для разнообразия: Принадлежность к k разным кластерам позволяет отразить разные аспекты интересов пользователя и обеспечить разнообразие рекомендаций.
Практика
Best practices (это мы делаем)
- Оптимизация под Google Discover и рекомендательные системы: Поскольку система кластеризует пользователей по поведению, необходимо создавать контент, который стимулирует активное вовлечение и формирует у пользователя четкий тематический Interest Set. Это увеличивает вероятность того, что ваш контент будет рекомендован другим пользователям в этом же кластере через Collaborative Filtering.
- Стимулирование серийного потребления контента: Поощряйте пользователей взаимодействовать с несколькими единицами контента по одной теме (качественная перелинковка, серии статей). Это помогает сформировать более плотный Interest Set и укрепляет ассоциацию пользователя с тематическим кластером.
- Анализ смежных интересов (Кластеров, а не только ключевых слов): Анализируйте, какие темы часто потребляются одной и той же аудиторией. Создавайте контентные хабы, которые удовлетворяют несколько смежных интересов, соответствующих реальным поведенческим кластерам пользователей.
- Фокус на качестве трафика и User Satisfaction: Привлекайте целевую аудиторию, которая действительно заинтересована в вашем контенте. Положительный опыт взаимодействия формирует сильные сигналы для систем коллаборативной фильтрации.
Worst practices (это делать не надо)
- Накрутки поведенческих факторов (Sham Interest): Патент явно упоминает (Claims 6, 7) идентификацию и удаление пользователей, проявляющих фальшивый интерес для манипуляции системой. Использование ботов или мотивированного трафика может привести к исключению этих сигналов из кластеризации.
- Кликбейт и обман ожиданий: Привлечение нецелевого трафика, который быстро покидает сайт, формирует негативные поведенческие паттерны и может привести к некорректной кластеризации интересов, связанных с вашим контентом.
- Игнорирование качества трафика: Покупка низкокачественного трафика может «загрязнить» поведенческие профили, связанные с вашим сайтом, и негативно повлиять на работу рекомендательных систем.
Стратегическое значение
Патент подтверждает стратегическую важность поведенческих данных для Google. Он показывает, как Google решает задачу кластеризации интересов в масштабе всей своей пользовательской базы. Для SEO это подчеркивает важность оптимизации под интересы (Interest-based SEO) и поведенческие паттерны, особенно при работе с Google Discover и другими персонализированными сервисами. Успех зависит от способности контента генерировать четкие поведенческие сигналы внутри целевых кластеров.
Практические примеры
Сценарий: Оптимизация контента для Google Discover
- Наблюдение: Пользователь А регулярно читает статьи про «Тренировки с собственным весом» и «Рецепты с высоким содержанием белка». Это его Interest Set.
- Кластеризация (Google): Алгоритм Minhashing присваивает Пользователю А кластеры (например, K1 и K2), которые совпадают с кластерами других пользователей (Б, В), интересующихся этими же темами.
- Действие (Ваше): Вы публикуете новую статью «Лучшие приложения для отслеживания прогресса в калистенике».
- Коллаборативная фильтрация (Google): Система анализирует, что эта новая статья популярна среди некоторых пользователей в кластере K1.
- Результат: Google Discover рекомендует эту новую статью Пользователю А и другим членам кластера K1, так как это соответствует общему профилю интересов его кластера, даже если они ранее не искали информацию о приложениях напрямую.
Вопросы и ответы
Что такое MinHash и как он используется Google согласно патенту?
MinHash – это техника для быстрой оценки сходства между наборами данных (например, историей кликов пользователей). Вместо прямого сравнения профилей пользователей, что вычислительно дорого, Google применяет несколько (k) хеш-функций и сохраняет только минимальные значения. Если у двух пользователей совпадают эти MinHash values, они считаются схожими и попадают в один кластер. Это позволяет масштабировать кластеризацию на миллионы пользователей.
Влияет ли этот патент на ранжирование в основном органическом поиске?
Напрямую – нет. Патент не описывает сигналы ранжирования контента. Он фокусируется на инфраструктуре для коллаборативной фильтрации и рекомендаций. Однако результаты этой кластеризации могут использоваться для персонализации поисковой выдачи для конкретного пользователя на основе его истории интересов и поведения его кластера.
Как этот патент связан с Google Discover?
Весьма вероятно, что описанная технология является одной из основных для работы Google Discover. Discover рекомендует контент на основе интересов пользователя. Кластеризация пользователей по интересам с помощью MinHash позволяет Google эффективно определять, какой контент будет интересен пользователю, основываясь на том, что популярно среди других людей в его кластерах.
В патенте подчеркивается независимость обновления кластеров («in isolation»). Почему это важно?
Это критически важно для работы в реальном времени и масштабируемости. Когда вы кликаете на новую статью, Google может мгновенно обновить ваши кластеры интересов, не пересчитывая данные миллиардов других пользователей. Это обеспечивает актуальность персонализации и эффективность системы.
Зачем пользователю присваивается несколько (k) кластеров, а не один?
Присвоение нескольких кластеров (например, k=10) позволяет отразить разнообразие интересов пользователя (например, программирование, кулинария и лыжи). Принадлежность к разным кластерам позволяет системе предоставлять более разнообразные и точные рекомендации, охватывающие все аспекты его профиля.
Какие типы взаимодействий учитываются в «Наборе интересов» (Interest Set)?
Патент упоминает различные действия, выражающие явный или неявный интерес: клики по элементам, покупка товаров, добавление в корзину, просмотр элементов. На практике это включает клики в поиске, просмотр статей в Discover, просмотр видео на YouTube и другие взаимодействия с сервисами Google.
Может ли накрутка поведенческих факторов (ПФ) обмануть эту систему?
Это рискованно и неэффективно. Патент явно предусматривает механизм борьбы с манипуляциями (Claims 6, 7). Пользователи, проявляющие «ложный интерес» (sham interest) или идентифицированные как «спамные», могут быть легко удалены из системы кластеризации. Благодаря независимости обновления, удаление спам-аккаунтов не влияет на кластеризацию легитимных пользователей.
Как SEO-специалист может использовать информацию из этого патента на практике?
Основное применение – это оптимизация под рекомендательные системы (Discover, News). Необходимо создавать контент, который четко нацелен на определенные группы интересов и генерирует сильные поведенческие сигналы (высокий CTR, вовлеченность). Если ваш контент станет популярным внутри определенного кластера интересов, система начнет его активно рекомендовать.
Может ли Google кластеризовать пользователей без логина или cookies?
Да. Патент упоминает, что «пользователем» может считаться сессия или агрегация индивидов с общими наблюдаемыми атрибутами (например, пользователи из одного региона, с одним IP или языком). Это позволяет применять некоторую степень персонализации даже для анонимных пользователей.
Что важнее для этой системы: E-E-A-T сайта или поведение пользователей?
Для описанного механизма кластеризации важны только поведенческие данные (Interest Set). Однако на этапе генерации рекомендаций (который использует эти кластеры) система, безусловно, будет применять фильтры качества и E-E-A-T, чтобы рекомендовать контент только из надежных источников. Одно дополняет другое.