打造一个智能文本生成器

我做这个是为了好玩(或者像4chan上说的“为了乐呵乐呵”),如果在这个过程中我能学到些什么那就更好了。我大约两年前上过一门人工智能课程,我真的很喜欢它,但我设法忘记了一切,所以这是一种复习的方式。

无论如何,我希望能够根据一组输入生成文本。基本上,这将读取论坛输入(或者可能是Twitter推文),然后根据学习内容生成评论。

现在最简单的方法是使用马尔可夫链文本生成器,但我想要比这更复杂的东西,因为MKC基本上只通过单词顺序学习(给定输入文本,单词x之后最可能出现哪个单词)。我正在尝试看看我是否可以做些什么让它更智能一点。

例如,我希望它能做到以下几点:

  • 从消息板中的大量帖子中学习,但不要赋予过高的权重
  • 对于每个帖子:
    • 从该帖子中的其他评论中学习,并赋予这些输入更高的权重
    • 生成评论并发布
    • 看看其他用户对你的帖子的反应如何。如果反应良好,则积极赋予其权重,以便你发布更多与该帖子相似的帖子,反之亦然。

我不太确定如何实现权重分配和从错误中学习的部分。我考虑过人工神经网络(主要是因为我记得我很喜欢那一章),但据我所知,它主要用于对事物进行分类(即,给定一组有限的选择[x1…xn],这个给定的输入是哪个x),而不是真正生成任何东西。

我甚至不确定这是否可行,如果可行,我应该如何学习/弄清楚。哪种算法最适合这个?

对于那些担心我会用它作为机器人来发送垃圾邮件或为SO提供糟糕答案的人,我保证我不会用它来提供(糟糕的)建议或为了利润而发送垃圾邮件。我绝对不会在SO上发布它那些毫无意义的想法。我计划把它用于我自己的娱乐。

谢谢!


回答:

我也在考虑类似的事情。我认为结合语法分析器和马尔可夫链生成器可能会带来显著的改进。然后,MC可以在文本短语(动词“开车”通常与宾语“汽车”一起使用)上进行训练,并生成语法上正确的句子。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注