IndoNLG: Benchmark and Resources for Evaluating Indonesian Natural Language Generation
The Hong Kong University of Science and Technology(香港科技大学);DeepMind;Gojek;Institut Teknologi Bandung(万隆理工学院);Universitas Multimedia Nusantara(多媒体 nusantara 大学)
自然语言生成(NLG)基准为衡量进展和开发更好的NLG系统提供了重要途径。不幸的是,缺乏低资源语言的公开NLG基准,这对构建适用于数据量有限的语言的NLG系统构成了一个具有挑战性的障碍。在这里,我们介绍IndoNLG,第一个基准来衡量自然语言生成(NLG)的进展,在三个低资源-但广泛使用-印度尼西亚的语言:印度尼西亚语,爪哇语和巽他语。总的来说,这些语言有超过1亿的母语使用者,因此构成了当今NLG系统的重要用例。具体地说,IndoNLG涵盖了六个任务:摘要、问答、聊天和三对不同的机器翻译(MT)任务。我们整理了一个干净的印度尼西亚语,巽他语和爪哇语数据集的预训练语料库Indo 4 B-Plus,用于预训练我们的模型:IndoBART和IndoGPT。我们证明了IndoBART和IndoGPT在所有任务上都取得了有竞争力的性能-尽管只使用了更大的多语言模型mBART-LARGE的五分之一的参数(Liu et al.,2020年)。这一发现强调了对密切相关的本地语言进行预训练的重要性,以实现更有效的学习和更快的推理,例如爪哇语和巽他语等资源非常低的语言。
2021-10-09 cs.CL
Associating Natural Language Comment and Source Code Entities
The University of Texas at Austin(得克萨斯大学奥斯汀分校)
注释是软件开发中不可或缺的一部分;它们是与源代码元素相关联的自然语言描述。理解显式关联对于提高代码的可理解性和维护代码与注释之间的一致性非常有用。作为实现这一更大目标的第一步,我们解决了将Javadoc注释中的实体与Java源代码中的元素相关联的任务。我们提出了一种使用开源项目的修订历史自动提取监督数据的方法,并为这项任务提供了一个手动注释的评估数据集。我们开发了一个二元分类器和序列标签模型,通过精心制作一个丰富的功能集,其中包括代码,注释和它们之间的关系的各个方面。实验表明,我们的系统优于几个基线学习建议的监督。
2019-12-13 cs.CL cs.LG cs.SE
Biomedical Named Entity Recognition at Scale
John Snow Labs Inc.(约翰·斯诺实验室公司)
命名实体识别(NER)是一种广泛应用的自然语言处理任务,是问答、主题建模、信息检索等领域的基础。在医学领域,命名实体识别通过从临床笔记和报告中提取有意义的组块,然后将其提供给断言状态检测、实体解析、关系抽取和去识别等下游任务,发挥着至关重要的作用。在Apache Spark之上重新实现Bi-LSTM-CNN-Char深度学习架构,我们提出了一个单一的可训练NER模型,该模型在七个公共生物医学基准上获得了最新的结果,而无需使用像BERT这样的繁重的上下文嵌入。这包括将BC 4CHEMD提高到93.72%(4.1%增益),将Species 800提高到80.91%(4.6%增益),将JNLPBA提高到81.29%(5.2%增益)。此外,该模型作为开源Spark NLP库的一部分在生产级代码库中免费提供;可以在任何Spark集群中扩展训练和推理;具有GPU支持和流行程序设计语言(如Python,R,Scala和Java)的库;并且可以扩展以支持其他人类语言而无需更改代码。
2020-11-12 cs.AI cs.CL cs.LG
CoDesc: A Large Code-Description Parallel Dataset
University of California, Los Angeles(加州大学洛杉矶分校);Bangladesh University of Engineering Technology (BUET)(孟加拉国工程技术大学)
自然语言和源代码之间的翻译可以通过使开发人员能够用自然语言理解、构思、搜索和编写计算机程序来帮助软件开发。尽管业界和研究界的兴趣越来越大,但由于缺乏适合训练深度神经模型的大型标准数据集、标准噪声去除方法和评估基准,这项任务往往很困难。这使得研究人员不得不收集新的小规模数据集,从而导致已发表作品之间的不一致。在这项研究中,我们提出了CoDesc -一个由420万个Java方法和自然语言描述组成的大型并行数据集。通过广泛的分析,我们从数据集中识别并去除了主要的噪声模式。我们展示了熟练的CoDesc在两个互补的任务代码描述对:代码总结和代码搜索。我们表明,该数据集有助于提高代码搜索高达22%,并实现了新的国家的最先进的代码摘要。此外,我们展示了CoDesc在预训练中的有效性-微调设置,为Java构建预训练的语言模型提供了可能性。为了方便未来的研究,我们发布的数据集,数据处理工具,并在\url{https://github.com/csebuetnlp/CoDesc}的基准。
2021-05-29 cs.AI cs.CL
OctoPack: Instruction Tuning Code Large Language Models
通过构建4TB的Git提交数据集CommitPack进行指令微调,显著提升了代码大模型在多语言和多种编码任务上的性能。
2024-02-18 cs.AI cs.CL
Crowd Sourced Data Analysis: Mapping of Programming Concepts to Syntactical Patterns
IIITD(德里印度理工学院)
由于编程概念与其语法表示不匹配,代码搜索是一项非常繁琐的任务。例如,在Java或C中,数组不匹配[],因此使用“array”作为查询,无法找到他们正在寻找的内容。开发人员通常必须搜索代码,无论是为了理解任何代码,还是为了重用代码的某个部分,或者只是为了阅读它,而没有自然语言搜索,开发人员必须经常来回滚动或使用变量名称作为查询。在我们的工作中,我们使用Stackoverflow(SO)的问题和答案,使一个映射的编程概念与各自的自然语言的关键字,然后标记这些自然语言条款的每一行代码,这可以进一步用于搜索使用自然语言关键字。
2019-03-28 cs.CL cs.IR cs.LG
NLML--a Markup Language to Describe the Unlimited English Grammar
在本文中,我们提出了NLML(自然语言置标语言),一个置标语言来描述任何语法正确的英语表达的句法和语义结构。首先分析了相关工作,论证了NLML的必要性:形式简单,易于管理,直接存储。然后从句子(不同复杂度、语态、语气、时态)、从句(关系从句和名词从句)和短语(名词短语、动词短语、介词短语、形容词短语、副词短语和谓语短语)三个层次详细介绍了NLML对英语语法的描述。最后以两个典型的例子:NLOJM(Java中的自然语言对象模型)和NLDB(自然语言数据库)说明了NLML在自然语言处理中的应用领域。
2004-04-07 cs.AI cs.CL
Do People Prefer "Natural" code?
UC Davis(加州大学戴维斯分校)
众所周知,自然代码是非常重复的(比自然语言语料库更重复);此外,即使在考虑了代码的简单语法之后,这种重复性仍然存在。然而,程序设计语言是非常有表现力的,允许很多不同的方式(都是清晰和明确的)来表达甚至非常简单的计算。为什么自然代码是重复的?我们假设这是因为代码是双峰的:它由机器执行,但也由人类阅读。我们认为,这种双峰性导致开发人员以代码读者熟悉的某些首选方式编写代码。为了测试这一理论,我们1)使用在大型训练语料库中估计的语言模型对熟悉度进行建模,2)在不同的测试语料库中对Java和Python表达式进行几种意义保持转换,以查看读者更熟悉的形式(如语言模型所预测的)是否实际上是实际编写的形式。我们发现,这些转换通常产生的程序结构,在实践中不太常见,支持的理论,即在代码中的高重复性是一个故意的偏好。最后,3)我们使用人类受试者研究来显示语言模型得分和人类偏好之间的对齐,第一次在代码中,提供支持使用此措施来改进代码。
2019-10-08 cs.CL cs.IT cs.PL
Learning Music Helps You Read: Using Transfer to Study Linguistic Structure in Language Models
Stanford University(斯坦福大学)
我们提出迁移学习作为一种分析神经语言模型中语法结构编码的方法。我们在非语言数据上训练LSTM,并评估它们在自然语言上的性能,以评估哪些类型的数据诱导LSTM可以用于自然语言的可概括的结构特征。我们发现,对具有潜在结构的非语言数据(音乐或Java代码)进行训练可以提高自然语言的测试性能,尽管表面形式或词汇没有重叠。为了查明模型可能编码的抽象结构的种类,以实现这种改进,我们使用两种人工括号语言进行了类似的实验:一种具有分层递归结构,另一种具有成对标记但没有递归的控制。令人惊讶的是,在这两种人工语言中的任何一种上训练模型,在自然语言上测试时都能获得相同的实质性收益。在控制词汇重叠的自然语言之间进行的进一步实验表明,测试语言的zero-shot表现与训练语言的类型句法相似性高度相关,这表明预训练诱导的表征对应于跨语言的句法特性。我们的研究结果提供了深入了解神经模型表示抽象句法结构的方式,以及允许自然语言习得的结构归纳偏差。
2020-10-30 cs.CL
Assessing the Latent Automated Program Repair Capabilities of Large Language Models using Round-Trip Translation
Simula Research Laboratory(Simula研究实验室)
本研究探索利用往返翻译(RTT)通过大语言模型进行自动化程序修复,发现该方法能生成合理补丁,并可作为APR框架的补充组件。
2025-10-15 cs.CL cs.LG cs.SE
Learning to Mine Aligned Code and Natural Language Pairs from Stack Overflow
Carnegie Mellon University(卡内基梅隆大学)
对于像从自然语言合成代码、代码检索和代码摘要这样的任务,数据驱动模型已经显示出很大的前景。然而,创建这些模型需要在自然语言(NL)和具有细粒度对齐的代码之间并行数据。Stack Overflow(SO)是创建这样一个数据集的一个很有前途的来源:问题是多种多样的,其中大多数都有相应的答案和高质量的代码片段。然而,现有的探试法(例如,将帖子的标题与接受的答案中的代码配对)在它们的覆盖范围和所获得的NL代码对的正确性方面都是有限的。在本文中,我们提出了一种新的方法来挖掘高质量的对齐数据从SO使用两组功能:手工制作的功能,考虑到提取的片段的结构,和对应的功能,通过训练概率模型,以捕捉NL和代码之间的相关性,使用神经网络。这些特征被馈送到分类器中,该分类器确定所挖掘的NL代码对的质量。使用Python和Java作为测试床的实验表明,所提出的方法大大扩展了现有挖掘方法的覆盖范围和准确性,即使只使用少量的标记示例。此外,我们发现,即使在一种语言上训练分类器并在另一种语言上测试时,也能获得合理的结果,这表明将NL代码挖掘扩展到各种程序设计语言的前景超出了我们能够注释数据的语言。
2018-05-23 cs.CL cs.SE
Leveraging Automated Unit Tests for Unsupervised Code Translation
Facebook AI Research(脸书人工智能研究院);Paris-Dauphine University(巴黎第九大学);University College London(伦敦大学学院);Facebook(脸书)
由于程序设计语言几乎没有并行数据,无监督方法非常适合源代码翻译。然而,大多数无监督机器翻译方法依赖于回译,这是在自然语言翻译的背景下开发的一种方法,并且本质上涉及对噪声输入的训练。不幸的是,源代码对微小的变化非常敏感;单个标记可能导致编译失败或错误的程序,这与自然语言不同,在自然语言中,微小的不准确可能不会改变句子的含义。为了解决这个问题,我们建议利用一个自动化的单元测试系统来过滤掉无效的翻译,从而创建一个完全测试的并行语料库。我们发现,使用此过滤数据集对无监督模型进行微调,可以显著降低如此生成的翻译中的噪声,对于所研究的所有语言对,其表现都优于最先进的技术。特别是,对于Java $\to$ Python和Python $\to$ C++,我们的性能分别比以前最好的方法高出16%和24%以上,出错率降低了35%以上。
2022-02-16 cs.CL cs.LG cs.SE
Execution-Based Evaluation of Natural Language to Bash and PowerShell for Incident Remediation
IBM Research(IBM研究院)
本文提出首个基于执行的评估平台,含125个手工测试用例,评估LLMs生成的Bash和PowerShell代码,并基准测试七个开源与闭源模型,以自动修复APM发现的系统事件。
2024-12-16 cs.CL cs.SE
On The Cross-Modal Transfer from Natural Language to Code through Adapter Modules
Indian Institute of Technology(印度理工学院);Delhi Technological University(德里理工大学);University of British Columbia(不列颠哥伦比亚大学)
预训练神经语言模型(PTLM),例如CodeBERT,最近在软件工程中用作在大型源代码语料库上预训练的模型。他们的知识通过微调转移到下游任务(例如代码克隆检测)。在自然语言处理(NLP)中,通过使用插入在PTLM的层中的适配器、紧凑的、参数有效的模块,探索用于传递PTLM的知识的其他替代方案。尽管与需要重新训练所有模型参数的微调模型相比,适配器有助于适应许多下游任务-这归功于适配器的即插即用性质和参数效率-但它们在软件工程中的使用尚未探索。在这里,我们探讨了使用适配器的知识转移,并根据Hindle等人提出的自然性假设。al \cite{hindle2016naturalness} .因此,研究的双峰适配器的完形填空测试和代码克隆检测两个任务,从CodeXGLUE平台的基准相比。这些适配器使用程序设计语言进行训练,并插入在英语语料库(N-PTLM)上进行预训练的PTLM中。三种程序设计语言,C/C++,Python和Java,随着广泛的实验,用于适配器的最佳设置进行了研究。改进N-PTLM的结果证实了适配器在知识转移到软件工程方面的成功,这有时与在源代码上训练的PTLM的结果相当或超过PTLM的结果;同时在参数数量、内存使用和推理时间方面更有效。我们的研究结果可以为更多的软件工程任务建立更小的模型开辟新的方向。我们开源了所有的脚本和经过训练的适配器。
2022-04-19 cs.CL cs.LG cs.SE
LLMStructBench: Benchmarking Large Language Model Structured Data Extraction
University of Applied Sciences Berlin(柏林应用技术大学)
LLMStructBench通过评估模型大小和提示策略对结构化数据提取的影响,为大型语言模型的解析可靠性提供新的基准测试。
2026-02-16 cs.CL cs.LG