使用LSTM模型处理非常长的输入的实用建议?

时间:2018-09-28 20:23:50

标签: machine-learning deep-learning nlp lstm recurrent-neural-network

我在文本数据上建立了字符级LSTM模型,但最终我希望将此模型应用于非常长的文本文档(例如小说),在该文档中理解上下文信息非常重要,例如小说中的位置在里面。

对于这些大规模的NLP任务,通常将数据切成较小的碎片并与元数据(例如文档中的位置,检测到的主题等)进行链接以将其输入模型中吗?还是有更多优雅的技巧?

2 个答案:

答案 0 :(得分:1)

就个人而言,我还没有深入探讨使用LSTM来达到您要达到的深度,但是我确实有一些建议。

您在上面提到的问题的一种解决方案可能是通过将文档分成较小的部分并以这种方式进行分析来简单地分析文档的不同部分。您可能必须要有创造力。

我认为您可能会感兴趣的另一种解决方案是使用Tree LSTM模型以使层次更深入。 Here's the link to the paper使用树模型,您可以输入最低级别的单个字符或单词,然后向上馈给更高的抽象级别。再说一次,我对模型并不完全熟悉,所以不要相信我,但是这可能是一种解决方案。

答案 1 :(得分:0)

bhaskar 指出的答案中添加了一些其他想法,用于解决此问题。

您可以使用 Attention 机制,该机制用于处理长期依赖性。因为对于较长的序列,它肯定会忘记信息,否则它的下一个预测可能不依赖于它在其单元格中拥有的所有序列信息。因此,attention mechanism helps to find the reasonable weights for the characters, it depend on.有关更多信息,您可以检查此link

对此问题可能有很多研究。 This是关于这个问题的最新论文。

您还可以破坏序列并使用seq2seq模型,该模型将特征编码为低暗淡的空间,然后解码器将其提取。这是short-article

我的个人建议是先中断序列再进行训练,因为在完整序列上滑动窗口几乎能够找到每个序列之间的相关性。