【知识图谱】KBQA核心架构小结

news2025/1/13 15:54:21

KBQA是指基于知识图谱的问答系统,是知识图谱的重要应用形式,基于知识图谱的问答和基于LLM的问答殊途同归。
KBQA是一个系统,由多种功能模块组成,其核心架构梳理如下:
在这里插入图片描述
下面对各个模块简单小结

文本清洗

只有是文本的领域都基本上要做一些清洗和预处理操作,比如标点符号统一,无效字符删除等。
另外,在这个阶段需要认真评估应用场景的问题描述方式和KG构建阶段的数据特点是否一致(专业化说叫数据分布是否一致),若不一致,则在实体链接阶段可能识别不出实体或识别错误(较大概率,特别是NER算法采用CRF类的,感觉对序列分布比较敏感),所以在清洗时要将数据处理成和训练阶段一致的数据。

意图识别

除开闲聊外,知识问答都是带有目的的,因此需要识别出用户的意图。
最简单的,用关键词加正则的方式来进行意图分类,前提是你能从问题中抽取出特定意图的特定表达方式。
在NLP领域,这里本质是也在做一个文本分类任务,因此文本分类的模型也可以上。

实体链接

这里比较难,是进行实体链接而不是实体抽取,因为抽取完成之后,有很多事情要做。对实体链接模块进行展开,其包括三个子模块:
(1)实体抽取模块
这个同知识图谱构建阶段,可以复用NER算法。或者基于词典进行识别(不推荐,因为用户的问题五花八门,词典很难覆盖全)
若存在前面说的数据分布不一致,则实体抽取可能有结果,可能无结果。
(2)候选实体生成及排序模块
针对有结果的实体进行候选实体生成,如抽取出“苹果”,此时知识库中可能存在相同指称的多个实体(类比不同),也可能不存在这个指称的实体,对于前者,属于有有链接的实体,若只有一个链接结果,则无歧义,若有多个,则需要进行实体消歧,已确定实体就是属于哪种类别。
这里可能需要算法来对每个候选实体进行打分排序。
(3)无链接实体预测模块
对于无链接实体,一种情况可能是因为输入或抽取错误,导致知识库中存在的实体二没有被准确链接到,还有一种情况就是输入和抽取是争取的,但知识库中不存在该实体(此时为新知识),因此在进行预测,需要分情况处理。
对于前者,则可以在知识库中召回一些候选实体,通过语义相似度或字符串相似度与待链接实体进行计算,将top1且大于一定阈值的作为链接实体,小于阈值,则则视为发现新知识。
可以借鉴推荐系统的召回算法及思路。

cypher构造/执行查询/话术模板填充

这几个部分都比较简单,就不展开了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1104977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

dashboard报错 错误:无法获取网络列表、dashboard报错 错误:无法获取云主机列表 解决流程

文章目录 错误说明dashboard上报错底层命令报错查看日志message日志httpd报错日志错误日志分析开始解决测试底层命令dashboard错误说明 dashboard上报错 首先,dashboard上无论是管理员还是其他项目,均无法获取云主机和网络信息,具体报错如下

广州虚拟动力携数字人全栈式产品,邀您来2023世界VR产业大会(南昌)一探虚实

2023年10月19-20日,由工业和信息化部、江西省人民政府联合主办,中国电子信息产业发展研究院、江西省工业和信息化厅、南昌市人民政府、虚拟现实产业联盟共同承办的2023世界VR产业大会将在南昌绿地国际博览中心盛大举办。 广州虚拟动力作为3D、AI虚拟人领…

【C++笔记】多态的原理、单继承和多继承关系的虚函数表、 override 和 final、抽象类、重载、覆盖(重写)、隐藏(重定义)的对比

1.final关键字 引出:设计一个不能被继承的类。有如下方法: class A { private:A(int a0):_a(a){} public:static A CreateOBj(int a0){return A(a);} protected:int _a; } //简介限制,子类构成函数无法调用父类构造函数初始化 //子类的构造…

从零开始搭建第一个django项目

目录 配置环境创建 Django 项目和 APP项目组成  ‍子目录文件组成应用文件组成 配置 settings.py启动项目 数据表创建models.pyDjango-models的常用字段和常用配置 Django-admin 引入admin后台和管理员外键views.pyurls.pypostman接口测试 QuerySetInstance功能APIView 的概念…

Mistral AI发布一个拥有 73 亿参数模型Mistral 7B

导读法国人工智能初创公司 Mistral AI 宣布推出其首款大语言模型 Mistral 7B 是一个,号称是迄今为止同规模产品中最强大的语言模型;在 Apache-2.0 许可下开源,可完全免费使用,不受任何限制。 Mistral AI 是一个成立仅六个月的初创…

python实现TCPclient

python实现TCPclient是一件简单的事情,只要通过socket这个模块就可以实现。 一、实现步骤 1、导入模块: 首先,你需要导入Python的socket模块。 import socket2、创建Socket对象: 使用socket.socket()函数创建一个新的socket对…

