Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助!

让机器帮助我们在海量的文本中快速找到关键信息,这种技术称为——话题建模(topic modeling)。话题建模的方法有许多种,潜在语义索引(LSI),概率潜在语义分析(pLSA),潜狄利克雷分布(LDA)等等方法。

在我们进行话题建模之前先准备好一段文字,这部分内容在我前面几篇NLP初探的文章中有讲到:

'今年前五个月我国制造业新增贷款同比增长10.1%银保监会最新统计,今年以来我国贷款投向结构进一步优化,今年前5个月,新增贷款的一半投向了基础设施建设、制造业、批发零售业和服务业等领域。其中制造业新增贷款1.4万亿元,同比增长10.1%,制造业中长期贷款和信用贷款增长明显加快。对湖北等地免费线上技能培训延长至8月底人力资源社会保障部日前表示,“国家人事人才培训网”等6家线上培训平台面向湖北、“三区三州”深度贫困地区等地的免费线上技能培训课程和直播活动将延长至8月底。线下人力资源社会保障部还将组织“技能大师扶贫组”深入贫困地区对口帮扶。安徽261个重点项目集中开工总投资超1200亿元今天(6月20日),安徽省261个重大项目集中开工,总投资超过1200亿元。新开工项目覆盖安徽16个市,涉及智能家电、新能源电池、餐厨油烟监测等战略性新兴产业以及传统产业升级改造。湖南省2020年抗洪抢险应急演练举行今天,国家综合性消防救援队伍、驻湘部队、医疗救援社会救援力量等共计1800多人,在湖南长沙进行了2020年抗洪抢险应急演练。演练过程中,直升机、冲锋舟、无人机等特种救援装备齐上阵,实战化检验抗洪抢险应急能力。精彩日环食天象明日在全球多地上演天文预报显示,6月21日,精彩的日环食天象将在全球多地上演。在我国,西藏、四川、重庆、贵州、湖南、江西、福建、台湾等地的部分地区将自西向东先后出现日环食景观,全国其他地区的人们可以看到日偏食。'

在经过结巴分词以及停用词的筛选后,变成如下:

import jieba
message = "今年前五个月我国制造业新增贷款同比增长10.1%银保监会最新统计,今年以来我国贷款投向结构进一步优化,今年前5个月,新增贷款的一半投向了基础设施建设、制造业、批发零售业和服务业等领域。其中制造业新增贷款1.4万亿元,同比增长10.1%,制造业中长期贷款和信用贷款增长明显加快。对湖北等地免费线上技能培训延长至8月底人力资源社会保障部日前表示,“国家人事人才培训网”等6家线上培训平台面向湖北、“三区三州”深度贫困地区等地的免费线上技能培训课程和直播活动将延长至8月底。线下人力资源社会保障部还将组织“技能大师扶贫组”深入贫困地区对口帮扶。安徽261个重点项目集中开工总投资超1200亿元今天(6月20日),安徽省261个重大项目集中开工,总投资超过1200亿元。新开工项目覆盖安徽16个市,涉及智能家电、新能源电池、餐厨油烟监测等战略性新兴产业以及传统产业升级改造。湖南省2020年抗洪抢险应急演练举行今天,国家综合性消防救援队伍、驻湘部队、医疗救援社会救援力量等共计1800多人,在湖南长沙进行了2020年抗洪抢险应急演练。演练过程中,直升机、冲锋舟、无人机等特种救援装备齐上阵,实战化检验抗洪抢险应急能力。精彩日环食天象明日在全球多地上演天文预报显示,6月21日,精彩的日环食天象将在全球多地上演。在我国,西藏、四川、重庆、贵州、湖南、江西、福建、台湾等地的部分地区将自西向东先后出现日环食景观,全国其他地区的人们可以看到日偏食。"
word = ' '.join(jieba.cut(message))
words = ''
stopwords = [line.strip() for line in open('stopwords.txt',encoding='UTF-8').readlines()]
for w in word:if w not in stopwords:words = words + w
words
'年 前  月 国 制造业 新增 贷款  增长  银 保监 新 统计  年 国 贷款 投 结构 进步 优化  年 前   月  新增 贷款   投  基础设施 建设  制造业  批发 售业  服务业  领域  中 制造业 新增 贷款  万亿元   增长   制造业 中 长期贷款  信贷款 增长 明显 加   湖北   免费 线 技 培训 延长   月底 力资源 社保障部 日前 表示   国家 事  培训网    家线  培训 平台 面 湖北   区 州  深度 贫困区    免费 线 技 培训 课程  直播 动  延长   月底  线 力资源 社保障部   组织  技 师 扶贫 组  深入 贫困区 口 帮扶  安徽   重点项目 集中 开工 总 投资 超  亿元 天   月  日   安徽省   重项目 集中 开工  总 投资 超  亿元  新开工 项目 覆盖 安徽  市  涉 智 家电  新源 电池  餐厨 油烟 监测  战性 新兴产业  统产业 升级 改造  湖南省  年 抗洪抢险 应急 演练 举行 天  国家 综合性 消防 救援 队伍  驻湘 部队  医疗 救援 社 救援 力量  计     湖南 长沙 进行   年 抗洪抢险 应急 演练  演练 程 中  直升机  锋舟  机  特 救援 装备  阵  实战 化 检验 抗洪抢险 应急 力  精彩 日环食 天象 明日  全球  演 天文 预报 显示   月  日  精彩  日环食 天象   全球  演   国  西藏  川  重庆  贵州  湖南  江西  福建  台湾    部分 区   西东 先 现 日环食 景观  全国  区     日偏食 '

下面我们来进行话题建模:

1.需要先进行文本向量化

