Список ВСЕХ стоп-слов Яндекс.Директа

13 Мая 2015

Стоп-слова в Яндекс.Директе — это служебные части речи и местоимения, а также любые слова, не несущие дополнительного смысла, которые автоматически исключаются из запроса пользователя при отборе объявлений для показа. Например, при запросе пользователя “Как и когда купить слона” для показа будут отобраны объявления, у которых в ключевых словах присутствует фраза “Купить слона”. “Как”, “и”, “когда” будут в этом случае являться стоп-словами. Для их принудительного включения во фразу перед ними нужно поставить знак плюс, например «+как +и +когда купить слона».

Мне понадобилось определить какие слова Яндекс.Директ считает стоп-словами. Сначала я задумал использовать для этой задачи список всех предлогов, союзов, междометий и местоимений. Но оказалось, что не все слова этих частей речи используются Директом в качестве стоп-слов. Например, союз «со» и предлог «между» к стоп-словам не относятся. Проверить это просто: если в сервис прогноза бюджета добавить предлог «в» и нажать «Посчитать», то сервис сообщит об ошибке:

А попытка рассчитать бюджет для предлога «между» закончится успехом:

Другой способ определить стоп-слова — с помощью Вордстата. Количество показов по фразам «небо земля» и «небо и земля» одинаковое. Это означает, что союз «и» не учитывается при показе объявлений в Директе:

Фраза «между небом и землей» обладает другим количеством показом, значит наличие предлога «между» во фразе уменьшает количество показов:

Вордстат при расчете количества показов для фразы, состоящей только из стоп-слова, возвращает 0. В этом он отличается от сервиса прогноза бюджета (который, напомню, выдает ошибку).

Но Вордстат возвратит тот же ноль и при запросе любого слова, у которого вообще нет показов:

Так что использовать Вордстат для определения стоп-слов не совсем надежно, поэтому я решил использовать сервис прогноза бюджета, он позволяет массово загружать несколько фраз и уведомляет о том какие именно слова не позволяют рассчитать бюджет:

Итак, я взял свой список предлогов, союзов, междометий и местоимений и начал опрашивать все слова в сервисе прогноза бюджета, но внезапно оказалось, что глагол «есть» — это тоже стоп-слово:

Значит список стоп-слов Яндекса не ограничивается одними лишь служебными словами и местоимениями. После этого открытия мне ничего не оставалось кроме как взять список кириллических униграмм (однословников) с OpenCorpora и прогнать их все в сервисе прогноза бюджета.
Следующим открытием было то, что ограничиваться одними лишь кириллическими словами было ошибкой:

Поэтому в список слов для проверки были добавлены англоязычные униграммы. Найти англоязычный корпус оказалось не так легко, но всё же удалось получить 5000 наиболее популярных англоязычных лемм.

Итоговый список получился таким:

a
about
all
am
an
and
any
are
as
at
be
but
by
can
could
do
for
from
have
i
if
in
is
it
me
my
no
not
of
on
one
or
so
that
the
them
there
they
this
to
was
we
what
which
will
with
would
you
а
будем
будет
будете
будешь
буду
будут
будучи
будь
будьте
бы
был
была
были
было
быть
в
вам
вами
вас
весь
во
вот
все
всё
всего
всей
всем
всём
всеми
всему
всех
всею
всея
всю
вся
вы
да
для
до
его
едим
едят
ее
её
ей
ел
ела
ем
ему
емъ
если
ест
есть
ешь
еще
ещё
ею
же
за
и
из
или
им
ими
имъ
их
к
как
кем
ко
когда
кого
ком
кому
комья
которая
которого
которое
которой
котором
которому
которою
которую
которые
который
которым
которыми
которых
кто
меня
мне
мной
мною
мог
моги
могите
могла
могли
могло
могу
могут
мое
моё
моего
моей
моем
моём
моему
моею
можем
может
можете
можешь
мои
мой
моим
моими
моих
мочь
мою
моя
мы
на
нам
нами
нас
наса
наш
наша
наше
нашего
нашей
нашем
нашему
нашею
наши
нашим
нашими
наших
нашу
не
него
нее
неё
ней
нем
нём
нему
нет
нею
ним
ними
них
но
о
об
один
одна
одни
одним
одними
одних
одно
одного
одной
одном
одному
одною
одну
он
она
оне
они
оно
от
по
при
с
сам
сама
сами
самим
самими
самих
само
самого
самом
самому
саму
свое
своё
своего
своей
своем
своём
своему
своею
свои
свой
своим
своими
своих
свою
своя
себе
себя
собой
собою
та
так
такая
такие
таким
такими
таких
такого
такое
такой
таком
такому
такою
такую
те
тебе
тебя
тем
теми
тех
то
тобой
тобою
того
той
только
том
томах
тому
тот
тою
ту
ты
у
уже
чего
чем
чём
чему
что
чтобы
эта
эти
этим
этими
этих
это
этого
этой
этом
этому
этот
этою
эту
я
мені
наші
нашої
нашій
нашою
нашім
ті
тієї
тією
тії
теє

Список не претендует на полную точность и вполне вероятно, что существуют еще какие-то стоп-слова. Учитывая, что у Яндекса есть турецкий поиск, то должны быть специфичные для этого языка стоп-слова.

Немного интересных и необъяснимых аномалий:

  • В список стоп-слов Яндекс.Директа входит слово «наса» (предполагаю, что это что-то вроде склонения слова «нас»).

Но Вордстат не считает его стоп-словом:

Количество показов для фраз «астронавт скотт келли» и «астронавт наса скотт келли» будет разным:

Но сервис прогноза бюджета не пропускает обе эти фразы и оставляет первую из них:

А рассчитать бюджет по фразе «что такое наса» сервис вообще не даст, так как она полностью состоит из стоп-слов (чтобы посчитать нужно добавлять плюсы перед словами):

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

  • Есть странные стоп-слова: «оне», «емъ», «комья», «томах», «имъ».
    Но судя по разнице в количестве показов это всё стоп-слова только для валидатора сервиса прогноза бюджета:

Скорее всего, это тоже баг Яндекса.

  • Есть некоторые слова, которые в Вордстате имеют количество показов больше 0, но прогноз бюджета Яндекс.Директа говорит о том, что слово является стоп-словом. Например, слово «будете» — это стоп-слово для сервиса прогноза бюджета:

Но не стоп-слово для Вордстата:

Если взять фразы «будете пить колу» и «пить колу», то количество показов у них различается, а значит «будете» всё же учитывается при показе объявлений:

Таких «псевдо-стоп-слов» (которые стоп-словами не являются, но на них ругается валидатор сервиса прогноза бюджета) я обнаружил довольно-таки много:

будете
будучи
едим
едят
ел
ела
ем
емъ
ест
ешь
имъ
комья
наса
оне
сама
сами
самим
самими
самих
само
самого
самом
самому
саму
томах
тою
этою
am
could
me
them
мені
наші
нашої
нашій
нашою
нашім
ті
тієї
тією
тії
теє

Фактически, эти слова учитываются при показе объявлений и стоп-словами не являются. Я включил их в список стоп-слов, так как завязывался на получение данных из API Яндекс.Директа с помощью метода CreateNewForecast. Этот метод не позволяет создать новый расчет если фраза состоит только из стоп-слов, поэтому мне нужно было точно знать список стоп-слов, которые не принимает метод. Использовать ли полный список или список без этих слов-аномалий — это зависит от решаемой задачи.

Источник: datalytics.ru/all/spisok-stop-slov-yandeks-direkta/

Вернуться к списку