Ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» —


страница1/3
lit.na5bal.ru > Документы > Документы
  1   2   3

Сравнительный анализ методов определения нечетких дубликатов для Web-документов
© Зеленков Ю.Г, Сегалович И.В

Яндекс

{iseg, yuryz }@yandex-team.ru



Аннотация

В работе дается сравнительное экспериментальное исследование наиболее популярных современных методов обнаружения нечетких дубликатов для текстовых документов. Приводится количественная оценка показателей полноты, точности и F-меры. Тестовый набор, использованный в экспериментах, представляет собой веб-коллекцию РОМИП. Предложены два новых алгоритма, имеющих высокие показатели качества.

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

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

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

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

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

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

2 Обзор ключевых работ по исследуемой тематике
Одними из первых исследований в области нахождения нечетких дубликатов являются работы U. Manber [2] и N. Heintze [3]. В этих работах для построения выборки используются после­довательности соседних букв. Дактилограмма файла ([2]) или документа ([3]) включает все текстовые подстроки фиксированной длины. Численное значение дактилограмм вычисляется с помощью алгоритма случайных полиномов Карпа-Рабина [4]. В качестве меры сходства двух документов используется отношение числа общих подстрок к размеру файла или документа. Предлагается ряд методов, направленных на снижение вычислительной сложности алгоритма.

U. Manber использовал этот подход для нахождения похожих файлов (утилита sif), а N. Heintze — для обнаружения нечетких дубликатов документов (система Koala).

В 1997 году A. Broder et al. [1, 5, 6] предложили новый, «синтаксический» метод оценки сходства между документами, основанный на представлении документа в виде множества всевозможных последовательностей фиксированной длины k, состоящих из соседних слов. Такие последовательности были названы «шинглами». Два документа считались похожими, если их множества шинглов существенно пересекались. Поскольку число шинглов примерно равно длине документа в словах, т.е. является достаточно большим, авторами были предложены два метода сэмплирования для получения репрезентативных подмножеств.

Первый метод оставлял только те шинглы, чьи «дактилограммы», вычисляемые по алгоритму Карпа-Рабина [4], делились без остатка на некоторое число m. Основной недостаток — зависимость выборки от длины документа и поэтому документы небольшого размера (в словах) представлялись или очень короткими выборками, или вообще не имели таковых. Второй метод отбирал только фиксированное число s шинглов с наименьшими значениями дактилограмм или оставлял все шинглы, если их общее число не превышало s.

Дальнейшим развитием концепций A. Broder et al. являются исследования D. Fetterly et al. [9], A. Broder et al. [16]

Для каждой цепочки вычисляются 84 дактилограммы по алгоритму Карпа-Рабина [4] с помощью взаимно-однозначных и независимых функций, использующих случайные наборы («min-wise independent») простых полиномов. В результате каждый документ представлялся 84 шинглами, минимизирующими значение соответствующей функции.

Затем 84 шингла разбиваются на 6 групп по 14 (независимых) шинглов в каждой. Эти группы называются «супершинглами». Если два документа имеют сходство, например, p ~ 0.95 (95%), то 2 соответствующих супершингла в них совпадают с вероятностью p14 ~ 0.9514 ~ 0.49 (49%).

Поскольку каждый документ представляется 6 супершинглами, то вероятность того, что у двух документов совпадут не менее 2-х супершинглов, равна: 1 - (1-0.49)6 - 6·0.49·(1-0.49)5 ~ 0.90 (90%). Для сравнения: если два документа имеют сходство только p ~ 0.80 (80%), то вероятность совпадения не менее двух супершинглов составляет всего 0.026 (2.6%).

Таким образом, для эффективной проверки совпадения не менее 2-х супершинглов (и, следовательно, подтверждения гипотезы о сходстве содержания) каждый документ представляется всевозможными попарными сочетаниями из 6 супершинглов, которые называются «мегашинглами». Число таких мегашинглов равно 15 (число сочетаний из 6 по 2). Два документа сходны по содержанию, если у них совпадает хотя бы один мегашингл.

Ключевое преимущество данного алгоритма по сравнению с исследованиями A. Broder et al. состоит в том, что, во-первых, любой документ (в том числе и очень маленький) всегда представляется вектором фиксированной длины, и, во-вторых, сходство определяется простым сравнением координат вектора и не требует (как у A. Broder) выполнения теоретико-множественных операций.

