Экономичный NLP-анализ на примерах популярных фэнтези
『Совесть — не ослик: и не такое вывезет.』
_(с) Р. Суржиков, Полари_
『Халдер, проверь, что умеет сир Поросёнок.』
(с) Д. Мартин, ПЛИО_
⋮ [Дисклеймер].
Переработанный материал.
Беспристрастность. Анализ не претендует на безошибочную точность и не рекламирует труд писателей. Перевод романа: "Игра престолов" книги_1 из цикла "Песнь льда и огня" (далее "ПЛИО") с английского Ю. Соколов. Скрипты для NLP-анализа написаны мной, в основном пользовался ими для анализа и поддержания качества собственных материалов, а также парсил международные лонгриды для сравнения и оценки авторитетности персон.
Покажу физический смысл метрик измерения лексического разнообразия текста: "MATTR"; "MTLD"; "HD-D"; "КУЛ", и почему эти метрики необходимо ставить в два ряда, а не в один (алгоритмы измеряют разные аспекты одной характеристики), встречал в некоторой RU-литературе неточную их интерпретацию.
Статья будет особенно интересна филологам, которые знают, что научных материалов в Интернете по измерению лексического разнообразия текста не так много, а в Рунете единицы и часто поверхностные.
Преамбула
Видел некоторые баталии в комментариях от читателей на профильных ресурсах: частое сравнение между собой двух высокооценённых циклов в жанре эпическое фэнтези/средневековье — "ПЛИО" VS "Полари". Сходства и различия сводились к тематике, эпохе, локациям, чертам действующих лиц, слогу и другим очевидным и/или нетривиальным литературным приёмам и ходам. В этой статье добавлю контраста на художку и с математической точки зрения.
Публикую разбор дебютных книг из вышеупомянутых циклов:
Аннотации.

"ИП": "При странных обстоятельствах умирает десница владыки Вестероса. Король Роберт со свитой отправляется на север к давнему другу Эддарду Старку, чтобы предложить тому занять место погибшего... Скрывающиеся в вольных городах потомки свергнутой Робертом династии Таргариенов вынашивают планы возвращения Железного Трона, но для этого им нужно заручиться поддержкой самого могущественного кхала великой степи. За спинами героев уже плетутся сети интриг, и никому не известно, какая фигура окажется очередной жертвой в игре престолов. А между тем зима приближается..."
"СМИ": "Полари — мир фантастического Средневековья. Суровые и жестокие нравы здесь соседствуют с диковинными ростками будущего, мечи и арбалеты — с первыми электростанциями и железными дорогами. Император Адриан ведет государство нелёгким путём реформ и прогресса. Могущественные феодалы плетут изощрённые интриги, поднимают мятежи в борьбе за власть. Церковь также пользуется огромным влиянием, ведь в мире Полари никто не сомневается в существовании богов. Боги не стоят в стороне: они шлют людям дары — непостижимые Священные Предметы. Писание гласит: в Предметах таится великая сила, способная исцелять болезни, управлять стихиями, разрушать преграды. Секрет этой силы утерян много веков назад…"
Экспертиза
Год публикации романов и возраст авторов
"ИП" — вышел в 1996г. (48 лет писателю).
"СМИ" — вышел в 2016г. (29 лет писателю).
Награды и Премии
"ИП" — 5.
"СМИ"— 2.
Оценки критиков

