Приключение духа, или Можно ли доверять Википедии?

Мировой кризис

13.09.2016 21:37  10 (3)  

Сергей Щеглов

861

Приключение духа, или Можно ли доверять Википедии?

Начиная работу над "Лестницей в небо", я не знал, как устроено человеческое общество, но зато нисколько не сомневался, что я действительно этого не знаю. Через три года, закончив книгу, я оказался в куда худшей ситуации. Теперь я вроде бы знал, как оно все устроено, но совершенно не был уверен, что все так и есть на самом деле. Теория Власти по состоянию на апрель 2016 года представляла собой лишь словесное описание некоторой модели, не подкрепленное ни математическим формализмом, ни даже простейшей статистикой. Необходимо было двигаться дальше, к количественной проверке теории на массиве исторических данных.

Разумеется, сказать про "проверку теории на исторических данных" оказалось несколько проще, чем сделать. Хотя в Сети имеется масса полезной информации (например, база данных о лидерах государств 1875-2004 Archigos), готовеньких датасетов, пригодных для проверки тех или иных положений теории Власти, там разумеется нет. В открытом доступе отсутствует даже элементарная база данных по европейским королевским династиям (хотя у профессиональных исследователей такие базы несомненно существуют, см. известную статью Manuel Eisner, "Killing Kings", 2011). А между тем, для действительной статистической проверки теории Власти нам нужна информация примерно такого уровня:

Это граф взаимоотношений между персонажами знаменитой "Игры престолов" (рисунок взят из Network of Thrones Data Set), составленный на основе статистики их упоминаний в текстах первых трех книг. Не правда ли, было бы неплохо раздобыть аналогичные сведения о реальных исторических деятелях (наприvер, составить схему убийства Кеннеди, но статистически, а не вручную, как по ссылке)? Неплохо - но никто не проделает эту работу за нас. Для количественной проверки теории Власти нам надо научиться добывать необходимые сведения (статистику и связи) из лежащей в открытом доступе неструктурированной информации. И как только задача формулируется в таком виде, на ум сразу же приходит Википедия.

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

Разумеется, для работы с таким объемом информации (попробуйте открыть файл в 57 гигабайт в каком-нибудь редакторе) потребовалось написать небольшую программку (парсер XML плюс работа с СУБД), а также прикупить новый компьютер (для быстрого парсинга всего контента википедии потребовалось около 20 гигабайт оперативной памяти). В результате заголовки и номера статей перекочевали в базу данных [для точности: работа велась с архивом за июнь 2016 года], и передо мной открылась возможность строить графы взаимосвязей между реальнымилюдьми, упомянутыми в Википедии. Правда, для этого требовалось решить еще одну задачу: отличить статьи Википедии про людей от статей про все остальное. И вот на этом этапе начались мои приключения духа.

К большинству статей о людях в Википедии прилагаются категории вида ('1917 births', '1963 deaths'), и статей таких больше миллиона. Разумеется, годы рождения и смерти проставляются не только для людей (существуют еще беговые лошади (racehorse) и другие известные животные), однако просто 'год без дополнительных пометок' как правило означает человека. Следовательно, можно очень легко извлечь из Википедии список статей о людях, и проставить для этих людей годы рождения и смерти. Программа делает это примерно за 20 минут (если не создавать индексы в таблице, куда пишутся результаты; с индексами та же процедура затягивается на 7 часов), и в результате получается список из 1159318 человек (за всю историю человечества), из которых примерно 600000 живы в настоящее время (да, больше половины известных людей до сих пор живы - стандартный эффект экспоненциального роста). Самым древним человеком на Земле оказался легендарный император Яо (2356-2255BC), а граница достоверности исторических сведений стала видна невооруженным глазом: только в 585 году до н.э. число людей, умерших в текущий год, превысило единицу.

Получив в свое распоряжение базу данных на миллион человек (назовем эту базу "вики-населением", а ее представителей - вики-жителями), невозможно удержаться и не составить к ней хотя бы самые примитивные запросы. Например, а как исторически менялась численность "вики-населения"? Годы рождения и смерти у нас есть, значит, можно посчитать точное количество вики-жителей для каждого года прошедшей истории! Разумеется, для некоторых людей год смерти может быть неизвестен - тогда примем его продолжительность жизни за среднюю, скажем, 70 лет. Что же получится в результате такого расчета? Получилось вот что:

И что же мы видим вместо равномерного, экспоненциального и резко ускоряющегося начиная с 19 века роста населения Земли? Какую-то "многоступенчатую ракету", где каждому новому периоду роста населения предшествует его полная остановка, как если бы человество периодически "собиралось с силами", а потом меняло привычный образ жизни и с лихвой наверстывало упущенное. Что это такое - открытие какого-то ранее неизвестного исторического закона (вот так, на ровном месте) или какая-то ошибка в расчетах? Конечно же, ошибка в расчетах (потому что допустить ее намного проще, чем действительно открыть новый закон) - но где именно?

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

В разы больше! График логарифмический, так что небольшой отрыв числа смертей от числа рождений соответствует кратному разрыву в численности, скажем, за 10 век сохранились сведения о 627 родившихся и и 1501 умершем [обратите внимание: эти несколько сотен человек - все люди 10 века, удостоившиеся упоминания в Википедии; вот насколько неинтересна была жизнь в те давние времена!] А насколько точно мы знаем продолжительность жизни умерших? Как часто удавалось восстановить их даты рождения? Лишь в одном случае из трех:

