Обговорення користувача:Pavlo Shevelo/Проект «Зв'язність»/Голем

краткий курс строения Големов

Данный текст предположительно должен описывать администраторам и бюрократам украиноязычной Википедии, а также пожелавшим ознакомиться с ним участникам, что такое Голем, сущность проекта Связность.


Вкратце работу бота можно описать следующим образом: скрипт, написанный Машиахом на perl, запускается примерно раз в день вручную специально обученным человеком (как в рувики, так и в уквики это, скорее всего, буду я). Далее скрипт подключается к базе данных тулсервера, в которую в реальном времени реплицируется вся-вся-вся техническая информация из проектов Фонда Викимедиа, кроме текстов статей (и изображений). Далее скрипт копирует таблицу ссылок конкретного раздела в пользовательскую базу владельца аккаунта на тулсервере, и начинает её анализировать. В процессе анализа выявляются тупиковые статьи (статьи, из которых нет ссылок на другие статьи; при этом не учитываются ссылки на "календарные" статьи и на страницы разрешения неоднозначностей - подробнее об этих понятиях можно прочесть по ссылкам) и изолированные статьи (статьи, на которые нет ссылок; при этом подробнее с понятием тоже стоит ознакомиться в вики, так как существуют изолированные статьи, на которые есть ссылки); списки и тех, и других бот сохраняет в создаваемые им файлы. Файлы эти потом скачиваются с тулсервера специально обученным ботоводом, который использует их как списки-задачи в AWB в паре с соответствующими настройками; ботовод, пользуясь этими списками, снимает и расставляет шаблоны {{Безвихідна стаття}} и {{Ізольована стаття}}

Сразу замечу, что от момента сбора информации и до момента установки шаблона, таким образом, проходит некоторое время - обычно, небольшое, но минут 40. Иногда из-за этого получается так, что шаблон "тупиковая статья" ставится на статью, которая тупиковой не является, но ошибки эти очень редки и естественным образом исправляются при следующем запуске бота (который пишет названия таких статей в список статей, с которых надо снять шаблон). Когда-нибудь, в светлом будущем, из этого процесса будет исключен AWB, шаблоны будут ставиться автоматически, сразу после получения информации, и с проверкой, актуальна ли еще полученная информация - помощь в написании этой части бота приветствуется :)

Кроме того, что списки изолированных статей пишутся в файлы, они сохраняются и в базе данных сайта проекта. В статье, на которой стоит шаблон "изолированная статья", появляется ссылка на страницу сайта, посвященную этой статье. Страница сайта содержит краткую справку о том, что такое изолированная статья, а также несколько видов предположений, как сделать так, чтобы статья перестала быть изолированной (эти предположения бот создает, также анализируя базу данных). Как только мы сделаем украинскую версию сайта, я отвечу на все вопросы, касающиеся этих подсказок. Добавлю, что бот также умеет составлять рейтинг авторов изолированных статей.


Помимо вычисления и пометки изолированных статей, бот занимается разрешением двойных перенаправлений через pywikipedia. Выполняется эта работа автоматически, где-то в середине сбора информации об изолированных статьях, с помощью интернационального скрипта, написанного на python. Это такой же стандартный скрипт, как и все интервики-боты, опробованный сотнями разделов :) Если два перенаправления ссылаются друг на друга, бот предлагает их удалить, выставляя соответствующий случаю шаблон.


В качестве "побочного", но очень важного продукта анализа базы ссылок бот составляет страницу по толкованию страниц разрешения неоднозначностей.

Страницы разрешения неоднозначностей сами по себе очень нужны, но, надеюсь, не вызывает сомнений, что если читатель по ссылке из текста переходит не на ту статью, о которой думал человек, ставивший ссылку, а на страницу разрешения неоднозначностей - ситуация плоха (пример был приведен на /subpage). Страница на сайте Связности содержит список статей разрешения неоднозначностей, на которые ссылаются другие статьи; в идеале, этот список должен быть пуст. При этом бот Связности - умный, и он знает, что если со статьи Пушкин есть ссылка Пушкин, и со статьи Пушкин есть ссылка на Пушкин, то ошибки нет, и все так и должно быть; такие ссылки бот не считает за нарушение этики ссылания ;) В нашем списке - только то, что требует исправления. Кроме того, на странице приведен индекс пренебрежения правилом толкования; о нем существует отдельная страница в вики, позволю себе ее не пересказывать.


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

Образец одного из существовавших в рувики циклов
Занимающая основную часть страницы "ёлка", да простят меня математики и отнесутся с пониманием девушки - это развертка графа категорий. Верхушка ёлки (_1) должна содержать лишь одну категорию (в рувики это категория Всё). Собственно, в вершине "ёлки" перечислены некатегоризованные категории - логично, что некатегоризованной может быть лишь одна категория.

В идеале, ёлка должна выглядеть как треугольник. "Углы" на ней - это кольца в категоризации, нарушения транзитивности (Примеры решённых циклов, существовавших ранее в рувики)

Повернутися на сторінку користувача «Pavlo Shevelo/Проект «Зв'язність»/Голем».