Вопрос или проблема
Моего друга спросили этот вопрос на собеседовании на позицию аналитика, и я не могу добиться ответа, поэтому я хотел бы увидеть, как можно решить эту задачу в области науки о данных. Вот проблема:
Предположим, что ключевое слово “Супермен” имеет объем поиска 250 тысяч в месяц. Другие связанные поисковые запросы могут быть “Логотип Супермена” (55 тысяч), “Бэтмен против Супермена” (60 тысяч), “Супермен возвращается” (50 тысяч) и т. д., с помощью которых пользователи ищут определённую тему в Google в стране (например, США).
Однако может быть тысячи ключевых слов со словом “Супермен”, и у нас не всегда есть точные данные для многих из этих ключевых слов с низким объемом (менее 1000). Чтобы определить объем этих тем, мы используем предсказания на основе данных, которые у нас уже есть для ключевых слов с высоким объемом. Например, мы можем сказать, что запрос “Будущий Супермен” не будет часто искаться многими людьми, и его объем может быть средним (близким к 300).
Аналогично, такие термины, как “Изображение Супермена” и “Куртка Супермена”, будут иметь средний объем, а термины, которые люди редко ищут, будут иметь низкий объем, как “Рубашка Супермена с длинным рукавом” (100), а затем есть термины, такие как “дешевая рубашка Супермена” или “Супермен колледж”, которые будут иметь очень низкий объем. Можете ли вы придумать подход, как вы можете классифицировать ключевые слова на “Средний”, “Низкий” и “Очень Низкий”, используя какую-то логику, когда мы знаем только ключевые слова с высоким объемом?
Ваш ответ должен быть описательным и обоснованным. (Подсказка – ваш подход может заключаться в классификации определённых слов, которые, если они присутствуют, сделают ключевое слово “низким” объемом или “очень низким” объемом. Или ваш подход может основываться на количестве слов в ключевом слове, написании, где именно термин появляется в фразе и другой общей человеческой психологии, которая работает во время поиска).
Это выглядит так, как будто его можно было бы сформулировать как порядковую регрессию или ранжирование, используя дисконтированное накопление выигрыша.
-
Порядковая регрессия полезна, когда вы пытаетесь классифицировать классы, которые имеют некоторый внутренний порядок, например “Средний”, “Низкий” и “Очень Низкий”. Она широко используется в психологии и маркетинге и является подходящей процедурой моделирования для этой конкретной проблемы. Реализация довольно сложна, но в двух словах её можно понять как перекрывающиеся распределения, которые можно трактовать как вероятности их принадлежности к указанному классу. В R есть пакет для порядковой регрессии.
-
Другой подход – ранжирование, большинство пакетов машинного обучения включают это в форме дисконтированного накопления выигрыша, который является мерой качества ранга, и часто используется для измерения эффективности алгоритмов веб-поисковых систем или связанных приложений. В xgboost это представлено как rank:ndcg.
-
Наивный подход, но который тоже может быть точным – это простая много-классовая классификация. Информация о порядке не будет включена в алгоритм, но, удивительно, его результаты похожи в таких проблемах, потому что алгоритмы, которые стоят за этим, такие как нейронные сети, сейчас довольно мощные, особенно когда у вас есть большой набор данных.
Ответ или решение
Предсказание объема поисковых запросов, основываясь только на высокочастотных ключевых словах, представляет собой интересную задачу в области анализа данных. Этот вопрос можно рассмотреть через различные аналитические подходы, что позволит более точно классифицировать ключевые слова на "Средний", "Низкий" и "Очень низкий" объемы.
1. Правила классификации ключевых слов
Первый подход к решению этой задачи заключается в разработке правил классификации на основе анализа существующих высокочастотных ключевых слов. Мы можем выделить несколько критериев, помогающих в прогнозировании объема для ключевых слов с низким объемом:
-
Длина ключевого слова: Ключевые слова с большим числом слов (например, 4 и более) часто имеют более низкий объем по сравнению с короткими фразами. Например, "Дешевый свитер Супермена" может иметь низкий объем, в то время как "Супермен" или "Логотип Супермена" больше востребованы.
-
Контекстуальные слова: Определенные слова, такие как "дешевый", "как сделать" и другие поисковые запросы, которые указывают на более узкий интерес, могут сигнализировать о более низком объеме. Например, "Супермен и его изображение" может сигнализировать о меньшем интересе по сравнению с "Супермен" или "Супермен фильмы".
-
Наличие уникальных терминов: Уникальные или редкие слова могут также уменьшать объем запроса. Например, "Супермен кроссовки" может иметь меньший объем поиска, чем просто "Супермен".
2. Применение машинного обучения
Для более точного предсказания можно использовать методы машинного обучения.
-
Модели Ordinal Regression: Этот подход позволяет учитывать порядковые значения объема. Модели могут предсказывать вероятность принадлежности к определенному классу ("Средний", "Низкий", "Очень низкий") на основе существующих данных о высокочастотных ключевых словах. Использование пакетов в R или Python (например, scikit-learn) позволяет реализовать такие модели относительно просто.
-
Ранжирование с помощью Discounted Cumulative Gain (DCG): Этот подход направлен на оценку качества ранжирования поисковых запросов. Модели, основанные на алгоритмах градиентного бустинга, как XGBoost, могут быть использованы для предсказания рангов запросов, что также является эффективным методом.
3. Оценка и Анализ
При классификации и предсказании объемов запросов важно провести тщательную оценку и проверку моделей:
-
Кросс-валидация: Рекомендуется разделить данные на обучающие и тестовые наборы, чтобы оценить точность моделей на невидимых данных.
-
Метрические показатели: Важно использовать точные метрики, такие как F1-метрика, точность и полнота, для оценки производительности модели и её способности к классификации ключевых слов на различные категории.
Заключение
Таким образом, предсказание объема поискового запроса на основе высокочастотных ключевых слов может быть решено через разработку правил классификации, применение методов машинного обучения и тщательную оценку результатов. Применение подхода на основе анализа поведения пользователей также может улучшить предсказания. Важно помнить, что классификация неягких данных — это комплексная задача, требующая многофакторного подхода и постоянной оптимизации.