Алгоритм Бм25

Впервые я наткнулся на этот алгоритм в Википедии и не обратил на него особого внимания.

Позже, изучая научные труды сотрудников Яндекса, я заметил, что на него ссылаются, например, в статье Сегаловича об алгоритмах выявления нечетких дубликатов, поэтому решил разобраться, в чем смысл его использования.

Попробую объяснить это на простых примерах.

Так для чего нужен этот алгоритм? Первый.

Введена зависимость релевантности от встречаемости или невстречи слов в запросах, содержащих более одного слова.

Пусть имеется несколько запросов, состоящих, например, из нескольких слов (пример чисто иллюстративный):

  • купить смартфон самсунг
  • купить смартфон самсунг галакси
Давайте сравним два документа (опять же наглядно) и в первом документе нет слова «Галактика».

Согласно расчетам, показатель релевантности представляет собой сумму релевантностей каждого слова.



Алгоритм БМ25

Релевантность каждого слова равна его IDF * по второму множителю в приведенном выше выражении.

Релевантность всего поискового запроса равна сумме релевантностей всех слов.

Таким образом, отсутствие слова или другими словами

Алгоритм БМ25

(его частота) равна 0, что дает релевантность 0. Следовательно, если оценка первых двух слов одинакова, то документ, содержащий слово Galaxy, будет более релевантным.

Второй.

При поиске запросов, содержащих более двух слов, одно из которых используется реже (более узкоспециализированное), предпочтение будет отдано документам, содержащим это узкоспециализированное слово.

Например, есть просьба купить Samsung Galaxy Note 2 (чисто иллюзорный пример).

Пусть Note 2 — более редкое слово (встречается в коллекции реже, чем Samsung и Galaxy).

Пусть будет 2 документа, каждый из которых имеет отношение к запросу и каждый из них содержит помимо Samsung и Galaxy еще и Note 2. При этом в первом документе note 2 используется только один раз, а во втором - 3. раз (предполагается, что документ содержит больше информации, указанной в Примечании 2).

Но сначала рассмотрим результат расчета алгоритмом релевантности, если частоты всех указанных слов в документах одинаковы.

Это то, что вы получаете от BM25 в Excel.

Алгоритм БМ25

Также обратите внимание, что в связи с тем, что количество документов, содержащих слово Note 2, в 50 раз меньше, чем тех, которые содержат слово галактика (500), мы получаем IDF 3,279634, что значительно больше, чем IDF для слова galaxy. .

До сих пор мы имели одинаковые значения частот для слова note 2 (и для других слов тоже).

Теперь увеличим частоту встречаемости слова note 2 для док2 в Excel, вместо 0,02 сделаем 0,05 (5 вхождений слова).



Алгоритм БМ25

Обратите внимание, что значение IDF не меняется, но значение формулы (второй множитель на изображении в самом верху) теперь равно 0,061856 и именно это значение участвует в расчете балла, который теперь равен 0,290559 для документа 2 Теперь самое главное.

Давайте увеличим частоту встречаемости слова галактика до 5 в Документе 1.

Алгоритм БМ25

Как мы видим, общая частота каждого слова в документах doc1 и doc2 одинакова.

Но оценка (релевантность) выше для note2, поскольку слово note2 встречается реже, а его влияние больше, чем у слова «галактика».

На практике наличие слов в многосложных запросах очень важно.

Конечно, релевантность современных поисковых систем определяется не только по частотам, как было показано на примере формулы ВМ25, но некоторые корреляции все же можно провести.

В основном это касается того, что если документ не содержит слова из поискового запроса, то такому документу гораздо сложнее подняться в ТОП по запросу по сравнению с теми, которые содержат это слово.

Давайте рассмотрим пример на поисковой системе Яндекс.

Введите запрос Samsung Galaxy .

Мои результаты касались Samsung Galaxy в целом (2 сайта, как обычно Википедия), остальные были модели, картинки и т.д. Введите запрос samsung galaxy note 2 .

Результаты полностью меняются, теперь есть страницы, содержащие информацию не просто о Samsung Galaxy, а о Samsung Galaxy Note 2. Введите цену samsung galaxy note 2 Опять же, результаты теперь меняются в результатах страниц, которые уже содержат слово цена, а не только Samsung Galaxy. Введите запрос на samsung galaxy note 2 цена Харьков .

Результаты поиска кардинально меняются; все страницы ТОП10 содержат слово Харьков.

Можно ли сказать, что слово Харьков более узкоспециализированное, как указано в алгоритме ВМ25 выше? IDF-слово Харьков известно только поисковику, но в контексте поискового запроса Samsung Galaxy Note 2 оно несомненно сужает область поиска.

Может быть, пример с Яндексом немного неудачен, в связи с тем, что в этом случае большую роль будет играть учет регионализации запроса, но я думаю любой SEO-специалист со мной согласится, что слово из поискового запроса должно быть в тексте, я лишь постарался показать работу алгоритма ВМ25 и раскрыть два важных его аспекта.

Ссылка на документ xls - book11.xls Теги: #SEO #SEO #Okapi BM25 #Поисковые технологии

Вместе с данным постом часто просматривают: