Научная статья на тему 'Исследование лексического метода вычисления схожести строк с учетом предварительной обработки'

Исследование лексического метода вычисления схожести строк с учетом предварительной обработки Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
626
110
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОИСК В ИНТЕРНЕТЕ / НЕЧЕТКИЕ ДУБЛИ / СХОЖЕСТЬ ДЖАККАРДА / ВЫЧИСЛЕНИЕ СХОЖЕСТИ СТРОК / ПОЛНОТА ВЫЧИСЛЕНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Неелова Н. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Исследование лексического метода вычисления схожести строк с учетом предварительной обработки»

Список литературы

1. Микропроцессорные контроллеры автоматических систем регулирования с расширенными функциональными возможностями / А. А. Говоров [и др.]. Тула: ТулГУ, 2003. 172 с.

2. Бирман А. И. Пневматический супервизорный регулятор // Пневмогидроавтоматика и пневмопривод: тез. докл. всесоюз. совещ. Ч. 1. Суздаль. М., 1990. С. 88.

3. Супервизорный пропорционально-интегрально-дифференциальный регулятор: пат. 2157558 Рос. Федерация; опубл. в БИ. 2000. Бюл. № 28. 6 с.

4. Ловчаков В.И., Сухинин Б.В., Сурков В.В. Нелинейные системы управления электроприводами и их аналитическое конструирование. Тула: ТулГУ, 1999. 180 с.

А. Govorov

The supervisory automatic regulators for electric servomechanism

For automatic corner control system for electric engine is offered use the supervision proportional-integral- (PI-) and proportional-integral-derivative (PID)-regulators, beside to-torah are installed in channel of the task for each forming law of control additional dynamic blocks. Supervisory systems allow simultaneously optimum image to perfect assigning and outraging influences on electric servomechanism.

Получено 07.04.09

УДК 004.738.52

Н.В. Неелова, асп., (4872) 41-91-64, neelova.natalia@gmail.com (Россия, Тула, ТулГУ)

ИССЛЕДОВАНИЕ ЛЕКСИЧЕСКОГО МЕТОДА ВЫЧИСЛЕНИЯ СХОЖЕСТИ СТРОК С УЧЕТОМ ПРЕДВАРИТЕЛЬНОЙ ОБРАБОТКИ

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

Ключевые слова: поиск в Интернете, нечеткие дубли, схожесть Джаккарда, вычисление схожести строк, полнота вычисления.

С развитием вычислительной техники и технологий в области Интернет-услуг, с увеличением числа хранящихся и обрабатываемых документов все большую значимость принимает проблема дублирования ин-

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

Указанная проблема широко исследуется в настоящий момент, а результаты многих исследований и разработанные алгоритмы воплощены в работу поисковых машин. Предлагаемые подходы решения проблемы дублирования можно разделить на методы offline (предварительной) и online (на лету) кластеризации. При offline-методах кластеризация дублей происходит на этапе индексации сайта. Главным недостатком offline-методов является невозможность кластеризации в случае существенного отличия документов, но при наличии схожих релевантных запросу частей.

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

Таким образом, вычисление схожести строк часто является подзадачей вычисления схожести объектов и, следовательно, задачей поиска нечетких дублей. Одним из методов нечеткого сопоставления строк является подход, основанный на сопоставлении лексем, - схожесть Джаккарда. Согласно исследованиям [1] функция схожести Джаккарда лучше других подходит для реализации системы online-фильтрации дубликатов вебдокументов в промышленных масштабах, так как имеет достаточно высокую производительность при незначительно худших результатах полноты. Неустойчивость алгоритма проявляется при наличии орфографических ошибок и синонимических замен.

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

Функция схожести Джаккарда

Методы, основанные на сопоставлении лексем, оперируют векторной моделью документов и рассматривают тексты как набор слов. Одним из наиболее распространенных способов сопоставления строк в векторном пространстве является схожесть Джаккарда:

sim( x, y) =

xv } n {yp,..., yw }| |{x0,---, xv } ^ {У0,..., yw }Г

vVJ

где x, y - сравниваемые строки; v, w - количество лексем в сроках x и y соответственно; {xo,..., xv}, {yo,..., yw} множество лексем этих строк.

Другой формой записи схожести Джаккарда является выражение

X xiyi

sim( x, y) =--2----г~2-------------------------------, (1)

X xi + X xi — X xiyi iii

где x, y - сравниваемые строки; i - количество лексем в сроках x и y.