Таким образом, для более точного расчета численности вики-населения надо взять умерших с известными датами смерти, и определить их продолжительность жизни - либо по дате рождения (примерно в 30% случаев), либо по средней продолжительности жизни вики-жителя на тот исторический период. Рассчитываем среднюю продолжительность жизни (по известным датам рождения и смерти):

Так, а это что такое? Где ожидаемый плавный и ускоряющийся рост? Вместо него - "горб", в 8-м веке продолжительность жизни достигла пика, повторенного лишь в 17-м; опять какая-то ошибка, или открытие? Анализ простенькой таблицы рождений и смертей начинает походить на "сад расходящихся тропок" - каждый новый расчет приводит к новой загадке! Возможно, рост продолжительности жизни в "темные века" связан с тогдашним климатическим оптимумом?

Но тут мы вспоминаем, что проверяем совсем другой график, и бьем себя по рукам. Не будем отвлекаться на объяснение колебаний продолжительности жизни, а просто подставим ее в программу и рассчитаем уточненную численность вики-населения на каждый год. Вот что получится:

Как видите, ошибка в расчетах действительно была - но только одна, в 11-м веке. Периоды "остановки" роста в 14-м и 17-м веках остались, причем в 17-м веке уточненное вики-население даже сократилось! Так что мы имеем дело с каким-то реальным явлением, отразившимся на количестве упоминающихся в википедии людей. С каким именно - можно строить разные гипотезы; но проще всего предположить, что численность вики-населения в краткосрочном плане просто пропорциональна численности населения вообще - сократится второе, сократится и первое. Если эта гипотеза верна, то и оценки численности населения Земли, полученные другими способами, должны демонстрировать "провалы" в 14 и 17 веках.

Подсчитывать население всей Земли, да еще тысячу лет назад, несколько сложнее, чем парсить Википедию; так что общепринятая статистика по численности населения в прошлые века на сегодня попросту отсутствует. Существуют два чаще всего цитируемых исследования - 1) McEvedy, Colin and Richard Jones, 1978, "Atlas of World Population History," Facts on File, New York, pp. 342-351, и 2) Biraben, Jean-Noel, 1980, "An Essay Concerning Mankind's Evolution", Population, Selected Papers, December, table 2 (именно его использовал С.П.Капица в своей известной статье Демографическая революция и будущее человечества). Вот как выглядят их оценки для интересующего нас периода истории:

Обратите внимание, что кризис 14-го века в оценках профессиональных демографов выглядит куда глубже, чем в бесстрастных циферках вики-населения. И это неудивительно, потому что с точки зрения происходивших тогда событий (а не подсчетов населения) 14 век представлял собой одну непрерывную катастрофу. Начался он с того, что на Земле закончился средневековый климатический оптимум (950-1250 гг), и ему на смену пришел малый ледниковый период (1300-1850). Следствием стало падение урожаев, вылившееся сначала в великий голод 1315-1317 гг., а затем и в пандемию Черной Смерти 1356-1353 гг. Как всегда, недостаток продовольствия вызвал к жизни и социальные потрясения - Столетнюю войну между Англией и Францией и Великое междуцарствие в Германии, - а все эти события вместе получили в исторической науке название "кризис позднего Средневековья". Так что цифирки вики-населения попали здесь в самое яблочко: был кризис, да еще какой!

Сложнее обстоит дело с кризисом 17-го века: падение численности вики-населения не подтверждается демографическими оценками, да и сама концепция "глобального кризиса 17-го века" не слишком популярна в исторической науке (хотя "трясло" тогдашнюю Европу ничуть не хуже, чем в 14-м веке - две революции в Англии, Фронда во Франции, Тридцатилетняя война в Германии; подробнее об этом "глобальном кризисе" можно почитать здесь). Где ошибка - в наших расчетах, в данных Википедии или же... в оценках демографов?! Построим детальный график вики-населения для периода 1550-1850 гг.:

Если посчитать вики-население не на каждый год, а на круглые даты (1600 и 1700 годы), то никакого "провала" в численности не будет и для вики-населения: с 1600 по 1700 гг. оно выросло с 10192 до 11790 вики-жителя. Резкое снижение численности произошло во второй половине 17-го века после довольно существенного роста, и этого роста хватило, чтобы обеспечить прирост и к 1700 году. По-настоящему проверить гипотезу о пропорциональности вики-населения реальному можно, лишь раздобыв данные о реальном населении с детализацией хотя бы в полвека. Но для мирового населения таких данных просто не существует!

Поэтому попробуем проверить вики-данные на динамике населения одной из наиболее изученных стран - Англии (тем более, что парсили-то мы англоязычную википедию, и среди упомянутых в ней людей англичане наверняка встречаются чаще других). Вот график численности населения Англии из классической книги E. A. Wrigley, R. S. Schofield, Roger Schofield "The Population History of England 1541-1871", 1989:

Схожесть двух графиков видна невооруженным глазом. Получается, что вики-население и в самом делепропорционально реальному? Да, именно так! Кризисы 14 и 17 веков, которые мы разглядели на вики-графиках, действительно происходили в истории человечества, и вошли в историческую науку под собственными именами. Так что численность вики-населения дает достоверную информацию о динамике развития человечества. Приключение духа, начавшееся с непонятных неровностей на случайно построенном графике, завершилось важным теоретическим выводом: вики-население довольно тесно коррелирует с реальным! Представленные в Википедии данные, собранные разными людьми из разных источников, оказываются достаточно репрезентативной выборкой для адекватного отображения реальных событий.

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


Оцените статью