使用语义抽取策略评估生成模型的研究:QA及其他领域的案例探索实践

1. 引言

背景与问题

生成模型,尤其是大型语言模型(LLMs),已经彻底改变了自然语言处理(NLP),在问答(QA)、摘要和文本到SQL等任务中实现了前所未有的性能。然而,随着这些模型的广泛应用,评估其性能变得越来越重要。有效的评估不仅确保了这些模型的可靠性,还为改进和在现实场景中的应用提供了可操作的见解。

传统的评估指标如精确匹配(EM)、BLEU和ROUGE最初是为静态、表面层次的文本相似性评估设计的。虽然这些方法在相对简单的任务中表现良好,但它们难以应对现实世界QA场景中的复杂性和变异性。具体来说,这些指标通常:

  • 忽视语义等价性。
  • 过分关注词汇重叠。
  • 未能考虑同样有效答案中的细微变化。

现有方法的局限性

传统方法在评估生成模型时面临几个关键限制,特别是在QA背景下:

  • 语义盲点:像BLEU和ROUGE这样的指标依赖于n-gram重叠,这并不考虑语义正确性。这通常会导致对词汇相似但语义错误的输出给出过高的分数。
  • 复杂场景中的不灵活性:在开放域QA中,可能存在多个正确答案,传统方法难以捕捉多样但有效的回答,需要详尽的参考答案。
  • 上下文不足:许多现有方法未能评估上下文中的答案,导致表面正确性与现实适用性之间的差异。
  • 自动化挑战:自动化指标往往无法平衡效率和深度,忽略了推理一致性或上下文相关性等关键方面。

我们的贡献

为了解决这些差距,我们提出了一种新的评估策略:生成语义评估策略(GSES)。与传统方法不同,GSES通过结构化的信息提取和比较过程,强调语义正确性和上下文对齐。

GSES的关键特性:

  • 语义中心评估:关注内容的意义而非表面形式。
  • 适应多样化场景:支持复杂的QA任务,包括开放域和多答案设置。
  • 自动化与可靠性:利用LLMs自动化关键信息点的提取和比较。
  • 泛化潜力:可扩展到其他生成任务,如代码生成或摘要。

2. GSES方法论

方法细节

GSES通过结构化的多步骤过程在语义层面上评估生成模型:

  1. 关键信息点定义

    • 在参考答案中识别关键的语义元素或“信息点”。
    • 这些元素代表任何正确答案必须包含的基本组成部分。
  2. 信息点提取

    • 使用基于规则的技术和LLMs从参考答案和生成答案中提取相应的信息点。
  3. 语义比较

    • 逐点比较提取的信息点,评估:
      • 存在性:是否包含必要的信息点。
      • 准确性:提取的信息点是否与参考意义一致。
      • 完整性:是否涵盖了所有必要的信息点。
  4. 评分与反馈生成

    • 将结果汇总为反映语义正确性和完整性的最终分数。
    • 提供详细反馈,突出成功或失败的领域。

特性与创新

  • 可靠性:GSES减少了过度重视表面词汇匹配或惩罚有效但不同表达答案的风险。
  • 适应性:其模块化性质允许适应QA、摘要和代码生成等任务。
  • 可解释性:与传统指标不同,GSES提供可解释的反馈,识别具体的优势和劣势。
  • 可扩展性:通过集成LLMs,GSES自动化关键步骤,使大规模评估高效而不牺牲深度。
  • 领域独立性:虽然最初设计用于QA,但GSES本质上是领域无关的,适用于各种生成任务。

3. 实验与结果

实验设计

为了验证GSES的有效性,我们进行了实验,将GSES与传统评估指标(精确匹配和BLEU)进行比较。

数据来源

来自企业智能助手内部知识库的查询和相关文档。

问题类型

  • 事实性问题:例如,“你昨晚吃晚饭了吗?”
  • 程序性问题:例如,“如何重置我的账户密码?”
  • 条件性问题:例如,“高级会员有哪些福利?”

生成答案

使用Qwen-Plus模型(未微调)在默认提示下生成。