Из формулы (1) видно, что мер а пр инимает значение от 0 до 1 и достигает максимума при полном совпадении двух множеств. Данная мера проста, но согласно источнику [2] можно выделить два существенных недостатка. Во-первых, она не учитывает разницу в размере сравниваемых документов, во-вторых, при ее вычислении не используется информация о частоте употребления термов, составляющих документы. Также были указаны проблемы орфографических ошибок, коротких строк и синонимических замен. Несмотря на перечисленные недостатки, результаты исследования [1] показали, что использование в промышленных масштабах функции Джаккарда по сравнению с другими методами online-фильтрации дубликатов веб-документов наиболее предпочтительно, так как имеет достаточно высокую производительность при незначительно худших результатах полноты.

Методы оценки эффективности алгоритмов поиска дубликатов

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

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

a

precision =-----,

a + b

где a - количество найденных пар дубликатов, совпадающих с «релевантными» парами; b - количество найденных пар дубликатов, не совпадающих с «релевантными» парами.

Полнота характеризует способность системы находить дубликаты, но не учитывает количество ошибочно определенных недубликатов:

recall = ——, a+ с

где a - количество найденных пар дубликатов, совпадающих с «релевантными» парами; с - количество не найденных пар дубликатов, совпадающих с «релевантными» парами.

F-мера является гармоническим средним и часто используется как единая метрика, объединяющая метрики полноты и точности:

Fj= 2 • precision • recall precision + recall

Соотношение полноты и точности, а также значение F-меры, зависит от пороговых значений схожести, при которых два документа считаются дубликатами. Так как в разных системах и задачах цена ошибки первого рода и ошибки второго рода является разной, то наиболее полное представление о характеристиках системы дает график полноты/точности.

Цель исследования

В работе [1] был сделан вывод о предпочтительности использования алгоритмов на основе схожести Джаккарда по сравнению с основанными на дистанции с аффинными штрафами из-за меньших вычислительных затрат. Однако результаты детектирования функции схожести Джаккарда незначительно хуже, чем результаты функции на основе дистанции с аффинными штрафами. Неустойчивость алгоритма проявляется при наличии орфографических ошибок и при различных размерах строк.

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

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

Таким образом, можно выделить следующие цели данной работы:

- сравнение эффективности алгоритма вычисления схожести строк на основе функции Джаккарда без использования промежуточной обработки и с использованием;

- сравнение эффективности алгоритма вычисления схожести строк на основе функции Джаккарда на разных наборах строк, отражающих разные принципы рерайтинга;

- определение порогового значения схожести для разных наборов строк, отражающих разные принципы рерайтинга.

Постановка задачи

Пусть x = (x^,...,xd)- вектор характеристик объекта предметной области, где размерность d - количество характеристик объекта x. В данном

случае объектом предметной области выступает строка сниппета. X = (Хп) - множество объектов предметной области, і-й объект из Х

определяется как Хі = (ХЯ’...’ ХМ).

Каждой д-й характеристики объекта Х можно поставить в соответствие набор у = (у1’...’Уе) - вектор расширения характеристики объекта предметной области, где е - количество расширений характеристики объ-

у .

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

для характеристики Хід расширение определяется как Уід = (Уіді,. ., Уіде) •

£ = (^11,...5 ¿ш) - множество матриц схожести двух объектов X , где п - количество объектов х . Каждая матрица доступа представляет набор соотношения всех лексем двух сниппетов:

= Он,...,,...,$аъ...,) - вектор схожести объектов Хі и Х>

й- й- = {0,1} размерности аі и а] соответственно, а 4 .

В случае, если у]^ = х^ , где g є [1,0]], а т є [1, е], то

Хіь є (y]gl,...,уige), где И є [1,0і], а следовательно, ¿и ^ = 1, т. е. если

расширенный ряд одой из характеристик соответствует сравниваемой характеристике, то это говорит о схожести данных характеристик и отражается в матрице схожести двух объектов Хі и Х]. Применив формулу [1] к

матрице ¿і ], можно получить коэффициент Джаккарда.

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

1. Представление каждого из объектов предметной области X в виде вектора Х = (Х1,..., Ха). Определение количества характеристик объектов

0і и 0]. Определение мощности пересечения Хі и Х], 0 = Хі и Х] .

2. Построение матрицы схожести ¿і ] двух объектов Хі и Х].

3. Предварительная обработка - присвоение ¿и ig = 1, при

