Открыть сервис

Стоп-слова

Стоп-слова (от англ. stop words) — это класс слов естественного языка, которые исключаются из обработки при автоматическом анализе текста, поиске информации или построении моделей машинного обучения. К стоп-словам обычно относят наиболее частотные, но не несущие значимой смысловой нагрузки лексические единицы: предлоги, союзы, частицы, местоимения, артикли (в языках, где они есть), а также некоторые общеупотребительные глаголы и существительные. Удаление стоп-слов позволяет сократить объём обрабатываемых данных, повысить скорость поиска и точность выделения ключевых понятий.

История возникновения понятия

Термин «стоп-слова» возник в контексте развития информационно-поисковых систем (ИПС) в середине XX века. Первые коммерческие и научные системы полнотекстового поиска, такие как система SMART (Джерард Солтон, 1960-е годы), столкнулись с проблемой: наиболее частотные слова (например, «the», «a», «in» в английском языке) занимали значительную часть индекса, но не помогали пользователю находить релевантные документы. Включение таких слов в поисковый запрос часто приводило к выдаче огромного количества нерелевантных результатов.

В 1960-х годах Ганс Петер Люн, один из пионеров компьютерной лингвистики, предложил концепцию «шумовых слов» (noise words), которые следует исключать из индексации. Эта идея была реализована в системе SMART, где для английского языка был составлен первый список стоп-слов, включавший около 400 единиц. Впоследствии, с развитием интернета и поисковых машин (Google, Яндекс, Bing), использование стоп-слов стало стандартной практикой, хотя подходы к их составлению и применению различаются в зависимости от языка и задачи.

Классификация стоп-слов

Стоп-слова можно разделить на несколько категорий по их лингвистической природе и функциональному назначению.

По частям речи

  • Служебные части речи: предлоги (в, на, под, для), союзы (и, или, но, что), частицы (не, бы, же, ли), артикли (the, a, an в английском; le, la, les во французском).
  • Местоимения: личные (я, ты, он, она), притяжательные (мой, твой, его), указательные (этот, тот, такой).
  • Наиболее частотные глаголы: быть, иметь, делать, сказать, мочь (в английском — be, have, do, say, can).
  • Числительные и количественные слова: один, два, много, несколько (в некоторых списках).
  • Вспомогательные и модальные глаголы: будет, стал, может, должен.

По типу применения

  • Универсальные списки: включают наиболее частотные слова языка, которые почти всегда исключаются (например, список из 100–200 слов для английского или русского языка).
  • Предметно-ориентированные списки: составляются для конкретной области (например, в медицинских текстах слово «пациент» может быть стоп-словом, а в юридических — нет).
  • Персональные списки: настраиваются пользователем или разработчиком под конкретную задачу (например, для анализа отзывов о товаре можно исключить слово «товар»).

Применение стоп-слов

В информационном поиске

В поисковых системах стоп-слова используются для уменьшения размера инвертированного индекса и ускорения обработки запросов. Например, при поиске фразы «книга на столе» слова «на» может быть исключено из индексации, а поиск будет вестись по словам «книга» и «столе». Однако современные поисковые системы (Google, Яндекс) часто отходят от жёсткого исключения стоп-слов, особенно в запросах, где они могут быть значимыми (например, поиск по фразе «to be or not to be»).

В обработке естественного языка (NLP)

В задачах NLP (токенизация, классификация текстов, анализ тональности, тематическое моделирование) стоп-слова удаляются на этапе предобработки данных. Это позволяет:

  • Уменьшить размерность признакового пространства (количество уникальных слов в корпусе).
  • Снизить влияние шума на модели машинного обучения (например, в методе «мешок слов» (Bag of Words) или TF-IDF).
  • Повысить точность выделения ключевых слов и фраз (например, в алгоритмах извлечения ключевых слов, таких как RAKE или TextRank).

В SEO и веб-аналитике

При оптимизации сайтов для поисковых систем (SEO) стоп-слова учитываются при составлении семантического ядра. В URL-адресах и мета-тегах их стараются избегать, так как они не несут ценности для ранжирования. Однако в некоторых случаях (например, в названиях компаний или брендов) стоп-слова могут быть частью ключевого запроса.

Критика и ограничения

Использование стоп-слов имеет ряд недостатков и подвергается критике со стороны специалистов по NLP.

Потеря смысла

В некоторых контекстах стоп-слова могут быть значимыми. Например, в русском языке частица «не» кардинально меняет смысл высказывания («хороший» vs «не хороший»). В английском языке предлоги могут быть частью фразовых глаголов (give up, look for), и их удаление искажает лексическое значение.

Языковая и культурная зависимость

Списки стоп-слов сильно различаются для разных языков. Для русского языка характерны длинные списки из-за развитой системы предлогов и союзов (например, «в», «на», «с», «у», «по», «за», «из», «от», «к», «до», «о», «об»). Для языков с бедной морфологией, таких как китайский, стоп-слова могут быть менее актуальны.

Динамика языка

Стоп-слова могут меняться со временем. Например, слово «лайк» (от англ. like) в современном интернет-дискурсе может быть ключевым, а не стоп-словом. Статичные списки устаревают и требуют регулярного обновления.

Альтернативные подходы

В современных NLP-моделях (BERT, GPT, трансформеры) стоп-слова не удаляются, так как модели обучаются на полных текстах и сами учатся игнорировать нерелевантные токены. Кроме того, использование частотных фильтров (например, отбрасывание слов, встречающихся в более чем 80% документов) считается более гибким методом, чем жёсткое применение фиксированного списка.

