Python实现文献数据挖掘系统(附源码)
Posted Python小二
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实现文献数据挖掘系统(附源码)相关的知识,希望对你有一定的参考价值。
系统简介
设计并实现了一个基于Django+LayUI+HBase的文献数据挖掘系统,以帮助科研人员分析出相关科技前沿领域的专家、机构等的学术影响力。并挖掘领域高频词和不同协作者之间的关系图谱,如此便可达到科研决策支持的目的。
功能架构设计
本系统的功能主要分为三个模块,分别是数据统计分析结果展示平台、后台管理系统和数据存储平台,其总体功能架构如图所示。
系统实现
1、开发环境及框架配置
考虑到系统需求,采用在CentOS系统上,搭建整个开发和运行环境,其中包括Hadoop分布式平台以及HBase分布式数据库,在Win10上搭建Django框架和关系型数据库mysql等必要的开发环境。
2、主要技术实现过程
搭建Hadoop平台:使用四台云主机(CentOS7.5)搭建集群,配置好HDFS,ZooKeeper和HBase。
异步爬取数据:使用Python中的asyncio和aiohttp库实现异步爬虫,从而异步爬取AAAI人工智能会议的历年论文元数据(包括论文标题、摘要、作者、机构以及关键词等数据)存储到Excel表中,并对爬取的数据进行规则清洗和必要的人工清洗得到较为干净的数据。
数据分析:①利用Excel函数进行数据去重、统计、排序;②利用Python构建作者数据的共现矩阵,然后将其三元组数据导入至Gephi软件进行复杂网络可视化并导出SVG可伸缩矢量图片;③利用LDA主题模型对论文摘要进行主题聚类,得到top5热门话题;④最终将清洗后的完整数据以及分析结果数据存储至位于云端的HBase中。
Web系统开发:使用Django+LayUI+Bootstrap开发(对于前端样式冲突问题可通过提升优先级解决),主要功能有注册登录、忘记密码邮箱验证、个人中心信息修改、全局检索、论文下载、数据分析结果展示(使用Echarts和Gephi进行数据可视化)以及词云图(中文使用jieba分词,英文使用wordcloud分词)等。同时使用Django第三方插件xadmin进行后台管理系统的快速注册和绑定。
系统部署:最后将系统部署到云端nginx服务器中。
系统界面展示
1、系统主界面展示
2、用户注册登录页面
①. 注册页面如下:
点击注册按钮后,系统邮箱会自动给注册用户邮箱发激活链接(如下图),当用户在个人邮箱中点击激活链接后方可登录,以此来确认注册为本人操作。
②. 登录页面如下:
③. 忘记密码页面如下,使用邮箱验证修改密码:
用户在收到邮件后点击修改页面链接后,跳转到如下页面进行密码修改。点击“提交”按钮后会自动跳转到登录页面进行登录,如图为修改密码页面图。
3、用户个人中心
用户成功登录进入系统主页面后,可进入个人中心查看个人信息,同时可以完善或修改自己的个人信息,其中包括头像、密码、昵称、性别和地址等信息。
4、全局检索功能
全局检索功能主要方便用户快速查找所需信息。其中,本系统提供了“标题”、“作者”和“机构”三个方面的模糊查询服务,并对英文关键词大小写不敏感。如图为按论文标题查找,关键词为Machine LEARNING。
5、系统各项功能模块
1. 论文所属国家分布(图表基于Echarts实现)
2. AAAI会议历年中稿率
3. AAAI词云图
①. 动态词云图,使用WordArt第三方在线工具导入。
②. 静态词云图,使用Python中的wordcloud制作。
4. AAAI作者关系图谱
在对作者数据构建共现矩阵并得出其三元组存储形式后,将数据导入到Gephi,使用力引导布局绘制出如下知识图谱,并以SVG矢量可伸缩图片保存,将其导入到html中,借用开源javascript包svg_Zoom_Pan实现可无限伸缩且可平移的网页效果。
5. AAAI会议论文主题聚类(使用LDA主题模型)
其中top5主题分别是:
机器学习的理论和应用
自然语言处理
深度神经网络
知识表现与垂直搜索
博弈论与经济范式
6. AAAI会议论文概览及下载页面
点击标题链接后可进入到论文详情页面,可看到论文标题、摘要以及作者和所属机构,同时对于已登录用户可提供PDF论文下载服务。
7. AAAI会议论文作者统计
本系统对前五年的作者、前三年以及2018年的做了统计(其中细化为所有作者和第一作者两部分)
8. AAAI会议论文机构统计
本系统同时对前五年、前三年和2018年机构做了统计,细化规则同上,此处不再赘述。
6、系统管理后台
完整源码及相关文件获取
完整源码及相关文件截图
在公众号Python小二后台回复py数据挖掘获取
推荐阅读 点击标题可跳转
以上是关于Python实现文献数据挖掘系统(附源码)的主要内容,如果未能解决你的问题,请参考以下文章