python金融分析小知识(19)——NLP初探之LDA话题建模
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话题建模相关推荐
- python金融分析小知识(30)——比较常见的pd.set_option的使用
Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 哈喽大家好,今天我要给大家讲讲在pandas的 ...
- python金融分析小知识(22)——时间序列之Timestamp对象的处理
Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 在我的这篇文章中我有介绍到时间序列中的Tims ...
- python金融分析小知识(12)——python爬虫工具xpath使用
Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 本篇文章紧接上一篇文章,python金融分析小 ...
- python金融分析小知识(38)——Jupyter Notebook更改文件路径
Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 大家好,好久不见我又来啦!今天要给大家分享的小 ...
- python金融分析小知识(34)——年化收益率、年化波动率以及夏普比率的计算
Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 大家好呀 好久不见!最近忙的事情太多了 没来得 ...
- python金融分析小知识(35)——最大回撤的计算
Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 今天就给大家讲讲在进行量化策略回测结果分析的时 ...
- python金融分析小知识(27)——如何通过python连接Wind(万得)数据库
Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 今天要个大家讲的是一个十分重要的知识,在我们平 ...
- python金融分析小知识(21)——如何计算股票、基金的收益净值曲线并通过python绘制
Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 今天给大家讲讲如何计算股票或者基金的净值曲线, ...
- python金融分析小知识(29)——使用pandas输出excel表格并且在不同的sheet中
Hello 大家好,我是一名新来的金融领域打工人,日常分享一些python知识,都是自己在学习生活中遇到的一些问题,分享给大家,希望对大家有一定的帮助! 今天要给大家讲的是pandas导出excel文 ...
最新文章
- 超级黑科技代码!Python打造电脑人脸屏幕解锁神器附带接头暗号
- hdu4975 行列和构造矩阵(dp判断唯一性)
- Zzz读书心得:英文论文写作不求人
- 月营收同比 10 倍增长,神策分析 1.8 推出英文版
- 使用StaticLayout实现文字转化为图片的效果(类似发送长微博)
- 科普:算法岗是什么?我适不适合算法岗?选什么方向的算法岗?
- Android传感器-开发指南
- python基础案例教程_python基础教程 10-11例子如何执行
- 十二、深入JavaScript中的Date
- Python的小宇宙,怎么样才能发挥出来?
- 什么是runtime?
- CSS_照片墙例子 相对定位
- 大数据开发笔记(十):Hbase列存储数据库总结
- 51nod 1640 天气晴朗的魔法
- 2022年2月份谷哥学术资源分下下载列表:19/20
- 线性代数 【23】 概念的深入01 - Points坐标点和Vectors向量
- linux usr/bin/和 usr/local/bin之间的关系,什么是软链接?
- 数据库事务Transaction)那点事
- 如何在iis中设置可以在网页上面直接下载安卓app并自动安装
- 速记计算机键盘,中文速记电脑编码方法及输入键盘技术