ГлавнаяИнструментыСайт, SEO и рекламаSEO и семантикаУдаление неявных дублей и лемматизация фраз

Удаление неявных дублей и лемматизация фраз

Убирает неявные дубли — фразы одного смысла с разным порядком слов и словоформами: «доставка цветов москва» и «цветы доставка москва», «купить диван» и «диваны купить». Посимвольный дедуп такие пары не схлопывает, потому что как строки они разные.

Фразы

0 строк

Результат

0 строк
Скопировано ✓ Удалено дублей:0

Что такое неявные дубли и откуда они берутся

Точный дубль — это две одинаковые строки. Неявный — две строки, которые различаются написанием, но означают одно и то же. В семантике они появляются сами собой: выгрузки из Вордстата, подсказок и Key Collector собираются в разное время и разными людьми, каждый источник отдаёт свою формулировку.

Пара фразЧто различаетсяТочный дедупДедуп со стеммингом
купить диван · диван купитьпорядок словоставит обесхлопнет
доставка цветов · доставка цветыпадежоставит обесхлопнет
угловой шкаф · угловые шкафычисло и родоставит обесхлопнет
окна пвх москва · пвх окна в москвепорядок и предлогоставит обесхлопнет
купить диван · куплю диванформа глаголаоставит обесхлопнет не всегда

Последняя строка — граница метода. Стемминг режет окончания и не знает, что «куплю» и «купить» — один глагол; словарная лемматизация такие пары ловит, браузерный инструмент без словаря — через раз. Для чистки ядра от падежных дублей и перестановок этого хватает, для глагольных форм остаётся ручной просмотр.

Где неявный дедуп навредит

Порядок слов меняет смысл чаще, чем кажется. «Билеты Москва Сочи» и «Билеты Сочи Москва» — разные направления, «перевод с английского на русский» и «перевод с русского на английский» — разные услуги, «обмен рублей на юани» и «обмен юаней на рубли» — разные окошки в банке. Для таких фраз состав слов совпадает, и дедуп по составу схлопнет их в одну. Если в ядре есть маршруты, пары языков, направления обмена или «из / в» — отключайте «без учёта порядка слов» и чистите такие группы отдельно.

Порядок чистки ядра

1
Свести выгрузки в один список

Вордстат, подсказки, Key Collector, отчёт по запросам из Вебмастера и Search Console.

2
Убрать точные дубли

Посимвольное совпадение снимает основной объём повторов — это удаление дубликатов строк.

3
Схлопнуть неявные дубли

Инструмент выше: приводит слова к основе и сравнивает фразы по составу.

4
Просмотреть спорные группы глазами

Маршруты, направления и глагольные формы — там, где смысл зависит от порядка слов.

5
Разложить по группам

Дальше в дело идёт кластеризация запросов, а весь путь целиком разобран в статье как собрать семантическое ядро.

Что делает стемминг и где он слеп

Инструмент опускает регистр, убирает знаки препинания и режет каждое слово по алгоритму Портера для русского языка: с конца слова по правилам снимаются окончания и суффиксы, пока не останется основа. «Доставка», «доставки» и «доставке» становятся «доставк», «цветов» и «цветы» — «цвет». Затем фразы сравниваются как наборы основ; с включённой опцией порядок слов не важен, без неё — важен.

Стемминг работает без словаря, поэтому быстр и умещается в браузер, но у него есть слепые зоны. Чередования в корне он не знает: «друг» и «друзья» останутся разными. Супплетивные формы вроде «человек» и «люди», «хорошо» и «лучше» не сходятся никогда. Короткие слова он почти не трогает, поэтому «дом» и «дома» могут остаться отдельно.

Полная лемматизация делает иначе: ищет слово в словаре и возвращает начальную форму. Так работают mystem и pymorphy, и так работает поиск: для Яндекса «куплю диван» и «диван цена» — запросы про диван в любой форме. Для чистки ядра от падежных дублей и перестановок стемминга хватает; глагольные пары остаются на ручной просмотр.

