Глоссарий

Как вычислить TF-IDF?

Интуитивно задачу TF-IDF решает каждый, кто делал запрос в Гугле: нужно догадаться, какие слова ярче всего характеризуют запрос и «спросить» именно их. Хороший поисковик, если он хочет выдать релевантные результаты, тоже вычислит, какие слова несут больше всего смысла в текстах и соответствуют запросам. Как получить численные ответы на вопросы о том, какие слова важнее других и что это значит, читайте в глоссарии «Системного Блока»

TF-IDF — произведение двух множителей. Чем важнее слово для определения темы документа внутри коллекции, тем больше произведение. Первый множитель — частота слова (термина) в документе. Это TF — term frequency. Второй множитель — IDF — inverse document frequency — число всех документов в коллекции, деленное на число документов с нужным термином. Так как IDF — дробь, чем меньше ее знаменатель, тем больше значение. Поэтому IDF слова растет, если в корпусе слово встречается «концентрированно», в небольшом числе текстов. Так IDF уменьшает значимость слов, которые в принципе встречаются часто во всех текстах корпуса. TF может получиться очень маленьким, а IDF — очень большим, и чтобы работать с числами в большом диапазоне, из IDF перед умножением на TF берут логарифм , но есть разные варианты итоговых формул. Мы предлагаем такой: TF-IDF = TF * log(IDF)

Разберем на примерах с яблоками

Пусть у нас есть два корпуса. Первый — про летний отдых, а второй — про фрукты. В корпусе текстов про летний отдых редко упоминаются яблоки (в 5 текстах из 250), в основном речь про бадминтон и серфинг. Зато там есть текст про дачу и сбор урожая, «яблоко» встречается в нем 20 раз. Для «дачного» текста «яблоко» описывает тему документа.
В корпусе про фрукты яблоки встречаются часто: в 200 текстах из 250. Зато текст, который мы наугад взяли из этого корпуса — про цитрусовые, и яблоко там встречается всего десять раз, когда его сравнивают с апельсинами. В этом тексте «яблоко» не описывает тему документа.

Частота термина в тексте про дачу — 20/100 = 0.2 (считаем, что в каждом тексте по сто слов)
Частота термина в тексте про цитрусовые — 10/100 = 0.1
В корпусе про летний отдых яблоки — в 5 текстах из 250. Обратная частота документов (IDF) = 250/5 = 50. log(IDF) = log(50) = 1.69.
В корпусе про фрукты яблоки — в 200 текстах из 250. IDF = 250/200 = 1,25. log(IDF) = log(1,25) = 0,096
В корпусе, где яблоки «сгруппировались» в паре текстов TF-IDF = 0,2 * 1,69 = 0,338
В корпусе, где яблоки «размазаны» по документам TF-IDF = 0,1 * 0,096 = 0,0096
Высокий TF-IDF показал, что слово важно для понимания темы.

Где это используют?

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

Если вас заинтересовал этот термин, рекомендуем также почитать:

Share
Tags: tf-idf

Recent Posts

GPT решила знаменитую нерешенную задачу математики, Google показал новый ИИ-поиск

Компания Google представила много новых ИИ-продуктов, а модель GPT опровергла известную математическую гипотезу Пала Эрдёша — рассказываем, что произошло в мире ИИ за последнее время

25.05.2026

ИИ найдет «скрытых» детей в соцсетях по костям лица

Facebook* и Instagram* будут сканировать фото и видео, чтобы находить детей, которые скрыли свой возраст

19.05.2026

Какая математика нужна джуну в NLP?

Можно ли заниматься NLP, если при словах «производная» и «матрица» хочется закрыть ноутбук? Да — если изучать математику не абстрактно, а через реальные задачи. Объясняем, какие разделы действительно нужны джуну,…

19.05.2026