Скиур и построение объектных сайтов карт в действии

Как пример того для чего Скиур может использоваться — в каталоге сайтов Енота Поискуна сейчас 2148 ссылок посвящённым тематике закупок и присутствия российского государства в сети.

В своё время, чтобы не делать каталог просто набором ссылок, для него был создан специальный скрипт который время от времени проходил по ресурсам в каталоге и занимался обнаружением RSS лент каковых набралось чуть более 170. 

Сейчас помимо этого скрипта на каталог был «натравлен» алгоритм автосоздания RSS из Скиура. Но, тут надо оговорится что хотя и многие новости публикуются на главных страницах сайтов, тем не менее далеко не всегда. Предупреждая эту проблему на практике используется сдвоенный алгоритм логика которго в следующих действиях:

1. Вначале проверяется можно ли сформировать RSS ленту по странице сайта в каталоге

2. Если не получается, то запускается алгоритм анализа страницы (и сайта) построения объектной карты сайта и из результатов его работы извлекаются разделы относящиеся к новостям.

3. Для найденных разделов проверяется можно ли по нему сформировать RSS ленту.

4. Если RSS лента формируется, то ссылка на неё добавляется в каталог и доступна для посетителей.

В итоге, примерно 20% всех распознанных лент идут не с главных, а с новостных страниц выявленных при анализе. При этом сам алгоритм построения объектной карты сейчас, объективно, несовершенен и всё ещё в работе, поскольку времени на него нужно больше чем у меня есть, но для узких задач вроде этой вполне уже применим.  

Распознавание новостей всё ещё идёт прямо сейчас, но как промежуточные итоги могу сказать что:

1. Распознаются новости у, примерно, 65% сайтов. Это много, это даже очень много, куда больше чем я ожидал. 

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

  • 35% случаев — нет новостей на сайте или новости подаются без дат;
  • 15%  случаев — кодировка не распознаётся, а дата содержит русскоязычную часть, например, название месяца
  • 10% случаев — не распознаётся структура сайта. Обычно Скиур автоматически разбирает HTML и понимает как располагаются новостные блоки и как их собрать в RSS ленты, но есть случае когда этого сделать не удаётся;
  • 15% случаев — неизвестный формат даты. Эта проблема быстро решается за счёт снижения скорости распознавания и именно по этой причине не решена в онлайновой версии алгоритма;
  • 20% случаев — новости на сайте есть, но не на главной странице, а на новостных страницах, а алгоритм построения объектной карты эти разделы не нашёл;
  • 5% случаев — сайт недоступен или отвечает слишком долго (более 30 секунд).

Основной недостаток всего этого процесса — производительность. Объективно много времени уходит на распознавание новостных блоков, их выравнивание и на построение объектных карт. Причём здесь оптимизация имеет три составляющие:

1. Техническая — изменение библиотек разбора HTML, оптимизация кода и т.д.

2. Алгоритмическая — применение уже накопленных наработок для ускорения распознавания дат. Частично это уже применяется, но, тут ещё требуются исследования и довольно затратные

3. Промышленная — сбор метаданных о процессе анализа и предварительное обучение алгоритма с построением шаблонов распознаванием и с динамической перестройкой шаблонов при выявлении несоответствий. 

Плюс в процессе анализа сайтов определяются остальные их фичи — вроде ключевых разделов, коммерциализация, CMS, технология на которой он сделан, но это уже совсем другая история.

Пока что Скиур остаётся некоммерческим, но уже выходит из статуса экспериментального, а если походить по каталогу, то можно увидеть ссылки RSS лент ведущие на Скиур.

About This Author

Яндекс.Метрика