Подходы к нечеткому поиску нежелательного контента на веб-странице

Хеширование текста и метод шинглов - предварительно фразы из словаря и выделенные по специальному признаку фрагменты текста трансформируются таким образом, чтобы некоторая хеш-функция от похожих фрагментов возвращала одинаковые (численные) значения [7]; поиск осуществляется в предварительно проиндексированном тексте. Обычно трансформацию подбирают таким образом, чтобы оставить только значимые лемматизированные и стеммизиро-ванные слова текста, часто без учета их порядка. Достоинства: это один из немногих способов поиска, когда искомый текст и текст, в котором ищут, могут быть, теоретически, произвольно большого размера. Недостатки: требуется предварительная индексация всех искомых фрагментов и текста, в котором ищут, часто для уменьшения размера индекса используют вычислительно сложные алгоритмы трансформации.

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

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

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

Стемминг - алгоритм усечения слов по ряду эвристических правил [9-10]. Стемминг обычно является частью этапа предобработки контента. Достоинства: высочайшая скорость работы, снижает размер индекса, не требует словаря словоформ. Недостатки: алгоритм хуже лемматизации, способен превращать в «одинаковые» слова изначально разные по смыслу и написанию.

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

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

также О(тп)) фактически неприменим для поиска длинных текстов [11].

Расстояние Дамерау-Левенштейна - модификация расстояния Левенштейна - дополнительно вводится операция транспозиции (перестановка соседних букв). Достоинства и недостатки соответствуют алгоритму Левенштейна [12].

Расстояние Джаро-Винклера - каждый символ первой строки сравнивается со всеми совпадающими с ним символами второй строки. Число перестановок определяется как число совпадающих, но идущих в неверном порядке символов, поделенное на два. Достоинства: показывает хорошие результаты на естественных текстах. Недостатки: вычислительно сложен для длинных текстов [13].

В последние годы на смену традиционным метрикам приходит представление слов осмысленного текста в виде векторов, причем многомерное пространство компонент вектора организовано таким образом, что векторы семантически одинаковых слов расположены «близко» друг к другу (слово «близко» взято в кавычки, поскольку пространство не является строго метрическим) (word2vec [14], GloVe [15]). Последнее обстоятельство позволяет ввести меру схожести двух любых слов, входящих в словарь, на основе которого генерировалось пространство векторов [14-16]. Следует отметить, что эта мера сходства (часто это просто вещественное число между 0 и 1 в значении «расстояние между смыслами слов»), в отличие от всех других, является естественной для понимания человеком, а величина - ожидаемой им на основе его собственного жизненного опыта. Более того, подобные методы, в зависимости от алгоритма построения пространства, имеют следующие особенности, делающие их в большинстве применений уникальными: а) возможно вычисление меры похожести не только слов, но словосочетаний и фраз; б) корректная работа с ошибочно написанными словами, которые получают место в пространстве, близкое к их правильному написанию и употреблению; в) корректная работа (на основе контекста употребления) со словами, не входящими в словарь и/или неизвестными на момент создания многомерного пространства векторов слов. В основу подобных методов построения положены алгоритмы сжатия с потерями, выделения главных компонент, снижения размерностей, автокодирующие нейронные сети и некоторые другие. Алгоритм точнее работает, если тематика проверяемого текста соответствует тематике корпуса текстов. Применение с учетом контекста повышает точность (качество работы). Достоинства: сравнительно высокая скорость применения, высочайшее качество контекстно-зависимой меры схожести слов для естественных текстов. Недостаток: требуется предварительное обучение на корпусе текстов, значительное снижение качества работы на текстах, не соответствующих обучающему корпусу, что частично преодолевается значительным увеличением обучающего корпуса текстов.

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

2359

таким образом, высокую скорость работы с высокой скорость поиска.

КАТЕГОРИИ НЕЖЕЛАТЕЛЬНОГО КОНТЕНТА

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

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