Примеры списков стоп-слов

Для русского языка (типичный список из 50–100 слов)

  • Предлоги: без, в, до, для, за, из, к, на, над, о, об, от, по, под, при, про, с, у, через.
  • Союзы: и, или, а, но, да, что, чтобы, если, когда, хотя, так как, потому что.
  • Частицы: не, ни, бы, же, ли, ведь, вот, вон, только.
  • Местоимения: я, ты, он, она, оно, мы, вы, они, мой, твой, его, её, наш, ваш, их, этот, тот, такой, сам, весь, каждый, какой, который, чей, кто, что.
  • Глаголы-связки: быть, есть, являться, стать, становиться, иметь, мочь, хотеть, делать, сказать, говорить, знать, видеть, думать.
  • Числительные и наречия: один, два, три, много, мало, несколько, очень, тоже, также, ещё, уже, теперь, здесь, там, тут, куда, где, откуда, почему, зачем, как, так, тогда, всегда, никогда.

Для английского языка (классический список из 179 слов, предложенный в системе SMART)

  • Артикли: a, an, the.
  • Предлоги: about, above, across, after, against, along, among, around, at, before, behind, below, beneath, beside, between, beyond, by, down, during, except, for, from, in, inside, into, near, of, off, on, out, outside, over, through, to, toward, under, up, upon, with, within, without.
  • Союзы: and, but, or, nor, yet, so, because, although, while, since, until, unless, as, if, than, that, whether, which, who, whom, whose, what, where, when, why, how.
  • Местоимения и притяжательные: I, you, he, she, it, we, they, me, him, her, us, them, my, your, his, its, our, their, mine, yours, hers, ours, theirs, myself, yourself, himself, herself, itself, ourselves, yourselves, themselves, this, that, these, those, some, any, no, every, each, all, both, few, many, much, more, most, other, another, such, own, same, different.
  • Глаголы-связки: be, am, is, are, was, were, been, being, have, has, had, having, do, does, did, doing, will, would, shall, should, can, could, may, might, must, need, dare, ought, used, get, make, take, give, come, go, see, know, think, want, say, tell, ask, find, feel, seem, become, look, show, try, leave, call, keep, put, set, run, move, stand, hold, turn, bring, start, stop, end, begin, continue, change, happen, appear, exist, live, die, work, play, read, write, speak, listen, hear, watch, follow, help, love, hate, like, wish, hope, expect, believe, suppose, consider, remember, forget, understand, learn, teach, study, plan, decide, choose, need, want, allow, permit, forbid, prevent, protect, save, keep, lose, win, fight, win, lose, fail, succeed, try, attempt, manage, achieve, accomplish, complete, finish, start, begin, continue, stop, end, pause, resume, proceed, advance, retreat, enter, exit, leave, arrive, depart, return, come, go, move, stay, remain, sit, stand, lie, rise, fall, grow, shrink, increase, decrease, expand, contract, open, close, shut, lock, unlock, tie, untie, bind, unbind, fasten, unfasten, attach, detach, connect, disconnect, join, separate, unite, divide, split, combine, mix, blend, stir, shake, beat, hit, strike, knock, tap, push, pull, drag, lift, lower, raise, drop, throw, catch, hold, grab, seize, release, free, trap, catch, escape, avoid, flee, chase, follow, lead, guide, direct, steer, control, manage, operate, run, drive, ride, fly, sail, row, paddle, swim, dive, jump, leap, hop, skip, crawl, climb, slide, slip, fall, trip, stumble, crash, collide, bump, hit, strike, knock, tap, push, pull, drag, lift, lower, raise, drop, throw, catch, hold, grab, seize, release, free, trap, catch, escape, avoid, flee, chase, follow, lead, guide, direct, steer, control, manage, operate, run, drive, ride, fly, sail, row, paddle, swim, dive, jump, leap, hop, skip, crawl, climb, slide, slip, fall, trip, stumble, crash, collide, bump.

Интересные факты

  • В некоторых языках, например в японском, стоп-слова включают не только лексические единицы, но и грамматические частицы (например, «は» (wa), «が» (ga), «を» (wo)), которые не имеют аналогов в русском или английском.
  • Размер списка стоп-слов варьируется: от 10–20 слов для узкоспециализированных задач до нескольких тысяч для универсальных корпусов. В проекте Apache Lucene (библиотека полнотекстового поиска) для английского языка используется список из 33 слов.
  • В 2010-х годах Google отказался от жёсткого исключения стоп-слов в своих алгоритмах, перейдя к более гибкому подходу, учитывающему контекст запроса. Например, запрос «the who» (название рок-группы) обрабатывается корректно, несмотря на наличие стоп-слова «the».
  • В русскоязычном сегменте интернета популярен список стоп-слов из библиотеки NLTK (Natural Language Toolkit), который включает около 100 слов, адаптированных под русский язык.

Источники

  • Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press.
  • Salton, G., & McGill, M. J. (1983). Introduction to Modern Information Retrieval. McGraw-Hill.
  • Jurafsky, D., & Martin, J. H. (2023). Speech and Language Processing (3rd ed. draft). Stanford University.
  • NLTK (Natural Language Toolkit) — документация по стоп-словам для русского языка.
  • Apache Lucene — документация по анализу текста и стоп-словам.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →