关于lstm的文本分类可以参考:https://blog.csdn.net/lilong117194/article/details/82217271

下面是基于东方财富中宏观研究的研报分类系统介绍:

东方财富宏观研究网址:http://data.eastmoney.com/report/hgyj.html

一、该系统是由以下几步组成:

(1)爬虫
(2)文本处理
(3)word2vec词向量训练
(4)Lstm模型训练
(5)基于模型的新文本预测

二、运行该系统需要安装的包

(1)爬虫中需要安装:selenium和PhantomJS,本人的安装环境是mac下的anaconda,安装过程可以参考:https://blog.csdn.net/lilong117194/article/details/83277075
(2)word2vec的训练过程,需要安装的包有jieba,这个包的安装很简单。
(3)lstm的训练过程,需要安装tensorflow和keras,mac下的安装也很简单

三、各个.py文件的说明

(1)reptile.py:爬虫文件
下面是各个函数的说明

  • get_page_url(self,url,num):模拟鼠标点击网页,获取指定页的网址。
    参数url:网页地址,num:指定的网页数,也即是第几页,如下所示
  • download_report(self,text_link,re_sum_info):下载指定网页的研报文本。
  • get_report_page(self,page_start,page_end):以起始和终止页面数为爬取标准
  • get_report_date(self,start_date,end_date):以起始和终止时期为爬取标准

(2)del_Ds_store.py:辅助文件,该文件的作用是删除mac系统下自动生成的.Ds_store文件,不去除的话会影响文本处理(windows下不会生成该文件)。
(3)filename_mod.py:辅助文件,该文件的作用是给新增的人工打标签重新命名,然后加入打过标签的文本库。
(4)interface.py:接口文件,即其他文件会调用该文件的函数

  • __init__(self):大部分的参数调整都在这里
  • tokenizer(self,text):对文本分词并去掉空格
  • load_w2v_file(self,w2v_file_path):加载训练文件
  • text_proce(self,text_raw):# 对文本进行处理
  • file_test_vec(self,w2indx,file_reshape):测试文本的向量化

(5)word2vec.py:词向量训练文件

  • word2vec_train(self,combined):词向量训练
  • create_dictionaries(self,model=None,combined=None):创建词语字典,并返回每个词语的索引,词向量,以及每个句子所对应的词语索引
  • test(self):该文件仅做测试用
    (6)lstm.py:lstm模型的训练
  • splice_data(self,path):该函数初步处理训练数据
  • load_train_file(self):拼接训练文件和文件的标签
  • parse_dataset(self,combined):得到每篇文本在词典中的索引列表
  • train_data_struc(self,combined):lstm模型训练数据的结构化
  • get_train_data(self,word_index,word_vectors,struc_w2index,y):
    index_dict:所有的词索引列表(词:索引), word_vectors:所有词的词向量, combined:所有文本的索引值。该函数得到的结果才是用于lstm网络结构的结构化数据
  • train_lstm:网络训练函数,网络的参数也是在这里调试。

(7)main_test.py:这里是总的调用,爬虫、词向量训练、lstm模型训练、新文本预测都是在这个文件里。

(8)terminal.py:该文件主要是预测新文本分类,也是最简单的接口调用。

四、各个文件夹的说明

spider_report:该文件夹下是爬取的6000个研报文本,主要用于词向量的训练。
word2vec_model:是word2vec训练保存的数据和模型
train_data:用于进行lstm训练的打过标签的文本
lstm_model:是lstm训练保存的数据和模型
test_report:爬取的用于预测的文本
测试代码:辅助处理文本的一些代码。

由于这里的训练文本,是需要人工打标签的,所以只给出了少部分用作训练,准确率会有一定的限制。

github地址:https://github.com/TATlong/Research-report-Classification-system

