Pull to refresh

Бот генерирует учебники из статей Википедии

Reading time3 min
Views4.9K

Пример викиучебника (иллюстрация из научной статьи)

Всем известно, что Википедия — ценный информационный ресурс. Можно часами изучать тему, переходя от одной ссылки к другой для получения контекста по интересующему предмету. Но не всегда очевидно, как собрать весь контент по какой-либо одной общей теме. Например, как объединить все статьи по неорганической химии или истории средних веков, резюмируя самое важное? Примерно это попытались сделать Шахар Адмати и его коллеги из Бена-Гуриона в Негеве (Израиль), разработчики программы машинного обучения Wikibook-Bot.

Википедия и учебник — разные вещи. Именно поэтому был создан проект Викиучебник, где люди совместно пытаются обобщить самое важное по какой-то теме. Например, можно найти учебник по машинному обучению более чем на 6000 страниц, с обновляемыми разделами по нейросетям, генетическим алгоритмам и машинному зрению.

Wikibook-Bot решает несколько задач машинного обучения. Во-первых, это задача классификации, то есть нужно определить, принадлежит ли статья к определённому викиучебнику. Во-вторых, нужно разделить выбранные статьи на главы — это задача кластеризации. Она решалась известными алгоритмами. Наконец, задача систематизации, которая включает в себя две подзадачи: порядок статей в каждой главе и порядок самих глав.



На самом деле программа работает относительно просто. Принцип понятен всем, кто сталкивался с обучением нейросетей. Первый шаг — создание обучающего набора данных. Из примерно 6700 существующих викиучебников на английском языке были выбраны книги с более 1000 просмотров и с количеством статей 10 и более.



Поскольку эти викиучебники формируют своего рода золотой стандарт как для обучения, так и для тестирования, разработчики приняли его за стандарт качества. После обучения нейросети дальнейшую работу разделили на несколько шагов, перечисленные выше: классификация, кластеризация и систематизация. Работа начинается со сгенерированного человеком названия учебника. Название описывает любое произвольное понятие. Например, «Машинное обучение: полное руководство».

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

Итак, работа начинается с небольшого ядра статей, в названии которых упоминается заданное название. Затем определяются все статьи, которые находятся на расстоянии до трёх переходов от ядра. Но сколько из найденных статей включить в учебник? Ответ на этот вопрос дают викиучебники, созданные людьми. Автоматический анализ их контента позволяет определить, сколько контента из Википедии в созданных человеком книгах включено в состав учебника.

Каждый созданный человеком викиучебник имеет сетевую структуру, определяемую количеством ссылок, указывающих на другие статьи, определённое количество ссылок, указывающих на страницы, ранжирование включённых статей и так далее. Разработанный алгоритм анализирует каждую автоматически выбранную статью для данной темы и отвечает на вопрос: если включить её в викиучебник, то станет ли его сетевая структура более похожей на созданные человеком книги или нет. Если нет, то статья опускается.

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

Описание бота опубликовано в виде научной статьи «Wikibook-Bot — автоматическая генерация книг из Википедии» на сайте препринтов arXiv.org.
Tags:
Hubs:
Total votes 13: ↑12 and ↓1+11
Comments1

Articles