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个子文件)
SJT-code
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
资源评论
JJJ69
- 粉丝: 6352
- 资源: 5918
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于ESP32和DM02A模块的智能照明系统.zip
- (源码)基于.NET Core和Entity Framework Core的学校管理系统.zip
- (源码)基于C#的WiFi签到管理系统.zip
- (源码)基于WPF和MVVM框架的LikeYou.WAWA管理系统.zip
- (源码)基于C#的邮件管理系统.zip
- 【yan照门】chen冠希(1323张) [2月25日凌晨新增容祖儿全94张].rar.torrent
- (源码)基于C++的员工管理系统.zip
- (源码)基于Spring Boot的社区问答系统.zip
- (源码)基于51单片机的电子万年历系统.zip
- (源码)基于Java拦截器框架的事件处理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功