中文

CRABS:一种用于限制LLM解释Python笔记本的语法语义夹具策略

计算与语言 2025-08-26 v2 人工智能

摘要

识别构成数据科学和机器学习Python笔记本的信息流和操作对于评估、复用和适配新任务至关重要。通过重新执行笔记本进行调查往往不可行,due to data 和 software 依赖性的挑战。虽然大规模代码预训练的大型语言模型(LLM)在无需运行代码的情况下已展现出理解代码的有效性,但我们注意到它们在理解现实笔记本时因幻觉和长上下文问题而失败。为此,我们提出一种笔记本理解任务,生成信息流图和相应的单元格执行依赖图,并演示了一种夹具策略,该策略利用有限的语法分析辅助LLM对笔记本进行完整理解。我们的捕获与解决辅助边界策略(CRABS)采用浅层语法解析和抽象语法树(AST)分析,捕获笔记本在单元间I/O集合(即通过变量进入或离开单元格的信息流)之间的正确解释上限和下限 estimates,然后使用LLM通过单元格逐个零-shot学习解决剩余歧义,从而识别每个单元格的真实数据输入和输出。我们使用包含50个具有代表性且高赞数的Kaggle笔记本注释数据集进行评估和演示,这些笔记本共涉及3454个实际单元格输入和输出。LLM正确解决了1397个1425个(98%)通过分析笔记本语法结构留下的歧义。在50个笔记本中,CRABS在识别单元格到单元格信息流和识别传递单元格执行依赖方面分别获得了平均F1得分分别为98%和99%。

关键词

引用

@article{arxiv.2507.11742,
  title  = {CRABS: A syntactic-semantic pincer strategy for bounding LLM interpretation of Python notebooks},
  author = {Meng Li and Timothy M. McPhillips and Dingmin Wang and Shin-Rong Tsai and Bertram Ludäscher},
  journal= {arXiv preprint arXiv:2507.11742},
  year   = {2025}
}

备注

Accepted to COLM 2025