Горе Короля
Принц пока ещё сомневался стоит ли ему это делать. Вернее он бы и рад был, но в том-то и дело, что сомнения возникли не у него одного. Весь королевский двор погрузился в глубокие раздумья.Даже Барон…
Жизнь Вики
Сегодня день не задался снова. Эта мысль постоянно стучала в висках Вики. Ее не отпускали мысли о Викторе. Нет, ничего такого он не сделал. Ни одного плохого поступка. Правда, и хорошего тоже. Про…
Адское зеркало
В некотором царстве, в некотором государстве жила-была милая девочка по имени Алиша. Алиша была примерным ребёнком, никогда не позорила своих друзей и никогда не огорчала своих родителей. Да и родите…
Королевский бунт
Жила-была ведьма по имени Лика. Проживала она в королевстве Анисимия. В юности она была хорошей и доброй. Но в один момент всё напрочь поменялось. Она стала вредной и злой девочкой. Как-то раз, ведьма…
Говорящая картина
После тяжелого рабочего дня я с трудом держался на ногах и меня клонило в сон. Добравшись до дома я сразу решил пойти спать, но только уснув меня разбудило сраное чувство, будто кто-то за мной наблюда…
Мир звуков
Мой голос завораживает . Все называют его ангельским. Он исцеляет. Спросите меня кто я такой? Я Мириан, можно просто мир. Я занимаюсь вокалом с рождения. Родители шутят, что я рождался уже поющим.&nbs…
Партизан
Однажды холодным октябрьским утром 1942 года в землянку командира партизанского отряда «За Родину» Трофимова вошли двое — немолодой красивый офицер с аристократически бледными щеками и почему-то с р…
Я как будто программа
Я уже и не верил ,что смогу от туда выбраться. Я не могу воспринимать этот мир уже так, все кажется программным кодом. Диалоги моих друзей с которыми я знаком с детства, кажется такими пластиковыми и …
Абостив. Часть 1
Ты действительно в это веришь? В то что изначально жили там. Это же мать его долбанная губка а не планета, она пуста.А вдруг это не миф. И тогда человечество так расплодилось что стали копать многоуро…
Вабристан (сказка)
Внимание! В тексте могут быть ошибки. всё, что будет здесь написано будет являться неосмысленным бредом и плодом авторского воображения. Однажды в одной маленькой республике под названием Вабристан…
Лейном ( Страшная история )
Лейном, вроде бы обычная кукла, ничего особенного, но никто не знает его истории.. Эта кукла принадлежала ведьме, она оживила её, и продала на рынке маленькой девочке 6-ти лет, всю ночь маленькая дево…
Заброшенный класс
Астория гуляла по школе, и случайно наткнулась на какой-то заброшенный класс. На всех столах были открытые тетради, на подоконниках торчали невыщипанные перья, а у стены стояли косые от долгой разлук…
Домик в глубине леса
Однажды я шла по тёмному лесу, я шла долго, и наконец пришла к старому, разваленому домику. Его мне показал Джордж.. Да, тогда мы ещё дружили.. Но потом заново началась эта война между Слизарин и Гриф…
Проклятое озеро
Уже давно вокруг этого озера ходят слухи, что на дне покоятся сотни утопленников. И одним летом в это место приехали мы. Нас было четверо. Это была интересная поездка – далеко от цивилизации, тайга и …
Странный завтрак
Астория сидела на завтраке в большом зале, но ничего не ела. Она рассеянно ковыряла вилкой и слушала Пэнси. Она рассказывала о своем новом платье. Астория уже знала эту историю и с трудом сдерживала …
Данил и его здравомыслие
Жил Данил на нефтяной скважине. В Москву ездил часто — работал в « Монтро» Сварщиком по трубам. Однажды его спалили за поджиганием солофановых покетиков возле подачи нефти. С тех пор на зоне его назы…
Сумасшедшая больница
Чувак в коме: поправляет подушку Слепой: как он это сделал? Он же в коме уже 5 лет. Глухой: как ты это увидел? Немой: как ты это услышал? *Врач повесился*…
Гость
Однажды в студёную зимнюю пору… (Свингующие облака)… пришли двое и стали играть в покер. Гость сказал, что верит в магию на столе. Гостю дали силу зажигать сигарету. После этого он придумал игру в п…
Книга профессора
Знаете, иногда жизнь представляет собой огромный рыцарский роман с массой несчастных случаев, в котором на каждой странице есть травмы. Но в этом романе встречаются и хорошие книги.. Стоит почитать…
Три стихии
Однажды родились 3 ребёнка.. которые должны были спасти всё человечесво. старший Томео владел ветром, средний Ясуши землёй, а самая младшая Эйми огнём. у Эйми были необычные ядрово красные глаза чт…
Генератор позволяет составлять небольшие истории из случайных слов, что поможет развить ребенку логическое мышление и фантазию. На выбор у вас 4 языка — русский, английский, французский и немецкий.Можно выбрать автоматическую генерацию слов системой, либо вписать свои.
Количество слов
3
6
9
12
15
Язык
русский
английский
француский
немецкий
Сгенерировать набор слов
Существительные
Прилагательные
Глаголы
Share with:
Можно ли при сегодняшнем уровне развития вычислительной техники решить задачу генерации литературно осмысленного текста? Мне кажется возможно, по крайней мере на уровне алгоритмо-теоретического описания. А при чем тут Курочка ряба и Звездные войны?
Небольшая предистория:
Я не специалист по вопросу машинного интеллекта, просто давно интересуюсь проблемами ИИ. Как то я читал интересный рассказ Азимова, про то, как мальчик пытался перепрограммировать своего робота, и что из этого получилось, и у меня родилась смутная идея. Идея алгоритма росла подробностями, и жила себе где-то в голове, я даже думал получить из нее профит, но потом понял, что для этого одной идеи мало. Потому, решил поделится идеей с умными людьми, если генерация литературного текста возможна, то профит получим все мы, так мне кажется.
Собственно, сама суть:
Наша воображаемая система генерации текста (СИГЕТ) построена по экспертно-модульному принципу:
1. Набор шаблонов для генерации
2. Литературный корпус:
2.1. Словарь синонимов
2.2. База текстов
3. База данных на графах (“дерево знаний”)
4. Модуль оценки длинны пути
5. Генератор предложений
Опишем эти пункты подробнее:
1. Набор шаблонов для генерации
Собственно, все началось с той простой идеи, что раз уж компьютер не умеет думать как человек, то и не надо его заставлять. Даем ему готовый, придуманный и воспринимаемый человеком шаблон, из которого он уже своими компьютерными методами изготовит нам оригинальный текст.
Попробую проиллюстрировать общий принцип создания шаблона, на примере сказки про курочку Рябу:
Исходный текст | Паттерн |
Жили-были | %исходное_состояние |
Дед и баба | %Мг1(мужчина, гуманоид), %Жг1 |
И была у них | %отношение_к |
Курочка Ряба | %Жж1(Женщина, животное) |
Снесла курочка яичко | %Жж1 %производит %П01(предмет 01) |
Но не простое, а золотое | %П01 отличается от массива произвольных объектов типа %П01 характеристикой %Х01.П01, не присущей объектам %П01 |
Дед бил бил – не разбил | %Мг1 %воздествие_на %П01 методом %М01. Результат %воздествие_на равен 0 |
Баба била била – не разбила | %Жг1 %воздествие_на %П01 методом %М01. Результат %воздествие_на равен 0 |
Мышка бежала | %Жж2 %любой_глагол |
хвостиком махнула, яичко упало и разбилось | %воздествие_на %П01 методом %М02. Результат %воздествие_на равен %поломка %П01 |
Дед плачет, баба плачет | %конечное_состояние |
Оцениваю, что для генерации произвольного объема теста таких шаблонов понадобится не так и много.
Входное и выходное состояние нужны для “склеивания” нескольких шаблонов в один текст.
Естественно, одних только шаблонов для получения текста недостаточно, переходим к пункту два:
2. Литературный корпус
Естественно, нам понадобится база “понятных компьютеру” текстов по многим причинам — для поиска словарных последовательностей, оценки предложений в экспертной системе. Словарь синонимов нужен чтобы разнообразить словарный запас компьютера.
3. База данных на графах (“дерево знаний”)
База данных нужна для построения входных и выходных конструкций из шаблонов.
Она состоит из объектов, которые связаны с различными присущими им состояниями, при этом каждая связь имеет свой вес. Например, связь “яйцо”-”белое” будет иметь вес напр. 1 (т.к. яйца обычно белого или желтоватого цвета) а “яйцо”-”золотое” будет иметь вес напр. 3 (т.к. золотыми яйца бывают как правило только в переносном смысле). Для шаблона нашей сказки как раз ключевыми моментами являются то, что %Жж1 %производит %П01(предмет 01), и что %П01 отличается от массива произвольных объектов типа %П01 характеристикой %Х01.П01, не присущей объектам %П01. (т.е. тут прямо в шаблоне мы указываем, что “яйцо”-”белое” нам не подходит) В нашем случае %Жж1= курица. Список исходящих состояний объекта “курица” может частично выглядеть так: {сбрасывает перо, снесла яйцо, водила цыплят}, из которых тысячи лет назад было выбрано сост. 2, но при генерации текста это может быть не курица, а, например, “рыба” у которой будет совершенно отличный список исходящих состояний, и компьютер может выбирать из них любое.
4. Модуль оценки длинны пути
Так как связи объектов с состояниями имею вес, то алгоритм поиска кратчайшего пути поможет строить более-менее адекватные нашему восприятию предложения, без фраз типа “жабы по небу летают”
5. Генератор предложений
Цепи Маркова эффективны при хорошо рассчитанных узлах. К этому моменту мы имеем жестко
заданные ключевые узлы, к которым можно генерировать всякие вспомогательные слова. Можно использовать цепи Маркова, можно что либо другое, главное чтобы это опиралось на наш “скелет”.
Собственно, программа берет некий заданный базис (тему, направление) делает выборку данных в рамках базиса, выстраивает ряд шаблонов по входному-выходному состоянию, задает значениыя переменных, генерирует текст и выдает результат.
Литературная фантазия, на тему того, как это может выглядеть:
СИГЕТ версия 0.х.х. запущена.
Укажите желаемую тематику в выпадающем списке:
Фантастика — Звездные войны
условный объем (от 1 до 10): 1подождите, генерирую…
ИТОГ:
Давным давно в далекой-далекой галактике жили Люк Скайвокер и принцесса Лея, и был у них робот Ситрипио. Как то раз Ситрипио добыл источник силы, но не простой а непонятный. Люк Скайвокер пытался разобраться в нем — не разобрался, Принцесса Лея пыталась разобраться в нем — не разобралась. Мимо проходил Йода, ухом повел и источник силы исчез.
Люк Скайвокер расстроился и принцесса Лея расстроилась, а Йода говорит:
огорчайся не, падаван молодой, силу в тебе я вижу
КОНЕЦ.
Ну и в конце — ссылки на всякие- разные интересности, обнаруженные в процессе написания:
Генератор “Пушкинист”: pers.narod.ru/php/php_vartext.html
интересен тем, что генерирует стихи на базе строк “Я помню чудное мгновенье”, иногда очень интересные.
Генератор синтаксически правильного русского текста Geniot pers.narod.ru/php/geniot.html
демки прямо на сайте нет, но есть фрагмент генерации — не хуже, чем “Яндекс. Рефераты”, а может даже лучше
Список рекомендованной литературы:
Теория:
Был сподвижен на написание статьей “Автописатель” habrahabr.ru/post/161311 и чтением книги Айзека Азимова “Когда нибудь” lib.ru/FOUNDATION/r_kogda_nibud_.txt_with-big-pictures.html
Грамматика зависимостей
ru.wikipedia.org/wiki/Грамматика_зависимостей
Пролог
ru.wikipedia.org/wiki/Пролог_(язык_программирования)
Представление знаний
ru.wikipedia.org/wiki/Представление_знаний
Готовые генераторы:
Номер Раз на основе цепей Маркова: www.manhunter.ru/webmaster/358_generator_teksta_na_osnove_cepey_markova.html
Номер Два на том же принципе: code.google.com/p/pymarkov
Номер три по шаблону:http://forumseo.org/showthread.php?t=1608 (вообще-то тысячи их)
К сказкотерапии в современном мире все относятся по-разному. Профессиональные психологи воспринимают этот метод в целом положительно, а людям далёким от мира психологии сказкотерапия кажется чем-то несерьёзным и непрофессиональным. А между тем, сказки с детства помогают ребёнку получать самую необходимую информацию об окружающем мире: о том, как различить добро и зло, как правильно вести себя в различных ситуациях, какие ценности важны в окружающем его обществе. Не смотря на окружающий нас XXI век, сказки, которые рассказывались ещё нашим прабабушкам, и нашим детям интересны.
Вот и сказкотерапия ставит перед собой такие задачи, как развитие души, повышение уровня осознанности. И виды сказок могут быть разными: дидактические, психокоррекционные, психотерапевтические и медиативные. Сказкотерапия опирается на человеческие ценности, обращается к нравственным устоям. А какую сказку могли бы написать вы? Мы предлагаем вашему вниманию в каждом пункте несколько вариантов ответов. Постарайтесь не раздумывать долго над выбором, отмечая наиболее близкий вам вариант.
А. В одной чудесной сказочной стране
Б. За морями, за лесами, в одном большом и сильном государстве
В. В одной совершенно обычно деревеньке на берегу реки
Г. В нашем городе
2
А. Все жители отличались добродушием
Б. Жили бесстрашные люди, знавшие всё на свете
В. Все жители были друг другу близки, как одна семья
Г. Жил-был Я
3
А. Жил маленький и колючий ежонок
Б. И в одной семье жил обычный мальчик
В. А в одной семье на окраине жил мальчик
Г. И был этот Я ничем не примечательным на первый взгляд
4
А. Он очень любил играть с друзьями на улице целые дни напролёт
Б. Он считал, что он – самый умный на Земле
В. Однажды он узнал, это были его приёмные родители
Г. И у него была замечательная черта – он заразительно смеялся, а все вокруг были мрачными
5
А. Ему совсем не нравилось учиться, он хотел только развлекаться и ни о чём не беспокоиться
Б. Из-за этого он постоянно ссорился с родителями
В. И он обиделся за это на весь белый свет
Г. И все вокруг считали своим долгом это прокомментировать и обсудить
6
А. Однажды в понедельник утром грянул сильнейший ливень, и сильнейшим потоком унесло нашего героя далеко от дома
Б. И вот в один прекрасный день окружающим надоело его уговаривать взяться за ум, и они прогнали нашего героя
В. Однажды, он решил, что он должен найти себе свой другой дом, другую семью и ушёл из дома
Г. Как-то раз, надоело ему спорить со всеми, и он решил подчиниться их требованиям, и ушёл куда глаза глядят
7
А. И тогда он понял, чтобы восстановить разрушенное, необходимо вспомнить всё, чему его учили много лет
Б. Он провёл в одиночестве несколько дней, прежде чем ему стало страшно и грустно
В. Дошёл до огромной реки, сел у воды и заплакал, так ему было одиноко
Г. И вскоре почувствовали, как им не хватает пусть и непутёвого, но столь отличающегося от всех окружающих нашего героя
8
А. И он отправился в обратный путь, встречая по дороге новых друзей
Б. Почувствовав это, бросился он назад, домой, к родным и близким, и по дороге встречал он странных людей и существ
В. Посмотрел он вокруг и понял, что недооценивал тех, кто был с ним рядом все эти годы
Г. Но он не торопился возвращать всё на круги своя
9
А. В пути он старался помогать каждому встречному, чем мог, не взирая на внешний вид и размеры
Б. Не со всеми ему удавалось сразу мирно разойтись на узкой тропе, некоторые заставляли его даже вернуться назад, удлиняя путь, а с кем-то он подружился
В. Обратный путь оказался не таким лёгким, но желание вернуться домой помогало преодолевать препятствия
Г. Пока он странствовал, он помогал людям увидеть радостное, даже в песчинке на дороге
10
А. Каждый новый друг на его пути рассказывал ему о том, как бороться с различными неприятностями
Б. Постепенно он научился различать во встречных хороших и плохих, кому нужно помочь, а кого надо остерегаться
В. В дороге он встречал людей, которые поддерживали его добрым словом и твёрдым плечом
Г. И в ответ на его поступки в мире становилось больше тепла
11
А. И когда он добрался до цели своего путешествия и встретившись со всеми, по ком он соскучился
Б. Вернувшись, он сначала не узнал свой дом и своих родных, так они изменились
В. А дома его встретили люди, которых ещё недавно он сильно обидел и на которых обиделся сам
Г. Спустя долгое время, вернувшись домой, он обнаружил, что его встречают все те, кто раньше ругал и спорил с ним
12
А. Оказалось, что теперь благодаря новым знаниям, он может помочь всем своим друзьям и близким
Б. Он понял, что мир кажется нам именно таким, каким мы его хотим видеть
В. Он дал себе слово, что отныне будет больше отдавать тем, кто рядом с ним
Г. И больше не было пересудов, ссор и споров о том, как и что надо делать
13
А. С тех пор, он старался прислушиваться к тому, что говорят ему родители
Б. Прошло уже много времени, а он всё ещё вспоминает всех тех людей, что повстречались на его пути домой
В. С той поры в семье воцарился мир
Г. И не только в городе, но и вокруг него до сих люди улыбаются друг другу