CAREER: Context-Aware API Recognition with Data Augmentation for API Knowledge Extraction
在文本中识别API,是提取API相关知识的前提任务,当前基于深度学习的方法所面临的问题包括:
- 在普通词中识别出API
- 在标准API的变体中识别API
- 缺乏用于训练的高质量标记数据
作者提出的解决方法:CAREER
该方法的两个关键组件对文本信息进行处理,应对第一个困难:
- Bidirectional Encoder Representations from Transformers (BERT)
- Bidirectional Long Short-Term Memory (BiLSTM)
同时引入字符级的BiLSTM,和更多的注意力机制,使模型理解字符级的上下文信息。

- 词级表示的目的是捕捉词的句法和语义信息,并使用低维向量衡量它们之间的相关性,API 提及和常用词的上下文可能有很大不同,考虑到这一点有助于识别 API 提及。bert满足这一点
- 字符级表示将单词视为字符序列,使用 CNN 表示字符序列的现有技术只关注局部特征。因此,我们建议使用 BiLSTM 模块来获取字符级表示,该模块在处理长序列数据时表现出了良好的性能
最后,在获得序列中每个标记的词级表征和字符级表征后,我们将它们连接起来,形成序列级表征的输入向量。(这里使用另一个BiLSTM模型)
文本API识别的数据增强技术:
- 非API替换:用同义词替换非API标记
- API替换:用缩写替换或者在API后加某些符号增强数据
- API互换:相似的API互相替换

浙公网安备 33010602011771号