В романе Бориса Пастернака «Доктор Живаго» главный герой выведен врачом. Очевидно, что писатель выбрал такую профессию своему персонажу не просто так. В этом прослеживается несколько сюжетных задумок, и, поскольку Юрий Живаго пишет стихи, в этом должны быть и какая‑то связь с медицинским следом в русской словесности. Самые известные писатели в русской литературе, связанные с медициной это Чехов и Булгаков. Оба они получили нужное образование и некоторое время врачевали. Я решил исследовать текст романа с помощью доступных инструментов Python и установить, действительно ли есть связь Юрия Живаго с Чеховым и как в романе Пастернак использует профессию своего героя с литературной точки зрения.
«Как хорошо на свете! — подумал он. — Но почему от этого всегда так больно?».
Я скачал в интернете текст романа «Доктор Живаго» в виде фала.txt с сайта azbyka.ru и начал с того, что стал искать в романе какое‑то чеховское присутствие. От мысли искать подобное, связанное с Булгаковым я сразу отказался — по эпохе события в романе не совпадают с литературной карьерой автора «Собачьего сердца». Для поиска связи с Чеховым я решил применить алгоритм Word2Veс. Это объяснятся моим личным впечатлением от чтения романа — я не помню, чтобы Пастернак впрямую упоминал Чехова и не стал искать явные цитаты или упоминания имени драматурга с помощью, например, регулярных выражений. Мне показалось интереснее выявить именно скрытые семантические поля и найти в тексте романа чеховскую атмосферу. Word2Veс подходит для такого поиска. Алгоритм строит векторные представления слов на основе их контекста во всем романе. Word2Veс помещает слова в многомерное пространство, где расстояние, то есть косинусная близость отражает семантическую схожесть.
Я начал с того, что попытался найти известные чеховские формулы в романе и установить их семантических соседей.
markers = { "чеховск*": r"чеховск\w*", "футляр": r"футляр\w*", "три сестры": r"три\s+сестр\w*", "мороз": r"мороз\w*", "диагност": r"диагност\w*", "мальчики": r"мальчик\w*", "человек в футляре": r"человек\s+в\s+футляр\w*" } for marker_name, pattern in markers.items(): regex = re.compile(rf'.{{0,50}}{pattern}.{{0,50}}', re.IGNORECASE | re.DOTALL) matches = regex.findall(text_zhivago) print(f"\Маркер: '{marker_name}' | Найдено: {len(matches)}") for i, ctx in enumerate(matches[:3]): clean_ctx = ctx.replace('\n', ' ').strip() print(f" {i+1}. ...{clean_ctx}...")
Что у меня получилось:
Лемма: 'чехов' (встречается 2 раз)
неказистый: 0.3775
ракушка: 0.3701
замотанный: 0.3432
преждевременный: 0.3429
вериться: 0.3401
правило: 0.3368
позорный: 0.3367
Лемма: 'чеховский' (встречается 1 раз)
витать: 0.3547
забывчивость: 0.3321
разгадка: 0.3318
разведенному: 0.3301
расшатали: 0.3206
соблазнительный: 0.3205
докалывать: 0.3202
Лемма: 'футляр' (встречается 2 раз)
выпросить: 0.3622
морщившееся: 0.3519
шарообразный: 0.3470
тварь: 0.3426
обветренных: 0.3418
пола: 0.3386
тифозный: 0.3370
Лемма: 'диагност' (встречается 3 раз)
марксизм: 0.4142
унизиться: 0.3843
уметь: 0.3766
свершиться: 0.3670
незадачливый: 0.3574
таинственно: 0.3495
разнимать: 0.3466
Для леммы «чеховский» модель нашла интересное семантическое соседство «расшатали». По этой находке видено, что у Пастернака в романе не просто исчезает чеховский уют, но он активно расшатывается историческими катаклизмами.
Интересное семантические соседство выявлено для леммы «диагност»: «марксизм», «таинственно», «свершиться». Соседство слов «диагност» и «марксизм» не случайно. Оно выводит на поверхность такую скрытую полемику романа, где Живаго как врач и диагност противопоставлен идеологу‑«диагносту» Стрельникову‑Антипову, который поставил идею выше жизни.
Интересен так же результат семантического соседства для леммы «футляр»: «тварь», «тифозный», «морщившееся». Вместо интеллигентского, сухого образа чеховского Беликова, алгоритм выхватывает окружение, насыщенное физической немощью и болезнью. Это показывает, что Пастернак «обостряет» чеховский футляр, делая его частью телесного и социального распада эпохи, а не просто символом косности.
«Всякая стадность — прибежище неодарённости, всё равно, верность ли это Соловьёву, или Канту, или Марксу. Истину ищут только одиночки и порывают со всеми, кто любит её недостаточно».
Дальше я решил углубиться в профессию Живаго и посмотреть, можно ли установить лексическую связь между специальностью героя и социальным контекстом сюжета. Ставит ли Юрий Андреевич какой‑то диагноз всей эпохе?
Я решил построить визуальную семантическую сеть и проверить структурное единство медицинского и социального дискурсов в романе. Для графика я использовал медицинские и социальные термины.
MEDICAL_LEMMAS = { 'болезнь', 'смерть', 'диагноз', 'формалин', 'карболка', 'стетоскоп', 'анатомия', 'тело', 'кровь', 'лихорадка', 'врач', 'лечить', 'боль', 'труп' } SOCIAL_LEMMAS = { 'революция', 'хаос', 'разрушение', 'страх', 'гибель', 'бунт', 'идеология', 'футляр', 'отчаяние', 'судьба', 'общество', 'смерть', 'боль', 'кризис' G = nx.Graph() window_size = 1 for lemmas in sentence_lemmas: relevant_words = [w for w in lemmas if w in MEDICAL_LEMMAS or w in SOCIAL_LEMMAS] for i in range(len(relevant_words)): for j in range(i + 1, len(relevant_words)): w1, w2 = relevant_words[i], relevant_words[j] if G.has_edge(w1, w2): G[w1][w2]['weight'] += 1 else: G.add_edge(w1, w2, weight=1) plt.figure(figsize=(12, 10)) pos = nx.spring_layout(G, k=0.5, iterations=50) edges_to_draw = [(u, v) for (u, v, d) in G.edges(data=True) if d['weight'] > 1] weights = [G[u][v]['weight'] for u, v in edges_to_draw]

Получившийся график подтверждает тезис о равенстве между духовным и телесным уровнями бытия у Пастернака. Связь «врач‑общество» выявлена в графике в виде красно‑синего узла. Этот результат подтверждает, что фигура врача в романе неразрывно связана с социальным контекстом, что соответствует чеховской традиции. Антон Чехов в опубликованных записных книжках высказывался так: «желание служить общему благу непременно должно быть потребностью души, условием личного счастья».
Так же я решил проверить семантическую близость медицинского и социального контекста с помощью SBERT. Это нейросетевая модель на базе трансформеров, которая преобразует целые предложения в векторы. В отличие от TF‑IDF, SBERT понимает контекст, синонимы, метафоры и синтаксические конструкции. Для моей задачи эта нейросетевая модель хорошо подходит. Писатель может описывать болезнь тела, не использую медицинских терминов, например «тело стыло» и так же без специальных слов описывать и крах общества. SBERT способен оценить косинусное сходство векторов двух предложений, даже если в них нет ни одного общего слова, но они описывают одну и ту же экзистенциальную или патологическую ситуацию.
model = SentenceTransformer('cointegrated/rubert-tiny2') med_sample_sents = [processed_sentences[i] for i in medical_sentences_indices[:20]] social_sentences_indices = [i for i, lemmas in enumerate(sentence_lemmas) if lemmas & SOCIAL_LEMMAS] social_sample_sents = [processed_sentences[i] for i in social_sentences_indices[:20]] emb_med = model.encode(med_sample_sents) emb_soc = model.encode(social_sample_sents) similarity_matrix = cosine_similarity(emb_med, emb_soc)
Что у меня получилось:
Средняя косинусная сходство между 'медицинскими' и 'социальными' предложениями:
Средняя схожесть: 0.5711 (шкала от 0 до 1)
Максимальная схожесть: 1.0000

Средняя косинусная схожесть 0.5711 — это высокий показатель для семантического анализа художественного текста. Он означает, что предложения о медицинской патологии и предложения о социальной патологии в среднем имеют 57% семантического перекрытия.
Максимальная схожесть 1.0000 это очень много. Такая величина показывает, что в романе есть предложения, которые невозможно однозначно классифицировать как медицинские или социальные диагнозы. У Пастернака патология героев так взаимосвязана, что установить первичность социальных, психических или физиологических отклонений почти невозможно.
Надеяться и действовать — наша обязанность в несчастии. Бездеятельное отчаяние — забвение и нарушение долга
У версии о том, что Пастернак получил премию за роман не заслуженно, много сторонников. Но и без размышлений о печальной судьбе награды можно сказать, что роман у писателя получился выдающийся.
Комментарии (3)

belch84
19.10.2026 08:01Очень хорошо помню эпизод из романа, в котором Юрий Андреевич ставит диагноз очень тяжело больной пациентке, все прочие врачи в этот диагноз не верят, и лишь когда пациентка умрирает и удается провести вскрытие, оказываеться, что доктор Живаго был таки прав! После этого все его знакомые врачи поздравляют доктора и чуть ли не радуются тому, что все выяснилось и тому, какой же он замечательный диагност. Пишу по памяти, могут быть неточности, роман читал очень давно. Тем не менее эпизод показался мне тогда довольно циничной шуткой. Но врач-то он был, видимо, хороший
Litemanager_soft
прям захотелось прочитать этот роман , а вообще интересно что скажет учительница по литературе по вашей статье)