Другой сигнатурный подход, основанный уже не на синтаксических, а на лексических принципах, был предложен A. Chowdhury et al. в 2002 и усовершенствован в 2004 гг. [10, 11, 12].

Основная идея такого подхода состоит в вычислении дактилограммы I-Match для представления содержания документов. С этой целью сначала для исходной коллекции документов строится словарь L, который включает слова со средними значениями IDF, поскольку такие слова обеспечивают, как правило, более точные результаты при обнаружении нечетких дубликатов. Слова с большими и маленькими значениями IDF отбрасываются.

Затем для каждого документа формируется множество U различных слов, входящих в него, и определяется пересечение U и словаря L. Если размер этого пересечения больше некоторого минимального порога (определяемого экспериментально), то список слов, входящих в пересечение упорядочивается, и для него вычисляется I-Match сигнатура (хеш-функция SHA1).

Два документа считаются похожими, если у них совпадают I-Match сигнатуры (имеет место коллизия хеш-кодов). Алгоритм имеет высокую вычислительную эффективность, превосходящую показатели алгоритма A. Broder. Другим преимуществом алгоритма (также, по сравнению с A. Broder) является его высокая эффективность при сравнении небольших по размеру документов. Основной недостаток — неустойчивость к небольшим изменениям содержания документа.

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

Дополнительно к основному словарю L создаются K различных словарей L1-LK, получаемых путем случайного удаления из исходного словаря некоторого небольшой фиксированной части p слов, составляющей порядка 30%-35% от исходного объема L.

Для каждого документа вместо одной вычисляется (K+1) I-Match сигнатура по алгоритму, описанному выше, т.е. документ представляется в виде вектора размерности (K+1), и два документа считаются дубликатами, если у них совпадает хотя бы одна из координат.

Если документ подвергается небольшим изменениям (порядка n слов), то вероятность того, что по крайней мере одна из K дополнительных сигнатур останется неизменной, будет равна:

1 - (1-pn)K (*)

Действительно, вероятность того, что изменения не затронут какого-либо одного словаря, равна pn — вероятности, что все изменения попадут в удаленную часть исходного словаря. Тогда (1-pn) — вероятность, что сигнатура изменится, а (1-pn)K — вероятность, что все сигнатуры изменятся (поскольку дополнительные словари формируются независимо), и, следовательно, (*) — и есть искомая вероятность.

Рекомендуемыми значениями параметров, хорошо проявившими себя на практике, являются p = 0.33 и K = 10.

Алгоритм показал высокие результаты при использовании в различных приложениях веб-поиска и фильтрации спама.

Схожий подход описан в патенте US Patent 6,658,423 W. Pugh [8] из Google. Автор предлагает полный словарь документа разбить на фиксированное число списков слов с помощью какой-либо функции хеширования (например, с помощью остатка от деления хеш-кода на число списков). Затем для каждого списка вычисляется дактилограмма и два документа считаются подобными, если они имеют хотя бы одну общую дактилограмму. Автор приводит оценки устойчивости алгоритма к небольшим изменениям содержания исходного документа. В работе отсутствуют какие-либо сведения об эффективности практического применения по соображениям конфиденциальности.

Еще одним сигнатурным подходом, также основанным на лексических принципах (т.е. использовании словаря), является метод «опорных» слов, предложенный С. Ильинским и др. [13]. Суть алгоритма заключается в следующем.

Сначала из индекса по некоторому правилу (см. ниже) выбирается множество из N слов (N — определяется экспериментально), называемых «опорными». Затем каждый документ представляется N-мерным двоичным вектором, где i-я координата равна 1, если i-е «опорное» слово имеет в документе относительную частоту выше определенного порога (устанавливаемого отдельно для каждого «опорного» слова), и равна 0 в противном случае. Этот двоичный вектор называется сигнатурой документа. Два документа «похожи», если у них совпадают сигнатуры.

Общие соображения для построения множества «опорных» слов таковы:

1. Множество слов должно охватывать максимально возможное число документов

2. «Качество» слова (см. ниже) должно быть наивысшим

3. Число слов в наборе должно быть минимальным

Опишем алгоритм построения множества и выбора пороговых частот.

