TF-IDFVectorizer: извлечение ключевых слов и векторизация текста
TF-IDF (Term Frequency-Inverse Document Frequency) - это одна из самых распространенных методов векторного представления текстовых данных в машинном обучении и обработке естественного языка. Он используется для анализа и сравнения документов на основе их содержимого и определения важности слов в контексте документа и всей коллекции документов.
TF-IDF комбинирует два понятия: частоту терминов (TF) и обратную частоту документа (IDF). Частота термина (TF) определяет, насколько часто определенное слово встречается в документе. Обратная частота документа (IDF) измеряет важность слова в коллекции документов, учитывая число документов, в которых это слово появляется. Конечный результат - это числовой вектор, представляющий текстовый документ.
Для работы с TF-IDF мы можем использовать класс TfidfVectorizer из библиотеки scikit-learn. Вот пример кода, демонстрирующий использование TfidfVectorizer:
from sklearn.feature_extraction.text import TfidfVectorizer
# Пример коллекции документов
documents = [
"Это первый документ",
"Это второй документ",
"Это третий документ",
"Это четвертый документ"
]
# Создание экземпляра TfidfVectorizer
vectorizer = TfidfVectorizer()
# Процесс векторизации документов
tfidf_matrix = vectorizer.fit_transform(documents)
# Получение списка всех слов в коллекции
feature_names = vectorizer.get_feature_names_out()
# Вывод значений TF-IDF матрицы
for i in range(len(documents)):
print("Документ", i+1)
for j in range(len(feature_names)):
print(feature_names[j], ":", tfidf_matrix[i, j])
print()
В этом примере мы имеем 4 документа. Мы создаем экземпляр TfidfVectorizer и вызываем метод fit_transform() для векторизации документов. Затем мы используем метод get_feature_names_out(), чтобы получить список всех слов в коллекции. Наконец, мы выводим значения TF-IDF матрицы для каждого слова в каждом документе.
TF-IDF позволяет нам оценивать важность слов в документах. Слова, которые часто встречаются в конкретном документе, но редко встречаются в других документах, получат высокую оценку TF-IDF. Это позволяет выделить ключевые слова, которые могут быть полезны при анализе текстовых данных.
В заключение, TF-IDF - это мощный инструмент для работы с текстовыми данными в машинном обучении и обработке естественного языка. Он позволяет нам представлять тексты в виде числовых векторов и определять важность слов в контексте документов и коллекции.