five

google/code_x_glue_cc_code_completion_token

收藏
Hugging Face2024-01-24 更新2024-05-25 收录
下载链接:
https://hf-mirror.com/datasets/google/code_x_glue_cc_code_completion_token
下载链接
链接失效反馈
官方服务:
资源简介:
CodeXGLUE CodeCompletion-token数据集是一个用于代码补全任务的数据集,特别是基于上下文的代码标记预测。该数据集包含Java和Python两种编程语言的代码片段,分为训练集、验证集和测试集。每个样本包括ID和代码标记序列,Python配置还包括代码路径。数据集的创建目的是为了评估代码补全模型的性能,特别是在标记级别上的准确性。代码补全是软件开发中广泛使用的功能之一,有效的代码补全工具可以提高开发者的生产力。

CodeXGLUE CodeCompletion-token数据集是一个用于代码补全任务的数据集,特别是基于上下文的代码标记预测。该数据集包含Java和Python两种编程语言的代码片段,分为训练集、验证集和测试集。每个样本包括ID和代码标记序列,Python配置还包括代码路径。数据集的创建目的是为了评估代码补全模型的性能,特别是在标记级别上的准确性。代码补全是软件开发中广泛使用的功能之一,有效的代码补全工具可以提高开发者的生产力。
提供机构:
google
原始信息汇总

数据集概述

数据集摘要

CodeXGLUE CodeCompletion-token 数据集用于预测给定上下文中下一个代码令牌。模型通过令牌级别的准确性进行评估。该数据集支持两种编程语言:Java 和 Python。

支持的任务和排行榜

  • language-modeling: 用于训练模型完成单个代码令牌。

语言

  • Java 编程语言
  • Python 编程语言

数据集结构

数据实例

Java

