*Если вы еще не читали Часть 1, сделайте это. Код ссылки здесь.

Часть 2: Анализ сети персонажей

Имея на руках список персонажей, созданных нашей адаптированной моделью NER из Части 1, мы готовы начать понимать их отношения и то, что это может рассказать нам об истории. Но сначала нам нужно ответить на вопрос кто кого знает? Предложенной структуры текста достаточно для этой задачи, так как мы можем сделать упрощающее предположение, что если имена двух персонажей встречаются в одном предложении, между ними произошло взаимодействие. Чтобы понять оттенки серого (насколько хорошо два персонажа знают друг друга), мы просто подсчитываем количество предложений, в которых каждая пара символов встречается вместе. Объединение этих результатов в одну таблицу дает нам матрицу совпадений.

Но со списком из 200 символов и 11504 предложений нам нужен эффективный способ создания этой матрицы. Вложенные циклы for не подходят для этой задачи (или, вероятно, для большинства проектов в Palantir). Используя матрицы со сжатыми разреженными строками (CSR) для сокращения выделения памяти, серию списков и матричную алгебру, мы можем достичь этой цели.

Прочтите комментарии в ячейке Colab ниже для пошагового руководства.

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

Но прежде всего, что является мерой центральности? Каждая мера рассчитывается на основе диаграммы сетевого графа, которая, учитывая большое количество персонажей во «Властелине колец», бесполезна сама по себе, если не давать некоторое представление о плотности сети (см. диаграмму ниже).

Схема сетевого графика: слишком сложна, чтобы быть полезной с первого взгляда.

Существует много типов центральности, но четыре из них, которые мы исследуем в этом посте, — это центральность по промежуточности, центральность по степени, центральность по близости и центральность по собственному вектору.

Промежуточное положение

Центральность по промежуточности равна сумме доли кратчайших путей между каждой парой символов, включающей символ, для которого мы это вычисляем. Примером может служить пара персонажей Голлум и Элронд. Хотя они никогда не встречались в истории, их связывает путь Голлум → Фродо → Элронд, который является одним из кратчайших возможных путей между ними. Если бы не было других путей той же длины, не требующих Фродо в качестве посредника, то дробь была бы равна 1. Чтобы вычислить остаток, мы просто перебираем все возможные комбинации символов, которые появляются в The. Братство Кольца (200выберите2 = 19900 различных комбинаций)

Однако, даже просто выбрав 20 лучших результатов центральности между, мы можем увидеть, что небольшое количество символов отвечает за подавляющее большинство соединений кратчайшего пути. Что эти результаты говорят об истории?

Если бы ваш интервьюер спросил, какие 9 персонажей, по вашему мнению, составляют Братство Кольца, кого бы вы назвали? Если вы прочитаете 9 лучших персонажей с точки зрения центральности между ними, вы пропустите только трех. Почему это имеет смысл? В книге Братство - это группа людей, которым поручено эпическое приключение, которое требует от них путешествия по Средиземью, тем самым открывая им больше персонажей, чем другие персонажи, которые остаются более местными. Чтобы «местные» персонажи знали друг друга, им часто приходится полагаться на связь через членов Братства.

Что касается того, почему два других пропущены, то есть две причины: Гимли, карлик, единственный представитель своего вида, который появляется в книге, да и то только на полпути. Перегрин, один из 4 хоббитов в Братстве, будет иметь более высокий рейтинг, за исключением разницы между использованием его имени и прозвища («Пиппин»). В зависимости от формальности отношений, Перегрин/Пиппин носит то одно имя, то другое, часто исключительное.

Центральность по степени

Степень центральности — наиболее интуитивно понятная мера центральности: проще говоря, она показывает, насколько популярен персонаж. Он равен доле других персонажей, с которыми связан интересующий персонаж.

Опираясь на наше понимание, полученное из центральности между, мы можем видеть, что большинство отношений Перегрина/Пиппина скорее неформальные, чем формальные (поскольку Пиппин имеет более высокий рейтинг). Кроме того, в то время как Фродо (предполагаемый главный герой, учитывая его высокий ранг по обоим параметрам) остается в верхней части списка, люди, находящиеся дальше, перетасовали его. Например, Бильбо (отец Фродо) связан со многими персонажами, но редко служит связующим звеном между ними. Это разумно, учитывая, что его основная роль в истории (нахождение кольца) происходит до временной шкалы «Властелина колец».

Центральность близости

Центральность близости показывает, насколько далеко интересующий персонаж находится от всех других персонажей. В то время как у Бильбо относительно низкая центральность по посредничеству, его связь с персонажем с самыми хорошими связями (Фродо) предполагает, что он будет довольно хорошо ранжироваться по центральности по близости.

Действительно, Бильбо входит в десятку лучших, а сами ранги различить труднее. Мы ожидали бы чего-то подобного от истории, в которой один персонаж или группа персонажей связаны с большинством узлов, поскольку такая структура создает даже самые непрямые связи персонажей с большинством других.

Центральность собственного вектора

Центральность собственного вектора является мерой качества связей каждого символа. Возьмем такого персонажа, как Торин (Дубощит). На самом деле он не появляется во «Властелине колец», за исключением намеков на Хоббита (приквел к «Властелину колец»), в котором он был основным персонажем. Это объясняет, почему он не фигурирует ни в ранжированных списках промежуточности, ни в списках степени центральности. Тем не менее, те немногие персонажи, которые его знают (Гэндальф, Бильбо, Гимли), имеют тесные связи, поэтому центральность собственного вектора Торина должна быть относительно высокой, поскольку среднее качество или престиж его связей высоки.

Вывод

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

  1. Фродо - главный герой, в зависимости от его ранга по каждому из этих показателей центральности.
  2. Гэндальф уступает только Фродо по всем показателям, предполагая, что он либо ближе к главному герою, чем другие персонажи (возможно, как наставник или друг?), либо является антагонистом, хотя последнее менее вероятно, учитывая, что это первая книга трилогии.
  3. Эта история не разворачивается в вакууме, так как есть история с персонажами, которые появляются только в рассказе о предшествующих событиях в ассоциации с некоторыми из основных персонажей. (центральность собственного вектора)
  4. Небольшая группа персонажей (сообщество) служит связующим звеном для большей группы персонажей (см. Центральное место между ними), предполагая, что история фокусируется на них и их действиях.

Вооружившись этими знаниями, вы готовы вести войну в мире Средиземья в Части 3 этой истории, где вы прочтете и поймете краткое изложение текста!