Как бы вы написали программу для создания Хайку? [закрытый]


Компьютер Хайку
Как бы вы написали программу
Чтобы сделать их для вас

22 78

22 ответа:

Не пытайтесь это делать
Поэзия не смешивается хорошо
С металлом и битами

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

мера слогов
Поймите семантический поток
Ваша цель может быть достигнута

во-первых, вы хотите, чтобы посмотреть в цепи Маркова, а во-вторых, есть книга о компьютерной поэзии под названием Виртуальная Муза.

  • считайте слоги
  • случайным образом генерировать слова
  • организовать толково

Хайку легки, что я отмечу
Решения хорошо документированы, а функции роте
Они преувеличены и Дрянные
Кодирование слишком легко
Закодируй мне Лимерик, тогда я проголосую

/ / Мне действительно нравится haikus

Не все хайку имеют одинаковое количество слогов, но это место для начала.

с точки зрения фактического выбора слов, я думаю, что части речи не будут местом, где я бы начал. Вместо этого я бы посмотрел на Марков цепи, и тренировать свой словарный запас на существующих haikus.

On Деревня Хайку, у нас есть технологии, чтобы легко сделать это различными способами. Одна из идей заключается в том, чтобы просто прочитать глобальную ленту twitter и обнаружить непреднамеренные haikus. Поскольку у back-end также есть словарь, можно было бы создать сомнительные хайку, но я думаю, что качество будет отсутствовать.

Я думаю, что если бы у нас была звездная рейтинговая система, то я полагаю, что машинное обучение можно было бы использовать, чтобы решить, что такое "хорошо".

for (i is 0
and i is less than thirteen)
print s i plus plus

"передать свое настроение в Семнадцати слогах очень трудно . . ." (Великий Джон Купер Кларк проверить Бисли Улице, одно из моих любимых)

насколько больше diffic для компьютера? Логика не знает настроений:)

чтобы сделать его читаемым, разделите словарь на существительные, глаголы, прилагательные, с количеством слогов.

придумайте несколько шаблонов вида:

[существительное] [глагол] "s"

[глагол] a (n) [прилагательное] [существительное]

[прилагательное] [существительное]

и обрезать словари к красивым словам.

реализовать генетический алгоритм для генерации хайку, взятых из словаря с аннотацией слогов, а затем платить людям, чтобы читать и оценивать их как функцию пригодности [механический турок поможет]. Со временем ваша программа должна развиваться некоторые хорошие.

EDIT:

га вам нужно
развивается на скорости процессора
если фитнес вы внимаете

ваша программа должна Грок
Бизнес, другие и образы
И будьте изобретательны.

Я бы посмотрел синтаксическое программирование и лингвистику и попытался найти библиотеки для грамматической структуры. Оттуда это должен быть простой шаг, чтобы добавить количество слов и слогов ограничения количества.

некоторые люди здесь предложили использовать словарь и генерировать последовательности слов с помощью Цепи Маркова. Это кажется теоретически жизнеспособным решением, особенно если вы используете цепь Маркова высокого порядка (а не би-или триграммы).

но я думаю, что на практике это будет работать лучше, если вы могли бы собрать базу данных о существующих хайку и выборочно изменить отдельные слова в них (например, изменить данное слово на другое, семантически связанное слово). Существование хайку дают вам некоторую структуру и сплоченность, и вам просто нужно (ex-)изменить маленькие части в них, чтобы создать новое хайку (вариацию на старом).

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

разбирать существующие хайку в реляционном порядке, как слово xx, используемое после yy n раз. Так что при создании, возможность xx приходя после yy будет (N / сумма количества всех слов, используемых после yy). Таким образом, он будет выборочно рандомизирован и все еще может быть действительным хайку.

напишите свою программу для создания Хайку на японском языке. Это будет гораздо легче измерить количество слогов, плюс вы остаетесь верны оригинальному языку поэзии. Если у вас есть гибкость с проектом, почему бы не сделать оригинальный японский - тогда покажите английский дословный буквальный перевод на его стороне. Это будет выглядеть загадочно, если не сказать больше.

в любом случае, просто другой взгляд на проблему.

Марковских Последовательностей
Силлабическая база данных
Три строки питона

Я бы начал с какого-то файла словаря, который содержит количество слогов каждого слова в нем. Затем выберите слова из этого сложения до необходимых слогов / строки

Что касается создания поэзии, а не просто случайных слов, я понятия не имею.

вы могли бы, в дополнение к идее Яна о подсчете слогов, также классифицировать слова по части речи и генерировать фразы.

из семантического sude истории используйте выборку и преобразование Фурье. Выберите существенные части некоторого подробного описания, сокращенного в отдельных словах, и предоставьте читателю заполнить пробелы своим собственным воображением

алгоритм для вывода компьютера высокого качества хайку работает примерно так:

Этап Установки

loop:
  find the email address of a world-renowned writer of haiku
  confirm that this person is willing to generate haiku on demand
until sucker^H^H^H^H^H^Hwriter is found

Выполнение Работ

loop:
  wait for a haiku request
  when a haiku request is received, email the previously-stored master and ask for a haiku
  wait for the haiku to return by reply
  output haiku
бассейн экспертов хайку. Фаза выполнения может использоваться для создания хайку во время простоя и кэширования их против будущего спроса. Специфика такой настройки оставлена в качестве упражнения для студента.

Я люблю этот вопрос. Это очень образно. Ответ Ниже.


многие предлагали цепи Маркова, но я действительно не думаю, что это было бы возможно. Вам нужно разумно знать, является ли слог фонемой, тогда вы должны знать, где заканчивается слог.

Если бы вы когда-нибудь сделали это, я был бы поражен.