Поиск устойчивых последовательностей в верлибре¶

Борис Орехов

(НИУ ВШЭ, ИРЛИ РАН)

Как изучать верлибр?¶

Мы уже знаем, как описывать и что искать в силлабо-тонике.

Это регулярный стих, поэтому стиховедов интересуют распределение форм регулярности и значимые отклонения от нее.

Примерно то же справедливо и для тоники.

Но что искать в верлибре? Это принципиально неурегулированный стих.

Известное высказывание М. Л. Гаспарова¶

«Но методика исследования уже выработана, и здесь требуются только время и способные аспиранты».

Кажется, что не так все ясно, как это представлялось.

Все понятия и методики нужно уточнять или даже изобретать заново.

Верлибр — это система¶

Единственная возможность изучать верлибр — это исходить из того, что он тоже является системой.

В таком случае мы сможем выявить конструктивные особенности этой системы, паттерны и отклонения.

Это не только филологический взгляд: “no verse is free for the man who wants to do a good job” T. S. Eliot

В чем эта система?¶

Если в классических системах стихосложения мы можем найти систему в пределах одной строки, то верлибр становится таковым в сравнении с другими строками.

Следовательно, система в верлибре в соотношении строк между собой.

Частный случай соотношения — последовательность.

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

“The distinguishing characteristic of free verse is the line as unit of rhythm” Richard Andrews A Prosody of Free Verse, 2017

Что такое строка?¶

Вернее — что в строке релевантно для верлибра?

Строго говоря, мы этого не знаем, но можем предположить, что:

  1. число слогов
  2. распределение ударений
  3. словоразделы
  4. число слов в строке
  5. частеречная характеристика слов?

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

In [10]:
# https://www.datacamp.com/tutorial/fuzzy-string-python
In [11]:
# A Study of Sequential Pattern Mining Techniques

Поработаем с данными¶

Возьмем 848 текстов, помеченных в НКРЯ как верлибры.

Это 29 131 строка.

Сначала сделаем вид, что всё это силлабика (будем мерить только длину строки в слогах).

Обзор данных¶

Год создания

Авторы¶

Ситуация с авторами разнообразная. Всего авторов 507.

Тексты по авторам

Чемпион в смысле текстов: Вениамин Блаженный (60+ произведений)

Здесь уместно вспомнить напоминание А. А. Илюшина относительно силлабики: это не обязательно изосиллабизм:

«вполне возможны и другие формы слогового порядка — не выравнивание количества, а, скажем, гармоничное сочетание разных количеств».

GSP¶

Применим алгоритм generator sequential pattern.

In [ ]:
from prefixspan import PrefixSpan # импортируем библиотеку для GSP

db = [
    [0, 1, 2, 3, 4],  # данные для примера
    [1, 1, 1, 3, 4],
    [2, 1, 2, 2, 0],
    [1, 1, 1, 2, 2],
]

ps = PrefixSpan(db) # код для поиска паттернов

print(ps.frequent(2)) # выводим список паттернов с частотностью 
                      # не меньше 2

# что получается:

[(2, [0]), (4, [1]), (3, [1, 2]), (2, [1, 2, 2]), (2, [1, 3]),
 (2, [1, 3, 4]), (2, [1, 4]), (2, [1, 1]),(2, [1, 1, 1]), (3, [2]),
 (2, [2, 2]), (2, [3]), (2, [3, 4]), (2, [4])]

Силлабические паттерны из 4 и более строк¶

9-сложные строки в сочетании с 10- и 8-сложными

Ранг Паттерн Частота
1 9, 9, 9, 9 255
2 9, 9, 9, 8 252
3 10, 9, 9, 9 251
4 10, 10, 9, 9 251
5 8, 8, 9, 9 246
6 9, 9, 9, 10 245
7 9, 8, 9, 8 243
8 8, 8, 9, 8 242
9 9, 9, 8, 9 240
10 7, 9, 9, 9 239

Примеры¶

9, 9, 9, 8

а под нѐбом вита̀ет сова̀ --,
оперѐнный большо̀й абажу̀р,
и о̀чи совы̀ безразлѝчны,
в ва̀шу ко̀мнату, где она̀...

В.А. Соснора. IV. ВОЗМЕЗДЬЕ


9, 8, 9, 8

Каждый ча̀с -- (я ведь то̀лько стра̀нник!)
Слышу го̀рькое торжество̀
И вѝжу, как хра̀м твой ру̀шится.
Каждый ча̀с -- уко̀л и уда̀р

Р. Ивнев (М.А. Ковалев). «Господи! За упоминанье...»

Тонические паттерны¶

Для несиллабо-тонических строк НКРЯ размечен с точки зрения ударных и безударных слогов.

Пример из НКРЯ

Тонические паттерны¶

Разнообразие элементов больше, вероятность паттерна меньше.

В основном, строки по 3, 5, 7 слогов.