一个 test 样本示例如下: json { "code": ["<s>", "package", "org", ".", "vaadin", ".", "teemu", ".", "clara", ".", "demo", ";", "import", "java", ".", "io", ".", "BufferedReader", ";", "import", "java", ".", "io", ".", "ByteArrayInputStream", ";", "import", "java", ".", "io", ".", "IOException", ";", "import", "java", ".", "io", ".", "InputStreamReader", ";", "import", "org", ".", "vaadin", ".", "teemu", ".", "clara", ".", "Clara", ";", "import", "org", ".", "vaadin", ".", "teemu", ".", "clara", ".", "inflater", ".", "LayoutInflaterException", ";", "import", "com", ".", "vaadin", ".", "Application", ";", "import", "com", ".", "vaadin", ".", "terminal", ".", "ThemeResource", ";", "import", "com", ".", "vaadin", ".", "ui", ".", "Button", ";", "import", "com", ".", "vaadin", ".", "ui", ".", "Button", ".", "ClickEvent", ";", "import", "com", ".", "vaadin", ".", "ui", ".", "Component", ";", "import", "com", ".", "vaadin", ".", "ui", ".", "Embedded", ";", "import", "com", ".", "vaadin", ".", "ui", ".", "HorizontalLayout", ";", "import", "com", ".", "vaadin", ".", "ui", ".", "HorizontalSplitPanel", ";", "import", "com", ".", "vaadin", ".", "ui", ".", "TextArea", ";", "import", "com", ".", "vaadin", ".", "ui", ".", "VerticalLayout", ";", "import", "com", ".", "vaadin", ".", "ui", ".", "Window", ";", "import", "com", ".", "vaadin", ".", "ui", ".", "Window", ".", "Notification", ";", "@", "SuppressWarnings", "(", ""serial"", ")", "public", "class", "DemoApplication", "extends", "Application", "{", "private", "DemoController", "controller", ";", "private", "TextArea", "xmlArea", ";", "private", "HorizontalSplitPanel", "split", "=", "new", "HorizontalSplitPanel", "(", ")", ";", "private", "Window", "mainWindow", ";", "@", "Override", "public", "void", "init", "(", ")", "{", "setTheme", "(", ""clara"", ")", ";", "setMainWindow", "(", "mainWindow", "=", "new", "Window", "(", ")", ")", ";", "controller", "=", "new", "DemoController", "(", "mainWindow", ")", ";", "mainWindow", ".", "setContent", "(", "split", ")", ";", "VerticalLayout", "editor", "=", "new", "VerticalLayout", "(", ")", ";", "editor", ".", "setSpacing", "(", "true", ")", ";", "editor", ".", "setMargin", "(", "false", ",", "false", ",", "false", ",", "true", ")", ";", "editor", ".", "setHeight", "(", ""100%"", ")", ";", "editor", ".", "addComponent", "(", "xmlArea", "=", "createXmlArea", "(", ")", ")", ";", "editor", ".", "setExpandRatio", "(", "xmlArea", ",", "1.0f", ")", ";", "editor", ".", "addComponent", "(", "createUpdateButton", "(", ")", ")", ";", "HorizontalLayout", "wrapper", "=", "new", "HorizontalLayout", "(", ")", ";", "wrapper", ".", "setMargin", "(", "true", ")", ";", "wrapper", ".", "setSizeFull", "(", ")", ";", "wrapper", ".", "addComponent", "(", "createLogo", "(", ")", ")", ";", "wrapper", ".", "addComponent", "(", "editor", ")", ";", "wrapper", ".", "setExpandRatio", "(", "editor", ",", "1.0f", ")", ";", "split", ".", "setFirstComponent", "(", "wrapper", ")", ";", "updateLayout", "(", ")", ";", "}", "private", "Component", "createLogo", "(", ")", "{", "Embedded", "logo", "=", "new", "Embedded", "(", "null", ",", "new", "ThemeResource", "(", """", ")", ")", ";", "logo", ".", "setHeight", "(", ""90px"", ")", ";", "logo", ".", "setWidth", "(", ""90px"", ")", ";", "return", "logo", ";", "}", "private", "TextArea", "createXmlArea", "(", ")", "{", "TextArea", "area", "=", "new", "TextArea", "(", ")", ";", "area", ".", "setStyleName", "(", ""xml-area"", ")", ";", "area", ".", "setSizeFull", "(", ")", ";", "area", ".", "setValue", "(", "readStartingPoint", "(", ")", ")", ";", "return", "area", ";", "}", "private", "Button", "createUpdateButton", "(", ")", "{", "return", "new", "Button", "(", ""Update"", ",", "new", "Button", ".", "ClickListener", "(", ")", "{", "public", "void", "buttonClick", "(", "ClickEvent", "event", ")", "{", "updateLayout", "(", ")", ";", "}", "}", ")", ";", "}", "private", "String", "readStartingPoint", "(", ")", "{", "BufferedReader", "reader", "=", "null", ";", "try", "{", "reader", "=", "new", "BufferedReader", "(", "new", "InputStreamReader", "(", "getClass", "(", ")", ".", "getClassLoader", "(", ")", ".", "getResourceAsStream", "(", """", ")", ")", ")", ";", "StringBuilder", "xml", "=", "new", "StringBuilder", "(", ")", ";", "String", "line", ";", "while", "(", "(", "line", "=", "reader", ".", "readLine", "(", ")", ")", "!=", "null", ")", "{", "xml", ".", "append", "(", "line", ")", ";", "xml", ".", "append", "(", ""n"", ")", ";", "}", "return", "xml", ".", "toString", "(", ")", ";", "}", "catch", "(", "IOException", "e", ")", "{", "e", ".", "printStackTrace", "(", ")", ";", "}", "finally", "{", "if", "(", "reader", "!=", "null", ")", "{", "try", "{", "reader", ".", "close", "(", ")", ";", "}", "catch", "(", "IOException", "e", ")", "{", "e", ".", "printStackTrace", "(", ")", ";", "}", "}", "}", "return", "null", ";", "}", "private", "void", "updateLayout", "(", ")", "{", "try", "{", "Component", "c", "=", "Clara", ".", "create", "(", "new", "ByteArrayInputStream", "(", "xmlArea", ".", "getValue", "(", ")", ".", "toString", "(", ")", ".", "getBytes", "(", ")", ")", ",", "controller", ")", ";", "split", ".", "replaceComponent", "(", "split", ".", "getSecondComponent", "(", ")", ",", "c", ")", ";", "}", "catch", "(", "LayoutInflaterException", "e", ")", "{", "mainWindow", ".", "showNotification", "(", "e", ".", "getMessage", "(", ")", ",", "Notification", ".", "TYPE_ERROR_MESSAGE", ")", ";", "}", "}", "}", "</s>"], "id": 0 }

