目录
  1. 1. 一、引言:从关键词到语义
  2. 2. 二、向量空间模型与 TF-IDF
    1. 2.1. 2.1 向量空间模型(VSM)
    2. 2.2. 2.2 TF-IDF 权重
    3. 2.3. 2.3 VSM 的问题
  3. 3. 三、LSA:潜在语义分析
    1. 3.1. 3.1 核心思想
    2. 3.2. 3.2 数学过程
    3. 3.3. 3.3 为什么截断 SVD 能捕获语义?
    4. 3.4. 3.4 LSA 的计算示例
    5. 3.5. 3.5 文档相似度计算
    6. 3.6. 3.6 LSA 的优缺点
    7. 3.7. 3.7 LSA 的折叠式查询(Folding-in)
    8. 3.8. 3.8 LSA 与现代词嵌入(Word Embeddings)的关系
  4. 4. 四、pLSA:概率潜在语义分析
    1. 4.1. 4.1 动机
    2. 4.2. 4.2 pLSA 的生成模型
    3. 4.3. 4.3 参数估计:EM 算法
    4. 4.4. 4.4 pLSA 与 LSA 的关系
    5. 4.5. 4.5 pLSA 的优缺点
    6. 4.6. 4.6 pLSA EM 的数值示例
    7. 4.7. 4.7 pLSA 与非负矩阵分解(NMF)的关系
  5. 5. 五、LSA vs pLSA vs LDA 完整对比
    1. 5.1. 5.1 对比表
    2. 5.2. 5.2 主题质量直观对比
    3. 5.3. 5.3 何时用哪个?
  6. 6. 六、面试高频问题
  7. 7. 七、总结
【统计学习方法死磕系列Ⅱ】潜在语义分析及概率潜在语义分析

一、引言:从关键词到语义

在搜索引擎刚出现的时候,搜索”car”可能无法返回包含”automobile”的文档——虽然意思几乎一样。这种词汇鸿沟(lexical gap)是传统关键词匹配的根本缺陷:它只看到表面词汇,不理会背后的语义。

潜在语义分析(Latent Semantic Analysis, LSA)是最早尝试弥合这一鸿沟的方法之一。它通过矩阵分解来发现隐藏在词-文档共现中的”潜在语义结构”。随后,概率潜在语义分析(probabilistic LSA, pLSA)为 LSA 提供了概率基础。这两个模型一起,构成了主题模型发展史的前两个里程碑,为后续的 LDA 铺平了道路。

本文将系统介绍 LSA 和 pLSA 的数学原理、算法实现以及两者之间的关系。

二、向量空间模型与 TF-IDF

2.1 向量空间模型(VSM)

在进入 LSA 之前,先回顾最基础的文本表示:向量空间模型(Vector Space Model, VSM)。

在 VSM 中,每个文档被表示为一个 $V$ 维向量($V$ 为词汇表大小),每个维度对应一个词的权重:

$$ d = (w_1, w_2, \dots, w_V)^T $$

整个语料库构成一个词-文档矩阵 $X \in \mathbb{R}^{V \times M}$,其中 $X_{ij}$ 是词 $i$ 在文档 $j$ 中的权重。

2.2 TF-IDF 权重

最常用的权重方案是 TF-IDF:

词频(TF):词在文档中出现的频率

$$ \text{tf}(t, d) = \frac{\text{词 } t \text{ 在文档 } d \text{ 中出现的次数}}{\text{文档 } d \text{ 的总词数}} $$

逆文档频率(IDF):衡量词的信息量

$$ \text{idf}(t) = \log \frac{M}{1 + |\{d: t \in d\}|} $$

TF-IDF

$$ \text{tf-idf}(t, d) = \text{tf}(t, d) \times \text{idf}(t) $$

TF-IDF 的直觉:一个词在文档中出现越频繁(TF 高)且在语料库中越稀有(IDF 高),它对该文档就越重要。

2.3 VSM 的问题