Отдельные слова (в т. ч. и несуществующие слова, т. е. просто набор букв, цифр или иных символов) и фразы (в т. ч. и скомбинированные из несуществующих слов), не имеющие собственного лексического «нежелательного» значения вне контекста их употребления. Фактически контекст является их неотъемлемой частью, однако контекст не имеет негативного значения и имеет собственный смысл без этих «нежелательных» «слов». Пример: нецензурная и бранная лексика с использованием окказионализмов, неологизмов, и лексика, относимая к таковой. Особенности детектирования: поиск с использованием регулярных выражений либо детектирование посредством поиска основ соответствующей лексики, возможны ложные срабатывания и пропуски. Хороший результат дает поиск с использованием нейросетей.

Нежелательный контент, выраженный через эвфемизмы, аналогии, аллюзии, гиперболы, в комбинации с заумью, эрративамии и другими приемами литературного языка, высшая форма - выражение посредством эзопова языка. Пример: в обыденной жизни подобные тексты чаще всего имеют религиозную и/или острую политическую направленность. Особенности детектирования: фактически детектирование не поддается автоматизации и возможно только привлеченными экспертами. Умеренный результат показывают нейросети, предварительно обученные на сравнительно большом корпусе фрагментов нежелательных текстов.

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

ВЫДЕЛЕНИЕ СУЩНОСТЕЙ НЕЖЕЛАТЕЛЬНОГО КОНТЕНТА ИЗ БОЛЬШОГО МАССИВА ТЕКСТОВ

Исходя из предположения, что нежелательный контент, или языковая единица (ЯЕ), достаточно четко определен, например, нецензурная лексика в ее формальном определении, влекущем правовые последствия для российских средств массовой информации [1718], то задачу его фильтрации можно свести к задаче обучения классификатора документов с целью выделения сущностей из текста. При этом сущности могут быть заранее известны (нежелательный контент), написаны с большим количеством ошибок, переданы в любой искаженной форме. Решение данной задачи дает возможность тонкой настройки практически любого алгоритма нечеткого поиска, поскольку выделение сущностей, сопутствующих искомым ЯЕ, восстанавливает контекст и позволяет выявить их наличие последних даже при сильно искаженных формах написания. При этом механизм выделения сущностей нежелательного контента позволяет зафиксировать разумную степень глубины поиска и таким образом сэкономить вычислительные ресурсы, не осуществляя поиск наиболее редких вариантов написания искомых ЯЕ.

Исходные данные. Размеченных корпусов нежелательного контента в свободном доступе не найдено. Для работы был создан и размечен корпус текстов из порядка 200000 слов, содержащих порядка 2500 упоминаний четырех сущностей «популярного» нежелательного контента (1..4). Источником текстов были комментарии (для записей, имеющих 50 и более комментариев) пользователей (далее - «документ») за март-апрель 2016 г. с развлекательных ресурсов [1920]. Данные ресурсы практически не имеют цензурных комментариев и популярны среди молодежи. Правила и устоявшаяся культура этих сообществ подразумевают модерацию и самомодерацию контента.

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

Используются методы классификации на основе байесовского классификатора и метод опорных векторов (support vector machine, SVM) [21]. Обозначения: D - множество всех документов, fl = {ю1,...,юк} -множество из к независимых классов, для каждого класса строится определяющая функция вида rl,d е со,, где и представлен в виде

вектора весов x = {xb...,xm}, где x - вес признака l = 1,.. ,,m; m - количество признаков. Для обучающего множества текстов (x1,y1),.,(xn,yn) класса Wj x; Е Rт -вектор признаков, - отнесение документа

d,, = 1,..,n к одному из классов, т. е. у, = 1, если документ d, относится к классу юь в противном случае -У,- = 0.

При классификации байесовским алгоритмом определяющая функция принимает вид

2360

Я,(Х) =

1 1

1 'р]Кх\ш]) 0 У;/(х I < ^ 'Р]Кх\Ш]) ~

где значения Н, = 1 и Н, = 0 означают, соответственно, принадлежность или непринадлежность классу; р, = р(ю,) - вероятность класса ю,; ) - функция

