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

2023-10-17 09:04

本文主要是介绍【知识图谱】KBQA核心架构小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

文本清洗

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

意图识别

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

实体链接

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

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

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

这篇关于【知识图谱】KBQA核心架构小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/224359

相关文章

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

详解MySQL中DISTINCT去重的核心注意事项

《详解MySQL中DISTINCT去重的核心注意事项》为了实现查询不重复的数据,MySQL提供了DISTINCT关键字,它的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据... 目录DISTINCT 六大注意事项1. 作用范围:所有 SELECT 字段2. NULL 值的特殊处

SpringBoot中使用Flux实现流式返回的方法小结

《SpringBoot中使用Flux实现流式返回的方法小结》文章介绍流式返回(StreamingResponse)在SpringBoot中通过Flux实现,优势包括提升用户体验、降低内存消耗、支持长连... 目录背景流式返回的核心概念与优势1. 提升用户体验2. 降低内存消耗3. 支持长连接与实时通信在Sp

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1