Костин Евгений
Шрифт:
1. Все слова в тексте приводятся к исходным словоформам, стоп — слова (предлоги, союзы, частицы, знаки препинания и другие незначимые и не несущие смысловой нагрузки элементы) удаляются. Это называется канонизацией текста. Таким образом получается исходник для вычисления шинглов. Более жесткая канонизация может учитывать синонимы и, например, исходное слово «недомогать» заменять на «болеть». Это помогает выявлять тексты, где лишь некоторые исходные слова заменены близкими по смыслу
2. Канонизированный текст делится на фразы длиной от трех до десяти (примерно) слов. Разбивка осуществляется или встык, или внахлест, когда в последующую фразу включено одно или несколько последних слов из предыдущей. Малейшее изменение канонизированного текста – и возникают совсем другие шинглы. Чтобы конструкция не разрушилась как карточный домик, в тексте нужно задать четкие, но малоочевидные точки отсчета для членения на шинглы. В качестве примера приведем схожий алгоритм «Яндекса» под названием «Спамооборона», где устанавливаются границы, цитата: «от буквы “ю” до буквы “ю”; или от двухбуквия, сумма численных значений символов (букв) которого кратна 50, до следующего такого же».
3. Далее для каждого шингла вычисляется контрольная сумма (точнее, применяется хэш-функция). Проще говоря, последовательность слов превращается в последовательность цифр.
4. Затем формируется выборка шинглов, вернее, контрольных сумм и непосредственно сравнение и анализ документов. Из всех полученных контрольных сумм отбирается несколько десятков значений. Производится это путем случайной выборки, к примеру, 70 математических функций из заблаговременно составленного реестра, каждая из которых может описывать интересный для целей data mining параметр: пересечение, вложенность и т. д. Все шинглы документа пропускаются через каждое из 70 выражений, что дает на выходе значения, атрибутируемые тому или иному шинглу. Для каждой из 70 функций выбирается шингл с минимальным (возможны и иные критерии) значением контрольной суммы. В результате на базе анализируемого документа составляется сигнатура из 70 значений контрольных сумм. При сравнении с другим документом, который подвергся такой же операции, берутся шинглы, отобранные по совпадающим функциям. К примеру, если при отборе шинглов в обоих случаях было использовано 25 одинаковых функций из 70, то сравнение выполняется по 25 соответствующим контрольным суммам.
5. В результате анализа, если обнаружена высокая доля совпадения контрольных сумм двух документов, делается вывод о том, являются ли эти документы четкими (контент полностью совпадает) или нечеткими (контент претерпел некоторые изменения) дубликатами.
Конечно, алгоритм мы продемонстрировали лишь в общих чертах, чтобы дать представление о принципе поиска дубликатов методом шинглов.
Поисковики используют и другие сложные методы проверки текстов на уникальность. Среди них – статистический анализ частотности слов с использованием распределения Ципфа для поиска аномалий, наложение длинных пассажей (более длинных, чем шинглы, отрывков текста) для поиска совпадений в документах, которые подверглись ручному рерайту с разрушением шинглов, и другие методы.
Таким образом, избежать санкций поисковиков за использование чужого контента можно, лишь создавая оригинальный контент – самостоятельно ли, с привлечением ли копирайтера или рерайтера, способного качественно преобразовать заимствованный текст.
Семантическая разметка страниц
Индексируя страницы сайта, поисковый робот первым делом извлекает из них информацию. Чем более четко и организованно она подана «посланцу» Google или «Яндекса», тем быстрее и точнее он решит эту задачу.
На быстроту и корректность сбора данных для индексации влияет так называемая семантическая разметка страницы. Такое форматирование веб — документа призвано преподнести контент поисковику в предельно понятном, «съедобном» виде. Страница без семантической разметки будет так или иначе интерпретирована роботом, но ему придется самостоятельно структурировать извлеченную из нее информацию. А поскольку алгоритмы поисковых систем неидеальны, при отсутствии помощи со стороны сайтовладельца им не всегда удается безошибочно трактовать материалы и обеспечивать безупречный поиск по ключевым запросам.
Зато благодаря «семантической паутине», охватывающей все больше интернет — площадок, поисковики оказываются в состоянии давать пользователям точно и внятно сформулированные ответы на их запросы.
Микроформаты и микроданные
Семантическая разметка страницы осуществляется по специальным стандартам. Исторически сложилось так, что два гиганта поиска – Google и «Яндекс» изначально придерживались каждый своего формата. Разработчики из корпораций Google, Yahoo! и Microsof создали проект под названием Schema.org. Он основан на разметке с помощью тегов microdata («микроданные»). «Яндекс» присоединился к инициативе западных коллег осенью 2011 года, а до того начал продвигать в массы другую методологию – «микроформаты» (h p://microformats.org/wiki).
Очевидным образом веб — мастеров мягко подталкивают к тому, чтобы они прибегали к семантической разметке страниц. Администраторам сайтов в Рунете ради повышения привлекательности сайта для «Яндекса» и Google нужно учитывать оба формата и составлять две версии семантического описания контента.
Вот пример описания продукта с применением формата microdata:
(div itemscope itemtype="http://schema.org/Product")
(span itemprop="name")Микроволновая печь Samsung MW73VR(/span)
(img src="samsung — microwave — mw73vr.jpg" alt='Микроволновая печь Samsung MW73VR' />
(div itemprop="aggregateRating" itemscope itemprop="http://schema.org/AggregateRating">
Средняя оценка покупателей (span itemprop="ratingValue">4(/ span>
на основе (span itemprop="reviewCount">11(/span>отзывов(/div>
(div itemprop="offers" itemscope itemtype="http://schema.org/ Offer">
(span itemprop="price">2630 р.(/span>
(link itemprop="availability" href="#" />В наличии