IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:gensim

共 3 篇相关文章

IT 累计浏览 3,880

如何计算两个文档的相似度(三)

这篇讲的是《如何计算两个文档的相似度》系列文章的实战篇。作者从上一节的gensim基础用法出发,这一次要用“课程图谱”的真实课程数据,来实际验证和改进文档相似度计算的方法,并引入了NLTK这一专业的自然语言处理工具进行文本预处理。 核心思路是利用NLTK解决真实英文文本中的“脏”问题。作者展示了,如果只是简单地将单词小写化,标点符号和单词会粘在一起,影响计算质量。因此,引入了NLTK的`word_tokenize`函数进行精细分词,将“texts.”这样的组合拆分为“texts”和“.”。更关键的一步是使用NLTK内置的英文停用词表(共127个词,如“the”, “is”, “and”),过滤掉这些高频但对主题区分贡献低的词汇。 为了让验证可复现,文章提供了完整的Coursera课程数据集,包含379门课程。数据集结构清晰,每行是“课程名\t课程简介\t课程详情”,且已清除HTML标签。摘要中展示了加载数据和进行NLTK处理的初始步骤代码,体现了从数据准备到工具应用的完整实践流程。

IT 累计浏览 5,232

如何计算两个文档的相似度(二)

这篇系列文章的第二部分聚焦于gensim的实战上手。作者从安装这个看似简单的步骤切入,详细记录了在Ubuntu和Mac OS上配置gensim及其依赖库NumPy、SciPy时遇到的典型问题——比如Mac上因缺失Fortran编译器导致的SciPy安装失败,并给出了解决方案(通过Homebrew安装gfortran),这对国内开发者很有参考价值。 在核心的使用演示部分,文章没有照搬官方教程,而是另辟蹊径,使用了“Latent Semantic Indexing (LSI) A Fast Track Tutorial”中的三个简短英文文档作为案例。整个流程清晰展示了从文本预处理(小写化)、构建词袋字典、生成文档向量,到训练TF-IDF模型,最终通过LSI(潜在语义分析)将文档映射到二维主题空间的全过程。作者特别指出了gensim在计算IDF时未对出现频率为100%的词(如介词a, in, of)进行平滑处理导致其权重为零的现象,并以此反向论证了TF-IDF算法在过滤停用词上的有效性。 通过这个从安装到模型输出的完整闭环,文章为读者提供了一份可复现的gensim入门实践指南,为后续在“课程图谱”上的应用打下了基础。

IT 累计浏览 6,788

如何计算两个文档的相似度(一)

作者在构建“课程图谱”网站时,面临课程推荐系统冷启动的难题:缺乏用户行为数据,人工标注标签又耗时。一个可行的思路是直接利用课程文本内容计算相似度,而作者最终选择了基于主题模型的自动化方案。 核心工具是强大的Python库gensim,文章以LSI(浅层语义索引)模型为例,展示了如何将两篇文档映射到主题维度,进而计算其语义相似度。作者用不到百行的代码便实现了这一流程,并给出了以Andrew Ng《机器学习》课为示例的推荐效果图。文章还规划了进一步优化:利用全量英文维基百科语料,在普通笔记本电脑上训练更复杂的LSI和LDA模型,以提升相似度计算效果。 文章整体脉络清晰,分为三个部分:先简要铺垫TF-IDF、SVD等基础知识点并提供参考资料;再详解gensim的安装与具体实现;最后探讨在大规模语料上训练模型的应用。作者并非平铺直叙,而是从实际项目需求出发,分享了从选型到落地的完整思考与实践。