01

Точная формула TF-IDF

TF — доля термина среди анализируемых слов документа. df — число документов корпуса, содержащих термин хотя бы один раз. N — общее число документов.

Сглаживание прибавляет единицу к N и df, а внешняя единица сохраняет положительный вес даже у терминов, присутствующих во всём корпусе.

TF(t,d)count(t,d) ÷ tokenCount(d)
IDF(t)ln((N + 1) ÷ (df(t) + 1)) + 1
TF-IDF(t,d)TF(t,d) × IDF(t)

02

Пример для трёх документов

Пусть «банан» присутствует во всех трёх документах: df=3, поэтому IDF = ln(4/4)+1 = 1. Термин «яблоко» есть только в одном документе: df=1, поэтому IDF = ln(4/2)+1 ≈ 1,693.

Если в первом документе 3 слова, а «яблоко» встретилось дважды, TF=2/3. Итоговый TF-IDF равен примерно 1,129. Для «банана» с одним вхождением TF-IDF равен 1/3 × 1 = 0,333.

Что показывает пример

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

03

Почему состав корпуса меняет результат

IDF — относительная характеристика. Если добавить документы, содержащие «яблоко», его документная частота вырастет и вес снизится. Поэтому сравнивайте только результаты, рассчитанные на одном корпусе.

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

  • Применяйте одинаковую токенизацию ко всем документам
  • Фиксируйте язык и стоп-слова
  • Не сравнивайте веса из разных корпусов напрямую
  • Сохраняйте настройки вместе с экспортом

04

Когда TF-IDF полезен и чего он не доказывает

TF-IDF подходит для прозрачных признаков классификации, поиска, кластеризации, исследования корпуса и предварительной фильтрации. Взвешенные векторы также используются для косинусного сходства.

Высокий вес не означает, что термин важен вообще, полезен читателю или нужен для SEO. Он означает только высокую относительную частоту в документе и редкость в выбранном корпусе.

БЕСПЛАТНО · БЕЗ РЕГИСТРАЦИИ

Проверьте формулу на своих документах

Добавьте от 2 до 10 текстов или URL и изучите взвешенные таблицы каждого документа и общий IDF.

Рассчитать TF-IDF