Выделение событий в тексте — одновременно старая и новая задача. Старая она потому, что над связью событий и других характеристик текста задумывались ещё в начале XX века, а новая — потому что вычислительные мощности для решения подобных задач появились сравнительно недавно.
События и их последовательности влияют на архитектуру сюжета произведения. В 1920-х гг. русские формалисты разделили два связанных понятия: сюжет (то, как литературные события изложены в произведении) и фабулу (хронологическую последовательность событий). Несмотря на кажущееся сходство, нередко сюжет и фабула не совпадают.
Например, в «Герое нашего времени» М. Ю. Лермонтова последняя по хронологии глава — «Максим Максимыч». В ней повествователь встречает Печорина, едущего в Персию, а также получает его записки от Максима Максимыча. События остальных глав происходят задолго до этой встречи. Однако Лермонтов расположил главу «Максим Максимыч» ближе к началу романа. В результате сюжет «Героя нашего времени» не совпадает с его фабульной хронологией.
Вернемся к задаче распознавания событий. Нередко компьютерные лингвисты решают её на материале новостных заметок, а к художественному тексту обращаются реже. Вообще, художественные произведения — сложный материал для такого анализа. Они очень длинные (гораздо длиннее новостей), структура событий в них куда сложнее и запутаннее. Вдобавок к этому нужно помнить и о «цели» этих текстов: в отличие от репортажей, которые пишут для изложения связей между событиями (как хронологических, так и причинно-следственных), в художественном тексте на первый план выходит эмоциональное воздействие на читателя при помощи выбора слов и использования различных языковых инструментов.
Существуют работы, которые исследуют изменения отношений между персонажами, произошедшие вследствие каких-то событий в тексте; работы, которые определяют тональность текста, описывающего эти события; работы, выделяющие события при помощи нейронных сетей разных видов. В основном текст разбивается на предложения, однако в некоторых работах используется и дробление по документам, которое может быть полезно для выявления более крупных элементов структуры текста.
Статья, о которой идёт речь сейчас, поставила себе цель ответить на вопрос «определяют ли события в произведении форму нарратива?», то есть — можем ли мы, имея лишь список событий произведения, определить, из какого текста они взяты — художественного, исторического или новостного?
Данные
Для ответа на этот вопрос авторы собрали корпус на основе текстов, публично доступных на ресурсе Project Gutenberg. В корпусе есть и произведения, относящиеся высокому литературному стилю (например, «Эпоха невинности» Эдит Уортон или «Улисс» Джеймса Джойса), и более массовая литература («Копи царя Соломона» Г. Р. Хаггарда или «Рваный Дик» Горацио Элджера). Все тексты были опубликованы до 1923 г. — такой выбор даты объясняется ограничениями по применению авторского права в США. Бóльшая их часть оказалась написанной в период 1852–1911 гг. Из каждого текста взяты первые 2000 слов, чтобы уравнять все произведения.
Использование произведений разного уровня «художественности» позволяет авторам исследовать более широкий спектр литературной реальности. В корпусе есть как произведения, которые сложны нарративно и стилистически, так и те, что в своей структуре больше похожи на описательные.
Разметка
Большинство классификаций литературных событий так или иначе ссылаются на работу Вендлера [1], в которой выделяются 4 типа глаголов (без которых, конечно, не может быть никаких событий):
- деятельности (activities) — динамические, непредельные процессы («гулять»),
- совершения (achievements) — короткие завершённые действия, моментальные события («лопнуть»),
- достижения (accomplishments) — длительные завершённые действия, предельные процессы («читать книгу»),
- стативы (states) — постоянные состояния, длящиеся в течение какого-то времени и не имеющие конкретной «финальной точки» («быть»).
Некоторые исследователи предлагают разделять события только на состояния и события. Третий подход заключается в том, чтобы помимо самих событий размечать ещё и изменения состояний, потому что они являются динамическими переходами на фоне обычно неизменных стативов.
Авторы сначала объявили, что именно должно попасть в модель разметки. Они решили, что их интересуют события, действительно произошедшие в произведении (realis). При разметке они руководствовались следующими правилами:
- Полярность: размечались только произошедшие события с положительной полярностью. События-отрицания не размечались как произошедшие (то есть, например, событие он не понял не было размечено, так как оно выражено глаголом с отрицанием).
- Грамматическое время: размечались события, выраженные глаголами в настоящем или прошедшем времени.
- Универсальность: все универсальные события, описывающие обыденные действия, которые могли бы выглядеть и быть описаны абсолютно так же в другом произведении (например, собаки лаяли) не размечались. Интерес для авторов представляли специфические события, произошедшие единожды в определённом месте в определённое время.
- Модальность: размечались только те события, о которых говорилось с уверенностью. Остальные модальности — гипотезы, желания и т.д. — не попали в разметку.
Помимо самих событий, авторы также размечали триггеры к ним — минимальное количество текста (в этом исследовании — одно слово), которое может описать событие. Триггеры могли быть выражены глаголом, именем прилагательным или именем существительным. Так, в предложении «The studio was filled with a rich odour of roses» [The Picture of Dorian Gray] таким триггером считалось слово odour. В разметке именно оно помечалось как событие.
В результате такой разметки оказалось, что большинство событий можно разбить на четыре категории: разговор, движение, восприятие и обладание. Таблица ниже показывает, как часто встречались слова из этих категорий.
![](https://sysblok.ru/wp-content/uploads/2020/05/image1-5.png)
Нередко оказывалось, что событие выражалось метафорой, выражалось в условном наклонении (которое, по идее, не должно было попадать в разметку) или было сформулировано так, что вне контекста определить, действительно ли произошло событие, представлялось не очень возможным.
В результате в корпусе из 210 532 токенов-слов у исследователей получилось 7 849 событий; результат разметки находится в открытом доступе.
Попробуем скормить получившуюся информацию компьютерным мозгам?
Дальше авторы сделали из полученного датасета два набора признаковых описаний: в одном из них использовалось векторное описание слов (подробнее об этом можно прочитать в этой статье СБ{ъ} [2]), в другом, помимо векторного описания, были лингвистические признаки: часть речи, информация о контексте, информация о семантике слова, полученная при помощи WordNet и специфическая информация о конкретном слове (например, если это bare plural — существительное во множественном числе, которое используется в основном для того, чтобы фраза получила универсальное прочтение, например, «Кошки любят молоко» или «Работа врачей очень тяжёлая»).
Исследователи определили свою задачу как выявление связи между рассматриваемым словом и событием. Для этого использовались нейронные сети двух различных архитектур — одно- и двунаправленная LSTM (long short-term memory network, долгая краткосрочная сеть) и свёрточная нейронная сеть (CNN). Первая сеть скорее специализируется на предсказании вероятностей, основываясь на данных и их последовательности (которой здесь может быть контекст). Вторая обнаруживает пространственные связи в подаваемых данных, поэтому «свёртки» нередко используются для обработки изображений.
В итоге лучшей комбинацией стала двунаправленная LSTM-сеть, в которой векторное описание слов было получено при помощи BERT — модели, которая для вычисления вектора слова учитывает ещё и его контекст. Такая модель выделила события с F-мерой 73.9.
Дальнее чтение корпуса: что можно узнать после того, как тексты были пропущены через компьютер
Полученные результаты позволили узнать кое-что новое об исходном материале. Так как корпус состоит из текстов разного уровня художественности (см. «Данные»), авторы решили посмотреть, отличаются ли предсказания сети для текстов разного уровня литературного мастерства.
![](https://sysblok.ru/wp-content/uploads/2020/05/screenshot-2020-05-15-at-17.13.28.png)
Оказалось, что в среднем в высокохудожественных произведениях было чуть меньше событий (4.6% против 5.5%), которые были чуть более подробно описаны — в среднем между двумя найденными событиями более «элитного» текста помещалось 23.4 слова, когда как в менее элитарных текстах два события отделяет 19.2 слова. Получается, что в менее престижных текстах всегда что-то происходит, они более насыщены событиями. Также авторы обнаружили, что тексты высокой литературы более вариативны.
![](https://sysblok.ru/wp-content/uploads/2020/05/image2-6.jpg)
Также авторы сравнили произведения, разделив их по популярности — её измеряли по количеству переизданий произведения за период, который исследователи выбрали для изучения. Здесь вариации оказались менее значимыми: оказалось, что и в более популярных, и в менее популярных текстах в среднем случалось около 4.5% событий примерно одной длины.
Конечно, исследования престижности — не единственное, что можно сделать с таким корпусом. Помимо самого подсчёта событий, можно исследовать насыщенность на единицу времени в повествовании или на время чтения (сколько событий происходит за треть книги? за половину? а может, в последней четверти начинается всё самое активное?), частотность событий (есть ли безусловные лидеры?) и многое другое.
Ссылки
Источник
Источник текстов для корпуса: Project Gutenberg
Другие ссылки в тексте
[1] Vendler, Zeno. «Verbs and Times.» The Philosophical Review 66, no. 2 (1957): 143-60. doi:10.2307/2182371.
[2] Статья СБ{ъ} — Word2Vec: покажи мне свой контекст, и я скажу, кто ты.