Object Aligner:一种可配置的JSON Schema图相似度评分,应用于LLM提示优化

arXiv cs.CL 论文

摘要

Object Aligner 是一个开源的 Python 库,通过递归对齐两棵 JSON 对象的树结构,对无序集合使用匈牙利算法、对有序集合使用序列对齐,从而确定性评分。它引入了针对图/超图的引用对齐,并可作为 LLM 提示优化中的奖励函数。

arXiv:2607.01972v1 公告类型:新 摘要:大型语言模型(LLM)通常被要求生成符合固定 schema 的 JSON,用于信息抽取、工具调用、智能体规划和知识图谱构建。衡量输出与黄金参考的匹配程度至关重要却异常困难:精确匹配脆弱,文本相似性忽略结构,而 LLM 评估器代价高昂、不透明且非确定性。我们通过 Object Aligner(OA)解决此问题,这是一个开源的 Python 库,通过递归对齐两棵 JSON 对象的树结构(无序集合使用匈牙利算法,有序集合使用序列对齐),并以 schema 声明的粒度授予部分分数,从而确定性评分。Object Aligner 完全通过一组 JSON Schema 扩展进行配置,因此适应新任务只需注释 schema 而非编写代码。然而,复杂的结构化数据很少是平面树:记录可能形成以任意标识符为键的图或超图,打破了先前相似性度量的假设。我们的核心贡献——引用对齐——通过推断黄金与候选标识符之间的双射,并以此评分所有引用来弥补这一差距,使得分数对重标号不敏感。由于精确恢复该双射是图同构问题,Object Aligner 使用 Weisfeiler-Lehman 颜色细化来近似它。一个对顺序敏感的序列机制针对排序和规划。由于同一对齐定位每个不匹配,Object Aligner 无需额外代价即可输出排序后的修复建议。作为 GEPA 提示优化器内部的奖励使用时,Object Aligner 在所有数据集上均起到帮助或保持中立。
查看原文
查看缓存全文

缓存时间: 2026/07/03 05:42

# Object Aligner:一种可配置的JSON Schema图相似度得分,应用于LLM提示优化

来源:https://arxiv.org/html/2607.01972  
Jan DrchalJ. Drchal就职于捷克布拉格捷克理工大学电气工程学院人工智能中心(电子邮箱:[email protected])。本研究得到捷克共和国技术局Sigma计划的资助,项目编号TQ01000100。预印本。本文为提交至IEEE Access审稿中的稿件版本,尚未经过同行评审。

###### 摘要

大语言模型(LLM)经常被要求生成符合固定模式的JSON,用于信息抽取、工具调用、智能体规划和知识图谱构建。衡量输出与黄金参考的匹配程度至关重要,但出奇困难:精确匹配过于脆弱,文本相似性忽略结构,而LLM评判成本高、不透明且非确定性。我们提出*Object Aligner*(OA)来解决这一问题,这是一个开源的Python库,通过递归对齐两棵JSON对象的树(无序集合使用匈牙利算法,有序集合使用序列对齐),并根据模式声明的粒度给予部分得分,从而以确定性方式对两个JSON对象进行评分。Object Aligner完全通过一组JSON Schema扩展进行配置,因此适应新任务只需注释模式,而非编写代码。

然而,复杂的结构化数据很少是扁平树:记录可能形成由任意标识符键控的图或超图,这打破了先前相似度指标的假设。我们的核心贡献——*引用对齐*——通过推断黄金与候选标识符之间的双射,并通过该双射对每个引用进行评分,从而弥合了这一差距,使得分不受重标签影响。由于精确恢复此双射等同于图同构,Object Aligner使用Weisfeiler–Leman颜色细化进行近似。一种对顺序敏感的*序列*模式针对排序和规划任务。由于相同的对齐定位了每一个不匹配,Object Aligner在不增加额外成本的情况下,输出按排名排列的修复建议。当作为GEPA提示优化器内部的奖励使用时,Object Aligner在所有数据集上均有助于或至少不损害性能。

## I. 引言

比较复杂结构化数据,即衡量两个结构化对象的一致程度,是多种场景下的基本操作:自动化测试、版本间的变更检测、记录链接,以及机器学习系统相对于参考输出的评估。随着大语言模型(LLM)的出现,这一需求变得更加迫切。除了自由文本外,LLM经常被要求返回符合固定模式(通常是JSON)的数据,以便其输出能够被下游系统直接解析、存储和使用:信息抽取、文档理解、工具和函数调用、智能体规划以及知识图谱构建均依赖于此。JSON是实践中应用最广泛的数据格式之一,尽管本质上是一棵树,但记录之间的交叉引用使其能够编码一般图结构和超图结构(图1)。因此,判断两个这样的对象是否一致(例如模型预测与黄金参考)既常见又困难:比较必须忽略诸如重新排序或标识符重新编号等表面差异,并对结构上正确的部分给予肯定。