плотности для класса ю,,, = 1,.. О) означает множество документов, не относящихся к множеству ю,. Используется функция плотности распределения

, где ,

, - среднее направление; ,

- мера концентрации; , - нормали-

зующий множитель. При нахождении Щ(х) для класса ю,,, = 1,...,к, необходимо найти параметры модели. В [22] показано, что после оценки методом максимального правдоподобия они имеют вид:

Р/ = 12?= Р, = ^ ?= 1 ( 1 - Уд, Ч) = Лг,

И] =

М'Л12 ]

= 2 ?= ( 1 -уд.

Г, =2 "= 1 Х{у I,

Классификация методом машин опорных векторов. Для данного метода определяющая функция будет иметь Г1,Д,(х) > 0

вид , где -

где Б, - вспомо-

дискриминантная функция; - век-

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

, причем

У;(и//х; + и/;о) > 1 - Еи ( = 1, ...,п Е1> 0,( = 1,...,п

гательные переменные; С - положительный параметр.

Выделение признаков. В качестве признаков используются: все алфавитно-цифровые символы, составленные из них слова и словосочетания. Современная реализация поддержки русского языка в компьютерах допускает множественные формы написания текста, что в известной степени затрудняет извлечение, собственно, текста из формы его представления. Например, замена символов на символы одинакового («А» (русское) ^ «А» (латинское)), сходного («Я» ^ <Ж», «Ж» ^ «>К»), всевозможные транслитерации («пошел.» ^ «poshoL..»), написание с ошибками («исчо»), вшо^эш эинвeиЬвdоeэdэu и другие способы написания как с целью выделить, так и замаскировать оригинальное значение слов и словосочетаний. Данная проблема решается двумя способами: 1) составление перекодирующей таблицы последовательность символов ^ признак; 2) собственно, использование результатов работы алгоритма извлечения сущностей для выделения сущностей, сопутствующих искомым ЯЕ.

Предварительные эксперименты. Размеченные документы разделялись однородно на обучающую и тестовую выборки в пропорции 70:30. Затем на обучающей выборке тренировалась модель до достижения количества ошибок по тестовой выборке менее 10 %, по-

лученная модель применялась к неразмеченному массиву документов. В ходе работы были выделены сущности (табл. 1), сопутствующие искомым ЯЕ: в основном, это были служебные части речи и фрагменты обстоятельств места либо времени. Следует также отметить, что вероятность того, что при количестве комментариев к записи на любом ресурсе от 10, хотя бы один из комментариев будет с нецензурным словом или выражением, составляет величину, близкую к 100 %.

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

МЕТОД ШИНГЛОВ С РЯДОМ МОДИФИКАЦИЙ

Хороший результат при нечетком поиске фрагментов нежелательного контента посредством алгоритма дедупликации показывает метод шинглов с рядом модификаций. В классическом изложении алгоритм шинглов состоит из следующих этапов (на рис. 1 ряд второстепенных шагов опущен): 1) разбиение текста на слова; 2) исключение стоп-слов и канонизация слов (например, исключение всех прилагательных, исключение всех слов короче 4 букв, а из оставшихся используют только корни слов), получается «текст» для построения

Таблица 1

Состав данных по ресурсам и результаты

Данные Ресурс [191 Ресурс [201

Рассматриваемых в эксперименте документов 3491 832141

Документов, в которых присутствуют ЯЕ (1..4) 2845 63631

Документов, в которых присутствует ЯЕ «1» 1656

Документов, в которых присутствует ЯЕ «2» 1203

Документов, в которых присутствует ЯЕ «3» 2026

Документов, в которых присутствует ЯЕ «4» 1545

Таблица 2 Количество ошибок на тестовой выборке

Размер обучающей выборки, примеров Величина ошибки, %

50 20,79

100 10,16

500 2,12

1000 1,01

2000 0,52

3000 0,33

4000 0,21

5000 0,20

6000 0,16

7000 0,15

2361

шинглов длиной N слов; 3) составляются последовательности слов (обычно - внахлест по Ь штук) - шинг-лы; 4) для каждого шингла вычисляется М контрольных сумм; 5) на основе выборки случайного шингла для каждой из М контрольной суммы (например, как показано на рис. 1, в качестве «случайного» значения берется минимальное из всех вычисленных) формируется вектор - супершингл.

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

