词嵌入是转换成数字的文本。同一文本可能有不同的数字表示。
许多机器学习算法和几乎所有深度学习架构都无法处理原始形式的字符串或纯文本。 它们需要数字作为输入来执行任何类型的工作,从广义上讲是分类、回归等。
https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lJek56RTFObVk1Tm1WbFpHSTBNemc0WVdVNE5UazJZVFZrTXpOaVlUUXhPQ0lzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklsZHNTR2hsVEZSUFdXeHpaVmRhUW1ZNU1YQmxJbjA9
不同类型的词嵌入可以大致分为两类:
我们在这一类下遇到的向量一般有三类:计数向量、TF-IDF向量、具有固定上下文窗口的共生矩阵。
我们在这个类别下通常会遇到两种类型的向量:连续的词袋(CBOW)、Skip-Gram。
本文,我们将关注具有固定上下文窗口的共生矩阵。
矩阵 A 存储单词的共生。在这种方法中,我们计算每个单词在感兴趣的单词周围特定大小的窗口内出现的次数。计算语料库中所有单词的计数。
因此,具有固定窗口大小 1 的合成共现矩阵 A 看起来像:
$$ \begin{array}{|l|l|l|l|l|l|l|l|}\hline & \text { NLP } & \text { flying } & \text { I } & \text { like } & \text { deep } & \text { learning } & \text { enjoy } \\\hline \text { NLP } & 0.0 & 0.0 & 0.0 & 1.0 & 0.0 & 0.0 & 0.0 \\\hline \text { flying } & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 1.0 \\\hline \text { I } & 0.0 & 0.0 & 0.0 & 2.0 & 0.0 & 0.0 & 1.0 \\\hline \text { like } & 1.0 & 0.0 & 2.0 & 0.0 & 1.0 & 0.0 & 0.0 \\\hline \text { deep } & 0.0 & 0.0 & 0.0 & 1.0 & 0.0 & 1.0 & 0.0 \\\hline \text { learning } & 0.0 & 0.0 & 0.0 & 0.0 & 1.0 & 0.0 & 0.0 \\\hline \text { enjoy } & 0.0 & 1.0 & 1.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\hline\end{array} $$
令 A 为 m * m 矩阵。乘积 Aᵀ A 是一个对称矩阵。
$$ \left[\left(A^{t} A\right)^{t}=A^{t} \cdot\left(A^{t}\right)^{t}=A^{t} A\right] $$
因此 Aᵀ A 有 n 个线性独立特征向量 v₁ ,v₂…vₙ 和实特征值 λ₁ , λ₂… λₙ 。
我们知道 Aᵀ A 的特征值也都是非负的。
设 λ 是 Aᵀ A 的特征值,对应特征向量 v。 那么,
$$ \begin{aligned}\lambda=\lambda\|v\|^{2}=\lambda v^{t} v &=v^{t} \lambda V=V^{t} A^{t} A v \\&=(A V)^{t} A V \\&=\|A v\| \|^{L} \geqslant 0\end{aligned} $$