Исследования

Статьи и публикации

Публикации по теме исследования web

Работа с данными с нечеткой структурой

21.06.2009

Прежде чем продолжить рассуждения, а что же такое данные с нечеткой структурой? Начну с примера.

При преобразовании HTML в RSS, как, например, это происходит в Скиуре, очень часта ситуация когда структура данных меняется. Это может быть из-за того что немного подкрутили верстку или, к примеру, у новости появилась метка которая при обучении на данных сайта не встречалась, но была с самого начала предусмотрена, например, “новое” или ещё что-либо не являющееся сменой CMS или реорганизацией структуры сайта, но затрагивающее HTML структуру ленты новостей.


 

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

21.06.2009

 

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

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

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 лент ведущие на Скиур.


 

 

Автоматическая классификация сайтов: возможные подходы

21.06.2009

Ранее я упоминал про недавнее исследование из Яндекса - Автоматическая классификация веб сайтов (в PDF) и что лично я несогласен с подходом использующим классификацию по ключевым словам.  Главное - это то что у Яндекса как и других поисковых систем, на самом деле, куда больше информации о сайтах, пользователях и их взаимодействии чем просто страницы и ключевые слова. Этой информации столь много - что принцип "больше данных, проще алгоритмы" должен подходить здесь на 100% и я опишу несколько вариантов классификации сайтов построенных именно на таких данных.