Классические ML-алгоритмы vs. GPT в SEO: сравнение подходов, плюсы и ограничения
[img=right]
[img=right]
[img=right]
ML-алгоритмы предсказания временных рядов
Тут использовалась библиотека prophet, созданная для предсказания временных рядов. Мы видим, что график предсказания выглядит немного пессимистично, при этом:
[img=right]
На данном примере можно сделать следующий вывод: не должен хвост вилять собакой – выбирайте инструмент, отталкиваясь от задачи, а не решайте задачу инструментом, который «на хайпе». Если вам нужно аппроксимировать временной ряд, то «лист прогноза» будет отличным выбором, но если нужна бОльшая точность, то классические ML-алгоритмы предлагают большую гибкость и точность.
Классификация и кластеризация
При работе с крупными сайтами нередко приходится обрабатывать большое количество информации(в частности, страниц)и признаков этих страниц. Например, таблица с 10 000 URL и 20 признаками(то есть таблица 10.000 х 20)в GPT особо не влезет. Она, кстати, может влезть в DeepSeek, но LLM будет читать ее как текст и забывать информацию по ходу чтения. Поэтому тут придется полагаться на классические ML-алгоритмы.
Давайте сначала определимся, что классификация и кластеризация – разные задачи. Классификация предполагает отнесение элемента к одному(или нескольким)уже определенным классам, а кластеризация предполагает под собой разбивку некоторых данных на группы(кластеры), основанные по принципу схожести элементов(если говорить упрощенно). К задачам кластеризации в SEO относится не только группировка запросов, но и разделение страниц, посетителей, визитов и любых других сущностей, для которых возможно собрать осмысленные признаки.
[img=right]
Ниже рассмотрим, какие практические задачи можно решать уже сейчас!
Классификация
Не часто встречается в SEO как задача. Однако постоянно встречается довольно важная задача о выборе и приоритизации задач. Это особенно острая проблема на сайтах, где «базовое SEO» уже сделано(то есть метатеги прописаны, микроразметка есть и т.д.). Нужно искать эффективные гипотезы, формулировать и проработать их.
Есть разные способы поиска и приоритизации гипотез, например конкурентный анализ, экспериментальный подход и т.д. Но есть еще 1 интересный способ, где мы выгружаем страницы 1 типа(например, листинги), генерируем / собираем те признаки, на которые можем влиять(наличие текста, объем текста, наличие плитки тегов, количество товаров на листинге, количество исходящих ссылок, наличие микроразметки конкретного типа и т.д.). Затем разбиваем страницы на 2 класса: класс 0 – это страницы, средняя позиция которых > 10, класс 1 – это страницы, средняя позиция которых <= 10. Данные(даже при отсутствии семантического ядра)можно получить в GSC и Вебмастере.
На выходе у нас получается таблица N урлов х M признаков и класс(0 и 1). Пример того, что может получиться:
Таблица: Анализ страниц категории «Книги»(/category/books/)
| URL | Наличие H1(0/1) | Объем текста(символов) | Наличие плитки тегов(0/1) | Количество товаров | Количество исх. ссылок | Наличие FAQ-разметки(0/1) | Средняя позиция(GSC) | Класс(0/1) |
|---|---|---|---|---|---|---|---|---|
| /category/books/fantasy | 1 | 1200 | 1 | 145 | 25 | 1 | 4.2 | 1 |
| /category/books/detective | 1 | 850 | 1 | 98 | 18 | 0 | 7.5 | 1 |
| /category/books/classic | 0 | 300 | 1 | 212 | 50 | 0 | 22.5 | 0 |
| /category/books/science | 1 | 2100 | 0 | 75 | 12 | 1 | 5.8 | 1 |
| /category/books/romance | 1 | 600 | 1 | 130 | 40 | 0 | 15.3 | 0 |
| /category/books/horror | 1 | 950 | 1 | 88 | 30 | 0 | 9.1 | 1 |
| /category/books/poetry | 0 | 150 | 0 | 250 | 5 | 0 | 34.1 | 0 |
| /category/books/comics | 1 | 1800 | 1 | 65 | 22 | 1 | 6.5 | 1 |
| /category/books/children | 1 | 1100 | 0 | 115 | 18 | 0 | 11.7 | 0 |
| /category/books/biography | 0 | 400 | 1 | 185 | 45 | 0 | 27.2 | 0 |
Обладая такой таблицей, при условии, что она будет довольно объемной(чем больше, тем лучше), мы сможем исследовать влияние признаков на целевую переменную(то есть на вероятность попадания страницы в топ-10).
Очень важно правильно обработать значения. В нашем случае нужно убрать колонку со средней позицией, чтобы не допустить утечки информации, а также убрать колонку с URL(либо обработать ее, потому что она выступает идентификатором элемента, а не его признаком; но из URL можно также извлекать признаки – например, длину URL, slug, вложенность и т.д.).
Когда все данные готовы, можно использовать ансамблевые алгоритмы, основанные на деревьях решений, и посмотреть, какие признаки влияют на результат модели. При условии, что качество модели на отложенной выборке – высокое, а объем данных – крупный, мы можем сказать, что модель хорошо обучена и ее мнение может иметь ценность.
В примере ниже использовался алгоритм случайного леса(разумеется, на 10 элементах никакого обучения не было, просто хотим показать принцип):
[img=right]
Физический смысл очень прост: если, например, наличие плитки тегов никак не влияет, то и гипотезы, связанные с плиткой тегов, нужно приоритизировать с низким приоритетом. А вот длина текста и количество товаров(в нашем игрушечном примере)имеет высокую предиктивную силу, поэтому дальше нужно исследовать, как именно это влияет, и сформировать соответствующие гипотезы. То есть те признаки, которые оказывают влияние на модель при условии, что доступно большое количество наблюдений и модель достаточно хорошо обучена, имеет смысл исследовать и на их основе формировать гипотезы.
[img=right]
Например, в нашем игрушечном примере видим, что страницы с классом 0(то есть за топ-10)имеют малое количество текста и огромное количество товаров, а страницы класса 1 – наоборот.
Какой физический смысл в этом можно найти:
Какие гипотезы и задачи можно сформулировать:
[img=right]https://www.seonews.ru [img=right]
Анализ, проведенный выше, представляет собой data-driven подход, где гипотезы формируются не на основе интуиции или «потому что есть у конкурентов», а на основе репрезентативной(это важно)выборки и алгоритмического подхода. Это позволяет с большой долей вероятности отсечь большую часть нежизнеспособных гипотез.
Кластеризация
Похожую задачу можно было решить с использованием алгоритмов кластеризации, например KMeans.
[img=right]
Тут нужна немного другая обработка данных, но в результате информация будет похожей.
Обратите внимание, что в первом столбце средняя позиция 7.47 и количество товаров меньше, а количество текстов больше, чем у класса, где средняя позиция 24.78.
Также мы видим еще нюансы:
Получаются новые гипотезы:
Пример кода для кластеризации URL:
| # Загрузка библиотек import pandas as pd from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler import seaborn as sns import matplotlib.pyplot as plt # Данные data = # Преобразование данных в специальную структуру DataFrame df = pd.DataFrame( data) # Масштабирование признаков(если этого не сделать алгоритм не сойдется из-за слишком разного масштаба признаков) scaler = StandardScaler() X_scaled = scaler.fit_transform( df) # Кластеризация KMeans на 2 кластера kmeans = KMeans( n_clusters=2, random_state=42) df['cluster'] = kmeans.fit_predict( X_scaled) # Средние значения признаков по кластерам cluster_summary = df.groupby( 'cluster').mean() # Формирование визуализации Heatmap plt.figure( figsize=( 10,6)) sns.heatmap( cluster_summary.T, annot=True, cmap="YlGnBu", fmt=".2f") plt.title( "Средние значения признаков по кластерам") plt.show() |
[img=right]
На основе двух подходов видно, что можно прийти к похожим результатам разными путями. В этом кроется красота и гибкость машинного обучения, так как алгоритмы позволяют «раскрывать данные», а разные подходы позволяют лучше адаптироваться под конкретную задачу.
| Представьте: вы попали на крупный проект. Задача: проанализировать признаки товаров и сформулировать гипотезы относительно внедрения доработок. Клиент делает выгрузку 2 000 000 товаров и 250 признаков в каждой(все, что было в базе данных, выгрузил и отправил вам). Какой алгоритм выбрать, как действовать?Обладая некоторым опытом, можно выбрать такую стратегию: Другая задача: есть новостной сайт, и нужно понять(хотя бы частично), почему одни новости «залетают», а другие нет. Например, выборка 1000 статей. Тут можно начать с кластеризации. Кластеризация покажет, какой объем у текста, автор, время публикации и т.д. у статей, которые «залетают» и которые «не залетают». Этот простой анализ может стать отправной точкой в аналитике новостного контента(например). Возникает вопрос: какой самый лучший подход?Думаю ответ вы уже знаете – тот, который подходит для решения задачи. Если для решения задачи подходит множество подходов – выбирайте более простой и интерпретируемый метод(например, я бы выбрал кластерный анализ вместо случайного леса, так как этот алгоритм более интерпретируемый). |
Кластеризация запросов
Когда речь идет о кластеризации, все SEO-специалисты думают о запросах. Алгоритмы ML предлагают массу вариантов для классификации(и тематического моделирования семантики). Используя ML можно выделять темы(топики), а также кластеризовать семантику на основе эмбеддингов(векторных вложений), которые можно получить из предобученных трансформеров. Кстати, тут мы видим довольно важную вещь: комбинация алгоритмов позволяет решать совершенно разные задачи разными способами, что делает навык владения машинным обучением важной hard компетенцией.
В примере ниже используется комбинация алгоритмов:
| Keyword | Volume | Position | Cluster | ClusterCount | ClusterVolume | ClusterPosition | ClusterPotential |
| нужны ли права на электромотоцикл | 480 | 28 | 202 | 6 | 1600 | 47,5 | 54,35318453 |
| нужны ли права на электроскутер | 320 | 6 | 202 | 6 | 1600 | 47,5 | 54,35318453 |
| нужны ли права на электровелосипед | 320 | 65 | 202 | 6 | 1600 | 47,5 | 54,35318453 |
| права на электровелосипед | 170 | 82 | 202 | 6 | 1600 | 47,5 | 54,35318453 |
| права на электромотоцикл | 170 | 31 | 202 | 6 | 1600 | 47,5 | 54,35318453 |
| скутер нужны ли права | 140 | 73 | 202 | 6 | 1600 | 47,5 | 54,35318453 |
| как кататься на электросамокате | 590 | 53 | 183 | 6 | 1650 | 43,5 | 53,60465329 |
| как ездить на электросамокате | 320 | 56 | 183 | 6 | 1650 | 43,5 | 53,60465329 |
| как управлять электросамокатом | 260 | 84 | 183 | 6 | 1650 | 43,5 | 53,60465329 |
| как заряжать электросамокат | 170 | 50 | 183 | 6 | 1650 | 43,5 | 53,60465329 |
| как сложить электросамокат | 170 | 7 | 183 | 6 | 1650 | 43,5 | 53,60465329 |
| как включить электросамокат | 140 | 11 | 183 | 6 | 1650 | 43,5 | 53,60465329 |
| ultron | 1000 | 8 | 101 | 6 | 2400 | 40,83333333 | 53,35405861 |
| ultron t128 | 480 | 52 | 101 | 6 | 2400 | 40,83333333 | 53,35405861 |
| ultron t11 | 320 | 2 | 101 | 6 | 2400 | 40,83333333 | 53,35405861 |
| ultron t108 | 260 | 27 | 101 | 6 | 2400 | 40,83333333 | 53,35405861 |
| ultron t103 | 170 | 97 | 101 | 6 | 2400 | 40,83333333 | 53,35405861 |
| eltreco xt 850 | 170 | 59 | 101 | 6 | 2400 | 40,83333333 | 53,35405861 |
| велосипед bmx | 1600 | 6 | 75 | 6 | 3240 | 27 | 52,82840567 |
| bmx велосипед | 720 | 8 | 75 | 6 | 3240 | 27 | 52,82840567 |
| трюковой велосипед bmx | 320 | 9 | 75 | 6 | 3240 | 27 | 52,82840567 |
| bmx bikes | 260 | 68 | 75 | 6 | 3240 | 27 | 52,82840567 |
| купить велосипед bmx | 170 | 49 | 75 | 6 | 3240 | 27 | 52,82840567 |
| велосипед бмикс | 170 | 22 | 75 | 6 | 3240 | 27 | 52,82840567 |
| dualtron | 1000 | 43 | 104 | 6 | 3010 | 26 | 51,80465952 |
| dualtron x | 1000 | 53 | 104 | 6 | 3010 | 26 | 51,80465952 |
| dualtron ultra | 320 | 47 | 104 | 6 | 3010 | 26 | 51,80465952 |
| dualtron raptor | 260 | 4 | 104 | 6 | 3010 | 26 | 51,80465952 |
| dualtron spider | 260 | 5 | 104 | 6 | 3010 | 26 | 51,80465952 |
| dualtron mini | 170 | 4 | 104 | 6 | 3010 | 26 | 51,80465952 |
Сейчас довольно много статей на тему кластеризации на эмбеддингах предобученных моделей. Сказать по-честному, это ситуативный подход. В ряде случаев проще довериться кластеризации по топу, но если:
можно рассмотреть этот вариант. И тут вариантов решения миллион, начиная от TFIDF векторайзеров, заканчивая BERTopic, графовыми алгоритмами и другой экзотикой. Проблема этого подхода лишь в том, что найти хороший вариант бывает сложно(если вы его сразу нашли, скорее всего, проще было воспользоваться обычной кластеризацией запросов).
Преимущества использования ML в SEO
Использование классических ML-алгоритмов в SEO дает много ощутимых преимуществ, которые влияют на эффективность аналитики и принятие решений:
Какие навыки нужны для использования ML в SEO?
Чтобы эффективно применять ML в SEO, специалисту требуется сочетание технических и аналитических навыков:
Использование GPT в SEO-задачах
С появлением больших языковых моделей(LLM)у SEO-специалистов открылись новые возможности для автоматизации и анализа, которые раньше требовали сложных пайплайнов классического ML. GPT умеет работать с текстом «как человек», что позволяет решать задачи, где семантика и контекст важнее чистых численных признаков.
Основные задачи, где GPT проявляет себя лучше классических алгоритмов
Что GPT делать не умеет или делает хуже классических ML-моделей?
Прогнозирование численных показателей Обработка больших таблиц и объемных датасетов Интерпретируемость Оптимизационные задачиХорошая новость: LLM помогает в реализации ML / DataScience пайплайнах.
Промпт-инжиниринг – ключевой навык при работе с LLM
Чтобы GPT давал максимально полезные и точные результаты, SEO-специалисту нужно уметь правильно формулировать запросы(prompts):
Промпт-инжиниринг – это не просто технический навык, это часть аналитики: от того, как ты задашь задачу GPT, зависит качество рекомендаций и контента. Владение этим навыком делает работу с LLM эффективной и повторяемой, превращая «черный ящик» в инструмент, на который можно опираться в ежедневной SEO-практике.
Сравнение двух инструментов
| Критерий / Задача | Классические ML-алгоритмы | GPT / LLM-подходы |
|---|---|---|
| Прогнозирование численных показателей(трафик, CTR, конверсии) | ?Высокая точность, учитывает сезонность и тренды(Prophet, XGBoost) | ?Низкая точность, не умеет корректно работать с временными рядами |
| Анализ больших таблиц с URL и признаками | ?Обрабатывает тысячи строк и десятки признаков, выявляет зависимости | ?Ограничение по токенам, большие таблицы плохо анализируются, информация может теряться |
| Кластеризация и классификация страниц / запросов | ?KMeans, Random Forest, деревья решений позволяют классифицировать и выделять группы | ?Может работать через embedding и семантические векторизации, но требует дополнительной обработки |
| Генерация гипотез и рекомендаций | ?Можно через анализ признаков и важности фич, но требует ручной интерпретации | ?Автоматически выявляет паттерны, предлагает улучшения для контента и структуры сайта |
| Генерация текстов и мета-данных | ?Практически не применимо, нужны шаблоны и ручное формирование | ?Генерация описаний, FAQ, блог-постов, метатегов на основе контекста |
| Суммаризация и структуризация контента | ?Требует сложных пайплайнов NLP | ?Быстро формирует сводки, отчеты, списки и таблицы из текста |
| Детальное сравнение страниц конкурентов | ?Можно через таблицы и признаки, но сложно анализировать смысл | ?Анализирует текстовые различия, выявляет сильные и слабые элементы, генерирует рекомендации |
| Автоматизация SEO-аудитов | ?Можно с классическим ML, но требует правил и шаблонов | ?Проверка H1, FAQ, метатегов, приоритизация задач |
| Интерпретируемость и объяснимость | ?Высокая: видно влияние признаков на результат | ?Низкая, сложно понять, почему GPT предложил ту или иную рекомендацию |
| Промпт-инжиниринг / настройка задачи | ?Не требуется | ?Ключевой навык: формулировка запроса напрямую влияет на результат |
| Обработка семантики и контекста | ?Ограничена: TF-IDF, Word2Vec дают приближенный смысл | ?Понимает текст, контекст и интент «как человек» |
| Масштабирование и повторяемость | ?Модели можно запускать на локальных данных, автоматизировать | ?Ограничено токенами и API, требует контроля генерации |
ML требует больше хард-скиллов, чем просто общение с GPT
Одно из ключевых различий между классическим машинным обучением и работой с GPT – это уровень технической подготовки, необходимый для эффективного использования инструментов.
В отличие от этого, работа с GPT значительно проще: достаточно уметь формулировать корректный запрос(промпт)и интерпретировать результаты. Промпт-инжиниринг – это ключевой навык, но он не требует глубокого знания алгоритмов, статистики или программирования.
Иными словами, классическое ML требует сильной «hard skill» базы, тогда как GPT позволяет SEO-специалисту быстро получать результаты даже без глубоких технических знаний, делая упор на семантику и креативность.
| Навык / Требование | Классическое ML | GPT / LLM-подходы |
|---|---|---|
| Работа с данными | ?Требуется глубокая подготовка: очистка, нормализация, извлечение признаков | ?Минимум: можно работать с «сырым» текстом, но важна структура промпта |
| Программирование | ?Обязательно: Python/R, библиотеки sklearn, pandas, numpy, matplotlib | ?Не обязательно: достаточно базового кода для обработки данных или вызова API |
| Настройка моделей | ?Нужно выбирать алгоритмы, подбирать гиперпараметры, строить пайплайны | ?Почти не требуется: GPT уже обучена, задача сводится к корректному запросу |
| Интерпретация результатов | ?Важно анализировать влияние признаков и делать выводы | ?Ограничено: модель выдает результат, «почему» остается скрытым |
| Статистический и математический бэкграунд | ?Важно для построения корректных моделей и оценки точности | ?Не требуется, достаточно понимания контекста и семантики текста |
| Творческое мышление и формулировка задач | ?Нужно для генерации гипотез на основе данных | ?Ключевой навык: промпт-инжиниринг напрямую влияет на качество результата |
| Обработка больших объемов данных | ?Эффективно: таблицы, временные ряды, десятки тысяч строк | ?Ограничено токенами; большие датасеты нужно делить или агрегировать |
| Автоматизация процессов | ?Требует настройки пайплайнов, скриптов и регулярных запусков | ?Ограничено API и токенами, но быстро внедримо для текстовых задач |
Заключение
Мир SEO постепенно меняется: классическое машинное обучение остается надежным инструментом для работы с числами, прогнозами и большими таблицами, а GPT и другие большие языковые модели открывают новые возможности в области текста, семантики и генерации гипотез.
Классические ML-алгоритмы особенно полезны, когда нужна:
GPT / LLM-подходы сильны там, где важны:
При этом использование GPT требует умения правильно формулировать запросы(промпт-инжиниринг), что становится ключевым навыком SEO-специалиста при работе с LLM. Классическое ML, в свою очередь, требует более глубоких технических и аналитических навыков: работа с данными, настройка моделей, интерпретация результатов – это «hard skill», который сложно заменить простым использованием GPT.
Идеальный современный подход к SEO – это комбинация методов: использовать GPT для генерации гипотез, анализа контента и текстовой семантики, а классические ML-модели – для прогнозов, анализа метрик и автоматизации больших таблиц. Такой гибрид позволяет получать лучшие результаты, экономить время и строить SEO-стратегию, основанную как на данных, так и на семантической ценности контента.
Экспертное Summary
Краткое саммари статьи: статья рассматривает различия между классическими ML-алгоритмами и современными LLM(GPT)в контексте SEO. Классическое ML остается незаменимым для анализа численных данных, прогнозов и интерпретируемости, в то время как GPT превосходит в работе с текстом, семантикой, генерацией гипотез и контента. Оптимальный подход для SEO-специалиста – комбинировать оба инструмента в зависимости от задачи.
Термины и расшифровки
Общие термины ML/AI
SEO / Digital Marketing термины
Ключевые практические выводы для SEO-специалистов
Вывод: современный SEO-специалист выигрывает, сочетая техническую строгость ML с семантической гибкостью GPT, что позволяет оптимизировать и масштабировать процессы анализа, прогнозирования и контентной генерации.
Статьи
Комментариев 0