`schema={"type":"object","properties":{ "people":{"type":"array","order":"align", "items":{"type":"object","keyImportance":0.0,"valueImportance":1.0,"properties":{ "id":{"type":"integer","idScope":"person"}, "name":{"type":"string","score":"exact","valueWeight":2.0}, "role":{"type":"string","score":"exact","enum":["Manager","Engineer","Intern"]}}}}}, "mentorships":{"type":"array","order":"align","ignoreExcess":true, "items":{"type":"object","properties":{ "mentor":{"type":"integer","ref":"person"},"mentee":{"type":"integer","ref":"person"}}}}, "agenda":{"type":"array","order":"fixed","items":{"type":"string","score":"jaro","threshold":0.3}}, "period":{"type":"array","prefixWeights":[1,1], "prefixItems":[{"type":"integer","score":"invdiff"},{"type":"integer","score":"invdiff"}]}}} gold={ "people":[ {"id":1,"name":"Alice","role":"Manager"}, {"id":2,"name":"Bob","role":"Engineer"}, {"id":3,"name":"Carol","role":"Engineer"}, {"id":4,"name":"Dave","role":"Engineer"}, {"id":5,"name":"Dave","role":"Engineer"}, {"id":6,"name":"Eve","role":"Intern"}], "mentorships":[ {"mentor":1,"mentee":4}, {"mentor":2,"mentee":3}, {"mentor":3,"mentee":5}], "agenda":["intro","reviews","closing"], "period":[2023,2025]} candidate={ "people":[ {"id":90,"name":"Dave","role":"Engineer"}, {"id":91,"name":"Alice","role":"Manager"}, {"id":92,"name":"Dave","role":"Engineer"}, {"id":93,"name":"Carol","role":"Engineer"}, {"id":94,"name":"Bob","role":"Engineer"}], "mentorships":[ {"mentor":91,"mentee":92}, {"mentor":94,"mentee":93}, {"mentor":93,"mentee":90}], "agenda":["reviews","intro","closin"], "period":[2023,2026]} `

图1:激励性示例,全文用作贯穿示例。模式(顶部)声明了people标识符和引用它们的mentorships;Object Aligner扩展以橙色显示(附录A)。gold和candidate编码了*相同*的组织结构图,尽管candidate重新编号了每个id并重新排列了people列表。两条Dave/Engineer记录是属性完全相同的*孪生体*:只有图结构才能区分它们(第III-E节)。候选对象还省略了实习生Eve,调换了前两个agenda项,在第三个中遗漏了一个字符,并且在period上差了一年。在标识符双射$\pi=\{1\mapsto 91, 2\mapsto 94, 3\mapsto 93, 4\mapsto 92, 5\mapsto 90, 6\mapsto \bot\}$下,每个mentorship都匹配;残差误差产生$s=0.77$。

当评分过程本身必须可控——可重复且可审计——时,基于LLM的评判并非解决方案。LLM作为评判者[26]用另一个模型替代了人类评估者,但它继承了我们要逃脱的困难:评判者本身需要被提示、校准和验证;它成本高、有噪声且非确定性;容易产生位置和冗长偏见;其裁决不透明,因此难以审计。通用的文本相似度指标[64,48,45]避免了这些成本,但完全丢弃了结构。相反,我们需要的是一个确定性的、模式感知的得分,直接比较预测与黄金对象,并对正确的部分给予肯定。

我们提出*Object Aligner*(OA),一种高度可配置的结构化输出相似度得分111遵循评估文献中的常见用法,我们互换使用“得分”和“指标”这两个术语,尽管Object Aligner在严格数学意义上不是指标。,通过递归的、模式驱动的黄金与候选树对齐来计算,使用适当的优化对齐算法匹配每个节点的子节点:无序集合使用匈牙利算法,有序集合使用序列对齐动态规划(例如图1中的示例)。设计上,该得分是确定性的、可分解的、模式感知的,因此部分正确的对象会在模式声明的粒度上获得部分得分。比较完全由一组小的JSON Schema扩展(逐字段权重、叶子比较器以及排序和引用语义)驱动的模式驱动,因此将Object Aligner适应新任务只需注释模式,而非编写代码。Object Aligner以开源Python模块形式发布。

这样的得分有多种用途;本研究专注于其中一个:提示优化。诱导LLM产生*正确*的结构化输出是困难的:性能对任务的表述方式、展示的示例以及模式及其约束的解释方式高度敏感。因此,构建可靠的流水线越来越成为提示工程的工作。提示优化(PO)框架通过迭代提出和优化提示来自动化这一搜索,可以以一小部分人力成本达到或超越细致的手动调优[44]。无论采用何种方法,衡量候选质量的奖励决定了PO搜索能够实现什么:没有搜索能优化其奖励看不到的质量。该奖励是在标注数据集上计算的,并在循环中对许多候选提示进行评估。这正是Object Aligner的适用之处——一个确定性的、可分解的结构化奖励——尽管提示优化远非其唯一用途。通常的替代方案是使用LLM对候选进行评分或反思其失败,这在计算上要求高且非确定性,在搜索所需的规模下运行成本高昂,难以重现和审计,且对提示和位置偏见敏感——这些正是最初推动受控得分的问题。