Таблица основных метрик
Параметр |
"ИП" |
"СМИ" |
Прим. |
Кол-во предложений |
25_509 |
33_171 (+30% | в 1.3 раз.) |
|
Ср. длина предложений |
9.4 слов (+10.6% | в 1.1 раз.) |
8.4 слов |
|
Самое длинное предложение |
456 зн. |
456 зн. |
[1] |
Кол-во слов |
240_796 |
277_807 (+15% | в 1.1 раз.) |
|
Доля эмоционального тона |
3.4% |
10.2% (+200% | в 3 раз.) |
[2] |
КУЛ (кол-во уникальных лемм) |
13.5%/на 50К слов |
16.7%/на 50К слов (+24% | в 1.2 раз.) |
[3] |
MATTR (локальное лекс. разнообразие) |
70.6% |
72.2% |
[4] |
HD-D (глобальное лекс. разнообразие). |
91.93% |
92.97% |
[5] |
Доля диалогов |
58.3% (+24% | в 1.2 раз.) |
47% |
[6] |
Часто употребляемое ругательство |
"седьмое пекло" |
"тьма(сожри)" |
|
Самое длинное слово |
"ХААууууууууууууууууууууу", 24 зн. (+20% | на 4 зн.) |
"облагодетельствовать", 20 зн. |
|
Имена ГГ, входящие в ТОП-10 слов (часто встречающиеся) |
Джон; Нед; Тирион |
Эрвин; Мира; Хармон |
[7] |
Закон Ципфа |
(a = -1.358), текст не подчиняется |
(a = -1.295), текст не подчиняется |
[8] |
Телесное повествование |
сильное |
слабое |
[8] |
Использование алфавита
"ИП": буква, кол-во, процент |
"СМИ": буква, кол-во, процент |
'о', (139357, '11.11%'), |
'о', (154049, '10.38%'), |
Буква "ё" в обоих книгах практически сведена к нулю.
Убеждаемся, что частота появления исследуемой буквы алфавита в разнообразных, толстенных текстах одного языка ~близка, факт.
Аналогия с подкидыванием монеты: подбрасывание её несколько раз и результаты непредсказуемые, подбросите медяк 1 млн. раз, результат будет ~50x50. Напишите пару предложений на русском языке, и не факт, что буква 'о' по частоте будет на первом месте. Напишите крупную прозу на русском, и результат будет ~как в таблице.
Интерпретация результатов
[1] Самые длинные предложения (СДП) в обоих романах совпали по количеству знаков.
В качестве сравнения: у Ф. Достоевского в "Преступление и наказание" — {СДП 736 зн.}, а у С. Кинга в "Противостояние" — {СДП 1575 зн.}.
"ИП" — {СДП 456 зн.}: «Это крыло было тоже составлено из конницы, но если справа располагался бронированный кулак из рыцарей и тяжеловооруженной кавалерии, то авангард войска западного края составили из отбросов: лучников в кожаных куртках, нестройной массы неприученных к боевому порядку вольных всадников и наемников, сельских работников на пахотных лошадях с косами и ржавыми мечами, полученными от отцов, недоученных ребят из борделей Ланниспорта, ну и Тириона с его горцами.»
"СМИ" — {СДП 456 зн.}: «Почти без помощи со стороны Хармона он вспомнил, что при встрече с графом следует отвесить поясной поклон, а кастеляну и рыцарям достаточно низкого кивка головой; что руку для пожатия протягивать не нужно — это дерзость; что Джоакин, как воин, имеет право звать графа "милорд", но учтивей все-таки говорить "ваша милость"; что место за столом Джоакину укажут, и сесть он должен никак не раньше, чем задница последнего из графских рыцарей коснется скамейки.»
[2] Доля эмоционального тона (ДЭТ) — процент предложений с восклицательными и вопросительно восклицательными знаками, но не чисто вопросительными, например, "!/!!/!!!/?!!/?!/!?".
У автора "СМИ" Р. Суржикова ДЭТ — довольно внушительная.
Для сравнения: в классике Л. Толстого "Война и мир" — {ДЭТ ~5.1%}, а у Ф. Достоевского в "Преступление и наказание" — {ДЭТ ~17.5%}, на редкость поражающе высокая.
[3] Кол-во уникальных лемм (КУЛ) — активный словарный запас автора, или попросту — богатая речь, которую автор способен выдать в своём творчестве.
Алгоритм.
Преимущества алгоритма: он не зависит от количества страниц, можно парсить тексты любого объёма, например, от 50К словоформ и выше. Точность упирается в процесс лемматизации - > корпус русского языка, сглаживает нелинейность лексического разнообразия.
Очищаю текст от спецсимволов, чисел и перевожу его в нижний регистр, с помощью Pymorphy3 лемматизирую, включая союзы и предлоги. Далее начинается самое интересное: из всего текста выбираю абсолютно рандомные 50К слов (лемм), сокращаю дублированные слова (set()), а цифру — полученное количество уникальных слов из 50К лемм заношу в список. Повторяю алгоритм 100 раз, на практике цикличность затрагивает все слова в тексте. Далее, вычисляю среднее арифметическое из 100 цифр в списке и пропорцией привожу %уник.лемм/50К лемм. На финальном шаге вычисляю стандартное отклонение: каков разброс цифр на списке и вывожу его в процентах, т.е. смотрю ошибку, которая на 100 overkill циклах составляет ~0.3-0.7%. Т.е. алгоритм работает более чем удовлетворительно. Почему итерирую в 100 проходов, а не в 666? Потому что после ста итераций ошибка/разброс всегда менее 1%.
На лонгридах естественно сокращаю объёмы 50K слов с 1/3 романа до 1/3 статьи.
Расчёт сделан после приведения всех слов к базовой форме, на сколько позволил корпус русского языка OpenCorpora.

