NeSy is alive and well: A LLM-driven symbolic approach for better code comment data generation and classification

📄 arXiv: 2402.16910v2 📥 PDF

作者: Hanna Abi Akl

分类: cs.SE, cs.AI

发布日期: 2024-02-25 (更新: 2024-05-24)

备注: 19 pages, 5 figures, accepted for the GeNeSy workshop at the Extended Semantic Web Conference (ESWC) 2024


💡 一句话要点

提出神经符号工作流以改善代码注释数据生成与分类

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 神经符号学习 大型语言模型 代码注释生成 合成数据 机器学习 数据增强

📋 核心要点

  1. 现有的LLM生成方法在代码注释数据生成上存在显著弱点,导致生成数据的质量和多样性不足。
  2. 论文提出了一种结合符号学习与LLM的神经符号工作流,旨在生成高质量的合成数据以提升分类性能。
  3. 实验结果显示,最佳神经网络模型在数据增强后Macro-F1分数提升至91.412%,相较于未增强数据有显著提高。

📝 摘要(中文)

本文提出了一种神经符号(NeSy)工作流,结合了基于符号的学习技术与大型语言模型(LLM)代理,以生成C语言代码注释分类的合成数据。我们展示了通过该工作流生成受控合成数据如何修复LLM生成的一些显著弱点,并提高经典机器学习模型在代码注释分类任务上的性能。我们的最佳模型——神经网络,达到了91.412%的Macro-F1分数,数据增强后提升了1.033%。

🔬 方法详解

问题定义:本文旨在解决现有LLM生成的代码注释数据质量不足的问题,导致机器学习模型在分类任务中的性能受限。

核心思路:通过结合符号学习与大型语言模型,生成受控的合成数据,从而提高数据的多样性和质量,进而提升分类模型的性能。

技术框架:整体架构包括数据生成模块(使用LLM生成合成数据)和数据分类模块(使用经典机器学习模型进行分类),形成一个闭环的工作流。

关键创新:最重要的创新在于将符号学习与LLM结合,克服了传统LLM生成数据的不足,提供了更高质量的合成数据。

关键设计:在模型设计中,采用了特定的损失函数和网络结构,以优化生成数据的质量,并通过数据增强技术进一步提升模型的分类性能。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,最佳神经网络模型在代码注释分类任务中达到了91.412%的Macro-F1分数,相较于未进行数据增强的模型提升了1.033%。这一结果展示了神经符号工作流在生成高质量合成数据方面的有效性。

🎯 应用场景

该研究的潜在应用领域包括软件开发中的代码注释自动生成、代码审查工具以及教育领域的编程教学。通过提供高质量的合成数据,可以显著提升机器学习模型在代码理解和分类任务中的表现,进而推动相关技术的发展与应用。

📄 摘要(原文)

We present a neuro-symbolic (NeSy) workflow combining a symbolic-based learning technique with a large language model (LLM) agent to generate synthetic data for code comment classification in the C programming language. We also show how generating controlled synthetic data using this workflow fixes some of the notable weaknesses of LLM-based generation and increases the performance of classical machine learning models on the code comment classification task. Our best model, a Neural Network, achieves a Macro-F1 score of 91.412% with an increase of 1.033% after data augmentation.