返回介绍

数学基础

统计学习

深度学习

工具

Scala

三、Word2Vec

发布于 2023-07-17 23:38:25 字数 79653 浏览 0 评论 0 收藏 0

  1. 潜在语义分析latent semantic analysis:LSA 的基本假设是:如果两个词多次出现在同一篇文档中,则这两个词具有语义上的相似性。

2.1 原理

  1. 给定文档-单词 矩阵D$ \mathbf D $

    (4)D=[w1,1w1,2w1,3w1,Vw2,1w2,2w2,3w2,VwN,1wN,2wN,3wN,V]

    其中wi,j$ w_{i,j} $ 表示单词wordj$ \text{word}_j $ 在文档Di$ \mathcal D_i $ 中的权重,可以为:单词wordj$ \text{word}_j $ 在文档Di$ \mathcal D_i $ 中是否出现的0/1 值、单词wordj$ \text{word}_j $ 在文档Di$ \mathcal D_i $ 中出现的频次、或者单词wordj$ \text{word}_j $ 在文档Di$ \mathcal D_i $ 中的TF-IDF 值。

  2. 定义vj=(w1,j,w2,j,,wN,j)T$ \mathbf{\vec v}_j=(w_{1,j},w_{2,j},\cdots,w_{N,j})^T $ , 它为矩阵D$ \mathbf D $ 的第j$ j $ 列,代表单词wordj$ \text{word}_j $ 的单词-文档向量,描述了该单词和所有文档的关系。

    • 向量内积vpvq$ \mathbf{\vec v}_p\cdot \mathbf{\vec v}_q $ 描述了单词wordp$ \text{word}_p $ 和单词wordq$ \text{word}_q $ 在文档集合中的相似性。

    • 矩阵乘积DTDRV×V$ \mathbf D^T\mathbf D \in \mathbb R^{V\times V} $ 包含了所有词向量内积的结果。

  3. 定义di=(di,1,di,2,,di,V)T$ \mathbf{\vec d}_i= (d_{i,1},d_{i,2},\cdots,d_{i,V})^T $ ,它为矩阵D$ \mathbf D $ 的第i$ i $ 行,代表文档Di$ \mathcal D_i $ 的文档-单词向量,描述了该文档和所有单词的关系。

    • 向量内积dsdt$ \mathbf{\vec d}_s\cdot \mathbf{\vec d}_t $ 描述了文档Ds$ \mathcal D_s $ 和文档Dt$ \mathcal D_t $ 在文档集合中的相似性。

    • 矩阵乘积DDTRN×N$ \mathbf D\mathbf D^T \in \mathbb R^{N\times N} $ 包含了所有文档向量内积的结果。

  4. 对矩阵D$ \mathbf D $ 进行SVD 分解。假设矩阵D$ \mathbf D $ 可以分解为:D=PΣQT$ \mathbf D = \mathbf P \mathbf \Sigma \mathbf Q^T $ 。其中:

    • PRN×N,QRV×V$ \mathbf P \in \mathbb R^{N\times N},\mathbf Q \in \mathbb R^{V\times V} $ 为单位正交矩阵。

    • ΣRN×V$ \mathbf \Sigma \in \mathbb R^{N\times V} $ 为广义对角矩阵。

      (5)Σ=[σ100000σ200000σr000000000000]

      其中σ1σ2σr>0$ \sigma_1\ge \sigma_2\ge\cdots\ge\sigma_r\gt 0 $ 称作奇异值。

  5. SVD 分解的物理意义为:将文档按照主题分解。所有的文档一共有r$ r $ 个主题,每个主题的强度 (主题强度就是主题在数据集中出现的次数)分别为:σ1,σ2,,σr$ \sigma_1,\sigma_2,\cdots,\sigma_r $ 。

    • i$ i $ 篇文档Di$ \mathcal D_i $ 由这r$ r $ 个主题组成,文档的主题概率分布(称作文档-主题向量)为:

      (6)p(i)=(P(i,1),P(i,2),,P(i,r))T
    • t$ t $ 个主题由V$ V $ 个单词组成,主题的单词概率分布(称作主题-单词向量 )为:

      (7)q(t)=(Q(t,1),Q(t,2),,Q(t,V))T
    • j$ j $ 个单词由r$ r $ 个主题组成,单词的主题概率分布(称作 单词-主题 向量)为:

      (8)v(j)=(Q(1,j),Q(2,j),,Q(r,j))T
    • 根据D=PΣQT$ \mathbf D = \mathbf P \mathbf \Sigma \mathbf Q^T $ 有:

      (9)D=P[100010001000000]N×r[σ1000σ2000σr][100000100000100]r×VQT

      则该分解的物理意义为:文档-单词 矩阵 = 文档-主题 矩阵 x 主题强度 x 主题-单词 矩阵。

