内容理解:技术、算法与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.1 文本表示的研究背景

为了理解文本内容,我们首先要了解如何表示它。传统的文本表示方法有One-Hot编码、TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文本频率)等,这一类文本表示方法关注词语出现的频率信息,但是无法对词语的顺序信息以及语义信息进行建模。此外,这种表示方法的词向量的维度等于词表大小,参数量很大,在训练模型时容易出现“维度灾难”的问题。而基于神经网络的文本表示方法采用分布式表示思想,克服了One-Hot编码方法的缺点。近年来,非常受欢迎的分布式文本表示模型是word2vec,该模型基于这样一种分布式假设:在相同语境中出现的词语往往具有相似的含义。

word2vec的词语表示是固定的,难以对多义词进行建模,尽管有针对多义词建模的改进工作,但是本质上这一文本表示方法仍是上下文无关的。换句话说,同一个词在不同的上下文中的表示是固定的。与之相对的是一种上下文相关的词表示模型ELMo(Embedding from Language Models),ELMo使用LSTM(Long Short-Term Memory,长短期记忆)网络训练语言模型,并将训练好的模型的隐层参数作为词表示。它的维数相对较大,在考虑上下文信息的情况下,同一个词在不同的上下文中的表示是不同的。

在将文本表示应用到具体的任务时,通常直接将事先得到的文本特征作为任务模型的输入,因为文本特征的质量决定了模型的性能,所以这种方法属于基于特征的方法。除了基于特征的方法外,还有一种基于微调的方法。基于微调的方法属于深度学习方法,下游任务使用的模型结构及初始参数和上游学习文本特征的模型结构及参数相同。换句话说,文本特征和学习文本特征的模型参数都被利用起来了。在处理下游任务的时候,只需要采用较低量级的学习率进行微调即可。

基于微调方法的典型代表是BERT(Bidirectional Encoder Representation from Transformers)。BERT使用大规模无监督语料预训练通用语言模型,训练好的模型参数会被直接应用于下游任务。在执行下游任务时,基于微调的方法往往比基于特征的方法表现更好,因为这一方法更好地避免了过拟合。需要注意的是,“微调”方法的学习率不宜过大,否则会导致“灾难性遗忘”,使得预训练模型参数中包含的通用信息被快速更新。