Python

一个 train 样本示例如下: json { "code": ["<s>", "from", "bootstrap", "import", "Bootstrap", "<EOL>", "from", "fund", "import", "InstantPaymentNotificationHandler", "<EOL>", "from", "fund", "import", "ThankYouHandler", "<EOL>", "from", "view", "import", "", "<EOL>", "mapping", "=", "[", "(", "<EOL>", "r/", ",", "<EOL>", "Index", "<EOL>", ")", ",", "(", "<EOL>", "r/ipn", ",", "<EOL>", "InstantPaymentNotificationHandler", "<EOL>", ")", ",", "(", "<EOL>", "r/thank-you", ",", "<EOL>", "ThankYouHandler", "<EOL>", ")", ",", "(", "<EOL>", "r/about/?", ",", "<EOL>", "About", "<EOL>", ")", ",", "(", "<EOL>", "r/guide/?", ",", "<EOL>", "Guide", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Download", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Standards", "<EOL>", ")", ",", "(", "<EOL>", "r/community/?", ",", "<EOL>", "Community", "<EOL>", ")", ",", "(", "<EOL>", "r/news/?", ",", "<EOL>", "News", "<EOL>", ")", ",", "(", "<EOL>", "r/support/?", ",", "<EOL>", "Support", "<EOL>", ")", ",", "(", "<EOL>", "r/contact/?", ",", "<EOL>", "Contact", "<EOL>", ")", ",", "(", "<EOL>", "r/press/?", ",", "<EOL>", "Press", "<EOL>", ")", ",", "(", "<EOL>", "r/legal/terms", ",", "<EOL>", "Terms", "<EOL>", ")", ",", "(", "<EOL>", "r/library/?", ",", "<EOL>", "Library", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Library", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Library", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Users", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "User", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Design", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Design", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Design", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Design", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Design", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "RedirectSuccess", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "RedirectError", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "RedirectAfterDelete", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Moderate", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Bootstrap", "<EOL>", ")", ",", "(", "<EOL>", "r/activity", ",", "<EOL>", "ActivityScreen", "<EOL>", ")", ",", "(", "<EOL>", "r/txns", ",", "<EOL>", "TxnList", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Base64Blob", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "Base64Blob", "<EOL>", ")", ",", "(", "<EOL>", "r", ",", "<EOL>", "MessageStrings", "<EOL>", ")", ",", "(", "<EOL>", "r/.", ",", "<EOL>", "NotFound", "<EOL>", ")", "<EOL>", "]", "</s>"], "id": 0, "path": "00/wikihouse/urls.py " }

数据字段

Java

字段名 类型 描述
id int32 样本的索引
code Sequence[string] 代码令牌

Python

字段名 类型 描述
id int32 样本的索引
path string 数据集中的原始路径
code Sequence[string] 代码令牌

数据分割

Java

train validation test
java 12934 7189 8268

Python