from sklearn.decomposition import LatentDirichletAllocation
from sklearn.feature_extraction.text import TfidfVectorizer
## 文本向量化
with open('message.txt','w') as f:f.write(words) #将上一步的分好词的文本保存为一个TXT文档
f = open('message.txt','r')
tf = TfidfVectorizer(ngram_range=(1,1))
x_train = tf.fit_transform(f)
x_train.toarray()

2.使用LDA模型进行话题建模 

接下来我们通过LDA模型来让机器从文档中提取出指定数量的话题,并且告诉我们每个话题包含的高频词有哪些:

## 定义一个打印话题建模的函数
def print_topics(model, feature_names, n_top_words):for topic_idx, topic in enumerate(model.components_):message = 'topic #%d' % topic_idxmessage = message + ' '.join([feature_names[i] for i in topic.argsort()[:-n_top_words-1:-1]])print(message)
lda = LatentDirichletAllocation(n_components=10)
lda.fit(x_train)
n_top_words = 10
## 调用打印函数
print_topics(lda,tf.get_feature_names(),n_top_words)

最后我们来看看结果,一共打印了10个话题,每个话题有10个高频词:

topic #0制造业 救援 贷款 新增 开工 国家 增长 演练 应急 湖南
topic #1售业 覆盖 检验 福建 统产业 监测 演练 医疗 培训网 集中
topic #2明日 天象 湖南省 景观 西藏 月底 重点项目 驻湘 精彩 优化
topic #3贫困区 消防 实战 日前 台湾 力资源 新兴产业 直升机 福建 保监
topic #4日前 装备 锋舟 直升机 天文 投资 服务业 万亿元 培训网 进步
topic #5贵州 领域 预报 电池 批发 救援 队伍 直升机 力资源 深度
topic #6表示 日环食 领域 国家 救援 抗洪抢险 消防 湖北 驻湘 结构
topic #7重点项目 部分 结构 监测 平台 扶贫 湖北 全球 基础设施 显示
topic #8重点项目 景观 增长 平台 进行 进步 统计 表示 医疗 扶贫
topic #9天象 预报 深入 月底 战性 安徽 保监 直播 明日 信贷款

好啦,今天的文章就分享到这里啦!

python金融分析小知识(19)——NLP初探之LDA话题建模相关推荐

  1. python金融分析小知识(30)——比较常见的pd.set_option的使用

    Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 哈喽大家好,今天我要给大家讲讲在pandas的 ...

  2. python金融分析小知识(22)——时间序列之Timestamp对象的处理

    Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 在我的这篇文章中我有介绍到时间序列中的Tims ...

  3. python金融分析小知识(12)——python爬虫工具xpath使用

    Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 本篇文章紧接上一篇文章,python金融分析小 ...

  4. python金融分析小知识(38)——Jupyter Notebook更改文件路径

    Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 大家好,好久不见我又来啦!今天要给大家分享的小 ...

  5. python金融分析小知识(34)——年化收益率、年化波动率以及夏普比率的计算

    Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 大家好呀 好久不见!最近忙的事情太多了 没来得 ...

  6. python金融分析小知识(35)——最大回撤的计算

    Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 今天就给大家讲讲在进行量化策略回测结果分析的时 ...

  7. python金融分析小知识(27)——如何通过python连接Wind(万得)数据库

    Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 今天要个大家讲的是一个十分重要的知识,在我们平 ...

  8. python金融分析小知识(21)——如何计算股票、基金的收益净值曲线并通过python绘制

    Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 今天给大家讲讲如何计算股票或者基金的净值曲线, ...

  9. python金融分析小知识(29)——使用pandas输出excel表格并且在不同的sheet中

    Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 今天要给大家讲的是pandas导出excel文 ...

最新文章

  1. 超级黑科技代码!Python打造电脑人脸屏幕解锁神器附带接头暗号
  2. hdu4975 行列和构造矩阵(dp判断唯一性)
  3. Zzz读书心得:英文论文写作不求人
  4. 月营收同比 10 倍增长,神策分析 1.8 推出英文版
  5. 使用StaticLayout实现文字转化为图片的效果(类似发送长微博)
  6. 科普:算法岗是什么?我适不适合算法岗?选什么方向的算法岗?
  7. Android传感器-开发指南
  8. python基础案例教程_python基础教程 10-11例子如何执行
  9. 十二、深入JavaScript中的Date
  10. Python的小宇宙,怎么样才能发挥出来?
  11. 什么是runtime?
  12. CSS_照片墙例子 相对定位
  13. 大数据开发笔记(十):Hbase列存储数据库总结
  14. 51nod 1640 天气晴朗的魔法
  15. 2022年2月份谷哥学术资源分下下载列表:19/20
  16. 线性代数 【23】 概念的深入01 - Points坐标点和Vectors向量
  17. linux usr/bin/和 usr/local/bin之间的关系,什么是软链接?
  18. 数据库事务Transaction)那点事
  19. 如何在iis中设置可以在网页上面直接下载安卓app并自动安装
  20. 速记计算机键盘,中文速记电脑编码方法及输入键盘技术

热门文章

  1. 51地图 点击时取经纬度
  2. 外媒称阿里副主席蔡崇信正洽谈收购篮网主场球馆 此前已收购球队49%股份
  3. protues VSM 图形仿真帮助
  4. 面向对象进阶和模块初识
  5. r5处理器_入门级游戏党核显平台!R5-3400G核显游戏组装配置清单
  6. 华为麦芒5刷机_TWRP_Magisk(Root)_Xposed流程
  7. OJ 1180 找树根和孩子
  8. 统计一下项目中的代码有多少行是你贡献的
  9. 前端基础--JavaScript
  10. 前端学习 day4 : 盒子模型,浮动,定位