уigm = ХіИ и ХіИ є (уjg1,...,уige) .

4. Вычисление коэффициента Джаккарда с учетом предварительной обработки, используя формулу [1]:

Хі ^ Х] І Ххіх] +ХхіУ]

¿іт( Хі, х ])

1 Хіи Х]1 X Хі +Х Х] -Х хіх] -Х хіУ]

Х {^іИ, ig 1 ¿іИ, ig = 1}

0 Х{^іИ,ig 1 ¿іИ,ig = 1&ХіИ є (уig1,...,уige)}

206

5. Принятие решения о схожести объектов на основе коэффициента Джаккарда 8т( х, Xj).

Начальная XI, X) Построение Ли Предварительная

обработка объектов ¿і, сі], сі матрицы схожести обработка

Не дубли - ад' і г

Принятие решения їіт(хі, х¡) Вычисление коэффициента Джаккарда

пече і кие дуоли / о схожести объектов

Полные дубли

Рис.1. Схема процесса определения схожести строк на основе

коэффициента Джаккарда с предварительной обработкой

Таким образом, можно поставить следующие задачи для построения метода определения схожести строк с предварительной обработкой:

1. Нахождение эффективного метода представления каждого из

объектов предметной области X в виде вектора х = (х^,...,х^).

2. Оптимальная реализация поиска х^ є (у^,...,у ) и учет найденных пар синонимов в пересечении множеств характеристик объектов.

3. Определение условий принятия решения о схожести объектов.

Методика исследования

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

Таким образом, в данном исследовании использовались два набора строк. Каждая строка представляла собой множество 2 - 4 предложений для организации приблизительно равной длины сравниваемых строк. Было отобрано несколько десятков сниппетов, выдаваемых поисковой системой Яндекс. Далее каждый сниппет подвергался рерайтингу. В результате каждая строка имела 5 копий.

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

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

Для удовлетворения задачи представления каждого из объектов предметной области X в виде вектора был применен парсер mystem, предоставляемый компанией «Яндекс» [10]. Программа mystem проводит морфологический анализ текста на русском языке и приводит все слова к нормальной форме. Для слов, отсутствующих в словаре, порождаются гипотезы. Таким образом, вектор объекта x - набор слов в нормальном виде рассматриваемой строки.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Для расчета коэффициента Джаккарда для каждой пары строк была реализована программа, которой задавался файл с обрабатываемыми строками, сравнивающимися между собой, и файл с синонимичным словарем. Для оценки временных затрат также была реализована функция расчета затрачиваемого времени на обработку n-го количества строк. На выходе программы имелись 4 файла: общая матрица схожести Джаккарда n-строк между собой без предварительной обработки, общая матрица схожести Джаккарда n-строк между собой с предварительной обработки и 2 файла соответствующих временных затрат на подсчет указанных матриц.

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

Таким образом, были решены поставленные выше задачи.

Результаты исследований

При ручном рерайтинге были использованы 3 метода обработки. Первый метод - метод перефразирования строк, показал низкие коэффициенты схожести (строки не являются нечеткими дублями), которые колебались между 5...30 %. Второй метод - замена слов синонимичными при условии использования собственного запаса слов. Коэффициенты схожести были очень завышены и составляли 70... 80 %. Третий метод комбинации перефразирования и замены синонимами показал средний результат схожести 40...6G %.

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

2G8

Рис. 2. Соотношение улучшения расчета коэффициентов Джаккарда с учетом синонимического словаря к традиционному расчету при ручной подготовке кластеров строк и автоматической:

—■— - автоматическая обработка;

- - - - - среднее улучшение, автоматическая обработка;

—<•— - ручная обработка;

—- среднее улучшение, ручная обработка

При автоматическом рерайтинге за базовые строки были приняты сниппеты первой группы. Далее была применена программа синонимайзер Night ArticleGen, и для каждой строки было выписано 5 вариантов. После чего проводилась обработка разработанной программой. В результате коэффициенты схожести составили в среднем при расчете без использования словаря 30...50 %, а с учетом словаря 60...80 %. На графике рис. 2 видно, что улучшение при использовании синонимичного словаря в среднем составило примерно 30 %.

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

После получения матриц Джаккарда была произведена оценка полноты метода при детектировании нечетких дублей с учетом словаря и без него для двух групп. Точность обеих групп и экспериментов составила 100 % при схожести Джаккарда 15.20 %, большая точность уже при малых коэффициентах объясняется искусственно созданными данными.

