KBQA
Introduction: 基于 Neo4j 图数据库构建知识图谱,提供知识图谱的增删改查;基于知识图谱和策略构建智能问答引擎
Tags:
项目描述
- 介绍:本项目用于操作 neo4j 数据库,elasticSearch 以及与前端交互的服务器 app。
- 用途:对 3.2.0 版本的 neo4j 数据库进行增删改查外加索引的操作
- 特性: 1.neo4j 自带的服务端对中文建立的内置索引分词粒度以字为单位,不太符合实际需求,而且 cypher 语法没有对分词器的选择操作语句,修改采用 elastic 做中间业务处理索引内容对接图数据。 2.本代码选用 hanlp 分词器做索引分词底层,可扩展词典修改分词粒度。
调用接口文档
描述各个功能接口调用方法、参数及响应值,详见:接口调用文档
版本更新
2017-08-28
- 重构第一个版本(v2.0)
- 支持多类型图谱检索、管理(由 project 参数指定,暂时支持银团贷款业务知识图谱、社科知识图谱、金融概念知识图谱)
- 图谱查询支持返回节点类型(供前端可视化时筛选)
2017-08-02
- 支持银行、金融、票据、证券、法律等行业的名词概念问答
2017-07-20
- 初始版本
- 支持银团贷业务指引条款相关内容问答
- 针对无法回答的问题,引入图灵机器人
编译、运行环境说明:
使用 JDK1.8.0 版本,具体依赖都在 pom 中,本地 nexus 没有所需依赖。
总体目录
- main
- java
- com
- qdcz
- chat
- common
- graph
- index
- mongo
- APP
- qdcz
- com
- resources
- java
- test
chat包含智能问答接口与逻辑处理
common中包含一些公用静态方法
graphneo4j 图操作及接口
index为 elasticSearch 建立索引的接口与方法
sdn为图边节点的实例化(entity)以及对应所需要的知识库 cypher(epository)。
service为结合实际所需的服务逻辑编写,分为低中高三层,上层依赖下层。
Tools为定义的工具类。
APP 为 SpringbootSdnEmbeddedApplication,启动服务主入口。
resources为配置文件
其中IKAnalyzer.cfg.xml为 IK 分词的扩展配置,加载了 2 个扩展词典sougou、 stopword、银团指引词典
neo4j.properties设置了 app 启动的驱动,访问的数据库的位置,对外端口
mongo.properties设置了 mongo-driver 所需的信息
hanlp.properties设置了 han 分词器加载词典位置
test下为各类单元测试时使用的测试。
