# KBQA **Repository Path**: jiangbin216/KBQA ## Basic Information - **Project Name**: KBQA - **Description**: 基于Neo4j图数据库构建知识图谱,提供知识图谱的增删改查;基于知识图谱和策略构建智能问答引擎 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 33 - **Forks**: 18 - **Created**: 2020-07-24 - **Last Updated**: 2025-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **知识图谱管理与智能问答引擎 v2.0** # **项目描述** - **介绍**:本项目用于操作neo4j数据库,elasticSearch以及与前端交互的服务器app。 - **用途**:对3.2.0版本的neo4j数据库进行增删改查外加索引的操作 - **特性**: 1.neo4j自带的服务端对中文建立的内置索引分词粒度以字为单位,不太符合实际需求,而且cypher语法没有对分词器的选择操作语句,修改采用elastic做中间业务处理索引内容对接图数据。 2.本代码选用hanlp分词器做索引分词底层,可扩展词典修改分词粒度。 # **调用接口文档** 描述各个功能接口调用方法、参数及响应值,详见:[接口调用文档](docs/接口调用说明.md "接口调用文档") # **版本更新** ### 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**中包含一些公用静态方法
**graph**neo4j图操作及接口
**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**下为各类单元测试时使用的测试。