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

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

a273bfb3934a464aa5a0f52258263e43.png

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



4b3fe7ecad6548c6893024e5c89420a2.png

61812534415e47d1ae9ab2ddcaa1c218.png

b383695b066f4d4fb198c7e71fdfd5cd.png

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

1bc1f19eaada4accb80e094d37581eb0.png

На ответивших контентом страницах найдено 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-граммы, генерируем страничку:

1b0c1d4eaa3b4c749ef44f7a2c36133d.png

a9a41500f5374458af756268caffd4fb.png

Отчёт доступен по адресу: data.statoperator.com/report/habrahabr.ru и содержит полную таблицу с текстами шиглов и их значениями. Шинглы изначально не отсортированы. Если хочется просмотреть их в том порядке, в котором они шли в документе — сортните таблицу по позиции. Или по частоте в базе, как на изображении:

4d3c883db1744c06b591d79e8bc2cebe.png

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

Интересно взглянуть на новостные сайты: data.statoperator.com/report/lenta.ru

cc9cd6a4c2744361ac10d2d425d9513b.png

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

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

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

© Habrahabr.ru