知识图谱管理与智能问答引擎 v2.0

项目描述

  • 介绍:本项目用于操作neo4j数据库,elasticSearch以及与前端交互的服务器app。
  • 用途:对3.2.0版本的neo4j数据库进行增删改查外加索引的操作
  • 特性: 1.neo4j自带的服务端对中文建立的内置索引分词粒度以字为单位,不太符合实际需求,而且cypher语法没有对分词器的选择操作语句,修改采用elastic做中间业务处理索引内容对接图数据。 2.本代码选用hanlp分词器做索引分词底层,可扩展词典修改分词粒度。

调用接口文档

描述各个功能接口调用方法、参数及响应值,详见:接口调用文档

版本更新

2017-08-28

  1. 重构第一个版本(v2.0)
  2. 支持多类型图谱检索、管理(由project参数指定,暂时支持银团贷款业务知识图谱、社科知识图谱、金融概念知识图谱)
  3. 图谱查询支持返回节点类型(供前端可视化时筛选)

2017-08-02

  1. 支持银行、金融、票据、证券、法律等行业的名词概念问答

2017-07-20

  1. 初始版本
  2. 支持银团贷业务指引条款相关内容问答
  3. 针对无法回答的问题,引入图灵机器人

编译、运行环境说明:

使用JDK1.8.0版本,具体依赖都在pom中,本地nexus没有所需依赖。

总体目录

  • main
    • java
      • com
        • qdcz
          • chat
          • common
          • graph
          • index
          • mongo
        • APP
    • resources
  • test

chat包含智能问答接口与逻辑处理
common中包含一些公用静态方法
graphneo4j图操作及接口
index为elasticSearch建立索引的接口与方法
sdn为图边节点的实例化(entity)以及对应所需要的知识库cypher(epository)。
service为结合实际所需的服务逻辑编写,分为低中高三层,上层依赖下层。
Tools为定义的工具类。
APP为 SpringbootSdnEmbeddedApplication,启动服务主入口。
resources为配置文件
其中IKAnalyzer.cfg.xml为IK分词的扩展配置,加载了2个扩展词典sougoustopword银团指引词典
neo4j.properties设置了app启动的驱动,访问的数据库的位置,对外端口
mongo.properties设置了mongo-driver所需的信息
hanlp.properties设置了han分词器加载词典位置
test下为各类单元测试时使用的测试。

参考资料

https://github.com/hujunxianligong/KBQA