# Shukongdashi
使用了知识图谱,自然语言处理和卷积神经网络等技术,基于python语言,设计了一个数控领域故障诊断专家系统。
## 项目介绍
本项目是第八届中国软件杯大赛,基于移动端在线设备故障诊断平台的参赛作品。[比赛题目链接](http://www.cnsoftbei.com/plus/view.php?aid=353)\
该项目要求从网络上爬取相关设备故障和维修解决方式,并构建知识库,当设备出现故障时,用户通过输入数控机床相关参数(品牌、型号、故障代码、某个或多个超出阈值参数、故障描述(文字或语音)等),系统可以根据知识库来进行故障诊断和排除,如果没有满意的方案,系统会再次进行网络爬取,如果答案有效,则对知识库进行补充和优化。\
我们设计系统时,主要的数据来源是《实用数控机床故障诊断及维修技术500例》这个PDF文档,我们尝试着对文档里的每一条故障描述进行拆解和分类(CNN),构建出了5中三元式推理规则,分别为:故障现象和故障现象之间存在并发症,故障前执行的操作间接导致的故障现象,某故障原因导致的故障现象,报警信息伴随的故障现象,故障部位常见的故障现象。使用Neo4j图数据库存储。当用户输入一条故障信息时,我们按照上面构建RDF的方法,对故障描述先按照标点符号分句,然后使用CNN分类,识别出此次故障中用户执行了哪些操作,出现了哪些故障现象,然后根据知识图谱进行对照,除了推理出故障原因以及解决办法之外,还会推理出与已经发现的故障相关的未发现的设备故障,通过用户进一步检查反馈,可以进一步提高诊断结果的可靠性。如果用户没有找到满意的解决方法,还可以通过在线爬取网上的解决办法来做参考,如果找到了满意的解决办法,系统会将此次维修记录补充到知识图谱中,实现知识库的自学习。
>团队名称:集结号\
>指导教师:王建民\
>团队成员:王任义、王金萱、马佳慧
感谢[TVTyuVEN](https://github.com/TVTyuVEN/)为该项目画的构建知识图谱的流程图:\
![知识图谱构建过程](https://github.com/wangrenyisme/Shukongdashi/blob/master/image/zhishitupu.jpg?raw=true)\
感谢田翠霞小姐姐画的故障诊断过程图:\
![故障诊断过程](https://github.com/wangrenyisme/Shukongdashi/blob/master/image/tuili.jpg?raw=true)
## 目录结构
├── Shukongdashi
└── demo
├── checkpoints //存放CNN的训练模型
├── data //CNN预测辅助代码和文件
├── cnews //使用CNN预测用到的词
└── cnews_loader.py //为数据的预处理文件
├── fencidian.txt //分词词典
├── question_answer.py //第一版故障诊断代码(已弃用)
├── question_baocun.py //处理用户反馈的代码
├── question_buquan.py //自动补全代码
├── question_pa.py //在线分析性代码,爬取解决方法
├── question_wenda.py //问答功能
├── question_zhenduan.py //故障诊断代码
├── stopwords.txt //停用词词典
└── zhuyu.txt //故障部位词典
├── Model
└── neo_models.py //执行neo4j数据库操作
├── test_my
├── data_wordToMysql //将word中的数据转换成csv文件,存储到MySQL中
├── test_cnnrnn //CNN卷积神经网络预测
├── checkpoints //存储训练模型
├── data //数据的预处理文件
├── neo4j //导入Neo4j的数据
├── baojing.csv //故障代码
├── caozuo.csv //执行的操作
├── caozuoxianxaing.csv //由于执行某操作引起了某现象
├── xianxaingbaojing.csv //某现象对应的报警信息
├── xianxaingbuwei.csv //某现象对应的故障部位
├── xianxiang.csv //故障现象
├── xianxiangxianxiang.csv //故障现象和故障现象之间的关联关系
├── xianxiangyuanyin.csv //故障现象的间接故障原因
├── yuanyin2.csv //故障原因
└── zhuyu.csv //故障部位
├── cnn_model.py //CNN配置
├── guzhangfenxi.py //构建Neo4j数据库用的数据
└── predict.py //CNN预测识别故障描述类型
└── xianxiangfenxi //故障部位词典
├── baojing.csv //对故障现象进行拆分,抽取出故障部位,故障现象,故障发生的背景,手动标记后进一步标注含义
├── biaozhu_minming.txt //标注好的数据,用于训练CNN模型
└── guzhangxianxiang.csv //用于分析的故障现象文件
├── toolkit
└── pre_load.py //预加载训练模型和Neo4j数据库,还可以对读取词典进行预加载,进行性能优化
├── settings.py //配置访问端口等
├── urls.py //配置URL与python函数的映射
├── view.py //默认页面
└── wsgi.py
├── db.sqlite3
└── manage.py //Django框架项目启动入口
(PS:目录树在Windows系统中通过tree命令可以生成,不要学我手动打出来才知道。)\
关于CNN训练模型的模块请参考[@gaussic](https://github.com/crownpku)的[text-classification-cnn-rnn](https://github.com/gaussic/text-classification-cnn-rnn)项目。通过训练模型,可以实现预测文本内容的分类。\
在我们的项目中,我们将数控机床维修案例的文本数据切分之后,手动标注了两千多条数据,用来做训练,标注的文本见**Shukongdashi/test_my/xianxiangfenxi/biaozhu_minming.txt**
## 项目配置
### 0.安装基本环境:
确保安装好python3和Neo4j(任意版本)\
安装一系列pip依赖:
### 1.导入数据:
开启neo4j,进入neo4j控制台。将Shukongdashi/test_my/test_cnnrnn/neo4/下的文件放入neo4j安装目录下的/import目录。在控制台依次输入:
//导入节点
LOAD CSV WITH HEADERS FROM "file:///baojing.csv" AS line MERGE (:Errorid { title: line.title });
CREATE CONSTRAINT ON (c:Errorid) ASSERT c.title IS UNIQUE;
LOAD CSV WITH HEADERS FROM "file:///caozuo.csv" AS line MERGE (:Caozuo { title: line.title });
CREATE CONSTRAINT ON (c:Caozuo) ASSERT c.title IS UNIQUE;
LOAD CSV WITH HEADERS FROM "file:///xianxiang.csv" AS line MERGE (:Xianxiang { title: line.title });
CREATE CONSTRAINT ON (c:Xianxiang) ASSERT c.title IS UNIQUE;
LOAD CSV WITH HEADERS FROM "file:///zhuyu.csv" AS line MERGE (:GuzhangBuwei { title: line.title });
CREATE CONSTRAINT ON (c:GuzhangBuwei) ASSERT c.title IS UNIQUE;
LOAD CSV WITH HEADERS FROM "file:///yuanyin2.csv" AS line MERGE (:Yuanyin { title: line.title });
CREATE CONSTRAINT ON (c:Yuanyin) ASSERT c.title IS UNIQUE;
//导入关系
LOAD CSV WITH HEADERS FROM "file:///caozuoxianxaing.csv" AS line MATCH (entity1 {title:line.title1}),(entity2 {title:line.title2}) CREATE (entity1)-[:CX { type: line.relation }]->(entity2)
LOAD CSV WITH HEADERS FROM "file:///xianxiangyuanyin.csv" AS line MATCH (entity1 {title:line.title1}),(entity2 {title:line.title2}) CREATE (entity1)-[:XY { type: line.relation }]->(entity2)
LOAD CSV WITH HEADERS FROM "file:///xianxiangxianxiang.csv" AS line MATCH (entity1 {title:line.title1}),(entity2 {title:line.title2}) CREATE (entity1)-[:X
没有合适的资源?快使用搜索试试~ 我知道了~
使用知识图谱,自然语言处理,卷积神经网络等技术,基于python语言,设计了一个数控领域故障诊断专家系统.zip
共336个文件
png:120个
py:52个
html:33个
需积分: 0 4 下载量 54 浏览量
2024-01-10
13:17:46
上传
评论
收藏 37.73MB ZIP 举报
温馨提示
Python使用技巧,实战应用开发小系统参考资料,源码参考。经测试可运行。 详细介绍了一些Python框架的各种功能和模块,以及如何使用Python进行GUI开发、网络编程和跨平台应用开发等。 适用于初学者和有经验的开发者,能够帮助你快速上手JPython并掌握其高级特性。
资源推荐
资源详情
资源评论
收起资源包目录
使用知识图谱,自然语言处理,卷积神经网络等技术,基于python语言,设计了一个数控领域故障诊断专家系统.zip (336个子文件)
checkpoint 87B
checkpoint 87B
checkpoint 87B
aui.css 61KB
aui-slide.css 2KB
api.css 2KB
style.css 702B
guzhanganli.csv 509KB
xianxiangxianxiang.csv 127KB
caozuoxianxaing.csv 100KB
xianxiangyuanyin.csv 72KB
guzhangxianxiang.csv 69KB
guzhangxianxiang.csv 69KB
xianxaingbuwei.csv 51KB
xianxiang.csv 25KB
xianxaingbaojing.csv 17KB
yuanyin2.csv 17KB
caozuo.csv 11KB
baojing.csv 1KB
zhuyu.csv 961B
best_validation.data-00000-of-00001 1.87MB
best_validation.data-00000-of-00001 1.87MB
best_validation.data-00000-of-00001 1.87MB
loading_more0.gif 6KB
loading_more.gif 6KB
GSKAns1.html 39KB
MitsAns1.html 39KB
RexAns.html 29KB
graphShow.html 27KB
search_result.html 25KB
search_result.html 25KB
Mitserror1.html 19KB
reason_result.html 19KB
Rexerror.html 16KB
searchInput.html 14KB
GSKerror.html 14KB
graphShow.html 12KB
spiderOnline_result.html 12KB
graphShow0.html 12KB
HuaAns.html 12KB
frame1.html 11KB
NewsDetail.html 11KB
MitsErrorType.html 9KB
frame0.html 8KB
RexErrorType.html 8KB
baoyang.html 7KB
frame2.html 7KB
answerOnline_detail.html 7KB
searchKnowledge_header.html 7KB
judge.html 7KB
GSKErrorType.html 6KB
HuaErrorType.html 6KB
Huaerror.html 5KB
index.html 5KB
answer_detail.html 5KB
answerReason_detail.html 5KB
main.html 2KB
start.html 1KB
best_validation.index 834B
best_validation.index 834B
best_validation.index 834B
1.jpeg 4KB
2.jpeg 4KB
3.jpeg 3KB
6.jpg 908KB
2.jpg 139KB
tuili.jpg 120KB
b2.jpg 96KB
4.jpg 89KB
news5.jpg 86KB
news2.jpg 86KB
zhishitupu.jpg 78KB
news4.jpg 70KB
baoyang2.jpg 67KB
baoyang.jpg 67KB
news3.jpg 62KB
baoyang3.jpg 61KB
1.jpg 60KB
baoyang1.jpg 56KB
5.jpg 54KB
b1.jpg 43KB
news1.jpg 39KB
b3.jpg 38KB
3.jpg 36KB
33.jpg 29KB
f5.jpg 14KB
xiu.jpg 14KB
f1.jpg 13KB
f3.jpg 12KB
f2.jpg 10KB
gril.jpg 8KB
echarts.min.js 635KB
d3.v3.min.js 148KB
jquery-3.0.0.min.js 84KB
api.js 17KB
contrasqw.js 15KB
swipe.js 15KB
aui-slide.js 12KB
mainjs.js 6KB
aui-toast.js 3KB
共 336 条
- 1
- 2
- 3
- 4
资源评论
白话Learning
- 粉丝: 3392
- 资源: 2464
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功