VSM 的核心问题是各维度独立——它假定所有词是互相独立的。这导致了:

  1. 同义词问题:”car”和”automobile”被当作完全不相关的维度
  2. 多义词问题:”bank”(银行 vs 河岸)在 VSM 中只有一个维度
  3. 稀疏性:词-文档矩阵极其稀疏(大多数词不出现在大多数文档中)
  4. 噪音:高维稀疏矩阵中包含大量噪声

LSA 正是为了解决这些问题而诞生的。

三、LSA:潜在语义分析

3.1 核心思想

LSA(Deerwester et al., 1990)的核心假设是:词和文档之间存在一个低维的潜在语义空间,词和文档都可以被投影到这个空间中表示。在这个空间中,语义相近的词(即使字面不同)会聚集在一起。

LSA 使用截断 SVD(truncated SVD)来实现这个投影。

3.2 数学过程

给定词-文档矩阵 $X \in \mathbb{R}^{V \times M}$(通常为 TF-IDF 加权),LSA 执行以下步骤:

步骤 1:对 $X$ 做 SVD

$$ X = U \Sigma V^T $$

其中 $U \in \mathbb{R}^{V \times V}$,$\Sigma \in \mathbb{R}^{V \times M}$,$V \in \mathbb{R}^{M \times M}$

步骤 2:保留前 $k$ 个最大的奇异值

$$ X_k = U_k \Sigma_k V_k^T $$

其中 $U_k \in \mathbb{R}^{V \times k}$,$\Sigma_k \in \mathbb{R}^{k \times k}$,$V_k \in \mathbb{R}^{M \times k}$

步骤 3:获得低维表示

  • 词的语义向量:$U_k \Sigma_k$(或仅 $U_k$)的第 $i$ 行表示词 $i$ 在语义空间中的坐标
  • 文档的语义向量:$\Sigma_k V_k^T$(或仅 $V_k \Sigma_k$)的第 $j$ 列表示文档 $j$ 在语义空间中的坐标

3.3 为什么截断 SVD 能捕获语义?

截断 SVD 将原始矩阵 $X$ 近似为 $k$ 个秩-1 矩阵的和:

$$ X_k = \sum_{i=1}^{k} \sigma_i u_i v_i^T $$

根据 Eckart-Young 定理,这是秩-k 矩阵中对 $X$ 的 Frobenius 范数最优近似。它保留了数据中方差最大的 $k$ 个方向,去掉了噪声方向。

而这些大奇异值对应的方向,恰恰对应了语料中的”潜在主题”。例如,如果很多文档同时出现”car”和”automobile”,那么 SVD 的某个分量会自动将这两个词关联起来——它们会有相似的 $U_k$ 向量。

3.4 LSA 的计算示例

假设有以下 3 篇文档:

  • d1: “cat dog mouse”
  • d2: “dog mouse pet”
  • d3: “car truck engine”

词-文档矩阵(词频):

        d1  d2  d3
cat 1 0 0
dog 1 1 0
mouse 1 1 0
pet 0 1 0
car 0 0 1
truck 0 0 1
engine 0 0 1

对 $X$ 做 SVD,取 $k=2$。得到的语义空间会自然地将 d1 和 d2(宠物相关)聚在一起,d3(汽车相关)单独成组。”cat”和”dog”会获得相似的语义向量——即使它们从未在同一文档中共现(通过”mouse”这个桥梁建立关联)。这就是 LSA 处理二阶共现的能力。

3.5 文档相似度计算

在 LSA 空间中,文档相似度可以用余弦相似度高效计算:

# Compute document similarity in LSA space
import numpy as np
from sklearn.decomposition import TruncatedSVD
from sklearn.feature_extraction.text import TfidfVectorizer

# TF-IDF vectorization
tfidf = TfidfVectorizer()
X = tfidf.fit_transform(documents)

# Truncated SVD
lsa = TruncatedSVD(n_components=100)
X_lsa = lsa.fit_transform(X)

# Compute cosine similarity between document i and j
def cosine_sim(a, b):
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

sim = cosine_sim(X_lsa[0], X_lsa[1])

3.6 LSA 的优缺点