Пусть "частота" это нормированная внутридокументная частота слова в документа TF, лежащая в диапазоне 0..1, где 1 частота самого частого слова в документе.

Для каждого слова (однократно) строится распределение документов по такой внутридокументной "частоте".

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

Определим "точность" слова следующим образом: точность тем выше, чем меньше встречаемость слова в дельте-окрестности данного значения относительной частоты (то есть чем меньше документов с TF равным TFthreshold±Δ). Частоту с наилучшей точностью мы называем пороговой и запоминаем для дальнейшего использования в алгоритме (см выше).

После каждой итерации отбрасываем самые "плохие" слова. После последней итерации оставляем достаточно слов для хорошего покрытия.

Этот метод, позволяет, начав с выборки в сотни тысяч слов, оставить набор в 3-5 тысяч, расчет сигнатур по которому с применением полнотекстового индекса осуществляется на миллиардном индексе несколько минут на поисковом кластере Яндекса [17].

3 Идея исследования

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

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

Результаты работы каждого алгоритма (пары нечетких дубликатов) могут быть агрегированы так, что для любой пары исходных документов (docX, docY) указывался список алгоритмов (A1, A2, ...), с точки зрения которых эти документы являлись нечеткими дубликатами. Все пары-кандидаты, полученные хотя бы одним алгоритмом, можно проверить прямым текстовым сравнением, что позволит оценить точность каждого алгоритма. Для сравнительной оценки полноты алгоритмов можно использовать идею общего пула, как максимального множества найденных и верифицированных дублей.

4 Описание методов и алгоритмов

Для практического исследования были выбраны методы и алгоритмы определения нечетких дубликатов, перечисленные в Табл. 1.

Таблица 1

Методы и алгоритмы определения нечетких дубликатов


Имя

Название

A0

MD5

A1

TF

A2

TF*IDF

A3

TF*RIDF

A4

Long Sent

A5

Heavy Sent

A6

Megashingles

A7

Lex Rand

A8

Log Shingles

A9

Descr Words

A10

Opt Freq


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

N — число документов в коллекции;

tf — частота слова в документе;

tf_max — максимальная частота слова в документе;

df — число документов в коллекции, содержащих данное слово;

cf — суммарная частота слова в коллекции.

dl — длина документа;

dl_avg — средняя длина документа в коллекции.
4.1 A0 — MD5
Данный алгоритм на самом деле определяет «точные» дубликаты и включен в список с целью сравнения итоговых статистик для полных и нечетких дубликатов. В качестве сигнатуры документа используется хеш-функция MD5 [19], вычисленная для всего документа.
4.2 A1 — TF
Идея этого и ряда следующих алгоритмов (A1-A5) достаточно очевидна, в качестве аналога приведем работу [18], в которой анализируется семейство подобных алгоритмов для задач нахождения перемещенных документов в вебе. В соответствии с этой работой назовем «локальными» алгоритмы, не использующие общую статистику коллекции (A1, A4) и «глобальными» те, которые опираются на частотные характеристики по всей коллекции (A2, A3, A5).

Строится частотный словарь документа, упорядоченный по убыванию частот. Затем выбираются и сцепляются в алфавитном порядке в строку 6 слов с наибольшими значениями tf. В качестве сигнатуры документа вычисляется контрольная сумма CRC32 полученной строки.
4.3 A2 — TF*IDF
По всей коллекции строится словарь, ставящий каждому слову в соответствие число документов, в которых оно встречается хотя бы один раз (df) и определяется средняя длина документа (dl_avg). Затем строится частотный словарь документа и для каждого слова вычисляется его «вес» wt по формуле Okapi BM25 с параметрами k = 2 и b = 0.75 [14]:
wt = TF * IDF, где

TF = tf / [ 2 * (0.25 + 0.75 (dl / dl_avg ) ) + tf ]

