# CookBook-KG
A knowledge graph for Chinese cookbook(中式菜谱知识图谱),可以实现知识图谱可视化和知识库智能问答系统(KBQA)\
\
本项目开发的系统名称为**AI Food Time**,中文名为**爱食光**。
通过收集网上完全公开的有关中式菜谱的数据,经过**数据清洗和分析**,转换为**知识图谱的存储结构**,并进行可视化展示等功能,为热爱美食与烹饪的人们提供方便快捷的中式菜谱服务,并以知识图谱的形式直观显示出不同菜品的关系及所用原料,在生活中具有很大的实际应用需求,包括:
+ 一类菜品的不同具体做法,例如水煮鱼包括麻辣水煮鱼、小清新版水煮鱼和家常版水煮鱼等;
+ 通过菜品与食材的关联关系,可以查询家中现有食材可以烹饪哪些菜品;
+ 可以直接显示出每种菜品所需主料,辅料,配料及其具体数量和烹饪方法,与网上的一些菜谱网页相比更加简单直观;
+ 可视化能够对各种菜品及关联关系有一个全局的认识;
+ 智能问答系统可采用自然语言进行提问,系统反馈答案结果。
## 功能使用
### 可视化展示及搜索:
![image](https://github.com/ngl567/CookBook-KG/blob/master/miniviz-1.png) ![image](https://github.com/ngl567/CookBook-KG/blob/master/miniviz-2-fig.png)
同一类实体用相同颜色的节点表示,鼠标位于某个节点上方时显示其相关联的其它实体和之间的关系名称;
具有同一类实体显示开关,节点显示模式转换,并支持搜索功能;
每种菜品的信息栏中显示菜品对应的成品图片,并利用entities_aglin.py进行了实体对齐,消除了食品原料中的冗余信息。
+ **mini**版:包含10大类,**50**种菜品之间的关联关系,包括菜品制作的各种食材和制作步骤,
mini版的Github Page[**访问入口**](https://ngl567.github.io/CookBook-KG/)。
+ **pro**版:包含**362**大类,**八千多**种菜品之间的关联关系,包括菜品制作的各种原料和制作步骤。
### 智能问答系统(KBQA):
![image](https://github.com/ngl567/CookBook-KG/blob/master/kbqa.png)
基于构建的中式菜谱知识图谱,针对其中和菜品有关的各类问题,智能问答系统可以给出对应问题的答案。
本项目中的智能问答机器人名为**小吃**。
使用本系统需要预装软件:
+ Apache Jena Fuseki:Jena Fuseki是一个SPARQL服务,通过HTTP提供使用SPARQL协议的REST式SPARQLHTTP更新,SPARQL查询和SPARQL更新。
从[**官网**](http://jena.apache.org/download/)下载最新版本的fuseki压缩包,并解压到目标文件夹。在apache-jena-fuseki的目标文件夹下用命令行输入命令`java -jar fuseki-server.jar`,启动Fuseki服务。
+ JAVA8:运行fuseki需要java环境,如果没有安装JAVA8.0及以上版本,请前往[oracle官网](http://www.oracle.com/technetwork/java/javase/downloads/index.html)上下载最新版本的JDK然后安装,并配置环境路径。
系统的流程为:解析输入的自然语言问句生成 SPARQL 查询,进一步请求后台基于 TDB 知识库的 Apache Jena Fuseki 服务, 得到答案。
#### 可以提问的问题类型:
1.某一类菜包含的具体菜品;
2.某一个特色菜品的所有原料;
3.某一个特色菜品的主料,辅料和配料;
4.某一个特色菜品的特点;
5.某一个特色菜品的制作步骤。
#### 使用方法:
在已经启动Fuseki服务的情况下,命令行输入`python query_main.py`,就可以启动问答系统,开始问答过程:
```
cd KBQA
python query_main.py
```
**问答示例1:**
```
请提问:
水煮鱼类包括哪些菜?
小吃:
家常水煮鱼、小清新版水煮鱼、水煮鱼、香辣水煮鱼、麻辣水煮鱼
```
**问答示例2:**
```
请提问:
如何制作水煮鱼?
小吃:
1: 准备食材。2: 将鱼清洗干净后切片,鱼骨和鱼肉分开放。黄豆芽去掉须根、辣椒剪成段、姜切片。接下来开始腌鱼。鱼骨中放入三四片姜、一勺料酒、半勺盐腌制二十分钟。鱼片中放入半只蛋清、一勺料酒、一勺淀粉、一小勺白胡椒粉后抓匀腌制二十分钟。 3: 锅中加适量清水,水烧开后将黄豆芽放入锅中,再放少许盐。待黄豆芽煮熟捞出放入大碗内。4: 锅中倒入少许油,油热后放入一勺郫县豆瓣酱和姜片煸炒出红油(喜欢更辣一点口感的,可以往锅里再放一些干辣椒煸炒出香味)。5: 往锅里倒入适量的热水。6: 将鱼骨放入锅内,大火烧开后转小火炖10分钟。(这个时候可以尝一下鱼汤的味道,然后根据自己的口味选择要不要放盐)鱼骨炖好后捞到装有黄豆芽的大碗中。7: 将鱼肉一片一片的放入锅中。(千万不要搅动,如需要,只要轻轻晃动几下锅即可)8: 煮开后立即将鱼肉捞出,再盛一些汤到碗中。9: 换一只干净的锅中,锅中倒入40毫升左右的食用油,然后将干辣椒和花椒放入锅中,小火煸炒至辣椒红亮,花椒出香味即可捞出放到鱼肉上。10: 将锅中剩下的油大火烧至稍稍冒烟,然后关火,把油淋在鱼肉上即可。
```
**问答示例3:**
```
请提问:
鱼香肉丝的特点是什么?
小吃:
难度: 简单、耗时: 二十分钟、口味: 鱼香、工艺: 炒
```
**问答示例4:**
```
请提问:
山楂红烧肉的主料具体都是哪些啊?
小吃:
香叶: 3片、五花肉: 400克、八角: 2个、冰糖: 20克、姜: 8克、山楂: 200克、桂皮: 4克、花椒: 20颗
```
**问答示例5:**
```
请提问:
可乐鸡翅需要哪些食材?
小吃:
料酒、姜、葱、八角、可乐、鸡翅中
```
**问答示例6:**
```
请提问:
水煮肉片的辅料是什么?
小吃:
油菜: 适量、绿豆芽: 适量、金针菇: 适量
```
**问答示例7:**
```
请提问:
今天天气如何?
小吃:
这个问题我真是无法回答。
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
知识图谱是一种结构化的知识表达形式,它以图形的方式组织和存储了大量实体(如人、地点、事件等)及其相互关系。在知识图谱中,实体作为节点,实体之间的各种语义关联则通过边进行连接,形成了一个庞大的数据网络。 知识图谱的核心价值在于其能够精确、直观地表示复杂世界中的知识,并支持高效的知识查询与推理。例如,在搜索引擎中,知识图谱可以提升搜索结果的相关性和准确性,为用户提供直接的答案而非仅仅是网页链接。同时,知识图谱还能支撑高级的人工智能应用,比如问答系统、推荐系统、决策支持等领域。 构建知识图谱的过程通常包括数据抽取、知识融合、实体识别、关系抽取等多个步骤,涉及到自然语言处理、机器学习、数据库技术等多种技术手段。知识图谱的不断完善有助于实现从海量信息中挖掘深层次、有价值的知识,从而推动人工智能向着更加理解人类世界的智慧方向发展。 总之,知识图谱是一个大规模、多领域、多源异构知识集成的载体,是实现智能化信息系统的基础工具和关键基础设施,对于提升信息检索质量、推动智能应用研发具有重要作用。
资源推荐
资源详情
资源评论
收起资源包目录
A knowledge graph for Chinese cookbook(中式菜谱知识图谱).zip (77个子文件)
SJT-code
kbqa.png 95KB
miniviz-2.png 106KB
CHANGELOG.md 266B
visualization
vizdata.json 430KB
vizdata_mimini_aglin.json 89KB
entities_item.json 280KB
entities_item_mimini.json 71KB
recipe_photo
家常红烧鱼.jpg 5KB
冻豆腐红烧肉.jpg 5KB
素鱼香肉丝.jpg 4KB
凉拌木耳黄瓜.jpg 6KB
麻辣水煮鱼.jpg 5KB
秘制红烧排骨.jpg 5KB
柠檬可乐鸡翅.jpg 5KB
香椿意面.jpg 5KB
photo.md 79B
蕃茄火腿意面.jpg 5KB
麻辣水煮肉片.jpg 5KB
啤酒红烧鱼.jpg 5KB
午餐便当凉拌木耳.jpg 6KB
十分钟红烧鱼.jpg 5KB
红烧鱼块.jpg 4KB
爽心木耳沙拉.jpg 5KB
改良版可乐鸡翅.jpg 5KB
山楂红烧肉.jpg 5KB
家常水煮鱼.jpg 5KB
牛油果酱海鲜意面.jpg 4KB
水煮肉片.jpg 5KB
无油版可乐鸡翅.jpg 4KB
可乐鸡翅根.jpg 4KB
红烧鱼尾.jpg 5KB
水煮牛肉片.jpg 5KB
海鲜意面.jpg 5KB
家庭版鱼香肉丝.jpg 6KB
家常版鱼香肉丝.jpg 7KB
凉拌木耳.jpg 4KB
鱼香肉丝.jpg 7KB
懒人版糖醋排骨.jpg 5KB
元宝红烧肉.jpg 7KB
小清新版水煮鱼.jpg 5KB
家常水煮肉片.jpg 5KB
橙香糖醋排骨.jpg 6KB
私房水煮肉片.jpg 6KB
桂香红烧肉.jpg 4KB
泡椒黑木耳.jpg 4KB
无酱油版红烧排骨.jpg 4KB
茄汁培根炒意面.jpg 5KB
糖醋烤排骨.jpg 6KB
红烧排骨胡萝卜.jpg 5KB
家常鱼香肉丝.jpg 6KB
家常红烧排骨.jpg 6KB
可乐鸡翅.jpg 4KB
糖醋排骨.jpg 4KB
栗子红烧肉.jpg 4KB
广式糖醋排骨.jpg 5KB
水煮鱼.jpg 6KB
香辣水煮鱼.jpg 5KB
红烧排骨.jpg 5KB
vizdata_mimini.json 97KB
vizdata_pro.json 11.29MB
entities_item_pro.json 10.29MB
index.html 40KB
entities_aglin.py 4KB
miniviz-1.png 191KB
README.md 6KB
miniviz-2-fig.png 170KB
KBQA
question_temp.py 31KB
external_dict
entities_list.txt 2KB
word_tagging.py 1KB
data
vizdata_mimini_aglin.json 89KB
aifoodtime_ntriples.nt 144KB
entities_item_mimini.json 71KB
KBQA.md 724B
jena_sparql_endpoint.py 2KB
query_main.py 3KB
question2sparql.py 1KB
vizdata2entities.py 2KB
共 77 条
- 1
资源评论
JJJ69
- 粉丝: 6223
- 资源: 5780
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- n.cpp
- jdk-8u411-windows-x64下载安装可用
- vgg模型-图像分类算法对水果识别-不含数据集图片-含逐行注释和说明文档.zip
- KMP算法(Knuth-Morris-Pratt算法
- vgg模型-python语言pytorch框架训练识别化妆品分类-不含数据集图片-含逐行注释和说明文档.zip
- KMP算法(Knuth-Morris-Pratt算法
- shufflenet模型-基于人工智能的卷积网络训练识别狗的表情-不含数据集图片-含逐行注释和说明文档.zip
- shufflenet模型-python语言pytorch框架训练识别张嘴闭嘴-不含数据集图片-含逐行注释和说明文档.zip
- resnet模型-基于人工智能的卷积网络训练识别面部表情识别-不含数据集图片-含逐行注释和说明文档
- resnet模型-python语言pytorch框架训练识别香蕉品质-不含数据集图片-含逐行注释和说明文档.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功