Автоматический сбор
данных по примерам
Сергей Нурк
Разработчик
YaC, Москва, 1 октября 2010 года
План
● Введение
● SinglePage
● Алгоритм
● Итоги
2
Глава 1.
Введение
3
5
6
Вёрстка
Разнообразна Часто изменяется
7
Специализированные
парсеры
На каждый сайт – свой
8
Нужна армия
9
Общие алгоритмы
Предполагают наличие
на странице регулярной
структуры
10
11
MDR
Основные требования
● Простая настройка
● Простая поддержка
● Высокие показатели полноты и
точности
12
Глава 2.
SinglePage
13
Управляемая экстракция
1. Пользователь задает примеры
2. Система автоматически извлекает
данные со всего сайта
14
Взгляд внутрь
1. По примерам строим шаблоны (один
атрибут – один шаблон)
2. Применяем шаблоны к остальным
(подходящим) стр...
Гипотетические
преимущества
● Быстрая настройка
● Не требуется разбираться в структуре
страницы
● Структурированное извлеч...
Ограничения
● Отдельная страница на каждый объект
● Группа страниц с однотипной вёрсткой
17
Глава 3.
Алгоритм
18
Позиционирование
1. Xpath
2. Шаблон в виде дерева
19
20
21
//ul/li[3]/span
22
23
//ul/li[3]/span
24
//ul/li[3]/span Size=20 quad laser...
TreePattern
25
26
TreePattern
Схема алгоритма
27
● Находим вхождения примеров
● Строим TreePattern, задающий
положение узла
● Применяем TreePattern к
ос...
Построение TreePattern
28
● Начинаем от мест вхождения
примеров
● Синхронно движемся по деревьям,
сравнивая узлы
● Накапли...
Построение TreePattern
29
Построение TreePattern
30 30
Построение TreePattern
31 31
Построение TreePattern
32 32
Построение TreePattern
33 33
34
Проблема
Препятствия
● Сложности с вхождением примеров
● Неправильные страницы
35
Поиск вхождений
36
Множественные
вхождения
4 варианта
Выбираем лучший
37
Фильтрация страниц
38
Применяем
шаблоны
Не
применяем
шаблоны
Все страницы
Глава 4.
Итоги
39
Изменяющийся контент
Изменяется не везде
Хватает информации для формирования
шаблонов
Есть возможность исправить пример
40
Статистика
Время создания < 20 мин
Предварительная оценка качества – несколько
секунд
Полнота: 88% Точность: 92%
success
f...
Нерешенные задачи
● Несколько объектов на странице
● Хорошая устойчивость к неоднородной
верстке
42
Заключение
Полуавтоматические методы
● По качеству данных и универсальности
сравнимы со сбором «в ручную»
● Сложность и вр...
Вопросы
44
Нурк Сергей
Разработчик
111033, Россия, Санкт-Петербург,
Свердловская наб., д. 44.
sergeynurk@yandex-team.ru
Сергей Нурк – Автоматический сбор данных по примерам
Upcoming SlideShare
Loading in...5
×

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

619

Published on

1 Comment
0 Likes
Statistics
Notes
  • SinglePage - это внутренняя разработка яндекса? Её снаружи использовать нельзя?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
619
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Автоматический сбор данных по примерам Сергей Нурк Разработчик YaC, Москва, 1 октября 2010 года
  2. 2. План ● Введение ● SinglePage ● Алгоритм ● Итоги 2
  3. 3. Глава 1. Введение 3
  4. 4. 5
  5. 5. 6
  6. 6. Вёрстка Разнообразна Часто изменяется 7
  7. 7. Специализированные парсеры На каждый сайт – свой 8
  8. 8. Нужна армия 9
  9. 9. Общие алгоритмы Предполагают наличие на странице регулярной структуры 10
  10. 10. 11 MDR
  11. 11. Основные требования ● Простая настройка ● Простая поддержка ● Высокие показатели полноты и точности 12
  12. 12. Глава 2. SinglePage 13
  13. 13. Управляемая экстракция 1. Пользователь задает примеры 2. Система автоматически извлекает данные со всего сайта 14
  14. 14. Взгляд внутрь 1. По примерам строим шаблоны (один атрибут – один шаблон) 2. Применяем шаблоны к остальным (подходящим) страницам 15
  15. 15. Гипотетические преимущества ● Быстрая настройка ● Не требуется разбираться в структуре страницы ● Структурированное извлечение нужной информации ● Устойчивость к изменениям вёрстки (пересоздание шаблонов) 16
  16. 16. Ограничения ● Отдельная страница на каждый объект ● Группа страниц с однотипной вёрсткой 17
  17. 17. Глава 3. Алгоритм 18
  18. 18. Позиционирование 1. Xpath 2. Шаблон в виде дерева 19
  19. 19. 20
  20. 20. 21 //ul/li[3]/span
  21. 21. 22
  22. 22. 23 //ul/li[3]/span
  23. 23. 24 //ul/li[3]/span Size=20 quad laser...
  24. 24. TreePattern 25
  25. 25. 26 TreePattern
  26. 26. Схема алгоритма 27 ● Находим вхождения примеров ● Строим TreePattern, задающий положение узла ● Применяем TreePattern к остальным страницам
  27. 27. Построение TreePattern 28 ● Начинаем от мест вхождения примеров ● Синхронно движемся по деревьям, сравнивая узлы ● Накапливаем TreePattern
  28. 28. Построение TreePattern 29
  29. 29. Построение TreePattern 30 30
  30. 30. Построение TreePattern 31 31
  31. 31. Построение TreePattern 32 32
  32. 32. Построение TreePattern 33 33
  33. 33. 34 Проблема
  34. 34. Препятствия ● Сложности с вхождением примеров ● Неправильные страницы 35
  35. 35. Поиск вхождений 36
  36. 36. Множественные вхождения 4 варианта Выбираем лучший 37
  37. 37. Фильтрация страниц 38 Применяем шаблоны Не применяем шаблоны Все страницы
  38. 38. Глава 4. Итоги 39
  39. 39. Изменяющийся контент Изменяется не везде Хватает информации для формирования шаблонов Есть возможность исправить пример 40
  40. 40. Статистика Время создания < 20 мин Предварительная оценка качества – несколько секунд Полнота: 88% Точность: 92% success fail success fail 41
  41. 41. Нерешенные задачи ● Несколько объектов на странице ● Хорошая устойчивость к неоднородной верстке 42
  42. 42. Заключение Полуавтоматические методы ● По качеству данных и универсальности сравнимы со сбором «в ручную» ● Сложность и время настройки минимальны P.S. Экономьте Ваше время! 43
  43. 43. Вопросы 44
  44. 44. Нурк Сергей Разработчик 111033, Россия, Санкт-Петербург, Свердловская наб., д. 44. sergeynurk@yandex-team.ru
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×