...

воскресенье, 7 августа 2016 г.

Пересечение морд доменов топ 1,000,000 по N-граммам

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

Травим краулер



Извлекаем текст, удаляем мусор, генерируем пятисловные шинглы

На ответивших контентом страницах найдено 588,086,318 шинглов.

Складываем каждый шингл с дополнительной информацией в датасет top1m_shingles:

shingle,domain,position,count_on_page

Рассчитываем n-граммы


SELECT
  shingle,
  COUNT(shingle) cnt
FROM
  top1m_shingles
GROUP BY
  shingle

На выходе имеем таблицу shingle_w из 476,380,752 уникальных n-грамм с весами.

Дописываем вес шингла в рамках базы к исходному датасету:

SELECT
  shingle,
  domain,
  position,
  count_on_page,
  b.cnt count_on_base
FROM
  top1m_shingles AS a
JOIN
  shingles_w AS b
ON
  a.shingle = b.shingle

Если получившийся датасет сгруппировать по документам (доменам) и сконкатить значения n-грамм и позиций, получим развесованную табличку для каждого домена.

Обогащаем on_page показателями, средними, рассчитываем UNIQ RATIO для каждого документа (как соотношение количества уникальных шинглов в рамках базы к не уникальным), выводим n-граммы, генерируем страничку:

Отчёт доступен по адресу: http://ift.tt/2aCvdVm и содержит полную таблицу с текстами шиглов и их значениями. Шинглы изначально не отсортированы. Если хочется просмотреть их в том порядке, в котором они шли в документе — сортните таблицу по позиции. Или по частоте в базе, как на изображении:

Меняем домен в урле или вводим в форме поиска и смотрим отчёт.

Интересно взглянуть на новостные сайты: http://ift.tt/2b2eQp5

Средний показатель уникальности страниц: 82.2020%

Сбор данных: 2016-07-21
Дата генерации отчёта: 2016-07-27

Комментарии (0)

    Let's block ads! (Why?)

    Комментариев нет:

    Отправить комментарий