潜在语义分析2025年3月17日 | 阅读 8 分钟 LSA通过应用统计方法来确定文档中词语之间的关系。LSA解决了以下几类问题 例如,即使“mobile”、“phone”和“telephone”这几个词的意思相似,如果我们问“The cell phone has been ringing”,那么只有包含“cell phone”这个词的论文才会被返回;而那些包含“mobile”、“phone”和“telephone”这几个词的论文则不会被返回。 LSA的假设
奇异值分解这种统计技术用于揭示散布在文档中的词语的潜在或隐藏的语义结构。 让 C = 文档集合。 d = 文档数量。 n = 整个集合中唯一词语的数量。 M = d X n SVD将M矩阵(即词语-文档矩阵)分解为三个矩阵,如下所示: 其中 U = 不同语境下的词语分布 ∑ = 语境之间关联的对角矩阵 VT = 不同文档中的语境分布 ![]() 能够截断我们可能不需要的某些语境,这是SVD的一个非常重要的方面。∑矩阵中的对角值能让我们了解语境的重要性,按降序排列。我们可以通过使用这些值来降低维度。因此,我们也可以将其用作降维策略。 如果我们选择∑矩阵中k个最大的对角值,我们会得到 其中 Mk = M的近似矩阵 Uk、∑k和VTk分别是仅包含U、∑和VT中k个语境的矩阵。 ![]() 什么是潜在语义分析(LSA)?在探索LSA的概念之前,让我们花点时间直观地理解这个概念。我们在写作中使用的词语并非从词汇表中随机选择的。相反,我们考虑一个主题(或问题),然后选择能够帮助我们以更有意义的方式向他人传达思想的词语。通常,这个主题或议题被视为一个潜在的维度。 潜在语义分析(LSA)将非结构化的文本集合转换为结构化数据。在我们深入研究LSA的概念之前,让我们花点时间直观地理解这个概念。我们在写作时并非从词汇表中随机选择词语。 相反,我们考虑一个主题(或问题),然后选择更容易向他人解释观点的词语。这个主题或议题通常被认为是潜在的维度。 用于语义潜在分析的Python程序本次课程我们将使用BBC新闻数据,您可以在此处下载。该数据集包含与五个不同类别相关的原始文本:科技、体育、政治、娱乐和商业。读取来自原始文本文件的数是我们首先要做的任务。 输出 ['business,' 'entertainment,' 'README.TXT,' 'sport,' 'tech,' 'politics'] 报告指示存在一个名为“README.TXT”的文件,应该将其删除。所有其他组件都由相应的文件夹构成。每个主题的原始文本文件都包含在以其各自主题命名的文件夹中。数据框将使用以下代码创建。 ![]() 在进一步分析新闻列中的文本之前,需要对其进行预处理。预处理将包括以下操作: 大小写转换删除任何特殊字符或数字 使用RE包可以轻松完成此处理。可以使用一个方便的函数来完成预处理,该函数将返回每段文本的新闻标题以及实际新闻内容,因为数据包含新闻标题。以下是代码 “标题”或“新闻”列可以进行潜在语义分析(LSA)。由于“新闻”列包含更多文本,我们将使用它进行分析。由于它本质上是截断的SVD,我们可以使用LSA进行文档级分析,如文档聚类、文档分类等。或者,我们可以使用LSA来构建词向量进行词级分析。 文本摘要、信息检索和文档分类等任务是LSA最常用的领域。 以下是潜在语义分析的主要步骤:
LSA的应用包括主题建模、文档分组、信息检索等自然语言处理领域。它未能完全掌握语言意义的复杂性,以及在需要深刻理解语境和语义的任务中可能表现不佳是其两个主要局限性。 当然,让我们更仔细地看看几个重要的潜在语义分析(LSA)组成部分。 1. 数学表示
2. 奇异值分解(SVD)
3. 语义空间
4. LSA的应用
5. 局限性
6. 补充和增强
7. 词嵌入与LSA
结论总之,生成的语义空间使得将词语和文档表示为向量成为可能,这使得诸如主题建模、文档聚类和信息检索等项目的工作更加容易。 LSA已被广泛使用,并在提高各种文本相关任务的性能方面取得了成功。它依赖于忽略上下文和词语顺序的词袋模型,以及其无法实现生成向量的缺点。 随着时间的推移,越来越复杂的技术,如词嵌入和基于Transformer的模型越来越受欢迎。这些技术提供了更详细的上下文和语义联系的表示。尽管有这些发展,在需要对潜在语义结构进行更简单、更直观的描述的情况下,LSA仍然是一个有用的工具。 总而言之,尽管LSA为自然语言处理的发展做出了重大贡献,但如今,从业者和研究人员可以使用更多样化的技术和模型,每种技术和模型都有其独特的优点和缺点。哪种技术是最好的,取决于手头工作的具体要求以及正在分析的数据类型。 下一主题异常值检测方法概述 |
我们请求您订阅我们的新闻通讯以获取最新更新。