Перейти к содержанию

Участник:TrudoBot

Эта страница частично защищена от изменения
Материал из Викисловаря

Что этот бот делает

  • Добавляет новые статьи-болванки в соответствии с шаблонами по частям речи
  • Добавляет шаблоны «длина слова» для проставления соответствующих категорий в статьях
  • Распознает слова, подходящие под некоторый шаблон словоизменений. Подробнее см. тут

На чем написан

Вначале, бот использовал 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:Индекс:Украинский_язык

Возникли проблемы при заливке списков всех украинских слов. Некоторые из слов в списке не были залиты (нет информации, либо многозначные слова), потому и желательно сохранить список всех слов. Не залиты, либо залиты с ошибками, списки слов, начинающихся на такие буквы: В, З, Н, П, С

  1. Индекс:TrudoBot:Украинский_язык/А
  2. Индекс:TrudoBot:Украинский_язык/Б
  3. Индекс:TrudoBot:Украинский_язык/В
  4. Индекс:TrudoBot:Украинский_язык/Г
  5. Индекс:TrudoBot:Украинский_язык/Ґ
  6. Индекс:TrudoBot:Украинский_язык/Д
  7. Индекс:TrudoBot:Украинский_язык/Е
  8. Индекс:TrudoBot:Украинский_язык/Є
  9. Индекс:TrudoBot:Украинский_язык/Ж
  10. Индекс:TrudoBot:Украинский_язык/З
  11. Индекс:TrudoBot:Украинский_язык/І
  12. Индекс:TrudoBot:Украинский_язык/Ї
  13. Индекс:TrudoBot:Украинский_язык/Й
  14. Индекс:TrudoBot:Украинский_язык/К
  15. Индекс:TrudoBot:Украинский_язык/Л
  16. Индекс:TrudoBot:Украинский_язык/М
  17. Индекс:TrudoBot:Украинский_язык/Н
  18. Индекс:TrudoBot:Украинский_язык/О
  19. Индекс:TrudoBot:Украинский_язык/П
  20. Индекс:TrudoBot:Украинский_язык/Р
  21. Индекс:TrudoBot:Украинский_язык/С
  22. Индекс:TrudoBot:Украинский_язык/Т
  23. Индекс:TrudoBot:Украинский_язык/У
  24. Индекс:TrudoBot:Украинский_язык/Ф
  25. Индекс:TrudoBot:Украинский_язык/Х
  26. Индекс:TrudoBot:Украинский_язык/Ц
  27. Индекс:TrudoBot:Украинский_язык/Ч
  28. Индекс:TrudoBot:Украинский_язык/Ш
  29. Индекс:TrudoBot:Украинский_язык/Щ
  30. Индекс:TrudoBot:Украинский_язык/Ю
  31. Индекс: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)

Имеет смысл повторить попытку в дальнейшем - как обновят оборудование, либо увеличат количество памяти, отведенное под сервер русского викисловаря.