优点 缺点
实现简单(只需 SVD) 非概率模型,缺乏统计基础
能捕获同义词/近义词 SVD 计算量大
降维后相似度计算高效 难以处理多义词
建立了词-词、文档-文档、词-文档的关联 缺乏生成式解释
数学上是最优低秩近似 负值难以解释

3.7 LSA 的折叠式查询(Folding-in)

LSA 的一个实际问题是:当有新文档或查询到达时,是否需要重新对整个词-文档矩阵做 SVD?答案是否定的——可以使用折叠式查询(folding-in)技术将新文档投影到已有的语义空间中。

对于新文档 $d_{\text{new}} \in \mathbb{R}^{V}$(TF-IDF 向量),其在 LSA 空间中的表示为:

$$ \hat{d}_{\text{new}} = \Sigma_k^{-1} U_k^T d_{\text{new}} $$

推导过程:在原始 SVD $X = U \Sigma V^T$ 中,文档 $j$ 的低维表示由 $\Sigma_k V_k^T$ 的第 $j$ 列给出(或 $V_k^T$ 的第 $j$ 列,取决于约定)。对于新文档 $d_{\text{new}}$,我们希望找到其低维表示 $v_{\text{new}}$ 使得 $d_{\text{new}} \approx U_k \Sigma_k v_{\text{new}}$:

$$ v_{\text{new}} = \Sigma_k^{-1} U_k^T d_{\text{new}} $$

类似地,对于新查询词 $q \in \mathbb{R}^{V}$,其在语义空间中的表示为:

$$ \hat{q} = \Sigma_k^{-1} U_k^T q $$

然后可以使用余弦相似度在语义空间中计算查询与文档的相关度:

$$ \text{sim}(q, d) = \cos(\hat{q}, \hat{d}) $$

这一技术的优点是增量式、无需重新训练;缺点是”折叠”进来的新信息不会反馈到语义空间的更新中。如果语料随时间变化显著,建议定期重新做 SVD。

3.8 LSA 与现代词嵌入(Word Embeddings)的关系

LSA 可以视为现代词嵌入(如 word2vec, GloVe)的”精神先驱”。它们都基于分布假说(Distributional Hypothesis)——语义相近的词出现在相似的上下文中

然而两者的实现路径截然不同:

方面 LSA word2vec / GloVe
核心机制 全局矩阵分解(SVD) 局部上下文窗口预测
矩阵 词-文档共现矩阵 词-词共现矩阵(或滑动窗口采样)
优化目标 Frobenius 范数最小化 分类(Skip-gram)或回归(GloVe)
训练方式 一次性(batch SVD) 迭代(SGD)
词向量维度 通常 100-300 通常 100-300
性能 在词相似度任务上不如 word2vec 在词类比和相似度上显著领先

为什么 word2vec 比 LSA 效果更好?

  1. 加权方案:LSA 使用 TF-IDF 作为权重,而 word2vec 通过负采样(negative sampling)隐式地做了更巧妙的加权
  2. 优化灵活性:SGD 可以在梯度下降中跳出局部最优,而 SVD 是”一刀切”的全局优化
  3. 上下文粒度:word2vec 用固定大小的滑动窗口捕获局部上下文,LSA 以整篇文档为上下文粒度,可能在短文档中稀释了词的局部语义

实际上,GloVe(Pennington et al., 2014)可以被视为 LSA 思路在现代的复兴——它通过加权最小二乘回归来分解词-词共现矩阵,融合了 LSA 的全局矩阵分解和 word2vec 的局部上下文优势。

LSA 仍有价值的地方:文档级别的语义表示。word2vec 给你词向量,但你还需要额外操作来得到文档向量(如平均词向量、SIF 嵌入等)。LSA 天然提供了文档向量($V_k$),在文档聚类、文档相似度等任务中仍然是一种有效且易解释的 baseline。

四、pLSA:概率潜在语义分析

4.1 动机

LSA 是一个纯粹的线性代数方法,没有概率解释。pLSA(Hofmann, 1999)为 LSA 提供了概率基础,将文档生成形式化为一个概率模型。

