It is indeed a luxury to keep human reason forever. by Moss, a robot of the film The Wandering Earth
“让人类永远保持理智,确实是一种奢求” ,机器人莫斯,《流浪地球》
<p align="center">
<img src=./pictures/show_talk.gif alt="Sample" width="700">
<p align="center">
<em> </em>
</p>
</p>
+ [0.项目概况](#项目概况)
+ [1.基础数据爬取](#基础数据爬取)
+ [2.知识图谱搭建](#知识图谱搭建)
+ [3.自动问答实现](#自动问答实现)
+ [数据准备](#数据准备)
+ [词向量训练](#词向量训练)
+ [医疗命名实体识别](#医疗命名实体识别)
+ [嵌入层](#嵌入层)
+ [BiLSTM层](#句子输入到BiLSTM层)
+ [CRF层](#CRF层)
+ [损失函数及反向传播](#损失函数及反向传播)
+ [网络结构与超参数](#循环网络结构与超参数)
+ [用户意图识别](#用户意图识别)
+ [数据嵌入人工特征](#数据嵌入人工特征)
+ [模型选择](#模型选择)
+ [嵌入层](#嵌入层)
+ [卷积层](#卷积层)
+ [池化层](#池化层)
+ [全连接及SoftMax层](#全连接及SoftMax分类层)
+ [网络结构与超参数](#卷积网络结构与超参数)
+ [参考资料](#参考资料)
### 项目概况
本项目为一个使用深度学习方法解析问题,知识图谱存储、查询知识点,基于医疗垂直领域的对话系统的后台程序
+ 运行效果:
<p align="center">
<img src=./pictures/082601.png alt="Sample" width="700">
<p align="center">
<em> </em>
</p>
</p>
+ 项目的搭建大致分为三个模块:
+ 基础数据爬取
+ 知识图谱构建
+ 自动问答实现
+ 项目运行环境:
python :
```
python 3.6.8
```
运行系统:
```
ubuntu 16.04
```
知识图谱:
```
neo4j 3.2.2 图形数据库
py2neo 3.1.1 neo4j对应的python驱动
```
深度学习:
```
jieba 0.39
numpy 1.17.0
pandas 0.25.0
tensorflow 1.10.0
```
文本匹配:
```
ahocorasick (安装方法 pip install pyahocorasick)
```
必要说明:
```
1.深度学习模块深度网络的训练使用tensorflow的gpu版本,
在应用阶段由于要部署要服务器上使用的对应的tensorflow的cpu版本
2.若要clone项目,尽量保持扩展包的版本一致
```
+ 项目运行方式
1. 搭建知识图谱:python build_grapy.py。大概几个小时,耐心等待。
2. 启动问答系统:python chatbot_graph.py
+ 项目主要文件目录结构
```shell
chatbot
├── answer_search.py # 问题查询及返回
├── BiLSTM_CRF.py # 实体识别的双向LSTM-CRF网络
├── build_medicalgraph.py # 将结构化json数据导入neo4j
├── chatbot_graph.py # 问答程序脚本
├── classifyApp.py # 问句分类应用脚本
├── classifyUtils.py # 工具函数集合
├── data
│ └── medical.json # 全科知识数据
├── data_ai
│ ├── cbowData # 词向量文件
│ │ ├── classifyDocument.txt.ebd.npy # 词向量查找表
│ │ ├── classifyDocument.txt.vab # 词向量中词与索引对照表
│ │ ├── document.txt.ebd.npy
│ │ └── document.txt.vab
│ ├── classifyData # 问句分类训练数据
│ │ ├── test_data.txt
│ │ └── train_data.txt
│ ├── classifyModel # 问句分类模型
│ │ ├── checkpoint
│ │ ├── model-3500.data-00000-of-00001
│ │ ├── model-3500.index
│ │ └── model-3500.meta
│ ├── nerData
│ └── nerModel # 命名实体识别模型
├── dict # 实体数据文件
├── nerApp.py # 命名实体识别应用脚本
├── nerUtils.py # 工具函数集合
├── prepare_data
│ ├── build_data.py # 数据库操作脚本
│ ├── data_spider.py # 数据采集脚本
│ └── max_cut.py # 基于词典的最大前向/后向匹配
├── question_analysis.py # 问句类型分类脚本
├── question_parser.py # 回答生成脚本
└── text_cnn.py # 文本分类的cnn网络
```
### 基础数据爬取
基础数据爬取于[寻医问药](<http://www.xywy.com/>)网站,一家医疗信息提供平台,上面的数据做了较好的分类处理,爬下来后可以较为方便的保存为json格式的结构化文件,格式展示如下:
<p align="center">
<img src=./pictures/json_show.gif alt="Sample" width="700">
<p align="center">
<em> 爬取的数据保存为json格式文件 </em>
</p>
</p>
### 知识图谱搭建
知识图谱可以用若干三元组来表示,三元组的基本形式:
+ 实体1-关系-实体2
+ 实体-属性-属性值
将爬取的数据调用`build_medicalgraph.py `脚本将结构化json数据导入neo4j图数据库,部分数据库展示如下:
<p align="center">
<img src=./pictures/graph.svg alt="Sample" width="800">
<p align="center">
<em> 图形数据库部分展示 </em>
</p>
</p>
知识图谱实体类型
| 实体类型 | 中文含义 | 实体数量 | 举例 |
| :--------- | :----------: | :------: | :------------------------------------- |
| Check | 诊断检查项目 | 3,353 | 支气管造影;关节镜检查 |
| Department | 医疗科目 | 54 | 整形美容科;烧伤科 |
| Disease | 疾病 | 8,807 | 血栓闭塞性脉管炎;胸降主动脉动脉瘤 |
| Drug | 药品 | 3,828 | 京万红痔疮膏;布林佐胺滴眼液 |
| Food | 食物 | 4,870 | 番茄冲菜牛肉丸汤;竹笋炖羊肉 |
| Producer | 在售药品 | 17,201 | 通药制药青霉素V钾片;青阳醋酸地塞米松片 |
| Symptom | 疾病症状 | 5,998 | 乳腺组织肥厚;脑实质深部出血 |
| Total | 总计 | 44,111 | 约4.4万实体量级 |
知识图谱实体关系类型
| 实体关系类型 | 中文含义 | 关系数量 | 举例 |
| :------------- | :----------: | :------: | :--------------------------------------------------- |
| belongs_to | 属于 | 8,844 | <妇科,属于,妇产科> |
| common_drug | 疾病常用药品 | 14,649 | <阳强,常用,甲磺酸酚妥拉明分散片> |
| do_eat | 疾病宜吃食物 | 22,238 | <胸椎骨折,宜吃,黑鱼> |
| drugs_of | 药品在售药品 | 17,315 | <青霉素V钾片,在售,通药制药青霉素V钾片> |
| need_check | 疾病所需检查 | 39,422 | <单侧肺气肿,所需检查,支气管造影> |
| no_eat | 疾病忌吃食物 | 22,247 | <唇病,忌吃,杏仁> |
| recommand_drug | 疾病推荐药品 | 59,467 | <混合痔,推荐用药,京万红痔疮膏> |
| recommand_eat | 疾病推荐食谱 | 40,221 | <鞘膜积液,推荐食谱,番茄冲菜牛肉丸汤> |
| has_symptom | 疾病症状 | 5,998 | <早期乳腺癌,疾病症状,乳腺组织肥厚> |
| acompany_with | 疾病并发疾
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
简介本资源聚焦于深度学习在医疗垂直领域的应用,旨在构建一个基于知识图谱的对话系统。通过解析医疗问题并存储知识点,实现精准的问答功能,为医疗专业人士和患者提供智能辅助。本资源不仅涵盖了深度学习方法的核心概念,还深入探讨了其在医疗领域的实际应用,助力用户掌握前沿技术,提升医疗问答系统的智能化水平。
资源推荐
资源详情
资源评论
收起资源包目录
使用深度学习方法解析问题 知识图谱存储 查询知识点 基于医疗垂直领域的对话系统.zip (56个子文件)
code1128
BiLSTM_CRF.py 4KB
question_analysis.py 4KB
pictures
082503.png 51KB
082506.png 200KB
082505.png 122KB
082502.png 194KB
082601.png 80KB
moss.jpg 60KB
graph.svg 93KB
082501.png 68KB
show_talk.gif 531KB
json_show.gif 244KB
082504.png 575KB
nerApp.py 6KB
.gitattributes 66B
data
medical.json 44.96MB
prepare_data
max_cut.py 4KB
build_data.py 5KB
data_spider.py 6KB
question_parser.py 7KB
build_medicalgraph.py 11KB
text_cnn.py 5KB
nerUtils.py 11KB
chatbot_graph.py 1KB
classifyApp.py 4KB
data_ai
classifyModel
checkpoint 79B
model-48500.data-00000-of-00001 24.89MB
model-48500.index 1KB
model-48500.meta 7.54MB
cbowData
classifyDocument.txt.ebd.npy 7.4MB
classifyDocument.txt.vab 240KB
document.txt.ebd.npy 2.48MB
document.txt.vab 331KB
nerData
label_cutword_data.txt 3.66MB
train_label.txt 5.95MB
train_cutword_data.txt 5.69MB
test_data.txt 1.44MB
train_data.txt 5.77MB
test_label.txt 1.48MB
classifyData
test_data.txt 302KB
train_data.txt 13.99MB
nerModel
checkpoint 101B
bilstm-crf.models-2254.index 1KB
bilstm-crf.models-2254.meta 3.16MB
bilstm-crf.models-2254.data-00000-of-00001 59.02MB
answer_search.py 6KB
classifyUtils.py 6KB
README.md 23KB
dict
food.txt 73KB
producer.txt 496KB
drug.txt 73KB
disease.txt 173KB
symptom.txt 97KB
deny.txt 227B
check.txt 70KB
department.txt 593B
共 56 条
- 1
资源评论
葡萄籽儿
- 粉丝: 557
- 资源: 859
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功