DS
По кластеризации.
Задача с разбиениям объектов на группы на основе данных решалась ещё в 60 годах, цепи Маркова уже больше 100 лет как придуманы. Это к тому что проблема не нова, изобретать велосипед не нужно. :) Алгоритмы кластеризации четкие, нечеткие, плоские и иерархичные (вот ссылка, может интересно будет https://m.habr.com/post/101338/ ).
Нам под топы нужны плоские алгоритмы по большей части.
Математический аппарат хоть и был, но программные реализации плодят каждый день под прикладные задачи (найти схожие картинки, найти найти похожие квартиры в том же районе, найти всех людей похожих на того кто купил у нас товар и т д). Под анализ связей топов через url,на мой взгляд, k-means алгоритм самое то. Но он тоже криво отрабатывает, когда шум в выдаче. В чистом виде за 1 проход алгоритмы например в KeyAssort не идеально отрабатывают. По этому наворотили миграцию запросов - миграция является пост обработкой. Т. е. делаем один проход, чтобы найти сгустки связей, и вторым проходом перекидываем фразы (ищем в рамках уже готовых кластеров, куда запрос перекинуть).
Мы также используем микс алгоритмов. Когда делали кластеризатор, ставили программные реализации кластеризаторов на сервак и на 120к запросах искали лучшие отработки.
Заразился идеей кластеризации больших ядер, когда с Лешей Чекушиным, Олегом Шествковым и Русланом Рзаевым на ТопЭксперте в 2013 г. общался в кулуарах. А Лёша через год hard (все ко всем) начал пиарить и говорил про миллиарды связей. На практике у нас миллиарды сворачиваются до миллионов через Обратный индекс url (спасибо SEO музыканту Жоре Торговскому за подсказки) :) а миллион для bd это мало и работает относительно быстро. Тогда же были первые кривые попытки построить, то что сейчас называют soft-кластеризацией.
Окончательно потерял веру в этот алгоритм, после свадебного портала на 120к ключей. Просто не принимали у нас работу с soft кластеризацией. :) Пришлось тогда копать глубже. Про кластеризацию не правильно говорить в отрыве от контекста.
Задача 1 - привязать на живой магазин 1 млн. фраз и быстро продвинуть.
Задача 2 — собрать полную ся на новый портал и писать контент
Задача 3 — расширять старый портал и дожимать существующие страницы.
Задача 4 — собрать теговые расширения на магазин существующий.
Задача 5 — собрать ся для SEO и для контекста одновременно.
Задача 6 — магазин в топ-10 нужен топ-3.
6 разных задач одним скриптом не решить. Они разные и Кластеризация тут не самая большая проблема. :)


