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

Дипломный проект
программа-поэт,
сочиняющая стихи из заданного текста


Московский Государственный Горный Университет
ФАКУЛЬТЕТ АВТОМАТИЗАЦИИ И ИНФОРМАТИКИ
КАФЕДРА "Вычислительные машины"

Проект выполнил студент группы САПР-2-91 Каганов Л.А.

МОСКВА
=1996=


Программа в полном комплекте - скачать: LLEO_DIP.ZIP (46кб)

ВНИМАНИЕ! Программа писалась давно, под DOS. Если у вас Win9x - перезагрузите ваш компьютер в "режиме MS-DOS", тогда запустится. Под NT, XP - не пробовал, попробуйте, напишите.

примечание:

1) Программа распространяется свободно.

2) Стихи, которые пишет программа - складные и забавные, они во многом превосходят стихи аналогичных программ (по крайней мере - того времени). Примеры стихов прочтите ниже. Однако, ошибкой было бы думать, что это новый Пушкин. Не забывайте: искусственный интеллект еще не создан, и если бы я написал программу, которая сочиняет полностью разумные стихи - это была бы Нобелевская премия, а не диплом Горного Университета.

3) Программа работает на компьютерах IBM-PC начиная от 386 (это еще когда Пентиумов не было) и только под операционной системой DOS, либо системой, корректно эммулирующей DOS (например, в эмуляторе dosbox - прекрасно работает у меня под Линуксом, под Виндоус наверняка тоже будет).

4) Программа работает. Сам я уже много лет не занимаюсь программированием, поэтому программа скорее всего останется такой, какой я ее сделал в 1996. Хотя у меня были мысли переделать ее для интернета как веб-сервис - на современном уровне и с базами ударений. Но это очень большая работа, и я не могу обещать, что сделаю ее, тем более, назвать сроки.

5) Если интересно - вкратце принцип работы. Алгоритмы автоматического поиска рифмы и подбора слов для заданного стихотворного метра объяснять не буду - это достаточно просто, с этим справится и школьник под руководством училки информатики и училки русского языка. Куда важнее, откуда и по какому принципу программа берет слова. Как сделать текст связным хотя бы грамматически? Мои предшественники использовали в комплекте со своими программами стандартные "словари" - пытаясь добиться хотя бы грамматической связности, авторы программ подбирали в "словарь" особые слова - все в мужском роде, единственном числе и т.п. Стихи получались довольно вымученными и однообразными. Принцип моей программы иной - программа изучает некий текст в прозе, который вы ей даете, и составляет базу - запоминает, какие слова встречались в предложениях рядом, считая их "соседними по смыслу". Затем по этой базе и начинает сочинять стихи. Стихи получаются как минимум складными грамматически, иногда в них мелькают и крупицы смысла из исходного текста. Единственный минус - в русском языке (в отличие от польского, французского) нет никаких законов для автоматической простановки ударений в словах. А это совершенно необходимо знать для каждого слова при конструирования стихотворных строк. Поэтому вам придется помочь программе проставить ударения всех слов текста, который вы ей задали. Для первого знакомства с программой используйте уже готовую базу (она в комплекте) - я задал программе в качестве исходного текста статью из газеты Горного института и потратил часок, проставив все ударения.

6) 2 февраля 2004 - мое интервью Родиону Насакину для "Компьютерры" - здесь.

Текст дипломного проекта - ВЫЛОЖЕН ЗДЕСЬ

примечание:

Это полный текст дипломного проекта, кроме разве что совсем занудного стандартного экономического раздела "рассчет экономической выгоды от внедрения данного продукта (программы, сочиняющей стихи)". Это, мягко говоря, не самый скучный из дипломных проектов - я вовсю развлекался и прикалывался на его страницах. Однако, это все-таки официальный диплом, и увлекательного чтения я вам не гарантирую.

Исходники программы - скачать: SOUR_DIP.ZIP (20кб)

примечание:

Просили исходники? Выкладываю. Но должен предупредить - написана программа на 32-разрядном ассемблере, и разбираться, что там к чему - то еще удовольствие... Как я уже говорил, я не планирую делать какие-либо усовершенствования и доработки - вам самим была бы охота через много лет переделывать свой старый дипломный проект? :)


А теперь стихи, написанные программой

примечание:

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

* * *

Поглядывайте! В институте-то стали писать.
Боялся, что это... Как можно! - И поотчисляли...
Сама. А Ильяс и решил, что студент-то списать!
Браток, что-нибудь он откроет. Ильяс не сорвали.

Пустил за компьютер. А экзаменатор - всегда -
Приметы играет в трамвае, в какие-то стали...
Не раньше, но снова - приехал трамвай. Шел куда?
Ильяс начинает. В семестре уже обогнали.

Всё знаете, просто компьютер забыла включить...
Ой рожи-то! Этого не приходило. А Горный -
Проснулся. То этого не приходил, не учить -
Понять что-нибудь со шпаргалкой еще не упорный...

Писал. Но потом я спросил: "У меня-то ответ!
Действительно, помните многих и были похожи?"
А рядом ключи на вечерний... А Игорь живет...
Писала программу и тихо бормочет: "Ой рожи..."

* * *

Ольга набирает.
Мысль остановить -
Гордость пропадает.
Можно уловить.

Это не упорный,
Если таковой,
Я сама! А Горный -
Типа курсовой...

Сумку на ладони -
Заливается.
Защитят дипломы -
Не ругается.

Вот еще мне сниться
Будет лишь одна...
Хорошо учиться...
Парты от окна...

* * *

Гадай-то - стали исчезать!
Же Петя только что сказать:
"Пальто", и говорит: "Не были."
Вздохнет на языке: "Смотри!
Концу семестра", А внутри -
Теперь шпаргалки все забыли...

Стучать по улице - дошел.
Него пришел, жираф ушел...
Клавиатуры и проекты...
Когда они не рассчитал
Домой. И Ольга. Что читал?
Умна - поэтому конспекты.

Кто были у него? Пришел.
Сказал: "Я - время!" Я вошел
От этого не обращая.
Действительно - в исписанный,
Компьютера записанный,
На вахте - явно не вникая...

Здесь единица-то - опрос!
Здесь единица-то - вопрос!
Листок. И Ольга. А другая...
Оно все объяснял вчера
И будет через полтора,
А вместо третьего трамвая...

(c)1996


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