Для улучшения нечеткого сравнения текстов с высокой зашумленностью (высказывания в чатах, форумах, комментариях) изложенный метод шинглов был доработан (на рис. 2 ряд второстепенных шагов опущен), ключевые отличия: 1) предварительно на основе корпуса русскоязычных текстов вычленяются согласованные словосочетания разной длины; 2) они приводятся к базовой форме; 3) все фрагменты корпуса искомых текстов рассматриваются как искаженно написанные и с помощью вспомогательного алгоритма предсказания слов восстанавливаются до «правильных» с точки зрения алгоритма и приводятся к базовой форме; 4) список ранее определенных словосочетаний

используется как калибровочные данные для вспомогательного алгоритма предсказания начала и конца шинглов (шинглы - переменной длины), который совмещен с алгоритмом восстановления слов до «правильных», также на основе метрики TF/IDF вычисляются шинглы, включающие в себя более короткие шинглы в качестве главных компонент (рис. 2 - шинг-лы 1 и 2); 5) каждая контрольная сумма кодируется таким образом, чтобы можно было определить, какой длины шингл она описывает; 6) на основе множества вычисленных контрольных сумм формируются супер-шингл и дайджест (digest на рис. 2) - вектор переменной длины, включающий в себя только контрольные суммы шинглов, не включенных в другие шинглы.

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

Разбиение текста на шинглы

слово!

слово2

шишм!

словоЗ

слово4

шингл2

шинглЗ

слово5

еловой

шингл4

I

шииглОГ-L+1)

Вычисление хешей шинглов

№ шингл (L—2) контрольная сумма

#1 #2 #3 #4 #М

1 слово! слово2 а, я, min

2 слово2 словоЗ iij аь «7 Л min

3 словоЗ слово4 а, min "и «12 \

4 слово4... аа «Ы \ min n «и

N-L+] ... wioboN min ч а» / ait!.L)U I

су перши игл Л2 X»

Рис. 1. Основные этапы построения шинглов

2362

Вычисление хешей шинглов

JV° III и игл контрольная сумма digest?

#1 #2 #3 #4 #M

1 слово! слово2 О ai "3 min 1

2 слано! слово2 слотюЭ слово4 я, a-; min -

3 словоб слово7 о, min fit. On «12 \

... ... .

и ... словоЫ mill v a.i «и " /

суисршингл J X

Рис. 2. Модифицированный метод шинглов

ЗАКЛЮЧЕНИЕ

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

СПИСОК ЛИТЕРАТУРЫ

1. Http Archive - Interesting stats. URL: http://httparchive.org/ interesting.php (accessed: 01.06.2016).

2. Brass P. Advanced Data Structures. N.Y.: Cambridge, 2008. 466 p.

3. Binstock A., Rex J. Practical Algorithms for Programmers. Addison-Wesley, 1995. 577 p.

4. Каньковски П. «Как ваша фамилия», или Русский MetaPhone // Программист. 2002. № 8. С. 36-39.

5. Philips L. Hanging on the Metaphone // Computer Language. 1990. V. 7. № 12. P. 38-45.

6. Caverphone algorithm, revision 2004. URL: http://caversham.otago. ac.nz/files/working/ctp150804.pdf (accessed: 11.06.2016).

7. Manber U. Finding Similar Files in a Large File System // WTEC'94 Proceedings of the USENIX Winter 1994 Technical Conference. Berkeley: USENIX Association, 1994. P. 2-2.

8. Хайкин С. Нейронные сети: полный курс. М.: Вильямс, 2006. 1104 с.

9. Russian stemming algorithm. URL: http://snowball.tartarus.org/ algorithms/russian/stemmer.html (accessed: 11.06.2016).

