语言是一种固有的时间现象。当我们理解和产生口语时,我们处理不确定长度的连续输入流。即使在处理书面文本时,我们通常也按顺序处理。语言的时代性反映在我们使用的隐喻中;我们谈论的是对话流、新闻源和twitter流,所有这些都唤起了这样一种观念:语言是一个随时间展开的序列。这种时间性质反映在我们用来处理语言的算法中。例如,当应用于词性标注问题时,维特比算法每次递增地输入一个单词,并将沿途收集到的信息传递下去。另一方面,我们研究的用于情感分析和其他文本分类任务的机器学习方法没有这种时间性质——它们假设同时访问输入的所有方面。前馈神经网络尤其如此,包括它们在神经语言模型中的应用。这些完全连接的网络使用固定大小的输入,以及相关的权重,一次性捕获示例的所有相关方面。这使得处理不同长度的序列变得困难,并且无法捕捉语言的重要时间方面。
本章涵盖了两个密切相关的深度学习架构,旨在解决这些挑战:循环神经网络和transformer网络。这两种方法都具有直接处理语言的顺序性质的机制,允许它们处理可变长度的输入,而不使用任意固定大小的窗口,并捕获和利用语言的时间性质。