【文本分类】KG-HTC 知识图谱提升分类准确率

最近看到一篇论文“KG-HTC: Integrating Knowledge Graphs into LLMs for
Effective Zero-shot Hierarchical Text Classification”,介绍了文本分类的技巧,这篇文航主要利用了知识图谱+大模型的思路,实验效果不错,里面的一些论述也很符合实践经验,因此想推荐给大家。

论文解读网上已经有一些了,这里主要用一个实际案例来做分享,这个案例是大模型结合原文内容生成的,大家可以结合网络解读和论文原文一起看看。这篇文章的例子可能有些不太准确,大家只需要理解algorithm1和algorithm2,以及In-context Learning即可。

这个场景大概是这样:

  1. 待分类文本:居民区水泥杆上,在10m的位置悬挂警示牌,
  2. 潜在类别:三级分类,例如(输电-铁塔-高处作业,输电铁塔-横担作业)假设我有20个一级分类,100个二级分类,500个3级分类。
  3. 真实答案:配网-电线杆-悬挂警示牌。
  4. 说明:实际场景可能是多分类,关于论文如何进行多分类,请看“L2 预测 (基于 y1=“配网” 的约束 + Q2)

1.工作安全文本分类任务示例

输入文本: “居民区水泥杆上,在10m的位置悬挂警示牌,作业人员已佩戴安全帽和安全带。”

假设待匹配分类 (三级标签体系,还有其他的很多类别):

  • 输电-铁塔-高处作业
  • 输电-铁塔-横担作业
  • 输电-铁塔-塔身作业
  • 配网-电线杆-高处作业
  • 配网-电线杆-警示牌悬挂
  • 配网-高处作业-树障清理
  • 配网-高处作业-鸟巢清理
  • 个人防护-安全帽-正确佩戴
  • 个人防护-安全带-正确使用

2.KG-HTC 流程模拟(包含多分类筛选)😗*

2.1 存储层级标签 (准备阶段)** :

  • VectorDB (向量数据库): 存储所有安全分类标签的语义嵌入,包括我们假设的 20 个一级、100 个二级和 500 个三级分类的向量表示。例如,“水泥杆”、“警示牌悬挂”、“安全帽”、“安全带”、“铁塔”、“吊臂车”等所有标签的语义都被数字化存储。
  • GraphDB (图数据库): 存储这些标签之间的层级关系。例如,配网 --is_parent_of–> 电线杆,电线杆 --is_parent_of–> 高处作业,高处作业 --is_parent_of–> 警示牌悬挂。同时,个人防护 --is_parent_of–> 安全帽,安全帽 --is_parent_of–> 正确佩戴。这些层级关系构成了分类的“知识图谱” 。

