NLP-问答系统¶
1.NLP 问答系统简介¶
2.基于关键词匹配的 NLP 问答系统¶
- 基于 FEMA 表抽取实体、关系
- 基于 Neo4j 图数据库存储
- 基于 java SpringBoot 框架做后端接口
- 基于 HanLP 进行实体识别
- 根据用户输入的问题,进行设备实体、失效模式实体识别,名词为设备实体,动词为失效模式实体
- 通过 Cypher 语句在 Neo4j 中查询设备实体匹配数据库中的设备、组件等实体,失效模式实体匹配数据库中的失效模式,
- 匹配的方式是模糊查询。返回整个节点路径,包括:
设备 -> 一级组件 -> 二级组件 -> 三级组件 -> 失效模式 -> 根本原因 -> 措施
3.基于相似度匹配的 NLP 问答系统¶
基于问答对形式的数据
基于向量数据库 milvus 和关系型数据库 PostgreSQL
- milvus 存储问题向量
- PostgreSQL 存储问题答案
基于 Python
fastapi
做后端接口基于 bert-as-service 进行文本的 embedding 向量化
用户输入问题,首先将问题向量化,然后使用 milvus 提供的 search 函数,查询 milvus 数据库中的 top_k 个与该向量最为相似的答案,返回 ID, 然后根据 ID 到 PostgreSQL 查询问题答案