栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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_idx
        message = 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天象 预报 深入 月底 战性 安徽 保监 直播 明日 信贷款

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/918610.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号