Обложка словаря Ожегова
Словарь знает начальную форму каждого слова; стемминг обходится правилами без словаря. Фото: Victor Korniyenko, CC BY-SA 3.0.
Пара фразСтеммингСловарная лемматизация
доставка цветов · доставке цветысхлопнетсхлопнет
угловые шкафы · шкаф угловойсхлопнет без учёта порядкасхлопнет
друг · друзьяоставит обесхлопнет
хорошо · лучшеоставит обесхлопнет

От словаря Зализняка до алгоритма Портера

Алгоритм стемминга Мартин Портер описал в 1980 году для английского языка, а в 2001-м выпустил язык Snowball, на котором стеммеры пишут для десятков языков, включая русский. Русская версия снимает окончания по группам: сначала возвратные частицы, потом прилагательные, глагольные и существительные, потом суффиксы и мягкий знак. Именно она работает в браузере на этой странице.

Словарный подход в русском языке держится на «Грамматическом словаре» Андрея Зализняка 1977 года: около ста тысяч слов с индексом, по которому строятся все формы. На его основе Яндекс в конце девяностых сделал mystem, а Михаил Коробов в 2010-х — открытую библиотеку pymorphy, и оба умеют вернуть «людям» в «человек». Морфология была в Яндексе с первого дня: поиск 1997 года уже понимал словоформы, чем и отличался от западных систем.

В семантике задача дублей появилась, когда ядра стали собирать из нескольких источников: каждый отдавал свою формулировку одного запроса. Точный дедуп снимал повторы, а перестановки и падежи оставались, пока в обиход не вошли инструменты нормализации — сначала в настольных программах, потом в браузере.

Джордж Ципф
Закон Ципфа: несколько частых слов покрывают большую часть текста, и у них больше всего форм. Фото: Чугайстыр, CC BY-SA 4.0.
Андрей Зализняк на лекции, 2004 год
Грамматический словарь Зализняка 1977 года лежит в основе всех русских лемматизаторов. Фото: Al Silonov, CC BY-SA 3.0.

Порядок чистки и когда порядок слов важен

Порядок чистки ядра неизменен: сначала точные повторы в удалении дубликатов, потом неявные здесь, потом группировка в кластеризации. Если поменять шаги местами, частоты посчитаются дважды, а группы получат по три копии одной фразы.

Опцию «без учёта порядка» включайте по умолчанию и выключайте для ядра с направлениями: маршруты, пары языков, обмен валют, «из» и «в». Там порядок слов и есть смысл. Из каждой схлопнутой группы инструмент оставляет первую фразу, поэтому отсортируйте список по частоте заранее: в ядре останется самая ходовая формулировка.

Числа, артикулы и бренды стемминг не трогает, и это правильно: «айфон 15» и «айфон 16» дублями не считаются. Латиницу и кириллицу в одном слове он тоже видит как разные слова, так что «iphone» и «айфон» остаются двумя запросами, как и в поиске. Готовые группы после чистки удобно превращать в минус-слова для рекламы в генераторе минус-слов.

Методстемминг Портера
Словарьне нужен
Порядок словопция
Не сходятсячередования, супплетивы
Расчётв браузере
Стеммер Портера1980
Словарь Зализняка1977
Snowball2001

Как пользоваться

Инструмент приводит слова к основе (стемминг по алгоритму Портера для русского) и сравнивает фразы по составу слов. Считается в браузере.

  1. Скопируйте ключевые фразы в левое поле — по одной на строку.
  2. «Нормализовать» — покажет каждую фразу в виде основ слов. «Умный дедуп» — оставит только уникальные по смыслу фразы, схлопнув словоформы и (по желанию) порядок слов.
  3. Справа — обработанный список и счётчик удалённых дублей. Скопируйте кнопкой.

Частые вопросы

Это настоящая лемматизация?

