2010-05-28 73 views
4

我这样做是为了好玩(或者像4chan说的“为了lolz”),如果我在路上学到了更好的东西。我近两年前接受了一门人工智能课程,而且我非常喜欢它,但我设法忘记了一切,所以这是一种更新方式。创建一个智能文本生成器

无论如何,我希望能够给出一组输入文字。基本上这会读取论坛的输入(或者也许是Twitter的推文),然后根据学习生成评论。

现在最简单的方法是使用Markov Chain Text Generator,但我想要一些比这更复杂的事情,因为MKC基本上只是通过词序来学习(哪个词在给定输入文本的词x后更可能出现) 。我试图看看我能做些什么让它变得更聪明一些。

例如,我希望它做的是这样的:

  • 从一大选择在留言板帖子的了解,但不重量太多
  • 对于每个岗位:
    • 从该职位的其他意见和了解这些权衡投入较高
    • 生成评论和张贴
    • 看看其他用户的反应为y我们的帖子是。如果好好衡量一下,那么你可以制作更多类似制作的帖子,反之亦然。

这是我不知道如何实现称重,并从错误中学习的一部分。我想到了Artificial Neural Networks(主要是因为我记得享受那一章),但据我所知,主要用于对事物进行分类(即给定一组有限的选项[x1 ... xn],其中x是给定的输入)并不是真的生成任何东西

我甚至不确定这是否可能,或者我应该如何去学习/理解。什么算法最适合这个?

对于那些担心我会将此作为机器人用于垃圾邮件或向SO提供不良答案的人,我保证不会使用此来提供(不良)建议或以垃圾邮件为牟利。我绝对不会在SO上发表无意义的想法。我打算将它用于我自己的娱乐。

谢谢!

+0

作为一个公然的自我插件,我在StackApps上制作了一个基于Markov链的“垃圾邮件”生成器。从某种意义上说,它确实不“聪明”。我仍然在等待是否有人使用它来发布问题/答案。 :) [Flack Overstow](http://stackapps.com/questions/306/flack-overstow-generate-spam-from-trilogy-posts) – 2010-05-28 02:47:03

+2

这些家伙:http://pdos.csail.mit.edu/scigen /有一个伟大的文本生成器的计算机科学文章和他们的代码是公开的。 – Amichai 2010-05-28 03:26:23

+1

scigen看起来是一个好开始。这就是说马尔可夫链看起来非常有趣: “如果我得到一个新的键盘 - 为什么承认自己是来自Liberty City的二手电视还不够酷?“ – encee 2010-05-28 04:20:28

回答

2

我也在想这样的事情。我认为这可能会对使用语法分析器和马尔可夫链生成器一起带来显着的改进。然后,MC可以接受文本短语的训练(经常和对象“car”一起动词“drive”)并产生语法正确的句子。

+0

这是一个好主意,它将有希望产生更多有更多工作机会的语法正确的句子,但我正在寻找训练算法,以便根据训练数据更可能产生使森SE。所以一个想法是,马尔可夫链生成一个句子,我可以决定它是正面还是负面,并基于它可以重新权衡训练数据。但问题是,大多数时候它会倾向于完全相同的句子。我不想要完全一样的结构或意义。 – encee 2010-05-28 17:38:46