基于neo4j的汽车领域知识图谱问答系统

基于neo4j的汽车领域知识图谱问答系统_第1张图片

介绍:
请使用前务必读一下README.md,系统主要是汽车领域相关知识图谱问答系统,包括了汽车的价格、品牌等十几个关系实体,十几个关系,数据量实体7000+,关系9000+
整个系统使用django构建,自带了一份数据,比较完整,有初始化数据接口,每次务必初始化数据后使用,neo4j按照README.md初始化,注意初始化可能需要一个多小时。
底层数据库知识图谱采用neo4j,关系型数据库采用sqlite,也可以换成mysql,主要是图谱的展示与问答。

详细描述:
1、系统有完整的用户体系,依托于django框架,登录注册退出等功能完善。
2、知识图谱展示:前端html css js,后端django框架,用户系统sqlite,图谱数据看neo4j,neo4j数据链接py2neo,图谱展示echarts,前端可以输入三元组方式查询。
3、问答系统的数据流程为:
离线:生成词表 生成词性表
在线:加载词表,结巴分词,查询词性表,区分词性,匹配模板,生成match语句,查询neo4j,返回结果
文档记过会展示匹配汽车实体的所有属性
4、问答系统业务的流程为:
用户通过GET请求方式,传入一个key参数,该参数为自然语言的输入。
通过使用jieba库对传入的key进行分词,并进行词性标注,获取每个词的类型,从而识别出实体和关系类别。
根据实体和关系类型,在neo4j图数据库中查询相关节点或者关系。
将查询结果进行处理,生成回答。
将用户的问题和回答保存在MyWenda模型中,以便下次查询时使用。
最后渲染模板文件,将查询结果返回给前端页面。
整个过程中需要注意的是,为了保证数据的安全性,该视图函数使用了Django框架自带的@login_required装饰器,即必须登录才能访问。同时,在对用户输入进行处理时需要进行一定的容错处理,比如判断查询结果是否为空,以及不支持的查询类型等。

你可能感兴趣的:(neo4j,汽车,知识图谱)