ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

文本挖掘-实战记录(二)基于NMF和LDA模型的文本关键词提取和文档聚类

2022-01-16 12:32:51  阅读:313  来源: 互联网

标签:LDA 主题 模型 关键词 NMF 文档 文本


目录

一、任务描述

1.项目背景

2.项目内容

3.项目意义

二、数据来源

三、模型实现

1.TFIDF实现关键词提取

​2.TextRank 实现关键词提取

 3.NMF实现关键词提取

4.NMF文档聚类实现

5.LDA实现关键词提取

6.LDA文档聚类实现

 四、结果分析及可视化展示

1.时间对比

2.结果对比

 3.聚类结果可视化展示 

a)LDA

b)NMF

五、总结

1.基于统计的方法

2.基于主题的方法

a)NMF

b)LDA

c)基于网络图的方法


一、任务描述

1.项目背景

        自媒体时代,大数据、云计算让信息正在以一个爆炸式的增长进入人们的视线。用户在信息检索时多用文本标题进行检索,由于信息过载、垃圾信息过多导致无法快速找到精准信息等问题。面对繁杂的信息,可利用关键词提取技术快速且精准地提炼文本信息。

2.项目内容

        此次项目一是基于多种模型下提取文本关键词,在关键词提取这一技术领域中,主流为两大类方法,1.有监督方法及语料库技术,2.半监督方法和无监督方法,不需要训练语料,不需要人工参与,利用抽取系统完成关键词抽取。本次项目重点研究第二种方法,半监督与无监督方法研究。采用基于统计的tfidf方法、基于主题的nmf模型方法、LDA模型方法、基于网络图的textRank方法

        二是基于主题模型的文档聚类,选取nmf模型方法、LDA模型方法。

3.项目意义

        对于关键词,本质是对语段关键、主要、核心信息的集中,被提取的关键词必须具备3个条件:可读性、相关性及涵盖性。而提取关键词的本质是压缩的压缩,精炼的精炼,关键的关键,淘汰掉次要的,支撑的解说,本质上是对语段的精炼压缩概括以达到较好的表明语段的主题,随着机器学习的深入研究,落点于关键词提取,就有监督、半监督、无监督算法作用于文本关键词提取

二、数据来源

        数据来源于中国知网铁路期刊模块。通过技术分区爬取到中国知网铁路期刊模块的标题、摘要、关键词,分别为车辆工程、电气化铁路、机车工程、特种铁路、铁路通信信号、铁路线路工程、铁路运输管理工程、铁路运输经济八个xlsx文件,对文件进行处理后,每份文件取前200行合并为1600条目集的data文件作为数据传入运行程序。

三、模型实现

1.TFIDF实现关键词提取

使用sklearn中的tfidf模型,导包

 进行文本预处理,采用结巴分词

 文本预处理完成结果

 文本预处理完成后进行tfidf模型构建,由于一篇文档的摘要过短,尝试调参后效果不佳,因此选取默认参数

 结果



2.TextRank 实现关键词提取

文本预处理与tfidf一致,调用jieba包实现

结果展示

 

 3.NMF实现关键词提取

步骤:

  1. 导入数据:首先将数据通过pandas读取成数据框;
  2. 分词处理:载入停用词列表和用户词典,利用jieba的精确模式对每一篇摘要进行分词处理;
  3. 通过训练tfidf,得到tf-idf矩阵,作为NMF模型的输入;
  4. 利用sklearn包里的NMF模型,设定输出6个主题,每个主题输出一个代表该主题的主题词,最终的到6个关键词来表示该摘要。

代码:

4.NMF文档聚类实现

进行NMF模型学习

将得到的文档主题矩阵传入KMeans聚类模型中

利用T-SNE降维后进行可视化 

5.LDA实现关键词提取

步骤:

  1. 导入数据:首先将数据通过pandas读取成数据框;
  2. 分词处理:载入停用词列表和用户词典,利用jieba的精确模式对每一篇摘要进行分词处理;
  3. 通过训练tfidf,得到tf-idf矩阵,作为LDA模型的输入;
  4. 利用sklearn包里的LDA模型,设定求解算法为online,输出6个主题,每个主题输出一个代表该主题的主题词,最终的到6个关键词来表示该摘要。

代码:

 

6.LDA文档聚类实现