Р. Суржиков расписал "СМИ" красноречивее, чем автор перевода "ИП", сильно выше средних показателей, но обоим произведениям сокрушить незыблемые высоты не удалось.
КУЛ — важная характеристика, в отличие от метрики: частота букв, она не так предсказуема. Да, можно написать несколько предложений на русском языке и получить {КУЛ 100%}. Но когда объём литературного творчества будет стремиться к объёму крепкого романа, то и удерживать темп лексического разнообразия, как в паре предложениях, уже не получится. Слова, синонимы неизбежно начнут повторяться. Если у фантаста низкий и ограниченный словарный запас и отсутствует способность к созиданию, то и язык его будет скудным, а КУЛ↓.
[4] MATTR(Mean Type-Token Ratio, предложена в 2010 году) — прогрессивная локальная метрика из области определения лексического разнообразия текста, как и КУЛ, отображает усреднённый ~% уникальных слов на X словоформ в любом заданном отрывке повествования, т.е. в моменте, скользящее ср. TTR с любым размером рамки.
Физический смысл метрики: выбираем текст, задаём размер рамки, например, 3 слова, результат расчёта MATTR покажет 100%. Проверяем: тыкаем пальцем в любой отрывок из трёх слов в анализируемом тексте и все три слова должны быть не повторяющимися, т.е. получаем 100%.
Проще говоря: MATTR сильный индикатор лексического разнообразия сцен текста (если верить редким статьям из научных журналов, то метрика в достаточной степени, если не полностью, независима от "кривых эффектов" длины повествования).
В моих примерах рамка метрики задана в 200 слов, несколько длиннее рамки для анализа текстов на английском языке. Алгоритм скользящего анализа усредняет TTR по каждой словоформе за шаг: размер рамки со смещением в одно слово, итерации идут до конца повествования. Описание алгоритма простыми словами: берётся текст от самого начала с 1-го по 200-е слово, записываем полученный TTR (уникальные слова делим на общие, т.е. на 200), сдвигаем рамку, берётся текст со 2-го по 201-е слово, записываем полученный TTR, и так итерируемся до конца повествования, а потом берём среднее арифметическое из полученных TTRи приводим пропорцией к процентам — это и есть MATTR лексического разнообразия в момент времени.
В "СМИ" MATTR выше, чем в "ИП", в теории текст читается легче без спотыкания об тавтологию. (см. в статье разбор про парадокс)
Если рот — это окно в разум, то язык — проводник.
Для расчёта MATTR на Python существуют библиотеки, например, "LexicalRichness" и "Lexical_diversity", данные расчётов бьются между собой, за исключением MTLD, где разница ±2%, значит вычисления корректные, кроме того, исходники кода и алгоритма простые, проверил.
Для использования либ на русском языке нужно подавать готовый список слов. В "LexicalRichness" не использовать функцию по умолчанию, где на входе подаётся строка, получим немного разные показатели лексического разнообразия одного исследуемого текста, плохо. О причинах такого святотатства: "LexicalRichness" по умолчанию ожидает на входе текст и разбивает его на слова, ориентируясь на английский язык. А "Lexical_diversity" ожидает на входе список слов, который мы благополучно создаём из текста и лемматизируем.
LST = [i.lower() for i in re.split(r"\b\d+\b|_|[^\w'-]+", text) if i not in ("-", "")] #убираем цифры, спецсимволы, за исключением знака "-", в ниж. регистр, убираем пустые элементы из списка и тире, но не дефисы составных слов.
Пример нескольких исходных слов из текста "СМИ" и то, как они будут обработаны в разных либах: text = "по-лягушачьи, вторую-то, что-то, малец-бесеныш, золотых… _Смолден".
Различия по умолчанию (не использовать на RU-языке).
"LexicalRichness" — в матанализ пойдут такие слова: ["полягушачьи", "вторуюто", "чтото", "малецбесеныш", "золотых…", "смолден"].
"Lexical_diversity" — ["по-лягушачьи", "вторую-то", "что-то", "малец-бесеныш", "золотой", "смолден"] — что нам и требуется.
Библиотеки, заточенные исключительно на английский язык, включая TextBlob, не считают символ многоточия за знак препинания (именно символ "…", а не три символа подряд "."), кроме того, опираются на свои исследования о составных словах через дефис.
Преимущества библиотеки "LexicalRichness": для некоторых метрик (MTLD/HD-D) можно задавать пороги, тогда как в "Lexical_diversity" жёсткая привязка к коду. К сожалению обе библиотеки не вычисляют современную метрику MTLD-W, алгоритм которой был предложен в 2020 году.
lex = LexicalRichness(LST, preprocessor=None, tokenizer=None)#подаём список вместо строки.
[5] HD-D (Hypergeometric Distribution Diversity, предложена в 2010 году) — метрика признана сравнивать разные по длине тексты на лексическое разнообразие, но в отличие от MATTR не локально, а глобально с некоторым золотым стандартом. Измеряется от 0 - 1 в у. е. 0 — автор повторяется, 1— максимум лексического разнообразия. Число всегда дробное и малое. Поэтому, для удобства, домножаю результат на 100 и получаю размах от 0 до 100(%), но это не проценты, нельзя результат интерпретировать как 92 больше 91 на 1%. Физический смысл метрики: если в КУЛ вместо 50К слов взять выборку в 42 слова, то КУЛ на различных текстах будет выдавать результат ~эквивалентный алгоритму HD-D. Вывод: под золотым стандартом подразумевается рандомная выборка 42-ух слов из текста и расчёт математического ожидания числа уникальных типов в случайной выборке на основе частот всех типов в тексте. Повторюсь: в отличие от локальной метрики MATTR, описывающей лексическое разнообразие сцен действий по тексту,HD-D — описывает лексическое разнообразие общую сцену действия повествования. Интерпретация результата: чем выше параметр, тем более насыщенный текст, по факту — это {усреднённый % уникальных слов / на 42 словоформы, по всему тексту}, результат получен через математическую вероятность ожидания, которая ~идентична алгоритму многократной выборке и усреднению.
Обычно, метрика HD-D близка в сторону единицы, т.е. к 100(%) (из-за сложности/богатства русского языка 42 слова не очень интересная выборка, она исходит из аспектов английского языка, но раз уж тексты 15 лет сравниваются с таким порогом, оставляем её по дефолту: в 42 слова).
В "СМИ" HD-D высоченная, автор обладает богатым словарным запасом.
Сравнение КУЛ, MATTR и HD-D на литературных произведениях.
Г. Олди, "Шутиха" — {
MATTR~80.3% уникальных слов на 200 словоформ в любом отрывке повествования}. {КУЛ~26.7%/50K слов}. {HD-D ~94.547%}. Сумасшедшие показатели.В. Панов, "Московский клуб" — {
MATTR~73% уникальных слов на 200 словоформ в любом отрывке повествования}. {КУЛ~15.3%/50K слов}. {HD-D ~92.840%}.У А. Пехова и его подруг в дебютном "Летос" — {
MATTR~73.8% уникальных слов на 200 словоформ в любом отрывке повествования}. {КУЛ~14.1%/50K слов}. {HD-D ~91.551%}.У столетнего романа Г. Хаггарда, "Дочь Монтесумы" — {
MATTR~67.7% уникальных слов на 200 словоформ в любом отрывке повествования}. {КУЛ~12.4%/50K слов}. {HD-D ~89.570%}.У столетней классики Ф. Достоевского, "Преступление и наказание" — {
MATTR~63.7% уникальных слов на 200 словоформ в любом отрывке повествования}. {КУЛ~13.7%/50K слов}. {HD-D ~88.878%}.В древней Библии, Новый Завет, книга 1-я — {
MATTR~56.4% уникальных слов на 200 словоформ в любом отрывке повествования}. {КУЛ~9.2%/50K слов}. {HD-D ~86.208%}."ИП" и "СМИ" см. таблицу основных метрик.
Сравнение КУЛ, MATTR и HD-D на статьях, поджанр "своя история, какой автор молодец".
@ne555, Хабр: "Продолжаю экспериментировать над своим организмом, на этот раз сотка пешком." {
MATTR~73.3% уникальных лемм на 200 слов в любом отрывке повествования}. {КУЛ~74.7%/400 слов}. {HD-D ~93.634%}.Студентка Эллисон, журнал Science (перевод): "Чтобы написать успешные заявки на научные гранты, мне пришлось научиться рисковать." {
MATTR~67.0% уникальных лемм на 200 слов в любом отрывке повествования}. {КУЛ~57.8%/400 слов}. {HD-D ~85.608%}.
[!] Такое мега колоссальное лексическое разнообразие между статьями обусловлено и тем, что препринт из научного журнала экстремально замусорен личными местоимениями — "я"; "мой"; "свой".
"Тошнотворность"