2.2 根据输入的文本,检索相关标签并初步构建子图 (RAG 增强)** :

  • 输入文本嵌入: 首先,计算输入文本 “居民区水泥杆上,在10m的位置悬挂警示牌,作业人员已佩戴安全帽和安全带” 的向量嵌入 Ψ(x) 。
  • 层级相似度检索 (使用阈值 τl​) :
    • Level 1 (Q1): LLM 会计算输入文本与所有 20 个一级标签的余弦相似度 。根据预设的相似度阈值 τ1​,可能检索到最相关的几个一级标签,例如:“配网” (因为"水泥杆"通常与配网相关) 和 “个人防护” (因为提到"安全帽和安全带") 。
    • Level 2 (Q2): LLM 会计算输入文本与所有 100 个二级标签的相似度 。根据 τ2​,可能检索到:
      • 与“配网”相关的子类:“电线杆” (因为提到"水泥杆")。
      • 与“高处作业”相关的类别:“高处作业” (因为提到"10m高"、“悬挂”)。
      • 与“个人防护”相关的子类:“安全帽”、“安全带” 。
      • 也可能检索到一些与“输电”相关的但在此情境下弱相关的标签,例如:“铁塔” (因为“高处作业”可能也发生在铁塔上)。
      • 此时,Q2 可能包含多个候选:“电线杆”、“高处作业”、“铁塔”、“安全帽”、“安全带”。
    • Level 3 (Q3): LLM 会计算输入文本与所有 500 个三级标签的相似度 。根据 τ3​,可能检索到:
      • 与“电线杆”和“高处作业”相关的:“警示牌悬挂” (直接匹配任务)、高处作业
      • 与“铁塔”相关的:“横担作业”、“塔身作业” (虽然关联性弱,但因为 Level 2 检索到了“铁塔”,Level 3 可能会带出其子类)。
      • 与“安全帽”和“安全带”相关的:“正确佩戴”、“正确使用”。
      • 此时,Q3 可能包含多个候选:“警示牌悬挂”、“”高处作业“、”“横担作业”、“塔身作业”、“正确佩戴”、“正确使用”。
  • 构建有效子图 (Algorithm 1) :
    • 系统会根据父子关系严格验证这些检索到的候选标签。只有当一个子标签的父标签也在其上一层的候选集中时,这个子标签才会被保留在子图中
    • 例如:
      • 警示牌悬挂 (L3) 的父级 电线杆 (L2) 在 Q2 中,且 电线杆 (L2) 的父级 配网 (L1) 在 Q1 中 → 保留路径:配网 -> 电线杆 -> 警示牌悬挂
      • 类似的,保留:配网-电线杆-高处作业*
      • 横担作业 (L3) 的父级 铁塔 (L2) 在 Q2 中,但铁塔 (L2) 的父级 输电 (L1)不 在 Q1 中 → 不保留路径:输电 -> 铁塔 -> 横担作业
      • 塔身(L3) 的父级 铁塔 (L2) 在 Q2 中,但铁塔 (L2) 的父级 输电 (L1)不 在 Q1 中 → 不保留路径:输电 -> 铁塔 -> 塔身作业
      • 正确佩戴 (L3) 的父级 安全帽 (L2) 在 Q2 中,且 安全帽 (L2) 的父级 个人防护 (L1) 在 Q1 中 → 保留路径:个人防护 -> 安全帽 -> 正确佩戴
      • 类似的,保留:个人防护 -> 安全带-> 正确使用
    • 最终形成的子图 G 可能包含4条有效的层级路径,反映了输入文本可能涉及的多个相关方面。

2.3 从子图转换为提示 (Algorithm 2)** :

  • 系统会从这个子图 G 中,通过向上回溯算法,枚举所有从叶节点到根节点的有效层级路径 。

  • 将这些路径反转,使其从根节点开始,并用“->”连接,形成结构化的文本提示 。

  • 结构化提示 (Prompt of Subgraph): 可能包含多条路径,例如:

    配网 -> 电线杆 -> 高处作业
    配网 -> 电线杆 -> 警示牌悬挂
    个人防护 -> 安全帽 -> 正确佩戴
    个人防护 -> 安全带 -> 正确使用

    这个提示将被插入到分类模板中,作为 LLM 理解和推理的“知识上下文” 。

