TF-IDF, сокращение от T erm Frequency – Inverse Document Frequency, представляет собой числовую статистику, которая предназначена для отражения того, насколько важно слово для документа, в коллекции или Корпус (абзац). Он часто используется в качестве весового фактора при поиске информации, интеллектуальном анализе текста и пользовательском моделировании. Значение TF-IDF увеличивается пропорционально тому, сколько раз слово появляется в документе, и компенсируется количеством документов в корпусе, содержащих это слово, что помогает для корректировки того факта, что некоторые слова в целом появляются чаще.
TF-IDF более предпочтителен, чем Bag-Of-Words, в котором каждое слово представлено как 1 или 0 каждый раз, когда появляется в каждом предложении, а в TF-IDF придает вес каждому слову отдельно, что, в свою очередь, определяет важность каждого слова по сравнению с другими.
Давайте понимать эти Условия отдельно, как,
- TF: Term Frequency, который измеряет, как часто термин встречается в документе. Поскольку все документы различаются по длине, возможно, что термин будет встречаться в длинных документах гораздо чаще, чем в более коротких. Таким образом, частота термина часто делится на длину документа (также известную как общее количество терминов в документе) как способ нормализации:
TF (t) = (Количество раз термин t появляется в документе) / (общее количество терминов в документе), и, - · IDF: обратная частота документов, которая измеряет важность термина. При вычислении TF все термины считаются одинаково важными. Однако известно, что некоторые термины, такие как «есть», «из» и «то», могут встречаться много раз, но не имеют большого значения. Таким образом, нам нужно уменьшить частые термины и увеличить редкие, вычислив следующее:
IDF (t) = log_e (Общее количество документов / Количество документов с термином t в нем).
Теперь давайте перейдем к его части, приведенной в качестве примера:
Давайте рассмотрим эти три предложения:
- Он хороший мальчик
2. Она хорошая девочка, и,
3. Оба - Good Boy и Girl соответственно.
Итак, после использования регулярного выражения, стоп-слов и других функций из библиотеки NLTK, мы получаем очищенную версию этих трех предложений, которая может быть представлена как,
- Хороший мальчик
2. Хорошая девочка и
3.Good Boy Girl соответственно.
Теперь давайте рассмотрим операции TF (Term Frequency).
Предположим, что в предложении 1 есть слово «Хорошо», как мы знаем,
TF (t) = (Количество раз, когда термин t встречается в документе) / (Общее количество терминов в документе).
Итак, сколько раз слово «хорошо» встречается в предложении 1 - 1 раз, а общее количество раз, когда слово «хорошо» встречается во всех трех предложениях - 3 раза, поэтому значение TF (частота термина) слова «Хорошо» - это TF («Хорошо») = 1/3 = 0,333.
Теперь давайте рассмотрим значение каждого слова со ссылкой на каждое предложение в табличном формате, который может быть показан как,
Итак, мы можем видеть значение TF каждого слова по отношению к каждому предложению.
Теперь,
Давайте рассмотрим секунду TF-IDF, то есть IDF (обратная частота документа) каждого слова, относительно каждого предложения.
Как мы знаем,
IDF (t) = log_e (Общее количество документов / Количество документов со словом t в нем).
Опять же, давайте рассмотрим слово «хорошо» в предложении 1, теперь мы знаем, что общее количество предложений, которые у нас есть, равно 3 (общее количество документов), а также, мы знаем, что слово «хорошо» встречается в целом 3 раза, учитывая все 3 предложения, поэтому количество документов, в которых есть термин «хорошо» = 3,
Итак, IDF (обратная частота документа). Значение слова «Хорошо» будет «Журнал (3/3)». Теперь давайте рассмотрим IDF (обратный Частота документа) Значение каждого слова в табличной форме For,
Теперь у нас есть значения для обоих: TF (частота термина), а также IDF (частота обратного документа) для каждого слова, для каждого предложения, которое у нас есть,
Итак, наконец, значение TF-IDF для каждого слова будет = TF (значение) * IDF (значение).
Давайте представим значение TF-IDF каждого слова в табличной форме, приведенной ниже,
So,
В качестве Заключения мы видим, что слово «Хорошо» встречается в каждом из этих трех предложений, в результате чего значение слова «Хорошо» равно нулю, а слово «Мальчик» появляется только 2 раза в каждом из этих 3 предложений. В результате мы можем видеть, что в предложении 1 значение (важность) слова «мальчик» больше, чем слова «хорошо».
В результате мы видим, что TF-IDF дает определенное значение или важность каждому слову в любом абзаце. Условия с более высокие оценки веса считаются более важными, в результате TF-IDF заменил концепцию «Мешок слов», который дает одинаковое значение каждому слову, когда оно встречается в любом предложении Абзац, который является серьезным недостатком мешка слов.
TF-IDF был изобретен для поиска документов и может использоваться для получения результатов, наиболее релевантных тому, что вы ищете. Представьте, что у вас есть поисковая система, и кто-то ищет «Собака». Результаты будут отображаться в порядке релевантности. То есть наиболее релевантные статьи о домашних животных будут иметь более высокий рейтинг, поскольку TF-IDF дает слову «Собака» более высокую оценку.
Итак, вот как работает TF-IDF (частота термина и обратная частота документа)!
Если вам нравится этот блог, оставьте «Хлопните» и поделитесь с друзьями, коллегами.
Спасибо 😊.
Свяжитесь со мной:
Мой профиль в LinkedIn: