# 基于知识图谱的电影问答系统
#### 相关源代码GitHub上也有:
[https://github.com/xiaoliang8006/Movie-QA-System](https://github.com/xiaoliang8006/Movie-QA-System)
#### 体验地址:
[http://104.224.145.185:5000](http://104.224.145.185:5000)
此项目旨在构建一个关于电影的知识图谱问答系统。目前知识库本身的内容并不全面,但是麻雀虽小,五脏俱全,该项目对多种类型的问题形式都能得到正确的相应结果。以“李连杰”为例,本系统能够回答晴李连杰的个人简介,参演过的电影,参演过的电影类型,参演某一类型的电影都有什么。还能查询某个电影的信息,如上映时间,评分,类型,演员列表等等....
---
提供的功能有:
* 中文分词
* 词性标注
* 命名实体识别
* 知识图谱关系抽取
* 关键词提取
* 等等....
---
## 目录
* [搭建环境](#搭建环境)
* [使用方式](#使用方式)
* [思路](#思路)
* [代码说明](#代码说明)
* [评价](#评价)
* [附录](#附录)
## 搭建环境
#### python3.6 + jdk1.8 + neo4j-3.4.13
注意: neo4j-3.4.13要求java版本必须在jdk8以上
网页显示采用flask-0.12.2框架, 和neo4j数据库连接时用的是py2neo-3.0, 之前用py2neo-4.0总是容易出错。
## 使用方式
先安装依赖:
pip install -r requirements.txt
注意依赖包版本最好和requirements.txt一致或者不要相差太大,不然容易出错。然后运行服务器:
python server.py
最后打开浏览器进入`http://127.0.0.1:5000`即可进行问答。
目前本系统可以回答类似如下类型的问题(以李连杰和警察故事为例):
1.警察故事的评分是多少
2.警察故事的上映时间
3.警察故事是什么类型的电影
4.警察故事的主要情节
5.警察故事中的演员都有谁
6.李连杰的简介
7.李连杰演过的动作电影有哪些
8.李连杰演过哪些电影
9.李连杰演的电影评分在7以上的都有哪些
10.李连杰演的电影评分低于7的都有哪些
11.李连杰演过的电影类型有哪些
12.李连杰和章子怡一起演过哪些电影
13.李连杰演过多少部电影
14.李连杰生日是什么时候
## 思路
![images](./images/idea01.png)
![images](./images/idea02.png)
## 代码说明
#### data文件夹
首先是数据的准备,利用爬虫从维基和豆瓣上爬取电影数据及演员数据,这里我直接把数据预处理的结果放入了data文件夹
#### questions文件夹
放的是关于问题分类的训练数据
#### data2neo4j.py
将data文件夹下csv文件导入neo4j数据库。注意这里我放上了我的服务器,可以直接用。你也可以用data2neo4j.py将数据导入到自己的本地服务器,并在question_template.py修改地址即可。
import文件夹是neo4j默认的数据导入文件夹,所以首先要将data文件夹下所有csv文件拷贝到neo4j数据库的根目录import文件夹下,没有则先创建import文件夹,然后运行此程序。
#### question_classification.py
对问题进行分类
#### question_template.py
连接数据库,生成查询语句,返回结果
#### process_question.py
分类并回答问题
#### static文件夹
放的是关于前端显示的静态文件
## 评价
随机生成了30个问题,发现问题分类的准确率在90%左右,可能是因为训练样本较少的缘故。然后问题回答的准确取决于数据库中有无数据,如果分类正确而且数据库中有相关数据,基本都能正常返回答案。后续工作需要增加问题分类的训练样本和补充数据库资源....
## 附录
1.词性标注说明
```text
n 普通名词
nt 时间名词
nd 方位名词
nl 处所名词
nh 人名
nhf 姓
nhs 名
ns 地名
nn 族名
ni 机构名
nz 其他专名
v 动词
vd 趋向动词
vl 联系动词
vu 能愿动词
a 形容词
f 区别词
m 数词
q 量词
d 副词
r 代词
p 介词
c 连词
u 助词
e 叹词
o 拟声词
i 习用语
j 缩略语
h 前接成分
k 后接成分
g 语素字
x 非语素字
w 标点符号
ws 非汉字字符串
wu 其他未知的符号
```
2.命名实体说明(采用BIO标记方式)
```text
B-PER、I-PER 人名
B-LOC、I-LOC 地名
B-ORG、I-ORG 机构名
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 基于Python+Flask知识图谱的电影问答系统源码+数据集+详细文档(高分毕业设计).zip基于Python+Flask知识图谱的电影问答系统源码+数据集+详细文档(高分毕业设计).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕设项目、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 3、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于Python+Flask知识图谱的电影问答系统源码+数据集+详细文档(高分毕业设计).zip (48个子文件)
Movie-QA-System-master
question_classification.py 2KB
process_question.py 4KB
data
movie.csv 1.32MB
genre.csv 224B
person.csv 52KB
person_to_movie.csv 242KB
movie_to_genre.csv 108KB
data2neo4j.py 2KB
.idea
vcs.xml 180B
workspace.xml 27KB
misc.xml 299B
inspectionProfiles
Project_Default.xml 735B
Movie-QA-System.iml 612B
modules.xml 282B
questions
vocabulary.txt 2KB
question_classification.txt 272B
._vocabulary.txt 4KB
._userdict3.txt 4KB
userdict3.txt 26KB
label.txt 3KB
._question_classification.txt 4KB
server.py 1KB
README.pdf 190KB
requirements.txt 74B
._README.md 4KB
images
idea02.png 53KB
idea01.png 39KB
client.py 476B
question_template.py 11KB
__pycache__
question_template.cpython-36.pyc 9KB
process_question.cpython-36.pyc 3KB
preprocess_data.cpython-36.pyc 3KB
question_classification.cpython-36.pyc 2KB
test.py 332B
static
js
chatbot.js 2KB
jquery-2.1.4.min.js 82KB
css
css.css 2KB
chatbot.css 2KB
index.html 1KB
images
mute_on.png 3KB
speaking.gif 4KB
mute_off.png 5KB
bored.gif 86KB
waiting.gif 92KB
orb2.png 56KB
._README.pdf 4KB
README.md 5KB
171265889347208773632.zip 416B
共 48 条
- 1
资源评论
不走小道
- 粉丝: 3200
- 资源: 5124
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python开心麻花影视作品分析程序+源码.zip
- pythonExcel数据分析师程序+源码.zip
- PlatformUI.jar 支持RCP控件环境插件
- VB+ACCESS大型机房学生上机管理系统(源代码+系统).zip
- 基于BP神经网络的回归分析,基于优化动量因子的BP神经网络,基于优化学习率的BP神经网络,基于优化隐藏层神经元的bp神经网络
- python读取excel数据Python-file-reading-master.zip
- STC15单片机串口2使用程序例子
- 读取日志的excel生成周报 用python3开发weekplan-master.zip
- python 读取excel数据导入dbimport-data-master.zip
- K折交叉验证BP神经网络,多输入多输出BP神经网络(代码完整,数据齐全)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功