16. 自然语言处理:应用¶
在 第 15 节 中,我们已经看到了如何表示文本序列中的词元以及如何训练它们的表示。这种预训练的文本表示可以输入到各种模型中,用于不同的下游自然语言处理任务。
事实上,前面的章节已经讨论了一些没有预训练的自然语言处理应用,仅仅是为了解释深度学习架构。例如,在 第 9 节 中,我们依赖循环神经网络来设计语言模型,以生成类似小说的文本。在 第 10 节 和 第 11 节 中,我们还设计了基于循环神经网络和注意力机制的模型用于机器翻译。
然而,本书不打算全面涵盖所有这些应用。相反,我们的重点是如何应用语言的(深度)表示学习来解决自然语言处理问题。给定预训练的文本表示,本章将探讨两个流行且具有代表性的下游自然语言处理任务:情感分析和自然语言推断,它们分别分析单个文本和文本对之间的关系。
图 16.1 预训练的文本表示可以输入到各种深度学习架构中,用于不同的下游自然语言处理应用。本章重点介绍如何为不同的下游自然语言处理应用设计模型。¶
如 图 16.1 所示,本章重点描述使用不同类型的深度学习架构(如多层感知机、卷积神经网络、循环神经网络和注意力机制)设计自然语言处理模型的基本思想。虽然可以将任何预训练的文本表示与任何架构结合用于 图 16.1 中的任一应用,但我们选择了一些有代表性的组合。具体来说,我们将探讨基于循环神经网络和卷积神经网络的流行架构用于情感分析。对于自然语言推断,我们选择注意力和多层感知机来演示如何分析文本对。最后,我们介绍如何微调预训练的 BERT 模型,以适应广泛的自然语言处理应用,例如序列级别(单文本分类和文本对分类)和词元级别(文本标注和问答)。作为一个具体的经验案例,我们将微调 BERT 用于自然语言推断。
正如我们在 第 15.8 节 中介绍的,BERT 对于广泛的自然语言处理应用只需要最少的架构更改。然而,这种好处是以微调大量 BERT 参数来适应下游应用为代价的。当空间或时间有限时,那些基于多层感知机、卷积神经网络、循环神经网络和注意力机制精心设计的模型更为可行。在下文中,我们从情感分析应用开始,并分别说明基于循环神经网络和卷积神经网络的模型设计。