2.4 LLM 逐层分类并进行最终筛选 (In-context Learning)** :

  • 构建分类提示 (Prompt 2) : 将原始输入文本、步骤 3 中生成的结构化知识图谱提示,以及当前层级的候选标签(基于前一层的预测和 Ql)拼接起来,输入 LLM 。

  • L1 预测:

    • 候选标签: 所有 20 个一级分类标签。
    • LLM 推理: LLM 会根据文本内容和知识图谱提示,识别出文本主要涉及“配网”和“个人防护”领域。
    • LLM 生成 (y1): “配网” (更直接描述场景主要活动),但也可能同时识别出“个人防护”这个方面。在严格的单分类输出要求下,LLM 会基于其内部权重和上下文关联度选择一个最佳匹配。假设第一次迭代主要选择**“配网”。**
  • L2 预测 (基于 y1=“配网” 的约束 + Q2):

    • 候选标签: 仅考虑“配网”的子类别(如“电线杆”、“高处作业”、“箱变”等)以及 Q2 中与文本更相关的二级标签。 Q2 中的二级标签在 L2 预测时起到了一个重要的补充和纠错作用。 它扩展了仅依赖 L1 预测结果子类别的候选空间,使得 LLM 能够更灵活地应对复杂或模糊的文本,并有机会修正上一层可能存在的潜在错误,从而提高最终分类的准确性

    • LLM 推理: LLM 看到“水泥杆”会进一步聚焦到“电线杆”这个类别,而“10m位置悬挂”则指向“高处作业”。

    • LLM 生成 (y2): 此时,LLM 可能会识别出两个强相关的二级类别:“电线杆”“高处作业”。 ,忽略掉配网子类别中的箱变和其他Q2中的二级标签。

      • 此处进行筛选: 如果 LLM 被指示只能输出一个最相关的二级标签,它会根据文本中“水泥杆”和“10m位置”的关联性,选择更直接的“电线杆”。
      • 然而,如果 LLM 被允许识别多个相关方面,它可能会在内部考虑两者,并在下一层(L3)中融合它们。 对于严格的层级路径,LLM 需要在此时确定一个主路径。
      • 我们假设 LLM 优先选择更具体的物理对象: $y^2 = $ “电线杆”。
  • L3 预测 (基于 y2=“电线杆” 的约束 + Q3):

    • 候选标签: 仅考虑“电线杆”的子类别(如“警示牌悬挂”、“高处作业”、“登杆作业”、“杆塔巡检”),以及 Q3 中检索到的相关三级标签。 同理,这里扩展了电线杆的子类别,也是为了提供更多选择,减轻之前模型的判断失误。
    • LLM 推理: 基于“电线杆”和文本中的“悬挂警示牌”,LLM 会准确锁定“警示牌悬挂”。虽然“高处作业”和“登杆作业”也是一个重要方面,但“警示牌悬挂”是更具体的任务描述。
    • LLM 生成 (y3): “警示牌悬挂”

2.5 多分类筛选的体现:**

  1. RAG 阶段的初步筛选: 通过余弦相似度 (dC​) 和阈值 (τl​),RAG 系统已经对所有 500 个三级分类、100 个二级分类进行了第一轮的“粗筛”,只检索出语义上最相关的一小部分候选标签 (Ql) 。这大大减小了后续 LLM 处理的标签空间 。
  2. 子图构建中的结构筛选: Algorithm 1 进一步保证了检索到的标签在层级上的一致性 。它会剔除那些虽然语义相似但没有正确父子关系的标签。例如,如果“塔身作业”被检索到,但它的父级“铁塔”没有和“输电”构成一条完整的、从一级到三级的路径,或者与文本的整体语义关联度非常低,那么这条路径在构建结构化提示时可能就不会被优先考虑或直接被排除。
  3. LLM 推理时的上下文筛选与优先级判断:
    • In-context Learning: LLM 在接收到包含多条路径的“Prompt of Subgraph”时,它会利用自身的理解和推理能力,结合原始输入文本,判断哪条路径与当前文本的核心意图最匹配。即使提示中存在多条可能性路径(如“输电 -> 铁塔 -> 横担作业”),LLM 会根据文本中“水泥杆”这一强特征,将权重更多地分配给“配网 -> 电线杆 -> 警示牌悬挂”这条路径。
    • 逐层预测的精炼: 每一层的预测结果都会作为下一层预测的约束 。例如,一旦确定一级是“配网”,那么二级就只会从“配网”的子类或与“配网”强相关的类别中选择,从而排除了“输电”下的大量二级和三级分类。这是一种“漏斗式”的筛选,逐步缩小了搜索空间。
    • 缓解前一层错误: 即使前一层的预测偶尔出现偏差,通过结合当前层级的 Ql (通过相似度直接检索到的候选),LLM 仍然有机会纠正方向,提高分类的鲁棒性。这意味着它不完全依赖于上一步的硬性选择,而是会重新评估所有相关候选。

