Участник:CategoryBot

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Бот. Ответственный ботовладец: ET.

CategoryBot (рус. категори-бот) предназначен для автоматической и полуавтоматической категоризации статей. Алгоритмы поиска некатегоризованных статей будут пополняться. Ниже описаны те, которые реализованы в настоящее время.

Вклад бота

[править | править код]

На основе дампа руВП от 17 сентября 2006 (работа с дампом закончена)

  • категоризовано по годам жизни (алг. № 1) - около 1000 статей
  • категоризовано по роду деятельности (алг. № 2) - около 500 статей
  • найдено персоналий (алг. № 3) - около 500 статей
  • найдено персоналий (алг. № 4) - около 100 статей

На основе дампа руВП от 23 октября 2006 (работа с дампом закончена)

  • категоризовано по годам жизни (алг. № 1) - 231 статья
  • категоризовано по роду деятельности (алг. № 2) - около 750 статей
  • найдено персоналий (алг. № 3) - 50 статей
  • найдено персоналий (алг. № 4) - 44 статьи
  • категоризовано городов по веку основания (алг. № 5) - 227 статей

На основе дампа руВП от 08 ноября 2006

  • категоризовано по годам жизни (алг. № 1) - 110 статей
  • категоризовано по роду деятельности (алг. № 2) - около 570 статей
  • найдено персоналий (алг. № 3) - 47 статей
  • найдено персоналий (алг. № 4) - 75 статей
  • категоризовано городов по веку основания (алг. № 5) - 19 статей
данные на 28 ноября 2006

Подробный вклад бота

Алгоритм 1. Поиск персоналий, некатегоризованных по годам жизни

[править | править код]
  • Шаг 1. Просматриваются статьи из категории Категория:Персоналии по алфавиту и ищутся те, в которых не категоризован год рождения, либо год смерти, либо персоналия не категоризована как ныне живущая. Составляется локальный (на том компе, на котором запущен бот) промежуточный список некатегоризованных персоналий.
Периодичность запуска: после выхода очередного дампа руВП, вручную.
Актуальность данных: по последнему дампу.
Нагрузка на сервер: отсутствует.
  • Шаг 2. Просматривается полученный локальный список некатегоризованных персоналий. Для каждой статьи выбирается её контент, из которого бот пытается определить одну или обе даты жизни.
Периодичность запуска: вручную по мере накопления локального списка.
Актуальность данных: по последнему дампу.
Нагрузка на сервер: отсутствует
  • Шаг 2.а). Если найдена хотя бы одна из отсутствующих дат жизни, бот соединяется с сервером ВП, проверяет, что с момента составления локального списка статья не была категоризована, категоризует её и обновляет статью на сервере ВП.
Нагрузка на сервер: искусственно ограничена на уровне 1-2 запроса/10сек

Алгоритм 2. Поиск персоналий, некатегоризованных по роду деятельности

[править | править код]
  • Шаг 1. Просматриваются статьи из категории Категория:Персоналии по алфавиту и ищутся те, в которых не категоризован род деятельности. Составляется локальный (на том компе, на котором запущен бот) промежуточный список некатегоризованных персоналий.
Периодичность запуска: после выхода очередного дампа руВП, вручную.
Актуальность данных: по последнему дампу.
Нагрузка на сервер: отсутствует
  • Шаг 2. Просматривается полученный локальный список некатегоризованных персоналий. Для каждой статьи выбирается её контент, из которого бот пытается определить род деятельности и национальную (государственную) принадлежность.
Периодичность запуска: вручную по мере накопления локального списка.
Актуальность данных: по последнему дампу.
Нагрузка на сервер: отсутствует
  • Шаг 2.а). Если найден род деятельности И национальная принадлежность, то ищется соответствующая категория, например Категория:Преступники США. Если категория существует, то она вносится в список для добавления к данной статье. Если категория не найдена, то ищется более общая категория без указания страны, например, Категория:Преступники. Если категория существует, то она вносится в список для добавления к данной статье. Если был найден только род деятельности, то сразу ищется категория без указания страны.
  • Шаг 2.а) повторяется для каждой пары «род_деятельности — национальная_принадлежность».
  • Если после завершения цикла список добавленных категорий данной статьи не пустой, то бот соединяется с сервером ВП, проверяет, что с момента составления локального списка статья не была категоризована, категоризует её и обновляет статью на сервере ВП.
