NLP 文本自动编码器,以诗意的方式生成文本

数据挖掘 深度学习 nlp 文本生成
2022-02-11 23:27:12

我想创建一个 NLP 自动编码器,它恰好只生成符合诗意韵律的文本,例如“五步抑扬格”。也就是说,输出应该是一系列 10 个音节长的子句,并以“duh-DUH duh-DUH duh-DUH duh-DUH duh-DUH”的口头重读大声朗读。莎士比亚和他的同时代人在他们的大部分诗歌中都使用了这种格式。

我能想到的唯一方法是收集这种格式的文本行,然后在这些文本上训练一个自动编码器。由于网络只在训练时发出抑扬格五音步,它也应该在预测时发出抑扬格五音步。鉴于足够大的语料库,这似乎应该有效。

一个问题是这个训练只接受五步抑扬格。要将其他文本重写为 IP,训练需要包括 IP 中文本的变体并训练(不是 IP 句子)以发出(IP 句子)。生成这些变化很简单。这跨越了从训练“句子嵌入”到训练“思想嵌入”的界限。

还有其他方法可以解决这个问题吗?有没有办法直接改变句子嵌入空间?例如,变分采样通过在嵌入空间上应用非线性变换来工作。

注意:CMU 发音词典提供超过 100k 单词的发音重读,可用于对仪表进行分类: http ://www.speech.cs.cmu.edu/cgi-bin/cmudict

注意:这是一个自学深度学习和 NLP 的个人爱好项目——我真的不知道用当前的 NLP 技术是否可以实现。

1个回答

想到的一个起点是为 IP 中的句子创建成本函数。现在,虽然通常这是一个二元事件(一个句子是否在 IP 中 - 或者我会假设),但这并不适合这项任务。您应该设计一个成本函数来衡量您的句子与 IP 的接近程度(所以我假设有 11 个音节的句子的成本会比有 12 个音节的句子的成本低。语言压力及其相关成本留给您自己弄清楚;)) .

有了成本函数后,您应该采用某种可以从一种语言翻译成另一种语言的预训练深度神经网络,例如使用 Word2Vec 的那些,将其设置为从英语翻译成英语,并以两种成本对其进行训练——一个用于保持文本的含义(可能与 word2vec 的另一个实例或类似的东西),另一个用于在 IP 中。这两个成本的相对权重应该通过实验确定(您甚至可能希望在训练时更改它们)。

这当然是在黑暗中拍摄的。需要更多的研究和实验,但我希望这可以作为你努力的起点。

请注意,虽然这是一个有趣的项目,但在我看来,它可能不是初学者的最佳选择。