密集向量表示:从共现矩阵到互信息的探索
1. 奇异值分解与主成分分析
在自然语言处理(NLP)领域,奇异值分解(SVD)和主成分分析(PCA)是常用的降维技术。虽然它们常被视为同一概念,但仍存在一些差异。PCA 可看作是 SVD 的一种实用应用,具有以下特点:
- 通常包含数据标准化或至少进行数据中心化处理。
- 输出维度是程序的一个参数。
- 仅返回 UΣ 或 U 矩阵。
在计算奇异值分解时,我们可以使用 NumPy 库。此外,PyTorch 提供了 torch.linalg.svd 函数,scikit - learn 则提供了 PCA 和 TruncatedSVD 两个类。这两个程序都有设置维度数量的参数,其中 PCA 会对列进行中心化处理,而 TruncatedSVD 可应用于原始矩阵。另外,Facebook 的 fbpca 是 PCA 的快速实现,默认也会对列进行中心化处理。
2. 潜在语义索引(LSI)
潜在语义索引可以将之前用于字符的技术扩展到单词。构建的矩阵中,行对应语料库中的单词,列对应文档或几个单词组成的上下文(如段落)。矩阵元素衡量单词与文档之间的关联强度,例如在某些情况下,矩阵元素可以是单词 - 文档对的原始计数。
Deerwester 等人(1990)使用了类似 tf × idf 的公式来计算关联强度,该公式由从文档计算的局部权重(如词频 tf )
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



