Sobes.tech
Middle
20

Как работает TF-IDF?

Companies where asked
ЦифровыеПривычки
СБЕРСБЕР

Answer from AI

sobes.tech AI

TF-IDF (Term Frequency-Inverse Document Frequency) — это статистическая мера, которая отражает важность слова в документе относительно всего корпуса документов.

  • TF (Term Frequency) — частота термина в конкретном документе. Обычно считается как количество вхождений слова, делённое на общее количество слов в документе.
  • IDF (Inverse Document Frequency) — обратная частота документа, показывает насколько слово редкое во всём наборе документов. Вычисляется как логарифм отношения общего числа документов к числу документов, содержащих это слово.

Итоговый вес слова в документе — произведение TF на IDF:

[ \text{TF-IDF}(t,d) = \text{TF}(t,d) \times \log\frac{N}{1 + \text{DF}(t)} ]

где:

  • (t) — термин,
  • (d) — документ,
  • (N) — общее число документов,
  • (\text{DF}(t)) — число документов, содержащих термин (t).

Это помогает выделить слова, которые часто встречаются в конкретном документе, но редко в других, что полезно для векторизации текста и последующего анализа.

Пример на Python с использованием sklearn:

from sklearn.feature_extraction.text import TfidfVectorizer

docs = ["машинное обучение это интересно", "обработка естественного языка важна"]
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(docs)
print(vectorizer.get_feature_names_out())
print(tfidf_matrix.toarray())