Участник:TrudoBot
Это учётная запись бота, принадлежащего участнику Neurocod (обсуждение).
Эта учётная запись не является «куклой», она используется для выполнения рутинных задач по улучшению Викисловаря, не требующих непосредственного контроля со стороны человека.
Администраторам: если этот бот работает неправильно или каким-либо другим образом наносит вред Викисловарю, пожалуйста, выключите его и сообщите владельцу о возникшей проблеме. |
Что этот бот делает
- Добавляет новые статьи-болванки в соответствии с шаблонами по частям речи
- Добавляет шаблоны «длина слова» для проставления соответствующих категорий в статьях
- Распознает слова, подходящие под некоторый шаблон словоизменений. Подробнее см. тут
На чем написан
Вначале, бот использовал Pywikipediabot framework. В частности, первая заливка статей летом 2008 года, использовала pagefromfile.py, со следующими результатами:
правок: 177828, первая правка: Июль 11, 2008, последняя правка: Август 03, 2008.
Весной 2009-го, с нуля, был написан новый бот - на С++/Qt. Для редактирования статей используется wikimedia API. Исходные данные для редактирования берутся из разных источников, в частности, из дампов викисловаря в xml формате, из словаря Зализняка с сайта [1], а также из запросов к API. Независимо от заранее подготовленных данных, перед заливкой статьи на сервер новый текст сверяется с текущей статьей. Код написан в объектно-ориентированном стиле и включает:
- классы для синхронной работы с сетью через Qt
- классы для облегчения парсинга xml и проверок xml на соответствие формату (необходимые теги/атрибуты, количество тегов каждого типа)
- классы для работы с Wikimedia API, авторизации, получения и редактирования статьи
- классы для сохранения настроек, логирования, вывода оконных сообщений
- классы-итераторы для чтения файлов по секциям (например, по строкам, или по тексту внутри <page> и </page>, и т. д.)
- эти классы-итераторы можно применять в качестве адаптеров, они могут читать текст из файла, из строки, из другого итератора. Это дает возможность быстро писать код для чтения больших текстовых структурированных файлов
- классы GUI: показа/редактирования настроек, выбора текущего действия, просмотра текущего статуса
- и другие…
Если кого-то заинтересуют исходники бота, обращайтесь. Исходники пока не открываю, так как они слишком «молодые» для публикации (сегодня дописал до рабочего состояния :) ). Neurocod 23:34, 5 мая 2009 (UTC)
Результаты работы
http://stats.wikimedia.org/wiktionary/RU/
http://stats.wikimedia.org/wiktionary/RU/TablesWikipediaRU.htm
http://stats.wikimedia.org/wiktionary/RU/ChartsWikipediaRU.htm
http://stats.wikimedia.org/wiktionary/EN/
Незалитые-ru
Участник:TrudoBot/незалитые-ru:А
Участник:TrudoBot/незалитые-ru:Б
Участник:TrudoBot/незалитые-ru:В
Участник:TrudoBot/незалитые-ru:Г
Участник:TrudoBot/незалитые-ru:Д
Участник:TrudoBot/незалитые-ru:Е
Участник:TrudoBot/незалитые-ru:Ж
Участник:TrudoBot/незалитые-ru:З
Участник:TrudoBot/незалитые-ru:И
Участник:TrudoBot/незалитые-ru:Й
Участник:TrudoBot/незалитые-ru:К
Участник:TrudoBot/незалитые-ru:Л
Участник:TrudoBot/незалитые-ru:М
Участник:TrudoBot/незалитые-ru:Н
Участник:TrudoBot/незалитые-ru:О
Участник:TrudoBot/незалитые-ru:П
Участник:TrudoBot/незалитые-ru:Р
Участник:TrudoBot/незалитые-ru:С
Участник:TrudoBot/незалитые-ru:Т
Участник:TrudoBot/незалитые-ru:У
Участник:TrudoBot/незалитые-ru:Ф
Участник:TrudoBot/незалитые-ru:Х
Участник:TrudoBot/незалитые-ru:Ц
Участник:TrudoBot/незалитые-ru:Ч
Участник:TrudoBot/незалитые-ru:Ш
Участник:TrudoBot/незалитые-ru:Щ
Участник:TrudoBot/незалитые-ru:Э
Участник:TrudoBot/незалитые-ru:Ю
Участник:TrudoBot/незалитые-ru:Я
Участник:TrudoBot/незалитые-ru:И
TrudoBot:Индекс:Украинский_язык
Возникли проблемы при заливке списков всех украинских слов. Некоторые из слов в списке не были залиты (нет информации, либо многозначные слова), потому и желательно сохранить список всех слов. Не залиты, либо залиты с ошибками, списки слов, начинающихся на такие буквы: В, З, Н, П, С
- Индекс:TrudoBot:Украинский_язык/А
- Индекс:TrudoBot:Украинский_язык/Б
- Индекс:TrudoBot:Украинский_язык/В
- Индекс:TrudoBot:Украинский_язык/Г
- Индекс:TrudoBot:Украинский_язык/Ґ
- Индекс:TrudoBot:Украинский_язык/Д
- Индекс:TrudoBot:Украинский_язык/Е
- Индекс:TrudoBot:Украинский_язык/Є
- Индекс:TrudoBot:Украинский_язык/Ж
- Индекс:TrudoBot:Украинский_язык/З
- Индекс:TrudoBot:Украинский_язык/І
- Индекс:TrudoBot:Украинский_язык/Ї
- Индекс:TrudoBot:Украинский_язык/Й
- Индекс:TrudoBot:Украинский_язык/К
- Индекс:TrudoBot:Украинский_язык/Л
- Индекс:TrudoBot:Украинский_язык/М
- Индекс:TrudoBot:Украинский_язык/Н
- Индекс:TrudoBot:Украинский_язык/О
- Индекс:TrudoBot:Украинский_язык/П
- Индекс:TrudoBot:Украинский_язык/Р
- Индекс:TrudoBot:Украинский_язык/С
- Индекс:TrudoBot:Украинский_язык/Т
- Индекс:TrudoBot:Украинский_язык/У
- Индекс:TrudoBot:Украинский_язык/Ф
- Индекс:TrudoBot:Украинский_язык/Х
- Индекс:TrudoBot:Украинский_язык/Ц
- Индекс:TrudoBot:Украинский_язык/Ч
- Индекс:TrudoBot:Украинский_язык/Ш
- Индекс:TrudoBot:Украинский_язык/Щ
- Индекс:TrudoBot:Украинский_язык/Ю
- Индекс:TrudoBot:Украинский_язык/Я
Проблемы были вида
PHP fatal error in /usr/local/apache/common-local/php-1.5/includes/parser/Parser.php line 4281: Allowed memory size of 83886080 bytes exhausted (tried to allocate 4107435 bytes)
Имеет смысл повторить попытку в дальнейшем - как обновят оборудование, либо увеличат количество памяти, отведенное под сервер русского викисловаря.