Раскрутка: секреты эффективного продвижения сайтов

Боде Михаил

Бабаев Анар

Евдокимов Николай

Штараев Алексей

Костин Евгений

Проверка уникальности контента методом шинглов

 

 

Уникальный, качественный, ласкающий глаз и не взрывающий мозг контент – краеугольный камень SEO — продвижения. Контент должен быть представлен либо авторскими текстами, либо рерайтом, сделанным с чувством, с толком, с расстановкой. Обмануть поисковую машину и всучить ей чужой текст, перекроенный с помощью синонимайзера, вряд ли удастся, поскольку посредством специальных алгоритмов она умеет распознавать такую подмену.

Знание того, каким образом работают алгоритмы, проверяющие тексты на уникальность, полезно тем, кто занимается текстовым наполнением сайтов. Предупрежден – значит вооружен.

 

Метод шинглов

Ежедневно поисковый робот индексирует многие миллионы документов. Если бы для обнаружения дублей поисковой машине требовалось сопоставить между собой все существующие документы (каждый с каждым), ей пришлось бы произвести миллиарды миллиардов операций. Будь даже полнотекстовое сравнение одного документа со всеми прочими доступно, оно оказалось бы малоэффективным. Небольшая перестановка слов, знаков, предложений в тексте при сопоставлении с идентичным ему в остальном документе исключала бы совпадение.

На помощь поисковой машине были привлечены математика и лингвистика. Для сравнения огромного количества документов в базе поисковика применяется так называемый метод шинглов. Он крайне трудоемок, но современные компьютеры с ним справляются. Детально концепцию описывает опубликованная в апреле 1997 года статья «Синтаксическая кластеризация в Сети» (Syntactic clustering of he Web) авторства А. Бродера, С. Глассмана, М. Манассе и Г. Цвейга, которая вошла в сборник трудов Шестой международной конференции World Wide Web.

 

Алгоритм поиска дубликатов

В переводе с английского shingle означает «гонт». Яснее не стало? Гонт – это кровельный материал, а точнее, небольшие дощечки с пазами и выступами, которые собираются в один лист. Применительно к поисковым системам шинглы – это алгоритм для поиска дубликатов путем вычисления и сопоставления контрольных сумм выборки канонизированных (см. значение термина ниже) словосочетаний длиной от одной до десяти (приблизительно) единиц. Работает это следующим образом.

1. Все слова в тексте приводятся к исходным словоформам, стоп — слова (предлоги, союзы, частицы, знаки препинания и другие незначимые и не несущие смысловой нагрузки элементы) удаляются. Это называется канонизацией текста. Таким образом получается исходник для вычисления шинглов. Более жесткая канонизация может учитывать синонимы и, например, исходное слово «недомогать» заменять на «болеть». Это помогает выявлять тексты, где лишь некоторые исходные слова заменены близкими по смыслу

2. Канонизированный текст делится на фразы длиной от трех до десяти (примерно) слов. Разбивка осуществляется или встык, или внахлест, когда в последующую фразу включено одно или несколько последних слов из предыдущей. Малейшее изменение канонизированного текста – и возникают совсем другие шинглы. Чтобы конструкция не разрушилась как карточный домик, в тексте нужно задать четкие, но малоочевидные точки отсчета для членения на шинглы. В качестве примера приведем схожий алгоритм «Яндекса» под названием «Спамооборона», где устанавливаются границы, цитата: «от буквы “ю” до буквы “ю”; или от двухбуквия, сумма численных значений символов (букв) которого кратна 50, до следующего такого же».

3. Далее для каждого шингла вычисляется контрольная сумма (точнее, применяется хэш — функция). Проще говоря, последовательность слов превращается в последовательность цифр.

4. Затем формируется выборка шинглов, вернее, контрольных сумм и непосредственно сравнение и анализ документов. Из всех полученных контрольных сумм отбирается несколько десятков значений. Производится это путем случайной выборки, к примеру, 70 математических функций из заблаговременно составленного реестра, каждая из которых может описывать интересный для целей data mining параметр: пересечение, вложенность и т. д. Все шинглы документа пропускаются через каждое из 70 выражений, что дает на выходе значения, атрибутируемые тому или иному шинглу. Для каждой из 70 функций выбирается шингл с минимальным (возможны и иные критерии) значением контрольной суммы. В результате на базе анализируемого документа составляется сигнатура из 70 значений контрольных сумм. При сравнении с другим документом, который подвергся такой же операции, берутся шинглы, отобранные по совпадающим функциям. К примеру, если при отборе шинглов в обоих случаях было использовано 25 одинаковых функций из 70, то сравнение выполняется по 25 соответствующим контрольным суммам.

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

Конечно, алгоритм мы продемонстрировали лишь в общих чертах, чтобы дать представление о принципе поиска дубликатов методом шинглов.

Поисковики используют и другие сложные методы проверки текстов на уникальность. Среди них – статистический анализ частотности слов с использованием распределения Ципфа для поиска аномалий, наложение длинных пассажей (более длинных, чем шинглы, отрывков текста) для поиска совпадений в документах, которые подверглись ручному рерайту с разрушением шинглов, и другие методы.

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