最终,通过 RAG 的语义筛选、知识图谱的结构筛选,以及 LLM 自身的上下文理解和逐层推理,KG-HTC 能够在多个潜在分类中,精确地锁定最符合输入文本描述的唯一或最佳匹配的层级分类路径。

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

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

相关文章

三大微调技术对比:Prompt/Prefix/P-Tuning

Prompt Tuning、Prefix Tuning和P - Tuning的区别 概念方面: Prompt Tuning:在输入序列前添加可训练的额外Token以适配下游任务,预训练语言模型参数不变。比如在文本分类中,在句子前加特定Token如“(OPINION)”,让模型理解是对观点进行分类的任务。Prefix Tuning:在每层T…

14.「实用」扣子(coze)教程 | Excel文档自动批量AI文档生成实战,中级开篇

随着AI编程工具及其能力的不断发展,编程将变得越来越简单。 在这个大趋势下,大师兄判断未来的编程将真正成为像office工具一样的办公必备技能。每个人通过 (专业知识/资源编程)将自己变成一个复合型的人才,大大提高生…

量子-经典协同计算新路径:NISQ 时代混合算法对后量子密码学的适应性探索

内容来源:量子前哨(ID:Qforepost) 文丨浪味仙 排版丨浪味仙 行业动向:3700字丨10分钟阅读 5 月 20 日,由北京量子院、清华大学、数学工程与先进计算国家重点实验室、南洋理工大学、量子信息前沿科学中心…

CentOS中安装Docker Compose

在CentOS中安装Docker Compose的步骤如下: 步骤 1:确保Docker已安装 Docker Compose依赖Docker环境,请先安装Docker: # 添加Docker官方仓库 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://downlo…

电商小程序店铺详情页:头部无限分类与筛选功能实现

电商小程序店铺详情页:头部无限分类与筛选功能实现 一、场景需求与技术选型二、头部无限分类导航三、筛选功能实现:Picker多列选择组件一、场景需求与技术选型 在电商小程序生态中,店铺详情页作为用户浏览商品的核心流量入口,其交互效率与功能完整性直接影响商品转化率。传…

Graph Neural Network(GNN)

我们首先要了解什么是图,图是由节点和边组成的,边的不一样也导致节点的不同(参考化学有机分子中的碳原子) gnn可以处理classification的问题,也就是分类的问题 也可以处理generation的问题 借一部日剧来说明,这个日剧是讲主角寻找杀害他父亲的凶手的,剧中的人物有姓名和特征 …

FallbackHome的启动流程(android11)

首次开机开机动画播完进入Launcher桌面时黑屏进入Launcher,有黑屏不太美观,在重启以后会在进入桌面后会显示android正在启动等一会进入Launcher,这就是系统FallBackHome机制 接下来我们跟着代码看下首次启动系统如何进入FallbackHome的 在SystemServer的startOthe…

【EdgeYOLO】《EdgeYOLO: An Edge-Real-Time Object Detector》

Liu S, Zha J, Sun J, et al. EdgeYOLO: An edge-real-time object detector[C]//2023 42nd Chinese Control Conference (CCC). IEEE, 2023: 7507-7512. CCC-2023 源码:https://github.com/LSH9832/edgeyolo 论文:https://arxiv.org/pdf/2302.07483 …

宫格导航--纯血鸿蒙组件库AUI

摘要: 宫格导航(A_GirdNav):可设置导航数据,建议导航项超过16个,可设置“更多”图标指向的页面路由。最多显示两行,手机每行最多显示4个图标,折叠屏每行最多6个图标,平板每行最多8个图标。多余图…