Из рис. 3 видно, что графики полноты при ручной кластеризации строк при расчете схожести со словарем и без практически совпадают, что

говорит о неэффективности предложенного метода при создании кластеров ручным методом.

Противоположный результат получен во втором эксперименте. Полнота поиска при предварительной обработке начинает снижаться лишь при пороговом значении коэффициента Джакарда 0,8 или 80 % схожести. Без предварительной обработки метрика полноты начинает убывать уже при 50 % схожести.

Рис. 3. Показатели метрики полноты при различных вариациях кластеров при использовании словаря и отказе от предварительной обработки:

—♦— - автоматическая обработка, расчет со словарем;

- -и- - - автоматическая обработка, расчет со словарем;

- ручная обработка, расчет со словарем;

—•— - ручная обработка, расчет со словарем

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

Можно выделить следующие направления уменьшения временных ресурсов:

- улучшения метода поиска синонимов;

- распараллеливание процесса расчета коэффициента;

- уменьшение набора слов строки (например, устранение стоп-

слов);

- доработка алгоритма с учетов частоты слов в наборе;

- уменьшение числа сравниваемых строк (согласно статистике в [3], пользователь просматривает лишь первые страницы выдачи, на практике можно ограничиться именно этими 30 - 50 сниппетами для сравнения).

Время расчета матрицы схожести Джаккарда

Время обработки, с

Количество Ручная Автоматическая

строк Обработка обработка

без словаря со словарем без словаря со словарем

2 46 777468 47 564063

20 734 9896203 547 7177688

40 1328 16423812 1032 13081500

60 1515 18066343 1157 14444766

Заключение

Предложенный метод расчета схожести двух строк с предварительной обработкой в виде проверки набора слов сравниваемых строк на синонимическую зависимость показал хорошие результаты на кластере, созданном при использовании синонимайзера. Чем подключаемый словарь при создании копий ближе к словарю при детектировании нечетких дублей, тем процент эффективности метода больше.

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

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

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

Список литературы

1. Цыганов Н.Л., Циканин М.А. Исследование методов поиска дубликатов веб-документов с учетом запроса пользователя // Интернет-математика 2007: сб. работ участников конкурса / Екатеринбург: Изд-во Урал. ун-та, 2007. С. 211-222.

2. Кондратьев М.Е. Анализ методов кластеризации новостного потока. Тула: Изд-во ТулГУ, 2006. 150 с.

3. Ашманов И., Иванов А. Оптимизация и продвижение сайтов в поисковых системах. СПб.: Питер, 2008. 400 с.

4. Порождение кластеров документов-дубликатов: подход, основанный на поиске частых замкнутых множеств признаков / С.О. Кузнецов

[и др].

5. Зеленков Ю.Г., Сегалович И.В. Сравнительный анализ методов определения нечетких дубликатов для WEB-документов // Труды 9-й Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» RCDL’2007: сб. работ участников конкурса / Переславль-Залесский, Россия, 2007.

6. Эффективный способ обнаружения дубликатов web доку-ментов с использованием инвертированного индекса / С. Ильинский [и др.]: пер. с англ. Шкредова Л., 2004 [Электронный ресурс]. Электрон. дан. (1 файл). http://company.yandex.ru/articles/article7.html.

7. Ukkonen E. Finding approximate patterns in strings // Journal of Algorithms. Vol. 6: 1985. P. 132-137.

8. Никконен А.Ю. Устранение избыточности и дублирования сюжетов новостных сообщений // Сборник работ участников конкурса «Интернет-математика 2007». С. 153-163.

9. Рузанов Д. Проблема дублирования контента: что есть «дубликат» для поисковых систем, 2007 [Электронный ресурс]. Электрон. дан. (1 файл). http://www.seonews.ru/masterclass/85/.

10. Segalovich I. A fast morphological algorithm with unknown word guessing induced by a dictionary for a web search engine. MLMTA, 2003 [Электронный ресурс]. Электрон. дан. (1 файл). http://yandex.ru/articles/iseg-las-vegas.xml.

N. Neelova

Investigating the lexical method of strings similarity computation based on preliminary processing

The mathematical model of beforehand generated clusters with set accuracy lines similarity computation based on measure Jaccard with preliminary processing under the dictionary of synonyms is developed. Efficiency of the developed model is investigated. Preconditions of reduction of computing resources are considered at preservation of the received completeness of calculation.

Получено 07.04.09

i Надоели баннеры? Вы всегда можете отключить рекламу.