Shihanmax's blog

  
 

十七、潜在语义分析(LSA)

合集:统计学习方法笔记


潜在语义索引(Latent Semantic Indexing,LSI),是一种无监督学习方法,主要用于文本的话题分析。其特点是通过矩阵分解发现文本与单词之间的基于话题的语义关系。

一、单词向量空间模型

1.1 单词-文档矩阵

通过单词的向量表示文本的语言内容,即单词-文档矩阵:

$$ X = \begin{bmatrix} x_{11} & \cdots & x_{1n} \\ \vdots & \ddots & \vdots \\ x_{i1} & \cdots & x_{in} \\ \vdots & \ddots & \vdots \\ x_{m1} & \cdots & x_{mn} \end{bmatrix} $$

  • 每一行对应一个单词(共m个单词)
  • 每一列对应一个文档(共n个文档)
  • $x_{ij}$ 表示第i个单词在第j个文档中的权重

1.2 TF-IDF权重计算

单词在文本中的权重通常使用TF-IDF计算:

$$ \text{TF-IDF}_{ij} = \text{TF}_{ij} \times \text{IDF}_i $$

其中:
- $\text{TF}_{ij}$:单词i在文档j中的词频(出现次数)
- $\text{IDF}_i$:单词i的逆文档频率,计算公式为:

$$ \text{IDF}_i = \log \frac{N}{\text{df}_i} $$

其中:
- $N$:文档总数
- $\text{df}_i$:包含单词i的文档数

1.3 单词向量模型的局限性

  • 一词多义(Polysemy):同一个词在不同语境下有不同含义
  • 同义词(Synonymy):不同词表达相同或相近含义
  • 这些问题导致基于单词向量空间的相似度计算不精确

二、话题向量空间模型

2.1 话题-文档矩阵

通过话题向量表示文本的语言内容,即话题-文档矩阵:

$$ Y = \begin{bmatrix} y_{11} & \cdots & y_{1n} \\ \vdots & \ddots & \vdots \\ y_{k1} & \cdots & y_{kn} \end{bmatrix} $$

  • 每一行对应一个话题(共k个话题,k << m)
  • 每一列对应一个文档(共n个文档)
  • $y_{kj}$ 表示第k个话题在第j个文档中的权重

2.2 单词-话题矩阵

单词可以通过它在话题空间中的向量近似表示:

$$ T = \begin{bmatrix} t_{11} & \cdots & t_{1k} \\ \vdots & \ddots & \vdots \\ t_{m1} & \cdots & t_{mk} \end{bmatrix} $$

  • 每一行对应一个单词(共m个单词)
  • 每一列对应一个话题(共k个话题)
  • $t_{ik}$ 表示第i个单词在第k个话题中的权重

三、潜在语义分析原理

3.1 基本思想

给定单词-文档矩阵 $X$,LSA的目标是找到一个低维的话题向量空间,使得:

$$ X \approx T Y $$

其中:
- $T$:单词-话题矩阵(m×k)
- $Y$:话题-文档矩阵(k×n)
- $k$:话题数,通常远小于单词数m和文档数n

3.2 矩阵分解方法

LSA可以通过以下两种矩阵分解方法实现:

3.2.1 奇异值分解(SVD)

对单词-文档矩阵 $X$ 进行截断奇异值分解:

$$ X_{m \times n} \approx U_{m \times k} \Sigma_{k \times k} V_{k \times n}^T $$

其中:
- $U$:左奇异向量矩阵,表示单词在话题空间中的坐标
- $\Sigma$:奇异值对角矩阵
- $V$:右奇异向量矩阵,表示文档在话题空间中的坐标

令:
- $T = U \Sigma^{1/2}$(单词-话题矩阵)
- $Y = \Sigma^{1/2} V^T$(话题-文档矩阵)

则有:
$$ X \approx T Y $$

3.2.2 非负矩阵分解(NMF)

将单词-文档矩阵 $X$ 分解为两个非负矩阵的乘积:

$$ X_{m \times n} \approx W_{m \times k} H_{k \times n} $$

其中:
- $W$:基矩阵,对应单词-话题矩阵
- $H$:系数矩阵,对应话题-文档矩阵
- 所有元素均为非负数

3.3 优化目标

LSA的优化目标是最小化重构误差:

$$ \min_{T,H} \|X - TH\|^2 $$

或者使用KL散度:

$$ \min_{T,H} D_{\text{KL}}(X || TH) $$

约束条件:
- $T, H \geq 0$(对于NMF)
- $T$ 和 $H$ 的秩不超过 $k$

四、LSA的实现步骤

  1. 构建单词-文档矩阵:统计每个单词在每个文档中的出现次数,计算TF-IDF权重
  2. 矩阵分解
    - 方法一:对矩阵进行奇异值分解(SVD)
    - 方法二:对矩阵进行非负矩阵分解(NMF)
  3. 降维处理:保留前k个最大奇异值或因子,得到低维表示
  4. 语义分析:基于话题向量空间计算文档间或单词间的语义相似度

五、LSA的优势与局限性

5.1 优势

  1. 解决一词多义和同义词问题:通过话题向量空间捕捉单词的潜在语义
  2. 降维效果好:将高维稀疏的单词向量空间映射到低维稠密的话题向量空间
  3. 计算效率高:基于线性代数运算,计算相对简单

5.2 局限性

  1. 线性假设:假设语义关系是线性的,对复杂语义关系建模能力有限
  2. 话题数选择:话题数k需要预先设定,选择不当会影响效果
  3. 可解释性差:话题向量的语义含义不够直观
  4. 缺乏概率解释:LSA是基于矩阵分解的确定性模型,缺乏概率解释

注:本文使用Qwen转换自本人的统计学习方法笔记