调试的按钮

在Debug的时候,会有一些按钮,我们需要知道它们各自的作用。 注:调试器本身并没有一个直接的、可以撤销已执行代码效果的“返回上一步(Undo Last Step)”或“逆向执行(Reverse Debugging)”按钮…

人工智能如何协助老师做课题

第一步:在腾讯元宝对话框中输入如何协助老师做课题,通过提问,我们了解了老师做课题的步骤和建议。 第二步:开题报告提问,腾讯元宝对话框中,输入“大单元视域下小学数学教学实践研究课题开题报告。”......…

OpenGL Chan视频学习-5 Vertex Attributes and Layouts in OpenGL

bilibili视频链接: 【最好的OpenGL教程之一】https://www.bilibili.com/video/BV1MJ411u7Bc?p5&vd_source44b77bde056381262ee55e448b9b1973 一、知识点整理 1.1.OpenGL管线工作流程 为显卡提供绘制的所有数据,并将数据存储在GPU内存使用着色器&…

Linux_编辑器Vim基本使用

✨✨ 欢迎大家来到小伞的大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:LInux_st 小伞的主页:xiaosan_blog 制作不易!点个赞吧!!谢谢喵!&a…

MyBatis 高级映射功能详解:处理复杂数据库关系

MyBatis 的高级映射功能是其强大特性之一,它允许开发者轻松处理数据库中的复杂关系,如一对一、一对多和多对多关系。本文将深入探讨这些高级映射功能,包括映射配置方法、嵌套查询和关联查询的使用,并通过示例代码进行演示。 1.数据…

Halo:一个强大易用的国产开源建站工具

Halo 是一款国产开源的建站工具,适合快速搭建博客、论坛、知识库、公司官网等多种类型的网站,目前在 GitHub 上已经获得了 35.6k Star。 功能特性 Halo 核心功能与优势包括: 插件架构:Halo 采用可插拔架构,功能模块之…

Java-ArrayList集合的遍历方式详解

Java-ArrayList集合的遍历方式详解 二、ArrayList概述三、ArrayList的遍历方式1. 普通for循环遍历2. 增强for循环遍历3. 迭代器遍历4. ListIterator遍历5. Java 8 Stream API遍历 四、性能对比与分析性能测试结果分析 五、遍历方式的选择建议六、常见遍历陷阱与注意事项1. 并发…

华为网路设备学习-23(路由器OSPF-LSA及特殊详解 二)

OSPF动态路由协议要求: 1.必须有一个骨干区域(Area 0)。有且仅有一个,而且连续不可分割。 2.所有非骨干区域(Area 1-n)必须和骨干区域(Area 0)直接相连,且所有区域之间…

基于大模型的急性腐蚀性胃炎风险预测与诊疗方案研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目的 1.3 国内外研究现状 二、急性腐蚀性胃炎概述 2.1 定义与发病机制 2.2 病因分析 2.3 临床表现与分型 2.4 诊断方法 三、大模型技术介绍 3.1 大模型原理 3.2 常用大模型及在医疗领域应用案例 3.3 选择用于急性腐蚀性…

泰迪杯特等奖案例深度解析:基于三维点云与深度学习的复杂零件装配质量检测系统设计

一、案例背景与行业痛点 1.1 工业装配质检的现状与挑战 在精密制造领域(如航空航天发动机、新能源汽车电池模组),复杂零件的装配质量直接影响产品性能与安全性。传统人工质检存在效率低(单件检测耗时>3分钟)、漏检率高(约15%)等问题,而现有自动化方案面临以下技术…

离散傅里叶变换DFT推导及理解

DTFT到DFT的推导 关于DTFT的相关推导已经做过总结,详见《DTFT及其反变换的直观理解》,每一个离散的频率分量都是由时域中的复指数信号累加得到的,DTFT得到的频谱时频率的连续函数 。 离散时间傅里叶变换公式,式1: 将…