train test
python 100000 50000
搜集汇总
数据集介绍
main_image_url
构建方式
在软件工程领域,代码自动补全技术对于提升开发效率具有关键作用。CodeXGLUE CodeCompletion-token数据集的构建基于大规模开源代码库,通过自动化工具对Java和Python代码进行词法分析,将其拆分为细粒度的token序列。数据预处理过程中,原始代码被标准化为结构化token流,并划分为训练集、验证集和测试集,确保了数据在语法和语义层面的完整性。这种构建方式为模型提供了丰富的上下文信息,使其能够学习编程语言的深层模式。
特点
该数据集以token级别的代码补全为核心任务,覆盖Java和Python两种主流编程语言,体现了多语言支持的广度。数据实例以序列化token形式呈现,每个样本包含完整的代码上下文,便于模型捕捉局部与全局依赖关系。数据集规模适中,Java配置包含约2.8万样本,Python配置则达到15万样本,平衡了数据多样性与计算效率。其结构化设计支持直接应用于语言建模任务,为评估模型在细粒度代码生成能力上提供了标准化基准。
使用方法
研究人员可通过HuggingFace平台直接加载该数据集,利用其预分割的训练、验证和测试集进行模型训练与评估。使用时应将token序列作为输入,构建基于上下文的下一token预测任务,通过准确率等指标衡量模型性能。对于Python配置,可结合代码路径信息进行跨文件分析。该数据集兼容主流深度学习框架,支持端到端的代码补全模型开发,为软件智能辅助工具的研究提供了可靠的数据基础。
背景与挑战
背景概述
在软件工程与人工智能交叉领域,代码自动补全技术作为提升开发效率的关键工具,一直受到学术界与工业界的广泛关注。CodeXGLUE CodeCompletion-token数据集由微软研究院于2020年发布,旨在为代码补全任务提供细粒度的评估基准。该数据集聚焦于Java与Python两种主流编程语言,通过构建大规模的代码标记序列,支持基于上下文的下一标记预测任务。其核心研究问题在于如何利用语言模型捕捉代码的语法结构与语义逻辑,从而推动智能编程辅助系统的发展,对程序语言处理与软件工程自动化研究产生了深远影响。
当前挑战
该数据集所针对的代码补全任务面临多重挑战:代码标记预测需处理编程语言中复杂的语法规则与语义约束,模型必须准确理解代码上下文,避免生成语法错误或逻辑矛盾的标记。同时,代码补全需兼顾通用性与特定领域适应性,以应对不同编程范式与项目结构的多样性。在数据集构建过程中,挑战主要源于原始代码的收集与预处理,包括确保代码样本的质量与代表性、处理代码库中的噪声与冗余,以及设计合理的标记化策略以保留代码的结构信息,这些因素均对数据集的可靠性与实用性构成考验。
常用场景
经典使用场景
在软件工程与人工智能交叉领域,代码自动补全技术是提升开发效率的核心工具。CodeXGLUE CodeCompletion-token数据集通过提供Java和Python语言的标记化代码序列,为基于上下文的标记级代码补全任务建立了标准评估基准。该数据集典型应用于训练和评估语言模型,使其能够根据已有代码上下文预测下一个可能出现的代码标记,从而模拟集成开发环境中智能代码提示的核心功能。
解决学术问题
该数据集有效应对了代码智能领域中的序列预测难题,将自然语言处理中的语言建模范式迁移至编程语言理解。它解决了传统方法在代码语法结构捕捉和语义连贯性建模上的不足,为衡量模型对编程语言规律的学习能力提供了量化标准。通过构建大规模高质量代码标记序列,该数据集推动了神经代码补全模型在准确性和泛化性方面的研究进展,为软件工程自动化奠定了理论基础。
衍生相关工作
该数据集的发布催生了多项代码智能领域的创新研究。基于此数据集,学者们提出了改进的Transformer架构和预训练策略,如CodeBERT和GraphCodeBERT等模型,这些工作将代码的文本序列与抽象语法树结构相结合。后续研究进一步探索了跨语言代码补全、基于检索的增强生成以及面向特定领域的适配方法,形成了从标记补全到语句生成、代码翻译的完整技术演进脉络。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作