1.基于知识图谱的问答系统:
目前通过前端限定用户通过指定的格式来输入问题,然后通过查询知识图谱的形式来回答

2.本次跟新介绍:
1.考虑到后续数据量大,将数据库从Mysql替换为Neo4j
2.新增5个http接口
3.支持多层查询与存储,考虑到查询的时间消耗,建议不超过3层

3.http接口说明:
详细说明:data/http接口说明.txt
1.查询单个实体,支持查询深度限制,深度为3时,查询时间为3.5s,深度为4时,查询时间为85s。
2.查询两个实体间的关系
3.查询单个实体的某个属性值
4.统计当前数据库里有多少个实体以及当前数据库被访问多少次
5.当前接口是否可用

4.环境:
python3+Neo4j+flask

5.运行:
1.启动数据库:neo4j console
2.插入数据:kg/kg.py,数据格式:data/three_tuples.txt
3.提供web服务:python3 server/run_server.py

6.效果:效果.PNG

#fq <http://www.fuqi.site>
7.后续改进可能:
1.通过知识图谱三元组与原始输入的向量之间利用深度学习求相似度,找到最相近的三元组,作为答案,达到准确率的要求后再给出答案
2.但考虑到在实际使用时,本方案会与所有三元组计算一下相似度,时间消耗较大,因此需要命名实体识别,先找出相关的一部分三元组,再求相似

git:地址
<https://github.com/qiu997018209/KnowledgeGraph/tree/master/%E6%B1%BD%E8%BD%A6%E8%A1%8C%E4%B8%9A%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1%E7%AC%AC%E4%BA%8C%E6%AC%A1%E9%AA%8C%E6%94%B6>