基于Python实现的一个电影知识库QA系统

1. 实现效果

1. 图形展示

这是使用echarts.js 来实现的自定义页面的图谱展示,当然还有其他的库也能实现类似的效果,这里看各位的选择。
这里我在每个实体之间都实现了双层关系的绑定,这对于后面实现检索会有点帮助
首页截图

2. 实体搜索展示

这里我做了一个搜索的功能,动态显示这个关系图谱。这个搜索会搜索所有实体,并展示出它对应的关系节点展示。
实体搜索

3. 节点全貌展示

这个节点全貌看起来就有点夸张了。数据太多了,然后也会有点卡。
节点全貌

3. 问答模块展示

问答模块

2. 实现流程

1. 数据爬取

这里的数据爬取可以自己去任意找相关网站,只要能获取到电影、导演、演员这些信息就足够了。
这里我采集了一部分数据,自己写了爬虫,并将数据存储到了json文件中
文件目录

2. 数据导入

数据爬取到了已经存放到了pre_data目录中,就只需要读取这个目录下的所有json文件并导入neo4j数据库即可。
这里我创建了双向的关系。

# 关系创建
# 电影和导演的关系
 for i in director_nodes:
     # 电影 --导演作品 > 导演
     # 导演 --拍摄 > 电影
     self.create_relation(movie_node, i, "导演作品")
     self.create_relation(i, movie_node, "拍摄")
 # 电影和演员的关系
 for i in actor_nodes:
     # 电影 --演绎作品 > 演员
     # 演员 --主演 > 电影
     self.create_relation(movie_node, i, "演绎作品")
     self.create_relation(i, movie_node, "主演")

3. 实现问答脚本

先本地实现好一个问答脚本,方便之后给web进行调用
在这里插入图片描述

4. 构造web,整合接口

这一步就是自己去构建web了,可以自己使用如django、flask、tornoda等框架进行构建。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值