分享好友 最新动态首页 最新动态分类 切换频道
NLP算法-关键词提取之Gensim算法库
2024-11-01 23:25

书接上回,我们讲到关键词提取常用的Jieba算法库
我们接着讲基于主题模型的关键词提取(LDA),为啥我要用两个博客来讲述这个关键词提取呢

NLP算法-关键词提取之Gensim算法库

因为我打算换一个库来讲讲这个模型,之前TF-IDF算法我们采取的是库,这篇博客我们介绍一下这个算法库

Gensim 是一款开源的第三方 Python 工具包,用于对原始的非结构化的文本进行无监督地学习,从而得到文本隐层的主题向量表达。它支持包括 , 和 在内的多种主题模型算法支持流式训练,并提供了诸如相似度计算,信息检索等一些常用任务的接口。

Gensim 包含有以下特征

  • 内存独立
  • 有效实现了许多流行的向量空间算法
  • 对流行的数据格式进行了 IO 封装和转换
  • 在其语义表达中,可以相似查询
  • 语料( Corpus :一组原始文本的集合,用于无监督地训练文本主题的隐层结构。语料中不需要人工标注的附加信息。在 Gensim 中,Corpus 通常是一个可迭代的对象(比如列表)。每一次迭代返回一个可用于表达文本对象的稀疏向量
  • 向量( Vector :由一组文本特征构成的列表。是一段文本在 Gensim 中的内部表达
  • 稀疏向量( Sparse Vector :通常,我们可以略去向量中多余的 0 元素。此时,向量中的每一个元素是一个( key, value )的 tuple
  • 模型( Model :是一个抽象的术语。定义了两个向量空间的变换(即从文本的一种向量表达变换为另一种向量表达)。

**训练语料的预处理指的是将文档中原始的字符文本转换成 Gensim 模型所能理解的稀疏向量的过程。**通常,我们要处理的原生语料是一堆文档的集合,每一篇文档又是一些原生字符的集合。

在交给 Gensim 的模型训练之前,我们需要将这些原生字符解析成 Gensim 能处理的稀疏向量的格式,然后,可以调用 Gensim 提供的 API 建立语料特征的索引字典,并将文本特征的原始表达转化成词袋模型对应的稀疏向量的表达。

示例:构建词袋模型

对文本向量的变换是 Gensim 的核心
通过挖掘语料中隐藏的语义结构特征,最终可以变换出一个简洁高效的文本向量。在 Gensim 中,每一个向量变换的操作都对应着一个主题模型,每一个模型又都是一个标准的 Python 对象。

首先是模型对象的初始化。通常,Gensim 模型都接受一段训练语料(在 Gensim 中,语料对应着一个稀疏向量的迭代器)作为初始化的参数。显然,越复杂的模型需要配置的参数越多。

示例1:TF-IDF 模型

其中,corpus 是一个返回 bow 向量的迭代器。这两行代码将完成对 corpus 中出现的每一个特征的 IDF 值的统计工作。

示例2:LSI 模型

函数中各个参数的具体含义为
tfidf_corpus 参数代表 tf-idf 模型生成的统计量
id2word 参数代表词袋向量
num_topics 表示选取的主题词个数。

LSI 训练的独特之处是能够继续“训练”,仅需提供更多的训练文本,这是通过对底层模型进行增量更新实现的,这个过程称为“在线训练”。

示例3:LDA 模型

函数中各个参数的具体含义为
bow_corpus 参数代表模型生成的统计量
id2word 参数代表词袋向量
num_topics 表示选取的主题词个数。

LDA 是 LSA 的概率扩展,因此 LDA 的主题可以被解释为词语的概率分布。这些分布式从训练语料库中自动推断的,就像 LSA 一样。

测试输入
实录|疫情下的美院师生书信:网课、绘本、互动与写作
美国学生怎么上网课?
网课开展这么久后:为何大家想回到教室了?
“洋学生”网课记:跨越万水千山 携手漫步“云端”
高校优质网课怎么打造?河南高校教师探索创新“线上教学”模式

输出
网课

LSA 即潜在语义分析,也被称为 LSI
是 Scott Deerwester,Susan T. Dumais 等人在1990年提出来的一种新的索引和检索方法。该方法和传统向量空间模型一样使用向量来表示词和文档,并通过向量间的关系(如夹角)来判断词及文档间的关系;不同的是,LSA 将词和文档映射到潜在语义空间,从而去除了原始向量空间中的一些“噪音”,提高了信息检索的精确度。

LSA 潜在语义分析的目的,就是要找出在文档和查询中的真正含义,也就是潜在语义
我们希望找到一个模型,能够获取单词之间的相似性。如果两个单词之间有很强的相关性,那么当一个单词出现时,往往意味着另一个单词也应该出现( 同义词 ;反之,如果查询语句或者文档中的某个单词和其他单词的相关性都不大,那么这个单词可能表达的就是另外一个意思。

LSA 的核心思想是将词和文档映射到潜在语义空间,再比较其相似性。

LSA( LSI )使用 SVD( 奇异值分解 )对单词文档矩阵进行分解。SVD 可以看作是从单词-文档矩阵中发现部相关的索引变量( 因子 ,将原来的数据映射到语义空间内。在单词-文档矩阵中不相似的两个文档,可能在语义空间内比较相似。

如图所示,在算法模型中,第一个矩阵 U 中的每一行表示意思相关的一类词,其中的每个非零元素表示这类词中每个词的重要性( 或者说相关性 ,数值越大越相关。最后一个矩阵 V 中的每一列表示同一主题的一类文章,其中每个元素表示这类文章中每篇文章的相关性。中间的矩阵 D 则表示类词和文章类之间的相关性。

因此,我们只要对关联矩阵 X 进行一次奇异值分解,我们就可以同时完成了近义词分类和文章的分类,同时得到每类文章和每类词的相关性。

  1. 使用 BOW 模型将每个文档表示为向量
  2. 将所有的文档词向量拼接构成词-文档矩阵(m*n
  3. 对词-文档矩阵进行 SVD 操作
  4. 根据 SVD 的结果,将词-文档矩阵进行奇异值分解到更低维度的近似 SVD 结果中,每个词和文档均可表示为k个主题构成的空间中的一个点,通过计算每个词和文档的相似度( 余弦相似度或KL相似度 ,然后得到每个文档中对每个词的相似度结果,取相似度最高的一个词即为文档关键词。

LSA 的优点包括

  • 低维空间表示可以刻画同义词,同义词会对应着相同或相似的主题
  • 降维可去除部分噪声,是特征会更明显
  • 充分利用冗余数据
  • 无监督/完全自动化
  • 与语言无关。

LSA 的缺点包括

  • LSA 可以处理向量空间模型无法解决的一义多词问题,但不能解决一词多义问题。因为 LSA 将每一个词映射为潜在语义空间中的一个点,也就是说一个词的多个意思在空间中对于的是同一个点,并没有被区分
  • 特征向量的方向没有对应的物理解释
  • SVD 的计算复杂度很高,而且当有新的文档来到时,若要更新模型需重新训练
  • 没有刻画 term 出现次数的概率模型。
最新文章
微信视频号链接地址怎么提取?4套方法都能用。
3. 点击链接中的保存视频按钮即可将视频保存到您的设备,或者直接提取视频号视频的链接。建议:选择在线视频下载器时,请确保选择合法可靠的网站,以避免安全风险。同时,在选择视频格式和质量时,根据您的需求考虑下载速度和存储空间。方
最新Q/W防洪跳转页面/微信小程序跳转到未备案域名
wwthyn.lanzoup.com/iJJ3f1hpcq2j使用教程: 1.上传插件网站根目录 2.打开khyy文件夹 修改index.php文件中的链接(url前面的0是跳转时间,可自行设置) echo 'html head     meta http-equiv="refre
苹果cms模板_我的主题网【第二十五套】精简宽屏大气苹果CMSv10模板DIY系列拆分版...
苹果cmsv10下载地址:https://www.mytheme.cn/maccms/243.html这款苹果cmsv10模板依然是DIY系列样式,优化重构了前期同系列的不足,添加了更流行的元素和设计风格,这是我们完全自主开发没用任何css框架且只针对影
SEO高手秘籍,网站搜索引擎脱颖而出之道
SEO优化高手通过深入理解搜索引擎算法,精准关键词研究,优化网站结构、内容和外部链接,提升网站质量和用户体验,从而让你的网站在搜索引擎中排名靠前,吸引更多流量。掌握这些技巧,让你的网站脱颖而出。探秘SEO优化基本原理精通SEO优化
seo优化面纱介绍 揭秘SEO优化面纱:提升排名的秘密策略
在当今这个信息爆炸的时代,互联网已成为企业展示自我、吸引客户、拓展市场不可或缺的重要平台而在这片浩瀚的数字海洋中,如何让您的网站脱颖而出,成为用户搜索时的首选,SEO(Search Engine Optimization,搜索引擎优化)优化无疑是一把
分析大型门户网站截取热门流量的SEO策略
一说到热门流量这个词,我想大家都会很快的想到利用热门话题或者热门事件来获取短期的高流量,在SEO里这种方式一般被称为截取流量,也就是利用SEO的方式来在短期内获得热门关键词的较好排名,从而获取短期的热门流量。比如网络上经常会出现
115网盘提取码怎么用 115网盘提取码下载的方式应用攻略
通过115提取码下载的方式有很多,首先115网盘自身就提供了专门的下载器优蛋。安装优蛋以后,点击文件页面的优蛋下载选框,就会直接弹出优蛋下载器,直接进行下载。或者在优蛋新建下载,直接输入提取码或文件页面网址,也可进行下载。步骤 1
佛山SEO排名应该怎么做?(SEO排名的10个有效方法)
佛山SEO排名应该怎么做?(SEO排名的10个有效方法)排名佛山SEO排名应该怎么做?(SEO排名的10个有效方法) 一、SEO排名应该怎么做?SEO排名的10个有效方法1、在进行SEO排名优化时,关键词研究是至关重要的第一步。通过使用关键词研究工具
PHP在线客服系统平台源码(完全开源的网页在线客服系统)
大家好,又见面了,我是你们的朋友全栈君。  在线客服系统是一个使用PHP、JavaScript和CSS开发的即时网页聊天咨询系统。该项目包含管理员和用户端。管理员端管理所有的管理,如编辑站点内容、管理提供者和预订,管理员在这个系统的管理中
相关文章
推荐文章
发表评论
0评