УДК 004.738.52
Н. В. Неелова, аспирант, [email protected] (Россия, Тула, ТулГУ), А. А. Сычугов, канд. тех. наук, доц., (4872)35-15-54, [email protected] (Россия, Тула, ТулГУ)
ВЫЧИСЛЕНИЕ НЕЧЕТКИХДУБЛЕЙ ПО ФОРМУЛЕ ДЖАККАРДА С УЧЕТОМ СИНОНИМИЧЕСКИХ ЗАМЕН И СТОПОВЫГХ СЛОВ
На основе математической модели вычисления схожести строк по формуле Джаккарда была разработана модель с предварительной обработкой сравниваемых объектов по словарю стоп-слов и синонимов. Эффективность полученной модели была исследована на практике. Рассмотрены преимущества и недостатки исполървания стопового словаря.
Ключевые слова: нечеткие дубли, схожесть Джаккарда, вычисление схожести строк, полнота вычисления, стоп-слова, ¡ё/.
В связи с тем, что Интернет-технологии в настоящие время стаи инструментом ведения бизнеса, все чаще используются черные методы продвижения на рынке товаров или услуг. Среди них можно выделить преднамеренное создание зеркал сайтов, незаконное копирование информации, обман поисковых систем и т. д. Поэтому все большую значимость принимает проблема детектирования дублей и устранение плагиата. Для решения задачи определения нечетких дубликатов в настоящий момент используют методы, рассмотренные в [1].
Кластеризация документов по признаку нечетких дублей происходит на основе соотношения вычисленной числовой меры их сходства. Детектирование дублей осуществляется на лету (опНпе-методы) или предварительно во время индексации документа (оГШпе-методы). Основной недостаток оГШпе-методов - невозможность кластеризации в случае существенного отличия документов, но при наличии схожих релевантных запросу частей. Однако в отличие от опНпе-подходов при оГШпе-методах индекс-на база поисковых систем сокращается (при опНпе-методах схожесть документов относительно раных запросов будет рана).
Перед расчетом коэффициента схожести с веб-документа снимается ИТМЬ-разметка, а сам документ представляется в виде линейной последовательности слов, символов, предложений (синтаксические модели) или в виде выбранных представительных слов (лексический метод). Вычисление схожести строк часто является подзадачей вычисления схожести объектов и, следовательно, задачей поиска нечетких дублей. Одним из методов нечеткого сопоставления строк является подход, основанный на сопоставлении лексем, - схожесть Джаккарда. Согласно исследованиям [2] функци схожести Джаккарда лучше других подходит для реаизации системы оп-Нпе-фильтрации дубликатов веб-документов в промышленных масштабах, т. к. имеет достаточно высокую производительность при незначительно
худших результатах полноты. Неустойчивость алгоритма проявляется при наличии орфографических ошибок и синонимических замен.
В работе [3] предложена модель кластеризации схожих строк на основе лексического online-метода Джаккарда с внедрением дополнительной функции, учитывающей возможность синонимических замен. Использование предварительной обработки строки на возможность преднамеренного и случайного редактирования позволил сгладить указанные выше недостатки использования функции Джаккарда.
Однако в указанной модели не учитывались стоп-слова, которые вносят шум в коэффициент схожести, что влияет на скорость обработки, полноту и точность показателей алгоритма детектирования дублей. Практик показывает, что наиболее значимые для текста слова лежат в средней части частот употребления данного слова во всей коллекции документов. Этот факт имеет простое обоснование. Слова, которые попадаются слишком часто, в основном оказываются предлогами, местоимениями. Редко встречающиеся слова тоже в большинстве случаев не имеют решающего смыслового значения, т. к. являются либо словом с опечаткой, либо междометием, либо заимствованными словами и т. п.
От установки ширины зависит качество отделения значимых слов, а следовательно, качество построения образа документа. Если установить большую ширину диапазона, то в ключевые слова будут попадать вспомогательные; если диапазон будет узким, можно потерять смысловые термины. Поэтому в каждом отдельном случае необходимо использовать ряд эвристик для определения ширины диапазона, а также методики, уменьшающие влияния этой ширины.
Одним из способов является предварительное исключение из исследуемого текста слов, которые изначально не могут являться значимыми, поэтому являющиеся «шумом». Для русского текста стоповыми словами могли бы явлэться все предлоги, частицы, личные местоимения.
В данном исследовании будет произведена оценка влияния нейтральных или стоповых слов на коэффициент схожести документов. Стоп-слова получены путем предварительной статистической обработки текстов различного содержания (исключить в лине тематичности текстов). В расчете участвовала мера обратной частоты ICF каждого слова, модификаци стандартного IDF [4]. В результате полученный словарь стоп-слов участвовал в расчете коэффициента схожести Джаккарда с предварительной обработкой на текстах и строках и без нее. В результате были сделаны выводы об использовании словаря стоп-слов в расчетах коэффициента схожести.
Функция схожести Джаккарда - метод оценки текстов, основанный на сопоставлении лексем, оперирующий векторной моделью докуменов и рассматривающий тексты как набор слов:
{x0,..., Ху} ^ {У0 ,..-Ум}-_________1_
1х2+1
/ / /
5Ш(х,у) = ! ^ = 2 * 2 ^-----, (1)
{х0,..., Ху} и{у0,..., ум}\ I*2 +1*1 ~1хУ1
где х, у - сравниваемые тексты; V, - количество лексем в тексте х и у соответственно; {*0,...,Ху}, {У0,...,ум}- множество лексем этих тексов; i - количество лексем в текстах х и у.
Из формулы (1) еле дет, что область значений функции от 0 до 1 и достегает максимума при полном совпадении двух множеств. Согласно источнику [5] существуют 2 недостатка: не учитывается разница в размере сравниваемых документов и не используется информаци о частоте употребления термов, составляющих документы. Также были укааны проблемы орфографически ошибок, коротких строк и синонимических замен. Однако согласно исследованию [2] функция Джаккарда более эффекттна при использовании в промышленных масштабах по сравнению с другими методами опНпе-фильтрации дубликтов веб-документов, так кк имеет достаточно высокую производительность при незначительно худших результатах полноты.
Функция схожести Джаккарда с предварительной обработкой. Если Х = (*1 ....,Хё)- вектор характеристик объекта предметной области, где размерность (1 - количество характеристик объекта Х, то в данном случае объектом предметной области выступает текст обрабатываемого документа. X = (Х\ .....Хп) - множество объектов предметной области; ьй объект из
X определяется как Х) = (Хц...,Хё ).
Каждой q-й храктеристики объекта Х можно поставить в соответствие набор у = (у1 .....Уе) - вектор расширения храктеристики объекта предметной области, где е - количество расширений характеристик объекта Х^. В данном случае под расширением понимается синонимичный рад для хждого слова документа. При этом вектор у может быть нулевым, а для храктеристики Х^д расширение определяется как у^ = (у^д\.....у1де).
£ = (?\\.....5пп) - множество матриц схожести двух объектов X, где
п - количество объектов X. Кажда матрица доступа представляет набор Соотношения ВСех Лексем Двух документов: 5^- =(£\\.•. .^\ё/.....^ё/\.-..^¿Иё,])
- вектор схожести объектов Х^ и Х- рамерности (У и 4) соответственно, а
*,]= {0Л}.
В случае, если у= х2и , где g е[ \ ё]], а т е [\, е] , тогда
Х^ е (у jg\..... у-^е), ге И е [\¿¡] . а следовательно, 5^ -^ = \ то есть, если
расширенный ряд одой из характеристик соответствует сравниваемой характеристике, то это говорит о схожести данных характеристик и отража-
ется в матрице схожести двух объектов Xj И Xj . Применив формулу (1) к матрице Sj j , получаем коэффициент Джаккарда:
В источнике [6] представлена подробна схема принятие решения о схожести объектов на основе коэффициента Джаккарда.
Оценки эффективности методов поиска дубликатов. Наилучшую характеристику эффективности работы системы в задачах информационного поиска дают метрики точности и полноты.
Точность (precision) характеризует способность системы выдавать в списке результатов только документы, действительно являющиеся дубли-
совпадакмцих с «релевантными» парами; b - количество найденных пар дубликатов, не совпадающих с «релевантными» парами.
Полнота (recall) характеризует способность системы находить дубликаты, но не учитывает количество ошибочно определенных недублика-
дающих с «релевантными» парами; с - количество ненайденных пар дуб-ликтов, совпадающих с «релевантными» парами.
Цель исследования. В работе [1] был сделан вывод о предпочтительности использования алгоритмов на основе схожести Джаккарда, нежели основанных на дистанции с аффинными штрафами из-за меньших вычислительных затрат. В работе [3] было установлено эффектность ис-пользовани предварительной обработки на предмет синонимических замен, что позволило увеличить полноту детектировани дублей. Однако при вычислении коэффициента Джаккарда с предварительной обработкой значительно увеличивают временные затраты.
В качестве варианта сокращения времени обработки было предложено сокращать количество обрабатываемых слов, например, устранять стоп-слова. Для русского текста стоповыми словами могли бы являться все предлоги, частицы, личные место имени. При удаени стоп-слов также устраняется шумовые воздействия на коэффициент схожести.
Так как на объектах в два-три предложени оценить результативность удаления стоп-слов будет сложно в связи с маой вероятностью их встречаемости, в исследовании будут участвовать также тексты. Проблема значительного отличия рамера обрабатываемых документов не возникает в исследуемой области, так как объем текстов одинаков — 2000 символов и тоже относится к группе сниппетов фиксированного рамера.
катами: precision =------, где a - количество найденных пар дубликатов,
a+b
a
тов: recall
a
, где a - количество найденных пар дубликатов, совпа-
a+ с
Результативность удаения стоповых слов будет исследована на методе Джаккарда и методе с предварительной обработкой на предмет синонимичных замен.
Таким образом, можно выделить следующие цели данной работы:
- сбор статистической информации по стоп-словам и определение алгоритма устранения нейтраьных слов в обрабатываемом документе;
- сравнене эффективности агоритма вычисления схожести строк с устранением стоповых слов на основе функции Джаккарда с предварительной обработкой синонимиеских замен и без нее на наборах строк;
- сравнение эффективности агоритма вычисления схожести документов с устранением стоп-слов на основе функции Джаккарда с предварительной обработкой синонимических замен и без нее на наборах документов.
Постановка задачи. Пусть каждой т-й характеристике объекта Х = (Х\,...,Хё)можно поставить в соответствие значение из множества Ж = {мт I мт = Ю¥( т)} - множество idf значений всех слов коллекции. Другими словами, каждое слово документа имеет свой idf. Путем эмпирических исследований устанавливается интервал значимых слов:
[мт1п; мтах], где м,т|п и мтах- минимаьна и максимаьна пропускна граница характеристик объекта.
Таким образом, определение схожести двух документов с предварительным удаением стоп-слов и обработкой на предмет синонимических замен включает в себя следующие этапы (рис. 1):
1. Представление каждого из объектов предметной области X в виде вектора Х = (Х\,...,Хё). Удаление из характеристик объекта те, которые не
принадлежат [^щ;^тах], т. е. 3{Хт е Х | Мт е [; М^х ]} . Определение
мощности пере сечения Х^ и Х-, ё = Х} ^ Х] .
2. Построение матрицы схожести 5 - двух объектов Хг и Х].
3. Предварительна обработка - присвоение ¿¡и, jg = \, при уjgrm = хи
и Хгк е(у jg\,...,у jge ).
4. Вычисление коэффициента Джаккарда с учетом предварительной обработки, используя формулу [1]:
. , \Хг ^Хj \ I\>ih,jg jg = \}
Б1т(Х1. Х 4) = —--=--------—г------------^------—----------------*.
\Хг ^ х] \ ё ~ 1 ^sih,jg \ sih,jg = \ л Хгк е (у jg\.....уjge )}
5. Принятие решения о схожести объектов на основе коэффициента Джаккард а Бт (Х1, х- ).
Рис.1. Схема определения схожести строк на основе коэффициента Джаккарда с предварительным удалением стоп-слов и обработкой
на синонимические замены
Таким образом, можно поставить следующие задачи для построения метода определения схожести документов с предварительным удалением стоп-слов:
1. Определение IDF-функции для вычисления wm значений и построение W = {wm | wm = IDF(m)}.
2. Определение инерваа значимых слов [wmin;wmax].
3. Внедрение удаения стоп-слов в алгоритм определения схожести объектов.
Методика исследования. В качестве функции IDF - инверсной частоты термина согласно источнику [4] предлагается использовать формулу
= TotalLemms (2)
= CF ’ ()
где TotalLemms - общее число вхождений всех лемм в коллекции, CF -число вхождений леммы в коллекцию.
Из приведенных в [4] вариантов IDF лучший результат в данном исследовании покаала именно функция (2).
Для получения статистических данных по всем леммам была написана программа, на вход которой подаваись тексты раличного содержания (устранение тематического влияния). Программа обработала порядка 500 МБ текстовой информации. В результате обработки был получен словарь обратных частот слов в нормаьной форме. Лемматизация слов была осуществлена с помощью парсера mystem, компании «Яндекс».
Все элементы словаря были отсортированы в порядке увеличения обратной частоты. В результате анаиза данного словаря был получен ин-терва значимых слов: [500; 191703]. В реализации программы расчета схожести докуменов была предусмотрена возможность изменения интер-ваа значимых слов. Однако наибольший эффект получен при данных коэффициентах, которые были установлены по умолчанию.
Непосредственно программа расчета схожести документов была дополнена обработкой стоп-слов пи сохранении возможности вычисления
коэффициена подобия без использования словаря обратных частот (первоначальна реаизация программы [3]).
В исследовании принимаи участие две контрольные группы: группа сниппетов и группа текстов. Группа сниппетов представляла собой наборы из 2-4 предложений. Было отобрано несколько десятков сниппетов, выдаваемых поисковой системой Яндекс. Далее каждый снтпет подвергася рерайгингу: ручному и автоматическому. Группа текстов также обрабаты-ваась подобным образом.
В исследовании использовася словарь синонимов на 14 тыс. слов. В качестве синонимайзера (программа, рамножающа статьи пи помощи синонимичных рядов), к которому подключался словарь синонимов, в даьнейшем участвовавший в предварительной обработке матрицы схожести, выступила программа Night ArticleGen.
Для лемматизации слов каждого документа, т. е. для удовлетворения задачи представления каждого из объектов предметной области X в виде вектора, был применен парсер mystem, предоставляемый компанией «Яндекс». Программа mystem производит морфологический анаиз текста на русском языке, представляя все слова в нормаьной форме. Для слов, отсутствующих в словаре, порождаются гипотезы. Следовательно, вектор объекта x - набор слов в нормаьном виде рассматриваемого документа.
Таким обраом, для реаизованной программы расчета схожести строк на основе коэффициента Джаккарда входными данными являются: обрабатываемые докумены, словарь обратных частот, словарь синонимов. Выходными данными являются 4 файла с матрицами: без удаения стоп-слов и без синонимической обработки; с удаением стоп-слов, но без синонимической проверки; без удаения стоп-слов, но с синонимической проверкой; с удаением стоп-слов и синонимической обработкой. Для оценки временных затрат также была реаизована функция при использовании предварительной синонимической обработки.
С помощью матриц рассчитывались покаатели точности и полноты для обеих групп. При этом по условию количество нечетких дублей было известно заранее. В результате были построены графики, оценивающие метрики раработанного агоригма, и графики эффектности агоритма поиска нечетких дублей с раличными условиями.
Таким обраом, были решены поставленные выше задачи.
Результаты исследований. В результате раработанного программного модуля и обработки порядка 500МБ текстовой информации ралично-го содержания (для устранения влиянш тематичности на построене словаря обратных частот) был составлен словарь обратных частот слов в ра-мере более 150 тыс. позиций. На множестве данного словаря была установлена зона значимых слов: [500; 191703].
Использование данного словаря и функции удаени стоп-слов дало хороший результат в борьбе с шумовыми покаателями. Наиболее четко
сглаживание влияния шумов прослеживается на исследуемом множестве сниппетов. На рис. 2 представлены средние показатели коэффициента Джаккардаи шумов каждого сниппета.
номер документа
—■ коэффициент Джаккарда без удаления
стоп-слов и синонимов
— ■- - - показатель шу мов без удаления отп-
ело в и синонимов
—*—коэ ффициентДжаккарда с удалением стоп-слов, но не синонимов
— ■ ■ показатель шу мов с удалением стоп-
сло в, но не синонимов
—ж—коэ ффициентДжаккарда с удалением синонимов, но не стоп-слов
— *'■'показатель шу мов с удалением
синонимов, но не стоп-слов
—0—коэффициент Джаккарда с удалением стоп-словисинонимов
— е- - - показатель шу мов с удалением стп-
сло в и синонимов
Рис.2. Сравнение шумовых показателей и показателей схожести при различных вариация обработки сниппетов
Из рис. 2 видно, что уровень шумов при использовании функции удаления стоп-слов снизился с 5.. .10 до 1.. .3 %. Также согласно рис. 2 при использовании функции удаления стоп-слов коэффициент Джаккарда уменьшается (влияние шумов устраняется). Однако эффективность алгоритма при этом не уменьшается. Изменяется лишь критический интервал, согласно которому определяются нечеткие дубли. В данном случае критическим интервалом можно считать [20.30 %] (снижение на 5 % по сравнению с результатами [6]). Что касается влияния функции удаления стоп-слов на различные варианты: рерайгинга, то существенного отличия от результатов эксперимента [3] не наблюдается.
Похожие выводы: можно сделать, применяя разработанный программный комплекс на множестве документов текстовым объемом в 2000 знаков каждый. Разница между коэффициентами Джаккарда с предварительным удалением стоп-слов и без него составила 2 %, что также объясняется уменьшением шумового воздействия.
На рис. 3 представлен график соотношения метрики «Полноты» в различных вариациях. Из данного графика видно, что эффективность использования предварительной обработки слов на синонимические замены: при удалении стоп-слов также эффективна. Отклонение от графика полноты: без использования стоп-слов, но с предварительной синонимической обработкой незначительное.
коэффициент Джаккарда
Рис.3. Показатели метрики полноты при различных вариациях использования предварительного удаления стоп-слов и синонимов
Временные затраты при использовании функции удаления стоп-слов сократились примерно в 2 рла. Ниже в таблице приведена четь данных о временных затратах.
Время расчета матрицы схожести Джаккарда
Характеристика документа Время обработки, мс
Без удаения стоп-слов С удаением стоп-слов
4 документа по 2000 знаков 4298422 2750469
20 документа по 300 знаков 1976875 991360
4 документа по 4000 знаков 9112485 7715109
Из таблицы видно, чем больше количество сравниваемых строк между собой, тем выше время обработки. Несмотря на сокращение временных затрат вдвое, время расчета коэффициента Джаккарда с предварительной обработкой на предмет синонимически замен все также критически велико для использования его в оГШпе-методах.
Заключение. Предложенна функция удаения стоп-слов для расчета коэффициента Джаккарда с предварительной обработкой в виде проверки набора слов сравниваемых строк на синонимическую зависимость помогла сократить в двое временные затраты. Однако время расчета коэффициента схожести документов с предварительной синонимической обработкой остается критически велико, что не позволяет использовать методику в оШте'-методах детектирования нечетких дублей.
Использование функции удаения нейграьных слов уменьшает границы критического интерваа, в соответствии с которым происходит детектирование нечетких дублей. Это происходит в связи с устранением шумовых эффектов, возможных за счет стоп-слов.
Показатель полноты по сравнению с расчетом коэффициента Джаккарда без удаения стоповых слов немного ниже. При тематических текстах указанное снижение может привести к уменьшению точности. В связи с этим необходимо учитывать тематичность при его обработке. Также при учете частотности слов в документе можно будет более качественно построить его модель, а следовательно, получить более эффективные результаты при детектировании нечетких дублей.
Библиографический список
1. Неелова Н. В. Методы кластеризации веб-дубликатов как инструмент повышения кчества ответа поисковых систем // Инновационные подходы к применению информационных технологий в профессионаьной деятельности. сб. научных трудов. Белгород, 2009. С. 305-309.
2. Цыганов Н. Л., Циканин М. А. Исследование методов поиск дубликатов веб-документов с учетом запроса пользователя // Интернет-математика 2007: сб. работ участников конкурса. Екатеринбург: Изд-во Ура. ун-та, 2007. С. 211-222.
3. Неелова Н. В. Исследование лексического метода вычисления схожести строк веб-документа с учетом предварительной обработки // XXXV Гагаринские чтения: научные труды Международной молодежной научной конференции в 8 т./ М.: МАТИ, 2009. Т. 4, С. 31-32.
4. Гулин А., Маслов М., Сегаович И. Алгоритм текстового ранжирования Яндекса на Р0МИП-2006 // Труды РОМИП 2006.
5. Кондратьев М. Е. Анализ методов кластеризации новостного поток.
6. Неелова Н. В. Предварительная обработка строк пи критическом коэффициене Джаккарда для улучшения вычисления схожести вебдокументов// Сборни материаов Всероссийской научно-практической конференции с международным участием «Информационные технологии в профессиональной деятельности и научной работе». Йошкар-Ола. Марийский государственный технический университет, 2009. С.146-148.
N. Neelova, A. Sychugov
Near-duplicate computation by Jaccard's measure consideration synonymous equivalents and stop-words
The model with preliminary processing under the dictionary of stop-words and synonyms based on the mathematical model of lines similarity computation by Jaccard's measure is developed. The efficiency of received model is investigated in practice. Advantages and use lacks the stop-dictionary are considered.
Получено 12.11.2009