拆解XLNet模型设计,回顾语言表征学习的思想演进( 四 )

3. 预训练词向量 (Word Embedding)

神经网络刚开始进入自然语言处理的时候,预训练词向量 (Word Embedding) 的方法如 Skip-gram, Glove 等是语言表征学习的主要手段。由于缺乏有效建模词的相互依赖的手段,我们使用目标词前后的窗口内的词作为目标词的语境词 (Context Word),每个词/语境词都有一个独立的向量作为其表征。

假如窗口长度是 2 的话,在上述例子中,我们可以得到的 (输入输出) 对为 ("很" "开心"),("" "开心"),("今天" "开心"),("因为" "开心")。这里为了避免统计稀疏性,我们丢弃了词的位置信息。

这种语境建模方式非常粗糙。滑动窗口只是词间相互依赖的一种粗略估计。同时单个语境词不足以表达丰富的语境信息 -- 这是由语境中不同词相互依赖共同决定的。这使得该预测任务存在大量的歧义。最后由于缺乏对语境的细致建模,我们只能学到单个词的模糊的表征。

4. 循环神经网络

用一个向量代表一个词在预训练词向量流行之后已经变成标准做法,也是我们用上神经网络模型组件的基础。我们的句子可以表示成一个有顺序的向量序列:

推荐阅读