Строго говоря — стемминг: слова приводятся к основе по алгоритму Портера (Snowball) для русского, без словаря. Он отбрасывает окончания, поэтому формы по падежам, родам и числам — «доставка», «доставки», «доставке», «цветов», «цветы» — сходятся к одной основе. Полную словарную лемматизацию (которая знает, что «лучше» — форма «хороший», а «куплю» и «купить» — один глагол) браузерный инструмент без словаря не делает: редкие чередования и глагольные формы он схлопывает не всегда. Для чистки семантики от падежных дублей этого достаточно.

Чем умный дедуп лучше обычного?

Обычное удаление дублей убирает только полностью совпадающие строки. Умный дедуп сравнивает фразы по основам слов: «доставка цветов» и «доставка цветок» он считает одинаковыми, а с опцией «без учёта порядка» — ещё и «цветы доставка». Так из ядра уходят скрытые повторы.

Что делает опция «без учёта порядка слов»?

В режиме дедупа она считает дублями фразы из одних и тех же слов в любом порядке: «купить телефон» и «телефон купить» схлопнутся в одну. Без неё порядок важен. На нормализацию опция не влияет.

Чем неявные дубли отличаются от точных?

Точные дубли совпадают символ в символ — их убирает обычная дедупликация списка. Неявные различаются написанием при одном смысле: порядок слов («купить диван» и «диван купить»), падеж и число («доставка цветов» и «доставка цветы»), предлоги («окна пвх москва» и «пвх окна в москве»). Для поисковой системы это один запрос, для текстового сравнения — разные строки, поэтому чистить их нужно отдельным проходом.

Как убрать неявные дубли из семантического ядра?

Сначала снимите точные дубли, потом прогоните список здесь в режиме «Умный дедуп» с включённой опцией «без учёта порядка слов»: фразы приводятся к основе и сравниваются по составу слов. Дальше просмотрите спорные группы глазами — там, где порядок слов меняет смысл. Дубли лучше снимать до кластеризации и до съёма частот, иначе одна и та же фраза попадёт в отчёт дважды.

Может ли инструмент схлопнуть фразы с разным смыслом?

Да, и это главная осторожность при работе с неявными дублями. «Билеты Москва Сочи» и «Билеты Сочи Москва» состоят из одних слов, но означают разные направления; то же с парами языков в переводе и направлениями обмена валют. Если такие фразы есть в ядре, снимите галочку «без учёта порядка слов» — тогда сравнение пойдёт по словоформам, но с сохранением порядка.

Где этому учат

Похожие инструменты

Удаление дубликатов

Убирает повторы из списка, оставляя только уникальные строки. Без учёта регистра, с подсчётом повторов и сортировкой.

Открыть
Кластеризация запросов

Группирует семантическое ядро по общим словам с учётом морфологии: один кластер ≈ одна посадочная. Быстрый черновик структуры сайта.

Открыть
Генератор минус-слов

Разбирает фразы на уникальные слова с частотой и собирает минус-слова для Яндекс.Директа и Google Ads. Целевые слова исключаются.

Открыть
Стоимость SEO для вашего проекта

Ориентир по бюджету и срокам под ваш тип бизнеса, размер сайта, конкуренцию и регион. Формула на 11 годах работы — за 2 минуты.

Открыть
Punycode конвертер

Кириллический домен в запись xn-- и обратно. Полные адреса и списки, проверка предела в 63 знака на метку.

Открыть
Микроразметка Schema.org

Генератор JSON-LD: Organization, LocalBusiness, Article, FAQ, хлебные крошки, Product. Готовый код для расширенных сниппетов и ИИ-выдач.

Открыть

Как применять это в продвижении — в разборе Семантическое ядро и других материалах блога.

Ещё инструменты для SEO и семантики

Кластеризация запросов и лемматизация, чистка по стоп-словам, генераторы sitemap.xml, robots.txt и редиректов, разметка Schema.org — в разделе 17 инструментов.