潜在语义索引(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的实现步骤¶
- 构建单词-文档矩阵:统计每个单词在每个文档中的出现次数,计算TF-IDF权重
- 矩阵分解:
- 方法一:对矩阵进行奇异值分解(SVD)
- 方法二:对矩阵进行非负矩阵分解(NMF) - 降维处理:保留前k个最大奇异值或因子,得到低维表示
- 语义分析:基于话题向量空间计算文档间或单词间的语义相似度
五、LSA的优势与局限性¶
5.1 优势¶
- 解决一词多义和同义词问题:通过话题向量空间捕捉单词的潜在语义
- 降维效果好:将高维稀疏的单词向量空间映射到低维稠密的话题向量空间
- 计算效率高:基于线性代数运算,计算相对简单
5.2 局限性¶
- 线性假设:假设语义关系是线性的,对复杂语义关系建模能力有限
- 话题数选择:话题数k需要预先设定,选择不当会影响效果
- 可解释性差:话题向量的语义含义不够直观
- 缺乏概率解释:LSA是基于矩阵分解的确定性模型,缺乏概率解释
注:本文使用Qwen转换自本人的统计学习方法笔记。