# introduction
电影知识图谱问答,利用spark,neo4j以及hanlp完成一个简易的电影问答系统,java实现。
# requirement
利用java-driver方式,使用cypher和apoc构建节点和关系,使用spark完成问句分类。
1.neo4j3.5.22
2.apoc3.5.0.13-all
3.algo-3.5.4.0(图算法库)
4.jdk1.8
5.hanlp1.7.7 下载data(包括dictionary和model,配置hanlp.properties路径)放在resources目录下即可
6.spark3.0
7.neo4j-java-driver1.7.1
8.neo4j-graph-data-science-1.1.6-standalone(图算法库gds[包含algo算法库],两个库不兼容)
# quick start
一.节点和关系构建模块
这里提供两种方法,分别用cypher和apoc构建。
1.cypher构建node与relation(较慢,一个一个语句create)
\src\main\java\com\sy\mainclass\GraphCypherBuild.java
(1).构建节点
createNode();
(2).构建关系
createRelation();
2.apoc批量构建node与relation(建议利用apoc构建,不需要stop neo4j,速度和数据量中等)
\src\main\java\com\sy\mainclass\GraphApocBuild.java
(1).构建节点
createNode();
(2).构建关系
createRelation();
二.问答模块
意图识别为以下几类(样本较少,可以增加更多的数据以提高识别精度):
* 0:电影评分
* 1:电影上映时间
* 2:电影类型
* 3:电影简介 (暂时没数据)
* 4:电影演员列表
* 5:演员介绍 (暂时没数据)
* 6:演员参演的某类型的电影作品
* 7:演员的电影作品
* 8:演员参演评分大于x的电影
* 9:演员参演评分小于x的电影
* 10:演员参演演的电影类型有哪些
* 11:演员和演员合作电影有哪些
* 12:演员参数的电影数量
* 13:演员的出生日期 (暂时没数据)
\src\main\java\com\sy\mainclass\MovieQA.java(问答部分,问句意图识别和模板匹配,并转为查询语句)
问答模型的程序在\src\main\java\com\sy\qa中,主要有
1.利用spark训练意图分类模型
2.对问句进行意图识别和模板匹配
3.提取问答语句中的实体,包括人名和电影名
4.将问句模板和提取的实体转为cypher或apoc语句进行查询
三.推荐模块
\src\main\java\com\sy\mainclass\MovieRec.java
1.根据相同的演员或导演,返回top-n评分的电影
recCBF1()
2.根据电影的类型进行推荐,返回topn评分的电影
recCBF2()
四.搜索模块
\src\main\java\com\sy\mainclass\MovieSearch.java
1.返回类型为category,评分最高的前10部电影名称
getMostRatedScoreMovie()
# data
主要数据在resources中,数据中包含(数据来源http://www.openkg.cn/dataset/douban-movie-kg)
三类实体(节点):
实体类型 数据文件 数量 说明
Movie Movie.csv 4587 电影实体
Person Person.csv 22937 人员实体
Country Country.csv 84 国家实体
四类关系:
关系类型 主语实体类型 宾语实体类型 数据文件 数量 说明
ACTOR_OF Movie Person actor.csv 35257 电影的主演
COMPOSER_OF Movie Person composer.csv 8345 电影的编剧
DIRECTOR_OF Movie Person director.csv 5015 电影的导演
DISTRICT_OF Movie Country district.csv 6227 电影的制片国家/地区
# flowchart
![image](https://raw.githubusercontent.com/jiangnanboy/movie_kg/master/image/flowchart.png)
# result
1.关系图
![image](https://raw.githubusercontent.com/jiangnanboy/movie_kg/master/image/movie_graph.png)
2.问答
![image](https://raw.githubusercontent.com/jiangnanboy/movie_kg/master/image/reponse_result.png)
# references
1)http://www.openkg.cn/dataset/douban-movie-kg
2)https://www.zmonster.me/2019/04/30/neo4j-introduction.html
# contact
如有搜索、推荐、nlp以及大数据挖掘等问题或合作,可联系我:
1、我的github项目介绍:https://github.com/jiangnanboy
2、我的博客园技术博客:https://www.cnblogs.com/little-horse/
3、我的QQ号:2229029156
没有合适的资源?快使用搜索试试~ 我知道了~
基于知识图谱实现的电影智能问答+neo4j构建的电影图谱+spark ml完成的问答意图分类+源代码+文档说明
共130个文件
java:31个
class:25个
crc:14个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 84 浏览量
2024-01-06
16:12:00
上传
评论 2
收藏 4.82MB ZIP 举报
温馨提示
- 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
基于知识图谱实现的电影智能问答+neo4j构建的电影图谱+spark ml完成的问答意图分类+源代码+文档说明 (130个子文件)
$CACHE_FILE$ 11KB
_SUCCESS 0B
_SUCCESS 0B
_SUCCESS 0B
_SUCCESS 0B
_SUCCESS 0B
_SUCCESS 0B
_SUCCESS 0B
GraphSearch.class 11KB
CreateRelation.class 8KB
CreateNode.class 8KB
QuestionAnswer.class 6KB
GraphDelete.class 5KB
CreateNode.class 5KB
GraphCypherBuild.class 4KB
CreateRelation.class 4KB
GraphCount.class 3KB
GraphApocBuild.class 2KB
AbstractCSVRead.class 2KB
PropertiesReader.class 1KB
RelTypes.class 1KB
InitNeo4j.class 1KB
LabelTypes.class 1005B
Movie.class 782B
AbstractRelation.class 488B
AbstractNode.class 466B
Country.class 447B
Person.class 444B
District.class 337B
Director.class 337B
Composer.class 337B
Actor.class 328B
MovieQA.class 280B
.part-00000-f597d0cb-8767-4712-95c5-fc3cab975b3a-c000.snappy.parquet.crc 72B
.part-00000-35b34b06-d2fa-47ae-b558-4ee22e00c780-c000.snappy.parquet.crc 32B
.part-00000.crc 12B
.part-00000.crc 12B
.part-00000.crc 12B
.part-00000.crc 12B
.part-00000.crc 12B
._SUCCESS.crc 8B
._SUCCESS.crc 8B
._SUCCESS.crc 8B
._SUCCESS.crc 8B
._SUCCESS.crc 8B
._SUCCESS.crc 8B
._SUCCESS.crc 8B
actor.csv 2.35MB
actor.csv 2.35MB
Person.csv 1.35MB
Person.csv 1.35MB
Movie.csv 1.18MB
Movie.csv 1.18MB
composer.csv 570KB
composer.csv 570KB
district.csv 426KB
district.csv 426KB
director.csv 343KB
director.csv 343KB
Country.csv 5KB
Country.csv 5KB
dictionaries 160B
._.DS_Store 4KB
.gitignore 176B
movie_kg.iml 80B
knowlodeg_graph.iml 80B
QuestionAnswer.java 13KB
Search.java 7KB
MovieQA.java 4KB
CreateRelation.java 4KB
QuestionClassification.java 4KB
CreateNode.java 3KB
GraphDelete.java 2KB
CreateNode.java 2KB
Recommender.java 2KB
InitSparkSession.java 2KB
GraphCypherBuild.java 2KB
GraphApocBuild.java 2KB
CreateRelation.java 2KB
QuestionMine.java 1KB
AbstractCSVRead.java 1KB
Movie.java 1KB
InitNeo4j.java 1KB
GraphCount.java 857B
PropertiesReader.java 626B
MovieRec.java 561B
MovieSearch.java 433B
Person.java 328B
Country.java 327B
AbstractRelation.java 298B
AbstractNode.java 283B
Director.java 194B
Composer.java 194B
District.java 194B
Actor.java 190B
RelTypes.java 166B
LabelTypes.java 139B
metadata.json 346B
metadata.json 346B
movie_kg.kotlin_module 16B
共 130 条
- 1
- 2
资源评论
- .芋泥.2024-03-26这个资源内容超赞,对我来说很有价值,很实用,感谢大佬分享~
- m0_685704712024-04-13果断支持这个资源,资源解决了当前遇到的问题,给了新的灵感,感谢分享~
机器学习的喵
- 粉丝: 486
- 资源: 1252
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功