Владимир Батыгин "Автоматический сбор данных по...

52
Автоматический сбор данных по примерам Владимир Батыгин Разработчик Я.Субботник, Санкт-Петербург, 26 февраля 2011

Upload: yandex

Post on 02-Jul-2015

919 views

Category:

Technology


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Владимир Батыгин "Автоматический сбор данных по примерам"

Автоматический сбор данных по примерамВладимир БатыгинРазработчик

Я.Субботник, Санкт-Петербург, 26 февраля 2011

Page 2: Владимир Батыгин "Автоматический сбор данных по примерам"

План

● Введение● Singlepage● Алгоритм● Итоги

2

Page 3: Владимир Батыгин "Автоматический сбор данных по примерам"

Глава 1.Введение

3

Page 4: Владимир Батыгин "Автоматический сбор данных по примерам"
Page 5: Владимир Батыгин "Автоматический сбор данных по примерам"

5

Page 6: Владимир Батыгин "Автоматический сбор данных по примерам"

6

Page 7: Владимир Батыгин "Автоматический сбор данных по примерам"

Вёрстка

7

Page 8: Владимир Батыгин "Автоматический сбор данных по примерам"

Вёрстка

Разнообразна

8

Page 9: Владимир Батыгин "Автоматический сбор данных по примерам"

Вёрстка

Разнообразна Часто изменяется

9

Page 10: Владимир Батыгин "Автоматический сбор данных по примерам"

Специализированные парсеры

На каждый сайт – свой

10

Page 11: Владимир Батыгин "Автоматический сбор данных по примерам"

Нужна армия

11

Page 12: Владимир Батыгин "Автоматический сбор данных по примерам"

Общие алгоритмы

Предполагают наличие на странице регулярной структуры

12

Page 13: Владимир Батыгин "Автоматический сбор данных по примерам"

13

MDR

Page 14: Владимир Батыгин "Автоматический сбор данных по примерам"

Требования

14

Page 15: Владимир Батыгин "Автоматический сбор данных по примерам"

Требования

15

● Простая настройка● Простая поддержка

Page 16: Владимир Батыгин "Автоматический сбор данных по примерам"

Требования

● Простая настройка● Простая поддержка● Высокие показатели полноты и точности

16

Page 17: Владимир Батыгин "Автоматический сбор данных по примерам"

Глава 2.SinglePage

17

Page 18: Владимир Батыгин "Автоматический сбор данных по примерам"

Управляемая экстракция1. Пользователь задает примеры

2. Система автоматически извлекает данные со всего сайта

18

Page 19: Владимир Батыгин "Автоматический сбор данных по примерам"

Преимущества

● Быстрая настройка

● Не требуется разбираться в структуре страницы

● Структурированное извлечение нужной информации

● Устойчивость к изменениям вёрстки

19

Page 20: Владимир Батыгин "Автоматический сбор данных по примерам"

Ограничения● Отдельная страница на каждый объект● Группа страниц с однотипной вёрсткой

20

Page 21: Владимир Батыгин "Автоматический сбор данных по примерам"

Глава 3.Алгоритм

21

Page 22: Владимир Батыгин "Автоматический сбор данных по примерам"

Взгляд внутрь1. По примерам строим шаблоны (один атрибут – один шаблон)

2. Применяем шаблоны к остальным (подходящим) страницам

22

Page 23: Владимир Батыгин "Автоматический сбор данных по примерам"

23

Page 24: Владимир Батыгин "Автоматический сбор данных по примерам"

Интерфейс

24

Page 25: Владимир Батыгин "Автоматический сбор данных по примерам"

Построение шаблона

25

Page 26: Владимир Батыгин "Автоматический сбор данных по примерам"

Построение шаблона

Для каждого атрибута строится отдельный шаблон

26

Page 27: Владимир Батыгин "Автоматический сбор данных по примерам"

27

Page 28: Владимир Батыгин "Автоматический сбор данных по примерам"

28

//ul/li[3]/span

Page 29: Владимир Батыгин "Автоматический сбор данных по примерам"

29

Page 30: Владимир Батыгин "Автоматический сбор данных по примерам"

30

//ul/li[3]/span

Page 31: Владимир Батыгин "Автоматический сбор данных по примерам"

31

//ul/li[3]/span Size=20 quad laser...

Page 32: Владимир Батыгин "Автоматический сбор данных по примерам"

TreePattern

32

Page 33: Владимир Батыгин "Автоматический сбор данных по примерам"

TreePattern

Homeworld: Size: Weapon:

Corellia 26, 7 meters long quad laser cannons ...

33

Page 34: Владимир Батыгин "Автоматический сбор данных по примерам"

Построение TreePattern

34

Page 35: Владимир Батыгин "Автоматический сбор данных по примерам"

Построение TreePattern

35

Page 36: Владимир Батыгин "Автоматический сбор данных по примерам"

Построение TreePattern

36

Page 37: Владимир Батыгин "Автоматический сбор данных по примерам"

Построение TreePattern

37

Page 38: Владимир Батыгин "Автоматический сбор данных по примерам"

38

Проблема

Page 39: Владимир Батыгин "Автоматический сбор данных по примерам"

39

Проблема

Page 40: Владимир Батыгин "Автоматический сбор данных по примерам"

Необязательный узел

<h1>

<span>

Driod Control Ship

?

[Target]

40

Page 41: Владимир Батыгин "Автоматический сбор данных по примерам"

Поиск вхождений

41

Page 42: Владимир Батыгин "Автоматический сбор данных по примерам"

Множественные вхождения

4 комбинации

Выбираем лучшую

42

Page 43: Владимир Батыгин "Автоматический сбор данных по примерам"

Применение шаблона к сайту

43

Page 44: Владимир Батыгин "Автоматический сбор данных по примерам"

Кластеризация

44

Применяем шаблоны

Не применяем шаблоны

Все страницы

Page 45: Владимир Батыгин "Автоматический сбор данных по примерам"

Глава 4.Итоги

45

Page 46: Владимир Батыгин "Автоматический сбор данных по примерам"

Статистика

Время создания < 20 мин

Полнота: 88% Точность: 92%

46

Page 47: Владимир Батыгин "Автоматический сбор данных по примерам"

Happy End?

47

Page 48: Владимир Батыгин "Автоматический сбор данных по примерам"

Нерешенные задачи

● Динамический контент

● Плагин для браузера

48

Page 49: Владимир Батыгин "Автоматический сбор данных по примерам"

ЗаключениеПолуавтоматические методы:

● По качеству данных и универсальности сравнимы со сбором «в ручную»

● Сложность и время настройки минимальны

49

Page 50: Владимир Батыгин "Автоматический сбор данных по примерам"

50

P.S. Экономьте Ваше время!

50

Page 51: Владимир Батыгин "Автоматический сбор данных по примерам"

Вопросы

51

Page 52: Владимир Батыгин "Автоматический сбор данных по примерам"

Батыгин ВладимирРазработчик

111033, Россия, Санкт-Петербург,Свердловская наб., д. 44.

[email protected]