LSTM 文本生成

数据挖掘 rnn lstm
2022-03-09 11:49:57

我在网上找到的大多数 LSTM 示例都涉及“随机”文本生成我试图解决的问题之一是将许多文档的“摘要”生成到 1 个文档中。例如:

  • 新闻文章:巴拉克奥巴马的生活史(2K 字)
  • 维基百科:巴拉克奥巴马(10K 字)
  • 巴拉克奥巴马传记(10K字)

将生成一篇关于奥巴马的 X 字文章。

LSTM 是正确的方法吗?

1个回答

尽管您可以通过这种方式生成文本——从训练有素的 RNN 中采样以预测下一个字符或单词——但它没有意义。充其量它在语法上是准确的(就名词、动词、形容词等而言),但语义上是无意义的。除非是幸运的意外,否则它不会是一个总结。

要直接使用 LSTM 生成摘要,您需要使用摘要输入和输出的真实示例来训练网络。这将类似于机器翻译的任务,但由于输入大小的可变性而更加困难。你不太可能找到足够的训练数据来完全测试这个想法,而且即使有大量的训练数据,这种直接的方法是否产生可接受的结果也不清楚。

事实上,文本摘要无论如何都不是一个已解决的问题。有一些深度学习方法,例如Google Brain 团队使用 TensorFlow 所做的努力,您可以研究这些方法以获得一些示例代码和最先进的感觉。这种方法使用注意力模型来提取明显的信息内容(即,在某些假定的通用文档中出现的可能性很小的内容,因此由于突出而被认为是有趣的)。可以使用经过训练的 LSTM 来构建这种基于注意力的模型 - 直觉是,已经训练的 LSTM 最无法预测的文档部分可能包含值得注意的信息。