присутствует в каждом предложении, заметно невооружённым глазом. Рассказ "ne555" также не подчиняется закону Ципфа (наклон: -0.586) из-за короткой выборки. Смежные темы: тавтология, яканье (в плане высокого и неконтролируемого употребления личных местоимений), слова-паразиты, заимствования.
[!] Следующее предположение: размер рамки при расчёте MATTR для различных литературных форм (стихи, статьи, проза) необходимо подбирать.
[!] Важное наблюдение на основе анализа произведений: метрики отражают богатство и сложность текста. Сильное отклонение в меньшую сторону сообщает о бедности языка; или о том, что в руках литература из прошлой эпохи, ограниченная словарём Академии Российской; или того проще — сказки, проза для крестьян. Сильное смещение в большую сторону — это тяжёлое повествование, например, упомянутая "Шутиха"; или какое-либо научное исследование, где без словаря невозможно будет постигнуть смысл; или текст на русском, но с каким-нибудь нередким, пафосным вкраплением цитат на латыни.
[!] MATTR не всегда коррелирует с КУЛ/HD-D в унисон, показывая: на сколько сложна в усреднении и нелинейна метрика измерения лексического разнообразия. HD-D всегда довольно высок. Лично я первым делом при анализе текста смотрю на метрики в такой весомой последовательности: КУЛ, MATTR, HD-D.
[!] С помощью метрик удобно сравнивать не только тексты разных авторов, но и переводы одного произведения между разными изданиями, например, цензурируемые и не очень.
[ * ! * ] Разберём парадокс Панова-Пехова.
Одна метрика сообщает, что лексическое разнообразие выше у Панова, а другая говорит, что наоборот у Пехова. Как такое возможно?!
"Московский клуб" и "Летос" — оба романа в жанре фэнтези. Структура художки одинаковая: количество слов совпадает ~99K (лемм: 10390 / 9663); предложения имеют ~одинаковую длину ~9.5 слов и даже совпадающую долю диалогов ~57%. Парадокс из-за близких показателей текста лишь усиливается, но зато сразу отметаются теории про "Тарантиновские диалоги".
1) Проверим HD-D, что метрика действительно глобальная и не подвирает. Для этого рассчитываем КУЛ, но с привязкой не к 50К, а к 42 словам. Результаты КУЛ/HD-D ~идентичны между собой для обоих романов, ошибка разброса у КУЛ относительно своего усреднения ~5%. Вывод: HD-D корректный алгоритм и рассчитывается честно.
2) Есть вероятность, что тогда плавает MATTR, проверяем в сравнении: для этого подтягиваем ещё одну математическую модель, описывающая лекс. разнообразие: MTLD (Measure of Textual Lexical Diversity, алгоритм предложен в 2010 году).
Принцип расчёта MTLD: алгоритм начинает читать текст с первого слова и считает пока коэффициент разнообразия TTR не упадет ниже порога 72% (золотой стандарт, но опят же — это для английского языка), как только разнообразие падает ↓72% из-за дублирования предлогов/союзов/ит.д. (слов-лемм), счётчик сбрасывается (записывается размер окна слов), начинается новая итерация, и так далее пока не достигнется конец повествования. По окончанию сканирования, полученные данные о размерах окон усредняются.
Вольная интерпретация результата MTLD — это количество слов в усреднённом любом отрывке текста на уровне не ниже 72% лекс. разнообразия, т.е. показатель того, как долго в основном автор может не выдыхаясь удерживать "уникальный" темп повествования.
Для "Московского клуба" MTLD = 203, а для "Летоса" MTLD = 219. Разбор полученной цифры у показателя: если MTLD = 219, то это означает, что в среднем последовательном потоке 157 уникальных слов и 61 повторов (219 - (219×0,72)) при TTR 72%. Подставим MTLD (219) в качестве размера рамки MATTR, получаем {MATTR:: ~72% уникальных лемм на 219 слов в любом отрывке повествования}. Отсюда важный вывод: MTLD — это тоже локальная, фрагментарная, потоковая метрика, как и MATTR (статическое рамка vs динамическая рамка) и практически напрямую с ней связана (MTLD — это оптимальное, выбираемое окно рамки в MATTR). Как видим 219 > 200 слов, которые я брал в качестве рамки MATTR для распарсивания романов, хотя в английском языке принято брать размер рамки существенно меньше.
Парадокс лексического разнообразия сохраняется, непонятно по итогу, где разнообразие точнее: у "Летоса" на основе локальных MATTR/MTLD — выше, но на основе HD-D/КУЛ — ниже, и всё с точностью наоборот в "Московском клубе". На ум приходит мысль, что Пехов написал роман в соавторстве с женщиной и сломал систему.
3) Подтягиваем тяжёлую артиллерию: обращаемся к закону Ципфа. Оба произведения подчиняются природе закона (1.169 / 1.179).
Распределение слов по закону Ципфа.
"Московский клуб":
1-10-ТОП-слов (в 4.72 раза МЕНЬШЕ); 11-100-ТОП-слов (в 2.08 раза МЕНЬШЕ); 101-1000-ТОП-слов (в 1.01 раза МЕНЬШЕ).
"Летос":
1-10-ТОП-слов (в 4.02 раза МЕНЬШЕ); 11-100-ТОП-слов (в 1.85 раза МЕНЬШЕ); 101-1000-ТОП-слов (в 1.01 раза БОЛЬШЕ).
Первая секция частота слов в романах совпадает — это служебные части речи, местоимения и в ней же кроется разгадка.
Местоимения |
МК |
Летос |
он |
1017 |
1747 (+) |
она |
587 |
1873 (+) |
они |
652 |
1019 (+) |
тот |
285 |
885 (+) |
я |
1205 |
1098 (-) |
Из таблицы видно, что стиль повествования в "Летос" идёт преимущественно от третьего лица, а в "МК" — наоборот.
4) Структура "Московского клуба".
Цитата, предложение:
"""
Любой Анклав мира находится на территории какого-либо государства, и каждое правительство, на территории которого расположен Анклав, сознательно или подсознательно считает его «своим».
"""
Слова в предложении повторяются, локальная динамика MATTR падает. Автор описывает локацию и называет сущности своими именами: "Анклав/территория", фантаст повторяет ключевые слова в каждом подобном абзаце или предложении. Панов не размывает в динамике "Анклав" на ТОП-слова: "он" или "тот", возможно, чтобы не запутать читателя. Условно, через каждую 0.01 повествования автор подробно расписывает редкие в массе словечки: "мутабор; генавры; раллер; психопривод; суперсобака; нейкист; синдин; анклав" уникальными словами, которые далее по тексту редко встречаются.
Например, одно из уникальных описаний анклавов, цитата:
"«Баварский район» во Франкфурте, «Площадь Мао» в Гонконге…".
Описав один Анклав, автор переходит к следующей локации "Анклава" в другой части света с совершенно новым набором словоформ. Глобальный словарь растёт, а в динамике "Анклав" и ему п.д. слова повторяются.
Структура "Летоса".
Цитата, отрывок:
""" — Больно? — Она осторожно коснулась израненной кожи подушечками теплых пальцев. — Немного, — неохотно признал тот. — Лавиани остановила это на время, но \опущение местоимения, чтобы не повторяться/ сказала, что указывающие справятся лучше. Именно поэтому я приехал в ваше герцогство. Ее левая рука загорелась светом, Шерон ощупывала каждый дюйм рисунка. """
Все слова в динамике уникальные, поэтому и локальный MATTR растёт, но глобальный HD-D падает, т.к. по всему роману "она; тот; лавиани; я; её; шерон" — это ТОП-слова, т.е. часто употребляемые, а в сцене комбинированные, разные.
5) Парадокс разрешён, по факту его и вовсе не было: роман "Московский клуб" — это глубокое погружение (термины и придуманные словечки, которые то и дело локально повторяются, но их много и охват глобальный), текст чаще от первого лица с богатой лексикой, но с частыми повторами слов внутри сцен (техничность выше и спотыкания тоже); "Летос" — это бесконечные экшен сцены (меняются однообразные слова в моменте, но глобально используется один и тот же набор "действий в связке с местоимениями" <он/она/они/тот сказал/остановил/ударил>), текст от третьего лица с простой лексикой и условным разнообразием внутри абзацев (гармоничное повествование без спотыканий).
Если изменить размер рамки MATTR с 200 до 650 слов, то для обоих романов результат сравняется, дальнейшее увеличение рамки окна начнёт считать перевес лекс. разнообразия уже в пользу МК. То есть короткие (абзацы) отрывки в 100-300 слов у Пехова выходят с лёгкой руки: упрощённые по сравнению с лексикой Панова.
MATTR/MTLD — отражают последовательный поток (фрагментарно): насколько разнообразен язык прямо сейчас, в сцене, локальная метрика текста.HD-D/КУЛ — показывают словарное богатство автора в целом, глобальная метрика текста.
MATTR/MTLD VS HD-D/КУЛ не обязаны биться между собой, в данном разборе метрики и не бьются. Для общего базового анализа достаточно брать MATTR и КУЛ/ MTLD и HD-D/ MATTR и HD-D/ MTLD и КУЛ, т.е. локальную + глобальную меру.
[6] Доля диалогов (ДД) у обоих авторов высокая, у Мартина в "ИП" даже впечатляющая.
Для сравнения: в дебютной фэнтезийной саге Д. Аберкромби "Кровь и железо" — {ДД ~48%}, а в классике Ф. Достоевского "Преступление и наказание" — {ДД ~62.6%}.
[7] О трёх главных героях, входящих в ТОП-10 слов.