Нагрузка на сервер: искусственно ограничена на уровне 1-2 запроса/10сек

Алгоритм 3. Поиск персоналий по принадлежности к другим категориям

[править | править код]
  • Шаг 1. Просматриваются все статьи и ищутся те, которые категоризованы по ряду категорий, присущих персоналиям, но не входят в Категория:Персоналии по алфавиту. Учитывается, что некоторые шаблоны автоматически добавляют категории к статьям. Составляется локальный (на том компе, на котором запущен бот) промежуточный список некатегоризованных статей.
Периодичность запуска: после выхода очередного дампа руВП, вручную.
Актуальность данных: по последнему дампу.
Нагрузка на сервер: отсутствует
  • Шаг 2. Для каждой статьи из локального списка бот соединяется с сервером ВП, проверяет, что с момента составления локального списка статья не была категоризована, категоризует её и обновляет статью на сервере ВП.
Периодичность запуска: вручную по мере накопления локального списка.
Нагрузка на сервер: искусственно ограничена на уровне 1-2 запроса/10сек

Алгоритм 4. Поиск персоналий среди полностью некатегоризованных статей

[править | править код]
  • Шаг 1. Просматриваются все статьи и ищутся те, которые никак не категоризованы. Из них отбираются те, которые предположительно описывают персоналии. Учитывается, что некоторые шаблоны автоматически добавляют категории к статьям. Составляется локальный (на том компе, на котором запущен бот) промежуточный список некатегоризованных статей. Поскольку алгоритм отбора является эмпирическим, окончательный список предъявляется оператору для подтверждения.
Периодичность запуска: после выхода очередного дампа руВП, вручную.
Актуальность данных: по последнему дампу.
Нагрузка на сервер: отсутствует
  • Шаг 2. Каждую персоналию, оставшуюся в утверждённом списке, бот пытается категоризовать по годам жизни и роду деятельности. Затем бот соединяется с сервером ВП, проверяет, что с момента составления локального списка статья не была категоризована, категоризует её и обновляет статью на сервере ВП.
Периодичность запуска: вручную по мере накопления локального списка.
Нагрузка на сервер: искусственно ограничена на уровне 1-2 запроса/10сек

Алгоритм 5. Категоризация городов по веку основания

[править | править код]

Если правильно заполнять шаблоны городов, то данный вид категоризации может быть сделан самим шаблоном. По крайней мере, это относится к шаблонам Шаблон:Город и Шаблон:Город России, в которых я реализовал эту возможность. Однако, в ряде случаев (и этот ряд довольно длинный) дата основания ставится не в виде числа, а в виде ссылки, что затрудняет категоризацию силами самого шаблона. Когда появятся соотв. функции парсера, ситуация немного упростится. Ну а пока таких функций нет, по статьям можно пройтись ботом. Замечание. Если для описания населённого пункта, не являющегося городом был использован шаблон Город или Город России, то это остаётся на совести автора статьи.

  • Шаг 1. Просматриваются все статьи и ищутся те, в которых использованы шаблоны-карточки городов, например Шаблон:Город, Шаблон:Город России и ряд других. Из шаблона берётся дата основания (именно основания, а не первого упоминания или чего-то ещё) и вычисляется век основания. Затем бот соединяется с сервером ВП, проверяет, что с момента выхода дампа статья не была категоризована, категоризует её и обновляет статью на сервере ВП.
Периодичность запуска: после выхода очередного дампа руВП, вручную.
Актуальность данных: по последнему дампу.
Нагрузка на сервер: искусственно ограничена на уровне 1-2 запроса/10сек


Адаптация бота для других языковых разделов — обсуждаема.