Нельзя винить Маркова, что он свел литературные тексты к двоичной последовательности гласных и согласных; ему приходилось все считать вручную на бумаге. С появлением компьютеров возможности значительно расширились. Вместо двух болот у вас может быть 26 – по числу букв английского алфавита. А с учетом огромного количества текстов можно оценить все вероятности, необходимые для определения цепи Маркова для английских букв. Питер Норвиг, директор по исследованиям[163]
компании Google, задействовал для вычисления этих вероятностей набор текстов объемом около 3,5 триллиона букв. Приблизительно 445 миллиардов букв, то есть 12,5 % от общего количества, – это буква Е, наиболее часто употребляемая в английском языке. Однако следующая за ней снова буква Е встречалась только в 10,6 миллиарда случаев, что дает нам вероятность немногим более 2 %. Гораздо чаще за Е следовала буква R, что наблюдалось 57,8 миллиарда раз; таким образом, доля буквы R среди «следующих за Е» составила почти 13 %, что примерно вдвое превышает частоту R среди всех букв. На деле сочетание («биграмма») ER – четвертое по частоте среди всех двухбуквенных сочетаний в английском языке. (Прежде чем посмотреть в сноске первые три, попробуйте их угадать[164].)Мне нравится представлять буквы как места на карте, а вероятности – как дорожки, которые в различной степени привлекательны и проходимы. От E к R ведет широкая дорога с хорошим покрытием. Дорожка от E к B намного
Ну раз уж вы здесь, почему бы не пойти дальше? Вместо последовательности букв мы можем представить текст как последовательности биграмм; например, первое предложение этого абзаца будет начинаться так[166]
:ON, NC, CE, EY, YO, OU…
Теперь на наших дорогах есть определенные ограничения. От ON нельзя перейти к произвольному буквосочетанию: следующее должно начинаться на N. Данные Норвига показывают, что самое распространенное продолжение – NS (14,7 %), а затем NT (11,3 %). Это дает еще более четкое представление о структуре английского текста.
Инженер и математик Клод Шеннон[167]
первым понял, что цепи Маркова можно использовать не только для анализа, но и для создания текста. Предположим, вы хотите создать фрагмент текста с теми же статистическими характеристиками, что и текст на английском языке, и он начинается с ON. Тогда вы можете использовать для выбора следующей буквы генератор случайных чисел, который выдаст букву S с вероятностью 14,7 %, букву T с вероятностью 11,3 % и так далее. Как только выберете следующую букву (например, T), у вас есть следующее буквосочетание (NT), и вы можете аналогично делать следующий шаг и так далее, пока не получите текст желаемой длины. Статья Шеннона «Математическая теория связи» (положившая начало всей теории информации) появилась в 1948 году, а потому ученый не имел доступа к 3,5 триллиона букв английских текстов на нынешних магнитных носителях. Поэтому он применял цепи Маркова иначе. Если у него было буквосочетание ON, он брал с полки какую-нибудь книгу и просматривал ее, пока не натыкался на стоящие рядом буквы O и N. Если после них шла буква D, то следующим буквосочетанием он брал биграмму ND. Затем искал в очередной книге сочетание ND и так далее. (Если после ON следует пробел, вы тоже можете это учитывать, тогда у вас будет получаться текст, разделенный на отдельные слова.) Вы записываете выстроенную таким образом последовательность букв и получаете знаменитую фразу Шеннона:IN NO IST LAT WHEY CRATICT FROURE BIRS GROCID PONDENOME OF DEMONSTURES OF THE REPTAGIN IS REGOACTIONA OF CRE.
Простой марковский процесс создал текст, который не является английским, но выглядит как английский[168]
. Такова жуткая сила этой цепи.Конечно, цепь Маркова будет зависеть от набора текстов, выбранных для определения вероятностей, – «обучающих данных», как мы говорим в сфере машинного обучения. Норвиг задействовал огромный набор текстов, собранных Google с сайтов и ваших электронных писем; Шеннон использовал книги со своей полки, а Марков – Пушкина. Вот текст, который[169]
я сгенерировал с помощью марковской цепи, обученной на списке имен, которые давали младенцам, родившимся в США в 1971 году:Teandola, Amberylon, Madrihadria, Kaseniane, Quille, Abenellett…