基于LSTM的研报分类系统相关推荐

  1. 基于单片机的公交车报站系统

     word完整版可点击如下下载>>>>>>>> 基于单片机的公交车报站系统设计-硬件开发文档类资源-CSDN下载内容包括详细设计文档word版,附带开题 ...

  2. 基于MATLAB的柑橘等级分类系统

    基于MATLAB的柑橘等级分类系统 一.课题介绍 柑橘的识别方法目前主要还是采用劳动强度大.工作效率低.随意性大.客观性不强.不 符合当前标准化要求的人工检测方法a文中运用计算机视觉和模式识别技术,研 ...

  3. 苏宁11.11:一种基于神经网络的智能商品税分类系统

    1.项目背景 1.1业务问题描述 目前企业财务人员开取商品增值税发票时,票面上的商品需要与税务总局核定的税分类编码进行关联,按分类编码上注明的税率和征收率开具发票,使得税务机关可以统计.筛选.比对数据 ...

  4. 基于LSTM的中文多分类情感分析

    趁着国庆假期,玩了一下深度学习(主要是LSTM这个网络),顺便做了一个中文多分类的情感分析.中文情感分析相对英文来说,难度太大,所以最后分析的结果,准确度也不是太高,但基本还是没啥问题的. 对应的ap ...

  5. 基于LSTM模型实现新闻分类

    1.简述LSTM模型 LSTM是长短期记忆神经网络,根据论文检索数据大部分应用于分类.机器翻译.情感识别等场景,在文本中,主要使用tensorflow及keras,搭建LSTM模型实现新闻分类案例.( ...

  6. 基于LSTM搭建文本情感分类的深度学习模型:准确率95%

    向AI转型的程序员都关注了这个号

  7. java lstm pb_在Tensorflow Serving上部署基于LSTM的文本分类模型

    一些重要的概念 Servables Servables 是客户端请求执行计算的基础对象,大小和粒度是灵活的. Servables 不会管理自己的运行周期. 典型的Servables包括: a Tens ...

  8. 基于GPS的嵌入式公交自动报站系统的研究

    基于GPS的嵌入式公交自动报站系统的研究 时间:2009-08-15 01:54:48  来源:   前,国内各大城市的无人售票公交车大都采用半自动报站系统,即通过人工干预语音信箱进行语音报站,和传统 ...

  9. 【树叶分类】基于BP神经网络植物叶片分类Matlab代码

    1 简介 本文以树叶为实验对象,针对传统分类问题耗时长,效率低的不足,提出了一个基于BP神经网络植物智能分类系统.这个计算机辅助分类系统不仅能够帮助提高植物分类的准确率同时也能缩减工作人员的工作量. ...

最新文章

  1. MongoDB:详细解释mongodb的高级操作,聚合和游标
  2. php简单分词,php版简易中文分词实现 – mysql版本
  3. 深入理解 ngrx effect 背后的工作机制
  4. OJ4121 and OJ2968-股票买卖 and Maximun sum【各种dp之6 and 9】
  5. MapReduce之Job工具类开发
  6. python 如何加密自己的脚本
  7. 火狐html5播放器,可能用户已经发现你在火狐内建HTML5音视频播放器
  8. EL表达式和JSTL标签库学习总结
  9. 微信公众号基本配置时token获取失败原因及解决方法
  10. 普度大学计算机科学博士,Top15普渡大学计算机博士全奖录取
  11. 关于DOM的知识点总结
  12. 21届校招中获得12家公司offer的一些经验(包括6家银行信息科技岗offer)
  13. Spyder窗口布局调整
  14. Windows10 安装程序无法继续,因为你的计算机上安装了更新的Internet Explore版本
  15. STL——标准模板库
  16. 一个B端硬件产品经理的成长史
  17. 【谈谈NetSuite中的“预付及核销”】
  18. apache安装错误error: APR notfound解决办法
  19. c语言 日志滚动 大小,Logrotate 日志滚动 解决日志占用空间过大
  20. mybatis第三话 - mybatis的高端用法你会吗?

热门文章

  1. VTK:Filtering之SurfaceFromUnorganizedPointsWithPostProc
  2. VTK:Filtering之AppendFilter
  3. OpenCV相位校正phase corr的实例(附完整代码)
  4. OpenGL perpixelgloss逐像素光泽度的实例
  5. QT的QSound类的使用
  6. valid parentheses java_Valid Parentheses Java
  7. DataNode启动后自动停止的问题( Incompatible clusterIDs in /xxx/xxx;namenode clusterID = xxxx;datanode clusterI)
  8. 01_NumPy介绍,什么是NumPy,Python应用、(NumPy、SciPy、Matplotlib相关网址)--来自菜鸟和NumPy中文网
  9. Dubbo之——将Dubbo服务打包成Jar包
  10. solr快速入门的地址,spring-data/solr