В развитии Википедии был сделан потенциально важный шаг. Вышедший на днях парсер викитекста под названием Sweble по мнению разработчиков проекта поможет решить проблемы сообщества Википедии. Главной из проблем является обособленность, плохая документированность и привязанность к движку MediaWiki языка разметки, использующегося при создании статей в Википедии и в других проектах фонда Викимедиа.

Инициатива по созданию независимого парсера викитекста была выдвинута несколько лет назад профессором Университета города Эрланген (Нюрнберг, Германия) Дирком Рилом, привлекшим к проекту аспиранта Ханнеса Дорна (Hannes Dohrn), который помог ему осуществить задуманное. По словам профессора, "Викитекст не имеет формальной грамматики, чётких правил обработки и вывода. По иронии судьбы викитекст является закрытым стандартом, описанным только в виде 5000 строк кода на языке PHP."

В прошлом было около тридцати неудачных попыток создания парсера викитекста. Кроме того, были предприняты попытки упростить процесс создания материалов для википедии через создание оболочек визуального редактирования, но они тоже потерпели неудачу, поскольку для их реализации необходимо знание грамматики викитекста. Это также привело к проблемам при редактировании страниц в Википедии, которые до сих пор не решены.

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

Производительность Sweble пока ниже, чем у оригинального парсера MediaWiki, написанного на языке PHP, но этой скорости достаточно для обеспечения основы для будущего развития языка разметки Викитекст. Профессор Дирк Рил отметил, что "разделяя между собой содержание (контент) и данные, мы содаём своеобразную экосистему инструментов и технологий вокруг фонда Викимедиа и связанных с ним проектов, тем самым эти проекты получают более высокую скорость работы и становятся более распространёнными".

Sweble написан на языке Java и распространяется под лицензией Apache 2.0. На специальной странице проекта пользователям предоставлена возможность проверить работу парсера. Например, можно провести анализ, предварительную обработку и конвертацию уже имеющихся в Википедии статей в пользовательский текстовый формат, или, например в HTML. Разработчики надеются, что программисты смогут использовать Sweble в своих проектах, а также ждут сообщений об ошибках и отзывов пользователей.

Источник: http://www.opennet.ru/opennews/art.shtml?num=30435