python文献知识图谱可视化_手把手教你搭建一个中式菜谱知识图谱可视化系统

AI Food Time是一个基于Python爬取公开菜谱数据,构建的知识图谱可视化系统。它提供菜品关系、食材查询、可视化展示和模糊搜索功能,如显示不同做法的菜品、查询食材对应的菜品。系统采用D3.js进行可视化,支持实体开关显示和搜索功能,具备良好的用户体验。
摘要由CSDN通过智能技术生成
今天分享 一个自己从数据爬取到d3可视化的中式菜谱知识图谱可视化系统的搭建流程。 Github项目地址:https://github.com/ngl567/CookBook-KG 访问可视化系统GithubPage地址:https://ngl567.github.io/CookBook-KG/1

系统功能

       本项目开发的系统名称为AI Food Time,中文名为爱食光。通过收集网上完全公开的有关中式菜谱的数据,经过数据清洗和分析,转换为知识图谱的存储结构,并提供可视化展示和模糊搜索等功能,为热爱美食与烹饪的人们提供方便快捷的中式菜谱服务,并以知识图谱的形式直观显示出不同菜品的关系及所用原料,在生活中具有很大的实际应用需求,包括:

  • 一类菜品的不同具体做法,例如水煮鱼包括麻辣水煮鱼、小清新版水煮鱼和家常版水煮鱼等;

  • 通过菜品与食材的关联关系,可以查询家中现有食材可以烹饪哪些菜品;

  • 可以直接显示出每种菜品所需主料,辅料,配料及其具体数量和烹饪方法,与网上的一些菜谱网页相比更加简单直观;

  • 可视化能够对各种菜品及关联关系有一个全局的认识,并能够显示每种菜品对应的图片;

  • 搜索菜谱关键词,显示出和关键词相关的各类菜品信息。

2

先来看看效果

实体间关联关系及实体信息显示

225e6671325fb6ce3ad2a6dd7025cfae.gif

不同类型实体开关显示

65beabb68ee2b658c35b99c4611993d4.gif

搜索功能展示

e52ab3174b01aacbd54f0ce13bde35a6.gif

怎么样,是不是觉得还有那么点意思。在可视化系统中,同一类实体用相同颜色的节点表示,鼠标位于某个节点上方时显示其相关联的其它实体和之间的关系名称;具有同一类实体显示开关,节点显示模式转换,并支持搜索功能;同时,我们对每种菜品的信息栏中显示菜品对应的成品图片,并进行了实体对齐,消除了食品原料中比如“蒜”和“大蒜”这类的冗余信息。

这里展示的是mini版系统,包含10大类,50种菜品之间的关联关系,包括菜品制作的各种食材和制作步骤,轻量级的mini版同时支持电脑和手机浏览器打开,如需体验可直接进入Github Page访问入口。

3

系统实现流程

1

数据爬取

所有菜谱的数据都是从完全公开的网页上爬取的,这些网页上的数据是以半结构化知识呈现的,如图所示:

29b083cd4caf31caf7320fdcd339e182.png

使用XPath可以很轻松地从网页上将这些半结构化知识爬取出来,先以树形结构存储菜谱及属性数据:  

                菜品大类

                   |_具体的精品特色菜

                             |_主料

                             |_辅料

                             |_配料

                                    |_制作步骤

接着,对于树形结构存储的数据,以三元组的格式:菜品大类-属于-具体的精品特色菜,精品特色菜-主料-主料名,精品特色菜-配料-配料名,精品特色菜-辅料-辅料名,精品特色菜-制作步骤-制作步骤列表表示所有数据。用于可视化的数据分为三元组组成的关系图结构数据vizdata.json和实体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值