Чередование упоминаний главных героев, которые видим на графиках, связано с тем, что действующие лица не идут на дело вместе и не ведут между собой бесед, т.е. у каждого из них своя сюжетная линия. Обобщая: в каждом романе по три главных героя из множества персон вошли в ТОП-10 слов, и у всех наблюдается параллелизм.
Спойлер.
А если проанализировать фэнтезийную сагу "Полари" за пределами только дебютной книги "СМИ", т.е. распарсить весь цикл, все 6 книг, то ключевой персонаж Эрвин — единственный из всех действующих лиц, кто закрепился в ТОП-10 часто употребляемых слов каждой книги.
Цикл "Полари" — завершён, а цикл "ПЛИО" — нет, поэтому железный факт предоставлен только про Эрвина.
[8] Закон Ципфа
Закон Ципфа («ранг — частотность») — эмпирическая закономерность распределения частотности слов естественного языка: если все слова языка (или просто достаточно длинного текста) упорядочить по убыванию частотности их использования, то частотность n-го слова в таком списке окажется приблизительно обратно пропорциональной его порядковому номеру n, так называемому рангу этого слова.
__(Wikipedia)__
Текст подчиняется закону, если наклон "a" в диапазоне логарифмических шкал: -0.8 — -1.2.
Сгруппировал и рассортировал леммы. Оба произведения отклоняются от закона Ципфа, причина в голове графика. В "ИП" резкое резкое отклонение за счёт недостатка ТОП-10 слов (служебных частей речи). В "СМИ" отклонение тоже в голове графика за счёт недостатка тех же ТОП-слов, но не такое резкое. Оригинал "ИП" на английском также не подчиняется закону Ципфа. А, например, фэнтези-романа "Летос" А. Пехова подчиняется природе закона (a=-1.179), как и данная статья (a=-0.814).
В "ИП" намного сильнее преобладает телесное описание, чем в "СМИ": "рука:852/626"; "глаз:582/420"; "голова:460/391"; "лицо:457/0"; "нога:373/0"; "кровь:318/0" — из ТОП-100 слов.
У Суржикова в "СМИ" обращение на "вы" существенно преобладает ~в 2 раза, более по дворянски что ли, и/или Мартин в "ИП" акцентирует обращение на именах героев. У обоих повествование от первого лица ~одинаковое, а в "ИП" наблюдение от третьего лица выше ~на 65%.
Облако лемм
Вычищены местоимения, союзы, предлоги и некоторые междометия. Баланс масштабирования слов намерено максимально смещён в пользу красоты заполнения пространства, нежели реального масштабирования слов на основе их частоты.
Habr агрессивно пережимает изображения до среднего качества, посмотреть исходные визуализации в высоком разрешении -> ("ИП" / "СМИ", см. функцию: "открыть оригинал").


