TF-IDF — это сокращение от термина «частота, обратная частоте документа». Это метод векторизации, используемый в области обработки естественного языка. Да, я знаю, это пугающая фраза, но поверьте мне, она намного проще, чем кажется.
Использование TF-IDF
Обработка естественного языка или НЛП — это область машинного обучения, которая занимается обработкой данных на естественном языке, включая, помимо прочего, комментарии пользователей, обзоры, анализ настроений и перевод текста.
Одно общее препятствие для всех формулировок задач, связанных с НЛП, заключается в том, что входные данные являются текстовыми. Небольшое напоминание для всех вас, ребята из Machine Learning 101 — для алгоритма нужны числа! Он не может обрабатывать текстовые данные. И что теперь? Как мы поступим?
Одной из представленных инновационных технологий была векторизация. Это включало связывание каждого предложения с вектором числовых значений, и этот вектор становился входными данными, которые вводились в модель. TF-IDF является одним из таких методов векторизации. Теперь, когда мы знаем «что?» и «почему?», давайте углубимся в «как?»
Предпосылки
Вам, ребята, необходимо узнать немного больше, прежде чем погрузиться в работу TF-IDF. Да, я мог бы включить его сюда, но это сделало бы статью длинной и скучной. Не волнуйтесь, это очень быстро читается. Он охватывает все основы обработки данных в текстовом формате. Вот ссылка — Обработка текстовых данных
Работа TF-IDF
TF-IDF обычно применяется к группе документов, каждый из которых состоит из группы предложений, чтобы понять значение слова в документе и в наборе документов. Для простоты понимания рассмотрим 3 документа и скажем, что в каждом из документов есть 1 предложение. Предположим, что каждое из этих предложений прошло через методы токенизации и нормализации, упомянутые в статье о предварительных требованиях.
Документ 1: бегите быстро
Документ 2: бегите медленно
Документ 3: иди быстро, беги быстро
Здесь мы сначала вычисляем «Частоту термина», а затем «Частоту обратного документа» для каждого слова и умножаем эти 2 значения, чтобы получить вектор для предложения.
Давайте сначала составим частотную таблицу, соответствующую всем уникальным словам:
Срок Частота
Он рассчитывается следующим образом:
Термин Частота прямо пропорциональна важности слова. Эта мера придает равное значение всем терминам.
Обратная частота документа
IDF рассчитывается следующим образом:
IDF использует логарифмические функции для обеспечения обратной зависимости между важностью слова и его частотой. Значение, возвращаемое IDF для конкретного слова, обратно пропорционально его частоте в документе, т. е. чем реже слово, тем важнее оно для документа. (log10 здесь означает - журнал по основанию 10)
Окончательные векторы
Произведение как TF, так и IDF устанавливает правильный баланс и дает число, которое может быть связано со словом, и, следовательно, позволяет нам представить предложение в виде вектора.
Затем эти векторы передаются в соответствующую модель машинного обучения, где каждый вектор действует как точка данных. Ниже приведен лишь один из методов векторизации. Есть и другие методы, такие как Мешок слов и Word2Vec.
На этом все! Счастливого обучения!
Полное раскрытие: я работаю на https://www.ml-concepts.com/, и эта статья была впервые опубликована там.