Ранг Паттерн Частота
1 2*2*1, 1*2*1, 1*2*1, 1*2*1 24
2 1*2*1, 1*2*1, 0*2*1, 0*2*1 23
3 1*2*1, 1*2*1, 1*2*1, 1*2*1 23
4 2*2*1, 2*2*1, 1*2*1, 0*2*1 23
5 0*2*1, 0*2*1, 0*2*1, 0*2*1 22
6 1*2*1, 0*2*1, 0*2*1, 0*2*1 22
7 1*2*1, 1*2*1, 1*2*1, 0*2*1 22
8 2*2*1, 2*2*1, 1*2*1, 2*2*1 22
9 0*2*1, 0*2*1, 1*2*1, 1*2*1 21
10 1*1, 1*1, 1*1, 1*1 21

Паттерны словоразделов¶

2Но̀ги 2судьбы̀ 2были 3сдѐланы 1из 3зо̀лота. = '2|2|2|3|1|3'

2Живо̀т -- 1из 2блѐдных 3рассвѐтных 4освещѐний. = '2|1|2|3|4'

1Гру̀дь -- 1из 2стекла̀. = '1|1|2'

2Ру̀ки -- 1из 2ста̀ли. = '2|1|2'

Б.Ю. Поплавский «Ноги судьбы были сделаны из золота...»

Паттерны словоразделов¶

Сверхкороткие дву- и трехсложные строки.

Ранг Паттерн Частота
1 2, 2, 2, 2 29
2 2, 2, 2, 3 26
3 2, 2, 3, 3 26
4 2, 2, 2, 1|2 25
5 2, 3, 2, 3 24
6 2, 1|3, 2, 2 23
7 2, 2, 2, 2, 2 23
8 2, 2, 2|2, 3 23
9 2, 3, 3, 3 23
10 2|2, 2|2, 3|2, 3 23

Промежуточные итоги¶

Силлабические паттерны наиболее перспективны.

Частотность несиллабических паттернов в 10 раз ниже, чем силлабических.

Нет смысла комбинировать характеристики, потому что тогда мы вообще не найдем никаких паттернов.

Нечеткий поиск¶

Нужно вспомнить, что верлибр — это нерегулярный стих.

Следовательно, критерии для выделения паттернов должны быть мягче.

С этой точки зрения 8, 8, 12, 8 и 8, 8, 13, 8 — это один и тот же паттерн, а не два.

In [214]:
from fuzzywuzzy import fuzz # библиотека для нечеткого поиска

string1 = 'ABCDEF'
string2 = 'ABCDEZ'
ratio = fuzz.ratio(string1, string2) 
print(ratio) # значение сходства двух последовательностей
83

При $ratio > 79$ для шестистрочных последовательностей и при условии, что мы не ищем повторения паттернов в том же тексте, у нас находятся такие пары:

10, 10, 10, 10, 9, 10 ⟷ 10, 10, 10, 11, 10, 10

О, бу̀дь ты ря̀дом -- по̀ловца̀м-раба̀м
несдо̀брова̀ть! Рассѐвшись шѝроко̀,
мы б то̀ргова̀ли по̀ нога̀те ба̀б,
по рѐзанѝ -- плюга̀вых му̀жико̀в!
Га̀лицкий Осмомы̀сл Яросла̀в!
Ты сто̀рожѝшь стара̀тельно̀ страну̀.
В.А. Соснора. «В Киеве на горах...»


Где лежа̀т два ключа̀ золоты̀е:
Первый клю̀ч от Могу̀щества Двѐри,
А друго̀й от Воро̀т Воскрешѐнья...
Боже, ско̀лько а̀лчущих скрѝпа пѐтель,
Взмаха ство̀ров дверны̀х и воро̀тных,
Миллио̀ны веко̀в у поро̀га,
Как тума̀нов полкѝ над Помо̀рьем
Н.А. Клюев. Поддонный псалом

Это простой случай, но заметно стилистическое родство текстов. Происхождение этого паттерна в условном былинно-говорном стихе.

Максимально обобщенные паттерны¶

Длина 10 строк.

Состав элементов:

  • Короткие строки: меньше 7 слогов
  • Нормальные строки: от 7 до 10 слогов
  • Длинные строки: от 11 до 15 слогов
  • Сверхдлинные строки от 15 слогов

Запрет на однообразие.

Две коротких, одна нормальная, семь коротких¶

Длина Текст 1 Текст 2
Короткая -- Кры̀лья коромы̀сла. сила̀ч Проспѐро
Короткая Свѝсло -- Не бо̀йся Суо̀к!
Нормальная О̀блако -- на небоскло̀н: -- Усыпѝ гвардѐйца, вы̀мани клю̀ч,
Короткая -- Освѐчены -- откро̀й клѐтку.
Короткая -- Края̀ Смѐло скользѝ
Короткая Его̀ клочко̀в меж льво̀в и ко̀бр --
Короткая Огнѐм тебя̀ привѐтствует
Короткая И лѐтами прозрѐвший наро̀д...
Короткая -- Охва̀чены -- Смотрѝ, Ирѝна!
Короткая -- Трепѐщущим У трѐх толстяко̀в
Короткая А. Белый. Весенняя мелодия А. Е. Крученых. «На черном небесном бархате...»

Находится в 17 текстах

Итоги¶

  • Верлибр действительно свободный стих
  • Повторяемость обнаруживается только при самых мягких ограничениях
  • Возможные паттерны верлибра короткие, вероятно, аналог строфы
  • Длина строки в слогах единственный осмысленный параметр для конструирования паттерна
  • Что делает верлибр формально не отличимым от силабики