评估指标

  • 传统指标
    • 精确匹配(EM):衡量生成答案是否与参考答案完全匹配。
    • BLEU:评估n-gram重叠以衡量词汇相似性。
  • GSES指标
    • 关键元素完整性:评估生成答案是否包含参考答案中的所有关键元素,并确保意义一致性。

示例分析与结果

示例1:条件性问题

问题:高级会员有哪些福利?
参考答案:免费送货、优先支持和独家折扣。

答案 EM BLEU 关键元素完整性 备注
高级会员享受免费送货、优先支持和特别折扣。 100% 95% 100% 包含所有关键元素。
高级会员获得免费送货和独家优惠。 0% 85% 66% 缺少“优先支持”。
高级会员获得免费送货和优先支持。 0% 70% 66% 缺少“独家折扣”。
高级会员没有特别福利,只有基本优惠。 0% 50% 0% 与参考答案矛盾。

示例2:程序性问题

问题:如何重置我的账户密码?
参考答案:进入账户设置,选择“重置密码”,验证身份,并按照说明操作。

答案 EM BLEU 关键元素完整性 备注
进入账户设置,点击“重置密码”,并确认身份。 100% 90% 75% 缺少“按照说明操作”。
要重置密码,请进入设置并按照说明操作。 0% 75% 50% 缺少“选择‘重置密码’”。
在账户设置中选择“重置密码”。 0% 60% 50% 缺少“验证身份”。

示例3:事实性问题

问题:你昨晚吃晚饭了吗?
参考答案:昨晚吃了晚饭。

答案 EM BLEU 关键元素完整性 备注
我昨晚吃了晚饭。 0% 85% 100% 匹配“昨晚”和“吃了晚饭”。
我昨晚用餐了。 0% 70% 100% “用餐”是“吃了晚饭”的同义词。
我的晚餐是红烧肉。 0% 60% 100% “晚餐”暗示“吃了晚饭”。
昨晚我没时间,所以没吃。 0% 50% 0% 与参考答案矛盾。
昨晚我去散步了。 0% 40% 0% 缺少两个关键元素。

关键观察

  • 传统指标的局限性
    • EM:要求完全匹配,无法捕捉同义词或重新表述的答案。
    • BLEU:过分强调词汇重叠,导致对错误答案的分数过高。
  • GSES的优势
    • 准确评估关键元素的包含和意义一致性。
    • 区分隐含表达和遗漏。
    • 稳健处理矛盾,将其标记为无效。

4. 泛化与扩展应用

示例探索:数据库连接管理

场景:开发人员提交了用于查询数据库的代码。提交的代码旨在从数据库中获取数据,但缺乏显式的错误处理和连接关闭机制。

提交的代码

def fetch_data(query):
    connection = connect_to_database()
    result = connection.execute(query)
    return result

步骤1:定义关键元素(最佳实践)

评估基于以下关键元素:

  • 显式连接关闭:数据库连接应在使用后显式关闭,以防止资源泄漏。
  • 错误处理:查询应包括处理潜在运行时异常的机制(例如,数据库连接错误)。
  • 使用上下文管理器:优先使用上下文管理器(例如,with语句)来管理数据库连接。

步骤2:提取信息点

从提交的代码中,GSES识别出以下信息点:

  • 数据库连接connection = connect_to_database()
  • 查询执行result = connection.execute(query)
  • 连接关闭:未观察到显式连接关闭。
  • 错误处理:未发现错误处理(例如,try-except)。
  • 上下文管理器使用:未使用with语句进行连接管理。

步骤3:比较信息点

GSES将提取的信息点与预定义的关键元素进行比较:

关键元素 观察 状态
显式连接关闭 未实现连接关闭。
错误处理 未捕获运行时错误的机制。
使用上下文管理器 使用手动连接管理。

步骤4:评分与反馈

评估分数

  • 显式连接关闭:0%(未实现关闭逻辑)。
  • 错误处理:0%(未使用try-except块或等效机制)。
  • 使用上下文管理器:0%(未使用with进行资源管理)。

