![]() |
![]() |
![]() |
|||||
![]() |
Использование различных метрик для кластеризации ключевых запросов |
||||||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2017-09-15 07:29 ![]() Технологии определяют результат. Компания Calltouch давно приняла для себя эту истину.
Наш старший продакт-менеджер Федор Иванов mthmtcn написал материал об использовании различных метрик для кластеризации ключевых запросов. Введение На сегодняшний день инструменты по оптимизации конверсий в контекстной рекламе широко используются как прямыми рекламодателями, так и агентствами. Мы в компании Calltouch уже больше года ведем разработку своего инструмента по оптимизации ставок в контекстной рекламе. Основная цель оптимизаторов – расчет таких ставок для ключевых слов, выставление которых позволило бы достичь тех желаемых ключевых показателей (KPI), которые установлены в качестве цели оптимизации. Классическим примером такой постановки задачи является оптимизация по CPA (Cost Per Action). В данном случае основная цель оптимизатора – получение как можно большего числа конверсий (целевых действий) так, чтобы средняя стоимость этого действия не превосходила установленного целевого ограничения CPA. Также существуют такие стратегии оптимизации, как максимизация ROI (Return of Investment), привлечение максимума конверсий при заданном бюджете рекламных кампаний и т. д.Сегодня на рынке представлено значительное число систем, которые занимаются управлением ставками. Каждый инструмент имеет свои особенности по первичной настройке, функционалу, дополнительным опциям и т. д. В частности, оптимизатор Calltouch специализируется на оптимизации контекстной рекламы в звонящих тематиках (хотя его возможности не ограничены оптимизацией только по звонкам). Системы по оптимизации контекста в целом успешно справляются с теми задачами, которые ставят перед ними рекламодатели. Однако значительного эффекта от оптимизации добиваются в основном те клиенты, которые располагают крупными рекламными бюджетами. Понять эту зависимость достаточно просто. Все оптимизаторы конверсий так или иначе отталкиваются от собранных за некоторый опорный период данных. Чем крупнее бюджет рекламного аккаунта, тем больше статистики, необходимой для расчета оптимальных ставок, удается собрать. Кроме того, размер бюджета на контекст напрямую влияет и на скорость сбора данных, а значит и на скорость, с которой «разгоняются» оптимизаторы. Вышесказанное ярко иллюстрируется справкой Яндекс Директа по автоматической стратегии управления ставками в кампании: Целевые визиты за 28 дней+0,01 х клики за 28 дней ? 40– это порог оптимизации для автоматической стратегии по CPA (для 1 кампании). Стратегия эффективна для кампаний с количеством кликов за неделю более 200 и количеством целевых визитов за неделю более 10.– а это критерий, гарантирующий эффективность оптимизации. Очевидно, что лишь очень небольшое число рекламных кампаний подходит под рассмотренный выше «фильтр». Для рекламодателей с небольшими бюджетами, а также для только что созданных рекламных кампаний запуск такого рода оптимизатора невозможен. Конечно, «сторонние» оптимизаторы не так требовательны к объему трафика (мы в частности установили минимальный порог в 1 целевой визит и 10 кликов среднесуточно на «папку» – пакет оптимизируемых кампаний с едиными KPI и стратегией оптимизации), но и они так или иначе вынуждены существовать в условиях существенного дефицита накопленной статистики. Рассмотрим проблему недостатка данных более подробно. Статистика по ключевым словам Широко известен принцип Парето, который можно сформулировать как: «20% усилий дают 80% результата»:![]() ![]() Поскольку оптимизаторы конверсий принимают решение об оптимальной ставке для каждой ключевой фразы отдельно, то обоснованное решение может быть принято только по примерно 5% фраз. Если рассмотреть эту картину более детально, то все ключевые фразы можно разделить на 3 группы по объему статистики (за некоторый период ее сбора, который иначе называется опорным): ![]() Таким образом, все ключевые фразы фразы можно разделить на 3 основные группы:
Прежде чем приступить к обсуждению различных подходов по вычислению ставок при условиях недостаточного объема данных, необходимо понять, каким образом эти данные преобразуются в оптимальную ставку. Это преобразование можно разделить на 2 основных блока:
Вначале рассмотрим второй блок. Будем считать, что мы спрогнозировали коэффициент конверсии Противоположный случай. Пусть по фразе Если же по фразе было 0 кликов и 0 конверсий, то вычисление Таким образом, «простая» формула вычисления Для того, чтобы выйти из данного положения, могут быть использованы различные методики, например:
Методики 2 и 5 активно используются в нашем инструменте, в ближайшем будущем мы также планируем добавить возможность гибкой настройки опорного периода. О том как это сделать, мы напишем отдельную статью. А в данной работе мы рассмотрим метод «пулинга», который показал наибольшую эффективность и широко используется в системах по оптимизации контекстной рекламы. Методы пулинга Пулинг (англ. Pooling) по сути представляет собой «разумное» наращивание статистики по ключевой фразе за счет заимствования статистики по другим фразам. Для того, чтобы понять принцип классического пулинга, обратимся к структуре рекламного аккаунта (например, Яндекс Директа): ![]() Аккаунт имеет древовидную структуру, где «корнем» являются сам аккаунт, а «листьями» — ключевые фразы. Ключевые фразы определенным образом связаны с объявлениями, показ которых они инициируют. Объявления в свою очередь собираются в группы объявлений, которые в свою очередь объединяются в рамках рекламной кампании. Если нам необходимо спрогнозировать коэффициент конверсии по ключевой фразе, собственной статистики по которой недостаточно, то мы объединяем статистику по ключевой фразе и объявлениям, группе объявлений, которой данная фраза принадлежит, кампании, которой принадлежит данная группа объявлений и так далее до тех пор, пока набранной таким образом статистики не окажется достаточно для принятия решения о значении прогнозируемого параметра. Графически это эквивалентно «движению вниз» по дереву от «листьев» до «корня»: ![]() Простейшая формула пулинга имеет вид: Приведем пример. Пусть по фразе Очевидно, что чем больше величина дисперсии, тем меньше Кроме того, иерархический пулинг учитывает только статистику по фразам, оставляя в стороне ее структуру. В связи со всем вышесказанным, командой Calltouch был разработан другой подход к прогнозированию коэффициента конверсии. Основные идеи нашего подхода Основной идеей нашего подхода является отказ от иерархической структуры при пулинге. Вместо этого вводится специальная метрикаДля заданной ключевой фразы ![]() Теперь рассмотрим структуру кластеров более детально: ![]() На левом рисунке выбраны ключевые фразы с малой дисперсией коэффициента конверсии, в то время как на правом – с большой. Видно, что в случае большой дисперсии алгоритм сходится медленнее (требуется несколько раз увеличивать порог Метрики схожести Существует множество различных метрик, позволяющих вычислить сходство двух текстов (ключевых фраз в нашем случае). Каждая из этих метрик обладает как своими достоинствами, так и недостатками, которые сужают область их возможного применения. В исследовании, проведенном нашей командой, были рассмотрены следующие виды расстояний:
Рассмотрим каждую из метрик более детально. Расстояние Левенштейна Расстояние Левенштейна определяется как минимальное количество операций вставки одного символа, удаления одного символа и замены одного символа на другой, необходимых для превращения одной строки в другую. Обозначим это расстояние между строкамиПриведем несколько примеров. Пусть Если Основными преимуществами расстояния Левенштейна являются его слабая зависимость от форм слова в тексте а также простота реализации, а к основному недостатку следует отнести зависимость от порядка слов. N-граммное расстояние Основная идея, лежащая в основе вычисления N-граммного расстояния – это разбиение строк на подстроки длины N и подсчет количества совпадающих подстрок.Например, если N=2 (разбиение на биграммы) и Если N=3 (разбиение на триграммы), то для тех же Само N-граммное расстояние В нашем случае: Основным преимуществом такого подхода к вычислению схожести ключевых фраз является то, что он слабо зависит от форм слов в тексте. Главным недостатком является зависимость от свободного параметра N, выбор которого может оказать сильное влияние на дисперсию внутри кластера. Косинусное расстояние Основная идея, на которой базируется расчет косинусного расстояния, заключается в том, что строку из символов можно преобразовать в числовой вектор. Если проделать эту процедуру с двумя сравниваемыми строками, то меру их сходства можно оценить через косинус между двумя числовыми векторами. Из курса школьной математики известно, что если угол между векторами равен 0 ( то есть векторы полностью совпадают), то косинус равен 1. И наоборот: если угол между векторами равен 90 градусов ( векторы ортогональны – то есть полностью не совпадают), то косинус между ними равен 0.Прежде чем вводить формальное определение косинусного расстояния требуется определить способ отображения строки в числовой вектор. В качестве такого отображения мы использовали преобразование текстовой строки в вектор индикаторов. Рассмотрим пример. Пусть Составим таблицу: ![]() В первой строке таблицы указаны все различные слова, которые встречаются в текстах Легко заметить, что все слова в двух на первый взгляд очень похожих текстах употребляются в разной форме. Если вычислить косинусное расстояние между такими строками, то получим Исправить ситуацию позволяет предварительная предобработка текста (лемматизация). Приведем краткую справку из Википедии. Лемматизация (нормализация) – это процесс приведения словоформы к лемме — её нормальной (словарной) форме. В нашем случае из Результаты Мы с командой по разработке оптимизатора провели тестирование рассмотренных выше метрик на статистике, собранной в рекламных аккаунтах наших клиентов. Рассматривались различные тематики, такие как: недвижимость, автомобили, медицина и т. д. Поскольку база сервиса Calltouch содержит данные о более чем 10000 клиентов, мы располагали более чем достаточным объемом данных для проведения достоверных тестов с метриками. В таблице приведены усредненные показатели дисперсии, вычисленной при кластеризации ключевых фраз с использованием различных метрик.![]() В качестве ядра кластеризации выбирались такие ключевые фразы, по которым за последние 28 дней была хотя бы одна конверсия и количество кликов Из приведенной таблицы видно, что классический метод пулинга обладает наибольшей дисперсией (а значит его использование приводит к наименее точному прогнозу Заключение В данной статье рассмотрен новый подход к кластеризации ключевых фраз, основанный на текстовом сходстве. Показано, что данный метод существенно уменьшает внутрикластерную дисперсию коэффициента конверсии, что значительно улучшает точность прогнозирования конверсии по ключевой фразе. Описанные в статье методы могут быть использованы для оптимизации даже тех фраз, собственной статистики по которым недостаточно для принятия решения об оптимальной ставке. Приведенные методы расчета коэффициента конверсии являются элементами оптимизатора конверсий Calltouch, который на практике показывает высокую эффективность как на крупных проектах, так и на аккаунтах со сравнительно небольшим рекламным бюджетом.Источник: habrahabr.ru ![]() Комментарии: |
||||||