美国开源数据库ScyllaDB完成4300万美元融资

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于美国位于加州桑尼维尔的开源数据库ScyllaDB今日宣布完成4300万美元融资。 本轮融资由风险投资公司Eight Roads Ventures和AB Private Credit Investors领投。其他投资者包括TLV Partners&…

视觉 注意力机制——通道注意力、空间注意力、自注意力

前言 本文介绍注意力机制的概念和基本原理,并站在计算机视觉CV角度,进一步介绍通道注意力、空间注意力、混合注意力、自注意力等。 目录 前言 一、注意力机制 二、通道注意力机制 三、空间注意力机制 四、混合注意力机制 五、自注意力机制 六、…

基于多尺度超图的特征对齐网络--细胞定位

Paper Link:Multi-scale Hypergraph-based Feature Alignment Network for Cell Localization Code:https://github.com/Boli-trainee/MHFAN/tree/main 核心思想:利用多尺度超图来统一解决定位任务中形状、尺度和颜色方面的显著变化带来的挑…

elementui select组件下拉框底部增加自定义按钮

elementui select组件下拉框底部增加自定义按钮 el-select组件的visible-change 事件&#xff08;下拉框出现/隐藏时触发&#xff09; <el-selectref"select":value"value"placeholder"请选择"visible-change"visibleChange">&…

网络工程师知识点7

111、IS-IS路由器的三种类型&#xff1f; Level-1路由器&#xff08;只能创建level-1的LSDB&#xff09; Level-2路由器&#xff08;只能创建level-2的LSDB&#xff09; Level-1-2路由器&#xff08;路由器默认的类型&#xff0c;能同时创建level-1和level-2的LSDB&#xff09;…

如何开发微信小程序

前言 因为最近沉迷和朋友们一起下班去打麻将&#xff0c;他们推荐了一个计分的小程序&#xff0c;就不需要每局都转账或者用扑克牌记录了&#xff0c;但是这个小程序不仅打开有广告&#xff0c;各个页面都植入了广告&#xff0c;用起来十分不适。 于是我就心里暗自下定决心&a…

蓝桥杯每日一题2023.10.18

题目描述 特别数的和 - 蓝桥云课 (lanqiao.cn) 题目分析 简单枚举每一个可行的数 #include<bits/stdc.h> using namespace std; int flag, ans; int main() {int n;cin >> n;for(int i 1; i < n; i ){flag 0;int x i;while(x){int y x % 10;if(y 2 || y…

NewStarCTF2023week3-Rabin‘s RSA

根据题目提示是Rabin算法 先将N分解得到P和Q 导入e&#xff0c;n&#xff0c;p&#xff0c;q&#xff0c;c 使用Rabin算法直接计算明文&#xff0c;再将明文转字符串即可 我们也可以通过脚本来理解原理 import gmpy2 import libnump 13934102561950901579 q 144504527390…

全自动打包机检测不到货物怎么办?

全自动打包机也称无人化打包机或无人化捆扎机&#xff0c;是指在工作的过程中不需要人工干预&#xff0c;机器可以自动检测、自动输送、自动打包的设备。但最近有一些客户反映打包机不能自己检测到货物了。这是为什么呢&#xff1f; 1、电子眼感应太弱。电子眼的感应程度是可以…

棋盘覆盖问题(分治法)

裁判测试程序样例&#xff1a; #include <iostream> #include<fstream> #include <iomanip> #define MAX 1025 using namespace std; int board[MAX][MAX]; int tile1;void ChessBoard(int tr,int tc,int dr,int dc,int size);int main() { int dr,dc,size;…

GeoServer改造Springboot启动三(集成jdbcconfig和jdbcstore)

1、集成jdbc插件 1.1 由于GeoServer所有数据都在数据目录下,如果需要将数据存储数据库,这需要引入如图 13所示的两个插件。 图 13jdbc插件位置 1.2 右键两个插件的“pom.xml”,选择“Add as Maven Project”,模块就会加入maven关联。 图 14jdbc右键“Add as Maven Proje…

python代码调用文件或数据库中保存的脚本

这里采用的读取excel 1、先写一个测试方法 def demo5():import xlrdimport randomwb xlrd.open_workbook("code.xls")st wb.sheet_by_index(0)code st.cell_value(0, 0)list ["6666", asd, 1ad23, 1f23, 12g3, 1b3, 12r3]code2 st.cell_value(0, 1)…

Mendix 创客访谈录|用移动审批和三维可视化打造客户满意的高逻辑应用

本期创客 朱成 能科瑞元数字技术有限公司 Mendix业务部 朱成任职于能科瑞元数字技术有限公司Mendix业务部&#xff0c;主要负责工业互联网软件开发实施。本人主要负责Mendix Teamcenter集成开发、Mendix应用实施部署以及低代码平台技术支持。作为Mendix实施开发工程师参与了中…

iOS 借助定位实现“保活”策略

疑惑 你是否有过类似的体验,当你刚刚来到一个商业区,命名没打开任何APP,手机就会收到push给你推荐周围的“吃喝玩乐”,那他们又是怎么做到的呢? ##解密 其实,我们可以通过监听当位置变化,在用户无感知的情况下在后台悄悄拉齐我们的进行来处理特定的逻辑。 不是感觉很…