10. Segalovich I. A fast morphological algorithm with unknown word guessing induced by a dictionary for a web search. URL: http://download.yandex.ru/company/iseg-las-vegas.pdf (accessed: 11.06.2016).

11. Левенштейн В.И. Двоичные коды с исправлением выпадений, вставок и замещений символов // Доклады Академии наук СССР. 1965. Т. 163. № 4. С. 845-848.

12. Damerau F.J. A technique for computer detection and correction of spelling errors // Communications of the ACM. 1964. V. 7. № 3. P. 171-176.

13. Winkler W.E. String Comparator Metrics and Enhanced Decision Rules in the Fellegi-Sunter Model of Record Linkage // Proceedings of the Section on Survey Research Methods: American Statistical Association. 1990. P. 354-359.

14. Mikolov T., Sutskever I., Chen K., Corrado G.S., Dean J. Distributed representations of words and phrases and their compositionality // Advances in neural information processing systems (NIPS). 2013. P. 3111-3119.

15. Pennington J., Socher R., Manning C.D. GloVe: Global Vectors for Word Representation. URL: http://nlp.stanford.edu/projects/glove/ (accessed: 11.06.2016).

16. Mikolov T., Chen K., Corrado G., Dean J. Efficient Estimation of Word Representations in Vector Space. URL: http://arxiv.org/ pdf/1301.3781.pdf (accessed: 11.06.2016).

17. Роскомнадзор автоматизирует поиск нецензурной брани. URL: http://rkn.gov.ru/press/publications/news25193.htm (дата обращения: 11.06.2016).

18. Роскомнадзор автоматизирует поиск нецензурной брани // Известия. URL: http://izvestia.ru/news/570352 (дата обращения: 11.06.2016).

19. Демотивация по-русски. URL: http://demotivation.ru/ (дата обращения: 11.06.2016).

20. Pikabu.ru. URL: http://pikabu.ru (accessed: 11.06.2016).

21. Cristianini N., Shawe-Taylor J. An Introduction to Support Vector Machines and Other Kernel-based Learning Methods. N. Y.: Cambridge University Press, 2000. 191 p.

22. Srivastava A.N., Sahami M. Text Mining: Classification, Clustering, and Applications. L: Chapman & Hall, 2009. 328 p.

БЛАГОДАРНОСТИ: Работа выполнена при финансовой поддержке РФФИ (проект № 15-07-08378).

Поступила в редакцию 24 июля 2016 г.

2363

Чиркин Евгений Сергеевич, Тамбовский государственный университет им. Г.Р. Державина, г. Тамбов, Российская Федерация, инженер Центра компьютерной безопасности, e-mail: ccs tmb@ya.ru

Лопатин Дмитрий Валерьевич, Тамбовский государственный университет им. Г.Р. Державина, г. Тамбов, Российская Федерация, кандидат физико-математических наук, доцент, директор Центра компьютерной безопасности, e-mail: +79107540080@ya.ru

UDC 004.853

DOI: 10.20310/1810-0198-2016-21 -6-23 58-2365

APPROACHES TO FUZZY SEARCH OF UNWANTED CONTENT ON THE WEB PAGE

© E.S. Chirkin, D.V. Lopatin

Tambov State University named after G.R. Derzhavin 33 Internatsionalnaya St., Tambov, Russian Federation, 392000 E-mail: +79107540080@ya.ru

The results of analysis of fuzzy search of unwanted text information on a web page with the natural interpretation of the text ("word bag", «-gram, trie, phonetic searching, hashing text and method of shingles, recurrent neural networks, presentation of words in the form of vectors) are presented. It is shown that the fuzzy search for unwanted content fragments through data deduplication algorithm can be applied shingles method with several modifications.

Key words: fuzzy search; shingles method; content; web page

REFERENCES

1. Http Archive - Interesting stats. Available at: http://httparchive.org/interesting.php (accessed 01.06.2016).

2. Brass P. Advanced Data Structures. New York, Cambridge, 2008. 466 p.

3. Binstock A., Rex J. Practical Algorithms for Programmers. Addison-Wesley, 1995. 577 p.

