OrionXL

Модифицированный алгоритм шинглов

Роман Иванов @ 13:59 20.01.2010

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

Дело в том, что данный алгоритм рассматривает текст, как набор слов с равномерным распределением. Однако большинство текстов имеют определенную тематическую направленность, иными словами это тексты в которых присутствуют высокочастотные слова или словосочетания (ключевые слова). Благодаря данной тематичности появляется возможность, во первых, отнести текст к какой либо тематике и во вторых получить общее представление о схожести тематичности текстов, количестве вхождения одинаковых слов и словосочетаний. Здесь необходимо отбросить стоп слова, стоп слова это не значащие слова: предлоги, знаки препинания и т.д. Однако и здесь нужно быть аккуратным, к примеру, если представить ключевое слов "витамин А", то можно отбросить букву А и смысл потеряется. Если процент схожести слов составляет порядка 60-70%, то можно смело говорить об относительно одинаковом происхождении источника.

Современные поисковые системы google, yandex и др. работают с модифицированном алгоритмом шинглов с использованием обратно индексированных файлов. Суть этого алгоритма заключается в следующем. Для файла составляется обратный индексный файл и далее на основе этого файла строятся ключевые последовательности шинглов, которые далее сравниваются между собой.

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

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

Реализация модифицированного метода шинглов

Для реализации данного метода необходимо сделать определенное количество шагов.
1. Построить словарное дерево текста, аналогично алгоритму определения тошноты. Здесь одной из проблемных частей является определение слов или словосочетаний в зависимости от морфологии (окончаний, приставок). Также на этом этапе отбрасываются стоп слова и символы, которые не несут никакого тематического значения.
2. На основании полученного результата отбрасываются низкочастотные словосочетания или слова.
3. Строятся наборы шинглов с учетом вхождений выбранных слов или словосочетаний. Получаем набор цепочек шинглов с нормальным законом распределения относительно семантического ядра текста.
4. Отбрасываем частично цепочки. Делаем более или менее маленькую выборку. Последовательность действий здесь может совпадать с методом шинглов - удаляем цепочки в зависимости от действительного расположения вхождения частотных слов в текст.
5. Сравниваем полученные последовательности шинглов. В результате делаем суждение о схожести текстов на основании количества совпадений - процентное отношение количества совпавших слов относительно объема текста или семантической выборки.

В результате для создания хорошего копирайта автору придется приложить больше усилий, а еще лучше написать уникальный текст :-)

Комментариев нет

Комментариев нет.

RSS-лента комментариев к этой записи.

Извините, обсуждение на данный момент закрыто.

алгоритмы, методы, программы - OrionXL