Transcript Document

Выявление спам сайтов
на основе анализа контента страниц
Дмитрий Соловьев
Евгений Чернов
Что мы хотим получить?
Уменьшение количества поискового спама
в выдаче поиска mail.ru
www.mail.ru
2
2
Зачем ?
Так как спам:
генерирует огромное количество мусорного контента;
затрудняет эффективную работу поисковых серверов;
ухудшает ранжирование хороших интернет-ресурсов и
релевантность результатов;
как следствие, приводит к уходу пользователей.
www.mail.ru
3
3
Методы воздействия на поисковый механизм:
Перенасыщение заголовков ключевыми словами.
Перенасыщение текстов ключевыми словами.
Оптимизация текстов под одно ключевое слово.
Оптимизация текстов под большое количество ключевых слов.
Оптимизация анкоров ссылок под ключевые слова.
Активный обмен ссылками.
Фермы ссылок.
...
www.mail.ru
4
4
Классификация воздействий на поисковый механизм
Воздействие при помощи оптимизации контента страницы.
Воздействие при помощи оптимизации ссылок.
Воздействие на поведенческие факторы.
…
Вопрос:
Разработка в каком направлении даст
лучшие результаты?
www.mail.ru
5
5
В 2006 году в рамках материалов конференции IW3C2 была
опубликована статья: «Выявление спам-страниц через анализ
контента» («Detecting Spam Web Pages through Content
Analysis”. A. Ntoulas и коллектив авторов).
В статье показано, что 86% спама можно вычислить на
основе анализа контента страниц.
Разработка в
направлении детекции
контекстного спама даст
лучший профит.
www.mail.ru
6
6
Для генерации текстов можно использовать:
Марковские цепи, обученные на больших объёмах
текстов.
Заимствование существующих текстов и
случайные вставки ключевых слов внутрь
существующих текстов.
Замена слов в существующих текстах на
синонимы.
www.mail.ru
7
7
Например:
Если для генерации текста использовать Марковскую
модель N-го порядка, то, что бы выявить искусственность этого
текста, потребуется строить модели порядка N+1.
«Самым интересным для меня узнать, как называются воды,
омывающие остров Рюген»
Модель 2-го порядка
Модель 3 -го порядка
интересным → для → [меня] P=0.0020
интересным → для → меня → [было] P=0.0009
для → меня → [узнать] P=0.0019
для → меня → было → [узнать] P=0.0008
меня →узнать → [,] P=0.0018
меня →было → узнать → [,] P=0.0007
узнать → , → [как] P=0.0018
было → узнать → , → [как] P=0.0007
для → меня → [было] P=0.0001
важно → для → меня → [узнать] P=0.0004
меня → было → [узнать] P=0.0001
меня → было → не → [узнать] P=0.0004
www.mail.ru
8
8
Нам интересны более простые методы выявления
искусственности страниц.
Достаточно просто
поддерживать в актуальном
состоянии.
www.mail.ru
Использовать для
классификации спама с
высокой точностью.
99
Рассмотрим проблему обнаружения спам страниц как задачу
бинарной классификации.
1 — спам
0 — не спам
Требуется:
1. Определить пространство признаков.
2. Определиться с методом классификации.
www.mail.ru
10
10
Качество классификации напрямую зависит от качества
признаков описывающих пространство.
Линейно
разделимые
признаки
Линейно
неразделимые
признаки.
Выделение небольшого количества хорошо разделимых
признаков позволит нам решить задачу классификации с большей
эффективностью.
www.mail.ru
11
11
Распределение количества слов на странице в спамовых
и неспамовых множествах
7
6
5
4
Не спам
Спам
3
2
1
75
0
10
00
12
50
15
00
17
50
20
00
22
50
25
00
27
50
30
00
32
50
35
00
37
50
40
00
42
50
45
00
47
50
50
0
25
0
0
0
% страниц множества
8
Количество слов на странице
www.mail.ru
12
12
Распределение количества слов в заголовке страниц в
спамовых и неспамовых множествах.
45
40
35
30
25
Не спам
Спам
20
15
10
5
95
10
0
10
5
12
0
17
5
20
0
21
5
75
70
65
60
55
50
45
40
35
30
25
20
15
10
5
0
0
% страниц множества
50
Количество слов в заголовке на странице
www.mail.ru
13
13
Распределение средней длины слова в спамовых
и неспамовых множествах
% страниц множества
40
35
30
25
20
Не спам
Спам
15
10
5
0
0
2
4
6
8
10
12
14
16
Средняя длина слова
www.mail.ru
14
Количество слов в анкорах ссылок для спамовых
и неспамовых множеств
10
8
6
Не спам
Спам
4
2
90
12
0
15
0
18
0
21
0
24
0
27
0
30
0
33
0
36
0
39
0
42
0
45
0
48
0
51
0
54
0
57
0
60
0
63
0
66
0
69
0
60
30
0
0
% страниц множества
12
Количество слов в анкорах ссылок
www.mail.ru
15
40
35
30
25
20
Не спам
Спам
15
10
5
37
25
,5
23
17
15
13
12
11
10
9
8
7
6
5
4
3
2
0
1
% документов множества
Степень сжатия документов в спамовых
и неспамовых множествах
Степень сжатия
www.mail.ru
16
Сравнивая приведенные данные с ранними
исследованиями, приходим к выводу, что спам
подвергается мутациям, в сторону обычных страниц.
Хотя, в распределениях все еще присутствует явная
«искусственность».
www.mail.ru
17
Распределение усредненного веса ключевых слов для
спам- и обычных страниц
20
15
Не спам
Спам
10
5
0,9
5
0,9
0,8
5
0,8
0,7
5
0,7
0,6
5
0,6
0,5
5
0,5
0,4
5
0,4
0,3
5
0,3
0,2
5
0,2
0,1
5
0,1
0,0
5
0
0
% страниц множества
25
Усредненное значение веса ключевых слов
N
∑ wi
Усредненное значение веса ключевых слов документа:
wi
N
kw i=1
w
̄ d =
N
вес ключевого слова
количество ключевых слов
www.mail.ru
18
Распределение отношения веса значимых ключевых слов
к общему количеству слов в спамовых и неспамовых
множествах
20
15
Не спам
Спам
10
5
0,3
3
0,2
5
0,2
0,1
8
0,1
6
0,1
4
0,1
2
0,1
0,0
8
0,0
6
0,0
4
0,0
2
0
0
% страниц множества
25
Усредненное значение веса значимых ключевых слов.
K
∑ wi
Усредненное значение веса значимых ключевых слов документа:
wi
N
K
imp i=1
w
̄ d =
N
вес ключевого слова
количество ключевых слов
количество значимых слов
www.mail.ru
19
Распределение вероятности n-грамм грамматических
категорий
18
% страниц множества
16
14
12
10
Не спам
Спам
8
6
4
2
0,3
8
0,3
6
0,3
3
0,3
1
0,2
9
0,2
7
0,2
5
0,2
3
0,2
1
0,1
9
0,1
7
0,1
5
0,1
3
0,1
1
0,0
9
0,0
7
0,0
5
0,0
3
0
0
Суммарная вероятность n-грамм грамматических категорий на странице
k
Вероятность правдоподобия документа:
P (w+ 1. . . w+n )
k
www.mail.ru
P lh =
1
∑ log P
k i=0 ( ( (w+ 1. .. w+n )))
вероятность встречаемости n-граммы
количество n-грамм
20
Мы привели несколько характеристических языковых признаков
и увидели, что они дают лучшее разделение, чем признаки,
полученные на основе параметров страницы.
В эксперименте мы рассчитали 10 дополнительных признаков,
основанных на статистике распределения слов в текстах. Теперь,
имея хороший набор факторов, перейдем к решению поставленной
задачи, а именно – попробуем создать классификатор на основе
описанных признаков.
www.mail.ru
21
Классификатор — многослойный персептрон:
Входной слой — 80 нейронов ,
Скрытый слой — 96 нейронов
Выходной слой — 2 нейрона спам=1 и не-спам=0
Функция активации — сигмоид
Для тренировки нашего
классификатора мы использовали
страницы, отобранные асессорами.
___________________________________________
Обучающий вектор - 80 признаков.
Размер обучающего множества — 20000 страниц.
Размер тестового множества — 50000 страниц.
Точность - 0,97
Полнота - 0,94
F-мера
- 0,96
___________________________________________
www.mail.ru
22
Результат показывает, что использование признаков, связанных
со статистикой распределения слов и грамматических
конструкций в текстах, привело к значительному улучшению
качества классификации спам-страниц, даже несмотря на
использование слабого алгоритма классификации.
www.mail.ru
Что делать дальше.
Можно ли использовать информацию, полученную из
контентента страниц, для классификации сайтов?
www.mail.ru
24
Спам или нет?
www.mail.ru
Спам сайт
Не спам сайт
100% = спам
0% = не спам
25
Спам или нет?
Спам сайт
?
www.mail.ru
Не спам сайт
?
?
26
Причины:
Хороший сайт со спам страницами:
Ошибка классификатора.
Взломанный сайт.
Переоптимизированный контент.
Спам сайт с полезными страницами:
Ошибка классификатора.
Разбавление спама не спам страницами.
www.mail.ru
27
Характеристики сайта:
1. Доля спам страниц.
2. Расположение спам страниц.
3. Вероятность прихода/ухода на спам страницу с
сайта.
4. На какие страницы ведут входящие/исходящие
ссылки.
5. Вероятность участия в спам-ферме.
www.mail.ru
28
Доля спам страниц
Доля сайтов
Доля спам страниц
www.mail.ru
29
Распределение спама по сайту
Доля сайтов
Энтропия спам страниц
www.mail.ru
30
Участие в спам ферме
20%
100%
60%
0%
50%
45%
Дорвеи
P=0,3
Целевой сайт
1. Вычисляем вероятность того, что сайт раскручивается спамсайтами.
2. Вычисляем вероятность участия в спам-ферме.
www.mail.ru
31
Вероятность участия в спам-ферме
www.mail.ru
32
На отобранных признаках строим
классификатор.
Всего получили 20 признаков
Используем
алгоритм
Еxpectation
Maximization
для
выделения
из
множества
сайтов
двух
центров,
соответствующих классам: спам и не спам.
Используем полученные центры как исходные данные для
классификации при помощи алгоритма k-nearest neighbor.
Результаты:
Уменьшение количества спама в выдаче
в среднем на 20%.
Точность анализатора - 90%.
Доля спам сайтов - 17%.
Спасибо!
Вопросы.
Дмитрий Соловьев [email protected]
Евгений Чернов [email protected]
www.mail.ru