Задача по расчету TF-IDF документов.
Отранжировать по TF-IDF 5 документов по запросам:
- пластиковые окна
- окна
- окна пвх
- krauss
Дано
Номер документа | Содержание документа |
1 | Мы постоянно модернизируем свои цеха, чтобы иметь возможность предлагать нашим клиентам разнообразные пластиковые окна. |
2 | Мы предлагаем полный цикл услуг, включающий изготовление окон ПВХ |
3 | Оконные и дверные профили KRAUSS ориентированы как на обычные условия использования. |
4 | Компания «Строй Мастер» — официальный переработчик немецкого профиля REHAU — осуществляет изготовление и продажу оконных и дверных пластиковых конструкций. |
5 | Окна ПВХ Kaleva (иногда их называют «пластиковые стеклопакеты») изготавливаются из высококачественных материалов. окна окна окна. |
Решение
Решение данной задачи сводится к следующим действиям:
- Посчитать общее количество слов в каждом документе
- Посчитать количество употреблений вхождений каждого слова из списка запросов в каждом из текстов
- Посчитать значения TF
- Посчитать значения DF
- Посчитать значения IDF
- Посчитать вес ключевых слов
Рассмотрим подробно каждый из пунктов
- Посчитать общее количество слов
Подсчет общего количества слов производится простым сложением количества слов в предложениях, кроме знаков препинания, союзов, предлогов и других частей речи, которые поисковая система отбрасывает при обработке запросов.
Пример слов, которые учитывать не нужно: «как», «с», «со», «и», «или» и т.д. и т.п.
Как производился подсчет (считали количество слов, выделенных зеленым):
Номер документа | Содержание документа | Итого слов |
1 | Мы постоянно модернизируем свои цеха, чтобы иметь возможность предлагать нашим клиентам разнообразные пластиковые окна. | 14 |
2 | Мы предлагаем полный цикл услуг, включающий изготовление окон ПВХ | 9 |
3 | Оконные и дверные профили KRAUSS ориентированы как на обычные условия использования. | 8 |
4 | Компания «Строй Мастер» — официальный переработчик немецкого профиля REHAU — осуществляет изготовление и продажу оконных и дверных пластиковых конструкций. | 15 |
5 | Окна ПВХ Kaleva (иногда их называют «пластиковые стеклопакеты») изготавливаются из высококачественных материалов. окна окна окна. | 13 |
- Посчитать количество употреблений вхождений каждого слова из списка запросов в каждом из текстов
Несмотря на то, что данный пункт звучит громоздко и непонятно – сделать его проще простого.
Для начала вспомним наш список запросов:
-
- пластиковые окна
- окна
- окна пвх
- krauss
Разобьем запросы на слова и выделим те, которые являются уникальными по отношению ко всем запросам:
-
- пластиковые
- окна
- окна
- окна
- пвх
- krauss
Получился следующий список уникальных слов:
- пластиковые
- окна
- пвх
- krauss
Если Вам не понятно почему «окна» выделили один раз – когда мы анализировали первый раз слова «окна», то до этого оно у нас не встречалось и поэтому оно является уникальным. Последующие повторения уже не являются уникальными.
- Теперь нам нужно посчитать сколько раз каждое из уникальных слов и его словоформ встречается в каждом документе.
Что такое словоформа? Это однокоренное слово в той же части речи, что и исходное слово.
Например, попробуем найти словоформы для слова «окна». «Окна» — существительное. Однокоренными словами существительными будут «окно», «окон», «окнам» и т.д. и т.п. А вот слово «оконные» уже не будет являться словоформой, т.к. это уже прилагательные. Не забывайте этот важный момент.
Давайте подсчитаем сколько раз каждое из уникальных слов и его словоформ встречается в каждом из текстов (регистр значения не имеет).
Напоминаю, что список уникальных слов с предыдущего этапа у нас
- пластиковые
- окна
- пвх
- krauss
Слово «пластиковые» и его словоформы (вхождения выделены зеленым)
Номер документа | Содержание документа | Вхождений |
1 | Мы постоянно модернизируем свои цеха, чтобы иметь возможность предлагать нашим клиентам разнообразные пластиковые окна. | 1 |
2 | Мы предлагаем полный цикл услуг, включающий изготовление окон ПВХ | 0 |
3 | Оконные и дверные профили KRAUSS ориентированы как на обычные условия использования. | 0 |
4 | Компания «Строй Мастер» — официальный переработчик немецкого профиля REHAU — осуществляет изготовление и продажу оконных и дверных пластиковых конструкций. | 1 |
5 | Окна ПВХ Kaleva (иногда их называют «пластиковые стеклопакеты») изготавливаются из высококачественных материалов. окна окна окна. | 1 |
Итого: 3 |
Слово «окна» и его словоформы (вхождения выделены синим цветом)
Номер документа | Содержание документа | Вхождений |
1 | Мы постоянно модернизируем свои цеха, чтобы иметь возможность предлагать нашим клиентам разнообразные пластиковые окна. | 1 |
2 | Мы предлагаем полный цикл услуг, включающий изготовление окон ПВХ | 1 |
3 | Оконные и дверные профили KRAUSS ориентированы как на обычные условия использования. | 0 |
4 | Компания «Строй Мастер» — официальный переработчик немецкого профиля REHAU — осуществляет изготовление и продажу оконных и дверных пластиковых конструкций. | 0 |
5 | Окна ПВХ Kaleva (иногда их называют «пластиковые стеклопакеты») изготавливаются из высококачественных материалов. окна окна окна. | 4 |
Итого: 6 |
Важно! Обратите внимание, что мы не посчитали вхождение «Оконные» из 3 документа, т.к. это слово не подходит под определение словоформы по причине того, что это другая часть речи
Слово «пвх» и его словоформы (вхождения выделены красным цветом)
Номер документа | Содержание документа | Вхождений |
1 | Мы постоянно модернизируем свои цеха, чтобы иметь возможность предлагать нашим клиентам разнообразные пластиковые окна. | 0 |
2 | Мы предлагаем полный цикл услуг, включающий изготовление окон ПВХ | 1 |
3 | Оконные и дверные профили KRAUSS ориентированы как на обычные условия использования. | 0 |
4 | Компания «Строй Мастер» — официальный переработчик немецкого профиля REHAU — осуществляет изготовление и продажу оконных и дверных пластиковых конструкций. | 0 |
5 | Окна ПВХ Kaleva (иногда их называют «пластиковые стеклопакеты») изготавливаются из высококачественных материалов. окна окна окна. | 1 |
Итого: 2 |
Слово «Krauss» и его словоформы (вхождения выделены оранжевым цветом)
Номер документа | Содержание документа | Вхождений |
1 | Мы постоянно модернизируем свои цеха, чтобы иметь возможность предлагать нашим клиентам разнообразные пластиковые окна. | 0 |
2 | Мы предлагаем полный цикл услуг, включающий изготовление окон ПВХ | 0 |
3 | Оконные и дверные профили KRAUSS ориентированы как на обычные условия использования. | 1 |
4 | Компания «Строй Мастер» — официальный переработчик немецкого профиля REHAU — осуществляет изготовление и продажу оконных и дверных пластиковых конструкций. | 0 |
5 | Окна ПВХ Kaleva (иногда их называют «пластиковые стеклопакеты») изготавливаются из высококачественных материалов. окна окна окна. | 0 |
Итого: 1 |
- Посчитать TF
TF – количество употребления ключевого термина по отношению ко всем словам в документе
Т.е. TF считается для каждого из уникальных слов («пластиковые», «окна», «пвх», «kraus») в каждом документе
Для того, чтобы посчитать TF по уникальному слову нам необходимо разделить количество употреблений этого слова (считали в пункте 2) на общее количество слов (считали в пункте 1)
Несколько примеров расчетов:
- Надо определить TF слова «пластиковые» в 1 документе (номер документа определяется по порядку строк со значениями). Для этого нам нужно разделить 1 (количество вхождений и словоформ «пластиковые») на 14 (общее количество слов в 3 документе), после чего мы получим значение 0,071429
- Надо определить TF слова «пвх» в 3 документе. Делим 0 (количество вхождений и словоформ «пвх») на 8 (общее количество слов в документе 3), после чего мы получим значение 0
- Надо определить TF слова «окна» в 5 документе. Делим 4 (количество вхождений и словоформ «окна») на 13 (общее количество слов в документе), после чего мы получим значение 0,307692308
Все получившиеся значения TF вы можете посмотреть в файле «Расчеты.xlsx»
- Посчитать DF
DF – это отношения количества документов, в котором встречается ключевой термин к общему количеству документов.
Общее количество документов у нас известно – изначально оно составляло 5 штук.
Теперь разберем как считать количество документов, в котором встречается ключевой термин.
- Например, слово «krauss» у нас встречается в 1 документе из 5, соответственно расчет будет 1/5= 0.2
- Слово «пвх» встречается в 2 документах из 5, соответственно расчет будет 2/5 = 0.4
- А вот слово «окна» встречается 1 раз в первом документе, 1 раз во втором документе и 4 раза в 5 документе. НО! Количество документов, в которых встречается ключевой термин равняется 3 (1, 2 и 5 документы), а не общему количеству вхождений ключевых терминов.
На этом моменте ошибаются многие – не будьте в их числе
Все получившиеся значения DF вы можете посмотреть в файле «Расчеты.xlsx»
- Посчитать IDF
IDF считается для каждого ключевого термина по формуле «1/DF»
Например, DF ключевого термина «пластиковые» 0,6. Для того, чтобы посчитать IDF мы должны 1 разделить на 0,6 и записать получившийся результат (1,666666667).
Все получившиеся значения IDF вы можете посмотреть в файле «Расчеты.xlsx»
- Посчитать TF*IDF
TF*IDF считается для каждого ключевого термина в документе путем умножения TF ключевого термина на его IDF
Например, для термина «пластиковые» первого документа TF*IDF будет равен произведению 0,071428571 (TF ключевого термина «пластиковые» 1 документа) на 1,666666667 (IDF слова «пластиковые») в результате чего получится значение 0,12.
Все получившиеся значения TF*IDF вы можете посмотреть в файле «Расчеты.xlsx»
- Посчитать вес ключевых слов
Теперь нам осталось посчитать вес терминов и в соответствии с ним отранжировать сайты.
- Вес ключевых слов считается путем сложения результатов TF*IDF, входящих в него терминов.
Например, чтобы посчитать вес ключевого слова «пластиковые окна» для 5 документа сложим TF*IDF термина «пластиковые» (0,13) и TF*IDF термина «окна» (0,51) в результате чего получим итоговый вес ключевой фразы, равный 0,64 (0,13+0,51)
- После того, как были подсчитаны веса всех ключевых слов, осуществляется ранжирование документов, где порядок позиций определяется от больших значений к меньшим, т.е., например, документ с весом ключевой фразы 0,5 будет ранжироваться выше документа с весом ключевой фразы 0,45.
Если несколько документов имеют один и тот же вес для ключевой фразы, то ранжирование происходит по порядковому номеру документа
3 комментария. Оставить новый
Спасибо! Было интересно попробовать всё это вручную пересчитать )
Да вы батенька псих… Есть ексель, можно на php написать нужный функционал.
По сравнению с тем, как на просторах нета объясняют эту методику, это одна из самых практичных статей. Спасибо