IDF = log [ (N - df + 0.5)/(df + 0.5) ]
Затем выбираются и сцепляются в алфавитном порядке в строку 6 слов с наибольшими значениями wt. В качестве сигнатуры документа вычисляется контрольная сумма CRC32 полученной строки.
4.4 A3 — TF*RIDF
Краткое теоретическое введение. Основная идея RIDF (Residual IDF) [15] состоит в сравнении двух способов подсчета количества информации (в смысле определения К. Шеннона), содержащейся в сообщении о том, что данное слово входит в некоторый документ (по меньшей мере один раз). Первый способ, статистический, это обычный IDF = -log(df / N). Второй способ, теоретический, основан на модели распределения Пуассона, предполагающей, что слова в коллекции документов распределяются случайным и независимым образом, равномерно рассеиваясь с некоторой средней плотностью. В этом случае соответствующее количество информации равно P_IDF = -log(1 - exp(-cf / N)). Тогда,
RIDF = IDF - P_IDF = -log(df / N) + log(1 — exp(-cf / N))

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

Практическая реализация. По всей коллекции строится словарь, ставящий каждому слову в соответствие число документов, в которых оно встречается хотя бы один раз (df) и определяется суммарная частота каждого слова в коллекции (cf). Затем строится частотный словарь документа и для каждого слова вычисляется его «вес» wt по формуле:
wt = TF * RIDF, где

TF = 0.5 + 0.5 * tf / tf_max

RIDF = -log(df / N) + log(1 - exp(-cf / N))
Затем выбираются и сцепляются в алфавитном порядке в строку 6 слов с наибольшими значениями wt. В качестве сигнатуры документа вычисляется контрольная сумма CRC32 полученной строки.
4.5 A4 — Long Sent
Документ разбивается на предложения, которые упорядочиваются по убыванию длины, выраженной количеством слов, а при равенстве длин — в алфавитном порядке. Затем выбираются и сцепляются в строку в алфавитном порядке 2 самых длинных предложения. В качестве сигнатуры документа вычисляется контрольная сумма CRC32 полученной строки.
4.6 A5 — Heavy Sent
Документ разбивается на предложения. Для каждого предложения подсчитывается его «вес» ws равный сумме весов wt всех входящих в него слов. Веса wt подсчитываются по формулам алгоритма A2. Затем выбираются и сцепляются в строку в алфавитном порядке 2 самых «тяжелых» предложения. В качестве сигнатуры документа вычисляется контрольная сумма CRC32 полученной строки.
4.7 A6 — Megashingles
Алгоритм реализован в соответствии с принципами, изложенными в [9].

Сначала вычисляется множество всех 5-словных шинглов. Так как сходство 0.95 представлялось нам слишком сильным, мы задавались сходством 0.75. Прямая схема Fetterly (с 84 функциями и 14 шинглами в 1-м мегашингле) давала полноту практически 0.00. Поэтому мы остановились на 36 функциях, построенных с помощью случайных полиномов и реализующих дактилограммы Карпа-Рабина [4]. Выбираются 36 шинглов, минимизирующих значения соответствующих функций.

Далее 36 шингла разбиваются на 6 групп по 6 и определяются 6 «супершинглов», из которых составляются всевозможные парные сочетания, называемые «мегашинглами». Число таких сочетаний из 6 по 2 равно 15. Все эти 15 мегашинглов составляют сигнатуру документа, которые давали полноту 33% для порогового отличия 0.75, 42% для 0.80 и 50% для 0.85. (p6 ~ 0.806 ~ 0.26 (26%); 1 (1 0.26)6 6·0.26·(1 0.26)5 ~ 0.42(42%)).
4.8 A7 — Lex Rand
Алгоритм реализован в соответствии с принципами, изложенными в [12]. Сначала по всей коллекции строится словарь, аналогичный использованному в алгоритме A2 из которого удаляются слова с наибольшими и наименьшими значениями IDF. Затем основе этого словаря генерируются 10 дополнительных словарей, содержащих примерно на 30% меньше слов, чем исходный. Слова удаляются случайным образом.

Для каждого документа строится 11 I-Match сигнатур (см. выше обзорную часть статьи). Дубликатами считаются документы хотя бы с одной совпавшей сигнатурой. Оказывается, что такой подход весьма существенно по сравнению с A2 (более чем в 2 раза) повышает полноту обнаружения дубликатов при снижении относительной точности всего на 14%.
4.9 A8 — Log Shingles
Метод основан на «супершинглировании» логарифмической [7] выборки из исходного полного множества шинглов, такой, которая оставляет шинглы, делящиеся без остатка на степени небольшого числа.

