分享自:

LLM在电子表格数据处理中的应用

期刊:2025 IEEE/ACM 47th International Conference on Software Engineering (ICSE)DOI:10.1109/ICSE55347.2025.00101

本文档属于类型a,即报告了一项原创性研究。以下是针对该研究的学术报告:

作者及机构
本研究的核心作者团队来自Virginia Tech(弗吉尼亚理工大学),包括Cho-Ting Lee、Andrew Neeser、Shengzhe Xu、Jay Katyan、Patrick Cross、Sharanya Pathakota等。合作者还包括来自World Forest ID的Marigold Norman、Simeone Consulting的John Simeone,以及Virginia Tech的Jaganmohan Chandrasekaran和Naren Ramakrishnan。该研究发表于2025年IEEE/ACM第47届国际软件工程会议(ICSE),论文标题为《Can an LLM Find Its Way Around a Spreadsheet?》。


学术背景
研究领域为自然语言处理(NLP)与软件工程的交叉领域,聚焦于大型语言模型(LLM)在数据预处理中的应用。研究背景基于以下问题:
1. 现实需求:电子表格(spreadsheet)是商业和科学领域广泛使用的工具,但数据清洗(如处理拼写错误、缺失值、格式不一致等)通常需要高度专业化的代码流程,普通用户难以直接操作。
2. 技术挑战:尽管LLM在代码生成方面表现优异,但在表格数据处理中仍存在局限性,例如易产生幻觉(hallucination,即生成不存在的函数或语法错误)或无法精准适配用户需求。
3. 研究目标:开发一个基于LLM的自动化系统Tradesweep,通过自然语言交互生成可执行的数据预处理代码,并动态扩展代码库以提升后续任务效率。


研究流程
研究分为以下核心环节:

  1. 系统设计

    • 代码库构建:初始包含12种常见预处理函数(如日期标准化、字符串清洗、缺失值填充等),以向量数据库(QDrant)存储,支持基于余弦相似度的检索。
    • Prompt增强(Prompt Augmentation):用户输入请求后,系统通过检索增强生成(Retrieval-Augmented Generation, RAG)从代码库中提取前k(k=3)个最相关的函数嵌入提示词,减少幻觉风险。
    • 代码生成与迭代:LLM(CodeLlama-13B-Instruct)生成Python代码提案,并支持以下修正场景:
      • 格式错误:未包含数据框(dataframe)读写结构时自动修正。
      • 执行错误:通过样本数据测试捕获异常(如KeyError),反馈至LLM重新生成。
      • 用户反馈:提供可视化执行结果,用户可基于输出结果(非代码细节)提出修改需求。
  2. 实验验证

    • 数据集:使用3个真实贸易数据集(Teak、Grain、Timber),涵盖数百万条记录,包含拼写错误、缺失值等典型问题。
    • 基线对比
      • Baseline 1(B1):仅依赖LLM生成代码,无代码库支持。
      • Baseline 2(B2):提供代码库但无列名信息。
      • Baseline 3(B3):提供完整代码库但未使用RAG检索。
    • 评估指标
      • 正确率:预处理后数据与人工清洗基准(ground truth, GT)的匹配度。
      • 代码质量:通过Pylint(代码效率评分)和Radon(循环复杂度等级)量化。
      • 用户参与度:首次生成代码的接受率(无需修订的比例)。
  3. 动态代码库扩展

    • 新函数保存:用户确认有效的代码将存入库中,包含功能描述与向量嵌入。
    • 流水线整合:支持将多函数组合为单一流水线(pipeline)并存储。

主要结果
1. 预处理准确性
- Tradesweep在Teak、Grain、Timber数据集上的正确率分别为97.19%、97.61%、98.17%,显著优于B1(73.09%、87.65%、29.58%)。
- B2和B3因缺乏列名信息或检索效率低下,正确率波动较大(如B3在Timber上格式错误率达12.81%)。

  1. 代码质量与效率

    • 复杂任务:在“比较两列并清洗”任务中,Tradesweep的Pylint评分为5.65(Radon等级C),而B1因算法简单仅得1.67(Radon等级A)。
    • 生成时间:Tradesweep平均耗时94.08秒(Timber数据集),B3因全库输入需269.34秒。
  2. 用户参与优化

    • 首次生成代码接受率:Tradesweep在Timber上达75%,B2因列名缺失仅为20.8%。
    • 执行错误率:Tradesweep仅0.08次/任务,B2因无限循环问题无法完成部分任务。

结论与价值
1. 科学意义
- 提出结合RAG与动态代码库的LLM应用框架,解决了表格数据预处理中的幻觉问题。
- 验证了自然语言交互在降低编程门槛中的有效性,为非专业用户提供实用工具。

  1. 应用价值

    • 效率提升:自动化清洗流程将分析师耗时任务转为分钟级操作。
    • 扩展性:代码库的持续学习机制可适应不同领域数据(如金融、医疗)。
  2. 局限性

    • 对模糊请求(如“清洗日期”)可能检索到无关函数,需进一步优化语义匹配。
    • 样本测试可能掩盖长尾错误,未来需增强全数据集验证功能。

研究亮点
1. 方法创新:首次将RAG技术应用于表格数据处理,通过代码检索-生成闭环提升LLM可靠性。
2. 工程贡献:开源系统设计(未明确提及但可推测)为后续研究提供基准平台。
3. 实证规模:在百万级真实数据(如Timber的308万条记录)上验证性能,远超同类工作(如FLAME仅针对Excel公式)。

其他价值
- 为贸易合规领域(如制裁规避检测)提供自动化支持,案例显示可有效纠正原产国标签错误。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com