Русская литература и дистрибутивная семантика

Да вспомнил, хоть не без прегрешения,
Из Энеиды два стихотворения.

 

Компьютерная лингвистика позволяет вычислять семантическую близость, то есть автоматически находить слова, которые ближе всего друг к другу по своему значению. Это можно делать благодаря так называемым «векторным моделям». Подробно об этом рассказывается на сайте RusVectōrēs.

А что будет, если в хорошо знакомых нам текстах все слова заменить на близкие по смыслу? Насколько изменится такой текст? Что произойдёт с его восприятием? Здесь вы найдёте результаты такого эксперимента.

Я взял пять классических русских романов: «Евгений Онегин», «Преступление и наказание», «Война и мир», «Отцы и дети», «Мастер и Маргарита» (Дмитрий Быков считает, что романы, содержащие в своём названии «и», всегда играют особенную роль в истории русской литературы, так что таких романов в этом эксперименте четыре из пяти) и автоматически подобрал к ним близкие по значению слова (так называемые квазисинонимы). Для этого я воспользовался векторной моделью с сайта RusVectōrēs (модель построена на текстах НКРЯ и Википедии за ноябрь 2016).

В принципе, такие эксперименты уже были, в частности, можно найти попытку сделать такие же замены в романе «Гордость и предубеждение», но с английским языком этот фокус провернуть гораздо проще: там нет ни склонения, ни согласования по роду, да и спряжение весьма редуцированное, можно сказать, условное. А вот в русском языке если мы просто заменим одну произвольную форму слова на другую произвольную, текст распадётся и станет нечитабельным. Поэтому замену нужно проводить хитрее, используя морфологический разбор исходного слова и автоматически порождая грамматическую форму для слова-замены. В этом помог Морфологический анализатор pymorphy2, который умеет и то, и другое: и устанавливать грамматическую форму слова, и генерировать новую форму. Код, который делает все замены, доступен на GitHub.

Замене подвергаются только самостоятельные части речи (существительные, прилагательные, глаголы и наречия). Имена собственные большей частью остаются такими, как в исходном тексте (но не всегда). Если в векторной модели для слова не находится квазисинонимов, то оно не заменяется.

Я сделал три версии замен: в первом случае из векторной модели извлекается ближайшее по значению слово той же части речи, в другом (версия 2.0), если речь идёт о существительном, то ищется слово того же рода, что и исходное. Это делает текст более связным грамматически, хотя и лишает нас замечательных казусов вроде того, что вынесен в эпиграф. В третем случае использовались ёфцированные тексты романов (тексты получены с использованием алгоритма автоматической ёфикации, разработанного в рамках проекта Карта слов) и глаголы дополнительно фильтруются по залогу (замена для возвратного глагола ищется только среди возвратных).

 

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


Что получилось?

Оригинальный текст

...Так кто ж ты, наконец?
– Я – часть той силы,
что вечно хочет
зла и вечно совершает благо.

Гете. «Фауст»

Глава 1

Никогда не разговаривайте с неизвестными

Однажды весною, в час небывало жаркого заката, в Москве, на Патриарших прудах, появились два гражданина. Первый из них, одетый в летнюю серенькую пару, был маленького роста, упитан, лыс, свою приличную шляпу пирожком нес в руке, а на хорошо выбритом лице его помещались сверхъестественных размеров очки в черной роговой оправе. Второй – плечистый, рыжеватый, вихрастый молодой человек в заломленной на затылок клетчатой кепке – был в ковбойке, жеваных белых брюках и в черных тапочках.

Векторная замена

...Так кто ж ты, наконец?
– Я – территория той мощи,
что оттого хочет
добра и оттого предпринимает благо.

Гейне. «Мефистофель»

Глава 1

Никогда не беседуйте с невыясненными

Случайно весною, в полдень невиданно жаркого восхода, в Казани, на Митрополичьих ручьях, появились два согражданина. Первый из них, щеголеватый в десятилетнюю голубенькую пару, был крошечного прироста, тучен, плешив, свою порядочную шапку пирогом тащил в ладони, а на плохо выбритом лице его размещались потусторонних диаметров очки в белой роговой дужке. Второй – широкоплечий, курчавый, белобрысый смуглянки разум в заломленной на лоб цветастой кепочке – был в куртке, мятых белых штанах и в чёрных тапочках.


Зачем это нужно?

Конечно, в большей степени получившийся результат — это развлечение. Но не только. На основе этих текстов можно составлять задания для «олимпиад» по литературе. Кроме того, как кажется, эти тексты можно использовать для медленного чтения. Они могут помочь на каждом шаге задавать себе вопросы: «Почему здесь стоит это слово, а не другое?», «Что это нам даёт и что это меняет в нашем восприятии?» То есть, по сути, речь идёт о литературоведческом эксперименте, о введении экспериментальной плоскости в науку, которая, казалось бы, лишена её от природы и навсегда.


Обсуждение на внешних ресурсах


Другие эксперименты с литературой и векторными моделями

Стоит отметить любопытное применение векторных моделей в поиске по т.н. «пирожкам».

В 2010 году я уже пытался внести вклад в современную художественную литературу. Как раз тогда в Норвегии вышел роман «Роман» (бледная тень романа POMAH Романа Лейбова) Аудуна Мортенсена, состоящий из расположенных в обратном порядке предложений набоковской «Лолиты» с изменёнными именами героев. Коллега из Университета Осло Кьетиль Ро Хауге предложил мне написать программу, которая помогала бы писателям создавать такие произведения, что я и сделал в тот же день. Веб-сервис доступен в Интернете, и при выборе опции Reverse order создаёт новое художественное произведение.


Борис Орехов