Что такое стоп-слова в тексте
Коротко
Стоп-слова — это слова, которые заранее решено не учитывать: при обработке текста программой, при поиске по документам или при редактуре. Их убирают, потому что они часто встречаются, но не помогают отличить один текст от другого и не добавляют смысла.
Два разных списка под одним названием
В обработке текста стоп-словами называют служебные слова языка: предлоги, союзы, частицы, местоимения, формы глагола «быть». В английском это the, a, is, в русском — «и», «в», «на», «не». Такие слова есть почти в каждом предложении, поэтому по ним нельзя понять, о чём текст: «погода в Москве» и «погода в Казани» отличаются одним словом, а предлог «в» в обоих стоит на одном месте.
В редактуре у стоп-слов другое значение. Это слова, которые предсказуемо удаляются из текста без потери смысла: «основной», «полезный», «качественный», «индивидуальный подход». Их не убирает программа — их вычёркивает автор или редактор, потому что после удаления текст становится яснее и короче.
Оба списка решают одну задачу: убрать то, что не несёт информации. Только в первом случае информацию определяет машина по частоте и грамматике, а во втором — человек по смыслу.
Зачем стоп-слова убирают при обработке текста
Текст перед анализом разбивают на отдельные единицы — токены, чаще всего слова. Это первый шаг любой компьютерной обработки: частотного анализа, классификации, анализа тональности. Стоп-слова удаляют сразу после разбиения, чтобы дальше считались только значимые слова.
Причин две. Первая — точность: если считать все слова подряд, служебные перевесят содержательные, и два текста на разные темы покажутся похожими. Вторая — стоимость: чем меньше слов в индексе, тем меньше вычислений. В полнотекстовом поиске, например в SQL Server, стоп-слова пропускаются при построении индекса, и запрос по ним ничего не находит.
Список стоп-слов зависит от языка и от задачи, и его собирает тот, кто настраивает обработку. Готовые списки есть в библиотеках для работы с текстом и в поисковых движках: Manticore Search поставляет стоп-слова для 50 языков, включая русский.
Где удаление стоп-слов вредит
Стоп-слова не всегда лишние. В устойчивом выражении или названии служебное слово несёт смысл: убрав «to» и «be» из «To be or not to be», вы потеряете сам оборот. В поиске по точной фразе, по цитате, по имени собственное служебное слово тоже значимо.
Поэтому в современных системах на основе больших языковых моделей текст всё чаще обрабатывают целиком, в контексте, и стоп-слова явно не выбрасывают. Машина и так понимает, что «и» — союз, а не признак темы.
В редактуре та же ловушка: слово из списка может быть единственным точным. «Основной» в договоре — термин, «полезный» в инструкции по применению — характеристика. Список стоп-слов — инструмент, а не запрет.
Как собрать свой список
- Возьмите готовый список для своего языка и проверьте его на своих текстах: часть слов в вашей теме значима.
- Добавьте слова, которые часто повторяются у вас, но не различают документы: название компании, города присутствия, общие рубрики.
- Для редактуры соберите второй список — из пустых оценок и штампов, которые встречаются в ваших текстах чаще всего.
- Проверьте список на точных запросах и цитатах: если после удаления фраза теряет смысл, слово из списка убирают.
- Пересматривайте список, когда меняется тема или язык текстов: он устаревает так же, как любой справочник.
Частые вопросы
Стоп-слова и стоп-лист — это одно и то же?
Стоп-слова — сами слова, стоп-лист — список, в котором они перечислены. В поисковых движках стоп-лист хранится отдельным объектом и привязывается к индексу: слова из него не попадают в полнотекстовый индекс и не находятся запросом.
Чем машинные стоп-слова отличаются от редакторских?
Машинные — служебные слова языка, их отбирают по грамматике и частоте, и удаляет их программа. Редакторские — пустые по смыслу слова вроде «качественный» и «индивидуальный подход», их вычёркивает человек. Название общее, задачи разные.
Нужно ли удалять стоп-слова из текста статьи или письма?
Из готового текста для читателя служебные слова не удаляют — без них получится набор обрывков. Редактор убирает только пустые оценки и штампы, а предлоги и союзы остаются на месте.
Почему в современных нейросетях стоп-слова не выбрасывают?
Модель обрабатывает текст целиком и учитывает контекст, поэтому служебное слово для неё не шум, а часть конструкции. Явное удаление стоп-слов в таких системах всё чаще не применяют.
Можно ли применять стоп-слова к поиску по своему сайту?
Да, и это обычная практика: из запроса и из индекса убирают слова, по которым всё равно ничего не различить. Но если посетители ищут точную фразу или название, проверьте, что после фильтра запрос ещё находит нужную страницу.
Читать в журнале
Когда тексты пишут разные люди и звучат по-разному
Чтобы у текстов был один голос и свои стоп-слова
Список стоп-слов работает, когда он не в голове редактора, а в документе, по которому пишет каждый автор: что говорим, о чём молчим, какими словами не пользуемся.
Я собираю хай-концепт бренда и Библию проекта: из одной фразы о том, чем компания отличается, вывожу голос, темы и правила для любого исполнителя — с готовым списком слов, которых в текстах быть не должно.