В качестве заключения
Дебютная книга Мартина "Игра престолов" по большей части состоит из диалогов/сухих, а дебютная книга Суржикова "Стрела, монета, искра" в объёме потолще, с меньшим количеством диалогов, но более эмоциональных, а также, несмотря на юный возраст писателя, с более могучей богатой речью — и в динамике, и глобально. В "ИП" намного сильнее течёт телесное повествование. Родственный факт: в анализируемых эпических фэнтези множество главных героев, и у каждого из романов в ТОП-10 часто употребляемых слов смогли войти сразу по три персоны, чьи сюжетные истории развиваются отдельно друг от друга.
Прелесть экономичного NLP анализа в том, что от начала и до конца, включая закон Ципфа, он бесплатный, локальный и доступен на ладони.
Практическое применение: мои ранние публикации страдали от низкого лексического разнообразия и яканья, вышеописанные в статье алгоритмы повысили навык письма, результат подтверждается цифрами. Интересно сравнивать литературу как между собой, так и со своими публикациями, ведь алгоритмы современных метрик избавлены от "кривых эффектов" длины повествования.

??? ??? (spoiler)

Издание |
1984г. |
1967г. |
Кол-во предложений |
9_617 |
9_365 |
Кол-во слов |
112_820 |
112_453 |
Средняя длина предложений |
11.7 слов |
12 слов |
Доля эмоционального тона |
14.2% |
11.6% |
Доля диалогов |
51.4% |
48.4% |
КУЛ |
15.5%/на 50_000 слов |
15.6%/на 50_000 слов |
MATTR |
67.44%/200 слов |
67.50%/200 слов |
HD-D |
90.86% |
90.86% |
Закон Ципфа |
(alpha): -1.15, подчиняется |
(alpha): -1.47, подчиняется |
Самое длинное предложение |
586 зн. |
580 зн. |
Самое длинное слово |
23 зн. |
аналогично. |
Дорогие читатели, вывод по "МиМ" попробуйте сформулировать сами на основе полученной информации.
? Опробовать поисковую систему, разработанную автором статьи.
*Источник свободной информации — fantlab.ru.