Эмбеддинги
Также: embeddings, векторные представления
Числовое представление смысла фразы, по которому запросы группируют по близости значения.
Каждый запрос превращается в вектор чисел, кодирующий смысл. Близкие по смыслу фразы оказываются рядом, даже если в них нет общих слов.
На эмбеддингах строят самую точную семантическую кластеризацию — тоньше, чем по совпадению слов.
Как это работает
Специальная модель читает фразу и выдаёт список чисел — вектор. Обычно в нём сотни или тысячи чисел. Каждое число по отдельности ничего не значит, смысл кодирует весь вектор целиком.
Близость двух фраз считают как угол между их векторами — это косинусное сходство. Чем ближе значение к единице, тем ближе смысл.
Модель учится на огромном корпусе текстов и запоминает, какие слова встречаются в похожем окружении. Поэтому «смартфон» и «телефон» у неё оказываются рядом, хотя пишутся по-разному. Пример, как это выглядит на парах запросов:
- «купить ноутбук для работы» и «ноутбук для офиса цена» — высокое сходство, общих слов почти нет.
- «ключ от квартиры» и «ключевые слова для сайта» — низкое сходство, хотя корень общий.
Эмбеддинги в кластеризации
- Каждый запрос ядра превращают в вектор.
- Алгоритм группирует векторы, которые лежат близко друг к другу.
- Каждой группе дают название по самому частотному или самому центральному запросу.
- Человек проверяет спорные группы и переносит отдельные фразы.
Кластеризация по топу, наоборот, сравнивает выдачу: два запроса попадают в одну группу, если у них совпадает несколько URL в топ-10. Попробовать собрать группы можно в инструменте кластеризации запросов.
Чем отличается от кластеризации по топу
- Эмбеддинги видят смысл и работают без съёма выдачи — дешевле и быстрее на больших списках.
- Топ показывает, как запросы группирует сам поисковик. Если он ставит «купить» и «как выбрать» на разные страницы, эмбеддинги могут этого не заметить.
- Для коммерческого сайта часто совмещают: эмбеддинги дают черновые группы, топ проверяет, можно ли продвигать группу одной страницей.
Где ещё пригодятся эмбеддинги
- Поиск дублей. Фразы «доставка пиццы ночью» и «пицца с доставкой круглосуточно» стоят почти в одной точке — значит, одна страница закроет обе.
- Перелинковка. Если сравнить векторы страниц сайта, видно, какие статьи близки по теме и где уместна ссылка.
- Проверка каннибализации. Две страницы с очень близкими векторами, скорее всего, спорят за одни запросы.
- Поиск пробелов. Запросы ядра, рядом с которыми нет ни одной страницы сайта, подсказывают, какой контент ещё не создан.
Во всех случаях эмбеддинги дают подсказку, а не решение. Итог проверяют выдачей и здравым смыслом.
Вопросы
- Эмбеддинги понимают русский язык?
- Современные многоязычные модели работают с русским. Сленг и узкие термины ниши они понимают хуже, поэтому спорные группы стоит проверять глазами.
- Нужно ли чистить ядро до расчёта эмбеддингов?
- Да. Мусорные и нецелевые фразы тоже получат векторы и создадут лишние группы. Сначала чистка ядра, потом кластеризация.
- Почему одни и те же запросы в разных сервисах группируются по-разному?
- Сервисы используют разные модели эмбеддингов и разный порог близости. Чем ниже порог, тем крупнее группы. Результат зависит от настроек, поэтому спорные группы проверяют по выдаче.