Hard и Soft кластеризация семантики по ТОП-10 поисковой выдачи
1. Архитектура и принцип работы
Сначала собираем семантику и снимаем ТОП-10 по каждому запросу с нужного региона и устройства. Каждому запросу сопоставляем вектор URL. Дальше считаем попарное сходство: долю общих документов или коэффициент Жаккара. Hard-режим склеивает запросы при сходстве выше высокого порога — обычно 0.7–0.9, — и получаются плотные группы под одну посадочную. Soft-режим работает с нижним порогом 0.3–0.5 и методом графовой кластеризации: запросы связаны рёбрами по сходству, а группы выделяются как компоненты связности или сообщества. Soft нужен, чтобы увидеть смежные подтемы, поймать запросы с нестабильной выдачей и не потерять длинный хвост. На практике оба режима гоняют вместе: hard даёт каркас структуры сайта, soft — материал для проверки и объединения мелких групп.
2. Математическая механика и триггеры ранжирования
Базовые параметры: регион, устройство, дата съёма, глубина 10, персонализация выключена. Сходство пары запросов считаем по Жаккару: J(A,B)=|A∩B|/|A∪B|, где A и B — множества URL из топ-10. Альтернатива — взвешенное сходство с учётом позиций: S=Σ w_i·[url_i(A)=url_i(B)], веса w_i убывают с позицией, например 1/rank. Hard-порог обычно 0.6–0.8 по Жаккару, soft — 0.25–0.45. Кластеризация — через граф: рёбра при S≥порог, затем компоненты связности или Louvain для сообществ. Контроль качества: доля одиночных кластеров, средний размер, стабильность при повторном съёме через 7–14 дней. Если выдача шумит, делаем 2–3 съёма и берём пересечение топов — это снижает ложные склейки.
3. Специфика в Яндекс (YATI) vs Google
В Яндексе выдача сильнее зависит от региона и быстро меняется, поэтому hard-порог стоит держать выше, а съём делать с фиксированным регионом и без персонализации. Часто помогает усреднение по нескольким датам. Google стабильнее по коммерческим запросам, но сильнее персонализируется и подмешивает локальные результаты; для геозависимых тем снимаем с нужной локации. В Google soft-кластеры чаще дают чистые тематические сообщества, в Яндексе — больше размытых групп из-за колдунщиков и агрегаторов. Практика: для Яндекса порог hard 0.7–0.85, для Google 0.6–0.75; soft в обоих случаях 0.3–0.45, но в Яндексе чаще перепроверяем вручную.
4. Нормативы SLA и диагностическая матрица
| Параметр / Метрика | Эталон по SLA | Критическая ошибка |
|---|---|---|
| Порог Жаккара для hard | 0.6–0.8 | <0.5 или >0.9 |
| Порог Жаккара для soft | 0.25–0.45 | <0.2 или >0.6 |
| Доля одиночных кластеров | 10–30% | >50% |
5. Пошаговый инженерный протокол внедрения
- Снимите ТОП-10 по всей семантике с фиксированным регионом и устройством, сохраните сырые URL и дату — без этого кластеризация невоспроизводима.
- Посчитайте матрицу попарного сходства по Жаккару и прогоните hard-кластеризацию с порогом 0.7; отметьте кластеры размером больше 30 запросов для ручной проверки.
- Запустите soft-кластеризацию с порогом 0.35 через граф сообществ и сравните границы с hard: расхождения — кандидаты на отдельные подтемы или на склейку.
- Повторите съём через 7–14 дней и оставьте в hard только устойчивые связи; нестабильные запросы перенесите в soft и распределите вручную по смыслу.
J(A,B)=|A∩B|/|A∪B|; hard: J≥0.7 → ребро; soft: 0.35≤J<0.7 → ребро для графа сообществ. Пример: A={u1,u2,u3,u4,u5}, B={u1,u2,u3,u6,u7}; |A∩B|=3, |A∪B|=7, J=0.43 → soft-связь, не hard.
6. Типичные ошибки при оптимизации
- Кластеризовать по одному съёму без учёта даты и региона — выдача шумит, и в hard попадают случайные склейки.
- Ставить слишком низкий hard-порог: получаются гигантские кластеры, которые нельзя закрыть одной страницей.
- Игнорировать soft-режим и терять смежные подтемы и длинный хвост, которые не дотягивают до жёсткого порога.