反馈

  • 显式连接关闭
    使用try-finally块实现显式连接关闭:
    def fetch_data(query):
        connection = connect_to_database()
        try:
            result = connection.execute(query)
        finally:
            connection.close()
        return result
    
  • 错误处理
    添加错误处理以捕获潜在的运行时异常:
    def fetch_data(query):
        try:
            connection = connect_to_database()
            try:
                result = connection.execute(query)
            finally:
                connection.close()
        except Exception as e:
            raise RuntimeError(f"数据库查询失败: {e}")
        return result
    
  • 使用上下文管理器
    使用上下文管理器简化资源管理:
    def fetch_data(query):
        with connect_to_database() as connection:
            result = connection.execute(query)
        return result
    

关键观察

  • GSES评估中的关键步骤
    • 关键元素定义:专注于与数据库管理相关的最佳实践。
    • 信息点提取:识别实践的存在或缺失(例如,关闭逻辑、错误处理)。
    • 语义比较:指出代码未能满足预定义标准的领域。
  • GSES的优势
    • 提供关于编码标准遵守的结构化反馈。
    • 指出具体缺陷(例如,缺少连接关闭)而非泛泛而谈代码质量。
    • 提供改进的可操作建议。
  • 适用性
    • 这种方法可以推广到其他业务特定的编码实践,如API使用、文件处理或安全要求。

5. 结论与未来工作

结论

GSES已被证明是一种有效且结构化的评估框架,特别是在QA任务中。通过专注于关键元素提取和语义比较,GSES解决了传统指标如精确匹配(EM)和BLEU的局限性。其核心优势包括:

  • 评估的精确性:GSES评估生成输出是否包含所有关键元素并与参考意义一致,确保语义正确性和完整性。
  • 适应性:该框架可以处理多样化的任务,包括具有多个有效答案或灵活表述的场景。
  • 可扩展性:通过自动化信息提取和比较过程,GSES高效处理大规模数据集,同时保持评估深度。

与传统指标不同,GSES提供了一种细粒度和任务特定的方法来评估生成模型,确保在现实场景中的可靠性和适用性。

未来工作

展望未来,GSES在扩展到其他生成任务方面具有显著潜力,包括但不限于:

  • 代码评估
    • 评估代码生成输出是否符合技术标准(例如,资源管理、错误处理)。
    • 根据任务要求评估逻辑正确性和完整性。
  • 摘要与报告生成
    • 评估生成摘要或报告的事实准确性、主题覆盖率和完整性。
    • 确保输出与预定义的关键点或参考文档一致。
  • 创意内容评估
    • 通过关注结构连贯性、主题一致性和提示遵守情况,调整GSES以评估故事或诗歌等输出。
  • 动态和多轮任务
    • 将GSES应用于多轮对话或决策场景,其中上下文一致性和推理深度至关重要。

优化方向

为了增强GSES的可用性和有效性,未来的优化工作可能包括:

  • 精细化自动化
    • 提高自动化关键元素提取的准确性,以应对更复杂的任务。
    • 通过任务特定模板减少对关键元素手动定义的依赖。
  • 领域特定适应
    • 为具有主观或松散定义标准的领域(如创意内容生成)开发定制的评估机制。
    • 将GSES扩展到高度专业化的应用,如法律文件起草或财务分析。
  • 集成到开发工作流
    • 将GSES嵌入CI/CD管道,以在开发过程中实时评估模型输出的质量。
    • 创建模块化API,以便无缝集成到现有工具链中。
  • 增强可扩展性
    • 优化框架以处理大规模数据集和高吞吐量环境,而不影响评估精度。

最终评述

GSES为评估生成模型提供了一个坚实的基础,特别是在QA及其他领域。通过专注于语义正确性和任务特定标准,它确保了评估的精确性、适应性和可扩展性。虽然其当前应用前景广阔,但未来的工作在于完善和扩展GSES以处理更广泛的任务,确保其在快速发展的生成AI领域中的持续相关性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354