45
Автоматический сбор данных по примерам Сергей Нурк Разработчик YaC, Москва, 1 октября 2010 года

Автоматический сбор данных по примерам

Embed Size (px)

DESCRIPTION

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

Citation preview

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

Автоматический сбор данных по примерамСергей НуркРазработчик

YaC, Москва, 1 октября 2010 года

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

MDR

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

Основные требования

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

12

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

Глава 2.SinglePage

13

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

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

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

14

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

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

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

15

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

Гипотетические преимущества

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

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

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

● Устойчивость к изменениям вёрстки (пересоздание шаблонов)

16

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

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

17

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

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

18

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

Позиционирование

1. Xpath

2. Шаблон в виде дерева

19

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

20

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

21

//ul/li[3]/span

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

22

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

23

//ul/li[3]/span

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

24

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

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

TreePattern

25

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

26

TreePattern

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

Схема алгоритма

27

● Находим вхождения примеров● Строим TreePattern, задающий

положение узла● Применяем TreePattern к

остальным страницам

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

Построение TreePattern

28

● Начинаем от мест вхождения примеров

● Синхронно движемся по деревьям, сравнивая узлы

● Накапливаем TreePattern

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

Построение TreePattern

29

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

Построение TreePattern

30 30

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

Построение TreePattern

31 31

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

Построение TreePattern

32 32

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

Построение TreePattern

33 33

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

34

Проблема

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

Препятствия

● Сложности с вхождением примеров

● Неправильные страницы

35

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

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

36

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

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

4 варианта

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

37

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

Фильтрация страниц

38

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

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

Все страницы

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

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

39

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

Изменяющийся контент

Изменяется не везде

Хватает информации для формирования шаблонов

Есть возможность исправить пример

40

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

Статистика

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

Предварительная оценка качества – несколько секунд

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

successfail

successfail

41

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

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

● Несколько объектов на странице

● Хорошая устойчивость к неоднородной верстке

42

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

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

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

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

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

43

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

Вопросы

44

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

Нурк СергейРазработчик

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

[email protected]