国内刊号:31-1289/TP
国际刊号:1000-3428
发布日期:
作者:刘根壕, 张能, 郑子彬
单位:1. 中山大学软件工程学院, 广东 珠海 5190822. 华中师范大学计算机学院, 湖北 武汉 430079
关键词:Java API文档,API使用约束,大语言模型,并列句拆解,三元组提取,知识提取
基金:国家自然科学基金(62302536); 国家自然科学基金(62032025); 广东省基础与应用基础研究基金(2023A1515012292)
API(Application Programming Interface)使用约束是开发者在调用API时必须遵守的条件或限制,以确保正确使用并避免API误用。API文档是提取这些约束的重要来源。现有的基于自然语言处理(NLP)的API使用约束提取方法通常依赖于句法模式,但对复杂并列句的处理能力有限,且对语法模式要求严格。为此,提出一种基于大语言模型(LLM)的API使用约束知识提取方法,记为AUCK。AUCK首先对Java API文档进行预处理,提取包含API使用约束的句子;其次,总结并列句的句法模式并设计相应案例,指导LLM将并列句拆分为简单句;最后,针对简单句总结出三元组句法模式,并设计案例指导LLM提取API使用约束三元组。实验结果表明,在Java API文档上,AUCK的准确率和召回率分别达到92.23%和93.14%,显著优于现有方法DRONE(准确率为80.61%,召回率为86.81%)、主流三元组提取工具OpenIE(准确率为76.92%,召回率为52.63%)以及大语言模型ChatGPT-3.5(准确率为82.23%,召回率为67.71%)。此外,将AUCK应用于Android和Python API文档的实验结果验证了其良好的迁移能力。
来源:2025年第8期
《计算机工程》期刊编辑部