NLP-问答系统

1.NLP 问答系统简介

2.基于关键词匹配的 NLP 问答系统

../../_images/QA_1.png
  • 基于 FEMA 表抽取实体、关系
  • 基于 Neo4j 图数据库存储
  • 基于 java SpringBoot 框架做后端接口
  • 基于 HanLP 进行实体识别
  • 根据用户输入的问题,进行设备实体、失效模式实体识别,名词为设备实体,动词为失效模式实体
  • 通过 Cypher 语句在 Neo4j 中查询设备实体匹配数据库中的设备、组件等实体,失效模式实体匹配数据库中的失效模式,
  • 匹配的方式是模糊查询。返回整个节点路径,包括:设备 -> 一级组件 -> 二级组件 -> 三级组件 -> 失效模式 -> 根本原因 -> 措施

3.基于相似度匹配的 NLP 问答系统

../../_images/QA_2.png
  • 基于问答对形式的数据

  • 基于向量数据库 milvus 和关系型数据库 PostgreSQL

    • milvus 存储问题向量
    • PostgreSQL 存储问题答案
  • 基于 Python fastapi 做后端接口

  • 基于 bert-as-service 进行文本的 embedding 向量化

  • 用户输入问题,首先将问题向量化,然后使用 milvus 提供的 search 函数,查询 milvus 数据库中的 top_k 个与该向量最为相似的答案,返回 ID, 然后根据 ID 到 PostgreSQL 查询问题答案