Блог о SEO
Telegram-канал
БлогТекстовая оптимизацияTF-IDF и алгоритмы поиска

TF-IDF и алгоритмы поиска

2020-03-05
151
TF-IDF и алгоритмы поиска
Содержание

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

Аббревиатура расшифровывается так: TF - term frequency (частота слова), а IDF - inverse document frequency (обратная частота документа).

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

Формула расчета TF-IDF

Показатель TF рассчитывается как отношение количества вхождений слова документ к количеству слов в документе.

Формула расчета TF style=

Благодаря ему точность определения значимости слова не зависит от длины документа. На одном и том же количестве вхождений слова длинный текст будет иметь показатель TF меньше, чем у короткого текста.

Показатель IDF равен логарифму отношения количества документов в коллекции к количеству документов в коллекции, в которых встречается заданное слово.

Формула расчета IDF

Учет IDF позволяет снизить вес слов, употребляемых часто (например, предлогов). Показатель логарифма может быть любым, так как изменяет вес каждого слова на одну величину.

Общий же показатель TF-IDF является произведением TF и IDF.

Формула расчета TF-IDF

Примеры расчета показателя

Расчет для тематического слова

Для первого примера расчета TF-IDF возьмём документ из 10000 символов в котором слово “пропан” встречается 25 раз, а коллекция состоит из 2 миллионов документов, в 2000 из которых также встречается данное слово.

TF = 25 ÷ 10000 = 0,0025

IDF = lg(2000 ÷ 2000000) = lg(1 ÷ 1000) = -3 (lg - логарифм с основанием 10)

TF-IDF = 0,0025 × 3 = 0,0075

Расчет для союза

Для второго примера расчета TF-IDF возьмём тот же документ из 10000 символов в котором союз “но” встречается 30 раз, а коллекция по-прежнему состоит из 2 миллионов документов, в 200000 из которых также встречается данное слово.

TF = 30 ÷ 10000 = 0,003

IDF = lg(200000 ÷ 2000000) = lg(1 ÷ 10) = -1 (lg - логарифм с основанием 10)

TF-IDF = 0,003 × 1 = 0,003

Сравнение расчетов

Так как мы использовали идентичные документ и коллекцию, можем сравнить семантический вес слов: 0,0075 > 0,003, следовательно слово "пропан" имеет больше веса, чем союз "но", что справедливо.

Как улучшить показатель TF-IDF

Стоит ли вообще работать с такой старой методикой оценки текстов? Конечно! Алгоритм TF-IDF является основой информационного поиска. Он уже давно интегрирован в формулу ранжирования Яндекс и Google, а теперь и лёг в основу более продвинутых алгоритмов вроде векторного анализа текста.

Не переживайте об использовании стоп-слов в текстах, показатель TF-IDF их успешно фильтрует и без вас.

Старайтесь использовать в тексте слова с наибольшим семантическим весом. Например, это могут быть профессиональные термины вашей тематики.

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

А как вы работаете с TF-IDF?

Комментарии
Оставить комментарий
Отправить
Подпишитесь на новые статьи блога