4.2 pLSA 的生成模型

pLSA 假设文档是按以下过程生成的:

  1. 以概率 $P(d)$ 选一篇文档
  2. 以概率 $P(z|d)$ 选一个隐主题(latent topic)$z$
  3. 以概率 $P(w|z)$ 生成一个词

因此,词和文档的联合概率为:

$$ P(d, w) = P(d) \sum_{z=1}^{K} P(w|z) P(z|d) $$

这个模型也叫对称参数化。另一种写法(非对称参数化)为:

$$ P(d, w) = \sum_{z=1}^{K} P(z) P(d|z) P(w|z) $$

两种写法等价。

4.3 参数估计:EM 算法

pLSA 的参数可以通过 EM 算法进行 MLE 估计。我们需要估计的参数是 $P(w|z)$ 和 $P(z|d)$(假设 $P(d)$ 已由数据给出)。

完全数据对数似然

$$ \mathcal{L} = \sum_{d} \sum_{w} n(d, w) \log P(d, w) $$

其中 $n(d, w)$ 是词 $w$ 在文档 $d$ 中出现的次数。

E 步:计算隐变量 $z$ 的后验概率

$$ P(z|d, w) = \frac{P(w|z) P(z|d)}{\sum_{z'} P(w|z') P(z'|d)} $$

M 步:最大化 Q 函数

$$ P(w|z) = \frac{\sum_d n(d, w) P(z|d, w)}{\sum_{d, w'} n(d, w') P(z|d, w')} $$

$$ P(z|d) = \frac{\sum_w n(d, w) P(z|d, w)}{n(d)} $$

其中 $n(d) = \sum_w n(d, w)$。

算法流程

Algorithm: EM for pLSA
----------------------------------------------
Input: word-document count matrix n(d,w), K
Output: P(w|z), P(z|d)

Initialize P(w|z) and P(z|d) randomly

Repeat until convergence:
// E-step
For each (d, w):
For each z:
P(z|d,w) = P(w|z) * P(z|d) / Σ_{z'} P(w|z') * P(z'|d)

// M-step
For each z, w:
P(w|z) = Σ_d n(d,w) * P(z|d,w) / Σ_{d,w'} n(d,w') * P(z|d,w')

For each d, z:
P(z|d) = Σ_w n(d,w) * P(z|d,w) / n(d)

4.4 pLSA 与 LSA 的关系

Hofmann 证明了 pLSA 与 LSA 之间的内在联系:pLSA 的目标函数本质上等价于以下加权奇异值分解:

$$ \hat{X} = U \tilde{\Sigma} V^T $$

其中 $\hat{X}_{ij} = \frac{n(d_i, w_j)}{\sqrt{n(d_i) \cdot \sum_d n(d, w_j)}}$。

这从概率角度解释了为什么 LSA 的 SVD+截断能工作——它隐式地对应了一个概率生成模型的最大似然解。

4.5 pLSA 的优缺点

优点 缺点
有了明确的概率解释 参数数量随文档数增长:$O(MK + KV)$
EM 算法保证似然单调不减 对新文档无法直接推断(需重新训练)
每个词在多个主题上的混合可解释多义词 容易过拟合(尤其是文档层面的参数)
生成式模型,可以采样生成文本 没有对 $P(z

4.6 pLSA EM 的数值示例

为了更好地理解 pLSA 的 EM 算法,我们用一个极小的语料库手动演示一轮迭代。

假设语料库只有一个文档 $d_1$,包含两个词:”apple”($w_1$)出现 2 次,”banana”($w_2$)出现 1 次。假设有 $K=2$ 个隐主题。

初始化(随机):

$$ P(z_1|d_1) = 0.6, \quad P(z_2|d_1) = 0.4 $$

$$ P(w_1|z_1) = 0.7, \quad P(w_2|z_1) = 0.3 $$
$$ P(w_1|z_2) = 0.3, \quad P(w_2|z_2) = 0.7 $$

E 步(计算 $P(z|d,w)$):

对 $(d_1, w_1)$:
$$ \begin{aligned} P(z_1|d_1, w_1) &= \frac{0.7 \times 0.6}{0.7 \times 0.6 + 0.3 \times 0.4} = \frac{0.42}{0.54} \approx 0.778 \\ P(z_2|d_1, w_1) &= \frac{0.3 \times 0.4}{0.54} \approx 0.222 \end{aligned} $$

对 $(d_1, w_2)$:
$$ \begin{aligned} P(z_1|d_1, w_2) &= \frac{0.3 \times 0.6}{0.3 \times 0.6 + 0.7 \times 0.4} = \frac{0.18}{0.46} \approx 0.391 \\ P(z_2|d_1, w_2) &= \frac{0.7 \times 0.4}{0.46} \approx 0.609 \end{aligned} $$

M 步(更新参数):

$$ \begin{aligned} P(w_1|z_1) &= \frac{2 \times 0.778 + 1 \times 0}{2 \times 0.778 + 1 \times 0 + 0 + 0} = \frac{1.556}{1.947} \approx 0.799 \\ P(w_2|z_1) &= \frac{2 \times 0 + 1 \times 0.391}{1.947} \approx 0.201 \\ P(w_1|z_2) &= \frac{2 \times 0.222 + 0}{2 \times 0.222 + 1 \times 0.609} \approx 0.422 \\ P(w_2|z_2) &= \frac{1 \times 0.609}{1.053} \approx 0.578 \\ \\ P(z_1|d_1) &= \frac{2 \times 0.778 + 1 \times 0.391}{3} \approx 0.649 \\ P(z_2|d_1) &= \frac{2 \times 0.222 + 1 \times 0.609}{3} \approx 0.351 \end{aligned} $$

经过一轮迭代后,参数发生了明显变化:

  • $z_1$ 对 $w_1$(apple)的倾向更强了(0.7 -> 0.799)
  • $z_2$ 对 $w_1$ 的概率下降了(0.3 -> 0.422),对 $w_2$ 下降了(0.7 -> 0.578)

继续迭代下去,$z_1$ 将逐渐集中在 $w_1$(apple)上,$z_2$ 逐渐集中在 $w_2$(banana)上,两个主题将”分离”。这展示了 EM 算法如何通过隐变量的”软分配”逐步发现词的聚合模式。

4.7 pLSA 与非负矩阵分解(NMF)的关系

pLSA 的 EM 算法与非负矩阵分解(NMF)有深刻的联系。在 NMF 中,我们寻找:

$$ X \approx W H, \quad W \in \mathbb{R}^{V \times K}_{\geq 0}, H \in \mathbb{R}^{K \times M}_{\geq 0} $$

其中 $W$ 的每行对应一个词在 $K$ 个主题上的分布(即 $P(w|z)$),$H$ 的每列对应一个文档在 $K$ 个主题上的分布(即 $P(z|d)$)。

两者的关键区别:

  • pLSA 通过极大似然优化(等效于最小化 KL 散度 $D_{KL}(X | WH)$)
  • 标准 NMF 通过最小化 Frobenius 范数 $|X - WH|_F^2$ 或 KL 散度
  • pLSA 有概率约束($\sum_w P(w|z) = 1, \sum_z P(z|d) = 1$),这在 NMF 中不一定强制

实际上,当 NMF 使用 KL 散度作为损失函数并加入适当的列归一化约束时,它与 pLSA 是等价的。这也从另一个角度解释了为什么非负矩阵分解在主题建模中有效——非负约束自然地产生了可解释为”概率”的分量。

五、LSA vs pLSA vs LDA 完整对比

这三个模型构成了主题模型的三级进化:

5.1 对比表

维度 LSA pLSA LDA
年份 1990 1999 2003
数学基础 线性代数(SVD) 概率 + EM 贝叶斯推断
可解释性 低(奇异值/向量无法赋予直觉含义) 中(概率但无极约束) 高(Dirichlet 先验鼓励稀疏)
参数数量 $k(V+M)$ $M \cdot K + K \cdot V$ $K \cdot V$(固定)
新文档处理 需重新 SVD(或 folding-in) 不可直接处理 直接推断 $\theta_{new}$
模型选择 k(主题数) K(主题数) K + $\alpha$ + $\beta$
过拟合 低(贝叶斯正则化)
理论基础 Eckart-Young 定理 MLE 贝叶斯定理 + 共轭先验

5.2 主题质量直观对比

以 10000 篇科技新闻为例:

  • LSA 会找出一些正交维度,但这些维度可能混合了正负值(难以解释为”概率”)
  • pLSA 会找出概率分布,但如果只有 50 篇文档讨论某个小众主题,该主题可能只在这 50 篇里出现——其他文档的 $P(z|d)$ 趋向于零(过拟合)
  • LDA 通过 Dirichlet 先验将信息”共享”——每个主题的词分布从所有文档中受益,每个文档的主题分布由先验约束不至于过拟合

5.3 何时用哪个?

场景 推荐 原因
快速原型、探索性分析 LSA 简单、快
需要概率输出 pLSA 或 LDA 概率解释
中等规模数据 pLSA EM 收敛快
大规模、需建模新文档 LDA 固定参数、生成式
学术研究 LDA 理论完备,社区支持好

六、面试高频问题

Q1:LSA 为什么能处理同义词问题?

LSA 通过 SVD 降维,将原始的高维稀疏词-文档矩阵投影到一个低维潜在语义空间。在这个空间中,即使两个词(如”car”和”automobile”)从未在同一文档中共现,只要它们与相同的其他词共现(二阶共现),SVD 就会给它们相似的语义向量。这是 LSA 捕获”潜在语义”的关键机制。

数学上,这是因为截断 SVD 强制词和文档共享同一个低维空间,压缩过程中相似的上下文模式被”压缩”到一起。

Q2:pLSA 使用 EM 算法训练,E 步和 M 步各自在做什么?

E 步:给定当前参数估计 $P(w|z)$ 和 $P(z|d)$,计算每个词-文档对 $(d,w)$ 中隐主题 $z$ 的后验概率 $P(z|d,w)$。这一步”猜测”每个词是由哪个主题生成的。

M 步:利用 E 步的后验概率,重新估计参数 $P(w|z)$ 和 $P(z|d)$。本质上是用加权频率来更新——后验概率 $P(z|d,w)$ 作为权重,将每个词的出现”分配”给不同主题。

Q3:pLSA 的”过拟合”问题具体是什么?

pLSA 中 $P(z|d)$ 是模型参数(共 $M \times K$ 个),直接由训练集估计。如果训练集中某文档 $d$ 只涉及主题 A 的词,那么 $P(z = A|d)$ 会趋近于 1,其余为零。当这个文档只有一个词时,$P(z|d)$ 就是单点分布——极端过拟合。

此外,对于训练集中未出现的文档,pLSA 无法直接给出 $P(z|d_{new})$。相比之下,LDA 将 $\theta_d$ 视为随机变量并加 Dirichlet 先验,既防止了过拟合,也允许对新文档进行推断。

Q4:LSA 的截断秩 k 如何选择?

  1. 奇异值衰减曲线(类似 PCA 的 scree plot),找”肘部”
  2. 下游任务(如文档分类、检索精度)上做交叉验证
  3. 经验范围:通常 $k$ 取 100-300(对于数万词汇的语料)
  4. 如果只是做二维/三维可视化,$k=2$ 或 $k=3$

注意 $k$ 不一定要等于”真实”的主题数——LSA 的维度只是近似的”语义轴”,不应过度解释为离散的”主题”。

Q5:LSA 中的奇异向量值可能出现负数,这如何解释?

在 LSA 中,$U_k$ 和 $V_k$ 的元素确实可正可负。这是 LSA 被视为非概率方法的根本原因之一——无法像 pLSA/LDA 那样将分量解释为”概率”。

一种实用的解读方式是:将 LSA 维度理解为语义轴,正方向代表某个语义极(如”科技”),负方向代表相反极(如”人文”),零值表示不相关。但严格来说,LSA 不应该过度解释为清晰的”主题”,而应理解为一种低维语义嵌入

这也是 pLSA 和 LDA 被发展出来的重要动机——给语义分析加上概率的非负约束,使结果更易解释。

Q6:LSA/pLSA 在工业界还有应用吗?还是已经被 LDA 和 BERT 取代了?

这是一个很好的问题。诚然,在语义相似度、文档分类等监督任务上,BERT 等预训练模型显著优于 LSA/pLSA。但在以下场景中,LSA/pLSA 仍然是实用甚至首选的工具:

  1. 无监督探索性数据分析:当你拿到一批新文档,完全不了解其内容结构时,跑一个 LSA 然后用前两个维度的散点图观察文档聚类——这比直接上 BERT 快得多,也更容易解释。

  2. 轻量级文本检索基线:LSA 的 cosine similarity 检索是搜索引擎的经典 baseline,实现简单、不需要 GPU,适合在资源受限的环境中部署。

  3. 数字人文和历史文献分析:人文学者需要透明的、可解释的方法。LSA 的线性性质(每个维度是词的线性组合)使学者可以理解”为什么这两篇文档被认为相似”。

  4. 可解释性要求高的场景:金融合规、法律文档分析等领域中,模型的每一个决策可能需要向监管者解释。线性模型(LSA)比深度学习模型(BERT)更容易解释其输出依据。

  5. 小样本领域:BERT 的预训练优势在处理新闻、百科等通用文本时明显,但在高度专业领域(如法律合同、医学文献等),语料规模往往不足以微调 BERT。此时 LSA/pLSA 作为一种无参数模型的 baseline 可能更鲁棒。

所以答案并非”有 vs 没有”的二元选择,而是在正确的场景选择正确的工具。理解 LSA/pLSA 的价值在于:它们为”文本的语义相似度”建立了最基本的数学直觉,这个直觉在你使用更高级的工具时依然有用。

七、总结

LSA 和 pLSA 是主题模型发展史上不可或缺的两块基石。LSA 用 SVD 的数学优雅性证明了”潜在语义”的可行性;pLSA 为其披上了概率的外衣,使之有了统计推断的基础;LDA 则完成了贝叶斯正规化,使主题模型真正成为实用工具。

理解这三个模型的递进关系,是理解 NLP 中”模型进化”的绝佳范例。它们向我们展示了:一个好的模型不是凭空产生的——它是在前人模型的问题和不足上逐步完善的。

在现代 NLP 中,虽然 BERT 等预训练模型在很大程度上取代了 LSA/pLSA 在语义相似度任务中的位置,但主题模型的可解释性无监督属性使其在探索性数据分析、数字人文等场景中仍然不可替代。

参考文献

  1. Deerwester, S., Dumais, S. T., Furnas, G. W., Landauer, T. K., & Harshman, R. (1990). Indexing by latent semantic analysis. Journal of the American Society for Information Science, 41(6), 391-407.
  2. Hofmann, T. (1999). Probabilistic latent semantic indexing. SIGIR ‘99.
  3. Blei, D. M., Ng, A. Y., & Jordan, M. I. (2003). Latent Dirichlet Allocation. JMLR, 3, 993-1022.
  4. 李航. (2019). 《统计学习方法》(第2版). 第16章.
  5. Manning, C. D., Raghavan, P., & Schutze, H. (2008). Introduction to Information Retrieval. Chapter 18.
文章作者: Leo·Cheung
文章链接: http://tufusi.com/2022/02/25/%E3%80%90%E7%BB%9F%E8%AE%A1%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95%E6%AD%BB%E7%A3%95%E7%B3%BB%E5%88%97%E2%85%A1%E3%80%91%E6%BD%9C%E5%9C%A8%E8%AF%AD%E4%B9%89%E5%88%86%E6%9E%90%E5%8F%8A%E6%A6%82%E7%8E%87%E6%BD%9C%E5%9C%A8%E8%AF%AD%E4%B9%89%E5%88%86%E6%9E%90/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ONE·PIECE
打赏
  • 微信
  • 支付宝

评论