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

716 views
682 views

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
716
On SlideShare
0
From Embeds
0
Number of Embeds
41
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

×