«Я очень хорош»
команда проекта: Яна Ананченкова, Дарья Баранова, Ирина Ли, Лина Макарова, Игорь Петров
Исследовательские задачи
Перед нами стояла задача придумать, как можно выявить взаимодействие между персонажами, опираясь только на их диалоги. Для реализации проекта мы использовали датасет «Avatar: The Last Airbender».
Этапы работы
Основным показателем характера взаимодействий были выбраны эмоции, проявляемые в диалоге персонажей. За «диалог» были приняты каждые две подряд идущие реплики персонажей. Эти две реплики подавались на вход модели SamLowe/roberta-base-go_emotions, выполняющей multilabel-классификацию. Каждому обмену реплик присуждалась одна из 28 эмоций (например, злость, смущение, любопытство, любовь и др.). Эта эмоция в свою очередь увеличивала соответствующую ей компоненту 28-мерного вектора на 1. В результате каждой паре персонажей соответствовал вектор, сумма компонент которого была равна количеству их диалогов, а каждая компонента отвечала за одну из возможных эмоций. Далее векторы были нормализованы. На рисунке ниже представлены топ-20 самых часто общающихся друг с другом пар персонажей (по оси х — эмоции, по оси y — пары персонажей, синий цвет — 1, желтый цвет — 0).
Топ-20 самых часто общающихся друг с другом пар персонажей (по оси х — эмоции, по оси y — пары персонажей, синий цвет — 1, желтый цвет — 0)
Если рассмотреть полученные результаты на примере самой контрастной 12 строчки, можно, не зная ничего о сюжете, утверждать что отношения Зуко и Мэй были неоднозначными — высокие значения у компонент, отвечающих за восхищение, раздражение, любопытство, любовь, раскаяние (интерактивный вариант рисунка представлен в коде). Значит, такие анализ и визуализация могут подсветить ключевые стороны взаимодействий для пары персонажей. Однако не во всех случаях это будет так: можно заметить, что во второй половине матрицы значения компонент контрастнее — и хотя предположение о том, что у персонажей с меньшим количеством диалогов ярче выражен контраст между компонентами не подтвердилась — все-таки у персонажей с большим количеством взаимодействий сложнее будет выделить ключевые компоненты.

На рисунке ниже можно увидеть проекцию всех векторов на двумерное пространство. Было выдвинуто предположение, что пары со схожей динамикой отношений будут объединяться в кластеры точек (враги, друзья и т. д.), но из визуализации видно, что в центре сгруппированы часто коммуницирующий персонажи, а на периферии — случайный пары или единичные диалоги.
Проекция всех векторов на двумерное пространство
Чтобы делать выводы об объединенности персонажей в группы, лучше анализировать частоту совместной встречаемости в описании сцен (рисунок ниже). В перспективе для более точного анализа и показательной визуализации было бы интересно совместить эти два подхода (emotional-анализ и анализ совместной встречаемости).
Граф частоты взаимодействий персонажей
Made on
Tilda