five

ruanchaves/lynx

收藏
Hugging Face2022-10-20 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/ruanchaves/lynx
下载链接
链接失效反馈
官方服务:
资源简介:
Lynx是一个用于标识符分割的数据集,即将标识符中的单词分开。除了标识符分割,该数据集的黄金标签还包括缩写扩展。数据集的语言为C语言,数据实例展示了标识符的分割和扩展信息。

Lynx is a dataset for identifier splitting, the task of separating constituent words within an identifier. Besides identifier splitting, the gold labels of this dataset also include abbreviation expansion. The dataset targets the C programming language, and each data instance presents the splitting and expansion information of the relevant identifier.
提供机构:
ruanchaves
原始信息汇总

数据集概述

数据集描述

数据集总结

  • 名称: Lynx
  • 目的: 用于标识符分割,即在标识符中添加空格分隔单词。
  • 额外任务: 包含缩写扩展。

语言

  • 编程语言: C

数据集结构

数据实例

  • 示例结构: json { "index": 3, "identifier": "abspath", "segmentation": "abs path", "expansion": "absolute path", "spans": { "text": ["abs"], "expansion": ["absolute"], "start": [0], "end": [4] } }

数据字段

  • index: 数值索引。
  • identifier: 原始标识符。
  • segmentation: 标识符的金标准分割,不包含缩写扩展。
  • expansion: 标识符的金标准分割,包含缩写扩展。
  • spans: 缩写的起始和结束索引,缩写文本及其对应的扩展。

数据集创建

  • 字段一致性: 所有数据集共享基本字段,如identifiersegmentation
  • 处理规则: 字符间始终有空格,特殊字符如_:~等与字母数字字符之间也保持空格。
  • 额外注释: 若存在命名实体识别等任务的注释,将置于spans字段中。
搜集汇总
数据集介绍
main_image_url
构建方式
在程序语言中,标识符作为命名语言实体的关键符号,其语义解析对代码理解至关重要。Lynx数据集专为标识符分割任务而设计,旨在将标识符中的单词通过添加空格进行切分。该数据集由专家生成标注,原始标识符来源于C语言代码,并经过机器辅助处理。构建时,每个样本包含原始标识符、不含缩写扩展的分割结果、含缩写扩展的分割结果以及缩写跨度信息。数据集遵循统一格式,确保在字母数字字符与特殊字符序列之间插入空格,同时提供缩写扩展的起止索引与对应文本。
特点
Lynx数据集的核心特点在于其双重标注结构:既提供基础的分割任务(如将“abspath”分割为“abs path”),又涵盖缩写扩展任务(如将“abs”扩展为“absolute”)。这种设计使得数据集不仅支持标识符的单词边界识别,还能促进对代码中常见缩写形式的语义还原。此外,数据集的字段设计高度结构化,包含索引、标识符、分割结果、扩展结果及跨度信息,便于研究者针对不同子任务进行灵活提取。其语言聚焦于C语言,确保了领域内应用的针对性。
使用方法
使用Lynx数据集时,研究者可基于其字段设计开展多项自然语言处理任务。对于标识符分割,可直接利用“identifier”与“segmentation”字段训练序列标注模型;对于缩写扩展,则需结合“expansion”及“spans”字段中的起止索引与扩展文本。数据集以JSON格式存储,每一条实例包含完整的标注信息,便于加载至深度学习框架。推荐采用CNN-BiLSTM-CRF等模型架构进行基准实验,同时可参考相关论文中的预处理流程,确保数据划分与评估标准的一致性。
背景与挑战
背景概述
在程序语言解析与代码理解的研究领域中,标识符作为命名变量、函数、类型等实体的核心词汇,其语义清晰度直接影响代码的可读性与维护效率。然而,自然语言与编程语言之间的鸿沟使得标识符常以驼峰式、下划线连接或缩写等复合形式呈现,难以被直接解析为可理解的单词序列。为此,由研究人员基于2010年Madani等人提出的语音识别启发式方法,于2018年构建了Lynx数据集。该数据集由专家标注,聚焦于C语言标识符的分词与缩写扩展任务,旨在通过结构预测与条件文本生成技术,推动标识符自动分割领域的发展。Lynx的提出不仅为代码可理解性研究提供了标准化基准,还促进了跨学科方法(如CNN-BiLSTM-CRF模型)在软件工程中的应用,对提升代码分析工具的语义理解能力具有重要影响。
当前挑战
Lynx数据集所解决的领域问题在于标识符分割与缩写扩展的复杂性:标识符中单词边界模糊、缩写形式多样(如“abspath”需拆分为“abs path”并扩展为“absolute path”),且缺乏统一的语法规则,导致传统基于规则的方法难以泛化。构建过程中,挑战尤为显著:首先,专家需手动标注大规模C语言标识符,确保分词与扩展的准确性与一致性,这要求标注者对编程术语与自然语言缩写有深入理解;其次,处理特殊字符(如下划线、冒号)与字母数字混合序列的分割规则,需设计精细的边界判定逻辑;此外,缩写扩展需依赖领域知识库,但公共资源有限,导致部分标注存在歧义。这些挑战共同制约了数据集的规模与标注质量,也凸显了自动分割技术对提升代码可读性与维护效率的迫切需求。
常用场景
经典使用场景
在程序理解与软件工程领域,标识符作为源代码中变量、函数、类型等实体的命名载体,其语义可读性直接影响代码维护效率。Lynx数据集聚焦于标识符分割任务,即通过自然语言处理技术将驼峰式或缩写形式的标识符(如“abspath”)自动拆解为人类可读的词序列(如“abs path”)。该数据集提供了精确的标注信息,包括基础分割与缩写扩展两种粒度,为训练序列标注模型(如CNN-BiLSTM-CRF架构)提供了标准化基准。研究者在代码检索、注释生成、克隆检测等下游任务中,常利用该数据集评估标识符理解模块的性能,其结构化的跨度字段(spans)更支持对缩写映射关系的细粒度建模。
衍生相关工作
基于Lynx数据集衍生的经典工作包括Madani等人提出的将语音识别技术迁移至源代码标识符分割的跨领域方法,该工作首次证明了隐马尔可夫模型在词边界检测中的有效性。后续研究进一步拓展了CNN-BiLSTM-CRF架构在标识符分割中的应用,验证了字符级特征与上下文编码的联合优化效果。近年来,预训练语言模型(如CodeBERT)在该数据集上的微调实验,揭示了大规模代码语料预训练对缩写扩展任务的增益。这些衍生工作共同构建了从统计方法到深度学习的完整演进脉络,推动了标识符分割作为软件工程基础任务的标准化评估体系形成。
数据集最近研究
最新研究方向
Lynx数据集聚焦于代码标识符的分词与缩写扩展任务,这是软件工程与自然语言处理交叉领域的前沿方向。随着深度学习在代码理解中的广泛应用,标识符的准确分割成为提升代码可读性、辅助代码搜索与重构的关键环节。近期研究结合CNN-BiLSTM-CRF等序列标注模型,探索如何从驼峰式或下划线连接的标识符中自动识别单词边界并还原缩写含义。该数据集为评估此类模型提供了标准化基准,推动了代码可解释性与开发者工具智能化的发展,尤其在大型代码库的维护与知识图谱构建中具有重要应用价值。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务