如何编写生成俳句的程序?

电脑俳句
你会怎么写程序
为你做的

7601 次浏览

我会从某种类型的字典文件开始,其中包含每个单词的音节计数。然后从这些词汇中挑选出合适的音节/行

至于如何让它富有诗意,而不是随便说说,我就不知道了。

你可以,除了使用伊恩的音节计数的想法,也分类的词语的一部分,并生成短语。

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

不是所有俳句都有相同数量的音节,但这是一个开始的地方。

就实际选词而言,我认为讲话的部分不是我要开始的地方。相反,我会看看 马尔可夫链,并训练您的现有俳句词汇。

首先,你会想了解 马尔可夫链,其次,有一本关于计算机生成诗歌的书叫做 虚拟缪斯

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

实现一种遗传算法,从注有音节数的字典中生成俳句,然后付钱让人们阅读,并将其作为适应度函数进行评分[土耳其机器人会有所帮助]。随着时间的推移,您的程序应该演化出一些好的程序。

编辑:

你需要一个 GA
以 CPU 的速度进化
如果你注意健康的话

  • 数数音节
  • 随机生成单词
  • 合理安排

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

不要尝试
诗歌不能很好地融合在一起
用金属和碎片

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

“用十七个音节来表达一个人的情绪非常困难... ...” (伟大的 John Cooper Clarke看看 比斯利街,我的最爱之一)

对电脑来说有多难? 逻辑知道没有情绪:)

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

但我认为在实践中,如果你能收集现有俳句和其中的 有选择地改变单词的数据库(例如,将一个给定的单词改为另一个语义相关的单词) ,效果会更好。现有的俳句赋予你某种结构和内聚力,你只需要(前)改变其中的小部分,以创建一个新的俳句(旧版本的变体)。

当然,用这种方法,它们不会是全新的俳句,但至少它们会让读者有些享受。

为了使它可读,把词典分成名词,动词,形容词,并且有音节数。

提出一些表单模板:

[名词][动词]“ s”

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

[形容词][名词]

把你的字典修改成美丽的单词。

按照关系顺序解析现有俳句,就像在广州欢聚时代 n 次之后使用单词 xx 一样。 因此,在创建时,xx 出现在广州欢聚时代后面的可能性将是(n/所有广州欢聚时代后使用的单词的总和)。这样,它将被选择性地随机化,仍然可以是一个有效的俳句。

用日语编写生成俳句的程序。测量你的音节数会容易得多,再加上你忠实于诗歌的原始语言。如果你对这个项目有灵活性,为什么不制作日文原版呢? 然后在旁边一个字一个字地展示英文直译。至少可以说它看起来很神秘。

不管怎样,只是对这个问题有不同的看法。

俳句村上,我们有技术可以通过各种方式轻松地完成这项工作。其中一个想法就是简单地阅读全球的 twitter 消息,并检测无意识的俳句。由于后端也有一个字典,这将是可能的产生有问题的俳句,但我认为质量会缺乏。

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

你的程序一定很棒
比喻和意象
要有创意。

俳句很简单,我会注意到的
解决方案记录良好,函数死记硬背
做过头了,而且很俗气
编程太简单了
给我写首打油诗,我就投票

我喜欢俳句

我喜欢这个问题。 非常有想象力。 答案如下。


许多人建议马尔可夫链,但我真的不认为这是可能的。你需要聪明地知道这个音节是不是音素,然后你就必须知道这个音节的结尾在哪里。

如果你曾经这样做过,我会感到惊讶。

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

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

安装阶段

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

当然,可以对这个基本架构进行各种增强。例如,设置阶段可以扩展到设置一个俳句专家的 游泳池。执行阶段可以用来在空闲时生成俳句,并根据将来的需求缓存它们。这种调整的细节留给学生作为练习。

马尔可夫序列
音节数据库
三条蟒蛇