4. Kan'kovski P. «Kak vasha familiya», ili Russkiy MetaPhone ["What is your surname" or Russian MetaPhone]. Programmist [Programmer], 2002, no. 8, pp. 36-39. (In Russian).

5. Philips L. Hanging on the Metaphone. Computer Language, 1990, vol. 7, no. 12, pp. 38-45.

6. Caverphone algorithm, revision 2004. Available at: http://caversham.otago.ac.nz/files/working/ctp150804.pdf (accessed 11.06.2016).

7. Manber U. Finding Similar Files in a Large File System. WTEC'94 Proceedings of the USENIX Winter 1994 Technical Conference. Berkeley, USENIX Association, 1994, p. 2-2.

8. Khaykin S. Neyronnye seti: polnyy kurs [Neural networks: full course]. Moscow, Vil'yams Publ., 2006. 1104 p. (In Russian).

9. Russian stemming algorithm. URL: http://snowball.tartarus.org/algorithms/russian/stemmer.html (accessed 11.06.2016).

10. Segalovich I. A fast morphological algorithm with unknown word guessing induced by a dictionary for a web search. Available at: http://download.yandex.ru/company/iseg-las-vegas.pdf (accessed 11.06.2016).

11. Levenshteyn V.I. Dvoichnye kody s ispravleniem vypadeniy, vstavok i zameshcheniy simvolov [Binary key with dropout, insertion and substitution error correction]. Doklady Akademii nauk SSSR - Proceedings of the USSR Academy of Sciences, 1965, vol. 163, no. 4, pp. 845-848. (In Russian).

12. Damerau F.J. A technique for computer detection and correction of spelling errors. Communications of the ACM, 1964, vol. 7, no. 3, pp. 171-176.

13. Winkler W.E. String Comparator Metrics and Enhanced Decision Rules in the Fellegi-Sunter Model of Record Linkage. Proceedings of the Section on Survey Research Methods: American Statistical Association, 1990, pp. 354-359.

14. Mikolov T., Sutskever I., Chen K., Corrado G.S., Dean J. Distributed representations of words and phrases and their com-positionality. Advances in neural information processing systems (NIPS), 2013, pp. 3111-3119.

15. Pennington J., Socher R., Manning C.D. GloVe: Global Vectors for Word Representation. Available at: http://nlp.stan-ford.edu/projects/glove/ (accessed 11.06.2016).

16. Mikolov T., Chen K., Corrado G., Dean J. Efficient Estimation of Word Representations in Vector Space. Available at: http://ar-xiv.org/pdf/1301.3781 .pdf (accessed 11.06.2016).

17. Roskomnadzor avtomatiziruet poisk netsenzurnoy brani [Federal Supervision Agency for Information Technologies and Communications automates the search of strong language]. Available at: http://rkn.gov.ru/press/publications/news25193.htm (accessed 11.06.2016).

18. Roskomnadzor avtomatiziruet poisk netsenzurnoy brani. Izvestiya [Federal Supervision Agency for Information Technologies and Communications automates the search of strong language. News]. Available at: http://izvestia.ru/news/570352 (accessed 11.06.2016).

19. Demotivatsiyapo-russki [Demotivation in the Russian style]. Available at: http://demotivation.ru/ (accessed 11.06.2016).

20. Pikabu.ru. Available at: http://pikabu.ru (accessed 11.06.2016).

21. Cristianini N., Shawe-Taylor J. An Introduction to Support Vector Machines and Other Kernel-based Learning Methods. New York, Cambridge University Press, 2000. 191 p.

2364

22. Srivastava A.N., Sahami M. Text Mining: Classification, Clustering, and Applications. London, Chapman & Hall, 2009. 328 p. GRATITUDE: The work is fulfilled under financial support of RFFR (project no. 15-07-08378). Received 24 July 2016

Chirkin Evgeniy Sergeevich, Tambov State University named after G.R. Derzhavin, Tambov, Russian Federation, Engineer of Computer Security Centre, e-mail: ccs tmb@ya.ru