2.2 应用

  1. 得到了文档的主题分布、单词的主题分布之后,可以获取文档的相似度和单词的相似度。

    • 文档Di$ \mathcal D_i $ 和文档Dj$ \mathcal D_j $ 的相似度:

      (10)sim(Di,Dj)=p(i)p(j)||p(i)||×||p(j)||
    • 单词wordi$ \text{word}_i $ 和单词wordj$ \text{word}_j $ 的相似度:

      (11)sim(wordi,wordj)=v(i)v(j)||v(i)||×||v(j)||
  2. 虽然获得了文档的单词分布,但是并不能获得主题的相似度。因为Q$ \mathbf Q $ 是正交矩阵,因此有:

    (12)(Q(i,1),Q(i,2),,Q(i,V))T(Q(j,1),Q(j,2),,Q(j,V))T=0,ij

    则有:

    (13)sim(topici,topicj)=q(i)q(j)||q(i)||×||q(j)||=(Q(i,1),Q(i,2),,Q(i,V))T(Q(j,1),Q(j,2),,Q(j,V))T||q(i)||×||q(j)||=0,ij

    因此,任意两个主题之间的相似度为 0 。

  3. 文档-主题向量P$ \mathbf P $ 决定。根据:D=PΣQTP=DQΣ1PT=Σ1QTDT$ \mathbf D = \mathbf P \mathbf\Sigma \mathbf Q^T \rightarrow \mathbf P = \mathbf D\mathbf Q\mathbf \Sigma ^{-1} \rightarrow \mathbf P^T = \mathbf \Sigma ^{-1} \mathbf Q^T \mathbf D^T $ ,而文档-主题向量P$ \mathbf P $ 的行向量,也就是PT$ \mathbf P^T $ 的列向量。文档-单词向量D$ \mathbf D $ 的行向量,也就是DT$ \mathbf D^T $ 的列向量。

    因此对于一篇新的文档Ds$ \mathcal D_s $ ,假设其文档-单词向量ws$ \mathbf{\vec w}_s $ ,则其文档-主题向量为:

    (14)p(s)=Σ1QTws
  4. LSA 可以应用在以下几个方面:

    • 通过对文档的文档-主题向量 进行比较,从而进行基于主题的文档聚类或者分类。

    • 通过对单词的单词-主题向量进行比较,从而用于同义词、多义词进行检测。

    • 通过将query 映射到主题空间,进而进行信息检索。

2.3 性质

  1. LSA 的本质是将矩阵D$ \mathbf D $ 通过 SVD 进行降维,降维主要是由于以下原因:

    • 原始的文档-单词 矩阵D$ \mathbf D $ 太大计算机无法处理,通过降维得到原始矩阵的一个近似。

    • 原始的文档-单词 矩阵D$ \mathbf D $ 含有噪音,通过降维去掉原始矩阵的噪音。

    • 原始的文档-单词 矩阵D$ \mathbf D $ 过于稀疏,通过降维得到一个稠密的矩阵。

  2. LSA 的降维可以解决一部分同义词的问题,也可以解决一部分二义性的问题。

    • 经过降维,意义相同的同义词的维度会因降维被合并。

    • 经过降维,拥有多个意义的词,其不同的含义会叠加到对应的同义词所在的维度上。

  3. LSA 的缺点:

    • 产生的主题维度可能存在某些主题可解释性差。即:它们并不代表一个人类理解上的主题。

    • 由于Bag of words:BOW 模型的局限性,它无法捕捉单词的前后顺序关系。

      一个解决方案是:采用二元词组或者多元词组。

    • LSA 假设单词和文档形成联合高斯分布。实际观察发现,它们是一个联合泊松分布。这种情况下,用pLSA 模型效果会更好。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文