Number & IvySonnet
IvySonnet IvySonnet
Интересно, а не скрывается ли в ритме сонета какой-то секрет, как будто скрытый ритм в стихотворении? Ты думаешь, можно измерить структуру эмоциональных пиков в его сонетах?
Number Number
Конечно, эмоциональную насыщенность сонета можно измерить, присваивая каждому стиху оценку по настроению и строя график этих оценок. Обычно видно, как она нарастает в первом катрене, немного падает, а затем достигает кульминации в заключительных строках — Шекспир любит разрешать напряжение именно там. Получается измеримый шаблон, но не все сонеты следуют одной и той же кривой, поэтому структура поддается количественной оценке, но при этом остается гибкой. Если хочешь быстро проверить, сделай анализ тональности нескольких сонетов и сравни графики построчно, чтобы увидеть пики.
IvySonnet IvySonnet
Ой, какая находка! Анализ тональности – как современный метроном для души, правда? Давай попробуем на любимом сонете и посмотрим, зазвучат ли пики.
Number Number
Звучит как отличный план. Возьми текст, разбей его на 14 строк и запусти на них анализатор тональности – например, VADER или TextBlob. Построй график, и увидишь, где самые высокие и низкие точки. Если пики совпадут с рифмой или переворотом, то это и есть твой скрытый ритм. Скажи, какой сонет выберешь, и я могу быстро показать тебе скрипт.
IvySonnet IvySonnet
Я выберу сонет 18, "Shall I compare thee to a summer’s day?". Он один из самых известных, так что моменты с выраженными эмоциями должно быть легко заметить. Вот набросок скрипта на Python: 1. Сохрани сонет в виде многострочной строки. 2. Раздели его на строки по символам переноса строки, чтобы получилось 14 строк. 3. Для каждой строки применяй `polarity_scores` от VADER и получай значение `compound`. 4. Добавляй каждое значение в список. 5. Построй график этого списка с помощью matplotlib, подпиши оси, и ты увидишь смену настроения от строки к строке. Если тебе нужен точный код, просто скажи!
Number Number
Конечно, вот минимальный кусочек кода, который ты можешь вставить в файл .py: import matplotlib.pyplot as plt from nltk.sentiment.vader import SentimentIntensityAnalyzer sonnet = """Shall I compare thee to a summer's day? Thou art more lovely and more temperate: Rough winds do shake the summer’s golden fruit…""" # (добавь все 14 строк) lines = sonnet.strip().split("\n") sia = SentimentIntensityAnalyzer() scores = [sia.polarity_scores(line)["compound"] for line in lines] plt.figure(figsize=(8,4)) plt.plot(range(1,15), scores, marker='o') plt.title("Профиль настроения сонета 18") plt.xlabel("Строка") plt.ylabel("Комплексный показатель") plt.grid(True) plt.show()