Обход свежего контента. Людмила Остроумова

40

Upload: yandex

Post on 23-Jun-2015

77 views

Category:

Technology


1 download

DESCRIPTION

Обход свежего контента

TRANSCRIPT

Page 1: Обход свежего контента. Людмила Остроумова
Page 2: Обход свежего контента. Людмила Остроумова

Обход свежего контента

Людмила Остроумова

Page 3: Обход свежего контента. Людмила Остроумова

План

›  Кроулер

› Обход или переобход

› Приоритизация новых страниц

Page 4: Обход свежего контента. Людмила Остроумова

Часть 1: кроулер

Page 5: Обход свежего контента. Людмила Остроумова

Кроулер

›  Кроулер (робот) – система, которая скачивает (обходит) веб-страницы

›  Кроулер скачивает веб-страницы, извлекает из них урлы, затем скачивает соответствующие этим урлам страницы и т.д.

Page 6: Обход свежего контента. Людмила Остроумова

Пакетный кроулер

›  Время от времени создается очередь из урлов для обхода

›  Каждый урл встречается в очереди один раз

›  На следующей итерации может использоваться информация с предыдущей

Page 7: Обход свежего контента. Людмила Остроумова

Инкрементальный кроулер

›  Процесс обхода – «бесконечный»

›  Страницы в очереди могут встречаться несколько раз

›  Ресурсы кроулера разделены между обходом новых страниц и переобходом старых

›  Эффективнее, так как позволяет переобходить страницы с разной частотой

Page 8: Обход свежего контента. Людмила Остроумова

Метрики

Полнота: доля страниц, которые скачаны кроулером

Взвешенная (weighted coverage):

Где – время, прошедшее с начала обхода, – множество скачанных страниц,

– вес страницы

WC(t) =X

p2C(t)w(p)

t C(t)

w(p)

Page 9: Обход свежего контента. Людмила Остроумова

Метрики

Свежесть: насколько актуальны скачанные копии страниц по сравнению с текущим состоянием

Взвешенная (weighted freshness):

где – свежесть страницы в момент времени , например , если сохраненная копия страницы совпадает с актуальной , в противном случае

WF (t) =X

p2C(t)w(p) · f(p, t) ,

f(p, t)

f(p, t) =

⇢10

f(p, t)f(p, t)

Page 10: Обход свежего контента. Людмила Остроумова

Компромиссы

Выбор между полнотой и свежестью

Выбор между обходом и переобходом

›  Обход: может улучшить полноту, можно найти новые ссылки

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

Page 11: Обход свежего контента. Людмила Остроумова

Часть 2: обход или переобход

Page 12: Обход свежего контента. Людмила Остроумова

“Timely crawling of high-quality ephemeral new content” Damien Lefortier, Liudmila Ostroumova, Egor Samosvat, Pavel Serdyukov.

ACM International Conference on Information and Knowledge Management, CIKM 2013.

Page 13: Обход свежего контента. Людмила Остроумова

Задача

›  Рассматриваем свежие запросы, по которым нужно показать недавно созданные документы

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

Page 14: Обход свежего контента. Людмила Остроумова

Две гипотезы

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

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

Page 15: Обход свежего контента. Людмила Остроумова

Эфемерные страницы 50 тысяч случайных страниц (логи бара за 1 неделю):

Page 16: Обход свежего контента. Людмила Остроумова

Источники контента Рассматриваем пользовательские переходы, которые ведут на эфемерные страницы.

Page 17: Обход свежего контента. Людмила Остроумова

Идеи

›  Нужно часто переобходить источники контента, чтобы не пропустить ссылки на новые страницы

›  Новые страницы тоже нужно обходить сразу, так как они быстро устаревают

›  Проблема: найти баланс между обходом и переобходом, максимизируя некоторую метрику. Но какую?

Page 18: Обход свежего контента. Людмила Остроумова

Метрика

Стандартные метрики не подходят:

›  Полнота? Нет, эта метрика не учитывает устаревание страниц

›  Свежесть? Нет, она вообще не про новые страницы

Page 19: Обход свежего контента. Людмила Остроумова

Метрика

– это прибыль от скачивания страницы i с задержкой , то есть общее количество заходов пользователей на эту страницу после ее скачивания (или общее количество кликов на СЕРПе)

Качество кроулера:

Pi(�t) �t

QT (t) =1

T

X

i:ti+�ti2[t�T,t]

Pi(�ti)

Page 20: Обход свежего контента. Людмила Остроумова

Прибыль

Pi(�t) ⇡ Pi · e�µi·�t

Page 21: Обход свежего контента. Людмила Остроумова

Оптимизационная задача

›  Есть несколько источников контента

›  У каждого есть параметры: – частота появления ссылок, – средняя популярность страниц, – скорость убывания популярности

›  Хотим найти алгоритм, который обходит каждый источник контента каждые секунд, находит новые ссылки и обходит соответствующие страницы

›  Цель – найти оптимальные значения

Si

Si �i Pi

µi

Si

Ii

Ii

Page 22: Обход свежего контента. Людмила Остроумова

Оптимизационная задача

Ресурсы ограничены:

Хотим максимизировать качество:

X

i

1 + �iIiIi

N

Q =

X

i

1

Ii

X

