(c) Леонид Каганов

2 февраля 2004, интервью Родиону Насакину для "Компьютерры":

R.N.: Вам известны какие-либо "римейки" Вашей программе на основе выложенных Вами исходников?

L.K.: Нет, я про это не слышал.

R.N.: Ориентировались ли Вы при написании на какой-то существующий на тот момент "стихотворный" софт?

L.K.: В то время была одна программа, пишущая стихи (не помню уже названия, все в единственном числе и мужском роде), но она работала по иному принципу, и я делал все иначе.

R.N.: Расскажите вкратце об основном алгоритме и принципах работы программы?

L.K.: Алгоритм собственно рифмовки - элементарен. Подбираются слова по ритмическому рисунку: ударные слоги каждого слова должны четко совпадать с ударными слогами выбранного стихотворного метра, безударные - без разницы. Сама рифма ищется на основе похожих последних ударных слогов (темноТА - воДА). Определить количество слогов просто: сколько гласных - столько слогов. Рифму тоже очень просто найти - должны совпасть все буквы (или их двойники: Б-П, Д-Т, Е-Э, У-Ю, А-Я и т.д.). Вся проблема в том, где брать исходные слова и по какому признаку составлять из них строки. Та, программа, что была распространена в те годы, брала слова из своего заготовленного создателем словаря и компоновала их наобум. Чтобы фраза выглядела грамматически связной, все слова были мужского рода, единственного числа и т.п. жесткие ограничения. Иначе говоря, стихи там могли писаться только из особых специальных слов, и мне это не нравилось. Моя программа действовала иначе. Она шарилась по заданному тексту и набирала оттуда свою базу (одна база для примера была подготовлена мной, но предполагалось, что каждый пользователь сделает свою). Как строилась база? Я рассуждал, что если в тексте два слова стоят в одном предложении рядом, значит они связаны и грамматически и по смыслу. На этом принципе создавалась база: каждое слово сопровождалось многочисленным линками на другие слова, с которыми оно встречалось рядом. Благодаря этому, программе удается писать абсолютно внятные (по крайней мере по грамматическому согласованию) стихи. Порой в них встречаются даже осмысленные куски исходного текста, что отдельно радует. Единственная проблема - оператору следует потратить некоторое время, чтобы проставить ударения в базе самолично, т.к. в русском языке (в отличие от польского, французского) нет никаких правил и никакой логики простановки ударений. Программа может их попробовать угадать автоматически (я встроил такую функцию на основе отдельного статистического механизма собственного сочинения), но успех - сильно меньше 50%. Как я писал в дипломе, попытка сделать механизм автоматического отгадывания ударений в русском языке обречена на провал, ударения угадать нельзя.

R.N.: Вам известно, что Рэй Курцвейл недавно запатентовал обновленную версию своей программы-поэта http://www.computerra.ru/focus/coment/30993? Вашу программу можно назвать аналогичной?

L.K.: Первый раз слышу. Должен сказать, что я не очень интересовался этой темой даже в 1996 году, искать и изучать литературу (тем более на английском) не было ни времени ни необходимости - все-таки диплом у меня был по программированию, а не по теориям компьютерного стихосложения. Если речь идет о самом принципе компьютерной рифмовки слов - трудно сказать, сколько тысячелетий назад появилась идея писать стихи, а расписать законы соблюдения рифмовки и стихотворного метра в виде алгоритма - задача элементарная. Ну а пытаться придать компьютерным стихам связности, "подсмотрев" хоть в самых общих чертах, как эта связность устроена в человеческих текстах - извините, эта идея лежит на поверхности. Насколько я понял из той статьи, именно в этих рамках наши программы аналогичны, но я не вижу, что здесь можно патентовать. Видимо, этот человек запатентовал какой-то свой особый алгоритм анализа человеческих текстов. Анализ человеческих текстов - тема для огромного количества исследований и диссертаций со всевозможными принципами и подходами. Моя же программа не занимается анализом текста - она просто отмечает слова, встречающиеся рядом, считая их "подходящими" для дальнейшего использования рядом в одной стихотворной строке. Это элементарно, причем в самом буквальном смысле этого слова.


© Леонид Каганов    lleo@lleo.me    авторский сайт http://lleo.me
Спонсирование и хостинг проекта осуществляет компания "Зенон Н.С.П.".
Сайт является участником проекта www.hobby.ru