进行LDA模型学习(聚类时需要将online参数更改,原因是因为online参数是作用于文本关键词提取相较于默认参数效果更好,但在聚类时,oneline参数效果不好,所以更改为默认参数。

 将得到的文档主题矩阵传入KMeans聚类模型中

 利用T-SNE降维后进行可视化

 

 四、结果分析及可视化展示

1.时间对比

可以看到tfidf耗时最短,而LDA耗时最长。

2.结果对比

 3.聚类结果可视化展示 

a)LDA

LDA聚类结果,类与类之间相距较分散,且相同的一类有的并不是在一块集中如图上嫩绿色的类别,呈现三个区域分布。 

b)NMF

 NMF聚类结果较集中,较明显。类与类之间较集中分布,且相同的一类都集中在同一区域。

五、总结

1.基于统计的方法

主流的简单统计方法是TFIDF及其改进方法。TFIDF是衡量一个词对一篇文档的区分程度。利用文档中词语的统计信息抽取文档的关键词。

优点:简单,易于实现,不需要训练数据,也不需要构建外部知识库,泛化性强。考虑词的位置、词性和关联信息特征。比如在文本中名词作为一种定义现实实体的词,带有更多的关键信息。再比如在某些场景中文本的起始段落和结尾段落比其他部分更重要。

缺陷:单纯以词频衡量一个词的重要性不够全面,有时重要的词可能出现的次数不多。而且这种算法无法体现词的位置、词性和关联信息等特征,更无法反映词汇的语义信息。IDF本质上是一种试图抑制噪音的加权。单纯的认为文档频率小的词越重要,文档频率大的单词就越无用。这样导致的问题是一些不能代表文本的低频次IDF值很高;有些能够很好代表文本的高频词IDF值却很高。主要原因是TFIDF没有考虑特征项在文档集合类间和类内的分布情况。没有考虑语义。(关键词提取技术_abc50319的专栏-CSDN博客_关键词抽取技术

2.基于主题的方法

a)NMF

将文档-词维度提升到文档-主题-词的维度主要思想是:文档是若干主题的分布;每个主题又是词语的概率分布。主题表示为一个方面,一个概念,表现为相关词的集合。主题模型是语义挖掘的核心。NMF的基本思想可以简单描述为:对于任意给定的一个非负矩阵V,NMF算法能够寻找到一个非负矩阵W和一个非负矩阵H,使得满足 ,从而将一个非负的矩阵分解为左右两个非负矩阵的乘积。如下图所示,其中要求分解后的矩阵H和W都必须是非负矩阵。其与LDA的区别在于将文档-词语矩阵分解成两个矩阵。

(关键词提取技术_abc50319的专栏-CSDN博客_关键词抽取技术)

b)LDA

将文档-词维度提升到文档-主题-词的维度主要思想是:文档是若干主题的分布;每个主题又是词语的概率分布。主题表示为一个方面,一个概念,表现为相关词的集合。主题模型是语义挖掘的核心。LSA/LSI/LDA算法最主要的主题模型是LDA(隐含狄利克雷分布),已知词和文档的对应关系,我们的目的是找出 主题的词分布,文档的主题分布。

主题模型的优点是:

(1) 可以获得文本语义相似性的关系。根据主题模型可以得到主题的概率分布,可以通过概率分布计算文本之间的相似度。

(2) 可以解决多义词的问题。

(3) 可以去除文档中噪音的影响。

(4) 无监督、完全自动化。无需人工标注,可以直接通过模型得到概率分布。

(5) 语言无关。

关键词提取技术_abc50319的专栏-CSDN博客_关键词抽取技术

c)基于网络图的方法

主流的基于网络图的算法的是TextRank算法,基于网络图的算法和上述算法不同的一点是,统计分析和基于主题的方法都需要基于一个现成的语料库,且基于主题的模型需要通过大规模文档的学习,来发现文档的隐含主题。TextRank算法可以脱离语料库的背景,仅对单篇文档进行分析就可以提取文档的关键词。TextRank算法的基本思想来源于Google的PageRank算法。

关键词提取技术_abc50319的专栏-CSDN博客_关键词抽取技术

标签:LDA,主题,模型,关键词,NMF,文档,文本
来源: https://blog.csdn.net/weixin_46490924/article/details/122521383

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有