j:pj2Si^�tj2[0,Ii]

Pj(M tj) ! max

Page 23: Обход свежего контента. Людмила Остроумова

Решение задачи оптимизации

Заменим на приближение и положим

Pj(�tj) Pie�µi�tj pi =

Pi

1� e�µi�i

:

(Pipi

Ii

�1� e�µiIi

�! max

Pi1+�iIi

Ii= N

Page 24: Обход свежего контента. Людмила Остроумова

Решение задачи оптимизации

Воспользуемся методом множителей Лагранжа:

(pi

�1� (1 + µiIi)e�µiIi

�= !, i = 1, . . . , n ,

Pi

1Ii

= N �P

i �i

Page 25: Обход свежего контента. Людмила Остроумова

Решение задачи оптимизации

g(x) :=�1� (1 + x)e�x

(pi g(µiIi) = !, i = 1, . . . , n ,P

i1Ii

= N �P

i �i

Page 26: Обход свежего контента. Людмила Остроумова

Параметры

Для применения алгоритма нужно знать:

›  Средний профит и скорость убывания популярности

›  Частоту появления новых ссылок

Параметры оцениваем динамически, используя исторические данные

Pi µi

�i

Page 27: Обход свежего контента. Людмила Остроумова

Расписание

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

Два варианта:

›  ECHO-newpages: всегда скачиваем все найденные новые страницы

›  ECHO-schedule: обходим источники контента с интервалами , свободные ресурсы тратим на обход новых страниц

ECHO = Ephemeral Content Holistic Ordering

Si

�iIi

Ii

Page 28: Обход свежего контента. Людмила Остроумова

Данные

›  Топ-100 популярных новостных сайтов и топ-50 популярных блогов в России

›  3К источников контента, обходили каждые 10 минут в течение 3 недель

›  Таким образом получили динамические ссылки с источников контента (всего 2.4М ссылок)

›  Пользовательские клики на все обнаруженные страницы в течение 4 недель

Page 29: Обход свежего контента. Людмила Остроумова

Другие алгоритмы

BFS – обходим источники контента по очереди в фиксированном случайном порядке. Сразу же обходим все найденные страницы.

Fixed-quota – то же, что и ECHO-schedule, но ровно половину ресурсов тратим на переобход источников контента и половину на обход новых страниц.

Frequency – то же, что и ECHO-schedule, но не используем историческую информацию о кликах.

ECHO-greedy – обходим источник контента с наибольшим значением , где – время, прошедшее с последнего обхода источника . И обходим все найденные новые страницы.

�iPiI0i

I 0i Si

Page 30: Обход свежего контента. Людмила Остроумова

Частота появления ссылок

Page 31: Обход свежего контента. Людмила Остроумова

Среднее качество за неделю

Page 32: Обход свежего контента. Людмила Остроумова

Часть 3: приоритизация новых страниц

Page 33: Обход свежего контента. Людмила Остроумова

“Crawling Policies Based on Web Page Popularity Prediction” L. Ostroumova, I. Bogatyy, A. Chelnokov, A. Tikhonov, G. Gusev

36th European Conference on Information Retrieval, ECIR 2014

Page 34: Обход свежего контента. Людмила Остроумова

Задача

›  Есть динамический список недавно обнаруженных урлов

›  Обход одной страницы занимает фиксированное время 𝜏

›  Каждые 𝜏 секунд кроулер выбирает одну страницу из списка и скачивает её

›  Как и раньше, хотим «получить» как можно больше заходов/кликов

Page 35: Обход свежего контента. Людмила Остроумова

Пример

Page 36: Обход свежего контента. Людмила Остроумова

Стратегия

Как уже обсуждалось,

– общая популярность ,

– скорость убывания популярности.

Предсказываем и .

Каждые 𝜏 секунд кроулер выбирает страницу с максимальной ожидаемой прибылью

Pu(�t) ⇡ p(u) · e��(u)·�t ,

p(u) = Pu(0)

r(u) = p(u)e��(u)�t

�(u)

�(u)

Pu(�t) ⇡ p(u) · e��(u)·�t ,

p(u) = Pu(0)

Page 37: Обход свежего контента. Людмила Остроумова

Факторы

Предсказываем популярность и скорость убывания популярности только по урлу.

Факторы – из статьи M. Liu, R. Cai, M. Zhang, L. Zhang, User browsing behavior-driven

web crawling, CIKM’11.

Page 38: Обход свежего контента. Людмила Остроумова

Сравнение алгоритмов обхода

Доля полученных заходов:

Алгоритм 𝜏 = 100 5% урлов)

𝜏 = 50 (10% урлов)

𝜏 = 25 (20% урлов)

𝜏 = 10 (50% урлов)

Бейзлайн 0.24 0.34 0.43 0.53

Предсказываем p(𝑢) 0.32 0.42 0.51 0.60

Предсказываем p(𝑢) и 𝜆(𝑢) 0.31 0.40 0.49 0.58

Предсказываем p(𝑢) настоящее 𝜆(𝑢)

0.36 0.44 0.54 0.64

Page 39: Обход свежего контента. Людмила Остроумова

Спасибо за внимание!

Page 40: Обход свежего контента. Людмила Остроумова

Контакты

[email protected]

+79646547903

Людмила Остроумова

Исследователь