Сначала вычисляется множество всех 5-словных шинглов (слова в конце документа «заворачиваются» на начало). Затем из этого множества отбираются шинглы, делящиеся на степени числа 2. Они и составляют точную сигнатуру документа.
4.10 A9 — Descr Words
Алгоритм реализован в соответствии с принципами, изложенными в [13] и техникой, описанной выше. Сначала по всей коллекции строится словарь «опорных» слов и вычисляются двоичные векторные сигнатуры документов, которые затем кластеризуются в группы нечетких дубликатов на основе признака совпадения сигнатур.
4.11 A10 — Opt Freq
Краткое пояснение. Алгоритм реализует метод «оптимальной поисковой частоты», предложенный М. Масловым (Яндекс [17]), и использующийся для поиска похожих документов в широком спектре приложений, от веб-поика до кластеризации новостей. Суть его заключается в следующем. Вместо классической метрики TF*IDF (см. алгоритм A2) предлагается ее модифицированный вариант. Вводится эвристическое понятие «оптимальной частоты» для слова равное –ln(10/1000000) = 11.5, т.е. «оптимальным» считается вхождение слова в 10 документов из 1000000. Если реальное значение IDF меньше «оптимального», то оно немного (по закону параболы) повышается до IDF_opt = SQRT(IDF / 11.5), а если больше, то существенно (как гипербола) снижается до IDF_opt = 11.5 / IDF.

Практическая реализация. По всей коллекции строится словарь, ставящий каждому слову в соответствие число документов, в которых оно встречается хотя бы один раз (df). Далее строится частотный словарь документа и для каждого слова вычисляется его «вес» wt по формуле:
wt = TF * IDF_opt, где

TF = 0.5 + 0.5 * tf / tf_max

IDF = -log(df / N)

IDF_opt = SQRT(IDF / 11.5), если IDF меньше чем 11.5, иначе

IDF_opt = 11.5 / IDF
Затем выбираются и сцепляются в алфавитном порядке в строку 6 слов с наибольшими значениями wt. В качестве сигнатуры документа вычисляется контрольная сумма CRC32 полученной строки.
  1   2   3

Поделиться в соцсетях



Похожие:

Ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» — iconVi-й Всероссийской с международным участием
Всероссийской с международным участием научной конференции молодых ученых «европа в средние века и новое время: общество. Власть....

Ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» — iconЭлектронные образовательные ресурсы в помощь педагогу
Методические рекомендации по подготовке учащихся к Всероссийской олимпиаде школьников по обществознанию (из опыта работы)

Ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» — iconСамостоятельная работа №1 «Строение вещества» Задача № Даны молекулы …(столб. 2 Вашего
Напишите полные электронные формулы и краткие электронные конфигурации (краткую электронную формулу и распределение электронов по...

Ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» — iconКонкурс проводится на базе Института природных ресурсов Томского...
Рф на период до 2025 г., утвержденных Правительством РФ от 29 ноября 2014 г. №2403-р, по направлению исследований в Арктике. В рамках...

Ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» — iconАрмавирская государственная педагогическая академия
Электронные ресурсы для создания проекта”, “Создание презентации”, “Создание публикации”, “Электронные таблицы в проектной работе”,...

Ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» — iconСтатьи (11 шрифт, жирн., прописные)
Всероссийской с международным участием научной конференции молодых ученых «европа в средние века и новое время: общество. Власть....

Ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» — iconПоложение о V малой научной конференции «Я исследователь»
Настоящее Положение определяет статус, цели и задачи V малой научной конференции «Я исследователь» (далее – Конференция), порядок...

Ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» — iconИсследовательская работа на тему Влияние компьютера
В последние годы люди стали меньше ходить в библиотеки, потому что вся необходимая литература имеется на электронных ресурсах в глобальной...

Ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» — iconРазругавшись со своей девушкой, не слишком симпатизирующей его увлечению...
Однако довольно скоро он обнаруживает, что устройство снабжено нетипичными дополнительными функциями, например… выходом на электронные...

Ой Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» — iconИнститут русской и иностранной филологии кафедра отечественной филологии и журналистики
Вас принять участие в очно-заочной Всероссийской научной конференции с международным участием «Актуальные проблемы культуры современной...


Литература




При копировании материала укажите ссылку © 2000-2017
контакты
lit.na5bal.ru
..На главную