Lopatin Dmitriy Valerevich, Tambov State University named after G.R. Derzhavin, Tambov, Russian Federation, Candidate of Physics and Mathematics, Associate Professor, Director of Computer Security Centre, e-mail: +79107540080@ya.ru

Информация для цитирования:

Чиркин Е.С., Лопатин Д.В. Подходы к нечеткому поиску нежелательного контента на веб-странице // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2016. Т. 21. Вып. 6. С. 2358-2365. DOI: 10.20310/1810-0198-201621-6-2358-2365

Chirkin E.S., Lopatin D.V. Podkhody k nechetkomu poisku nezhelatel'nogo kontenta na veb-stranitse [Approaches to fuzzy search of unwanted content on the web page]. Vestnik Tambovskogo universiteta. Seriya Estestvennye i tekhnicheskie nauki — Tambov University Review. Series: Natural and Technical Sciences, 2016, vol. 21, no. 6, pp. 2358-2365. DOI: 10.20310/1810-0198-2016-21-6-2358-2365 (In Russian).

2365

УДК 537.86

DOI: 10.20310/1810-0198-2016-21 -6-2366-2369

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

© Д.В. Кирсанов1*, В.О. Недайвозов1*, М.В. Горемыко1*, Д.В. Лопатин2*

1) Саратовский государственный технический университет им. Гагарина Ю.А. 410054, Российская Федерация, г. Саратов, ул. Политехническая, 77 E-mail: redstonehound@gmail.com 2) Тамбовский государственный университет им. Г.Р. Державина 392000, Российская Федерация, г. Тамбов, ул. Интернациональная, 33 E-mail: 79107540080@ya.ru

Разработан алгоритм численного моделирования динамики сети осцилляторов Курамото с использованием технологии NVidiaCUDA - параллельных вычислений на графическом процессоре (GPU). Разработанная численная схема использована для исследования синхронных состояний в многослойной сети осцилляторов Курамото, слои которой обладают свойством гомеостазиса.

Ключевые слова: сложная сеть; методы параллельных вычислений; осциллятор Курамото; многослойная сеть; моделирование

Изучение обратной связи между эволюцией структуры и динамикой сетей является ключом к пониманию множества процессов, происходящих как на макроуровне - в сетях городов и популяций [1] и социальных системах [2-5], так и на микроуровне - в биологических сетях [6] и нейронных ансамблях [7-9]. В свою очередь, выявление принципов взаимодействия между отдельными сетями, таких как кооперация и конкуренция, представляется важной задачей, исследование которой позволит получить более целостное представление о процессах, протекающих в реальных системах [10-11]. В качестве такой системы, состоящей из взаимодействующих подсетей, может быть рассмотрена многослойная сеть (multiplex network) [12-13] динамических элементов, слои которой содержат идентичный набор узлов, но имеют различную топологию связей. Моделирование таких сетевых структур требует огромных вычислительных мощностей, которые в современном мире можно получить с помощью параллельного программирования. На текущий момент ведущей технологией параллельных вычислений является архитектура CUDA от NVidia, посредством которой и проводились вычисления в данной работе.

В настоящем исследовании проводится изучение процессов синхронизации в сети, топология которой обладает свойством гомеостазиса - ограничения и постоянства входящих связей каждого элемента [12-13]. Исследуемая сеть состоит из двух слоев, каждый из которых содержит N = 100 узлов, динамика которых описывается с помощью известной модели Курамото, являющейся признанным инструментом исследования всевозможных форм коллективной динамики [14].

Динамическое состояние г'-го узла, принадлежащего слою l, определяется соотношением [12]

ф = j + £w'j sin

k ф1

где юг - заданные случайным образом натуральные частоты в диапазоне [—л;л] (сог = ю1 = ю2); - вес

связи, соединяющей узлы у и г в пределах слоя I;

сила связи между элементами одного слоя; -сила связи между слоями. Изначально фазы взаимодействующих элементов заданы случайно в диапазоне [— л; л] на каждом слое.

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

£ wj=i

j

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

2366