你会怎么写一个程序来生成Haiku?

时间:2009-02-02 19:00:01

标签: algorithm

计算机Haiku
你会怎么写一个程序
为你制作

22 个答案:

答案 0 :(得分:33)

测量音节
理解语义流量 你的目标可以实现

答案 1 :(得分:19)

不要尝试它 诗歌并不是很好 有金属和钻头

更严重的是,好的ha句(甚至是坏的ha句)更多的是关于凝聚意义和意象而不是计算音节。它通常也基于从自然界收集的主题。随机单词生成和音节计数会让你测量胡言乱语,但不是诗歌......

答案 2 :(得分:13)

首先,您需要查看Markov chains,其次,有一本关于计算机生成诗歌的书,名为Virtual Muse

答案 3 :(得分:10)

  • 算上音节
  • 随机生成单词
  • 明智地安排

答案 4 :(得分:8)

Haikus很容易,我会注意到 解决方案记录良好,功能强硬 他们过度和俗气 编码太容易了 给我编打一个打油诗,然后我会投票

//我其实喜欢haikus

答案 5 :(得分:5)

并非所有haikus都有相同数量的音节,但它是一个开始的地方。

在实际选择单词方面,我认为词性不会是我开始的地方。相反,我会看Markov chains, and train your vocabulary on existing haikus.

答案 6 :(得分:5)

Haiku Village上,我们拥有以各种方式轻松完成此项工作的技术。一个想法是简单地阅读全球Twitter提要,并检测无意的haikus。由于后端也有字典,因此可能产生可疑的haikus,但我认为质量缺乏。

我认为如果我们有星级评分系统,那么我想机器学习可以用来决定什么是“好”。

答案 7 :(得分:3)

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

答案 8 :(得分:2)

实施一种遗传算法来生成从用音节计数注释的字典中抽取的haikus,然后让人们阅读并评价它们作为健身功能[机械土耳其人会帮助]。随着时间的推移,你的程序应该发展一些好的。

编辑:

你需要的GA 以CPU速度演变
如果健康你注意

答案 9 :(得分:2)

“在十七个音节中传达一个人的情绪是非常困难的......” (伟大的John Cooper Clarke退房Beasley Street,我的最爱之一

计算机有多难?逻辑没有心情:)

答案 10 :(得分:2)

你的程序必须要知道 Metaphores和图像
并且要有创意。

答案 11 :(得分:2)

为了使其可读,请将字典分为带有音节计数的名词,动词,形容词。

提出一些表格模板:

[Noun] [动词]“s”

[动词] a(n)[形容词] [名词]

[形容词] [名词]

将你的词典修剪成美丽的词语。

答案 12 :(得分:1)

这里的一些人建议使用字典并使用马尔可夫链生成单词序列。这似乎是一个理论上可行的解决方案,特别是如果你使用高阶马尔可夫链(不是双卦或三卦)。

但我认为在实践中,如果您可以收集现有haikus的数据库并且选择性地更改其中的单个单词(例如,将给定单词更改为另一个单词,语义相关的单词),它会更好。现有的haikus给你一些结构和凝聚力,你只需要(ex-)改变它们中的小部分,以创建一个新的ha句(旧的haiku的变种)。

当然,这种方法不会是全新的haikus,但至少它们对读者来说会有点愉快。

答案 13 :(得分:1)

Markov序列
音节数据库
三行蟒蛇

答案 14 :(得分:1)

编写程序,用日语生成Haiku's。衡量你的音节数量要容易得多,你要保持忠实于诗歌的原始语言。如果你对项目有灵活性,为什么不制作原始的日语 - 然后用文字翻译显示英文单词。至少可以说它看起来很神秘。

无论如何,只是对问题采取不同的看法。

答案 15 :(得分:1)

以关系顺序解析现有的haikus,比如yy n次后使用的单词xx。 因此,在创建时,yy之后的xx的可能性将是(n / yy之后使用的所有单词的数量之和)。这样它将被选择性地随机化,并且仍然可以是有效的ha句。

答案 16 :(得分:1)

我会查找语法编程和语言,并尝试查找语法结构库。从那里开始,添加单词count和音节计数约束应该是一个简单的步骤。

答案 17 :(得分:0)

我从某种字典文件开始,其中包含每个单词的音节计数。然后从中选择单词添加到所需的音节/行

至于制作诗歌,而不仅仅是随意的话,我不知道。

答案 18 :(得分:0)

从故事的语义sude使用抽样和傅立叶变换。选择一些详细描述的重要部分,用单个单词减少,留给读者用她自己的想象填补空白

答案 19 :(得分:0)

计算机输出高质量ha句的算法是这样的:

设置阶段

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

当然,可以在这种基本架构上进行各种增强。例如,可以扩展设置阶段以设置ha句专家的。执行阶段可用于在空闲时间生成ha句,并根据未来需求缓存它们。这种调整的具体细节留给学生练习。

答案 20 :(得分:0)

除了使用Ian的音节计数概念之外,您还可以通过词性对单词进行分类并生成短语。

答案 21 :(得分:-1)

我喜欢这个问题。 这是非常富有想象力的。 在下面回答。


很多人都建议马尔可夫链,但我真的不认为这是可能的。您需要明智地知道音节是否是PHONEMES,然后您必须知道音节的结束位置。

如果你这样做我会感到惊讶。