Текстовая релевантность: TF-IDF, LSI и BM25 простыми словами
Текстовая релевантность — это оценка того, насколько документ отвечает запросу по содержанию. Базовая мера, TF-IDF, считает слово важным, если оно часто встречается в документе и редко — в коллекции. В поиске её давно сменил BM25, а «LSI-слова» существуют только в SEO-разговорах: такого инструмента у поисковиков нет.
Статья для тех, кто пишет тексты и ТЗ: разбираем, что стоит за рекомендациями анализаторов и как ими пользоваться, не превращая страницу в перечисление ключевых слов.
Что поисковик считает релевантным текстом
Текстовые факторы — только часть оценки, и сегодня далеко не главная. И Яндекс, и Google давно ранжируют машинным обучением, где текстовая близость — одна из множества составляющих наряду со ссылками, поведением и соответствием запроса интенту страницы.
Но в основании всё ещё лежит простая идея: документ тем ближе к запросу, чем больше в нём слов запроса и чем эти слова необычнее для языка вообще. Из этой идеи выросли все формулы ниже.
Главное следствие практическое: оптимизировать текст в отрыве от того, что это за страница и на какой вопрос она отвечает, бессмысленно. Если по запросу в выдаче стоят статьи, коммерческая страница туда не попадёт, сколько слов в неё ни впиши. Как определяется интент и как от него строится распределение запросов по страницам — в разборе семантического ядра.
TF-IDF: как это считается
TF-IDF — произведение двух величин.
TF (term frequency) — частота слова в документе: сколько раз слово встретилось, делённое на длину документа. Чем чаще, тем больше.
IDF (inverse document frequency) — обратная документная частота: логарифм отношения общего числа документов в коллекции к числу документов, где это слово встречается. Чем в большем количестве документов слово попадается, тем IDF ниже.
Смысл произведения легко объяснить на примере. В тексте про продвижение сайта слово «и» встречается чаще всего, но оно есть во всех документах на свете — его IDF близок к нулю, и вклад в оценку нулевой. А слово «переиндексация» встречается пару раз, зато почти нигде больше не попадается: высокий IDF делает его заметным. TF-IDF — это способ отделить слова, которые характеризуют документ, от слов, которые характеризуют язык.
Что из этого следует для текста: ценность несут редкие тематические слова, а не повторение главного ключа. Десятое вхождение фразы «продвижение сайта» не добавляет релевантности — оно добавляет признаков переспама.
BM25: почему TF-IDF не хватило
Okapi BM25 — развитие той же идеи, и именно такого типа формулы используются в поиске как базовая текстовая оценка. От TF-IDF он отличается двумя вещами.
Насыщение частоты. В TF-IDF вклад слова растёт линейно: двадцать вхождений в двадцать раз весомее одного. В BM25 рост замедляется и упирается в потолок: разница между первым и вторым вхождением большая, между десятым и одиннадцатым — почти никакой. Формула устроена так, что «впишем ещё пять раз» перестаёт работать математически, а не только по мнению поисковика.
Нормировка на длину. BM25 учитывает длину документа относительно средней по коллекции. Длинный текст не получает преимущества просто за счёт объёма: десять вхождений в статье на тысячу слов и десять в статье на десять тысяч оцениваются по-разному.
BM25F — вариант, в котором документ разбит на зоны с разными весами: заголовок, текст ссылок на документ, тело страницы. Вхождение в заголовке весит больше, чем вхождение в середине абзаца. Отсюда практическое следствие, которое знают и без формул: заголовок и первый экран важнее остального текста. Как собирается заголовок страницы и когда поисковик его заменяет — в разборе title и description.
Три меры рядом
| Мера | Что считает | Где применяется | Что это значит для текста |
|---|---|---|---|
| TF-IDF | Частоту слова в документе против его редкости в коллекции | Классика информационного поиска, основа для остального | Ценность несут редкие тематические слова, а не повторы главного ключа |
| BM25 | То же, но с насыщением частоты и поправкой на длину документа | Базовая текстовая оценка в современном поиске | После нескольких вхождений добавлять ключ бессмысленно; объём сам по себе не помогает |
| BM25F | То же с разными весами зон документа | Там, где важно разделять заголовок, тело и тексты ссылок | Заголовок и первый экран весят больше середины текста |
| LSI | Скрытые связи слов через разложение матрицы «слова — документы» | Метод 1980-х, в ранжировании не используется | «LSI-слов» не существует; речь о тематических словах |
LSI: главный миф отрасли
«LSI-слова», «LSI-копирайтинг», «добавьте LSI-фразы» — одна из самых живучих выдумок рынка.
LSI (latent semantic indexing) — реальный метод из восьмидесятых годов: разложение матрицы «слова на документы», позволяющее находить скрытые связи между словами. Технология существует, но к ранжированию в современном поиске отношения не имеет: Google прямо заявлял, что LSI-ключевых слов не существует и всякий, кто говорит обратное, ошибается. Метод плохо масштабируется на миллиарды документов, и вместо него работают языковые модели.
Почему миф держится: за словом «LSI» на рынке прячется здравая мысль — тексту нужны тематические слова, а не только главный ключ. Мысль верная, название неверное. Правильнее говорить «тематические» или «связанные слова», и тогда разговор становится предметным: не «добавьте LSI», а «на этих страницах из топа есть раздел про доставку, у вас его нет».
Что на самом деле считают текстовые анализаторы
ГАР, Миратекст, Just-Magic и подобные сервисы не знают формулу Яндекса. Они делают другое: берут страницы из топа по вашему запросу, разбирают их тексты и показывают, какие слова там встречаются и в каком количестве. Рекомендация «вписать слово 12 раз» — это, как правило, медиана или среднее по конкурентам, а не требование алгоритма.
Отсюда три правила обращения с их отчётами:
- Рекомендация — это описание топа, а не инструкция. Если выдача по запросу состоит из агрегаторов с сотнями товаров, их словарь вы не повторите и повторять не нужно.
- Цифра не цель. Попадание в рекомендованный диапазон не даёт позиций само по себе; выход за него тоже не наказывается автоматически.
- Слово из отчёта — это обычно блок, которого у вас нет. Если анализатор требует слово «гарантия» пятьдесят раз, это не про частоту, а про то, что у конкурентов есть раздел с условиями гарантии. Нужно сделать раздел, а не вписать слово.
Как пользоваться рекомендациями, не калеча текст
Рабочий порядок выглядит так:
- Сначала интент. Посмотрите выдачу: какие страницы в топе, что это за тип контента, на какой вопрос они отвечают.
- Потом структура. Выпишите, какие смысловые блоки есть у трёх-четырёх страниц из топа и каких нет у вас. Это и есть главная часть работы.
- Потом текст. Пишите блоки по-человечески, так, как это сделано у страниц из топа: слово живёт в осмысленном предложении, а не в перечислении через запятую.
- И только потом проверка анализатором. Если чего-то не хватает, смотрите, какого блока недостаёт, а не куда вписать слово.
- Заголовки и первый экран — в последнюю очередь, но внимательно: вес у них выше.
Признак того, что работа пошла не туда: вы ищете, куда ещё впихнуть слово. В этот момент стоит остановиться и спросить, какой функциональный блок это слово обозначает у конкурентов.
Переспам: как выглядит и чем лечится
Переспам — не «много ключей», а неестественное употребление: перечисления через запятую, повторы одной фразы в соседних предложениях, города списком, падежные формы подряд, текст внизу страницы «для роботов».
Лечится он не удалением слов по счётчику, а переписыванием: тот же смысл нормальными предложениями, лишние повторы убираются, перечисления превращаются в блоки с пользой. Если страница попала под текстовый фильтр, разбор причин и порядок выхода — в статье про фильтры и санкции.
Отдельная история — тексты, сгенерированные нейросетью без правки. Формально они часто проходят по всем счётчикам: вхождения на месте, тематические слова есть. Но они не отвечают на вопрос и плохо удерживают человека, а поведение на странице учитывается отдельно от текста — см. разбор поведенческих факторов.
Чек-лист перед сдачей текста
- Понятно, на какой вопрос отвечает страница, и это соответствует тому, что в топе.
- Есть все смысловые блоки, которые есть у конкурентов, и они написаны, а не названы.
- Главный запрос — в заголовке и в первом абзаце, естественной формулировкой.
- Тематические слова употреблены в предложениях, а не в перечислениях.
- Нет повторов одной фразы в соседних абзацах и списков городов и падежей.
- Текст можно прочитать вслух, не спотыкаясь.
- Заголовки отражают содержание разделов, а не ключи.
Частые вопросы
Что такое TF-IDF простыми словами?
Это способ оценить, насколько слово характеризует документ. TF — как часто слово встречается в тексте, IDF — насколько оно редкое в языке вообще. Произведение даёт высокий вес редким тематическим словам и почти нулевой — предлогам и союзам, которые есть везде.
Как считается TF-IDF?
TF — число вхождений слова, делённое на длину документа. IDF — логарифм отношения общего числа документов к числу документов, содержащих это слово. Итоговая величина — их произведение. В поиске чистый TF-IDF сейчас не применяется: его сменили формулы семейства BM25.
Чем BM25 отличается от TF-IDF?
Двумя вещами. Вклад повторов в BM25 насыщается: после нескольких вхождений добавление новых почти ничего не даёт. И учитывается длина документа относительно средней, поэтому объём сам по себе не даёт преимущества. Вариант BM25F дополнительно взвешивает зоны документа: заголовок весит больше тела.
Существуют ли LSI-слова?
Нет. LSI — метод из восьмидесятых годов, который в современном ранжировании не используется, а «LSI-ключи» придуманы на SEO-рынке; в Google это прямо называли ошибкой. Здравая мысль за термином есть: тексту нужны тематические слова. Называть их стоит тематическими или связанными.
Сколько раз нужно вписать ключевое слово в текст?
Правильного числа нет. Формулы ранжирования устроены так, что вклад повторов быстро перестаёт расти, а риск выглядеть переспамленным растёт дальше. Практический ориентир: главный запрос в заголовке и первом абзаце, в остальном тексте — естественные формулировки и синонимы.
Можно ли доверять рекомендациям текстовых анализаторов?
Как описанию топа — да, как инструкции — нет. Анализатор показывает, какие слова есть у конкурентов в выдаче, и обычно считает медиану. Это полезный ориентир, но попадание в диапазон не даёт позиций, а требование вписать слово чаще всего означает отсутствующий у вас раздел.
Что такое семантический анализ текста в SEO?
Так обычно называют разбор текста относительно конкурентов: какие тематические слова и в каком объёме встречаются у страниц из топа и чего не хватает вашей. К лингвистическому разбору предложения по смыслу это отношения не имеет, хотя название одно.
Влияет ли уникальность текста на позиции?
Прямой связи между процентом уникальности и позициями нет: поисковику важнее, отвечает ли страница на вопрос. Копия чужого материала проблему создаст, но не процентами, а тем, что это дубль. Как поисковики разбираются с дублирующимися страницами — в отдельном разборе.
Главное о текстовой релевантности
Формулы семейства BM25 устроены так, что повторять ключ бессмысленно уже после нескольких вхождений, а объём сам по себе ничего не даёт. LSI-слов не существует, и за этим термином прячется верная мысль о тематических словах. Текстовые анализаторы показывают не требования алгоритма, а срез топа, и их рекомендации читаются как подсказка о недостающем блоке, а не как норма вхождений. Поэтому работа над текстом начинается с интента и структуры и только заканчивается цифрами.
Вы SEO-специалист?
Заполните анкету в базе сообщества — она открыта всем без регистрации, и через неё заказчики ищут исполнителей по нишам, опыту и ставкам.