核心思想——黄金与候选树的并排递归匈牙利匹配——由STED[56]和ExtractBench[14]同时描述,并在Stickler[2]中实现。我们的公开记录实现222https://github.com/aic-factcheck/prompt_opt,提交于2024-12-20。先于所有这些,我们将这部分工作视为同时发现。以这一共同思想为起点,我们选择对其进行扩展;因此我们的主要贡献包括:

- • 一个开源的Python库,实现Object Aligner333https://github.com/aic-factcheck/object_aligner,完全通过JSON Schema扩展配置,可作为即插即用的奖励部署到现有的提示优化框架中,如DSPy[20]、GEPA[1]和TextGrad[60]。
- • 将确定性结构得分用作提示优化器的奖励信号。据我们所知,这是第一个由模式感知的嵌套结构部分得分驱动的PO流水线。
- • 适用于(超)图的*引用对齐*:一种对标识符重标号不变的评分机制,推断黄金与候选标识符之间的双射,并通过该双射对每个引用进行评分,使用Weisfeiler–Leman颜色细化[58]近似,因为精确恢复双射等同于图同构(第III-E节)。
- • *逐列表序列语义*:在顺序无关匹配、适用于排序和规划任务的单调插入/删除感知模式,以及*位置元组*——固定元数量的序列,其槽位带有位置特定含义,每个槽位有自己的重要性和比较器(第III-C节)。
- • 用于提示优化的*确定性排名反馈*:产生得分的相同黄金-候选对齐也标出候选偏离黄金的位置,并将这些不匹配作为修复操作发出——这些编辑将使候选更接近黄金——按每个编辑可恢复的确切得分排序,因此优化器被指向最重要的更改,无需调用LLM(第III-F节)。
- • 在合成数据(允许我们隔离和控制得分的特定属性)和真实世界数据集上的实证研究444所有实验的代码可在https://github.com/aic-factcheck/object_aligner_paper获取,确保可重复性。

本文的其余部分组织如下。第II节回顾结构相似度指标、并发的结构化输出评分器以及提示优化。第III节定义Object Aligner及其扩展。第IV节描述数据集,第V节报告实验。第VI节讨论发现,第VII节讨论局限性,第VIII和IX节总结并展望未来工作。

## II. 相关工作

Object Aligner建立在比较结构化对象的长期工作基础上,并受近期一项工作的启发:需要廉价、可靠奖励信号的提示优化器。我们首先回顾结构相似性,然后回顾并发的结构化输出评分器,最后讨论定义该用例的提示优化框架。

### II-A 结构化数据的相似性评分

#### 树编辑距离。
比较树经典地表述为树编辑距离(TED):将一棵树转换为另一棵树的节点插入、删除和重标号的最小成本脚本[52]。对于有序树,Zhang–Shasha算法以多项式时间计算TED[62],APTED是目前最先进的技术[42]。对于无序树,该问题是NP难的,Zhang的*约束*编辑距离通过要求不相交子树映射到不相交子树恢复了可计算性,这将对每个节点子节点的匹配简化为二分赋值[63]:这是Object Aligner递归最接近的经典先例。X-Diff将相同的限制应用于无序XML变更检测[57]。所有这些都在统一、手动设置的操作成本下返回编辑成本:它们没有模式、逐字段重要性或分级叶子相似性的概念。

#### 作为评估原语的最优赋值。
匈牙利算法[22]在评估中有着悠久的历史。在指代消解中,CEAF通过黄金与预测实体簇之间的最大权重二分匹配对系统进行评分[29],与基于链接的MUC[55]和LEA[31]以及基于提及的B3[3]形成对比。模板填充评估通过一层递归扩展了CEAF——模板根据其槽位填充的综合相似性进行匹配[12,10]——但仍局限于扁平的MUC风格模板。在计算机视觉中,DETR在训练损失中使用相同的匹配进行集合预测[8]。最直接地,图编辑距离的二分近似将NP难比较简化为节点编辑成本上的单一线性赋值[46]。Object Aligner将类似思想递归地应用于模式类型树,成本矩阵计算…

相似文章

成对参考对齐作为模型级别的序数可观测变量

arXiv cs.CL

本文形式化了成对参考对齐作为模型级别的序数可观测变量,定义了一个统计量来衡量模型评分与参考偏好分布之间的一致性,并给出了有限样本估计量以及在Qwen2.5模型和RewardBench上的实证研究。

语言模型中对齐算法的机制分析

arXiv cs.LG

本文对六种偏好优化方法(PPO、DPO、SimPO、ORPO、GRPO、KTO)在三种开源模型系列上进行了系统性的机制分析,通过探针和稀疏自编码器揭示了对齐算法如何以不同的方式重塑内部表示。

跨语言推理的软令牌对齐

arXiv cs.CL

提出SOLAR,一种辅助微调目标,通过跨语言对齐软令牌表示来提高多语言推理一致性,准确率提升高达+17.7个百分点。

PolyAlign: 条件化人类分布对齐

arXiv cs.CL

PolyAlign是一个分布感知的对齐框架,它将语言模型对齐到特定上下文的人类回复分布,而不是单一的全局风格,从而提升了双语环境下的自然性和忠实度。