大学知识图谱问答

大学知识图谱问答,目前非常简单, 以后可能会更新

数据来源于百度百科及一些其他网页搜索内容复制,scrapy爬虫目录在scripts/univer/目录下
然后将数据存储到neo4j中 对问题进行解析
通过actree得到实体,关键字得到问题类型,给出答案

目前neo4j结构

在这里插入图片描述

1.1 知识图谱实体关系类型

实体类型实体数量举例
大学2735清华大学,北京大学
大学简称3128北大,兰大
城市481河北省,北京市
主管单位84陕西省教育厅
层次3211,985, 双一流
学科108生物学,地质学
总计8149

1.2 知识图谱实体关系类型

中文含义关系数量举例
主管单位273清华大学 主管单位是 北京市
位于2980清华大学 位于 北京市
包含900北京市 包含 顺义区
属于278北京大学 属于 985
简称3245北京大学 检查 北大
包含3245北京大学 包含 生物学
总计8149约8149对关系

支持问题

河北省包含什么学校?
唐山市包含什么学校?
清华大学是211吗
211学校包含哪些
清华大学校训是什么?
燕山大学地址在哪
燕山大学现任领导人是谁
等

使用步骤

1 环境,个人python3.6.8, centos系统(阿里云服务器)

pip install -r requirements.txt

2 建立neo4j数据库 docker启动方式

docker run -d --name neo4j --restart=always \
-p 7474:7474 -p 7687:7687 \
-v /opt/neo4j/data:/data \
-v /opt/neo4j/logs:/logs \
-v /opt/neo4j/conf:/var/lib/neo4j/conf \
-v /opt/neo4j/import:/var/lib/neo4j/import \
--env NEO4J_AUTH=neo4j/123456 neo4j

3 插入数据 数据来源:先找到了一个大学列表,然后在百度百科中进行爬取, 数据已存在于data/data2.csv

cd scripts
python main.py

4 在config.py中修改知识库地址

5 运行python chatbot_graph.py, 可在终端对话

6 (附加)在公网ip服务器上运行,可部署到钉钉中

python dingding.py

启动一个flask程序, 在钉钉开放后台中部署即可 具体配置可参考https://open.dingtalk.com/document/tutorial/create-a-robot
7 可以加入我的组织和机器人对话,有问题可以直接和我交流

钉钉机器人聊天截图钉钉扫码加入我的组织

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HWU8EDmk-1646901812243)(img/img.png)]
| 在这里插入图片描述

参考链接

1、https://github.com/liuhuanyong/QASystemOnMedicalKG

2、https://github.com/wangle1218/KBQA-for-Diagnosis

总结

1、构建项目的原因:主要出于学习(骗star)构建了这个项目,增加自己对知识图谱的学习,希望能找到志同道合的朋友,一起进步

2、目前实现比较简单,总共花费大约一两天时间,没有使用算法,后续可能会优化比如

  • 2.1 识别意图目前采用的是关键词的方法,可以通过一些机器学习、深度学习方法
  • 2.2 实体识别采用actree,无法实现实体链指到实体库中的实体,比如搜北京有什么高校,就搜不到,必须搜索北京市有什么高校
  • 2.3 数据方面比较少,想真正做到使用层面(给真正填报志愿的人用),还需要增加一些新的知识,比如历年分数线等
  • 2.4 等等。。
    希望各位不吝赐教,任何建议请联系我。
    邮箱:652530495@qq.com

github链接 https://github.com/qukequke/university-knowledge-map

码云链接 https://gitee.com/qukequke/university-knowledge-map

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值