基于LLM的数据质量错误检测

原文地址:automated-detection-of-data-quality-issues

2024 年 3 月 23 日

本文是有关使用大型语言模型 (LLM) 清理数据的系列文章中的第二篇文章,重点是识别表格数据集中的错误。

该图概述了我们将在本文中探讨的方法,该方法侧重于在最少的人工参与下评估表格数据集的数据脏度分数。

数据脏度分数

我们鼓励读者首先阅读有关数据脏度分数的介绍性文章,其中解释了关键假设并演示了如何计算该分数。

快速回顾一下,数据脏度分数估计数据集中包含错误的单元格的预期比例。以下是该指标背后的关键假设:

  • 数据错误与违反约束有关。
  • 如果没有预期,就不会对分数产生影响
  • 数据问题可以精确定位到特定的cell
  • 每个数据错误都会分配一个置信度分数
  • 每个单元格对总分都有相同的影响。

此过程的第一步涉及识别和分类数据集中存在的数据不准确之处。

自动检测数据质量问题的重要性

检测数据问题在此过程中至关重要,但由于以下几个因素而具有挑战性:

  • 人工标记成本高:识别数据错误通常需要数据专业人员(如科学家、工程师和分析师)或主题专家 (SME) 的大量输入。这需要大量时间并且成本高昂。
  • 数据从业者对这项繁重的工作缺乏热情:众所周知,许多业内人士认为数据清理是他们工作中不太有吸引力的方面。数据清理被视为建模、构建现代数据堆栈或回答业务查询等更具吸引力的活动的先驱,其优先级列表中的数据清理通常排在较低的位置,从而导致拖延,或者在某些情况下完全被忽视,直到出现关键问题。
  • 中小企业的局限性:中小企业拥有宝贵的知识,但可能缺乏 SQL 或编程等技术技能。虽然无代码和低代码工具在一定程度上有所帮助,但它们尚未被完全采用,并且可能无法涵盖所有​​数据管理方面,例如版本控制。
  • 专业知识差距:有效的数据清理超越了基本技能,需要专门的专业知识。缺乏培训以及对数据准备普遍不感兴趣意味着许多从业者可能只能识别出表面的错误,而忽略了需要更深入地了解数据清理的更复杂的问题。

尽管存在固有的挑战,大型语言模型 (LLM) 领域的进步为自动识别简单数据问题和发现更复杂的数据质量问题提供了有前景的解决方案。

由LLM提供支持的数据错误检测

大型语言模型正在成为自动检测数据质量问题的宝贵工具,成为高效的人机交互迭代过程的有效起点。模型,例如《Jellyfish:用于数据预处理的大型语言模型》等论文中讨论的模型,语言模型可以自动处理数据吗?大型语言模型作为数据预处理器,展示了它们自动约束生成和数据错误检测的潜力。这种自动化并没有取代人工干预,而是增强了人工干预,允许通过直接解决问题或修改置信度分数以反映数据错误检测中固有的不确定性来审查和调整自动化约束。

LLM特别适合检测数据质量问题,因为他们接受过各种互联网内容的广泛培训,包括大量的领域知识和与数据质量问题相关的大量代码审查示例。这种培训使LLM能够根据文本内容识别数据错误,而不需要明确定义的规则。通过将表格数据集转换为纯文本(称为序列化),LLM可以像经验丰富的团队一样仔细检查数据,利用他们的“压缩”互联网知识来查明错误。这种广泛的培训使他们能够以模仿人类专业知识的直觉水平识别人类可读数据集(例如 CSV 文件)中的潜在错误。此外,特定领域知识中的任何差距都可以通过检索增强生成 (RAG) 等技术或根据数据集的特定性质定制模型的提示来弥补。

在数据错误检测中采用LLM的另一个关键优势是它们能够处理与数据质量问题相关的固有不确定性。并非所有错误都是直截了当的,甚至专家有时也会对数据问题的构成存在分歧。LLM可以为他们的发现分配置信度分数,就像人类基于直觉和经验的混合所做的那样,反映错误的估计可能性。

跨不同数据集和潜在问题进行泛化错误检测的挑战是巨大的。传统方法通常采用一组广泛的决策规则或专门的机器学习模型的组合来解决各种场景,例如检查地址和电话号码的有效性或异常检测。这就是LLM的闪光点,它提供了适应性更强、劳动力密集程度更低的替代方案。它们无需大量基于规则的系统或特定领域模型即可理解和识别各种数据质量问题的能力使它们成为宝贵的工具。机器学习方法相对于传统业务规则或统计方法的优势的类比非常有趣。机器学习的采用是由于其相对易用性和跨不同用例的适应性,需要较少的特定领域知识和实施时间。

接下来,我们将通过一个实际例子来演示这种方法。

案例研究

在上一篇文章中,我们使用《清理数据以实现有效数据科学》一书中的数据集示例探讨了数据脏度分数的概念。有问题的数据集如下:

Student#,Last Name,First Name,Favorite Color,Age
1,Johnson,Mia,
  • 19
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于LLM(Language Model)的测试效率提升主要体现在以下几个方面: 1. 自动化测试:LLM的出现使得测试工程师能够利用自然语言的特点,快速生成测试用例和测试脚本。相比传统的手动编写测试用例,LLM能够极大地减少测试人员的工作量和时间成本,提高了测试效率。 2. 敏捷开发:LLM能够快速学习和适应不同的测试场景和需求,根据不同的自然语言输入生成相应的测试用例和脚本。这种灵活性使得测试人员能够更加快速地响应项目变更,及时执行测试,提高了敏捷开发的效率。 3. 覆盖率提升:LLM可以根据自然语言输入,自动生成全面且具有一定逻辑性的测试用例。相比人工编写测试用例,LLM能够更好地覆盖不同功能模块的边界条件和异常情况,从而提高测试的覆盖率。 4. 功能验证加速:LLM通过自动生成测试用例和脚本,可以快速验证新功能的正确性和稳定性。测试人员只需输入相应的功能描述,LLM会自动生成相应的测试用例,从而加快了功能验证的速度。 5. 测试回归:LLM可以根据自然语言输入,快速生成全面的测试脚本,以及对应的测试数据和预期结果。这种自动化回归测试能够提高测试的复用性和可维护性,降低了回归测试的工作量,提高了回归测试的效率。 综上所述,基于LLM的测试效率提升主要体现在自动化测试、敏捷开发、覆盖率提升、功能验证加速和测试回归等方面。LLM的应用能够帮助测试人员更快速、全面地进行测试工作,提高测试效率,降低测试成本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值