《自然语言处理综论(Speech and Language Processing)》第六章笔记

6 Vector Semantics and Embeddings(向量语义和嵌入)

本章主要介绍静态词向量,通常会将词映射成固定的向量。向量语义模型包括稀疏和密集。稀疏向量模型中,词汇表中的词(术语)为行向量,包括术语-文档矩阵和术语-术语矩阵。每个向量中的值是共现频率的函数,可通过TF-IDF或PPMI等方式加权。密集向量模型中常见算法为word2vec和GloVe等,前者通过skip-gram方法训练,后者基于词共现频率。

本章首先介绍了一些基本概念,词元(lemma)、词形式(word form)、词含义(word sense)、多义词(polysemous)等。词含义(sense)之间的关系包括同义、词相似、词关联、是否属于同一语义场、语义框架和角色、内涵等。

向量语义(vector semantic)表示将一个单词表示为多维语义空间中的一个点,该多维语义空间是从单词的近邻分布派生来的。即将词表示成向量,词嵌入(embbeding)通常指稠密向量。向量语义模型包括稀疏和稠密两种。稀疏模型以TF-IDF模型和PPMI模型为代表,稠密模型以word2vec和GloVe为代表。

稀疏模型中,向量或分布模型通常基于共现矩阵,其通常包括“术语-文档矩阵”和“术语-术语矩阵”。“术语-文档矩阵”中行表示词表中的词,列为文档集合中的文档。“术语-术语矩阵”中,行为词,列仍为词。矩阵行向量即为词向量。每个维度的值本质都是计数,通过TF-IDF(术语-文档矩阵)或者PPMI(术语-术语矩阵)加权。

对于TF-IDF算法,TF指词频(term frequency),即单词t在文档d中的频率。IDF指逆文档频率(inverse document frequency),其用定义,其中N是集合中文档的数目, d f t df_t dft是出现t的文档数,出现 t t t的文档越少,权重越高。最终公式为。

PMI逐点互信息(Pointwise Mutual Information)中,是两个单词联合出现的概率,是期望它们共现的频率(假设各自独立出现),PMI表征两个词共现的次数比偶然期望次数大多少。负的PMI通常不可靠,因此取正的PMI,负的置为0,对应。

向量语义模型通过获取两个单词 x x x y y y的TF-IDF或PPMI向量的余弦来计算相似度。余弦基于线性代数的点积(dot product)算子(内积inner product)。为了排除向量长度的影响,通过点积除以两个向量的长度来归一化,。TF-IDF常用于文档处理包括确定两个文档是否相似。获取文档中所有单词的向量并计算质心,用其来表征文档。

Word2vec 词嵌入属于静态词嵌入(static embeddings)。word2vec将训练一个二分类器,并将分类器的权重作为词的向量表示。这里革命性的突破是利用了自监督(self-supervision),突破手动标注标签的局限。相比于神经网络语言模型,word2vec更加简单,其简化了任务(二分类而不是词预测),其次其简化了结构(训练logistic回归分类器而不是神经网络)。采用负采样的skip-gram模型称为SGNS。其训练分类器,判断“词 c c c是否是词 w w w的上下文”,给定目标词 w w w和上下文窗口 L L L(包含 L L L个上下文词),概率计算基于上下文窗口中的词与目标词的相似度。相似度则是对目标词和上下文词词向量的点积应用logistic函数。

模型学习了每个单词i的两个单独embedding:目标嵌入和上下文嵌入,存储在两个矩阵中,目标矩阵 W W W和上下文矩阵 C C C。训练中,正样本为 ( w , c p o s ) (w,c_pos) (w,cpos),为词 w w w和其真实上下文词,负样本为 ( w , c n e g ) (w,c_neg) (w,cneg) c n e g c_neg cneg为噪声词,从词库非 w w w的上下文词中随机选择,负样本数目为正样本数目的 k k k倍。噪声词根据其加权的一元语法频率计算。的设置会为更稀疏的噪音词轻微提高概率。模型训练的损失函数为,第一项表征为真实上下文词 c p o s c_pos cpos赋予更高的作为 w w w邻居的概率,第二项表征为非上下文词 c n e g c_neg cneg赋予更低的作为 w w w邻居的概率。随机初始化两个矩阵 W W W C C C的值,利用随机梯度下降更新 W W W C C C,直到最优。通常会将迭代后的 w i + c i w_i+c_i wi+ci作为词嵌入,有时也仅会保留 w i w_i wi。上下文窗口大小 L L L为超参数。其他静态词嵌入的模型包括,fasttext和GloVe等。Fasttext通过应用子词模型,解决了未知词和稀疏词的问题。GloVe基于词-词共存矩阵的概率比率,结合了PPMI等基于计数的模型的直觉,同时还捕捉了word2vec等方法使用的线性结构。

参考

Speech and Language Processing 电子版
6 Vector Semantics and Embeddings
自然语言处理综述 中文版

你可能感兴趣的:(笔记,人工智能,深度学习)